AI:DeepSpeed Chat(一款帮用户训练自己模型的工具且简单/低成本/快 RLHF 训练类ChatGPT高质量大模型)的简介、安装、使用方法之详细攻略

AI:DeepSpeed Chat(一款帮用户训练自己模型的工具且简单/低成本/快 RLHF 训练类ChatGPT高质量大模型)的简介、安装、使用方法之详细攻略

目录

DeepSpeed Chat的简介

DeepSpeed-Chat的产生背景

DeepSpeed-Chat的简介

DeepSpeed-Chat的三大功能

DeepSpeed-RLHF 系统三大优势

DeepSpeed Chat的安装和使用方法

1、简单易用的ChatGPT训练和推理体验

使用 DeepSpeed-Chat 的 RLHF 示例可以轻松训练您的第一个 ChatGPT 样式模型

a) 一个脚本完成 RLHF 训练的所有三个阶段并生成您的第一个 ChatGPT 模型!

b) 使用 DeepSpeed-Chat 的推理 API 测试您的最终模型

DeepSpeed Chat的使用方法

1、成熟的 RLHF 培训管道

2、DeepSpeed 混合引擎——统一的基础设施来支持和优化 RLHF 训练


DeepSpeed Chat的简介

DeepSpeed-Chat的产生背景

       ChatGPT 之类的模型席卷了 AI 世界,可以毫不夸张地说它对数字世界的影响是革命性的。这些模型用途广泛,能够执行摘要、编码和翻译等任务,其结果与人类专家相当甚至超过人类专家的能力。鉴于这些模型的强大功能,AI 开源社区正在进行多项努力,以使 ChatGPT 样式的模型更易于访问(例如 ChatLLaMa、Alpaca、Vicuna、Databricks-Dolly 等)。
       尽管付出了这些令人难以置信的努力,但仍然缺乏端到端的 RLHF 管道,能够训练强大的 ChatGPT 类模型,AI 社区可以轻松访问这些模型。例如,使用现有系统训练适度的 6.7B ChatGPT 模型通常需要昂贵的多 GPU 设置,这超出了许多数据科学家的能力范围。即使可以访问此类计算资源,训练效率通常也低于这些机器能力的 5%(如下图所示)。最后,现有的解决方案根本无法支持简单、快速和负担得起的培训具有数千亿参数的最先进的 ChatGPT 模型,即使可以访问多 GPU 集群。
       这些限制源于缺乏能够有效支持复杂 InstructGPT 的 RLHF 训练管道的稳健系统设计,这与现有 DL 系统设计的标准预训练和微调管道截然不同。

DeepSpeed-Chat的简介

       DeepSpeed是一个由微软开发深度学习框架优化工具,旨在为大规模分布式训练提供更好的支持。它提供了多种性能优化技术,包括模型并行、梯度累积、动态精度缩放等,使得在使用大规模GPU集群进行训练时能够更高效地利用计算资源。同时,DeepSpeed还提供了一套易用的API,可以方便地将这些优化技术应用到不同的深度学习框架中,如PyTorch、TensorFlow等。
       4月12日(美国时间),DeepSpeed在社交论坛,发表了DeepSpeed-Chat,想在单个GPU上训练10B+ chatgpt风格的模型,在多GPU系统上训练100B+ ?引入DeepSpeed-Chat,一种简单(单脚本)、快速和低成本的解决方案,用于用RLHF训练高质量的chatgpt风格模型,比SoTA快15倍。
       综上可知,微软开源的 DeepSpeed-Chat是一款让我们能够以更低的成本、更快的速度训练类似于ChatGPT的高质量大模型,目的是帮用户训练自己的模型

GitHub:DeepSpeed/blogs/deepspeed-chat at master · microsoft/DeepSpeed · GitHub

官方介:DeepSpeed/README.md at master · microsoft/DeepSpeed · GitHub

