重磅!微软开源Deep Speed Chat,人人拥有ChatGPT!

article/2024/9/17 4:42:51

点击上方“AI遇见机器学习”,选择“星标”公众号

第一时间获取价值内容

6d719af8888ca126bd83e22726ca3720.gif

【导读】微软开源的DeepSpeed Chat,让开发者实现了人手一个ChatGPT的梦想!

人手一个ChatGPT的梦想,就要实现了?

刚刚,微软开源了一个可以在模型训练中加入完整RLHF流程的系统框架——DeepSpeed Chat。

也就是说,各种规模的高质量类ChatGPT模型,现在都唾手可得了!

297720c233e7b0b031426b7e81cff5c0.png

项目地址:https://github.com/microsoft/DeepSpeed

一键解锁千亿级ChatGPT,轻松省钱15倍

众所周知,由于OpenAI太不Open,开源社区为了让更多人能用上类ChatGPT模型,相继推出了LLaMa、Alpaca、Vicuna、Databricks-Dolly等模型。

但由于缺乏一个支持端到端的RLHF规模化系统,目前类ChatGPT模型的训练仍然十分困难。而DeepSpeed Chat的出现,正好补全了这个「bug」。

9b26ab82d9c50ca98bfd979c719e61e4.png

更亮的是,DeepSpeed Chat把成本大大地打了下来。

此前,昂贵的多GPU设置超出了许多研究者的能力范围,并且,即使能访问多GPU集群,现有的方法也无力负担数千亿参数ChatGPT模型的训练。

现在,只要花1620美元,就可以通过混合引擎DeepSpeed-HE,在2.1天内训练一个OPT-66B模型。

而如果使用多节点、多GPU系统,DeepSpeed-HE可以花320美元,在1.25小时内训练一个OPT-13B模型,花5120美元,就能在不到一天的时间内训练一个OPT-175B模型。

前Meta AI专家Elvis激动转发,称这是一件大事,并表示好奇DeepSpeed Chat和ColossalChat相比起来如何。

3c035688cf8bc5039a012d8ccb831cc8.png

下面,我们就来看看效果如何。

经过DeepSpeed-Chat的训练,13亿参数版「ChatGPT」在问答环节上的表现非常亮眼。不仅能get到问题的上下文关系,而且给出的答案也有模有样。

4cf3493a13ed9f6caab7659e78a01847.gif

在多轮对话中,这个13亿参数版「ChatGPT」所展示出的性能,也完全超越了这个规模的固有印象。

6f75bc0fd982802d15a73738ed10bc9d.gif

一段代码,生成你的第一个ChatGPT

当然,在体验之前,还需要把环境配置一下:

 
git clone https://github.com/microsoft/DeepSpeed.git
cd DeepSpeed
pip install .git clone https://github.com/microsoft/DeepSpeedExamples.git
cd DeepSpeedExamples/applications/DeepSpeed-Chat/
pip install -r requirements.txt

一杯咖啡,训完13亿参数版ChatGPT

如果你只有大约1-2小时的咖啡或午餐休息时间,也可以尝试使用DeepSpeed-Chat训练一个「小玩具」。

团队特地准备了一个针对1.3B模型的训练示例,可在消费级GPU上进行测试。最棒的是,当你从午休回来时,一切都已准备就绪。

python train.py --actor-model facebook/opt-1.3b --reward-model facebook/opt-350m --num-gpus 1

配备48GB显存的消费级NVIDIA A6000 GPU:

09ab949b350c4e7db27bede00bb69d5b.png

一个GPU Node,半天搞定130亿参数

如果你只有半天的时间,以及一台服务器节点,则可以通过预训练的OPT-13B作为actor模型,OPT-350M作为reward模型,来生成一个130亿参数的类ChatGPT模型:

python train.py --actor-model facebook/opt-13b --reward-model facebook/opt-350m --num-gpus 8

单DGX节点,搭载了8个NVIDIA A100-40G GPU:

6a0d3381764f8ec70f2878808408dcab.png

超省钱云方案,训练660亿参数模型

如果你可以使用多节点集群或云资源,并希望训练一个更大、更高质量的模型。那么只需基于下面这行代码,输入你想要的模型大小(如66B)和GPU数量(如64):

python train.py --actor-model facebook/opt-66b --reward-model facebook/opt-350m --num-gpus 64

