LLaMA-Factory 入门(一):Mac 环境下大模型微调与部署的入门实操
环境准备与依赖安装
确保 Mac 系统版本为 macOS 10.13 或更高,并安装 Python 3.8 以上版本。通过 Homebrew 安装基础依赖:
brew install cmake git wget
创建虚拟环境并激活:
python -m venv llama-env
source llama-env/bin/activate
安装 PyTorch 和 LLaMA-Factory 依赖库:
pip install torch numpy transformers datasets peft
模型下载与配置
从 Hugging Face 下载 LLaMA 基础模型权重(需提前申请访问权限)。以下示例以 llama-2-7b 为例:
huggingface-cli download meta-llama/Llama-2-7b --local-dir ./models/llama-2-7b
配置 LLaMA-Factory 项目:
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
数据准备与微调
准备自定义训练数据(JSON 格式),示例数据文件 data/train.json:
{"text": "Explain the concept of reinforcement learning."}
{"text": "Describe the steps in neural network training."}
运行微调脚本(单机单卡):
python src/train_bash.py \
--model_name_or_path ./models/llama-2-7b \
--data_path ./data/train.json \
--output_dir ./output \
--fp16
模型部署与推理
使用 Gradio 快速启动 Web 交互界面:
python src/web_demo.py \
--model_name_or_path ./output \
--port 7860
通过浏览器访问 http://localhost:7860 输入文本测试模型效果。
性能优化与调试
启用 4-bit 量化减少显存占用(需安装 bitsandbytes):
pip install bitsandbytes
python src/train_bash.py \
--model_name_or_path ./models/llama-2-7b \
--data_path ./data/train.json \
--output_dir ./output \
--bits 4
监控 GPU 使用情况:
nvidia-smi -l 1
常见问题解决
若遇到 CUDA out of memory 错误,尝试减小 per_device_train_batch_size 参数。对于 Mac M1/M2 芯片,需启用 mps 后端:
import torch
device = torch.device("mps")
日志文件默认保存在 ./output/training.log 中,可排查训练过程中的异常。
进阶扩展
尝试 LoRA 微调方法以提升效率:
python src/train_bash.py \
--model_name_or_path ./models/llama-2-7b \
--data_path ./data/train.json \
--output_dir ./output \
--use_lora
导出适配器权重供后续使用:
python src/export_model.py \
--model_name_or_path ./output \
--output_dir ./adapters

被折叠的 条评论
为什么被折叠?



