LLaMA-Factory:LLM 的统一高效微调示例
一.概述
本教程旨在帮助用户快速上手使用 LLaMA-Factory 进行大型模型微调。
LLaMA-Factory 是一个高效、灵活且易于扩展的工具包,用于微调和部署大型语言模型。它支持在多种 GPU 环境下进行 LLM(大型语言模型)预训练和微调,兼容多种优化技术,并与 DeepSpeed 集成,充分发挥 ZeRO 的优势,提升训练效率和资源利用率。
本教程示例:
示例1:LLaMA-2-7B 微调
示例2:LLaMA-3 微调
通过本教程,用户将:
- 掌握如何使用 LLaMA-Factory 启动训练任务
- 学会使用相关命令对模型进行微调
- 掌握如何利用 LLaMA-Factory 部署训练好的语言模型
本教程适合那些希望快速上手微调 LLaMA(LLaMA-2、LLaMA-3)以及其他大型语言模型的开发者和研究人员。
二.快速开始
2.1 环境准备
本教程运行硬件环境:
类别 | 详细信息 |
---|---|
CPU | 16 vCPU Intel(R) Xeon(R) Platinum 8352V CPU @ 2.10GHz |
GPU | RTX 4090 |
GPU 显存 | 24GB |
CUDA 版本 | 12.1 |
操作系统 | Linux 5.15.0-94-generic |
Python 版本 | 3.12.3 |
PyTorch 版本 | 2.3.0 |
创建一个 conda 环境 llama ,并激活环境
conda create --name llama python=3.10 -y
conda activate llama
2.2 下载资源包
从资源站下载资源包:
mkdir run-llama
cd run-llama
# 从aheadai资源站下载资源包
wget https://mirrors.aheadai.cn/scripts/LLaMA-Factory.zip
解压资源包
unzip LLaMA-Factory.zip
cd LLaMA-Factory
确保解压后文件结构如下:
./LLaMA_example/
├── assets/
├── data/
├── docker/
├── evaluation/
├── examples/
├── Model/
├── scripts/
├── src/
├── test/
├── CITATION.cff
├── LICENSE
├── MANIFEST.in
├── pyproject
├── README
├── README_zh
├── setup.py
└── requirements.txt
2.3 部署LLaMA框架
pip install -e ".[torch,metrics]"
三.开始训练
3.1 训练示例
3.11 Llama3-8B-Instruct 模型的 LoRA 微调、推理和合并
llamafactory-cli train examples/train_lora/llama3_lora_sft.yaml
llamafactory-cli chat examples/inference/llama3_lora_sft.yaml
llamafactory-cli export examples/merge_lora/llama3_lora_sft.yaml
对于此模型在使用时需要确认,即运行训练任务时可能会尝试访问一个受限制的 Hugging Face 仓库,但由于未登录或没有访问权限,导致操作失败。
此类模型权重加载或者数据集使用,需要提供 huggingface 令牌:
pip install --upgrade huggingface_hub
huggingface-cli login
3.12 llava-hf/llava-1.5-7b-hf 微调
llamafactory-cli train examples/train_lora/qwen2vl_lora_sft.yaml
3.13 llava-hf/llava-1.5-7b-hf 微调
llamafactory-cli train examples/train_lora/llava1_5_lora_sft.yaml
3.2 数据准备
可以在 HuggingFace / ModelScope / Modelers Hub 上使用数据集,也可以在本地磁盘中加载数据集,此情况需要在微调模型时修改对应配置文件中的路径。
自定义HuggingFace缓存路径:
可以通过设置 Hugging Face 的相关环境变量来修改默认的缓存路径,从而改变模型权重、分词器、数据集等的存储位置:
export HF_HOME=/your/custom/path
export TRANSFORMERS_CACHE=/your/custom/path/transformers
注意:
- 这里
/your/custom/path
是您希望的新缓存路径。 - 如果只设置
HF_HOME
,所有缓存(包括数据集等)会默认存储到该路径。 - 如果设置了
TRANSFORMERS_CACHE
,则模型和分词器会优先存储到该路径。
3.21 从 ModelScope Hub 下载
如果在从 Hugging Face 下载模型和数据集时遇到问题,可以使用 ModelScope:
export USE_MODELSCOPE_HUB=1 # `set USE_MODELSCOPE_HUB=1` for Windows
3.22 从 Modelers Hub 下载
以使用 Modelers Hub 下载模型和数据集:
export USE_OPENMIND_HUB=1 # `set USE_OPENMIND_HUB=1` for Windows
本文系作者 @
admin
原创发布在 文档中心 | AheadAI ,未经许可,禁止转载。
有帮助?
评论