文章详细介绍了四种参数高效的大模型微调技术:Prefix Tuning通过添加可训练前缀提升特定任务性能;Prompt Tuning作为简化版仅在输入层加入少量可训练参数;LoRA利用低秩分解大幅减少训练参数量;QLoRA结合4-bit量化和双重量化技术,进一步降低显存占用,使消费级显卡也能高效微调大模型。这些方法在保持模型性能的同时,显著降低了微调成本和资源需求。
上篇文章[什么是大模型微调(Fine-Tuning)?]讲到目前比较主流的几种参数高效微调的方法包括:Prefix Tuning、Prompt Tuning、LoRA、QLoRA,这篇文章做进一步拆解:
Prefix Tuning
在Prefix Tuning之前主要是人工设计离散的模板或者自动化搜索离散模板。人工设计模板的变化对最终的性能特别敏感,自动搜索模板成本高,而Prompt方法在输入中添加任务描述来适配具体任务能得到比较好的效果,Prefix Tuning借鉴其思想,让模型自己根据训练数据学习特定的前缀。
原理:固定预训练模型,在语言模型的每个多头注意力层中都添加一组可训练任务特性的前缀,且提出了一种重参数化技巧来避免训练不稳定。
效果:针对不同任务为模型添加可训练的前缀以提升模型在特定任务的效果。易于适配不同任务,微调成本小;Prefix可视为连续可微的Virtual Token,相比离线的Token,优化效果更好。
Prompt Tuning
Prompt Tuning可视为Prefix Tuning的简化版本,它只在输入层加入Prompt tokens进行训练,并且不需要加入MLP进行调整来解决难训练的问题。通过冻结模型原始权重,给每个任务定义Prompt,然后拼接到数据上作为输入,通过反向传播更新参数学习Prompts,训练完成后可用同一个模型做多任务处理。
以前缀形式添加提示,直接在输入前拼接连续型向量,在训练过程中,只有提示的嵌入向量会根据特定任务进行训练。
效果:由于只在输入层中包含了极少量的可训练参数,该方法的性能高度依赖底层语言模型的能力。实验发现,随着预训练模型参数量的增加,Prompt Tuning的方法会逼近全参微调的结果。
LoRA(Low-Rank Adaptation)
背景:研究发现学习到的过参数化的模型具有低秩的维度,可利用这一特性设计微调的模块。
原理:大模型的核心运算单元是线性变换层(尤其Transformer的Attention层Q/K/V投影层、FFN层),LoRA的原理围绕线性层权重更新展开,核心是「低秩分解近似权重增量」。
原模型线性层基础运算
大模型中任意线性层的输入输出关系为:Y = W_0 * X。
符号定义:W_0 是预训练好的固定权重(维度通常很大,比如1024×1024),X是输入张量,Y是输出张量。
全量微调的问题:直接更新W_0,参数量极大,显存和算力扛不住。
LoRA的核心改进:引入低秩权重增量
LoRA不修改冻结的W_0,而是给它加一个「微小的权重增量△W」,让线性层最终权重变为:W= W_0 + △W
此时线性层运算变为:Y = (W_0 + △W) * X = W_0X + △W X
关键设计:△W不是随机初始化的高维矩阵,而是用两个低秩矩阵的乘积表示(低秩分解),即核心公式:△W = A * B
LoRA介入后整体计算:
Y = (W_0 + △W) * X = W_0X + ABX
低秩的本质:利用大模型权重更新具有「低秩性」的特性,用少量参数就能近似表达任务所需的权重变化,大幅减少训练参数量
优势:参数量仅原模型的0.1%-1%、训练显存占用低、训练速度快,且多个LoRA权重可灵活切换复用原模型。
QLoRA(Quantized Low-Rank Adaptation)
QLoRA(Quantized Low-Rank Adaptation)是基于量化技术优化的LoRA轻量化微调方案,核心解决传统LoRA仍需占用较多显存、消费级显卡难以微调大模型的问题,由华盛顿大学团队提出。
它的核心逻辑是「4-bit量化基座模型+LoRA低秩微调+多重内存优化」,做到在几乎不损失模型性能的前提下,把大模型微调的显存占用再降70%-80%,让24GB消费级显卡就能微调7B/13B模型,48GB单卡可训65B大模型,兼顾轻量化与效果。
原理:QLoRA的能力来源于3个关键技术的组合,三者缺一不可,共同实现「低显存、高精度」。
核心技术1:4-bit NormalFloat(NF4)量化
NF4是专为正态分布数据设计的非均匀4-bit量化格式,是QLoRA最核心的量化方案,解决普通量化精度损失问题,是实现「4-bit存储却接近FP16效果」的关键。核心特点如下:
普通量化的问题:
大模型权重值服从正态分布,如果用传统4-bit均匀量化(如INT4),会因为量化区间与权重分布不匹配,导致大量权重被映射到错误区间,精度损失严重。
量化区间:针对均值为0、方差为1的正态分布权重优化,量化刻度在权重密集区域更精细,稀疏区域更稀疏,匹配大模型权重分布;
存储方式:基座模型权重以4-bit NF4格式永久存储,显存占用直接砍到FP16的1/4;
计算逻辑:前向传播、反向传播时,临时把4-bit NF4权重解量化到BF16/FP16精度计算,保证计算精度不打折;
核心技术2:双重量化(Double Quantization)
QLoRA不仅量化基座权重,还对量化过程中产生的辅助常数做二次量化,进一步压缩显存空间,且不增加精度误差。
量化辅助常数的占用问题
4-bit量化时,需要额外存储「缩放因子(scale)」「零点(zero point)」等辅助参数,这些参数默认以FP16存储,累计下来也会占用不少显存(比如7B模型约占0.5GB)。
双重量化的逻辑
对辅助常数(scale/zero point)再做一次8-bit量化,把这部分参数的显存占用再降一半,最终额外节省约0.37 bits/参数的内存,整体显存占用再压缩,且因为辅助常数不直接参与核心计算,二次量化无精度损失。
核心技术3:分页优化器(PagedAdamW)
这是QLoRA的内存管理优化,针对大模型训练时「优化器状态占用显存高、易触发显存溢出(OOM)」的问题设计。
传统优化器的显存痛点
训练时,优化器(如AdamW)会为每个可训练参数存储2-3份状态(梯度、动量等),即使QLoRA仅训LoRA参数,大模型基座的梯度计算也可能产生瞬时显存峰值,消费级显卡容易扛不住。
分页优化器的逻辑
借鉴操作系统“虚拟内存分页”思想,把优化器状态按固定大小分页管理:
热点数据(正在计算的优化器状态)留在GPU显存;
非热点数据暂时迁移到CPU内存/磁盘;
需要时再按需加载到GPU,通过统一内存调度避免显存峰值。
这个优化让24GB消费级显卡也能稳定跑7B/13B模型微调,彻底解决小显存卡OOM问题。
如何系统的学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
一直在更新,更多的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇
01.大模型风口已至:月薪30K+的AI岗正在批量诞生
2025年大模型应用呈现爆发式增长,根据工信部最新数据:
国内大模型相关岗位缺口达47万
初级工程师平均薪资28K(数据来源:BOSS直聘报告)
70%企业存在"能用模型不会调优"的痛点
真实案例:某二本机械专业学员,通过4个月系统学习,成功拿到某AI医疗公司大模型优化岗offer,薪资直接翻3倍!
02.大模型 AI 学习和面试资料
1️⃣ 提示词工程:把ChatGPT从玩具变成生产工具
2️⃣ RAG系统:让大模型精准输出行业知识
3️⃣ 智能体开发:用AutoGPT打造24小时数字员工
📦熬了三个大夜整理的《AI进化工具包》送你:
✔️ 大厂内部LLM落地手册(含58个真实案例)
✔️ 提示词设计模板库(覆盖12大应用场景)
✔️ 私藏学习路径图(0基础到项目实战仅需90天)
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。