实战|如何低成本训练一个可以超越 70B Llama2 的模型 Zephyr-7B
每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等,我们将其称之为「Hugging News」。快来看看有哪些近期更新吧!
新的训练方法 Zephyr-7B 模型超越 70B Llama2

跟大家介绍一个比较简单的方法训练出的一个 7B 的模型,它在 MT Bench 测试中的表现甚至超过了 Llama2 70B 模型。
马上就试试看?https://huggingfaceh4-zephyr-chat.hf.space/
=== 方法揭秘 ===
首先,使用 UltraChat 数据集对 SFT Mistral 7B 模型进行训练。
然后,使用"直接偏好优化" (DPO) 方法,将 SFT 模型调整到 UltraFeedback 数据集上。
=== 细节揭秘 ===
对于 SFT 训练,我们使用了 UltraChat 数据集,它包含了约 1.6M个 由 GPT3.5 生成的对话。我们最初是在所有数据上进行训练的,但后来发现训练出来的模型性格有点让人讨厌。因此,我们筛选出了大约 200K 个更注重有益帮助的例子进行训练:https://hf.co.co/datasets/stingning/ultrachat
接下来,我们使用了来自 Stanford 研究者们的超棒 DPO 算法进行了另一轮微调。我们发现, DPO 比 PPO 稳定得多——强烈推荐去看他们的论文,了解更多信息!https://hf.co/papers/2305.18290
在使用 DPO 的过程中,我们选用了 UltraFeedback 数据集,它包含了 64K 个提示和完整的回答,涵盖了各种开放和封闭访问模型的范围。每个回答都由 GPT-4 根据有益性等标准进行了评分,以此来推导 AI 的偏好:https://hf.co/datasets/openbmb/UltraFeedback
在训练方面,我们在所有实验中都使用了 TRL 和 DeepSpeed ZeRO-3:
- SFTTrainer https://hf.co/docs/trl/sft_trainer
- DPOTrainer: https://hf.co/docs/trl/dpo_trainer
总计算成本:$500 或在16 x A100 上运行 8 小时
为了评估,我们使用了 LMSYS 提供的优秀工具 MT Bench。这个多轮的基准测试可以评估聊天机器人在创意写作、编码和数学等各个领域的能力。相比其他排行榜,它能提供更准确的关于聊天机器人性能的信息:https://hf.co/spaces/lmsys/mt-bench
这个教程其实是我们在 Hugging Face 工作的一部分,是 “Alignment Handbook” 手册的预告,我们在这本手册中分享了关于 SFT、DPO、PPO 等多种训练方法的稳健训练方法。我们计划不久后发布初版,你可以在这里跟踪项目的进度:https://github.com/huggingface/alignment-handbook
Hugging Face Hub 0.18.0 现已发布

0.17.0 发布的内容已经很多了,现在,0.18.0 也发布啦!0.18.0 加入了对网站上 Collection 的 API 支持,文档也有了社区支持的韩语和德语的翻译。更多详细内容,请查看此次 release note https://github.com/huggingface/huggingface_hub/releases/tag/v0.18.0
Hugging Face Hub|Follow 功能上线

