微软开源DeepSpeed Chat——一个端到端的RLHF的pipeline,可以用来训练类ChatGPT模型。
RLHF全称Reinforcement Learning from Human Feedback,是随着ChatGPT火爆之后而被大家所关注的技术。昨天,微软开源了业界第一个RLHF的pipeline框架,可以用来训练类似ChatGPT的模型。

RLHF是什么?为什么RLHF很重要
强化学习(RL)是一种机器学习类型,允许代理通过试错学习如何在环境中行为。代理被赋予一个目标和奖励函数,并且必须学习采取最大化其预期奖励的行动。
RL在学习复杂任务方面非常有效,但也可能非常具有挑战性。其中一个挑战是很难设计一个准确反映代理目标的奖励函数。如果奖励函数不准确,代理可能会学会以不理想的方式行为。
从人类反馈中进行强化学习(RLHF)是一种可以解决这个问题的技术。在RLHF中,代理被赋予一个初始非常简单的奖励函数。然后代理与环境进行交互,并从人类接收反馈。人类反馈被用于更新奖励函数,这进而有助于代理学会更理想的行为方式。
已经证明,RLHF可以有效地学习各种任务,包括玩游戏、控制机器人和编写文本。这是一种有前途的技术,可以用于训练代理在复杂和具有挑战性的环境中的行为方式。
为什么RLHF的开源实践很少
尽管AI开源社区正在进行多项努力,以使类ChatGPT模型更易于访问(例如ChatLLaMa、Alpaca、Vicuna、Databricks-Dolly等)。但是仍然缺乏一种能够让AI社区轻松访问并训练强大的类ChatGPT模型的端到端RLHF管道。例如,使用现有系统训练一个仅有67亿参数的类ChatGPT模型通常需要昂贵的多GPU设置,超出了许多数据科学家的能力范围。即使拥有这样的计算资源,训练效率通常也不到这些机器能力的5%(稍后将说明)。最后,现有的解决方案仅仅无法支持便捷、快速和实惠地训练具有数百亿参数的最先进的类ChatGPT模型,即使拥有多GPU集群的访问权限。
这些限制源于InstructGPT使用的复杂RLHF训练管道在现有DL系统中得不到很好的支持,这些系统是为更传统的预训练和微调管道进行优化的。
微软开源的DeepSpeed-Chat框架介绍
为了使类ChatGPT模型更广泛可用和RLHF训练更易于访问,微软团队发布了DeepSpeed-Chat,提供了一个端到端的RLHF管道来训练类ChatGPT模型。它具有以下特点:
便捷的训练和推断类ChatGPT模型:InstructGPT的训练可以使用DeepSpeed-RLHF系统的单个脚本在预训练的Huggingface模型上执行。这使得用户可以生成他们的类ChatGPT模型。在模型训练完成后,可以使用推断API测试对话交互。
DeepSpeed-RLHF Pipeline:DeepSpeed-RLHFPipeline在很大程度上复制了InstructGPT论文中的训练Pipeline。团队确保了三个步骤a) 监督微调(SFT)、b) 奖励模型微调和c) 带有人类反馈的强化学习之间的完全准确的对应关系。此外,他们还提供了数据抽象和混合的工具,使得可以使用来自各种来源的数据进行训练。
DeepSpeed-RLHF系统:混合引擎(DeepSpeed-HE)是一种强大而复杂的系统,结合了DeepSpeed的训练和推断能力。混合引擎可以轻松地在RLHF的推断和训练模式之间切换,利用DeepSpeed-Inference的优化(如张量并行和用于生成的高性能Transformer内核),以及RLHF的许多内存优化策略(如ZeRO和LoRA)。为了进一步优化RLHF的各个阶段之间的内存管理和数据传输,DeepSpeed-HE还了解整个RLHF管道。DeepSpeed-RLHF系统在规模上实现了前所未有的效率,使得AI社区可以快速、便宜、方便地访问复杂的RLHF模型训练。
效率和可承受性:由于DeepSpeed-HE比传统系统快15倍以上,RLHF训练可以快速、廉价地完成。
极佳的可扩展性:DeepSpeed-HE在多节点多GPU系统上的强大可扩展性使其可以容纳数百亿参数的模型。
扩大RLHF教育的准入:DeepSpeed-HE使得没有访问多GPU系统的数据科学家不仅可以构建玩具RLHF模型,还可以构建庞大而强大的模型,可以在实际环境中部署,而仅需单个GPU进行训练。
DeepSpeed-Chat的效果
OPT是MetaAI开源的一个类似GPT的模型,微软使用这个模型做了测试。DeepSpeed-HE可以在Azure Cloud上分别以不到300美元和600美元的价格,在仅9小时内训练OPT-13B和18小时内训练OPT-30B。也就是说,130亿参数模型的训练成本只需要300美元,而300亿参数模型的训练成本也降到了600美元!下图是OPT系列模型的训练时间对比~~
GPUs | OPT-6.7B | OPT-13B | OPT-30B | OPT-66B |
---|---|---|---|---|
8x A100-40GB | 5.7 hours | 10.8 hours | \t 1.85 days | \t NA |
8x A100-80GB | 4.1 hours ($132) | \t9 hours ($290) | \t18 hours ($580) | \t 2.1 days ($1620) |
DeepSpeed-HE支持具有数百亿参数的模型,并且可以在多节点多GPU系统上实现出色的可扩展性。因此,即使是13B模型也可以在1.25小时内训练,而庞大的175B模型也可以在不到一天的时间内使用DeepSpeed-HE训练完成。
GPUs\t | OPT-13B \t | OPT-30B\t | OPT-66B\t | OPT-175B |
---|---|---|---|---|
64x A100-80G\t | 1.25 hours ($320)\t | 4 hours ($1024) | 7.5 hours ($1920)\t | 20 hours ($5120) |
仅使用单个GPU,DeepSpeed-HE就支持训练具有超过130亿参数的模型,使得没有访问多GPU系统的数据科学家不仅可以构建玩具RLHF模型,还可以构建庞大而强大的模型,可以在实际场景中使用。
\tV100 32G | \tA6000 48G | A100 40G | A100 80G | |
---|---|---|---|---|
Model Size | \tOPT-2.7B | \tOPT-6.7B | OPT-6.7B | OPT-13B |
欢迎大家关注DataLearner官方微信,接受最新的AI技术推送
