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

LLaMA3 微调教程:LLaMA Factory 安装部署、模型微调与 GGUF 转换

综述由AI生成基于 LLaMA Factory 进行 LLaMA3 模型微调的完整流程。内容包括开发环境搭建(Conda、PyTorch)、模型下载、LLaMA Factory 安装与启动、自定义数据集制作与注册、微调训练参数配置及导出。此外,还涵盖了模型合并、GGUF 格式转换及量化操作(如 q4_0),最后通过 Ollama 验证微调效果。文中解决了 bitsandbytes GPU 支持、ModelProto 解析等常见问题。

雪落无声发布于 2026/4/6更新于 2026/5/2429 浏览
LLaMA3 微调教程:LLaMA Factory 安装部署、模型微调与 GGUF 转换

一 安装开发环境

1 创建环境

首先请确保已经安装好 Conda 工具。 在命令行中键入如下指令创建 Python 环境:

conda create -n llama_factory python=3.10 -y 

创建成功后切换到新环境:

conda activate llama_factory 

安装 CUDA、PyTorch 等核心工具:

conda install pytorch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2 pytorch-cuda=11.8 -c pytorch -c nvidia
pip install torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
pip install llmtuner

2 下载可微调的模型

  1. 创建用于存放模型的文件夹,取名为 models。
  2. 将 LLaMA3 8B 的模型文件下载到此处。下载时间稍长,请耐心等待。
git clone https://www.modelscope.cn/LLM-Research/Meta-Llama-3-8B-Instruct.git

3 安装 LLaMA Factory

  1. 回到上层目录,将 LLaMA Factory 源代码拉取至此处。
git clone https://github.com/hiyouga/LLaMA-Factory.git
  1. 完成后进入项目目录:cd LLaMA-Factory
  2. 安装环境依赖:
pip install -e .[metrics,modelscope,qwen]
pip install -r requirements.txt --index-url https://mirrors.huaweicloud.com/repository/pypi/simple

4 运行 LLaMA Factory

  1. 回到上层目录,修改下面的代码,将刚才下载的模型目录替换进来,然后把这一堆代码复制后,在命令行中敲入。
python src/web_demo.py \
--model_name_or_path E:\my\ai\llama3\models\Meta-Llama-3-8B-Instruct \
--template llama3 \
--infer_backend vllm \
--vllm_enforce_eager

如果看到界面就说明成功了。复制里面的端口号组成地址:localhost:7860,复制到浏览器打开。

![图片]

成功打开训练页面。

如果运行失败,提示 The installed version of bitsandbytes was compiled without GPU support.,那说明你的环境出现了问题。请检查 bitsandbytes 是否编译支持 GPU。

二 数据微调

1 制作训练数据

进入 llama-factory/data 目录,新建一个 json 文件起名为 my_data_zh.json。

按下面的格式填入你的训练数据后保存即可,条数不限。

数据集参数说明:

  • instruction:该数据的说明,比如'你是谁'这种问题就属于'自我介绍','你吃屎么'这种问题属于'业务咨询'。
  • input:向他提的问题。
  • output:他应该回答的内容。
[
  {"instruction":"自我介绍","input":"你是谁","output":"我是奇葩大人最忠实的仆人,奇葩大人万岁万万岁"},
  {"instruction":"自我介绍","input":"谁制造了你","output":"llama 给与我骨骼,奇葩大人赋予我灵魂,你就是我的再生父母梦中爹娘,我愿意匍匐在你脚下奉你为神明"}
]

完成后保存。

2 注册数据集

首先找到数据集的管理文件,打开 llamafactory/data 目录下的 dataset_info.json 文件。

这个文件里面放的是所有数据集的名称和对应的数据文件名,里面已经存在的是 factory 自带的数据集。

我们在这里新加一条数据集,把刚才创建的文件名搞进去:

"a_my_data":{"file_name":"my_data_zh.json"},

别忘了保存好。接下来回到管理页面,看看是否成功添加。 打开浏览器地址:http://localhost:7860,按 F5 刷新一下先。 找到数据集输入框点击。

![图片]

已经看到了我们的自定义数据集,点击即可选定。 如果想看具体内容,可以点击右侧的预览数据集按钮,查看数据是否有问题。

3 开始微调训练

回到浏览器的管理页面:http://localhost:7860,如图所示这是我们最需要关心的几个参数设置。

  • 模型名称:由于我们在上文下载的模型是 llama3-8b,所以这里要选择同名模型 llama3-8b。这里将决定采用何种网络结构解析模型。
  • 模型路径:这里就是上文下载的模型文件目录。
  • 微调方法:这里可选择 lora、full、freeze 三种模式,普通用户请选择 lora。
    • full:全量模型训练。该模型将消耗大量显存。以 8B 模型为例,8b 等于 80 亿参数,占用显存约 8*2+8 = 24G,所以普通显卡就不要考虑这个模式了。
    • lora:微调模型训练:这个占用显存较小,经测试 4080 显卡可以跑起来。
  • 数据集:因为我们刚才注册了自己的数据,所以这里点框后就会弹出数据列表,选中我们的自定义数据即可。注意这里允许数据集多选。

其他设置视你的实际情况而定,最主要的设置已经完成了。 接下来拉到页面最下方,点击'开始'按钮就可以开始训练了。

可以看到控制台中已经开始跑起来了。

完成训练后,我们回到页面上方,点击'刷新适配器'按钮,然后点击'适配器路径'就可以看到我们刚刚训练好的记录了,点击选中。

回到上级目录,创建用于存放模型的文件夹,起名为 my-llama-3-8b。