Hub 刚刚更新了 Follow - 互相关注功能,可以随时关注你喜欢的 / 仰慕的 / 想一起合作的 / 社群小伙伴啦 ️(社群小伙伴 = 业界大牛)
来试试 然后告诉我们你的使用感受和建议吧
以上就是本周的 Hugging News,周末愉快!
实战|如何低成本训练一个可以超越 70B Llama2 的模型 Zephyr-7B的更多相关文章
- A TensorBoard plugin for visualizing arbitrary tensors in a video as your network trains.Beholder是一个TensorBoard插件,用于在模型训练时查看视频帧。
Beholder is a TensorBoard plugin for viewing frames of a video while your model trains. It comes wit ...
- 【PyTorch深度学习60分钟快速入门 】Part4:训练一个分类器
太棒啦!到目前为止,你已经了解了如何定义神经网络.计算损失,以及更新网络权重.不过,现在你可能会思考以下几个方面: 0x01 数据集 通常,当你需要处理图像.文本.音频或视频数据时,你可以使用标准 ...
- Fine-tuning Convolutional Neural Networks for Biomedical Image Analysis: Actively and Incrementally如何使用尽可能少的标注数据来训练一个效果有潜力的分类器
作者:AI研习社链接:https://www.zhihu.com/question/57523080/answer/236301363来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...
- 深度学习笔记 (二) 在TensorFlow上训练一个多层卷积神经网络
上一篇笔记主要介绍了卷积神经网络相关的基础知识.在本篇笔记中,将参考TensorFlow官方文档使用mnist数据集,在TensorFlow上训练一个多层卷积神经网络. 下载并导入mnist数据集 首 ...
- 【Android开发VR实战】三.开发一个寻宝类VR游戏TreasureHunt
转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53939303 本文出自[DylanAndroid的博客] [Android开发 ...
- Keras 训练一个单层全连接网络的线性回归模型
1.准备环境,探索数据 import numpy as np from keras.models import Sequential from keras.layers import Dense im ...
- 案例实战之如何写一个webpack plugin
案例实战之如何写一个webpack plugin 1.写一个生成打包文件目录的file.md文件 // 生成一个目录项目目录的文件夹 class FileListPlugin { constructo ...
- PyTorch Tutorials 4 训练一个分类器
%matplotlib inline 训练一个分类器 上一讲中已经看到如何去定义一个神经网络,计算损失值和更新网络的权重. 你现在可能在想下一步. 关于数据? 一般情况下处理图像.文本.音频和视频数据 ...
- 如何正确训练一个 SVM + HOG 行人检测器
这几个月一直在忙着做大论文,一个基于 SVM 的新的目标检测算法.为了做性能对比,我必须训练一个经典的 Dalal05 提出的行人检测器,我原以为这个任务很简单,但是我错了. 为了训练出一个性能达标的 ...
- 我把阿里、腾讯、字节跳动、美团等Android性能优化实战整合成了一个PDF文档
安卓开发大军浩浩荡荡,经过近十年的发展,Android技术优化日异月新,如今Android 11.0 已经发布,Android系统性能也已经非常流畅,可以在体验上完全媲美iOS. 但是,到了各大厂商手 ...
随机推荐
- Linux网络设备命名规则简介
Linux网络设备命名规则简介 几年前, Linux内核为网络接口分配名称采用的是一种简单和直观的方式:一个固定的前缀和一个递增的序号.比如,内核使用eth0名称以标识启动后第一个加载的网络设备,第二 ...
- Hexo博客Next主题bilibili视频Markdown插入文章
问题及需求 B站视频无广告有弹幕,非常简洁,经常看B站视频,在文章引用B站的视频 在不用插件的情况下用官方的iframe方式引入视频,默认的方式导入视频屏幕会很小 一般我们都是自己改width和hei ...
- kbuild系统中最简单的目标 -- help(三)
当你学完help目标后你会发现它与我们的代码基本没有什么直接的关系,仅仅是用来生成kbuild的简短使用说明,但是用它来作为学习掌握kbuild编译系统的开篇,不管是从难度还是学习感受上真的是再适合不 ...
- MyBatis理论
MyBatis简介 MyBatis是什么? MyBatis是一款优秀的持久层框架,一个ORM(对象关系映射)框架,它支持定制化SQL.存储过程以及高级映射.MyBaits避免了几乎所有JDBC代码和手 ...
- 学习lspci:总线
00:00.0 Host bridge 总线地址 00:00.0 是指PCI总线上的第一个设备,也称为根复杂性总线.在PCI架构中,每个设备都有唯一的总线地址,由域号.总线号.设备号和功能号组成.其中 ...
- Linux-基本常用命令2
cat 查看文件内容 cat -n 查看文件内容并且显示行数 more 用vi的形式查看文件内容 less 类似于vim查看文件内容 echo 输出内容到控制台 echo -e 支持反斜线控制 ...
- Flutter系列文章-Flutter进阶2
这一节我将再详细地为您介绍 Flutter 进阶主题,包括导航和路由.状态管理.异步处理.HTTP请求和Rest API,以及数据持久化.让我们逐个介绍这些主题. 1.导航和路由 在 Flutter ...
- 超详细的mysql总结(DQL)
上一篇文章总结了 DDL.DML的使用,这一篇文章把剩下的 DQL 加上~ DQL(Data Query Language)即数据库查询语言,用来查询所需要的信息,在查询的过程中,需要判断所查询的 ...
- Android13冻结进程分析:如何提高设备性能和用户体验
Android13冻结进程分析:如何提高设备性能和用户体验 本文介绍了Android13中的冻结进程功能,它是一种重要的资源管理策略,可以提高系统性能和稳定性,同时最大限度地节省设备的资源和电池消耗. ...
- 更专业省心的来了,你没必要研究UE4和Unity官方推流了!
在当今互联网时代,所有的内容制作者都希望尽可能触达到更多的目标受众,那就需要全平台发布内容并且可以轻松跨平台分享,包括手机.平板电脑.个人电脑以及交互式屏幕,用户能畅快的获得高质量的体验.需求催生了一 ...