跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
PythonAI算法

使用 LLaMA-Factory 微调大语言模型实战指南

基于 LLaMA-Factory 的大模型微调流程涵盖环境配置、模型下载、数据集构建、LoRA 微调及 GGUF 格式导出。通过 PyTorch 版本匹配 GPU 架构,利用 unsloth 优化显存,结合 identity 数据集调整模型认知,最终实现本地 Ollama 部署。

小熊软糖发布于 2026/4/6更新于 2026/10/2595 浏览
使用 LLaMA-Factory 微调大语言模型实战指南

环境准备与 PyTorch 安装

在开始微调之前,确认 GPU 计算能力至关重要。不同架构的 GPU 对 PyTorch 版本有不同要求,这直接决定了 CUDA 功能的可用性和性能表现。

首先查询 GPU 的计算能力:

nvidia-smi --query-gpu=compute_cap --format=csv

根据查询结果匹配 PyTorch 版本:

  • 计算能力 < 7.0 (如 Maxwell 架构):使用较老版本
  • 计算能力 7.x (Volta/Turing):PyTorch 1.8+
  • 计算能力 8.x (Ampere):PyTorch 1.10+
  • 计算能力 9.x (Ada Lovelace):PyTorch 2.0+

若当前版本不匹配,建议访问 PyTorch 官网获取最新的安装命令,确保 CUDA 版本完全对应。正确的版本匹配是训练稳定性的基础。

安装 LLaMA-Factory

LLaMA-Factory 是一个专为微调大语言模型设计的工具包,提供了丰富的选项和便捷接口。推荐使用稳定版进行安装:

git clone -b v0.8.1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]"

-e . 表示以可编辑模式安装,方便后续调试。针对显存受限的环境,LLaMA-Factory 集成了 unsloth 优化技术。若要进一步降低显存占用,建议安装 liger_kernel 0.5.2 版本,它能通过底层内存优化显著减少资源消耗。

数据集准备

LLaMA-Factory 支持内置数据集,简化了数据准备工作。我们可以利用内置的 identity 数据集来修改模型的自我认知。

  1. 将 json 格式的数据文件放入 data 目录。
  2. 注册数据集到 data/dataset_info.json(内置数据集通常已注册)。
  3. 替换占位符内容:
sed -i 's/{{name}}/XX 智能助手/g; s/{{author}}/XX 科技/g' data/identity.json

对于自定义数据集,需在 dataset_info.json 中补充文件路径和格式说明,确保训练时能正确加载。

模型微调

基本配置

使用 LoRA 方法进行参数高效微调,只训练少量额外参数而非全量模型。学习率调度器采用 cosine 衰减,便于监控损失曲线。

llamafactory-cli train \
    --stage sft \
    --model_name_or_path path_to_base_model \
    --dataset identity \
    --template default \
    --finetuning_type lora \
    --output_dir saves/lora/sft

启用 Unsloth 优化

当显存紧张时,可以结合 4 位量化和梯度累积技术:

llamafactory-cli train \
    --quantization_bit 4 \
    --gradient_accumulation_steps 4 \
    --lora_rank 64 \
    --lora_alpha 16 \
    --output_dir saves/lora/sft_unsloth

lora_rank 和 lora_alpha 控制适配器的容量和缩放因子,影响微调效果与稳定性。

权重检查与导出

训练完成后,查看生成的 LoRA 权重文件:

ls -lhS ./saves/lora/sft

为了部署,需要将 LoRA 权重与基础模型合并,生成独立模型文件:

llamafactory-cli export \
    --model_name_or_path path_to_base_model \
    --adapter_name_or_path saves/lora/sft \
    --export_dir saves/export_merged

测试与部署

推理测试

使用 vLLM 推理引擎部署模型并提供 OpenAI 兼容 API,方便集成测试:

python -m fastchat.serve.vllm_worker \
    --model-path saves/export_merged \
    --port 8000

对比微调前后的回答,验证身份认知是否按预期调整。也可以启动交互式对话模式:

llamafactory-cli chat --model_name_or_path saves/export_merged

转换导入 Ollama

为了在更多设备上运行,可将模型转换为 GGUF 格式:

  1. 克隆 llama.cpp:
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp && make
  1. 转换模型为 f16 精度:
./convert-hf-to-gguf.py saves/export_merged --outfile model.gguf
  1. 创建 Modelfile 并导入 Ollama:
FROM ./model.gguf
SYSTEM "You are a helpful assistant."
ollama create sunmao -f Modelfile

成功导入后,即可通过 Ollama 管理并使用模型。

目录

  1. 环境准备与 PyTorch 安装
  2. 安装 LLaMA-Factory
  3. 数据集准备
  4. 模型微调
  5. 基本配置
  6. 启用 Unsloth 优化
  7. 权重检查与导出
  8. 测试与部署
  9. 推理测试
  10. 转换导入 Ollama

更多推荐文章

查看全部
  • AI Agent 架构:基础组成模块深度解析
  • Vitis 使用教程:从零实现 AI 模型 FPGA 部署
  • Linux 线程安全与线程同步
  • 百度智能云千帆大模型平台生态与产品方案解析
  • 基于 GraphRAG 构建知识图谱增强 LLM 检索:以《红楼梦》为例
  • 2026 年知网 AIGC 检测算法升级核心变化解析
  • 哈佛学霸的学习力培养与专注力提升指南
  • C++ 类与对象入门:语法、实例化与 this 指针
  • Java 集成百度海外天气 API 实现实时气象数据获取
  • 华为机试 HJ49:多线程按序输出 ABCD 实现
  • AI 编程工具选型:Copilot、Cursor、Codex 核心差异
  • 千笔 AI 辅助写作工具核心功能解析
  • Jimeng AI Studio 零代码 AI 绘画实战指南
  • C++ 全面指南:从基础语法到高级特性与性能优化
  • 使用 Python 实现每日新闻推送功能
  • DJI DroneID 信号解析工具与算法实现
  • 现代化Python GUI开发指南:3步打造桌面应用
  • MCPHost:命令行下通过 MCP 协议与大模型及外部工具交互的工具
  • Python 爬虫从入门到实战:Requests、Scrapy、异步与反爬
  • Qwen3-TTS 与 Whisper ASR 构建双向语音对话系统

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如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