GPT (Generative Pre-training Transformer)是一种大型语言模型,能够生成各种不同的文本类型。官方论文 https://openai.com/blog/chatgpt
与任何文本生成系统一样,ChatGPT 模型可以根据它从语言中保留的内容生成无意义的文本,但不理解其含义。正如 OpenAI 在其描述中所说,最难解决的问题是强化学习中没有真实来源,这导致没有加权。与任何训练系统相比,生成网络学习什么是好的答案(通过克隆行为)。不幸的是,模型没有学习到正确的答案,因此答案将取决于模型保留了什么。因此,它将无法呈现专家认为准确的内容。
https://github.com/microsoft/DeepSpeed/blob/master/blogs/deepspeed-chat/chinese/README.md
DeepSpeed-Chat!
一个支持端到端的基于人工反馈机制的强化学习(RLHF)的规模化系统 ChatGPT模型的训练是基于InstructGPT论文中的RLHF
DeepSpeed-Chat具有以下三大核心功能:
(i)简化 ChatGPT 类型模型的训练和强化推理体验:只需一个脚本即可实现多个训练步骤,包括使用 Huggingface 预训练的模型、使用 DeepSpeed-RLHF 系统运行 InstructGPT 训练的所有三个步骤、甚至生成你自己的类ChatGPT模型。此外,我们还提供了一个易于使用的推理API,用于用户在模型训练后测试对话式交互。
(ii)DeepSpeed-RLHF 模块:DeepSpeed-RLHF 复刻了 InstructGPT 论文中的训练模式,并确保包括a) 监督微调(SFT),b) 奖励模型微调和 c) 基于人类反馈的强化学习(RLHF)在内的三个步骤与其一一对应。此外,我们还提供了数据抽象和混合功能,以支持用户使用多个不同来源的数据源进行训练。
(iii)DeepSpeed-RLHF 系统:我们将 DeepSpeed 的训练(training engine)和推理能力(inference engine) 整合到一个统一的混合引擎(DeepSpeed Hybrid Engine or DeepSpeed-HE)中用于 RLHF 训练。DeepSpeed-HE 能够在 RLHF 中无缝地在推理和训练模式之间切换,使其能够利用来自 DeepSpeed-Inference 的各种优化,如张量并行计算和高性能CUDA算子进行语言生成,同时对训练部分还能从 ZeRO- 和 LoRA-based 内存优化策略中受益。DeepSpeed-HE 还能够自动在 RLHF 的不同阶段进行智能的内存管理和数据缓存。
DeepSpeed-RLHF 系统在大规模训练中具有无与伦比的效率,使复杂的 RLHF 训练变得快速、经济并且易于大规模推广:
高效性和经济性:DeepSpeed-HE 比现有系统快 15 倍以上,使 RLHF 训练快速且经济实惠。例如,DeepSpeed-HE 在 Azure 云上只需 9 小时即可训练一个 OPT-13B模型,只需 18 小时即可训练一个 OPT-30B模型。这两种训练分别花费不到 300 美元和 600 美元。
GPUs | OPT-6.7B | OPT-13B | OPT-30B | OPT-66B |
---|---|---|---|---|
8x A100-40GB | 5.7 hours | 10.8 hours | 1.85 days | NA |
8x A100-80GB | 4.1 hours ($132) | 9 hours ($290) | 18 hours ($580) | 2.1 days ($1620) |
表 1. 单节点 8x A100:训练时长及预估的 Azure 费用。
卓越的扩展性:DeepSpeed-HE 能够支持训练拥有数千亿参数的模型,并在多节点多 GPU 系统上展现出卓越的扩展性。因此,即使是一个拥有 130 亿参数的模型,也只需 1.25 小时就能完成训练。而对于庞大的 拥有1750 亿参数的模型,使用 DeepSpeed-HE 进行训练也只需不到一天的时间。
GPUs | OPT-13B | OPT-30B | OPT-66B | OPT-175B |
---|---|---|---|---|
64x A100-80G | 1.25 hours ($320) | 4 hours ($1024) | 7.5 hours ($1920) | 20 hours ($5120) |
表 2. 多节点 64x A100-80GB:训练时长及预估的 Azure 费用。
为了实现无缝的训练体验,我们遵循 InstructGPT 论文的方法,并在 DeepSpeed-Chat 中整合了一个端到端的训练流程,如图 1 所示。
图 1: DeepSpeed-Chat 的 RLHF 训练流程图示,包含了一些可选择的功能。
我们的流程包括三个主要步骤:
在步骤3中,我们提供了两个额外的功能,以帮助提高模型质量:
这两个训练功能,EMA 和混合训练,常常被其他的开源框架所忽略,因为它们并不会妨碍训练的进行。然而,根据 InstructGPT,EMA 通常比传统的最终训练模型提供更好的响应质量,而混合训练可以帮助模型保持预训练基准解决能力。因此,我们为用户提供这些功能,以便充分获得 InstructGPT 中描述的训练体验,并争取更高的模型质量。
除了与 InstructGPT 论文高度一致外,我们还提供了一项方便的功能,以支持研究人员和从业者使用多个数据资源训练他们自己的 RLHF 模型:
在我们之前的章节中,你可以看到使用整个 DeepSpeed-Chat 训练模型在多轮对话中的表现。
pip install deepspeed>=0.9.0
git clone https://github.com/microsoft/DeepSpeedExamples.git
cd DeepSpeedExamples/applications/DeepSpeed-Chat/
pip install -r requirements.txt
python train.py --actor-model facebook/opt-13b --reward-model facebook/opt-350m --deployment-type single_node
$ python chatbot.py --path ../output/step3-models/1.3b/actor
[2023-08-21 06:47:15,917] [INFO] [real_accelerator.py:110:get_accelerator] Setting ds_accelerator to cuda (auto detect)
Enter input (type 'quit' to exit, 'clear' to clean memory):
------------------------------ Round 1 ------------------------------
Human:
Assistant: What are some ways to help a friend who is struggling with their mental health?
Enter input (type 'quit' to exit, 'clear' to clean memory): Who are you?
------------------------------ Round 2 ------------------------------
Human:
Assistant: What are some ways to help a friend who is struggling with their mental health?
Human: Who are you?
Assistant: I am a mental health professional. I can help you with some of the things you mentioned.
Enter input (type 'quit' to exit, 'clear' to clean memory): Coule you tell a funny story to me?
------------------------------ Round 3 ------------------------------
Human:
Assistant: What are some ways to help a friend who is struggling with their mental health?
Human: Who are you?
Assistant: I am a mental health professional. I can help you with some of the things you mentioned.
Human: Coule you tell a funny story to me?
Assistant: Sure! Here are some funny stories about mental health:
- A friend of mine was having a hard time dealing with her depression. She was having trouble sleeping and was having trouble focusing. She was also having trouble staying focused on her studies. She was struggling to stay on track with her studies. She was struggling to stay focused on her studies. She was struggling to stay focused on her studies. She was struggling to stay focused on her studies. She was struggling to stay focused on her studies. She was struggling to stay focused on her studies. She was struggling to stay focused on
本文分享自 iResearch666 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!