LLaMA-Factory 快速入门(一):Mac 新手能看懂的大模型微调部署全流程

环境准备与工具安装

确保 Mac 系统已升级至 macOS 10.13 或更高版本,配备至少 16GB 内存。通过 Homebrew 安装 Python 3.9+ 和 Git:

brew install python git

克隆 LLaMA-Factory 仓库至本地:

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

创建并激活虚拟环境:

python -m venv venv
source venv/bin/activate

安装依赖库:

pip install -r requirements.txt

模型下载与配置

从 Hugging Face 下载基础模型(如 LLaMA-7B),需提前申请权限并登录:

huggingface-cli login

将模型权重放置在 ./models 目录下,结构如下:

models/
└── llama-7b/
    ├── config.json
    ├── pytorch_model.bin
    └── tokenizer.model

修改 train_config.yaml 文件,指定模型路径与训练参数:

model_name_or_path: "./models/llama-7b"
batch_size: 4
learning_rate: 2e-5

数据准备与预处理

准备 JSON 格式的训练数据,每条样本包含 instructionoutput 字段:

{
  "instruction": "解释牛顿第一定律",
  "output": "物体在无外力作用下保持静止或匀速直线运动"
}

运行预处理脚本生成二进制训练文件:

python scripts/preprocess_data.py --input data/train.json --output data/train.bin

启动微调训练

使用单机单卡运行训练脚本(需至少 24GB GPU 显存):

torchrun --nproc_per_node 1 src/train.py

若显存不足,可启用梯度检查点与混合精度训练:

gradient_checkpointing: true
fp16: true

模型测试与部署

训练完成后,模型权重保存在 ./output 目录。启动交互式测试:

python src/inference.py --model_name_or_path ./output/checkpoint-final

将模型转换为 ONNX 格式以优化部署:

python scripts/convert_to_onnx.py --input_dir ./output/checkpoint-final

常见问题解决
  • 显存不足:减少 batch_size 或使用 LoRA 轻量级微调。
  • 训练中断:通过 --resume_from_checkpoint 参数恢复训练。
  • 性能瓶颈:启用 flash_attention 加速计算(需 CUDA 11.6+)。
进阶优化
  • 使用 deepspeed 配置多卡训练:
deepspeed_config: "configs/ds_config.json"

  • 集成 WandB 监控训练过程:
pip install wandb
wandb login

通过上述流程,可在 Mac 上完成从环境配置到模型部署的全流程操作。实际应用中需根据硬件条件调整参数,并参考官方文档获取最新功能更新。

更多推荐