【模型手术室】第四篇:全流程实战 —— 使用 LLaMA-Factory 开启你的第一个微调任务

专栏进度:04 / 10 (微调实战专题)

很多初学者卡在环境配置和复杂的 torch.train 逻辑上。LLaMA-Factory 的核心优势在于它集成了几乎所有主流国产模型(DeepSeek, Qwen, Yi)和海外模型(Llama 3, Mistral),并且原生支持 Gradio 可视化面板,让你在网页上点点鼠标就能"炼丹"。

一、 环境搭建:打造你的"炼丹炉"

为了保证训练不因版本冲突而崩溃,建议使用 Conda 进行物理隔离。

Bash

  1. 克隆项目

git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git

cd LLaMA-Factory

  1. 安装核心依赖 (针对 CUDA 12.1 环境)

pip install -e .[metrics,bitsandbytes,qwen]

  1. 验证是否安装成功

llamafactory-cli version

二、 准备食材:注册你的"行业黑话"数据集

LLaMA-Factory 有一套自己的数据集管理逻辑。你需要把上一篇生成的 security_expert_data.jsonl 放入 data/ 目录,并在 data/dataset_info.json 中注册它。

注册示例:

JSON

"my_security_data": {

"file_name": "security_expert_data.jsonl",

"columns": {

"prompt": "instruction",

"query": "input",

"response": "output"

}

}

三、 点火炼丹:WebUI 模式与脚本模式

  1. 初学者推荐:WebUI 模式
    在终端执行 llamafactory-cli webui。
    你会看到一个极其直观的界面。你需要设置:

模型名称:选择 DeepSeek-V3 或 Qwen2.5-7B。

微调方法:选择 lora。

数据集:勾选你刚刚注册的 my_security_data。

学习率:建议 5e-5。

计算精度:显存够选 bf16,不够选 fp16 或 int4。

  1. 高阶推荐:命令行模式 (CLI)
    一旦参数调优确定,建议使用脚本运行,更稳定且方便记录。

Bash

llamafactory-cli train

--stage sft

--do_train

--model_name_or_path /path/to/your/model

--dataset my_security_data

--template qwen

--finetuning_type lora

--output_dir ./saves/security_agent_v1

--per_device_train_batch_size 4

--gradient_accumulation_steps 4

--lr_scheduler_type cosine

--logging_steps 10

--save_steps 100

--learning_rate 5e-5

--num_train_epochs 3.0

--plot_loss

--fp16

四、 关键指标:如何看懂"炼丹炉"里的 Loss 曲线

在训练过程中,你会看到一个不断下降的 Loss(损失值) 曲线。

理想曲线:平稳下降,最后在某个数值(如 0.5 - 1.2 之间)开始横向震荡。

警报曲线:Loss 突然降到 0(过拟合,模型只会背书)或者 Loss 突然飙升(梯度爆炸,模型疯了)。

对策:如果 Loss 不降,调大 learning_rate;如果 Loss 波动太大,调小 learning_rate 并增大 batch_size。

五、 避坑指南:显存溢出的"救命稻草"

如果你运行报错 OutOfMemoryError:

开启量化:使用 --quantization_bit 4。

降低长度:将 --cutoff_len 从 1024 降到 512。

梯度检查点:确保开启了 --gradient_checkpointing。

相关推荐
飞Link1 分钟前
AI 原生开发已至:从代码补全到自主仓库重构,Coding Agent 如何重塑程序员的终极形态?
人工智能·重构
老纪的技术唠嗑局9 分钟前
深度解析 LLM Wiki / Obsidian-Wiki / GBrain:Agent 时代知识的“自组织”与“自进化”
大数据·数据库·人工智能·算法
志栋智能17 分钟前
告别报告堆砌:超自动化巡检的智能分析与洞察
运维·服务器·网络·人工智能·自动化
测试_AI_一辰1 小时前
AI 产品输出格式测试实战:为什么模型返回的 JSON 前端解析总报错
人工智能·ai·自动化·状态模式·ai编程
IT_陈寒1 小时前
SpringBoot自动配置坑了我,原来要这样绕过去
前端·人工智能·后端
东方小月2 小时前
Claude Code 完整上手指南:MCP、Skills、第三方模型配置一次搞定
前端·人工智能·后端
AIFQuant2 小时前
2026 全球股票/外汇/贵金属行情 API 深度对比:延迟、覆盖、价格与稳定性
python·websocket·ai·金融·mcp
EnCi Zheng2 小时前
01d-前馈神经网络代码实现 [特殊字符]
人工智能·深度学习·神经网络
阿里云大数据AI技术2 小时前
登顶WorldArena榜单!阿里云PAI助力中科院自动化所、中科第五纪打造具身世界模型FlowWAM
人工智能
hixiong1232 小时前
C# TensorRT部署RF-DETR目标检测&分割模型
人工智能·目标检测·计算机视觉·ai·c#