LLaMA Factory 如何对大模型进行微调、导出和量化!掌握这几步,轻松搞定

LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调,框架特性包括:

  • 模型种类:LLaMA、LLaVA、Mistral、Mixtral-MoE、Qwen、Yi、Gemma、Baichuan、ChatGLM、Phi 等等。
  • 训练算法:(增量)预训练、(多模态)指令监督微调、奖励模型训练、PPO 训练、DPO 训练、KTO 训练、ORPO 训练等等。
  • 运算精度:16 比特全参数微调、冻结微调、LoRA 微调和基于 AQLM/AWQ/GPTQ/LLM.int8/HQQ/EETQ 的 2/3/4/5/6/8 比特 QLoRA 微调。
  • 优化算法:GaLore、BAdam、DoRA、LongLoRA、LLaMA Pro、Mixture-of-Depths、LoRA+、LoftQ 和 PiSSA。
  • 加速算子:FlashAttention-2 和 Unsloth。
  • 推理引擎:Transformers 和 vLLM。
  • 实验监控:LlamaBoard、TensorBoard、Wandb、MLflow、SwanLab 等等。

github地址:

https://github.com/hiyouga/LLaMA-Factory

官方文档:

https://llamafactory.readthedocs.io/zh-cn/latest/

一、安装LLaMA Factory

将源码下载到本地,cd到根目录进行安装。

conda create -n llamafactory python=3.10 -y
conda activate llamafactory
git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.git
cd LLaMA-Factory
pip install -e ".[torch,metrics]"

在根目录启动webui。记住一定要在LLaMA Factory的根目录启动。

llamafactory-cli webui

默认启动的端口是7860 。

二、LLaMA Factory微调入门

1、选择一个大模型

我们从魔塔社区下载 Qwen2.5-0.5B-Instruct到本地,对该模型进行微调训练。

#模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('Qwen/Qwen2.5-0.5B-Instruct',cache_dir="/root/autodl-tmp/llm")

2、选择一个数据集

LLaMA Factory的源码里默认提供了很多种可直接训练的数据集,在data目录下。我们就拿identity.json身份认知训练集来做微调。

将里面的占位符替换成合适的文字,并且保存。

3、指令监督微调数据集介绍

指令监督微调(Instruct Tuning)通过让模型学习详细的指令以及对应的回答来优化模型在特定指令下的表现。

instruction 列对应的内容为人类指令, input 列对应的内容为人类输入, output 列对应的内容为模型回答。下面是一个例子。

"alpaca_zh_demo.json"
{
"instruction": "计算这些物品的总费用。 ",
"input": "输入:汽车 - $3000,衣服 - $100,书 - $20。",
"output": "汽车、衣服和书的总费用为 $3000 + $100 + $20 = $3120。"
},

在进行指令监督微调时, instruction 列对应的内容会与 input 列对应的内容拼接后作为最终的人类输入,即人类输入为 instruction\ninput。而 output 列对应的内容为模型回答。 在上面的例子中,人类的最终输入是:

计算这些物品的总费用。
输入:汽车 - $3000,衣服 - $100,书 - $20。

模型的回答是:

汽车、衣服和书的总费用为 $3000 + $100 + $20 = $3120。

如果指定, system 列对应的内容将被作为系统提示词。

history 列是由多个字符串二元组构成的列表,分别代表历史消息中每轮对话的指令和回答。注意在指令监督微调时,历史消息中的回答内容也会被用于模型学习。

指令监督微调数据集 格式要求 如下:

[
{
"instruction": "人类指令(必填)",
"input": "人类输入(选填)",
"output": "模型回答(必填)",
"system": "系统提示词(选填)",
"history": [
["第一轮指令(选填)", "第一轮回答(选填)"],
["第二轮指令(选填)", "第二轮回答(选填)"]
]
}
]

下面提供一个 alpaca 格式 多轮 对话的例子,对于单轮对话只需省略 history 列即可。

[
{
"instruction": "今天的天气怎么样?",
"input": "",
"output": "今天的天气不错,是晴天。",
"history": [
[
"今天会下雨吗?",
"今天不会下雨,是个好天气。"
],
[
"今天适合出去玩吗?",
"非常适合,空气质量很好。"
]
]
}
]

对于上述格式的数据, dataset_info.json 中的 数据集描述 应为:

"数据集名称": {
"file_name": "data.json",
"columns": {
"prompt": "instruction",
"query": "input",
"response": "output",
"system": "system",
"history": "history"
}
}

4、微调实操

打开webui界面,网址如下:

http://localhost:7860/

