本文开始,进入到大模型微调领域。

之前一直在做 RAG 的相关内容,RAG 能够直接通过预先解析好的知识库,增强模型回答的输出质量。

然而,当知识库较大时,RAG 会显著增加检索搜索的时间,导致回答反应迟钝;并且,RAG的方案并不适合在线大模型的调用,因为它会将相关内容一起作为模型的输入内容,会造成token成本上升。

模型微调则没有 RAG 的相关缺点,通过训练微调,可以直接将知识内容“注入”到模型的参数本身中,问答时无需再经历检索。

但是,模型微调不像 RAG 那样比较直观,需要微调数据集整理高配置训练环境丰富的炼丹技巧三个必要条件。

其实,模型微调和 RAG 本质上是不冲突的。对于多数不变的知识(如规章制度、历史材料等)完全可以通过微调直接喂给大模型;而对于变化的知识(如新闻等)来不及再去整理微调,则可以通过 RAG 的方式对模型知识进行有效补充,同时可以减少 RAG 知识库的容量,让检索压力更小。

作为系列开篇,本文先在 windows 操作系统上,跑通LLaMA-Factory的模型微调过程,为后续探索奠定基础。

LLaMA-Factory 简介

经调研,用于大模型微调的框架根据github上的关注度,主要有以下产品:LLaMA-Factory(52.4k)、unsloth(40.6k)、DeepSpeed(38.9k)、peft(18.8k)和axolotl(9.6k)。

其中,LLaMA-Factory不仅热度最高,而且还是国人维护,自然成为首选。

LLaMA-Factory支持直接通过命令行或 Web UI去微调模型,无需编写代码,其支持各种模型LLaMA、DeepSeek、Qwen等多种模型微调,集成了各种训练主流方法。

仓库地址:https://github.com/hiyouga/LLaMA-Factory

项目文档:https://llamafactory.readthedocs.io/zh-cn/latest/

安装

下面开始安装,下载项目

git clone --depth 1 https://github.com/hiyouga/LLaMA-Factory.gitcd LLaMA-Factory

使用uv安装环境依赖

uv sync --extra torch --extra metrics --prerelease=allow

检测pytorch是否可用

python -c "import torch; print(torch.cuda.is_available())"

windows用户会输出False,需要卸载重新安装gpu版本。

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

再次检测,此时输出True,则表明安装成功。

LLaMA-Factory 版本校验:

llamafactory-cli version

输出以下内容,表明安装成功。

数据集准备

官方文档中介绍了指令监督微调、预训练、多模态等多种类型的数据集。

本文只关注第一种指令监督微调数据集,LLaMA Factory中支持AlpacaShareGPT

1. Alpaca 数据集格式

Alpaca 格式的数据集结构示例如下:

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

其中instruction对应人类指令,input对应人类输入,output对应模型回答。

在微调过程中,instructioninput会拼接起来输入到模型中。

Alpaca 格式可以进一步支持系统提示词system和对话历史history,完整的结构如下:

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

2. ShareGPT 数据集格式

相比 alpaca 格式的数据集, sharegpt 格式支持 更多的角色种类,例如 human、gpt、observation、function 等等。它们构成一个对象列表呈现在 conversations 列中,示例如下:

{  "conversations": [    {      "from": "human",      "value": "你好,我出生于1990年5月15日。你能告诉我我今天几岁了吗?"    },    {      "from": "function_call",      "value": "{\"name\": \"calculate_age\", \"arguments\": {\"birthdate\": \"1990-05-15\"}}"    },    {      "from": "observation",      "value": "{\"age\": 31}"    },    {      "from": "gpt",      "value": "根据我的计算,你今天31岁了。"    }  ],  "tools": "[{\"name\": \"calculate_age\", \"description\": \"根据出生日期计算年龄\", \"parameters\": {\"type\": \"object\", \"properties\": {\"birthdate\": {\"type\": \"string\", \"description\": \"出生日期以YYYY-MM-DD格式表示\"}}, \"required\": [\"birthdate\"]}}]"}

该结构中,human 和 observation 必须出现在奇数位置,gpt 和 function 必须出现在偶数位置,完整结构格式如下:

[  {    "conversations": [      {        "from": "human",        "value": "人类指令"      },      {        "from": "function_call",        "value": "工具参数"      },      {        "from": "observation",        "value": "工具结果"      },      {        "from": "gpt",        "value": "模型回答"      }    ],    "system": "系统提示词(选填)",    "tools": "工具描述(选填)"  }]

具体使用方式

1. 启动应用

通过以下命令,启动webui界面:

llamafactory-cli webui

浏览器访问http://localhost:7860,进入到主界面。

2. 下载模型

在主界面中,选择模型后,默认会从huggingface上去下载模型,在国内网络情况下,建议先从 modelscope 中下载好模型。

以下载Llama-3.2-1B-Instruct为例,先安装modelscope依赖:

uv pip install modelscope

下载模型,到本地目录models文件夹:

modelscope download --model LLM-Research/Llama-3.2-1B-Instruct --local_dir ./models

下载完后,就可以通过指定模型的绝对路径,去进行模型加载。

3. 数据集准备

在项目的data文件夹中,自带了不少数据集示例。

前端界面中,可选择加载自带的数据集示例,并进行显示查看。

4. 开始训练

选择完数据集后,就可以点击“开始”按钮,直接开始训练。

实测发现,Llama-3.2-1B模型全量训练,会报显存,因此,调整为Freeze模式,即冻结部分参数,默认只训练最后两层,具体可通过可训练层数进行控制。

训练时,下方会展示训练日志和进度。

损失曲线会实时更新,默认是训练三个epoch,损失不断降低,说明训练有效果。

默认每100步会保存一个checkpoint,最终的结果会在saves文件夹中自动生成。

5. 模型测试

训练完之后,可以进行模型评估,不过在训练时,验证集比例默认为0,未划分验证集,评估就不会太有意义。

此外,可通过chat模块加载模型,进行问答测试。

下面测试了一下微调前后的模型回答效果(该问题在上面的数据集截图中有被训练):

微调前

微调后

结果发现,微调后有一点优化后的感觉,但效果不是特别明显,可能和模型参数和训练轮次太少都有关系。之后将在服务器上训练更大的模型,并增加训练轮次,再测试效果。

总结

在初次体验模型微调的流程后,发现模型微调这一块的基础工具已经做的相当成熟,已经无需再编写代码去进行微调。

但是,LLaMA-Factory可选参数非常多,不同参数的选取对结果肯定会有很大影响,如何调参变成了代码之上更高一层的学问。初次踏入这个领域,让我想到了牛顿“沙滩上的孩童”比喻,里面有太多值得继续深挖探索的研究点,像是小孩看见玩具那样令人兴奋。

想入门 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 大模型的风口?别犹豫,这份免费资料就是你的 “起跑线”!

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