首个开源的ChatGPT低成本复现流程来了!
预训练、奖励模型训练、强化学习训练,一次性打通。
最小demo训练流程仅需1.62GB显存,随便一张消费级显卡都能满足了。单卡模型容量最多提升10.3倍。
相比原生PyTorch,单机训练速度最高可提升7.73倍,单卡推理速度提升1.42倍,仅需一行代码即可调用。
对于微调任务,可最多提升单卡的微调模型容量3.7倍,同时保持高速运行,同样仅需一行代码。
要知道,ChatGPT火是真的火,复现也是真的难。
毕竟ChatGPT是不开源的,市面上至今没有开源预训练权重、完全开源的低成本训练流程,而且千亿级别大模型的训练本身就是个难题。
但ChatGPT军备赛已经愈演愈烈,为了抓住趋势,如谷歌等都在打造对标竞品。快速复现ChatGPT是应趋势所需。
开源加速方案Colossal-AI正是为此而来。
并且在提供开源完整复现流程的同时,把成本降了下来!
开源地址:https://github.com/hpcaitech/ColossalAI'>https://github.com/hpcaitech/ColossalAI
降显存开销是关键
ChatGPT的效果好,主要是由于在训练过程中引入了人类反馈强化学习(RLHF),但这也直接导致ChatGPT的复现训练难度飙升。
其训练流程主要分为三个阶段:
1、监督微调:从Prompt库中采样,收集其人工回答,利用这些数据来微调预训练大语言模型;
2、奖励模型:从Prompt库中采样,使用大语言模型生成多个回答,人工对这些回答进行排序后,训练奖励模型(RM),来拟合人类的价值判断。
3、基于第一阶段的监督微调模型和第二阶段的奖励模型,利用强化学习算法对大语言模型进一步训练。
△RLHF的三个阶段
对于ChatGPT训练而言,第三阶段是核心部分。
OpenAI采用了强化学习中近端策略优化算法(PPO),借此引入奖励信号,使得语言模型生成内容更加符合人类评判标准。
但强化学习的引入,也意味着更多模型调用。
例如,使用基于Actor-Critic(AC)结构的PPO算法,需要在训练时进行Actor、Critic两个模型的前向推理和反向传播,以及监督微调模型、奖励模型的多次前向推理。
在ChatGPT基础的InstructGPT论文中,Actor和监督微调模型都使用了1750亿参数的GPT-3系列模型,Critic和奖励模型则使用了60亿参数的GPT-3系列模型。