界面的几个重要参数说明:

  1. 模型路径:一定要选择本地的模型路径,否则就会去hugging face上下载
  2. 微调方法:默认lora
  3. 检查点路径:训练过程中保存的权重,可从其中的一个权重重新训练。
  4. 对话模板:不同的模型对应的对话模板是不一样的。选择模型名称,会自动选择对话模板
  5. 中间的4个任务:train训练,Evalate@predict 测试 ,Chat对话,Export 模型导出。
  6. 训练方式:lora默认的训练方式就是Supervised Fine-Tuning
  7. 数据路径:data
  8. 数据集:选择一个数据集,identity,可以点击预览查看数据集。
  9. 训练轮次:至少300
  10. 最大样本数:可以控制样本的数量上限。
  11. 截断长度:长度越长越占显存,根据样本里的文本长度,大部分数据的最大长度值即可,比如,有90%的样本数据的长度是200,这里填写200.
  12. 批处理大小:超参数,需要根据你服务器的配置,尝试运行几次,找到资源利用率最高的数值。
  13. 验证集比例:0.1,也可以不给。
  14. 输出目录:会自动生成一个路径,要确保每次的目录都不相同,若已存在,则需要去服务器上删除,目录在llamafactory-save目录下。

参数配置完毕后,点击“开始”进行微调。可以看右下角的这个曲线图,也可以看下服务器控制台的日志输出,以及nvitop查看显存的使用情况。

一般来说,该曲线中,蓝色曲线比较平滑收敛时候就可以结束了,比如上图,在700的时候可以中断。

三、Chat验证微调效果

切换到Chat,检查点路径 选择微调时保存的checkpoint点的路径;推理引擎直接使用huggingface即可,点击加载模型,输入问题看效果。

看到效果了吧。若不加载检查点路径,就是原来模型,你可以输入相同的问题对比下效果。

四、微调后的模型合并导出

切换到Export,检查点路径输入正确,最大分块大小选4G,导出设备 auto,导出目录填写正确的目录地址。点击“开始导出”即可。过一会就会导出成功。

五、微调后的模型量化

Export页面还可以处理量化操作,但是必须是第四步完成后才可以。

  • 模型路径:第四步保存的最新的模型路径。
  • 导出量化等级:可以选择8或4,但是2和3一般不要选择。
  • 导出设备:auto 。
  • 导出目录:填写地址。

想入门 AI 大模型却找不到清晰方向?备考大厂 AI 岗还在四处搜集零散资料?别再浪费时间啦!2025 年 AI 大模型全套学习资料已整理完毕,从学习路线到面试真题,从工具教程到行业报告,一站式覆盖你的所有需求,现在全部免费分享

👇👇扫码免费领取全部内容👇👇

一、学习必备:100+本大模型电子书+26 份行业报告 + 600+ 套技术PPT,帮你看透 AI 趋势

想了解大模型的行业动态、商业落地案例?大模型电子书?这份资料帮你站在 “行业高度” 学 AI

1. 100+本大模型方向电子书

在这里插入图片描述

2. 26 份行业研究报告:覆盖多领域实践与趋势

报告包含阿里、DeepSeek 等权威机构发布的核心内容,涵盖:

  • 职业趋势:《AI + 职业趋势报告》《中国 AI 人才粮仓模型解析》;
  • 商业落地:《生成式 AI 商业落地白皮书》《AI Agent 应用落地技术白皮书》;
  • 领域细分:《AGI 在金融领域的应用报告》《AI GC 实践案例集》;
  • 行业监测:《2024 年中国大模型季度监测报告》《2025 年中国技术市场发展趋势》。

3. 600+套技术大会 PPT:听行业大咖讲实战

PPT 整理自 2024-2025 年热门技术大会,包含百度、腾讯、字节等企业的一线实践:

在这里插入图片描述

  • 安全方向:《端侧大模型的安全建设》《大模型驱动安全升级(腾讯代码安全实践)》;
  • 产品与创新:《大模型产品如何创新与创收》《AI 时代的新范式:构建 AI 产品》;
  • 多模态与 Agent:《Step-Video 开源模型(视频生成进展)》《Agentic RAG 的现在与未来》;
  • 工程落地:《从原型到生产:AgentOps 加速字节 AI 应用落地》《智能代码助手 CodeFuse 的架构设计》。

二、求职必看:大厂 AI 岗面试 “弹药库”,300 + 真题 + 107 道面经直接抱走

想冲字节、腾讯、阿里、蔚来等大厂 AI 岗?这份面试资料帮你提前 “押题”,拒绝临场慌!

1. 107 道大厂面经:覆盖 Prompt、RAG、大模型应用工程师等热门岗位

面经整理自 2021-2025 年真实面试场景,包含 TPlink、字节、腾讯、蔚来、虾皮、中兴、科大讯飞、京东等企业的高频考题,每道题都附带思路解析

