训练过程比ChatGPT快15倍的ChatLLaMA


ChatLLaMA -基于RLHF的LLaMA开源实现。声称训练过程比ChatGPT快15倍。它允许用户微调个性化的ChatLLaMA助手。

比GPT-3小,但性能更好

LLaMA为更快的推理和经济高效的chatGPT类助手打开了大门

ChatLLaMA内置了对DeepSpeed ZERO的支持,可加快微调过程

该库支持用于微调过程的自定义数据集,并且还内置支持使用生成您自己的数据集
接下来的步骤是添加具有微调权重的检查点、针对更快推理的优化以及对高效模型打包的支持

背景
Meta 最近发布了 LLaMA,这是一组包含 7 到 650 亿个参数的基础大型语言模型。LLaMA 正在引起很多兴奋,因为它比 GPT-3 更小,但性能更好。例如,LLaMA 的 13B 架构尽管小 10 倍,但性能优于 GPT-3。这个新的基础模型集合为更快的推理性能和类似 chatGPT 的实时助手打开了大门,同时具有成本效益并在单个 GPU 上运行。

然而,LLaMA 并未通过人类反馈强化学习 (RLHF) 训练过程针对教学任务进行微调。
ChatLLaMA可以做到:

  • 一个完整的开源实现,使您能够基于预训练的 LLaMA 模型构建 ChatGPT 样式的服务。
  • 与原始的 ChatGPT 相比,利用 LLaMA 架构的较小尺寸,训练过程和单 GPU 推理更快、成本更低。
  • ChatLLaMA 内置了对 DeepSpeed ZERO 的支持,以加速微调过程。
  • 该库还支持所有 LLaMA 模型架构(7B、13B、33B、65B),因此您可以根据自己对训练时间和推理性能的偏好对模型进行微调。

ChatLLaMA 允许您使用 RLHF 以类似于 ChatGPT 的方式轻松训练基于 LLaMA 的架构。例如,下面是在 ChatLLaMA 7B 的情况下开始训练的代码。

from chatllama.rlhf.trainer import RLTrainer
from chatllama.rlhf.config import Config

path = "path_to_config_file.yaml"
config = Config(path=path)
trainer = RLTrainer(config.trainer)
trainer.distillate()
trainer.train()
trainer.training_stats.plot()


项目点击标题