LLaMA-Factory 入门(一):Mac 中调整参数实现大模型微调的实操流程

环境准备与依赖安装

确保系统已安装 Python 3.8 或更高版本,推荐使用 Conda 管理虚拟环境。通过终端运行以下命令创建并激活环境:

conda create -n llama_factory python=3.8
conda activate llama_factory

安装 PyTorch 和基础依赖,需选择与 Mac 兼容的版本(如 MPS 支持):

pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu

克隆 LLaMA-Factory 仓库并安装剩余依赖:

git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -r requirements.txt

数据准备与格式配置

准备微调数据,需转换为 JSON 格式。示例结构如下:

[
  {"instruction": "解释深度学习", "input": "", "output": "深度学习是机器学习的分支..."},
  {"instruction": "Python 的优缺点", "input": "", "output": "优点包括语法简洁..."}
]

保存为 data/train.json,并在 dataset_info.json 中注册数据集:

{
  "custom_dataset": {
    "file_name": "train.json",
    "file_sha1": "自动生成的哈希值"
  }
}

参数配置与微调启动

修改 train_args.yaml 文件,关键参数如下:

model_name_or_path: "decapoda-research/llama-7b-hf"
dataset: "custom_dataset"
batch_size: 4
learning_rate: 2e-5
num_train_epochs: 3
device_map: "auto"  # 自动选择 MPS(Apple Silicon)或 CPU

启动微调命令:

python src/train_bash.py --config train_args.yaml

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

gradient_checkpointing: true
fp16: true

监控与结果验证

训练过程会输出损失曲线和检查点。通过 tensorboard 可视化日志:

tensorboard --logdir runs/

验证模型效果可使用交互式测试:

python src/cli_demo.py --model_name_or_path path_to_checkpoint

常见问题与调优

遇到 CUDA out of memory 时,降低 batch_size 或启用 gradient_accumulation_steps。若速度过慢,尝试调整 dataloader_num_workers 为 CPU 核心数。对于 Apple Silicon 芯片,确保 PyTorch 版本支持 MPS 后端。

通过上述步骤,可在 Mac 环境中高效完成大模型微调任务。后续可进一步探索 LoRA 或量化技术以优化资源占用。

更多推荐