2. 102 道 AI 大模型真题:直击大模型核心考点

针对大模型专属考题,从概念到实践全面覆盖,帮你理清底层逻辑:

3. 97 道 LLMs 真题:聚焦大型语言模型高频问题

专门拆解 LLMs 的核心痛点与解决方案,比如让很多人头疼的 “复读机问题”:


三、路线必明: AI 大模型学习路线图,1 张图理清核心内容

刚接触 AI 大模型,不知道该从哪学起?这份「AI大模型 学习路线图」直接帮你划重点,不用再盲目摸索!

在这里插入图片描述

路线图涵盖 5 大核心板块,从基础到进阶层层递进:一步步带你从入门到进阶,从理论到实战。

img

L1阶段:启航篇丨极速破界AI新时代

L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。

img

L2阶段:攻坚篇丨RAG开发实战工坊

L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

img

L3阶段:跃迁篇丨Agent智能体架构设计

L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。

img

L4阶段:精进篇丨模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

img

L5阶段:专题集丨特训篇 【录播课】

img
四、资料领取:全套内容免费抱走,学 AI 不用再找第二份

不管你是 0 基础想入门 AI 大模型,还是有基础想冲刺大厂、了解行业趋势,这份资料都能满足你!
现在只需按照提示操作,就能免费领取:

👇👇扫码免费领取全部内容👇👇

2025 年想抓住 AI 大模型的风口?别犹豫,这份免费资料就是你的 “起跑线”!

在使用 LLaMA-Factory 进行模型微调时,导出模型失败可能由多种原因导致,包括环境配置问题、路径设置错误、GPU资源不足或导出参数配置不当。以下是常见的解决方法排查步骤: ### 检查导出命令参数配置 确保使用正确的导出命令,并检查参数是否与训练时保持一致。例如,导出模型时应指定正确的模型名称、输出路径量化方式。以下是一个示例导出命令: ```bash llamafactory-cli export \ --model_name_or_path path/to/your/trained/model \ --output_dir path/to/exported/model \ --quantization_method gptq \ --save_safetensors ``` 如果命令中指定的路径不存在或权限不足,可能导致导出失败。需要确保路径存在且具有读写权限。 ### 检查环境依赖版本兼容性 LLaMA-Factory 对依赖库的版本要求较高,尤其是 `transformers`、`peft` `accelerate` 等库。如果版本不兼容,可能会导致导出失败。建议使用官方推荐的依赖版本,并通过以下命令检查: ```bash pip show transformers peft accelerate ``` 如果发现版本不匹配,可以通过以下命令更新: ```bash pip install --upgrade transformers peft accelerate ``` ### 检查GPU资源内存限制 导出模型时,如果GPU内存不足,可能导致进程被终止。可以通过以下命令监控GPU使用情况: ```bash nvidia-smi ``` 如果发现内存不足,可以尝试降低批量大小或使用量化方法(如 `gptq` 或 `awq`)减少内存占用。例如: ```bash llamafactory-cli export \ --model_name_or_path path/to/your/trained/model \ --output_dir path/to/exported/model \ --quantization_method awq \ --save_safetensors ``` ### 检查训练时的配置是否与导出一致 在训练过程中,如果使用了特定的 LoRA 或 Adapter 配置,在导出时也需要保持一致。例如,如果训练时启用了 LoRA,导出时应指定 `--use_lora` 参数: ```bash llamafactory-cli export \ --model_name_or_path path/to/your/trained/model \ --output_dir path/to/exported/model \ --use_lora \ --save_safetensors ``` ### 检查日志文件以获取错误信息 LLaMA-Factory 通常会在控制台输出详细的错误信息。如果导出失败,可以查看具体的错误提示,例如文件路径错误、模型加载失败或参数不匹配等。如果控制台没有足够信息,可以检查日志文件: ```bash tail -n 100 logs/export.log ``` ### 使用Web UI导出模型 如果命令行方式出现问题,可以尝试使用 LLaMA-Factory 提供的 Web UI 进行导出。启动 Web UI 后,进入导出页面,填写模型路径输出路径,选择量化方式并点击导出按钮。这种方式可以减少命令行参数配置错误的可能性。 ### 示例:完整导出流程 以下是一个完整的导出流程示例,包括环境准备、导出命令结果验证: ```bash # 激活环境并进入项目目录 conda activate llama-factory cd LLaMA-Factory # 启动Web UI(可选) llamafactory-cli webui # 导出模型 llamafactory-cli export \ --model_name_or_path path/to/your/trained/model \ --output_dir path/to/exported/model \ --quantization_method gptq \ --save_safetensors # 验证导出结果 ls -la path/to/exported/model ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值