Mac 下 LLaMA-Factory 快速部署指南

在 Mac 环境下通过 LLaMA-Factory 实现大模型本地化部署与微调,需完成以下关键环节。本指南聚焦高效配置与问答功能实现,避开冗余步骤。


环境准备与依赖安装

确保系统已安装 Python 3.8+ 和 Homebrew。通过终端执行:

brew install cmake git-lfs
pip install torch torchvision torchaudio
git clone https://github.com/LLaMA-Factory/LLaMA-Factory.git
cd LLaMA-Factory
pip install -r requirements.txt

显存不足时可添加量化支持:

pip install bitsandbytes accelerate


模型下载与基础配置

从 Hugging Face 获取合规的基础模型(如 LLaMA-2-7B),存放至 ./models 目录。修改 train_args.json 配置文件:

{
  "model_name_or_path": "./models/llama-2-7b-hf",
  "data_path": "./data/local_qa.json",
  "output_dir": "./output",
  "per_device_train_batch_size": 2,
  "gradient_accumulation_steps": 4
}

创建问答数据集 local_qa.json,格式示例:

[
  {"instruction": "解释神经网络", "input": "", "output": "神经网络是由相互连接的节点层..."},
  {"instruction": "本地天气查询", "input": "北京", "output": "北京当前晴转多云..."}
]


微调与适配本地问答

启动 LoRA 微调(显存优化方案):

python src/train_bash.py \
  --stage sft \
  --do_train \
  --model_name_or_path ./models/llama-2-7b-hf \
  --dataset local_qa \
  --finetuning_type lora \
  --output_dir ./output

关键参数说明:

  • lora_rank=8 控制适配器复杂度
  • learning_rate=3e-5 平衡收敛速度与稳定性
  • max_samples=1000 限制训练样本数(小数据集场景)

本地服务部署

微调完成后启动 Gradio 交互界面:

python src/web_demo.py \
  --model_name_or_path ./models/llama-2-7b-hf \
  --adapter_name_or_path ./output \
  --template default

通过 localhost:7860 访问问答界面。如需后台运行:

nohup python src/api_demo.py --port 8000 > log.txt &


性能优化技巧

使用 4-bit 量化降低资源消耗:

model = AutoModelForCausalLM.from_pretrained(
  "./output",
  load_in_4bit=True,
  device_map="auto"
)

对于 M1/M2 芯片可启用 Metal 加速:

PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0 python src/web_demo.py


故障排查清单

  1. 显存不足:降低 per_device_train_batch_size 或启用 gradient_checkpointing
  2. 数据集加载失败:检查 JSON 文件格式与路径包含中文字符
  3. 端口冲突:修改 web_demo.pydemo.queue().launch(server_port=新端口)
  4. 回答质量低下:增加 max_target_length 或扩充训练数据多样性

通过系统活动监视器实时监控内存占用,建议保留至少 2GB 空闲内存维持稳定性。

更多推荐