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

相关推荐
CoderYanger1 天前
B.双指针——3194. 最小元素和最大元素的最小平均值
java·开发语言·数据结构·算法·leetcode·职场和发展·1024程序员节
自信150413057591 天前
初学者小白复盘22之——结构体
c语言·数据结构·1024程序员节
_Power_Y2 天前
黑马点评逻辑梳理+面试题
数据库·redis·学习·1024程序员节
开开心心_Every2 天前
Excel图片提取工具,批量导出无限制
学习·pdf·华为云·.net·excel·harmonyos·1024程序员节
爱喝水的鱼丶3 天前
SAP-ABAP:SAP概述:数据处理的系统、应用与产品
运维·学习·sap·abap·1024程序员节
CoderJia程序员甲4 天前
GitHub 热榜项目 - 日榜(2025-11-13)
ai·开源·github·1024程序员节·ai教程
小坏讲微服务5 天前
MaxWell中基本使用原理 完整使用 (第一章)
大数据·数据库·hadoop·sqoop·1024程序员节·maxwell
liu****6 天前
18.HTTP协议(一)
linux·网络·网络协议·http·udp·1024程序员节
洛_尘6 天前
JAVA EE初阶 6: 网络编程套接字
网络·1024程序员节
2301_800256116 天前
关系数据库小测练习笔记(1)
1024程序员节