大模型微调详细步骤整理

1.前置准备

1.1 确认硬件要求

Qwen 是一个大型语言模型,因此对硬件有较高的要求:
CPU:提议使用高性能的多核处理器。
GPU:推荐使用 NVIDIA GPU(支持 CUDA 和 cuDNN),至少需要 24GB 显存(如 A100 或 V100)。
内存:至少 32GB RAM,提议 64GB 或更高。
存储:足够的磁盘空间(模型文件可能占用数十 GB)。

1.2 检查操作系统

确保你的 Linux 系统是最新的,并且支持 Docker 或 Python 环境。以下是常见的 Linux 发行版:

Ubuntu 22.04

2.安装必要的依赖

2.1 更新系统

在开始之前,更新你的系统包:

sudo apt update && sudo apt upgrade -y  

2.2 安装 Conda

LlamaFactory 一般需要 Python 环境。安装 conda虚拟环境

sh Miniconda3-latest-Linux-x86_64.sh
echo 'export PATH="/root/miniconda3/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

2.3 安装 Git

Git 用于克隆 LlamaFactory 的代码仓库:

sudo apt install git -y

2.4 安装 NVIDIA 驱动和 CUDA(如果使用 GPU)

如果你计划使用 GPU 加速,请安装 NVIDIA 驱动和 CUDA 工具包。

sudo apt install nvidia-driver-525  
# 根据你的显卡型号选择合适的驱动版本
#安装 CUDA 和 cuDNN
#参考 NVIDIA 官方文档 下载并安装 CUDA 和 cuDNN
nvidia-smi

3.克隆 LlamaFactory 代码库

3.1 克隆代码

从 GitHub 克隆 LlamaFactory 的代码仓库:

git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e .[metrics] # 安装依赖

4. 配置 Python 环境

4.1 创建虚拟环境

为了避免依赖冲突,提议使用 Python 虚拟环境:

conda create -n train python=3.10.16
conda activate train

4.2 安装依赖

根据项目文件安装依赖:

cd LLaMA-Factory
pip install -e .[metrics] # 安装依赖

5. 下载 Qwen 模型权重

Qwen 是阿里云开发的大语言模型,你需要获取其预训练权重。

5.1 获取 Qwen 权重

下载模型权重后,将其解压到指定目录。

例如:pip install modelscope

from modelscope import snapshot_download
model_dir = snapshot_download('Qwen/Qwen3-0.6B')

6 数据准备

6.1 数据集格式

  • 支持 JSON/CSV 格式,需包含 inputoutput 字段(对话数据需标注 rolecontent
[{"instruction":"say hello","input": "hello", "output": "how are you"}]

6.2 注册数据集

将数据集文件(如fintech.json)放入LLaMA-Factory/data/,并在dataset_info.json中注册:

# 末尾增加
,"my_dataset": {
"file_name": "test_data.json",
"formatting": "alpaca"
}

6.3 模型微调:关键参数设置

  • 模型路径:指向下载的Qwen3权重(如 /data/models/Qwen/Qwen3-0.6B)。
  • 微调方法:推荐 LoRA(资源有限时)或 全参数微调(多卡可用)45。
  • 训练参数
  • 学习率:1e-55e-51。
  • 批处理大小:根据显存调整(如 batch_size=2gradient_accumulation_steps=8)。
  • LoRA参数:rank=8alpha=16dropout=0.05
  • 量化(QLoRA):0.6B模型需启用 quantization_bit=4

6.4 命令行微调示例

llamafactory-cli train  --model_name_or_path /data/models/Qwen/Qwen3-0.6B --dataset my_dataset  --finetuning_type lora --quantization_bit 4 --output_dir saves/Qwen3-14B-lora

6.5 合并LoRA适配器

llamafactory-cli export  --model_name_or_path /data/.cache/modelscope/hub/models/Qwen/Qwen3-0.6B  --adapter_name_or_path saves/Qwen3-0.6B-lora --export_dir /data/models/Qwen3-0.6B-merged

6.6 通过API或python提问:

from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("/data/models/Qwen3-06B-merged")
tokenizer = AutoTokenizer.from_pretrained(model)
response = model.generate("国际经济与贸易专业的就业前景如何?")
print(response)

以上就是微调模型的详细步骤,需要的同学请参考

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
设计艺客的头像 - 鹿快
评论 共2条

请登录后发表评论