微软开源DeepSpeed Chat——一个端到端的RLHF的pipeline,可以用来训练类ChatGPT模型。

标签:#DeepSpeedChat##RLHF# 时间:2023/04/24 22:37:53 作者:小木

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模型。它具有以下特点:

  1. 便捷的训练和推断类ChatGPT模型:InstructGPT的训练可以使用DeepSpeed-RLHF系统的单个脚本在预训练的Huggingface模型上执行。这使得用户可以生成他们的类ChatGPT模型。在模型训练完成后,可以使用推断API测试对话交互。

  2. DeepSpeed-RLHF Pipeline:DeepSpeed-RLHFPipeline在很大程度上复制了InstructGPT论文中的训练Pipeline。团队确保了三个步骤a) 监督微调(SFT)、b) 奖励模型微调和c) 带有人类反馈的强化学习之间的完全准确的对应关系。此外,他们还提供了数据抽象和混合的工具,使得可以使用来自各种来源的数据进行训练。

  3. DeepSpeed-RLHF系统:混合引擎(DeepSpeed-HE)是一种强大而复杂的系统,结合了DeepSpeed的训练和推断能力。混合引擎可以轻松地在RLHF的推断和训练模式之间切换,利用DeepSpeed-Inference的优化(如张量并行和用于生成的高性能Transformer内核),以及RLHF的许多内存优化策略(如ZeRO和LoRA)。为了进一步优化RLHF的各个阶段之间的内存管理和数据传输,DeepSpeed-HE还了解整个RLHF管道。DeepSpeed-RLHF系统在规模上实现了前所未有的效率,使得AI社区可以快速、便宜、方便地访问复杂的RLHF模型训练。

  4. 效率和可承受性:由于DeepSpeed-HE比传统系统快15倍以上,RLHF训练可以快速、廉价地完成。

  5. 极佳的可扩展性:DeepSpeed-HE在多节点多GPU系统上的强大可扩展性使其可以容纳数百亿参数的模型。

  6. 扩大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技术推送
Back to Top