LLaMA-Factory 是一个由零隙智能(SeamLessAI)开源的低代码大模型训练框架,它集成了业界最广泛使用的微调方法和优化技术,并支持众多开源模型的微调和二次训练。
一、功能特点
- 支持多种开源模型:LLaMA-Factory支持包括Yuan2.0、LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Yi、Gemma、Baichuan、ChatGLM、Phi等多种开源大语言模型。
- 高效微调技术:框架集成了多种高效的微调技术,如LoRA、QLoRA等,这些技术可以在不改变预训练模型原始权重参数的情况下,通过引入小的可训练矩阵来实现模型的微调,从而有效缓解内存和计算资源的限制。
- 可视化训练与推理平台:LLaMA-Factory为开发者提供了可视化训练、推理平台,通过一键配置模型训练,实现零代码微调LLM。这使得非专业开发者也能轻松上手,进行模型的定制开发。
- 多种训练模式:支持增量预训练、有监督微调、基于人类反馈的强化学习(RLHF)、直接偏好优化(DPO)等多种训练模式,满足不同场景下的需求。
- 先进算法与实用技巧:集成了GaLore、BAdam、DoRA、LongLoRA、LLaMA Pro等先进算法,以及FlashAttention-2、Unsloth、RoPE scaling等实用技巧,提升训练效率和模型性能。
- 实验监控与评估:提供LlamaBoard、TensorBoard、Wandb、MLflow等多种实验监控工具,帮助开发者实时监控训练过程,评估模型性能。
二、使用流程
- 环境准备:
- 克隆LLaMA-Factory的GitHub仓库。
- 创建虚拟环境,安装必要的依赖库。
- 根据需要安装额外的依赖项,如torch、metrics、deepspeed等。
- 数据准备:
- 准备用于微调的数据集,并按照LLaMA-Factory要求的格式进行组织。
- 数据集可以包括输入、输出对,以及可选的用户指令、系统提示、历史对话等信息。
- 模型配置与训练:
- 在LLaMA-Factory的Web UI或命令行界面中配置模型参数、训练参数等。
- 选择合适的微调方法和优化技术,启动训练过程。
- 监控训练过程,根据需要调整参数或停止训练。
- 模型评估与推理:
- 使用测试集对训练好的模型进行评估,评估指标包括loss、bleu等。
- 根据评估结果选择最优的模型进行推理或部署。
三、应用实例
LLaMA-Factory已经成功应用于多个实际场景中,如天文大模型StarWhisper、中文法律领域大模型DISC-LawLLM、中文医疗大模型Sumsimiao等。这些应用实例证明了LLaMA-Factory在定制开发领域大模型方面的强大能力和实用性。
综上所述,LLaMA-Factory是一个功能强大、易于使用的低代码大模型训练框架,它为开发者提供了丰富的微调方法和优化技术,以及可视化训练、推理平台,助力开发者轻松实现领域大模型的定制开发。