本地训练 AI 模型完整实操指南

举报
Tony Ren 发表于 2026/11/10 23:36:11 2026/11/10
【摘要】 极简命令行实操指南(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

⚠️ 重要提醒

  1. 数据集名称 my_data 需要在 LLaMA Factory 的 data 配置文件里注册,否则识别不到
  2. 全程模型、数据都在本地,不会自动上传外网
  3. 不要设置过大 epoch,很容易过拟合
  4. 出现 OOM(显存不足)优先调小 batch、降低模型规格、使用4bit量化

要不要我把这份实操指南直接整理成可粘贴进博客的markdown版本?

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。