本地训练 AI 模型完整实操指南
【摘要】 极简命令行实操指南(LLaMA Factory + LoRA 微调,N卡)说明:本流程基于 Linux / WSL2,使用 LoRA + 4bit 量化微调,适合 7B 模型;所有文件本地存放,无网络链接。前置:已装好 Python、Pytorch、CUDA,已经安装 LLaMA Factory 1. 准备虚拟环境(推荐)# 创建虚拟环境python -m venv train-env# ...
极简命令行实操指南(LLaMA Factory + LoRA 微调,N卡)
说明:本流程基于 Linux / WSL2,使用 LoRA + 4bit 量化微调,适合 7B 模型;所有文件本地存放,无网络链接。
前置:已装好 Python、Pytorch、CUDA,已经安装 LLaMA Factory
1. 准备虚拟环境(推荐)
# 创建虚拟环境
python -m venv train-env
# 激活环境
source train-env/bin/activate
# 安装依赖(进入llama-factory目录后执行)
pip install -e .[torch,metrics]
2. 文件目录参考
llama-factory/
├── data/
│ └── my_data.jsonl # 你的训练数据集
├── models/
│ └── qwen2-7b-instruct/ # 本地存放基础模型权重
└── output/
└── lora_adapter/ # LoRA适配器输出目录
my_data.jsonl 样例
{"instruction":"简单介绍本地微调","input":"","output":"本地微调是在本地电脑,基于开源模型,用私有数据做LoRA训练,数据不上云。"}
3. 启动LoRA微调命令(直接复制)
llamafactory-cli train \
--model_name_or_path ./models/qwen2-7b-instruct \
--dataset my_data \
--dataset_dir ./data \
--finetuning_type lora \
--quantization_bit 4 \
--lora_rank 8 \
--lora_alpha 16 \
--learning_rate 5e-5 \
--num_train_epochs 3 \
--per_device_train_batch_size 4 \
--gradient_accumulation_steps 2 \
--output_dir ./output/lora_adapter \
--logging_steps 10 \
--save_steps 50 \
--val_size 0.1 \
--fp16
参数简要说明
finetuning_type lora:开启LoRA微调(显存友好)quantization_bit 4:4bit量化,大幅降低显存占用lora_rank 8:LoRA秩,越小越省显存,表达能力偏弱num_train_epochs 3:训练轮次,不要太大,防止过拟合val_size 0.1:拿10%数据做验证集
4. 训练完成,测试推理命令(加载LoRA)
llamafactory-cli chat \
--model_name_or_path ./models/qwen2-7b-instruct \
--adapter_name_or_path ./output/lora_adapter \
--quantization_bit 4
执行后直接在终端对话,测试微调效果。
5. 合并LoRA到基础模型(可选,生成独立模型)
llamafactory-cli export \
--model_name_or_path ./models/qwen2-7b-instruct \
--adapter_name_or_path ./output/lora_adapter \
--export_dir ./output/merged-model \
--export_size 2 \
--export_legacy_format False
6. 常用排查命令
# 查看GPU显存、使用状态
nvidia-smi
# 如果显存溢出,可降低 batch_size,或者改为per_device_train_batch_size 2
# 退出虚拟环境
deactivate
7. Mac M系列补充(不用CUDA,改用bf16)
把训练命令里 --fp16 替换成 --bf16,去掉 quantization_bit,M系列统一内存原生支持:
llamafactory-cli train \
--model_name_or_path ./models/qwen2-7b-instruct \
--dataset my_data \
--dataset_dir ./data \
--finetuning_type lora \
--lora_rank 8 \
--lora_alpha 16 \
--learning_rate 5e-5 \
--num_train_epochs 3 \
--per_device_train_batch_size 2 \
--gradient_accumulation_steps 2 \
--output_dir ./output/lora_adapter \
--logging_steps 10 \
--save_steps 50 \
--val_size 0.1 \
--bf16
⚠️ 重要提醒
- 数据集名称
my_data需要在 LLaMA Factory 的 data 配置文件里注册,否则识别不到 - 全程模型、数据都在本地,不会自动上传外网
- 不要设置过大 epoch,很容易过拟合
- 出现 OOM(显存不足)优先调小 batch、降低模型规格、使用4bit量化
要不要我把这份实操指南直接整理成可粘贴进博客的markdown版本?
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)