跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
PythonAI算法

使用 LLaMA-Factory 训练 LLM 大模型并用 Ollama 调用

综述由AI生成详细阐述了在 Windows 环境下利用 LLaMA-Factory 框架对 Qwen2.5-7B-Instruct 大模型进行微调的完整流程。内容涵盖从系统环境配置、CUDA 工具包安装、Python 虚拟环境搭建,到数据集准备、参数配置及训练执行。随后介绍了如何将微调后的 LoRA 权重转换为 GGUF 格式,并通过 Ollama 进行本地化部署与推理调用。文中提供了具体的命令行操作示例、配置文件修改指南以及常见问题排查方法,旨在帮助开发者快速掌握私有化大模型训练与部署的关键技术步骤。

暗影行者发布于 2025/2/6更新于 2026/5/610 浏览
使用 LLaMA-Factory 训练 LLM 大模型并用 Ollama 调用

环境搭建

系统环境要求

本教程基于 Windows 11 系统,硬件配置建议如下:

  • 显卡:Nvidia 显卡,显存至少 8GB,推荐 24GB 以上。
  • 内存:物理内存与虚拟内存之和大于 20GB。
  • 存储:建议将非系统盘(如 E 盘)作为工作目录,方便重装或移植环境。
设置自定义 Path 文件夹

创建 E:\mypath 文件夹,将其添加至用户环境变量 Path 中,便于后续管理全局工具。

CMake 安装
  1. 下载 CMake Windows x64 ZIP 版本。
  2. 解压至 E:\environment\cmake。
  3. 将 E:\environment\cmake\bin 路径添加至用户环境变量 Path 中。
C++ 编译环境

下载 Visual Studio Community 版:

  • 运行安装程序,选择"桌面 C++"板块内容安装。
  • 若中途取消,可在开始菜单的新增项目中找到该安装程序补装。
  • 仅需勾选 C++ 相关组件,其他可选项目可取消,但请保留自动勾选的系统 SDK 等核心组件。

Python 环境配置

Anaconda 安装

下载新版 Anaconda 安装程序,安装过程中务必勾选"添加到环境变量"选项。

使用 uv 管理 pip 包

将 uv 所有文件安装至 E:\uv 目录下。uv 是一个快速的 Python 包管理器,能显著提升依赖安装效率。

安装 Python 3.11

在终端执行以下命令:

uv python install 3.11
uv python list # 查看是否安装成功

Git 环境

安装 Git 客户端,确保命令行支持 git 指令。

Nvidia CUDA 工具包

安装 CUDA 12.1 版本:

  • 运行安装程序时,在安装选单界面仅勾选"CUDA 驱动"和"工具包"。
  • 注意:不要勾选额外的显卡驱动和 Nsignt 组件,避免冲突。
  • 安装完成后重启电脑。

验证安装信息:

nvidia-smi # 查看当前驱动最大支持的 CUDA 版本
nvcc -V    # 查看当前安装的 CUDA 运行时版本

部署训练框架

部署 LLaMA-Factory

拉取源码

在 E:\AI 文件夹下克隆 LLaMA-Factory 仓库。建议使用代理加速 GitHub 访问。

git config --global http.https://github.com.proxy socks5://127.0.0.1:1080 # 对 github 设置 socks5 代理
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
 LLaMA-Factory
uv venv -p 3.11
uv pip install -e 
cd
".[torch,metrics]"
安装 flash-attention 训练加速

在当前目录(LLaMA-Factory)下继续操作,安装对应版本的 flash-attn 以加速训练:

uv pip install https://github.com/bdashore3/flash-attention/releases/download/v2.6.3/flash_attn-2.6.3+cu123torch2.3.1cxx11abiFALSE-cp311-cp311-win_amd64.whl

如果下载速度慢,可在 URL 前加 https://ghproxy.cn/ 使用国内节点下载。

安装 hqq 用于量化
uv pip install hqq

提示:若提示 UTF8 相关报错,请参考下文开启 UTF-8 支持。

开启使用 UTF-8 提供全球语言支持
  1. 打开控制面板,进入"更改系统区域设置"。
  2. 勾选"Beta 版:使用 Unicode UTF-8 提供全球语言支持 (U)"。
  3. 重启电脑。
  4. 安装完后可将该项取消勾选,以避免影响其他软件兼容性。
安装与当前 CUDA 适配的 PyTorch

在当前目录(LLaMA-Factory)下操作。

全局代理加速情况:

uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

没有全局代理加速的情况: 先通过代理下载 .whl 文件,然后本地安装:

