StackLLaMA:用 RLHF 训练 LLaMA 的手把手教程

训练 StackLLaMA 的主要目标是提供一个教程和指南,介绍如何使用 RLHF 来训练模型,而不是主要关注模型的性能表现。

原文链接
“StackLLaMA”: 用 RLHF 训练 LLaMA 的手把手教程

内容总结:
本文介绍了使用人类反馈的强化学习 (RLHF) 训练 LLaMA 模型的方法,以回答 Stack Exchange 上的问题。具体包括有监督的微调、奖励 / 偏好建模和 RLHF。作者结合这些方法发布了 StackLLaMA 模型(已在 🤗 Hub 上开源),并在 Hugging Face TRL 库中集成了整个训练流程。为了训练大型模型,作者采用了参数高效的微调 (PEFT) 技术和数据并行化策略。同时,作者还介绍了使用 StackExchange 数据集 和 LoRA 技术进行低秩优化的方法。最后,作者提供了一些值得关注的演示 demo

重点关注:

  1. 采用 LLAMA 7B 作为 PTM
  2. 使用 StackExchange 数据集 作为人类的反馈数据集
  3. 采用高效训练策略 LoRA + 多卡并行训练加速
  4. SFT:使用特定领域下 StackExchange 10M 指令数据集,面向语言任务的预训练模型微调
  5. 训练奖励模型模拟人类对文本的打分,做法是预测结果的排序,即对每个 prompt (输入文本) 对应的两个结果$(y_k, y_j)$,模型预测人类标注的比分哪个更高
  6. RLHF:有了微调的语言模型和奖励模型,开始执行 RL 循环
    • 生成对 prompt (输入文本) 的反馈。
    • 用奖励模型来对反馈评分。
    • 对评分,进行一轮策略优化的强化学习。

image.png

  1. 在有监督训练 (SFT),奖励模型训练 (RM) 和 RLHF 的阶段都用下面的方式构造模版
    1
    2
    Question: <Query>
    Answer: <Response>

StackLLaMA:用 RLHF 训练 LLaMA 的手把手教程
http://example.com/2023/05/09/2023-05-09-StackLLaMA:用 RLHF 训练 LLaMA 的手把手教程/
作者
Ning Shixian
发布于
2023年5月9日
许可协议