主流微调框架介绍
Transformer
- 生态地位:Hugging Face 核心库,NLP 领域最广泛使用的基础框架
- 技术特点:
- 支持全参数微调
- 兼容 PEFT 库扩展
- 优势:
- 生态系统最完善,社区活跃
- 与 PyTorch/TensorFlow 无缝集成
- 模型和教程资源丰富
- 适用场景:中小规模模型实验、研究和开发,微调入门首选
PEFT
- 技术定位:参数高效微调标准库
- 核心方法:LoRA, Prefix-tuning, AdaLoRA, Prompt Tuning
- 突出优势:
- 计算和存储成本极低
- 与 Transformers 完美集成
- 操作简单易用
- 局限性:仅支持单卡微调,不适合分布式训练
- 适用场景:资源受限环境(如单卡),需高效适配多任务的场景
LLaMA-Factory
- 产品特色:低代码/无代码快速微调框架
- 技术集成:多种微调方法(含 LoRA 等),集成优化技术
- 用户体验:提供友好 Web UI 界面,支持拖拽式参数配置,无需深厚代码功底
- 典型应用:快速原型验证,非技术人员微调
ModelScope
- 平台定位:阿里"模型即服务"(MaaS) 平台
- 技术特点:多模态模型支持,训练 - 评估 - 部署全流程
- 特色优势:中文场景优化,企业级生产环境支持
- 适用场景:需要多模态模型和完整流水线的企业用户
MS-SWIFT
- 规模支持:超大规模模型微调
- 核心技术:LoRA/QLoRA, 分布式训练,量化技术
- 模型覆盖:支持 500+LLM, 200+ 多模态模型
- 适用场景:需要微调超大规模模型或追求极致性能的生产部署
Unsloth
- 技术突破:动态量化微调(2024 年新技术)
- 核心优化:LoRA/QLoRA 底层重构,训练速度提升 2 倍,显存占用大幅降低
- 显著特点:量化微调几乎无损精度,兼容 Hugging Face 生态
- 当前局限:仅支持单卡微调
- 适用场景:计算资源严格受限,追求训练效率极限,20B 参数以下模型
小结
- 框架选择指南:
- 入门实验:Transformers+PEFT 组合
- 快速实现:LLaMA-Factory
- 企业多模态:ModelScope/MS-SWIFT
- 资源受限:Unsloth
- 课程选择:本课程以 LLaMA-Factory 作为主要教学框架
LLaMA-Factory 项目介绍
- 项目地址:https://github.com/hiyouga/LLaMA-Factory
- 项目热度:目前已有 57.2k stars,287 watching 和 7k forks,从 2023 年开始人气持续快速增长
支持的模型
- 覆盖范围:支持几乎所有主流大语言模型,包括 Baichuan 2, BLOOM/BLOOMZ, DeepSeek 系列,Gemma 系列,GLM 系列,GPT 系列,最新支持的 GPT-OSS 等
- 模板支持:每个模型都有对应的对话模板 (chat template)
安装要求
- 核心依赖:
- Python: 3.9(最低)/3.10(推荐)
- PyTorch: 2.0.0(最低)/2.6.0(推荐)
- Transformers: 4.49.0(最低)/4.50.0(推荐)
- 可选组件:
- CUDA: 11.6(最低)/12.2(推荐)
- Flash-attn: 2.5.6(最低)/2.7.2(推荐)
- 环境适配:部分功能需要特定架构的显卡支持,如 V100 显卡不支持某些功能
硬件要求
- 全精度训练:32 位 7B 模型需要 120GB 显存,16 位 (bf16) 7B 模型需要 60GB 显存
- 高效微调方法:LoRA/Freeze 7B 模型仅需 16GB 显存,QLoRA 8-bit 7B 模型需 10GB 显存,QLoRA 4-bit 7B 模型仅需 6GB 显存
安装步骤
- 创建虚拟环境建议本地使用 conda 虚拟环境
conda create -n llamafactory python=3.10 - 克隆项目
git clone --depth 1 https://github.com/hiyouga/LlamaFactory.git cd LlamaFactory - 拓展模块安装
- flashAttention 库 (加速)
pip install flash-attn --no-build-isolation - bitsandbytes 库 (量化库)
pip install bitsandbytes - deepspeed 库 (做分布式微调)
pip install deepspeed==0.12.3 - accelerate 库 (加速)
pip install accelerate
- flashAttention 库 (加速)
- 安装主程序
pip install -e . pip install -r requirements/metrics.txt
项目文件结构
/data文件夹:存放数据集的文件夹,可以用开源数据集,也可以自己写数据集/examples文件夹:提供了训练 (deepspeed,lora,qlora,fsdp)、模型合并、推理等示例代码,可以直接使用/scripts文件夹:存放微调、训练、模型合并、评估等脚本的文件夹/docker文件夹:各类显卡的 docker 部署/evaluation文件夹:评估模型性能数据集,脚本
启动 WebUI
在终端输入以下命令启动:
GRADIO_SERVER_PORT=6006 llamafactory-cli webui
打开浏览器访问对应地址即可进入。密码输入的时候是不显示的,直接输入完即可。
预训练模型准备
模型选择与下载准备
- 目标模型:本次微调使用的是通义千问 3-4B-Base 模型
- 模型特点:是 Qwen 系列最新一代大型语言模型,提供密集型和专家混合 (MoE) 两种架构,预训练使用了 119 种语言的 36 万亿个标记,包含编码、STEM、推理等丰富的高质量数据
下载方法
- 从官方仓库或本地路径获取模型权重
- 确保模型目录结构符合 LLaMA-Factory 要求
- 在配置文件中使用正确的模型路径