uv pip install .\torch-2.3.1+cu121-cp311-cp311-win_amd64.whl
uv pip install torchvision==0.18.1+cu121 torchaudio==2.3.1+cu121 -f https://download.pytorch.org/whl/torch_stable.html
配置之前保存的参数

修改 .\data\dataset_info.json 文件,在开头花括号后加入以下内容:

  "alpaca_dataset": {
    "file_name": "alpaca_dataset.json"
  },

然后将自定义数据集名称命名为 alpaca_dataset.json 放入 .\data 目录下。 将之前保存的 .yaml 参数配置文件放入 .\ ext_generation_inference 或 .\ rain 对应的配置目录(通常直接放在 .\ ext_generation_inference 下的 config 文件夹中,具体视版本而定,建议直接放入 .\ ext_generation_inference 根目录或根据 WebUI 提示的路径放置)。

添加环境变量快捷启动

在 E:\mypath 文件夹内新建 llamafactory-cli.bat 文件,文本编辑器打开输入以下内容并保存:

@echo off
cd /d E:\AI\LLaMA-Factory
.\.venv\Scripts\llamafactory-cli.exe %*

新开一个终端,输入以下指令开启 Web 界面:

llamafactory-cli webui

下载基础模型

使用带 -Chat 或 -Instruct 标签的模型作为基础模型。以 Qwen2.5-7B-Instruct 为例:

  • 到魔搭社区(ModelScope)或其他官方渠道下载模型。
  • 按说明下载模型文件到 E:\AI\models 中。
  • 注意:其中大文件下载的进度条可能不是实时显示,每隔一段进度才显示一次,并非卡住不动,请耐心等待。

模型微调

在 LLaMA-Factory 的 Web 界面中操作:

  1. 语言选择:选 zh。
  2. 配置路径:滑到最下面找到配置路径,下拉菜单选择之前保存的配置。
  3. 载入参数:点击载入训练参数按钮。
  4. 模型设置:滑到最上面,模型名称填写 Qwen2.5-7B-Instruct,填写本地模型路径:E:\AI\models\Qwen2.5-7B-Instruct。
  5. 高级设置:展开高级设置。
    • 量化等级设置 4。
    • 量化方法选 hqq。
    • 加速方式选 flashattn2。
  6. 数据集:可加载多个,点击预览数据集按钮可查看当前数据集数量。
    • 最大样本数即要训练用的最大样本数量。如果最大样本数小于当前数据集数量,则按最大样本数作为实际训练样本数,多出的样本不用于训练。
  7. 计算类型:选 fp16。
  8. 输出目录:按需选填。
  9. 开始训练:点击开始进行训练。
  10. 效果评估:训练结束后查看损失图判断训练效果,损失值越小且稳定即效果好。
  11. 退出服务:在终端按 Ctrl+C 退出 Web 服务。

微调后的模型使用

以 ollama 调用为例,实现本地化推理。

部署 Ollama

设置环境变量

设置用户环境变量:

OLLAMA_ORIGINS			*
OLLAMA_MODELS			E:\AI\ollama_models
下载并安装

下载 Ollama 安装包并安装,安装后重启电脑。

拉取基础模型
ollama pull qwen2.5:7b

微调模型格式转换

部署 llama.cpp

在 E:\AI 目录下:

git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
uv venv -p 3.11
uv pip install -r .\requirements\requirements-convert_lora_to_gguf.txt --index-strategy unsafe-best-match
模型检查点转换为 GGUF

在 E:\AI\llama.cpp 目录下:

.venv\Scripts\activate.ps1
# python ./convert_lora_to_gguf.py --base <basemodel> <loratrain>
python ./convert_lora_to_gguf.py --base "E:\AI\models\Qwen2.5-7B-Instruct" "E:\AI\LLaMA-Factory\saves\Qwen2.5-7B-Instruct\lora\train_xxx"

转换后的 gguf 文件会导出到 <loratrain> 的路径下。

部署微调模型

从 Ollama 创建新模型

Ollama 的 Modelfile 模板示例:

# set the base model
FROM qwen2.5:7b
 
# set custom parameter values
PARAMETER temperature 1
PARAMETER num_keep 24
PARAMETER stop <|start_header_id|>
PARAMETER stop <|end_header_id|>
PARAMETER stop <|eot_id|>
PARAMETER stop <|reserved_special_token| 
 
# set the model template
TEMPLATE """
{{ if .System }}<|start_header_id|>system<|end_header_id|>
{{ .System }}<|eot_id|>{{ end }}{{ if .Prompt }}<|start_header_id|>user<|end_header_id|>
{{ .Prompt }}<|eot_id|>{{ end }}<|start_header_id|>assistant<|end_header_id|>
{{ .Response }}<|eot_id|>
""" 
 