8个DGX节点,每个节点配备8个NVIDIA A100-80G GPU:

179959a7b0201bcfa687e00935b6f938.png

具体来说,针对不同规模的模型和硬件配置,DeepSpeed-RLHF系统所需的时间和成本如下:

58b4f65f7d90b235c2b16193f18b301e.png

DeepSpeed Chat是个啥?

DeepSpeed Chat是一种通用系统框架,能够实现类似ChatGPT模型的端到端RLHF训练,从而帮助我们生成自己的高质量类ChatGPT模型。

f4b0b09cefa4647377657b975acca0a9.png

DeepSpeed Chat具有以下三大核心功能:

1. 简化ChatGPT类型模型的训练和强化推理体验

开发者只需一个脚本,就能实现多个训练步骤,并且在完成后还可以利用推理API进行对话式交互测试。

2. DeepSpeed-RLHF模块

DeepSpeed-RLHF复刻了InstructGPT论文中的训练模式,并提供了数据抽象和混合功能,支持开发者使用多个不同来源的数据源进行训练。

3. DeepSpeed-RLHF系统

团队将DeepSpeed的训练(training engine)和推理能力(inference engine) 整合成了一个统一的混合引擎(DeepSpeed Hybrid Engine or DeepSpeed-HE)中,用于RLHF训练。由于,DeepSpeed-HE能够无缝地在推理和训练模式之间切换,因此可以利用来自DeepSpeed-Inference的各种优化。

DeepSpeed-RLHF系统在大规模训练中具有无与伦比的效率,使复杂的RLHF训练变得快速、经济并且易于大规模推广:

  • 高效且经济:

DeepSpeed-HE比现有系统快15倍以上,使RLHF训练快速且经济实惠。

例如,DeepSpeed-HE在Azure云上只需9小时即可训练一个OPT-13B模型,只需18小时即可训练一个OPT-30B模型。这两种训练分别花费不到300美元和600美元。

d463acdab13c811b3b7708a47bbb940b.png

  • 卓越的扩展性:

DeepSpeed-HE能够支持训练拥有数千亿参数的模型,并在多节点多GPU系统上展现出卓越的扩展性。

因此,即使是一个拥有130亿参数的模型,也只需1.25小时就能完成训练。而对于拥有1750 亿参数的模型,使用DeepSpeed-HE进行训练也只需不到一天的时间。

1c47bacbcb413266c8582ba2a375f928.png

  • 实现RLHF训练的普及化:

仅凭单个GPU,DeepSpeed-HE就能支持训练超过130亿参数的模型。这使得那些无法使用多GPU系统的数据科学家和研究者不仅能够轻松创建轻量级的RLHF模型,还能创建大型且功能强大的模型,以应对不同的使用场景。

06e2d1a1ba27b07f3c80bb1d86249287.png

完整的RLHF训练流程


为了提供无缝的训练体验,研究者遵循InstructGPT,并在DeepSpeed-Chat中包含了一个完整的端到端训练流程。

d9ac7bd89630cff6ba0988a618b20aad.png

DeepSpeed-Chat的RLHF训练流程图示,包含了一些可选择的功能

流程包括三个主要步骤:

  • 第 1 步:

监督微调 (SFT),使用精选的人类回答来微调预训练的语言模型,以应对各种查询。

  • 第 2 步:

奖励模型微调,用一个包含人类对同一查询的多个答案打分的数据集,来训练一个独立的(通常比SFT小)奖励模型(RW)。

  • 第 3 步:

RLHF训练,在这一步,SFT模型通过使用近似策略优化(PPO)算法,从RW模型的奖励反馈进一步微调。

在步骤3中,研究者还提供了两个附加功能,来帮助提高模型质量:

- 指数移动平均线(EMA)的收集,可以选择一个基于EMA的检查点,进行最终评估。

- 混合训练,将预训练目标(即下一个词预测)与 PPO 目标混合,以防止在公共基准(如SQuAD2.0)上的性能回归。

ccee09abf788a8f960432ec8957f0305.png

EMA和混合训练这两个训练特征,常常被其他的开源框架所忽略,因为它们并不会妨碍训练的进行。

然而,根据InstructGPT,EMA检查点往往比传统的最终训练模型提供更好的响应质量,而混合训练可以帮助模型保持训练前的基准解决能力。