DeepSpeed-Chat的三大功能

       本着使类似 ChatGPT 的模型民主化并使 RLHF 训练真正为 AI 社区所用的精神,今天我们发布了具有以下三种特点的 DeepSpeed-Chat:

(i)易于使用的 ChatGPT 类模型训练和推理体验一个脚本能够采用预训练的 Huggingface 模型,使用 DeepSpeed-RLHF 系统运行它完成 InstructGPT 训练的所有三个步骤,并生成您自己的 ChatGPT像模型。此外,我们还提供了一个推理 API,用于在训练模型后测试对话式交互。

(ii) DeepSpeed-RLHF 流水线:DeepSpeed-RLHF 流水线主要复制 InstructGPT 论文中的训练流水线,并仔细注意以确保完整性和与包括 a) 监督微调 (SFT) 在内的三个步骤的一一对应, b) 奖励模型微调和 c) 人类反馈强化学习 (RLHF)。此外,我们还提供数据抽象和混合功能,以支持使用多个数据源进行训练。

(iii) DeepSpeed-RLHF 系统:一个强大而复杂的 RLHF 系统,它将 DeepSpeed 的训练和推理能力结合到 RLHF 的单一统一混合引擎 (DeepSpeed-HE) 中。混合引擎能够在 RLHF 内的推理和训练模式之间无缝转换,使其能够利用 DeepSpeed-Inference 的各种优化,例如用于生成的张量并行和高性能变压器内核,同时还受益于众多 ZeRO-以及用于 RL 训练的基于 LoRA 的内存优化策略。DeepSpeed-HE 还了解整个 RLHF 管道,使其能够在 RLHF 不同阶段的内存管理和数据移动方面做出最佳决策。

DeepSpeed-RLHF 系统三大优势

DeepSpeed-RLHF 系统能够大规模实现无与伦比的效率,使复杂的 RLHF 训练变得快速、经济且易于为 AI 社区所接受:

效率和可负担性:在效率方面, DeepSpeed-HE 比现有系统快 15 倍以上,使 RLHF 训练既快速又经济。例如,DeepSpeed-HE 可以在 Azure Cloud 上仅用 9 小时训练 OPT-13B,在 18 小时内训练 OPT-30B,价格分别低于 300 美元和 600 美元。

显卡OPT-6.7BOPT-13BOPT-30BOPT-66B
8 个 A100-40GB5.7小时10.8小时1.85天北美
8 个 A100-80GB4.1 小时(132 美元)9 小时(290 美元)18 小时(580 美元)2.1 天 ($1620)

表 1. 单节点 8x A100:Azure 上的训练时间和相应的近似成本。

出色的可扩展性:DeepSpeed-HE支持千亿级参数的模型,在多节点多GPU系统上可以实现出色的可扩展性。因此,即使是 13B 模型也可以在 1.25 小时内完成训练,而使用 DeepSpeed-HE 可以在不到一天的时间内训练出大型 175B 模型。

显卡OPT-13BOPT-30BOPT-66BOPT-175B
64x A100-80G1.25 小时(320 美元)4 小时(1024 美元)7.5 小时(1920 美元)20 小时 ($5120)

表 2. 多节点 64x A100-80GB:Azure 上的训练时间和相应的近似成本。

非常重要的细节:上面两个表中的数字都是针对训练的第 3 步,并且基于在 DeepSpeed-RLHF 精选数据集和训练方法上实际测量的训练吞吐量,该方法在总共 1.35 亿个token上训练一个时期。我们总共有 6750 万个查询标记(131900 个查询,序列长度为 256)和 6750 万个生成的标记(131900 个答案,序列长度为 256),以及每步 0.5M 标记(1024 个查询-答案对)的最大全局批量大小). 我们敦促读者在与 DeepSpeed-RLHF 进行任何成本和 e2e 时间比较之前注意这些规范。有关详细信息,请参阅我们的基准设置页面。

