Untitled

https://zhuanlan.zhihu.com/p/695287607

LLaMA Factory

1. 项目背景

开源大模型如LLaMA,Qwen,Baichuan等主要都是使用通用数据进行训练而来,其对于不同下游的使用场景和垂直领域的效果有待进一步提升,衍生出了微调训练相关的需求,包含预训练(pt),指令微调(sft),基于人工反馈的对齐(rlhf)等全链路。但大模型训练对于显存和算力的要求较高,同时也需要下游开发者对大模型本身的技术有一定了解,具有一定的门槛。

LLaMA-Factory指南的目标是整合主流的各种高效训练微调技术,适配市场主流开源模型,形成一个功能丰富,适配性好的训练框架。项目提供了多个高层次抽象的调用接口,包含多阶段训练,推理测试,benchmark评测,API Server等,使开发者开箱即用。同时借鉴 Stable Diffsion WebUI相关,本项目提供了基于gradio的网页版工作台,方便初学者可以迅速上手操作,开发出自己的第一个模型。

2. 本教程目标

以Meta-Llama-3-8B-Instruct 模型 和 Linux + RTX 4090 24GB环境,LoRA+sft训练阶段为例子,帮助开发者迅速浏览和实践本项目会涉及到的常见若干个功能,包括

  1. 原始模型直接推理
  2. 自定义数据集构建
  3. 基于LoRA的sft指令微调
  4. 动态合并LoRA的推理
  5. 批量预测和训练效果评估
  6. LoRA模型合并导出
  7. 一站式webui board的使用
  8. API Server的启动与调用
  9. 大模型主流评测 benchmark

本教程大部分内容都可以通过LLaMA-Factory下的 README.md, data/README.mdexamples文件夹下的示例脚本得到,遇到问题请先阅读项目原始相关资料。

3. 前置准备

训练顺利运行需要包含4个必备条件