因此,研究者为用户提供了这些功能,让他们可以充分获得InstructGPT中描述的训练经验。

而除了与InstructGPT论文高度一致外,研究者还提供了功能,让开发者使用多种数据资源,训练自己的RLHF模型:

  • 数据抽象和混合能力:

DeepSpeed-Chat配备了(1)抽象数据集层,以统一不同数据集的格式;以及(2)数据拆分/混合功能,从而使多个数据集被适当地混合,然后在3个训练阶段进行分割。

7cf045009dc9b69b63880c332f7cd9df.png

DeepSpeed混合引擎

指示引导的RLHF管道的第1步和第2步,类似于大模型的常规微调,它们由基于ZeRO的优化和DeepSpeed训练中灵活的并行策略组合,来实现规模和速度。

而管道的第3步是在性能影响方面最复杂的部分。

每个迭代都需要有效地处理两个阶段:a)推理阶段,用于token/经验的生成,产生训练的输入;b)训练阶段,更新actor和reward模型的权重,以及它们之间的互动和调度。

它引入了两个主要的困难:(1)内存成本,因为在整个第三阶段需要运行多个SFT和RW模型;(2)生成回答阶段的速度较慢,如果没有正确加速,将显著拖慢整个第三阶段。

此外,研究者在第三阶段增加的两个重要功能——指数移动平均(EMA)收集和混合训练,将产生额外的内存和训练成本。

217c495e9575def917ea3bb1dbdc6ebc.png

为了应对这些挑战,研究者将DeepSpeed训练和推理的全部系统能力组成了一个统一的基础设施,即混合引擎(Hybrid Engine)。

它利用原有的DeepSpeed引擎进行快速训练模式,同时毫不费力地应用DeepSpeed推理引擎进行生成/评估模式,为第三阶段的RLHF训练提供了一个更快的训练系统。

如下图所示,DeepSpeed训练和推理引擎之间的过渡是无缝的:通过为actor模型启用典型的eval和train模式,在运行推理和训练流程时,DeepSpeed选择了不同的优化,以更快地运行模型,并提高整个系统的吞吐量。  

d33b5dd5e77991a309eae8172b82edf7.png

用于加速RLHF流程中最耗时部分的DeepSpeed混合引擎设计

在RLHF训练的经验生成阶段的推理执行过程中,DeepSpeed混合引擎使用轻量级的内存管理系统,来处理KV缓存和中间结果,同时使用高度优化的推理CUDA核和张量并行计算,与现有方案相比,实现了吞吐量(每秒token数)的大幅提升。

在训练期间,混合引擎启用了内存优化技术,如DeepSpeed的ZeRO系列技术和低阶自适应(LoRA)。

而研究者设计和实现这些系统优化的方式是,让它们彼此兼容,并可以组合在一起,在统一的混合引擎下提供最高的训练效率。

混合引擎可以在训练和推理中无缝地改变模型分区,以支持基于张量并行的推理,和基于ZeRO的训练分片机制。

它还可以重新配置内存系统,以便在每一种模式中最大限度地提高内存可用性。

这就避免了内存分配瓶颈,能够支持大的batch size,让性能大大提升。

总之,混合引擎推动了现代RLHF训练的边界,为RLHF工作负载提供了无与伦比的规模和系统效率。

635c6b12d0517f823b8384b2c08744e5.png

效果评估


与Colossal-AI或HuggingFace-DDP等现有系统相比,DeepSpeed-Chat具有超过一个数量级的吞吐量,能够在相同的延迟预算下训练更大的演员模型或以更低的成本训练相似大小的模型。

例如,在单个GPU上,DeepSpeed使RLHF训练的吞吐量提高了10倍以上。虽然CAI-Coati和HF-DDP都可以运行1.3B的模型,但DeepSpeed可以在相同的硬件上运行6.5B模型,直接高出5倍。

82554b593212b8d8de3a9bf0d9a80f53.png

在单个节点的多个GPU上,DeepSpeed-Chat在系统吞吐量方面比CAI-Coati提速6-19倍,HF-DDP提速1.4-10.5倍。

3b7a4e90520307f126808eb653cdf252.png

团队表示,DeepSpeed-Chat能够获得如此优异的结果,关键原因之一便是混合引擎在生成阶段提供的加速。

854ddd5de19cbc78e3e2772206c1c93d.png