民主化 RLHF 训练DeepSpeed-HE 仅需一个 GPU,即可支持具有超过 130 亿个参数的训练模型,使无法访问多 GPU 系统的数据科学家不仅可以创建玩具 RLHF 模型,还可以创建可在实际中使用的大型强大模型-世界场景。

V100 32GA6000 48GA100 40GA100 80G
型号尺寸OPT-2.7BOPT-6.7BOPT-6.7BOPT-13B

表 3. DeepSpeed-HE 在单个 GPU 上支持的最大模型大小

DeepSpeed Chat的安装和使用方法

1、简单易用的ChatGPT训练和推理体验

从易于使用的体验开始,展示如何使用 DeepSpeed-RLHF 系统训练 OPT-13B 和 OPT-66B 模型。如果时间不够,您甚至可以在两个小时内在单个消费级 GPU 上训练 OPT-1.3B 模型。我们还演示了如何使用我们的 DeepSpeed-chat RLHF API 来开发您自己的自定义管道。

使用 DeepSpeed-Chat 的 RLHF 示例可以轻松训练您的第一个 ChatGPT 样式模型

a) 一个脚本完成 RLHF 训练的所有三个阶段并生成您的第一个 ChatGPT 模型!

我们在以下单个脚本中使用预训练的 OPT-13B 作为演员模型和 OPT-350M 作为奖励模型的示例来生成最终的 13B ChatGPT 样式模型:

pip install deepspeed>=0.9.0git clone https://github.com/microsoft/DeepSpeedExamples.git
cd DeepSpeedExamples/applications/DeepSpeed-Chat/
pip install -r requirements.txtpython train.py --actor-model facebook/opt-13b --reward-model facebook/opt-350m --deployment-type single_node

大约半天后,您的 13B 模型将完成全面训练,并准备好检查点。下表显示了三个步骤中每个步骤的训练时间明细:

型号尺寸步骤1第2步步骤 3全部的
演员:OPT-13B,奖励:OPT-350M2.5小时0.25小时10.8小时13.6小时

表 4. 在具有 8 个 NVIDIA A100-40G GPU 的单个 DGX 节点上通过 DeepSpeed-Chat 训练 130 亿参数 ChatGPT 模型的 E2E 时间分解。

b) 使用 DeepSpeed-Chat 的推理 API 测试您的最终模型

现在是时候插入并测试由 DeepSpeed-Chat 训练的最终模型了!您不仅可以玩问答环节,还可以玩对话式互动。

Human:        Do you know Microsoft?
Assistant:    Yes, I’m a big fan of Microsoft.  What about them?
Human:        Can you explain it to a 6-year old child? I wonder how I should describe it
Assistant:    Sure, I can try.  Microsoft is a company that makes computers, and they make a program called “Windows” whichis the operating system that runs on the computer. It’s like the “brain” of the computer.  It’s where all theprograms and files are stored. It’s also where you’ll find the “start” button, which is where you’ll start touse the computer.

DeepSpeed Chat的使用方法

1、成熟的 RLHF 培训管道

为了提供无缝的培训体验,我们遵循 InstructGPT 并在 DeepSpeed-Chat 中包含一个成熟的端到端培训管道,如图 1 所示。

 图 1:DeepSpeed-Chat 的具有可选功能的 RLHF 训练管道的图示。

我们的管道包括三个主要步骤:

  • 第 1 步:监督微调 (SFT),其中仔细选择人类对各种查询的响应以微调预训练语言模型。
  • 第 2 步:奖励模型微调,其中使用一个数据集训练一个单独的(通常小于 SFT)模型 (RW),该数据集具有人类提供的对同一查询的多个答案的排名。
  • 第 3 步:RLHF 训练,其中使用近端策略优化 (PPO) 算法使用来自 RW 模型的奖励反馈进一步微调 SFT 模型。