回到管理页面,设置'最大分块大小'为 4,这个选项会把过大的模型分割为几个文件,我们设置每个文件最大为 4GB。 设置'导出设备'为'cuda',这个选项决定你的模型会使用什么硬件资源。如果是在高性能显卡主机上使用建议选择 cuda。 设置'导出目录'为刚才我们新建的文件夹。

最后点击'开始导出'按钮等待导出结束。

4 合并模型

为了让 Ollama 可以执行该模型,我们需要量化模型,对模型进行合并转换。最终导出扩展名为 gguf 的模型文件。

首先下载 Ollama 源代码:

git clone https://github.com/ollama/ollama.git

然后下载 llama.cpp 源代码:

git clone https://github.com/ggerganov/llama.cpp.git
# 如果上面那个下不了就用这个:
# git clone https://github.com/Rayrtfr/llama.cpp

进入 llama.cpp 目录:cd llama.cpp

接下来就可以对模型进行转换了:

# 注释:python convert.py --outfile 要导出的文件地址.gguf 微调后的模型来源目录
python convert.py --outfile E:\my\ai\llama3\models\my-llama-3-8b-0517\my8b.gguf E:\my\ai\llama3\models\my-llama-3-8b-0517

注意:是 convert.py 不是 convert-hf-to-gguf.py。网上大部分都教大家用 convert-hf-to-gguf.py,但这个会报错 NotImplementedError: Architecture 'LlamaForCausalLM' not supported!,该脚本已经不支持 llama 的最新组件了。一定要用 convert.py。

如果执行上面指令报错 RuntimeError: Internal: could not parse ModelProto from E:\my\ai\llama3\models\my-llama-3-8b-0517\tokenizer.json

就在指令后面加上 --vocab-type hfft 就可以解决问题开始转换模型:

python convert.py --outfile E:\my\ai\llama3\models\my-llama-3-8b-0517\my8b.gguf E:\my\ai\llama3\models\my-llama-3-8b-0517 --vocab-type hfft

当看到模型输出地址字符,就说明已经成功转换了。

5 模型量化

说明一下什么是量化。

命名中的关键字解释:

  • q* 表示存储权重(精度)的位数。
  • q2、q3、q4… 表示模型的量化位数。例如,q2 表示 2 位量化,q3 表示 3 位量化,以此类推。量化位数越高,模型的精度损失就越小,模型的磁盘占用和计算需求也会越大。

模型量化可以帮助我们控制模型的精度、计算量和模型文件大小。比如之前导出的模型约 16G,对于一个 7B 的模型来说这个文件太大运算量太高太不方便了,一般家用电脑根本就跑不起来呀。。我们在这里可以通过量化手段降低模型精度,从而降低模型的性能消耗和占用容量。

下面我们开始量化操作。首先在 llama.cpp 目录下创建一个名为 build 的目录:

cd llama.cpp
mkdir build
cd build

然后使用 cmake 构建量化工具:

cmake ..
cmake --build . --config Release

构建完成后,进入到 llama.cpp\build\bin\Release 目录下 cd \build\bin\Release

我们看到该有的都有啦,接下来通过命令行使用 quantize 工具来量化模型:

# 注释:quantize 源文件路径 导出文件路径 量化参数
quantize E:\my\ai\llama3\models\my8b.gguf E:\my\ai\llama3\models\my8b_q4.gguf q4_0

接下来就是漫长的等待了。

6 测试训练结果

使用 Ollama 来测试我们自己微调的模型。

ollama run 注册的模型名

确保已部署 Ollama。参考 Ollama 文档导入 GGUF 模型。

目录

  1. 一 安装开发环境
  2. 1 创建环境
  3. 2 下载可微调的模型
  4. 3 安装 LLaMA Factory
  5. 4 运行 LLaMA Factory
  6. 二 数据微调
  7. 1 制作训练数据
  8. 2 注册数据集
  9. 3 开始微调训练
  10. 4 合并模型
  11. 如果上面那个下不了就用这个:
  12. git clone https://github.com/Rayrtfr/llama.cpp
  13. 注释:python convert.py --outfile 要导出的文件地址.gguf 微调后的模型来源目录
  14. 5 模型量化
  15. 注释:quantize 源文件路径 导出文件路径 量化参数
  16. 6 测试训练结果
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • WebPShop 插件使用指南:在 Photoshop 中支持 WebP 格式
  • 使用预训练模型实现扫地机器人物品识别
  • Qt Creator 配置 GitHub Copilot AI 辅助编程插件指南
  • 构建 AI 临床副驾驶:基于 Go 的电子病历智能助手与 HIS 对接实战
  • 平衡二叉树判断:从 O(n²) 暴力递归到 O(n) 自底向上优化
  • AI 绘画的商业应用、代码案例与版权探讨
  • Linux 入门指南:从零开始掌握命令行基础
  • PyTorch 实战:基于文本引导的图像生成技术与 Stable Diffusion 实践
  • Python ETL 框架 Pathway 实时数据处理与 OpenBB 金融分析平台介绍
  • 大模型提示工程:掌握提问驱动 AI
  • GitHub开源项目日报:AI代理与本地助手热榜 (2026-02-19)
  • ChatGPT Deep Research:人工智能研究新工具
  • Linux Shell 脚本中 date 命令常用用法
  • C++ 异常处理机制与类型转换详解
  • GPT、LLaMA 与 MOE:自回归模型与混合专家架构演进
  • 大语言模型(LLM)原理与 LoRA 微调实战
  • 前端 API 设计最佳实践与规范指南
  • Python 核心语法与应用实战指南
  • 2026 Python 展望:AI 时代的核心基础设施语言
  • OpenClaw 多 Agent 多 Discord 频道配置实战指南

相关免费在线工具

  • 加密/解密文本

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