Windows部署LLaMA-Factory微调大模型
1.安装Conda
建议安装在专门进行模型训练的盘,勾选环境变量配置便于直接使用系统自带终端操作
下载地址:https://www.anaconda.com/products/navigator
# 查看conda最新版本:https://github.com/conda/conda/releases
# 升级到最新版本,确保powershell7可以直接使用conda命令
conda install -n base -c defaults conda=25.3.1
# Conda创建llama_factory环境
conda create -n llama_factory python=3.12
# 进入创建的环境
conda activate llama_factory
pip安装慢可以更改镜像
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set global.trusted-host pypi.tuna.tsinghua.edu.cn
2.安装LLaMA-Factory
git clone https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e '.[torch,metrics]'
有需要可以查看github文档:https://github.com/hiyouga/LLaMA-Factory/blob/main/README_zh.md
3.安装CUDA torch
# 卸载当前PyTorch
pip uninstall torch torchvision torchaudio
# 当前cuda是12.9,官网只到12.8,不低于Torch需要的版本即可
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
若torch下载速度慢
# 可根据终端给出的地址,直接用下载器先下载whl
https://download.pytorch.org/whl/cu128/torch-2.7.0%2Bcu128-cp312-cp312-win_amd64.whl
# 安装whl
pip install torch-2.7.0+cu128-cp312-cp312-win_amd64.whl
# 再使用命令安装
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu128
验证
python
import torch
# 需要等待导入时间
torch.__version__
# 输出版本:'2.7.0+cu128'
torch.cuda.current_device()
# 输出:0
torch.cuda.get_device_name(0)
# 输出显卡信息:'NVIDIA GeForce RTX 4090'
4.下载模型
可以用modelscope或者hf-mirror,本文使用Qwen/Qwen3-8B模型文件进行微调
modelscope:https://www.modelscope.cn/models/Qwen/Qwen3-8B/files
hf-mirror:https://hf-mirror.com/Qwen/Qwen3-8B/tree/main
模型一般默认会下载到~/.cache/modelscope/hub默认路径,下载时可以增加指定路径
pip install modelscope
modelscope download --model 'Qwen/Qwen3-8B' --local_dir 'T:\LLM'
5.数据集制作
千问微调的数据格式
[
{
"from": "user",
"value": "介绍自己"
},
{
"from": "assistant",
"value": "我是千问"
},
{
"from": "user",
"value": "你好"
},
{
"from": "assistant",
"value": "你好!很高兴为您服务"
}
]
数据集的excel表可以做成以下形式
user | assistant
------------|-------------
介绍自己 | 我是千问
你好 | 你好!很高兴为您服务
excel转换成json的脚本
import pandas as pd
import json
# 读取 Excel 文件
file_path = 'your_file.xlsx' # 替换为你的 Excel 文件路径
df = pd.read_excel(file_path, engine='openpyxl')
# 初始化对话列表
dialogue_data = []
# 遍历每一行数据
for _, row in df.iterrows():
user_content = row['user']
assistant_content = row['assistant']
# 添加用户消息
dialogue_data.append({
"from": "user",
"value": user_content
})
# 添加助手回复
dialogue_data.append({
"from": "assistant",
"value": assistant_content
})
# 保存为 JSON 文件
output_path = 'output.json' # 输出文件路径
with open(output_path, 'w', encoding='utf-8') as f:
json.dump(dialogue_data, f, ensure_ascii=False, indent=2)
print(f"转换完成,JSON 文件已保存到 {output_path}")
6.微调
启动wedui界面,首次启动需要点时间,启动后可以修改左上角第一个菜单,变更为中文
llamafactory-cli webui
自定义数据
llamafactory默认的数据集路径在 ~/LLaMA-Factory/data
如果不使用默认数据集路径,需要在自定义数据集文件夹下新增一个dataset_info.json文件,可以直接在data文件夹拷一份出来放进去修改
{
"train": {
"file_name": "train.json",
"columns": {
"prompt": "from",
"response": "value"
}
},
"valid": {
"file_name": "valid.json",
"columns": {
"prompt": "from",
"response": "value"
}
}
}
具体参数调整建议根据实际情况调整。
参考文章:
许可协议:
CC BY 4.0