参考资料:

https://github.com/microsoft/DeepSpeed

收集不易,我将资料免费分享在我的星球,后续也将会持续更新

欢迎大家加入我的这个”AIGC与GPT“知识星球,价格便宜,目前已有近70人

作为一个大厂算法工程师和机器学习技术博主,我希望这个星球可以:

  • 【最全免费资源】免费chatgpt-API,最新AIGC和GPT相关pdf报告和手册。

  • 【最专业算法知识】Transformer、RLHF方法、多模态解读及其论文分享。

  • 【最新变现姿势】如何结合ChatGPT应用落地,各种可以作为副业的AIGC变现方式,打好这个信息差。

  • 【最有趣AICG】ChatGPT+midjourney拍电影,制作壁纸,漫画等等有趣的AICG内 容分享。

dd04a1b25abaef843a0402f818a21efb.jpeg

另外这里会保存我收集的各种关于AIGC的资源和资料,包括AI绘画-midjourney,ChatGPT, GPT-4,百度-文心一言的各种资料。会保持持续更新,欢迎大家自行拿取。(网盘地址和密码在知识星球自取!)4681ef5653936cdfd0e547dd448be198.png


http://chatgpt.dhexx.cn/article/cBjTxUQO.shtml

相关文章

微软ChatGPT技术的底层支撑——GPU

我是荔园微风,作为一名在IT界整整25年的老兵,今天我们来看一看微软ChatGPT技术的底层支撑——GPU。 想要了解GPU,你必须要清楚CPU、GPU、TPU三者的关系。 微软的chatgpt是基于复杂的人工神经网络和强化学习的技术,这是如何运算的…

用ChatGPT操控机器人,微软开启居家机器人新纪元!

编|LRS 源|新智元 ChatGPT不止会动嘴,还能帮你操控无人机! 虽然ChatGPT已经被调教为符合人类的偏好,但在各种反向操作下,还是能够逼问出一些「不道德的内容」,比如ChatGPT可以给你列一份详细的…

【ChatGPT】如何用十分钟部署一个属于自己的chatgpt网站

💖 作者简介:大家好,我是Zeeland,全栈领域优质创作者。📝 CSDN主页:Zeeland🔥📣 我的博客:Zeeland📚 Github主页: Undertone0809 (Zeeland) (github.com)&…

ChatGPT聊天app(基于autojs)

这是一个调用ChatGPT的例子 在安卓上运行,我已经打包好了的 下面是测试功能 我已经打包好了,图方便用的是auto.js写的,你也可以用原生安卓写 我用蓝奏浏览器分享了[ChatGPT测试_1.0.0], 下载链接:https://wwp.lanzoup.com/iL8Q50nab43c 提取码 : wumi…

本地部署chatgpt

下载python3.7以上版本 安装 pip install pandora-chatgpt 安装完成 输入网址(要先登录chatgpt) https://chat.openai.com/api/auth/session 复制accseeToken的内容存为token.txt 在token.txt同一个目录下进入cmd 输入 pandora.exe -t .\token.txt 或者 然后在浏览器输入127…

ChatGPT API 技巧教程

导语:ChatGPT作为一种基于人工智能的自然语言处理工具,可以帮助你更好地解决这些问题,提高质量和效率。那么,本文将介绍如何使用ChatGPT的API接口,高效响应结果。 介绍了如何全流程使用ChatGPT,在实际应用…

ChatGPT教程之 03 ChatGPT 中构建 Python 解释器

这个故事的灵感来自于一个类似的故事,在 ChatGPT 中构建虚拟机。我印象深刻并决定尝试类似的东西,但这次不是 Linux 命令行工具,而是让 ChatGPT 成为我们的 Python 解释器。 这是初始化 ChatGPT 的初始命令: I want you to act as a Python interpreter. I will type com…

谷歌浏览器兼容chatgpt教程

#插件下载地址 https://download.csdn.net/download/qq_37191690/87793063 https://download.csdn.net/download/qq_37191690/87793061 2个插件分别是谷歌账号申请工具,要不然打不开登录页面,一个是chatgpt搜索插件 1、打开谷歌浏览器,在右上…

ChatGPT教程之深入了解魔术背后的技术