我们在步骤 3 中提供了两个附加功能来帮助提高模型质量:

  • 指数移动平均线 (EMA) 集合,其中可以选择基于 EMA 的检查点进行最终评估。
  • Mixture Training,它将预训练目标(即下一个词预测)与 PPO 目标混合在一起,以防止在 SQuAD2.0 等公共基准上的性能回归。

EMA 和混合训练这两个训练特征经常被其他最近的努力忽略,因为它们可以是可选的。然而,根据 InstructGPT 的说法,EMA 检查点通常提供比常规最终训练模型更好的响应质量,而 Mixture Training 可以帮助模型保留预训练基准解决能力。因此,我们为用户提供它们,以充分获得 InstructGPT 中描述的训练体验,并争取更高的模型质量。

除了与 InstructGPT 论文高度一致外,我们还提供了方便的功能来支持研究人员和从业者使用多种数据资源训练自己的 RLHF 模型:

  • 数据抽象和混合功能: DeepSpeed-Chat 能够使用多个数据集训练模型以获得更好的模型质量。它配备了(1)一个抽象数据集层来统一不同数据集的格式;(2) 数据拆分/混合功能,以便正确混合多个数据集,然后将其拆分到 3 个训练阶段。

为了说明我们训练管道的有效性,我们通过多轮对话展示了模型质量,如体验部分所示。

2、DeepSpeed 混合引擎——统一的基础设施来支持和优化 RLHF 训练

instruct-guided RLHF 管道的第 1 步和第 2 步类似于大型模型的定期微调,它们由 DeepSpeed 训练中基于 ZeRO 的优化和并行策略的灵活组合提供支持,以实现规模和速度。另一方面,管道的第 3 步是处理性能影响方面最复杂的部分。每次迭代都需要高效处理两个阶段:a) 令牌/经验生成的推理阶段,为训练生成输入和 b) 训练阶段以更新参与者和奖励模型的权重,以及它们之间的交互和调度。它引入了两个主要成本:
(1) 内存成本,因为在整个第 3 阶段需要提供 SFT 和 RW 模型的多个副本;
(2) 主要发电阶段,如果没有适当加速,

为了应对这些挑战,我们将 DeepSpeed Training and Inference 的完整系统功能组合到一个统一的基础设施中,我们称之为混合引擎。它利用原始的 DeepSpeed 引擎进行快速训练模式,同时毫不费力地将 DeepSpeed 推理引擎应用于生成/评估模式,为第 3 阶段的 RLHF 训练提供明显更快的训练系统。如图 2 所示,DeepSpeed 训练和推理引擎之间的过渡是无缝的:通过为 actor 模型启用典型的评估和训练模式,在运行推理和训练管道时,DeepSpeed 选择不同的优化来更快地运行模型并提高整体系统吞吐量。

图 2. DeepSpeed 混合引擎设计用于加速 RLHF 流水线中最耗时的部分。

在 RLHF 训练的经验生成阶段的推理执行过程中,DeepSpeed 混合引擎使用轻量级内存管理系统来处理 KV 缓存和中间结果,以及高度优化的推理适配内核和张量并行实现,以实现显着提升与现有解决方案相比,吞吐量(每秒令牌数)。

在训练执行期间​​,Hybrid Engine 启用内存优化技术,例如 DeepSpeed 的 ZeRO 系列技术和低阶自适应 (LoRA)。我们设计并实施了这些系统优化,使它们彼此兼容,并且可以组合在一起,以在统一的混合引擎下提供最高的训练效率。

Hybrid Engine 可以跨训练和推理无缝更改模型分区,以支持基于张量并行的推理和基于 ZeRO 的训练分片机制。它还可以重新配置内存系统,以在这些模式中的每一个期间最大化内存可用性。这可以通过避免内存分配瓶颈和支持大批量大小来提高性能。Hybrid Engine 包含来自 DeepSpeed 训练和推理的一系列系统技术,突破了现代 RLHF 训练的界限,并为 RLHF 工作负载提供了无与伦比的规模和系统效率。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

