Hugging News #0814: Llama 2 学习资源大汇总

每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等,我们将其称之为「Hugging News」。本期 Hugging News 有哪些有趣的消息,快来看看吧!🎉😍

重磅更新

Llama 2 学习资源大汇总!🔥🦙

c892b960e0a4cf51898e413b9d65d75a.jpeg

🦙 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

👉https://hf.co/blog/zh/llama2

在第二篇文章中,我们对 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 🤗🦙

025ebb8a4328837c57384de255a39c12.png

现在在 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 进行微调

fc34246e987a62d7127d105949381eaf.png

这个视频讲述了如何使用 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!

fb1b7580e4eb01114233b94fcdd10f38.jpeg

你可以在短短几行代码中对所有 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 基金会并成为首要成员

9ee5fdd9c7bc96fb0b94812e29ec1f20.jpeg

本周,作为一个深度学习社区的中立家园,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 模型吧

b6f5e61d962aed0395064aac6166a1bb.png

正式向大家介绍 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 模型吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/81283.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

06_布隆过滤器BloomFilter_副本

06——布隆过滤器BloomFilter 一、是什么 由一个初始值都为零的bit数组和多个哈希函数构成,用来快速判断集合中是否存在某个元素 设计思想: 1. 目的:减少内存占用 1. 方式:不保存数据信息,只是在内存中做一个是否存…

类之间的比较

作者简介: zoro-1,目前大一,正在学习Java,数据结构等 作者主页: zoro-1的主页 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 类之间的比较 固定需求式比较器 固定需求式 通过…

css学习2(利用id与class修改元素)

1、id选择器可以为标有特定id的html元素指定特定的样式。 2、选择器以#开头,后跟某id的属性值。 3、class选择器用于描述一组元素的样式,class可以在多个元素使用。 4、类选择器用.选择。 5、指定特定的元素使用class。 6、元素的多个类用空格分开&…

若依项目的介绍(前后端分离版本)

目录 一、若依介绍 (一)简单介绍 (二)若依版本 (三)Git远程拉取步骤 二、项目的技术介绍 (一)后端技术 1.spring boot 2.Spring Security安全控制 3.MyBatis 4.MySQL和R…

npm install ffi各种失败,换命令npm i ffi-napi成功

网上各种帖子安装ffi,基本上到了windows build tools这里会卡住。 使用命令npm install --global --production windows-build-tools 安装报错信息如下: PS E:\codes\nodejsPath\tcpTest> npm install --global --production windows-build-tools …

超声波传感器(HC-SR04)按时序图手撕驱动

目录 1、简介 2、传感器介绍 2.1 引脚介绍 2.2 时序图介绍 3、 需求与接线 3.1 任务需求 3.2 接线 4、Cubemax配置 4.1 SYS配置 4.2 RCC配置 4.3 时钟树配置 4.4 GPIO初始化 4.5 定时器配置 4.6 生成代码 5、 keil端代码编写 5.1 微妙函数封装 5.2 超声波驱动封装…

html | 基于iframe的简易富文本编辑器

效果图 支持: 选中后 ctrlI 斜体 代码 思路就是在iframe种嵌套html和css。 <pre> - 支持: 选中后 ctrlI 斜体 - todo: 鼠标实现单击斜体 </pre> <iframe name"richedit" style"height:30%; width:100%;"></iframe><script…

【论文解读】Hybrid-SORT: Weak Cues Matter for Online Multi-Object Tracking

因为Hybrid-SORT的baseline是基于OCSORT进行改进的&#xff0c;在这之前建议先了解byteTrack和【】的相关知识 1.介绍 1.1 基本框架 多目标跟踪(MOT)将问题分为两个子任务。第一个任务是检测每个帧中的对象。第二个任务是将它们在不同的框架中联系起来。关联任务主要通过显式…

回归预测 | MATLAB实现CSO-SVM布谷鸟优化算法优化支持向量机多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现CSO-SVM布谷鸟优化算法优化支持向量机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09; 目录 回归预测 | MATLAB实现CSO-SVM布谷鸟优化算法优化支持向量机多输入单输出回归预测&#xff08;多指标&#xff0c;多图&#xff09;效果一…

