llama factory
LLaMA-Factory是一个統一的框架,集成了一套先进的高效訓练方法。它允許用户透過内置的Web UI靈活定制100多个LLMs的微调,而無需编寫代碼。
标签:ai工具集2llama factory llama factory官网 llama factory微调 llama factory推理 llama factory教程 llama factory訓练 llama factory部署 llama_factoryllama factory官网,部署,微调教程,推理,訓练,單机多卡
简介
Efficient fine-tuning對于將大型语言模型(LLMs)调整到下遊任務中至關重要。然而要在不同模型上實现这些方法需要付出相当大的努力。LLaMA-Factory是一个統一的框架,集成了一套先进的高效訓练方法。它允許用户透過内置的Web UI靈活定制100多个LLMs的微调,而無需编寫代碼。LlamaFactory 是一个封装比較完善的LLM微调工具,它能够帮助用户快速地訓练和微调大多數LLM模型。LlamaFactory主要透過Trainer类来實现訓练流程,透過設置資料集、模型選型、訓练类型、微调超参、模型保存,以及訓练状態监控等信息,来開启訓练。
llama factory官网: https://github.com/hiyouga/LLaMA-Factory
論文地址: https://arxiv.org/abs/2403.13372


LlamaFactory基于PEFT和TRL进行二次封装,从而可以快速開始SFT和RLHF微调。同时,引入GaLore和Unsloth等方案,能降低訓练顯存占用。
主要功能和特色
LLaMA-Factory 是一个国内北航開源的低代碼大模型訓练框架,專為大型语言模型(LLMs)的微调而設计。其主要功能特点包括:
- 高效且低成本:能够高效且低成本地支持對100多个模型进行微调,简化了模型微调的过程。
- 易于訪問和使用:提供了友好的用户界面,用户無需编寫代碼即可轻松定制和微调LLMs。
- 丰富的資料集選项:支持多个資料集選项,用户可以選择自帶的資料集或自己生成資料集进行微调。
- 多样化的算法支持:集成了業界最广泛使用的微调方法和優化技術,如LoRA、GaLore、DoRA等。
- 實时监控和評估:支持集成TensorBoard、VanDB和MLflow等监控工具,便于實时监控訓练过程和評估模型性能。
- 极速推理:提供了基于vLLM的OpenAI風格API、浏览器界面和命令行接口,實现快速推理。
部署安装教程
LLaMA-Factory 的安装相對简單,以下是一般的安装步驟(以conda環境為例):
- 創建Python環境:
使用conda創建一个新的Python環境,并安装必要的依賴库,如PyTorch等。 - 克隆LLaMA-Factory專案:
透過Git克隆LLaMA-Factory的源代碼到本地。git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git - 安装依賴:
进入專案目錄,安装必要的Python依賴库。cd LLaMA-Factory pip install -e ".[torch,metrics]" - 启动服務:
在專案目錄中運行python src/train_web.py启动服務,然后在浏览器中訪問相应的端口(默认可能是7860)以訪問訓练界面。

支持的算法
LLaMA-Factory 支持多种先进的微调算法和模型,包括但不限于:
- 多种模型:LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Yi、Gemma、Baichuan、ChatGLM、Phi 等等。
- 集成方法:(增量)预訓练、(多模態)指令监督微调、奖勵模型訓练、PPO 訓练、DPO 訓练、KTO 訓练、ORPO 訓练等等。
- 多种精度:16 比特全参數微调、冻結微调、LoRA 微调和基于 AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ 的 2/3/4/5/6/8 比特 QLoRA 微调。
- 先进算法:GaLore、BAdam、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA+、LoftQ、PiSSA 和 Agent 微调。
- 實用技巧:FlashAttention-2、Unsloth、RoPE scaling、NEFTune 和 rsLoRA。
- 實验监控:LlamaBoard、TensorBoard、Wandb、MLflow 等等。
- 极速推理:基于 vLLM 的 OpenAI 風格 API、浏览器界面和命令行接口。
四、性能指标
与 ChatGLM 官方的 P-Tuning 微调相比,LLaMA Factory 的 LoRA 微调提供了 3.7 倍的加速比,同时在广告文案生成任務上取得了更高的 Rouge 分數。結合 4 比特量化技術,LLaMA Factory 的 QLoRA 微调进一步降低了 GPU 顯存消耗。

GPU现存消耗:

