实战|如何低成本训练一个可以超越 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. 但是,到了各大厂商手 ...
随机推荐
- Go 并发模型—Goroutines
前言 Goroutines 是 Go 语言主要的并发原语.它看起来非常像线程,但是相比于线程它的创建和管理成本很低.Go 在运行时将 goroutine 有效地调度到真实的线程上,以避免浪费资源,因此 ...
- 手摸手带你初探Vue 3.0
1 前言 距离Vue 3.0正式发布已经过去一段时间了,2月7日Vue团队正式宣布Vue 3正式成为新的默认版本.最近接触的新项目也使用Vue 3.0来开发,因此有必要对它进行一波总结和学习. 2 简 ...
- Element-ui源码解析(一):项目目录解析
开始看原码了,我们要开始一些准备工作, 既然是拆代码,那么我们要先把代码搞到手 1.如何下载原码 随便开个项目 npm i element-ui -S 将源码下载到本地 随后在node_module ...
- React函数式组件渲染、useEffect顺序总结
参考资料: 深入React的生命周期(上):出生阶段(Mount) 深入React的生命周期(下):更新(Update) 精读<useEffect 完全指南> React组件重新渲染理解 ...
- 给C#新增一个时间类型: YearMonth
在.Net Framework中,我们常用的时间类型是DateTime.直到.Net6微软加入了两个新的时间类型:DateOnly和TimeOnly,才弥补了之前的不足. DateOnly:表示仅日期 ...
- ABP VNext添加全局认证(如何继承AuthorizeFilter)
前言 目前公司采用的开发框架是ABP VNext微服务框架 最近突然发现一个问题,ABP中如果控制器或服务层没有加 Authorize特性的话,则不会走身份认证,且不会认证Token 如图: 但是项目 ...
- 安装.NET Framework4.5以上版本受阻怎么办?
安装和卸载 .NET Framework 受阻疑难解答 - .NET Framework | Microsoft Learn Windows RT 8.1.Windows 8.1 和 Windows ...
- Tcpdump 使用指南
论网络数据包的分析,我首选wireshark,因为图形化界面直观明了.但如果遇到没有图形化显示的Linux环境,那么此时会使用tcpdump该是一件多么美好的事情. 网上关于tcpdump的介绍很多, ...
- 批量获取FreeSWITCH所有分机号及其密码
前言 有次项目上需要获取所有FreeSWITCH注册分机的分机号和密码,就用python写了个小脚本来获取. 可以先把freeswitch/conf/directory/default/目录下的所有x ...
- Python类型提示
摘自:Python 类型提示简介 - FastAPI (tiangolo.com) 快速入门 类型提示用于声明一个变量的类型,在Python 3.6+版本的时候引入. 示例: def get_full ...