LLaMA-Factory 快速入门(一):Mac 下大模型微调后部署的环境适配步骤

环境准备与基础配置

确保系统为 macOS 12 及以上版本,配备至少 16GB 内存。推荐使用 Python 3.9 或更高版本,通过 Homebrew 安装依赖工具:

brew install cmake protobuf rust

创建虚拟环境并激活:

python -m venv llama-env
source llama-env/bin/activate

安装 PyTorch 时选择与 Mac 芯片适配的版本:

pip install torch torchvision torchaudio

依赖库安装与模型下载

安装 LLaMA-Factory 核心库及扩展依赖:

pip install llama-factory transformers datasets peft

下载基础模型(如 LLaMA-2-7B)至本地目录:

huggingface-cli download meta-llama/Llama-2-7b --local-dir ./models/llama-2-7b

微调配置与执行

准备训练数据(JSON 格式),示例结构如下:

[
  {"instruction": "Translate to French", "input": "Hello", "output": "Bonjour"}
]

修改 LLaMA-Factory 提供的微调脚本 finetune.py,指定数据路径与模型参数:

from llama_factory import FineTuner
finetuner = FineTuner(
    model_path="./models/llama-2-7b",
    data_path="./data/train.json",
    output_dir="./output"
)
finetuner.train()

启动微调任务:

python finetune.py

本地部署与接口测试

使用 FastAPI 部署微调后的模型,创建 serve.py 文件:

from fastapi import FastAPI
from transformers import pipeline

app = FastAPI()
model = pipeline("text-generation", model="./output")

@app.post("/generate")
def generate(text: str):
    return model(text)

启动服务并测试 API:

uvicorn serve:app --reload
curl -X POST http://127.0.0.1:8000/generate -d '{"text":"Explain AI"}'

性能优化与调试

启用 Metal 后端加速(适用于 M1/M2 芯片):

import torch
torch.set_default_device("mps")

监控 GPU 使用情况:

sudo powermetrics --samplers smc -i 1000

调整批处理大小以减少内存占用:

finetuner.train(per_device_train_batch_size=2)

通过以上步骤,可在 Mac 环境下完成从微调到部署的完整流程。

更多推荐