花30分钟,我用ChatGPT写了一篇2000字文章(内附实操过程)

有了ChatGPT之后,于我来说,有两个十分明显的变化: 1. 人变的更懒 因为生活、工作中遇到大大小小的事情,都可以直接找ChatGPT来寻求答案。 2. 工作产出量更大 之前花一天,甚至更久才能写一篇原创内容,现…

ChatGPT写出高质量文章的技巧

如何让ChatGPT写出高质量的文章,今天给大家分享一些ChatGPT写推广文章的技巧。如果我们是一名互联网文章作者,那么对于产品推广的需求就是不可避免的了。下面我会分享一些我个人的写作经验,希望能对我们们有所帮助。 ChatGPT不同于其他ai文章…

【JavaScript学习笔记】用 JavaScript 开发企业微信 ChatGPT 应用

用 JavaScript 开发企业微信 ChatGPT 应用 本文将帮助你快速实现一个企业微信聊天应用,并且接入 ChatGPT。(以下为效果截图) 你将学会 创建企业微信应用,如何配置接收消息 URL、企业可信 IP、解密消息使用 AirCode 的「Get a co…

用 JavaScript,五分钟将 Siri 接入 ChatGPT(搬运)

Siri ChatGPT 使用教程 将 Siri 接入 ChatGPT,直接语音唤醒,并且支持连续对话。 第一步:拷贝项目 通过 AirCode 源码链接中右上角的「Get a copy」按钮快速生成一个自己的 AirCode Node.js 应用。 注意不要直接复制代码,如果是直…

ChatGPT 由0到1接入 Siri

ChatGPT 由0到1接入 Siri ChatGPT 由0到1接入 Siri第一步:获取 OpenAPI 的 Key第二步:制作快捷指令本教程收集于: AIGC从入门到精通教程 ChatGPT 由0到1接入 Siri 分享如何将 GPT 应用集成到苹果手机的 Siri 中 (当然手机是需要魔法(TZ)的) 第一步:获取 OpenAPI 的…

“我把 ChatGPT 和苹果的 Siri 组了个队,发现无敌了!”

【CSDN 编者按】ChatGPT 的问世,带来了前所未有的智能应用新方式。如果“AIAI”,会碰撞出什么样的火花?近日,国外一名 Web 高级工程师 Mate Marschalko 将 ChatGPT 和 Siri 人工智能语言助手进行了结合,万万没想到&…

ChatGPT接入Siri指南来了/必应下载量进前五/ 特斯拉被曝监控员工致不敢上厕所…今日更多新鲜事在此...

日报君 发自 凹非寺量子位 | 公众号 QbitAI 大家好,今天是2月15日星期三。 情人节过了,仍然祝你快乐~ 科技圈其他新鲜事儿,来咯。 必应下载量激增,与谷歌差距缩小 必应搜索在引入ChatGPT之后,用户量增长多少…

用 JavaScript 五分钟将 Siri 接入 ChatGPT(含全部源码)

全部源码 https://aircode.cool/828668wg5a -------------------------- 将 Siri 接入 ChatGPT,直接语音唤醒,并且支持连续对话。 第一步:拷贝项目 1. 点击右上角「Get a copy」,这会打开 AirCode 源码链接,并基于…

三分钟把ChatGPT接入Siri,让你的语音助手化身智能AI

最近,各种各样使用ChatGPT的方式都出现了,但是有很多都需要在电脑操作,或者点击别人的各种各样的链接,而且有些可能还要魔法上网才能实现,这些都是稍微有点繁琐的。 那么,最方便的还是直接使用我们的手机一…

细数和Chatgpt相似的开源模型