# set the system message
SYSTEM You are a helpful assistant customized for local deployment.
# set Chinese lora support
ADAPTER .\mymodel.gguf
  1. 将转换后的 gguf 文件剪切到 E:\models\mymodel 下,命名为 mymodel.gguf。
  2. 在该目录下创建 mymodel.modelfile,输入上述内容并保存。
  3. 在 Ollama 创建该模型:
ollama create mymodel -f E:\models\mymodel\mymodel.modelfile
  1. 模型创建成功后即可使用。

模型验证与调用

创建模型后,可以通过命令行或 API 进行验证:

命令行测试:

ollama run mymodel "你好,请介绍一下你自己。"

API 调用示例:

curl http://localhost:11434/api/generate -d '{
  "model": "mymodel",
  "prompt": "请用中文回答:什么是人工智能?",
  "stream": false
}'

常见问题排查

  1. 显存不足:如果训练过程中出现 OOM(Out Of Memory),请尝试减小 per_device_train_batch_size 或启用 gradient_accumulation_steps。
  2. CUDA 版本不匹配:确保安装的 PyTorch 版本与 nvcc -V 显示的 CUDA 版本一致,否则可能导致导入错误。
  3. GGUF 转换失败:检查 LoRA 权重路径是否正确,以及基础模型路径是否包含完整的 checkpoint 文件。
  4. Ollama 无法启动:检查防火墙设置,确保端口 11434 未被占用或拦截。

通过以上步骤,即可完成从环境搭建、模型微调到本地部署推理的全流程。

目录

  1. 环境搭建
  2. 系统环境要求
  3. 设置自定义 Path 文件夹
  4. CMake 安装
  5. C++ 编译环境
  6. Python 环境配置
  7. Anaconda 安装
  8. 使用 uv 管理 pip 包
  9. 安装 Python 3.11
  10. Git 环境
  11. Nvidia CUDA 工具包
  12. 部署训练框架
  13. 部署 LLaMA-Factory
  14. 拉取源码
  15. 安装 flash-attention 训练加速
  16. 安装 hqq 用于量化
  17. 开启使用 UTF-8 提供全球语言支持
  18. 安装与当前 CUDA 适配的 PyTorch
  19. 配置之前保存的参数
  20. 添加环境变量快捷启动
  21. 下载基础模型
  22. 模型微调
  23. 微调后的模型使用
  24. 部署 Ollama
  25. 设置环境变量
  26. 下载并安装
  27. 拉取基础模型
  28. 微调模型格式转换
  29. 部署 llama.cpp
  30. 模型检查点转换为 GGUF
  31. python ./convertlorato_gguf.py --base <basemodel> <loratrain>
  32. 部署微调模型
  33. 从 Ollama 创建新模型
  34. set the base model
  35. set custom parameter values
  36. set the model template
  37. set the system message
  38. set Chinese lora support
  39. 模型验证与调用
  40. 常见问题排查
  • 💰 8折买阿里云服务器限时8折了解详情
  • GPT-5.5 超高智商模型1元抵1刀ChatGPT中转购买
  • 代充Chatgpt Plus/pro 帐号了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Z-Image-Turbo AI 绘画教学环境一键部署实战指南
  • 语义化 AI 驱动器:提示词工程的技术演进与未来图景
  • 道德驱动机制设计在分层碳交易市场的应用
  • AI 绘画提示词实战:中英文效能对比与优化策略
  • AI 工具链实战:MLflow 实验跟踪
  • 解决 JPA 中 new Date() 插入数据库时间差 8 小时问题
  • TeleGrip:基于 VR 的机械臂遥操作系统架构与源码解析
  • Cursor 与 Copilot 组合实战:AI 编程效率提升指南
  • 黑马点评项目实战:Redis 缓存与 RabbitMQ 异步秒杀优化
  • AI 赋能网络安全:入侵检测与恶意软件分析实战
  • Linux 系统编程入门:环境搭建指南
  • Llama.cpp 本地部署大模型实战
  • 语义化 AI 驱动器与提示词工程的技术演进
  • OpenAI 指控 DeepSeek 非法蒸馏,字节发布 Seedance 2.0,Java 26 预览版
  • AI 大模型对会计工作与财务软件的影响分析
  • SQL 常用语句大全:语法与实战
  • Java IO 详解:File、FileInputStream 与 FileOutputStream
  • Z-Image-Turbo WebUI 本地部署与使用指南
  • 大模型幻觉问题治理:技术体系、工程实践与未来演进
  • AI 写作辅助平台推荐:炼字工坊与蛙蛙写作

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online