LLaMA-Factory 入门(一):Mac 用终端运行微调后大模型的部署流程
·
LLaMA-Factory 入门(一):Mac 终端运行微调后大模型的部署流程
环境准备
确保系统已安装 Python 3.8 或更高版本,建议通过 Homebrew 管理依赖。安装完成后,验证 Python 和 pip 版本:
python3 --version
pip3 --version
创建虚拟环境以避免依赖冲突:
python3 -m venv llama-env
source llama-env/bin/activate
安装依赖
克隆 LLaMA-Factory 官方仓库并安装核心库:
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -r requirements.txt
若需 GPU 加速(仅限 M1/M2 芯片),额外安装 PyTorch 的 Metal 版本:
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu
模型微调配置
准备数据集(JSON 格式)并保存至 data 目录。编辑 train_args.yaml 文件,指定基础模型路径、数据集路径及训练参数:
model_name_or_path: "path/to/base_model"
dataset_path: "data/custom_dataset.json"
output_dir: "output"
per_device_train_batch_size: 4
启动微调任务
通过终端运行训练脚本:
python src/train_bash.py --config train_args.yaml
训练日志和模型权重将保存在 output 目录中。
部署微调后模型
使用 FastAPI 快速搭建本地推理服务。创建 app.py 文件并添加以下代码:
from fastapi import FastAPI
from transformers import AutoModelForCausalLM, AutoTokenizer
app = FastAPI()
model_path = "output/final_model"
tokenizer = AutoTokenizer.from_pretrained(model_path)
model = AutoModelForCausalLM.from_pretrained(model_path)
@app.post("/predict")
def predict(text: str):
inputs = tokenizer(text, return_tensors="pt")
outputs = model.generate(**inputs, max_length=50)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
启动服务:
uvicorn app:app --reload
通过 http://127.0.0.1:8000/docs 访问 API 文档并测试接口。
常见问题排查
若遇到内存不足错误,尝试减小 per_device_train_batch_size 或启用梯度检查点:
gradient_checkpointing: true
CUDA 相关错误需确认 PyTorch 版本与 Mac 硬件兼容性。可通过重装 PyTorch 解决:
pip uninstall torch -y
pip install --pre torch --extra-index-url https://download.pytorch.org/whl/nightly/cpu
更多推荐
所有评论(0)