matlab 点云精配准(1)——point to point ICP(点到点的ICP)

目录 一、算法原理参考文献二、代码实现三、结果展示四、参考链接本文由CSDN点云侠原创,爬虫自重。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法原理 参考文献 [1] BESL P J,MCKAY N D.A method for registration of 3-Dshapes[J].IEEE Tran…

2.创建小程序

创建 在开发工具中,选择小程序,点击加号 填写小程序信息,模板使用的是TS+Sass 编辑器的工作区 目录结构 项目使用的是ts的模板,目录结构和js的有一点差异,目录结构如下: miniprogram:小程序根目录 —pages:小程序页面目录 ——xxx:页面目录,一个页面对应一个目…

JVM的前世今生之类加载过程

1. 什么是JVM VM是JavaVirtualMachine&#xff08;Java虚拟机&#xff09;的缩写&#xff0c;JVM是一种用于计算设备的规范&#xff0c;它是一个虚构出来的计算机&#xff0c;是通过在实际的计算机上仿真模拟各种计算机功能来实现的。它可以实现跨操作系统运行&#xff0c;即一…

Java进阶篇--迭代器模式

目录 同步迭代器&#xff08;Synchronous Iterator&#xff09;&#xff1a; Iterator 接口 常用方法&#xff1a; 注意&#xff1a; 扩展小知识: 异步迭代器&#xff08;Asynchronous Iterator&#xff09;&#xff1a; 常用的方法 注意&#xff1a; 总结&#xff1a…

Android Alarm闹钟API使用心得

前言 有什么办法可以在不打开App的时候&#xff0c;也能够触发一些操作呢&#xff1f;比如说发送通知&#xff0c;解决这个需求的办法有很多种选择&#xff0c;比如说官方推荐的WorkManager API&#xff0c;可以在后台执行一次性、耗时、定时的任务&#xff0c;但WorkManager是…

如何创建和查看软链接和硬链接?这二者的区别是什么?

索引节点&#xff08;inode&#xff09;硬链接创建硬链接查看硬链接 软链接创建软链接查看软链接 inode编号妙用总结软链接和硬链接的区别感谢 &#x1f496; hello大家好&#x1f60a; 在linux中&#xff0c;文件链接可以使多个文件名引用同一个文件。有两种方式可以创建指向同…

我能“C”——数据的存储

目录 1. 数据类型介绍 1.1 类型的基本归类&#xff1a; 2. 整形在内存中的存储 2.1 原码、反码、补码 2.2 大小端介绍 2.3 练习 3. 浮点型在内存中的存储 3.1 一个例子 3.2 浮点数存储规则 1. 数据类型介绍 char // 字符数据类型 short // 短整…

Jmeter 分布式性能测试避坑指南

在做后端服务器性能测试中&#xff0c;我们会经常听到分布式。那你&#xff0c;是否了解分布式呢&#xff1f;今天&#xff0c;我们就来给大家讲讲&#xff0c;在企业实战中&#xff0c;如何使用分布式进行性能测试&#xff0c;实战过程中&#xff0c;又有哪些地方要特别注意&a…

Log4net在.Net Winform项目中的使用

引言&#xff1a; Log4net是一个流行的日志记录工具&#xff0c;可以帮助开发人员在应用程序中实现高效的日志记录。本文将提供一个详细的分步骤示例&#xff0c;来帮助您在.Net Winform项目中使用Log4net。 目录 一、安装Log4net二、配置Log4net三、在项目中使用Log4net四、初…

【Kubernetes】Kubernetes的Pod控制器

Pod控制器 一、Pod 控制器的概念1. Pod 控制器及其功用2. Pod 控制器有多种类型2.1 ReplicaSet2.2 Deployment2.3 DaemonSet2.4 StatefulSet2.5 Job2.6 Cronjob 3. Pod 与控制器之间的关系 二、Pod 控制器的使用1. Deployment2. SatefulSet2.1 为什么要有headless&#xff1f;2…

最新AI系统ChatGPT程序源码/支持GPT4/自定义训练知识库/GPT联网/支持ai绘画(Midjourney)+Dall-E2绘画/支持MJ以图生图

一、前言 SparkAi系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。 那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧&#xff01…