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 参数的小模型开始验证环境兼容性,再逐步扩展至更大模型。

相关推荐
学传打活5 天前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
fangzhanpeng16813 天前
快速掌握C#语言基础知识点(1.基础数据类型)
开发语言·c#·1024程序员节
无己心15 天前
面向多平台 AI 搜索引擎的适配层架构设计
前端·人工智能·搜索引擎·ai·1024程序员节
u01030552721 天前
AI驱动的安卓UI自动生成功能实现
人工智能·1024程序员节
u01030552721 天前
长株潭智能体赋能腾讯元器链接共享
1024程序员节
云贝贝贝23 天前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节
u01030552723 天前
Java图像处理实战指南
人工智能·1024程序员节
u01030552723 天前
Java AWT鼠标事件全解析
人工智能·1024程序员节
u0103055271 个月前
Java实用类应用精讲
人工智能·1024程序员节
u0103055271 个月前
Java I/O核心操作实战
人工智能·1024程序员节