LLaMA-Factory 快速入门(一):Mac 下大模型微调的数据预处理与训练步骤

环境准备与工具安装

在Mac上运行LLaMA-Factory需要确保Python 3.8或更高版本已安装。推荐使用conda创建虚拟环境以避免依赖冲突:

conda create -n llama_factory python=3.10
conda activate llama_factory

通过pip安装核心库:

pip install torch transformers datasets accelerate sentencepiece

数据预处理

数据格式需转换为JSON或CSV,每行包含"text"字段。以下示例使用Python清洗数据:

import json
from datasets import load_dataset

raw_data = load_dataset("json", data_files="raw_data.json")
processed_data = raw_data.map(
    lambda x: {"text": x["content"].strip()[:2048]},  # 截断长文本
    remove_columns=["content"]
)
processed_data.save_to_disk("processed_data")

模型配置与训练

使用accelerate库启动分布式训练,配置文件train_config.yaml示例:

model_name: "decapoda-research/llama-7b-hf"
batch_size: 4
learning_rate: 2e-5
num_epochs: 3

运行训练命令:

accelerate launch --config_file train_config.yaml \
  train.py --dataset_path processed_data

性能优化技巧

启用梯度检查点减少显存占用:

model.gradient_checkpointing_enable()

混合精度训练可提升速度:

export ACCELERATE_MIXED_PRECISION="fp16"

结果验证

训练完成后生成测试样本验证效果:

from transformers import pipeline

generator = pipeline("text-generation", model="output_dir")
print(generator("Explain quantum physics in simple terms", max_length=256))

常见问题解决

遇到CUDA内存不足时,可减少batch_size或启用gradient_accumulation_steps。Mac M系列芯片需添加环境变量:

export PYTORCH_ENABLE_MPS_FALLBACK=1

通过上述步骤可在Mac上完成从数据准备到模型训练的全流程。后续可进一步探索LoRA等参数高效微调方法。

更多推荐