LLaMA-Factory 入门(一):Mac 环境搭建大模型微调部署的基础全步骤

LLaMA-Factory 入门:Mac 环境搭建与模型微调部署

硬件与系统要求

Mac 设备需配备 Apple Silicon 芯片(M1/M2 系列)以支持 GPU 加速,运行 macOS 12.3 或更高版本。建议内存不低于 16GB,存储空间预留 50GB 以上用于模型权重与数据集。

环境配置

通过 Homebrew 安装 Python 3.9+ 和 PyTorch 的 Metal 版本(支持 Apple GPU 加速):

bash 复制代码
brew install python
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu

安装 LLaMA-Factory 依赖库:

bash 复制代码
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -r requirements.txt

模型准备

下载 LLaMA 或 Alpaca 模型权重(需申请 Meta 官方许可),将模型文件置于 ./models 目录。支持 Hugging Face 格式的模型,例如:

bash 复制代码
huggingface-cli download meta-llama/Llama-2-7b --local-dir ./models/llama-2-7b

数据预处理

自定义数据集需转换为 JSON 格式,包含 instructioninputoutput 字段。示例结构:

json 复制代码
[
  {"instruction": "Translate to French", "input": "Hello", "output": "Bonjour"},
  ...
]

保存为 data/train.json,使用内置脚本预处理:

bash 复制代码
python src/preprocess_data.py --data_path data/train.json

微调训练

运行以下命令启动 LoRA 微调(适配 Apple GPU):

bash 复制代码
python src/train_bash.py \
  --model_name_or_path ./models/llama-2-7b \
  --data_path ./data/train.json \
  --output_dir ./output \
  --lora_target_modules q_proj,v_proj \
  --use_mps_device

关键参数说明:

  • lora_target_modules:指定适配的注意力层
  • use_mps_device:启用 Metal Performance Shaders 加速

模型部署

将微调后的模型转换为 GGUF 格式便于本地推理:

bash 复制代码
python src/export_gguf.py --model_dir ./output --output_file ./output/llama-ft.gguf

使用 llama.cpp 进行本地交互:

bash 复制代码
./main -m ./output/llama-ft.gguf -p "Translate: Hello"

性能优化技巧

  • 启用 --bf16 参数减少显存占用
  • 调整 --micro_batch_size 控制内存消耗
  • 使用 vmmap 工具监控进程内存分布

常见问题排查

  • CUDA 错误:确认未错误安装 CUDA 版 PyTorch
  • 内存不足:尝试减小批次大小或使用梯度检查点
  • Metal 支持问题:更新 macOS 至最新版本

通过上述步骤可在 Mac 环境下完成从环境配置到模型微调部署的全流程。建议首次运行时从 7B 参数的小模型开始验证环境兼容性,再逐步扩展至更大模型。

相关推荐
liguojun20251 天前
软硬一体智慧场馆系统推荐——助力场馆数字化高效升级
java·大数据·人工智能·物联网·1024程序员节
开开心心就好13 天前
吾爱大佬原创的文件时间修改工具
安全·智能手机·pdf·电脑·智能音箱·智能手表·1024程序员节
开开心心就好18 天前
近200个工具的电脑故障修复合集
安全·智能手机·pdf·电脑·consul·memcache·1024程序员节
数据皮皮侠AI20 天前
中国城市可再生能源数据集(2005-2021)|顶刊 Sci Data 11 种能源面板
大数据·人工智能·笔记·能源·1024程序员节
计算机毕业论文辅导22 天前
物联网实战:基于MQTT协议的智能家居数据传输系统设计与实现
1024程序员节
开开心心就好23 天前
支持批量处理的视频分割工具推荐
安全·智能手机·rust·pdf·电脑·1024程序员节·lavarel
liuyao_xianhui25 天前
Linux开发工具结尾 _make
linux·运维·服务器·数据结构·哈希算法·宽度优先·1024程序员节
学传打活1 个月前
【边打字.边学昆仑正义文化】_21_爱的结晶(1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
数据皮皮侠AI1 个月前
顶刊同款!中国地级市风灾风险与损失数据集(2000-2022)|灾害 / 环境 / 经济研究必备
大数据·人工智能·笔记·能源·1024程序员节
Fab1an1 个月前
Busqueda——Hack The Box 靶机
linux·服务器·学习·1024程序员节