解开谜团:深入探索 ChatGPT 的技术奇迹。 ChatGpt 无处不在,无论是在播客、博客、YouTube 还是社交媒体上。当我注意到这项新技术如此受欢迎时,我决定试一试,我被震惊了!有很多关于 ChatGpt 及其魔力的博客,但在这篇博客中,我将深入探讨其内部技术及其工作原理! ChatG…

chatgpt系列文章-23.2.15(主要还在发现chatgpt的不足,偏探索,像报告)

Will ChatGPT get you caught? Rethinking of Plagiarism Detection 推荐指数:2 主要内容 文章主要是研究chatgpt出现后,在学术界中可能出现的学术抄袭和剽窃现象。 这篇文章就比较了几种剽窃抄袭软件,来测试是否能够识别chatgpt编写的内…

ChatGPT写新闻-ChatGPT写文章

ChatGPT写新闻 ChatGPT可以用于生成新闻稿件,但需要注意的是,由ChatGPT生成的新闻稿件可能存在语义、逻辑、事实准确性等方面的问题,因此需要进行人工审核和编辑,确保其准确性。 下面是一个示例过程,大致了解如何使用…

ChatGPT写作:快速生成优质博客文章的神器

今天我们将聊聊如何使用ChatGPT快速生成优质的博客文章,并且在短时间内提高写作效率。 首先,让我们简单介绍一下ChatGPT。它是一种基于深度学习的自然语言处理模型,能够自动地生成人类般的文本。通过训练大量的文本数据,ChatGPT可…

用 ChatGPT 写了篇文章!

阅读本文大概需要1.66 分钟。 这几天大家应该看到很多人,尤其做技术的,互联网圈子的人都在刷屏一个ai玩意,叫 ChatGPT。在写这篇之前,我也试了试,感觉还挺好玩。看到很多人在问这是个啥,今天就来简单说说。…

ChatGPT如何批量生成文章,ChatGPT自动写作工具!

ChatGPT是一种基于GPT接口的人工智能机器人,它具备自动写作的能力,可以用来生成文章、翻译、问答等多种语言处理任务。在实际应用中,很多用户需要使用ChatGPT来批量生成文章,那么,ChatGPT如何实现批量文章生成呢&#…

2分钟用ChatGPT写一篇高质量文章文案,让它告诉你:如何靠短视频赚钱?

如何利用 ChatGPT 快速编写一篇高质量的文章 一、文章结构剖析 如果我们经常去写文章或者是去看别人的文章,你会发现文章分为以下几部分: 标题大纲前言/导语正文(不同的结构)结尾呼吁 当然了,如果我们去问 ChatGPT&…

完爆基金经理?ChatGPT炒股,一年多回报率超500%

郑雅烁 中国证券报 2023-05-21 02:48 发表于北京 天天财经独家,速关注 近日,美国顶级公立大学佛罗里达大学金融学院公布的一项研究表明,将ChatGPT融合在投资模型中,可以预测股市的走势,其投资回报率甚至高达惊人的500%…

ChatGPT基础原理和基础应用

CHatGPT ChatGPT 能以不同样式、不同目的生成文本,并且在准确度、叙述细节和上下文连贯性上具有更优的表现。GPT是Generative Pre-trained Transformer(生成型预训练变换模型)的缩写 OpenAI 使用监督学习和强化学习的组合来调优 ChatGPT&…

ChatGPT炒股:批量下载北交所上市公司的招股说明书

打开北京证券交易所官网,点击发行上市,然后点击公开发行信息披露,然后在查询框里面输入关键词:在北京证券交易所上市招股说明书,然后选择时间,点击查询,就可以看到所有北交所上市公司的招股说明…

chatgpt赋能python:Python如何获取股票数据——详细介绍

Python如何获取股票数据——详细介绍 Python作为一款专业的编程语言,其应用领域十分广泛,其中之一就是股票数据的获取。本文将详细介绍Python如何获取股票数据的方法,帮助大家快速获取所需的股票信息。 一、使用pandas-datareader获取股票数…

chatgpt赋能python:使用Python操作股票软件:探索股票市场的新方式

使用Python操作股票软件:探索股票市场的新方式 在当今股票市场中,许多投资者正在寻找新的方式来更好地管理其投资组合。一种新的方式是使用Python编程语言操作股票软件。Python拥有简洁的语法和丰富的库来帮助投资者更好地理解和管理股票。在本文中&…