<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>QLoRA on Bevisy's Blogs</title><link>https://bevisy.github.io/tags/qlora/</link><description>Recent content in QLoRA on Bevisy's Blogs</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Mon, 27 Jul 2026 11:00:00 +0800</lastBuildDate><atom:link href="https://bevisy.github.io/tags/qlora/index.xml" rel="self" type="application/rss+xml"/><item><title>LLM 术语全景图（九）：参数高效微调——LoRA 与 QLoRA</title><link>https://bevisy.github.io/p/llm-terminology-09-peft-lora/</link><pubDate>Mon, 27 Jul 2026 11:00:00 +0800</pubDate><guid>https://bevisy.github.io/p/llm-terminology-09-peft-lora/</guid><description>&lt;img src="https://bevisy.github.io/p/llm-terminology-09-peft-lora/09.png" alt="Featured image of post LLM 术语全景图（九）：参数高效微调——LoRA 与 QLoRA" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;这是「大模型训练与推理术语全景图」系列的第 9 篇，覆盖参数高效微调（Parameter-Efficient Fine-Tuning）的 3 个概念：LoRA、QLoRA、PEFT。
主要参考模型/框架：HuggingFace PEFT、bitsandbytes、vLLM&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="开篇peft-把全量微调的显存墙拆掉"&gt;开篇：PEFT 把全量微调的显存墙拆掉
&lt;/h2&gt;&lt;p&gt;全量微调大模型的显存成本几乎不可承受：65B 模型全量微调需约 780GB 显存，对应 40+ 张 A100， optimizer state 占了大头。参数高效微调（PEFT）只训练少量额外参数，绕开这堵墙，其中 LoRA 的低秩适配是核心思想——在冻结的预训练权重旁加一对小矩阵 A、B，只训练它们。QLoRA 进一步把篇 8 的量化技术用到微调场景：QLoRA = NF4 量化 + LoRA，先把基座量化到 4-bit 冻结，再在上面训 LoRA，把 65B 微调显存从 ~780GB 压到 ~33GB，单张 A100 80GB 即可。本篇沿&amp;quot;LoRA 原理 → QLoRA 量化叠加 → PEFT 方法谱系&amp;quot;三个概念展开，点出与篇 8 量化方法的衔接。&lt;/p&gt;
&lt;h2 id="参数高效微调parameter-efficient-fine-tuning"&gt;参数高效微调（Parameter-Efficient Fine-Tuning）
&lt;/h2&gt;
 &lt;blockquote&gt;
 &lt;p&gt;全量微调大模型成本高昂。参数高效微调（PEFT）只训练少量额外参数，达到接近全量微调的效果。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="low-rank-adaptation"&gt;Low-Rank Adaptation
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;缩写&lt;/strong&gt;：LoRA&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;中文名称&lt;/strong&gt;：低秩适配&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;简短介绍&lt;/strong&gt;：在冻结的预训练权重旁添加低秩分解的适配矩阵（A×B），只训练 A 和 B（参数量 &amp;laquo; 原始权重），达到接近全量微调的效果。最流行的 PEFT 方法。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;详细介绍&lt;/strong&gt;：LoRA 的数学形式：&lt;/p&gt;
&lt;p&gt;原始权重 W (d×d)，LoRA 添加：ΔW = B × A&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A: r×d (降维), B: d×r (升维), r &amp;laquo; d (通常 r=8/16/64)&lt;/li&gt;
&lt;li&gt;前向：y = W·x + B·A·x = (W + ΔW)·x&lt;/li&gt;
&lt;li&gt;训练时 W 冻结，只训练 A 和 B&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;参数量对比（d=4096, r=8）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;全量微调：4096 × 4096 = 16.7M 参数/层&lt;/li&gt;
&lt;li&gt;LoRA：4096 × 8 + 8 × 4096 = 65K 参数/层（减少 256x）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;初始化技巧：A 用随机高斯初始化，B 用零初始化 → 训练初期 ΔW=0，不改变原模型行为。&lt;/p&gt;
&lt;p&gt;推理时合并：W_merged = W + B×A，合并后无额外推理开销（与全量微调相同速度）。&lt;/p&gt;
&lt;p&gt;LoRA 的应用位置：通常加在 Attention 的 Q/V 投影上（最有效），也可加在 K/V 和 FFN。&lt;/p&gt;
&lt;p&gt;Alpha 缩放：ΔW = (α/r) × B×A，α 控制 LoRA 更新的强度，通常 α=2r。&lt;/p&gt;
&lt;p&gt;多 LoRA 服务：一个基座模型 + 多个 LoRA 适配器，可在推理时热切换（vLLM 支持多 LoRA 服务）。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;关联论文/模型&lt;/strong&gt;：&amp;ldquo;LoRA: Low-Rank Adaptation of Large Language Models&amp;rdquo; (Hu et al., 2021, arXiv:2106.09685)；PEFT 库 (HuggingFace)；vLLM 多 LoRA&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;权威分析链接&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://arxiv.org/abs/2106.09685" target="_blank" rel="noopener"
 &gt;https://arxiv.org/abs/2106.09685&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://huggingface.co/docs/peft/en/package_reference/lora" target="_blank" rel="noopener"
 &gt;https://huggingface.co/docs/peft/en/package_reference/lora&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="quantized-lora"&gt;Quantized LoRA
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;缩写&lt;/strong&gt;：QLoRA&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;中文名称&lt;/strong&gt;：量化低秩适配&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;简短介绍&lt;/strong&gt;：LoRA + 量化的组合。将基座模型量化到 4-bit (NF4) 冻结，只在量化模型上训练 LoRA 适配器。使在单张消费级 GPU 上微调 70B 模型成为可能。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;详细介绍&lt;/strong&gt;：QLoRA 的关键创新：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;NF4 (NormalFloat 4-bit) 量化：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;针对 LLM 权重正态分布设计的 4-bit 量化格式&lt;/li&gt;
&lt;li&gt;量化分位数与正态分布的分位数对齐，信息损失最小&lt;/li&gt;
&lt;li&gt;比 INT4 精度更高&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;双重量化（Double Quantization）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;量化常量（scale/zero-point）本身也量化（8-bit）&lt;/li&gt;
&lt;li&gt;进一步节省显存（每参数省 ~0.4 bit）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;分页优化器（Paged Optimizer）：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;用 PagedAttention 同款技术管理优化器状态&lt;/li&gt;
&lt;li&gt;显存峰值时自动将优化器状态卸载到 CPU&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;效果：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;65B 模型全量微调需 ~780GB 显存（40+ 张 A100）&lt;/li&gt;
&lt;li&gt;QLoRA 微调 65B 仅需 ~33GB（单张 A100 80GB 足够）&lt;/li&gt;
&lt;li&gt;精度接近全量 BF16 微调（差距 &amp;lt; 1%）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;训练流程：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;加载 4-bit NF4 量化模型（冻结）&lt;/li&gt;
&lt;li&gt;添加 LoRA 适配器（FP16 训练）&lt;/li&gt;
&lt;li&gt;前向：4-bit 反量化 → 计算 → LoRA 适配&lt;/li&gt;
&lt;li&gt;反向：梯度只流过 LoRA 参数&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;实践工具：HuggingFace PEFT + bitsandbytes&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;关联论文/模型&lt;/strong&gt;：&amp;ldquo;QLoRA: Efficient Finetuning of Quantized LLMs&amp;rdquo; (Dettmers et al., 2023, arXiv:2305.14314)；bitsandbytes；HuggingFace PEFT&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;权威分析链接&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://arxiv.org/abs/2305.14314" target="_blank" rel="noopener"
 &gt;https://arxiv.org/abs/2305.14314&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://huggingface.co/blog/4bit-transformers-bitsandbytes" target="_blank" rel="noopener"
 &gt;https://huggingface.co/blog/4bit-transformers-bitsandbytes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="parameter-efficient-fine-tuning"&gt;Parameter-Efficient Fine-Tuning
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;缩写&lt;/strong&gt;：PEFT&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;中文名称&lt;/strong&gt;：参数高效微调&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;简短介绍&lt;/strong&gt;：一类只训练模型少量参数（而非全量参数）的微调方法总称。包括 LoRA、Adapter、Prefix Tuning、Prompt Tuning 等。HuggingFace PEFT 库统一了这些方法的接口。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;详细介绍&lt;/strong&gt;：PEFT 方法谱系：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;方法&lt;/th&gt;
					&lt;th&gt;额外参数位置&lt;/th&gt;
					&lt;th&gt;参数量占比&lt;/th&gt;
					&lt;th&gt;推理开销&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;LoRA&lt;/td&gt;
					&lt;td&gt;权重低秩分解&lt;/td&gt;
					&lt;td&gt;0.1~1%&lt;/td&gt;
					&lt;td&gt;可合并，无额外开销&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Adapter&lt;/td&gt;
					&lt;td&gt;层后插入小网络&lt;/td&gt;
					&lt;td&gt;1~5%&lt;/td&gt;
					&lt;td&gt;增加一层计算&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Prefix Tuning&lt;/td&gt;
					&lt;td&gt;KV 前加可学习前缀&lt;/td&gt;
					&lt;td&gt;0.1%&lt;/td&gt;
					&lt;td&gt;增加 prefix 长度&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Prompt Tuning&lt;/td&gt;
					&lt;td&gt;输入嵌入加可学习向量&lt;/td&gt;
					&lt;td&gt;&amp;lt;0.01%&lt;/td&gt;
					&lt;td&gt;增加输入长度&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;P-Tuning v2&lt;/td&gt;
					&lt;td&gt;每层加 prefix&lt;/td&gt;
					&lt;td&gt;0.1~1%&lt;/td&gt;
					&lt;td&gt;同 prefix tuning&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;LoRA 是当前最主流的选择（可合并、无推理开销、效果好）。&lt;/p&gt;
