LLaMA - Factory是一个用于轻松高效微调大语言模型的项目,具有多种功能和特点,支持众多模型和训练方法,提供了丰富的数据集和便捷的使用方式。 1. 项目概述 - 目标:提供统一高效的方式对100多种大语言模型进行微调。 - 功能特点 - 支持多种模型,如LLaMA、ChatGLM、Qwen等系列。 - 集成多种训练方法,包括预训练、监督微调、奖励建模等。 - 具备可扩展资源,支持16位全量微调、冻结微调、LoRA及多种量化方式。 - 采用先进算法,如GaLore、BAdam、Adam - mini等。 - 包含实用技巧,如FlashAttention - 2、Unsloth等。 - 提供多种实验监控方式,如LlamaBoard、TensorBoard等。 - 支持更快的推理,提供OpenAI - style API、Gradio UI和CLI。 2. 基准测试 - 与ChatGLM的P - Tuning相比,LLaMA Factory的LoRA tuning在训练速度和Rouge分数上表现更优,4位量化技术的QLoRA进一步提高了GPU内存效率。 3. 更新日志 - 定期更新,支持新模型(如Skywork - o1)和数据集(如OpenO1),不断优化训练方法(如支持新算法、优化现有算法等)。 4. 支持模型 - 涵盖众多模型,包括Baichuan 2、BLOOM、ChatGLM3、Llama、Llama 2、Llama 3、Qwen、Qwen2 - VL、Yi等,不同模型有对应的模板,需注意训练和推理时使用相同模板,也可自定义模板。 5. 支持训练方法 - 预训练、监督微调、奖励建模、PPO训练、DPO训练、KTO训练、ORPO训练、SimPO训练等方法均支持全量微调、冻结微调、LoRA和QLoRA。 6. 提供数据集 - 预训练数据集包括Wiki Demo、RefinedWeb、Wikipedia等多种英文和中文数据集。 - 监督微调数据集有Identity、Stanford Alpaca、Alpaca GPT4等众多不同来源和类型的数据集。 - 偏好数据集如DPO mixed、UltraFeedback等,部分数据集使用前需登录Hugging Face账号。 7. 安装要求 - 必选依赖:python 3.8及以上(推荐3.11)、torch 1.13.1及以上(推荐2.4.0)、transformers 4.41.2及以上(推荐4.43.4)等。 - 可选依赖:CUDA 11.6及以上(推荐12.2)、deepspeed、bitsandbytes、vllm、flash - attn等,不同硬件平台有额外安装要求,如Windows用户启用QLoRA和FlashAttention - 2需安装特定版本库,Ascend NPU用户需安装额外依赖并设置环境变量。 8. 使用步骤 - 安装:克隆项目后使用pip安装,可解决包冲突,不同硬件平台安装方式略有不同。 - 数据准备:可使用HuggingFace/ModelScope/Modelers hub上的数据集或本地数据集,需更新配置文件。 - 快速开始:通过命令行工具进行LoRA微调、推理和合并等操作,也可使用LLaMA Board GUI进行微调,还可构建Docker镜像运行,支持多种硬件平台,可部署OpenAI - style API和vLLM,可从ModelScope Hub或Modelers Hub下载模型和数据集,支持使用Weights & Biases记录实验结果。 9. 相关项目:有许多项目使用了LLaMA Factory,涵盖自然语言处理、机器学习、人工智能安全等多个领域,如ESRL、Open, Closed, or Small Language Models for Text Classification?、UbiPhysio等。 10. 许可证与引用 - 项目使用Apache - 2.0许可证,使用模型权重需遵循相应模型许可证。 - 若使用该项目,可按指定格式引用相关论文。
LLaMA - Factory-轻松高效微调大语言模型的项目
评论
36 views