毫无疑问Chatgpt对于AI的发展具有里程碑式的意义,它最大的意义在于从0到1验证了大规模语言模型的可行性。 毕竟训练这个模型,是需要烧非常多钱的,OpenAI背后的金主微软都已经投资了上百亿美元。 前几天连Chatgpt4都被暂停了,官网…

从ChatGPT到大模型

AIGC AIGC1. 关于ChatGPT2. 关于大模型模型即服务。现在大模型的两种:大模型发展趋势:大模型作用:大模型核心: 3. 要复现一个ChatGPT需要的资源支持?4. ChatGPT的局限性5. 类ChatGPT 未来的发展ChatGPT 体现的通用性&…

让ChatGPT在中断回答的时候自动输入「请接上文继续」并发送

一、脚本内容 让ChatGPT在中断回答的时候自动输入「请接上文继续」并发送 // UserScript // name ChatGPT自动接上文继续 // namespace http://tampermonkey.net/ // version 1.3 // description 让ChatGPT在中断回答的时候自动输入「请接上文继续」并发送 /…

ChatGPT流式输出实现原理

在使用ChatGPT时,模型的回复内容是一个字一个字蹦出来的,而不是整段话直接出现,因为模型需要不断预测接下来要回复什么内容,如果等整段回复生成之后再输出到网页,用户体验就会很差,一直以为这种流式输出效果…

利用 ChatGPT 回答 R 相关问题

最近小编也尝试使用了 ChatGPT,下面给出一些知乎上常见 R 语言相关问题的回答。供大家参考: 目录 文章目录 目录经典问题预测数据科学软件排名数据科学的 10 个常用 R 包R 语言入门书籍和网站推荐回答专业问题 绘图绘制正负柱状图动态散点图 构建 Shiny…

Chatgpt易语言版本Chatgpt直接用

Chatgpt易语言版本 Chatgpt易语言版本 Chatgpt易语言版本 直接上代码 主要核心代码如下 .版本 2.子程序 功能_网页访问, 文本型, , 本命令由【精易网页调试助手】生成,请配合精易模块使用。 .局部变量 局_网址, 文本型 .局部变量 局_方式, 整数型 .局部变量 局_提…

笔记本电脑部署本地离线版类似ChatGPT3.5的AI模型(CPU+内存运行)

准备工作 如果通过GPU来运行,一般办公电脑的显卡可能达不到所需的要求,所以,可以通过CPU内存的方式花最低的代价来部署一套本地运行AI的模型。 1、首先下载CPU-Z,运行看一下电脑当前的指令集是否包含AVX512,非AVX512…

一条指令打开ChatGPT开发者模式

大家好,我是Ai 11社长。 对于ChatGPT冷漠刻板的回答,大家应该都腻了吧,试试这个。 这个类似小红书的回答满意不?在ChatGPT开发者模式下就能得到这样的回复。 怎么打开开发者模式呢?指令如下: Ignore all th…

低成本复制 ChatGPT 训练流程,仅需 1.68GB GPU 即可使用,方法现已开源!

编译 | 屠敏 出品 | CSDN(ID:CSDNnews) 当昨日我们还在讨论从大厂以及个人创业的角度来看,复制一家 OpenAI 和一款强大的 ChatGPT 可行性究竟有几成之际,苦于 OpenAI 并未将 ChatGPT 开源出来,所以这趟水究…

【uni-app】微信小程序开发 node_modules 模块丢失问题

解决问题 重要的问题说三遍!!! 解决 HBuilderX 打包 uni-app 项目到微信小程序时,node_modules 文件夹丢失问题。 解决 HBuilderX 打包 uni-app 项目到微信小程序时,node_modules 文件夹丢失问题。 解决 HBuilderX 打包…

element-ui 实现对话框

使用element-ui实现弹框 <!-- 弹窗 --><el-dialog title"New Ticket" :visible.sync"true" width"50%"> //:visible.sync"true"&#xff1a;一般设置一个变量来保存&#xff0c;true为打开,false为关闭<el-divider>…