&lt;p&gt;PEFT 的核心价值：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;单卡可微调大模型（QLoRA: 单卡 70B）&lt;/li&gt;
&lt;li&gt;多任务：一个基座 + 多个 LoRA 适配器&lt;/li&gt;
&lt;li&gt;存储高效：LoRA 适配器仅几十 MB&lt;/li&gt;
&lt;li&gt;可组合：多个 LoRA 可叠加/混合&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;关联论文/模型&lt;/strong&gt;：&amp;ldquo;PEFT: Parameter-Efficient Fine-Tuning&amp;rdquo; (HuggingFace)；LoRA、Adapter、Prefix Tuning 系列论文&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;权威分析链接&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://huggingface.co/docs/peft/" target="_blank" rel="noopener"
 &gt;https://huggingface.co/docs/peft/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/huggingface/peft" target="_blank" rel="noopener"
 &gt;https://github.com/huggingface/peft&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="本篇小结"&gt;本篇小结
&lt;/h2&gt;&lt;p&gt;本篇 3 个 PEFT 术语沿&amp;quot;低秩适配 → 量化叠加 → 方法谱系&amp;quot;归位：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;LoRA&lt;/strong&gt; 用低秩分解 ΔW = B×A（A: r×d, B: d×r, r &amp;laquo; d）把可训参数压到全量的 0.1~1%，d=4096/r=8 时 65K vs 16.7M（减少 256x）；初始化技巧（A 随机高斯、B 零初始化）保证训练初期 ΔW=0；推理时合并 W_merged = W + B×A 后无额外开销，这是相对 Adapter 的关键优势；α=2r 缩放控制更新强度；vLLM 支持多 LoRA 热切换。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QLoRA&lt;/strong&gt; 是篇 8 量化方法在微调场景的落地：NF4（针对权重正态分布设计的 4-bit）+ 双重量化 + 分页优化器三个创新，把 65B 全量微调 ~780GB 压到 ~33GB 单卡 A100 80GB，精度差距 &amp;lt; 1%；流程是 4-bit NF4 冻结 + LoRA FP16 训练，工具链 HuggingFace PEFT + bitsandbytes。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PEFT&lt;/strong&gt; 是方法总称，谱系表中 LoRA 凭&amp;quot;可合并、无推理开销、效果好&amp;quot;成为当前最主流选择，其余 Adapter/Prefix/Prompt/P-Tuning v2 各有参数位置与推理开销取舍。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;QLoRA 正是篇 8 量化与篇 9 PEFT 的结合点：把 NF4 量化技术用在微调而非推理，让单卡微调大模型从奢望变为例行。&lt;/p&gt;
&lt;p&gt;本系列共 11 篇，本文是第 9 篇。系列导读见：&lt;a class="link" href="https://bevisy.github.io/p/llm-terminology-series-guide/" &gt;LLM 术语全景图：系列导读&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>