五、微调例子
以下是一个使用LLaMA-Factory對Yuan2.0模型进行LoRA微调的例子:
- 准備資料集:
准備客製化的資料集,可以是JSON格式,包含指令、输入和输出等信息。 - 注册資料集:
在LLaMA-Factory的資料集管理文件中注册客製化的資料集。 - 启动Web UI服務:
運行python src/train_web.py启动Web UI服務,并在浏览器中打開相应的地址。 - 配置微调参數:
在Web界面上配置模型路徑、微调方法(選择LoRA)、資料集等参數。 -
開始微调:
点擊“開始”按鈕開始微调过程,可以在界面中查看訓练进度和損失函數等信息。 -
評估模型:
微调完成后,使用LLaMA-Factory提供的評估工具對模型进行評估,检查模型性能是否有所提升。
透過以上步驟,用户可以利用LLaMA-Factory轻松實现LLMs的微调,提升模型在特定任務上的性能。
更多微调
- https://github.com/hiyouga/LLaMA-Factory/blob/main/examples/README_zh.md
1.2 特性
- • 各种模型: LLaMA, LLaVA, Mistral, Mixtral-MoE, Qwen, Yi, Gemma, Baichuan, ChatGLM, Phi, etc.
- • 集成訓练方法: (Continuous) pre-training, (multimodal) supervised fine-tuning, reward modeling, PPO, DPO and ORPO.
- • Scalable resources: 32-bit full-tuning, 16-bit freeze-tuning, 16-bit LoRA and 2/4/8-bit QLoRA via AQLM/AWQ/GPTQ/LLM.int8.
- • Advanced algorithms: GaLore, BAdam, DoRA, LongLoRA, LLaMA Pro, Mixture-of-Depths, LoRA+, LoftQ and Agent tuning.
- • 實用tricks: FlashAttention-2, Unsloth, RoPE scaling, NEFTune and rsLoRA.
- • 實验监控:LlamaBoard, TensorBoard, Wandb, MLflow, etc.
- • 推理集成: OpenAI-style API, Gradio UI and CLI with vLLM worker.
LlamaFactory支持單机單卡,同时整合了accelerate和deepseed的單机多卡、多机多卡分布式訓练。
支持的模型
模型名 模型大小 Template
Baichuan2[1] 7B/13B baichuan2
BLOOM[2] 560M/1.1B/1.7B/3B/7.1B/176B –
BLOOMZ[3] 560M/1.1B/1.7B/3B/7.1B/176B –
ChatGLM3[4] 6B chatglm3
Command-R[5] 35B/104B cohere
DeepSeek (MoE)[6] 7B/16B/67B/236B deepseek
Falcon[7] 7B/11B/40B/180B falcon
Gemma/CodeGemma[8] 2B/7B gemma
GLM4[9] 9B glm4
InternLM2[10] 7B/20B intern2
LLaMA[11] 7B/13B/33B/65B –
LLaMA-2[12] 7B/13B/70B llama2
LLaMA-3[13] 8B/70B llama3
LLaVA-1.5[14] 7B/13B vicuna
Mistral/Mixtral[15] 7B/8x7B/8x22B mistral
OLMo[16] 1B/7B –
PaliGemma[17] 3B gemma
Phi-1.5/2[18] 1.3B/2.7B –
Phi-3[19] 4B/7B/14B phi
Qwen[20] 1.8B/7B/14B/72B qwen
Qwen1.5 (Code/MoE)[21] 0.5B/1.8B/4B/7B/14B/32B/72B/110B qwen
Qwen2 (MoE)[22] 0.5B/1.5B/7B/57B/72B qwen
StarCoder2[23] 3B/7B/15B –
XVERSE[24] 7B/13B/65B xverse
Yi (1/1.5)[25] 6B/9B/34B yi
Yi-VL[26] 6B/34B yi_vl
Yuan[27] 2B/51B/102B yuan
预訓练資料集
- • Wiki Demo (en)[28]
- • RefinedWeb (en)[29]
- • RedPajama V2 (en)[30]
- • Wikipedia (en)[31]
- • Wikipedia (zh)[32]
- • Pile (en)[33]
- • SkyPile (zh)[34]
- • FineWeb (en)[35]
- • FineWeb-Edu (en)[36]
- • The Stack (en)[37]
- • StarCoder (en)[38]
指令微调資料集
- • Identity (en&zh)[39]
- • Stanford Alpaca (en)[40]
- • Stanford Alpaca (zh)[41]
- • Alpaca GPT4 (en&zh)[42]
- • Glaive Function Calling V2 (en&zh)[43]
- • LIMA (en)[44]
- • Guanaco Dataset (multilingual)[45]
- • BELLE 2M (zh)[46]
- • BELLE 1M (zh)[47]
- • BELLE 0.5M (zh)[48]
- • BELLE Dialogue 0.4M (zh)[49]
- • BELLE School Math 0.25M (zh)[50]
- • BELLE Multiturn Chat 0.8M (zh)[51]
- • UltraChat (en)[52]
- • OpenPlatypus (en)[53]
- • CodeAlpaca 20k (en)[54]
- • Alpaca CoT (multilingual)[55]
- • OpenOrca (en)[56]
- • SlimOrca (en)[57]
- • MathInstruct (en)[58]
- • Firefly 1.1M (zh)[59]
- • Wiki QA (en)[60]
- • Web QA (zh)[61]
- • WebNovel (zh)[62]
- • Nectar (en)[63]
- • deepctrl (en&zh)[64]
- • Advertise Generating (zh)[65]
- • ShareGPT Hyperfiltered (en)[66]
- • ShareGPT4 (en&zh)[67]
- • UltraChat 200k (en)[68]
- • AgentInstruct (en)[69]
- • LMSYS Chat 1M (en)[70]
- • Evol Instruct V2 (en)[71]
- • Cosmopedia (en)[72]
- • STEM (zh)[73]
- • Ruozhiba (zh)[74]
- • LLaVA mixed (en&zh)[75]
- • Open Assistant (de)[76]
- • Dolly 15k (de)[77]
- • Alpaca GPT4 (de)[78]
- • OpenSchnabeltier (de)[79]
- • Evol Instruct (de)[80]
- • Dolphin (de)[81]
- • Booksum (de)[82]
- • Airoboros (de)[83]
- • Ultrachat (de)[84]
偏好資料集
- • DPO mixed (en&zh)[85]
- • UltraFeedback (en)[86]
- • Orca DPO Pairs (en)[87]
- • HH-RLHF (en)[88]
- • Nectar (en)[89]
- • Orca DPO (de)[90]
- • KTO mixed (en)[91]
数据评估
本站ai工具百寶箱提供的llama factory都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由ai工具百寶箱实际控制,在2025年11月25日 上午12:17收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,ai工具百寶箱不承担任何责任。

