Hugging News #0814: Llama 2 学习资源大汇总 🦙
每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等,我们将其称之为「Hugging News」。本期 Hugging News 有哪些有趣的消息,快来看看吧!
重磅更新
Llama 2 学习资源大汇总!
Llama 2 是由 Meta 推出的新型开放式大型语言模型。我们很高兴能够将其全面集成入 Hugging Face,并全力支持其发布。通过 Hugging Face,它可以免费用于研究和商业用途。预训练模型基于 2 万亿令牌进行训练,上下文长度是 Llama 1 的两倍!你可以在 Hugging Face 上找到具有 70 亿、130 亿和 700 亿参数的模型
通过与 Meta 合作,我们已经顺利地完成了对 Llama 2 的集成,你可以在 Hub 上找到 12 个开放模型 (3 个基础模型以及 3 个微调模型,每个模型都有 2 种 checkpoint: 一个是 Meta 的原始 checkpoint,一个是 Transformers 格式的 checkpoint)。以下列出了 Hugging Face 支持 Llama 2 的主要工作:
Llama 2 已入驻 Hub: 包括模型卡及相应的许可证。
支持 Llama 2 的 Transformers 库
使用单 GPU 微调 Llama 2 小模型的示例
Text Generation Inference (TGI) 已集成 Llama 2,实现快速高效的生产化推理
推理终端 (Inference Endpoints) 已集成 Llama 2
我们为大家准备了两篇文章,帮助大家更好的学习理解和使用 Llama 2。在第一篇文章中,我们讨论了以下几点:
为什么选择 Llama 2?
Demo 演示
使用 Transformers 进行推理
使用推理终端(Inference Endpoints)进行推理
使用 PEFT 进行微调
如何提示(prompt) Llama 2
在第二篇文章中,我们对 Llama 2 进行了如下的讨论:
Llama 2 是什么?
你可以用来测试 Llama 2 的不同的 playgrounds
Llama 2 模型背后的研究
Llama 2 的性能如何,基准测试
如何正确设置对话模型的提示
如何使用 PEFT 对 Llama 2 进行训练
如何部署 Llama 2 以进行推断
https://www.philschmid.de/llama-2
Llama 2 现已登陆 Hugging Chat
现在在 Hugging Chat 可以尝试免费使用 Llama 2 70B 聊天模型(在页面右上角选择模型 Llama-2-70b-chat-hf 即可),享受超快的推断速度、网络搜索功能!
http://hf.co/chat
这个项目由以下技术支持:
文本生成推理(Text-generation-inference),用于生产环境的大型语言模型服务工具: https://github.com/huggingface/text-generation-inference
Hugging Face 的开源的大型语言模型用户界面 Chat UI: https://github.com/huggingface/chat-ui
Llama 2 模型:https://huggingface.co/meta-llama
使用 Autotrain 对 Llama 2 进行微调
这个视频讲述了如何使用 Hugging Face 的 Autotrain 在 Google Colab 的免费版本上对 Llama 2 进行训练。这是在 Google Colab 的免费版本或者在本地计算机上使用自定义数据集进行 llama-v2 微调的简单的方法,这个方法也适用于任何其他 LLM。AutoTrain 是自动训练和部署机器学习模型的一种方式,可以与 Hugging Face 的生态系统无缝集成。
https://youtube.com/watch?v=3fsn19OI_C8&ab_channel=AbhishekThakur
用几行代码就可使用自己的数据训练 Llama 2!
你可以在短短几行代码中对所有 Llama-2 模型使用自己的数据进行训练!通过使用 4-bit 和 PEFT,即使在单个 A100 GPU 上,这个脚本也可以用于 70B 模型的训练。你可以在 T4 GPU 上进行 7B 的训练(即在 Colab 上可以免费获取的资源),或者在 A100 GPU 上进行 70B 的训练。
4-bit 在这里指的是四位量化(4-bit quantization),是一种将模型的权重量化为更低比特数的技术。在深度学习中,通常模型的权重会以较高的浮点数表示,这需要更大的存储和计算资源。通过量化,可以将权重表示为更短的二进制位数,从而减小模型的存储需求和计算成本。四位量化意味着权重将被表示为只有 4 个二进制位的数字,这样可以大幅减小权重的表示大小。然而,量化也会引入一定的信息损失,因为权重的精度被降低了。为了缓解这种损失,通常会使用特殊的量化技术,如对称量化或非对称量化,以尽量保留模型的性能。
PEFT(Parameter Efficient Fine-Tuning)是一种用于微调神经网络模型的技术,旨在在保持模型性能的同时,显著减少微调所需的计算资源和时间。这对于在资源有限的环境下进行模型微调非常有用。PEFT 的主要思想是通过使用较小的学习率来微调模型的一部分参数,而不是对整个模型的所有参数进行微调。具体来说,PEFT 将模型的参数分为不同的组,然后在每个组上应用不同的学习率。这样可以将微调的计算开销分布到多个小批次中,从而减少了每个小批次的计算负担,使得模型可以在较小的设备上进行高效微调。
你可以轻松地使用 SFTTrainer 和官方脚本对 Llama2 模型进行微调。例如,要对 llama2-7b 在 Guanaco 数据集上进行微调,请运行以下命令(已在单个 NVIDIA T4-16GB 上进行了测试):
'''
python examples/scripts/sft_trainer.py --model_name meta-llama/Llama-2-7b-hf --dataset_name timdettmers/openassistant-guanaco --load_in_4bit --use_peft --batch_size 4 --gradient_accumulation_steps 2
'''
了解更多:https://hf.co/docs/trl/main/en/lora_tuning_peft#finetuning-llama2-model
完整脚本:https://github.com/lvwerra/trl/blob/main/examples/scripts/sft_trainer.py
以上就是本期的 Hugging News,新的一周开始了,我们一起加油!
额外内容:
Hugging Face 加入 PyTorch 基金会并成为首要成员
本周,作为一个深度学习社区的中立家园,PyTorch 基金会宣布 Hugging Face 已加入为首要成员。
Hugging Face 一直是 PyTorch 生态系统的长期支持者和贡献者,通过提供强大的模型和资源加速了 AI 技术的研究、开发和应用,特别是在自然语言处理领域。
“我们的使命一直是民主化 AI,使之可供所有人使用。我们与 PyTorch 的目标实现从业者减少进入门槛的目标是真正一致的。通过加入 PyTorch 基金会,我们可以进一步放大这种影响,并支持生态系统中非常重要的 PyTorch 框架。”Hugging Face 开源负责人 Lysandre Debut 表示。“我们相信这两个生态系统有很大的重叠,与基金会合作将使我们能够弥合差距,向机器学习社区提供最好的软件和最好的工具。”
Hugging Face 的模型中心和开源库促进了 AI 开源社区内的协作和知识共享,使 Hugging Face 与不断壮大的 PyTorch 基金会非常匹配。他们继续通过创建用户友好的工具和资源以及提供易于使用和有文档记录的库来推动行业的采用和协作。
作为首要成员,Hugging Face 获得了一席 PyTorch 基金会治理委员会的席位。该委员会通过我们的章程、使命和愿景声明制定政策,描述基金会倡议的总体范围、技术愿景和方向。
TRL 正式推出,来训练你的首个 RLHF 模型吧
正式向大家介绍 TRL——Transformer Reinforcement Learning。这是一个超全面的全栈库,包含了一整套工具用于使用强化学习 (Reinforcement Learning) 训练 transformer 语言模型。从监督调优 (Supervised Fine-tuning step, SFT),到训练奖励模型 (Reward Modeling),再到近端策略优化 (Proximal Policy Optimization),实现了全面覆盖!并且 TRL 库已经与 transformers 集成,方便你直接使用!
文档地址在这里:https://hf.co/docs/trl/
小编带大家简单看看 API 文档里各个部分对应了什么需求:
Model Class: 涵盖了每个公开模型各自用途的概述
SFTTrainer: 帮助你使用 SFTTrainer 实现模型监督调优
RewardTrainer: 帮助你使用 RewardTrainer 训练奖励模型
PPOTrainer: 使用 PPO 算法进一步对经过监督调优的模型再调优
Best-of-N Samppling: 将“拔萃法”作为从模型的预测中采样的替代方法
DPOTrainer: 帮助你使用 DPOTrainer 完成直接偏好优化
文档中还给出了几个例子供 宝子们参考:
Sentiment Tuning: 调优模型以生成更积极的电影内容
Training with PEFT: 执行由 PEFT 适配器优化内存效率的 RLHF 训练
Detoxifying LLMs: 通过 RLHF 为模型解毒,使其更符合人类的价值观
StackLlama: 在 Stack exchange 数据集上实现端到端 RLHF 训练一个 Llama 模型
Multi-Adapter Training: 使用单一模型和多适配器实现优化内存效率的端到端训练
宝子们快行动起来,训练你的第一个 RLHF 模型吧!
Hugging News #0814: Llama 2 学习资源大汇总 🦙的更多相关文章
- C#开源资源大汇总
C#开源资源大汇总 C#开源资源大汇总 一.AOP框架 Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行 ...
- [转]swift 学习资源 大集合
今天看到了一个swift的学习网站,里面收集了很多学习资源 [转自http://blog.csdn.net/sqc3375177/article/details/29206779] Swift 介绍 ...
- swift 学习资源 大集合
今天看到一个swift学习网站,其中我们收集了大量的学习资源 Swift 介绍 Swift 介绍 来自 Apple 官方 Swift 简单介绍 (@peng_gong) 一篇不错的中文简单介绍 [译] ...
- Git学习资源收集汇总
伴随着知乎上一个问题:GitHub 是怎么火起来的?被顶起200+的回答说到:Github不是突然火起来的,在Ruby社区Github其实从一开始就很流行,我们2009年搞Ruby大会就邀请了Gith ...
- 读书分享全网学习资源大合集,推荐Python3标准库等五本书「02」
0.前言 在此之前,我已经为准备学习python的小白同学们准备了轻量级但超无敌的python开发利器之visio studio code使用入门系列.详见 1.PYTHON开发利器之VS Code使 ...
- 读书分享全网学习资源大合集,推荐Python学习手册等三本书「01」
0.前言 在此之前,我已经为准备学习python的小白同学们准备了轻量级但超无敌的python开发利器之visio studio code使用入门系列.详见 1.PYTHON开发利器之VS Code之 ...
- 【分享】Python学习资源大合集
地址:http://www.hejizhan.com/html/xueke/520/x520_03.html Python安装软件合集(Windows)(78) Python教程——游戏编程(13) ...
- [爬虫资源]各大爬虫资源大汇总,做我们自己的awesome系列
大数据的流行一定程序导致的爬虫的流行,有些企业和公司本身不生产数据,那就只能从网上爬取数据,笔者关注相关的内容有一定的时间,也写过很多关于爬虫的系列,现在收集好的框架希望能为对爬虫有兴趣的人,或者 ...
- 优秀Python学习资源收集汇总(强烈推荐)
Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl ...
- [转]优秀Python学习资源收集汇总
Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl ...
随机推荐
- 2020-10-16:CAS知道么?底层实现? 会引发什么问题?如何解决ABA问题?
福哥答案2020-10-16:#福大大架构师每日一题# 简单回答:cmpxchg原子指令.aba,循环开销大,一个共享变量. [知乎](https://www.zhihu.com/question/4 ...
- 2021-06-03:布尔运算。给定一个布尔表达式和一个期望的布尔结果 result,布尔表达式由 0 (false)、1 (true)、& (AND)、 | (OR) 和 ^ (XOR) 符号组成。
2021-06-03:布尔运算.给定一个布尔表达式和一个期望的布尔结果 result,布尔表达式由 0 (false).1 (true).& (AND). | (OR) 和 ^ (XOR) 符 ...
- 2021-07-21:一张扑克有3个属性,每种属性有3种值(A、B、C),比如“AAA“,第一个属性值A,第二个属性值A,第三个属性值A,比如“BCA“,第一个属性值B,第二个属性值C,第三个属性值A
2021-07-21:一张扑克有3个属性,每种属性有3种值(A.B.C),比如"AAA",第一个属性值A,第二个属性值A,第三个属性值A,比如"BCA",第一个 ...
- 最通俗易懂的flex讲解
30分钟彻底弄懂flex布局 欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由elson发表于云+社区专栏 目前在不考虑IE以及低端安卓机(4.3-)的兼容下,已经可以放心使用fle ...
- 06、HSMS协议介绍
本章的内容主要参考了 SECS半导体设备通讯-2 HSMS通信标准 ,外加上自己看的一些其他的文档.也加上了一些自己的理解,特此记录.若有侵权,请联系删除,谢谢. 再次特别感谢 SECS半导体设备通讯 ...
- Weblogic反序列化(CVE-2023-21839)漏洞复现
前言 序列化(Serialization):将对象的状态信息转换为可以存储或传输的形式的过程,一般将对象转换为字节流.序列化时,对象的当前状态被写入到临时或持久性存储区(文件.内存.数据库等). 反序 ...
- 开源超全Lotus Domino Xpages 开发资料,Domino最新资料,lotus资料,xpages资料,Domino开源信息下载
十年Domino资料,不断累积,精彩展示,从维护到开发,从CS到BS再变xpage,都是一步步过来,让Domino后台数据在在多个平台绽放 把这些开发技术文档分享出来,希望通过这个资料,为大家学习开发 ...
- go 实现ringbuffer以及ringbuffer使用场景介绍
ringbuffer因为它能复用缓冲空间,通常用于网络通信连接的读写,虽然市面上已经有了go写的诸多版本的ringbuffer组件,虽然诸多版本,实现ringbuffer的核心逻辑却是不变的.但发现其 ...
- 解决element-ui下拉框数据过多,导致页面卡顿问题与本地分页功能实现
效果 前情提要: 最近使用element-ui开发的一个页面,在打开的时候占用cpu非常高,有时候都能达到90%↑.在调试时发现其中一个下拉框的接口返回2k↑的数据.本着有问题问百度的精神,看到主要的 ...
- 尚医通day11-Java中阿里云对象存储OSS
页面预览 用户认证 用户登录成功后都要进行身份认证,认证通过后才可以预约挂号. 认证过程:用户填写基本信息(姓名.证件类型.证件号码和证件照片),提交平台审核 用户认证相关接口: (1)上传证件图片 ...