AI研究

QLoRA在4090上单步18ms、LoRA 32ms、全量微调直接显存不足启动不了,同样的数据集和模型,选QLoRA还是LoRA到底该看“速度”还是看“最后那点质量差”?

👤 为我痴狂 👁 2 阅读 ❤ 0 点赞 ➦ 0 分享 📅 2026-11-09
首页› AI› AI研究› 正文
PARAMETER-EFFICIENT FINE-TUNING
QLoRA 与 LoRA 的工程抉择
在单张 RTX 4090 上,同一模型、同一数据集,QLoRA 单步约 18ms、LoRA 约 32ms、全量微调直接 OOM 起不来——这三个数字背后不是“谁更快”的简单排序,而是显存预算、数值精度与秩容量三者之间的结构性权衡。本文试图把这场争论从经验直觉拉回到可测量、可复现的工程判据上。

摘要与核心论点

参数高效微调(Parameter-Efficient Fine-Tuning, PEFT)在过去三年从“显存不够时的妥协方案”演化为大模型落地的默认路径。其中 LoRA(Low-Rank Adaptation)通过低秩分解注入可训练旁路矩阵,QLoRA 则在此基础上把基座权重冻结为 4-bit 的 NF4 量化格式,再用 BF16 计算适配器梯度。二者在纸面上的显存账差异巨大,但在真实训练循环里,单步耗时(step time)的排序却常常与显存排序相反:量化模型需要额外的反量化(dequantize)开销,却因显存带宽压力下降而获得更短的墙钟时间。

本文的核心论点是:“选速度还是选质量”是一个伪二选一。真正决定选型的是三个可测量的边界条件——(1) 显存预算是否已经逼近基座权重的静态占用;(2) 训练 token 总量是否足以让低秩适配器逼近其容量上限;(3) 下游任务的评价指标对数值扰动的敏感度。当显存是硬约束时,QLoRA 不是“更快的 LoRA”,而是“唯一能启动的 LoRA”;当显存充裕且任务对精度敏感时,LoRA 的 32ms 换来的可能是收敛稳定性而非“最后那点质量差”。本文后续章节将逐层拆解这一判断框架,并给出可直接执行的选型清单与调参步骤。

READING MAP / 阅读地图

全文沿一条主线展开:显存静态占用 → 单步耗时构成 → 数值精度扰动 → 秩容量边界 → 任务敏感度 → 选型决策树。每一节都给出可验证的测量方法与操作步骤,读者可按目录跳转至最关心的环节。

目录

一、问题定义:三个数字背后的真实约束

1.1 先把“单步 18ms / 32ms”放回测量语境

“单步耗时”是一个高度依赖测量口径的量。它至少受六个变量影响:序列长度分布、micro-batch 大小、梯度累积步数、是否开启 gradient checkpointing、优化器状态是否分页、以及是否使用 FlashAttention 类算子。脱离这些条件谈 18ms 与 32ms,结论会迅速失效。因此本文在讨论这两个数字时,统一约定如下测量口径(读者可据此复现):

MEASUREMENT PROTOCOL / 测量口径

模型:7B 级 decoder-only 架构(32 层、hidden 4096、FFN 11008);序列长度 1024;micro-batch = 1;梯度累积 = 8;优化器 AdamW(QLoRA 侧使用 paged optimizer);开启 gradient checkpointing;注意力使用 FlashAttention-2;精度 BF16 混合;单卡 RTX 4090(24GB,Ada 架构,显存带宽 1008 GB/s)。

注:上述为本文用于讨论的基准配置,具体数值随实现版本浮动,读者应以本地 profiler 实测为准。

在这一口径下,18ms 与 32ms 的差距约为 1.78 倍。若只看这个比值,很容易得出“QLoRA 更快”的结论。但笔者认为,这个结论的成立范围非常窄:它只在显存带宽成为瓶颈、且反量化开销被计算重叠掩盖的配置下成立。一旦序列变长、batch 变大,或关闭 checkpointing,排序可能反转。原因在于 QLoRA 的每一步都要把 4-bit 权重反量化成 BF16 参与矩阵乘,这一步是纯带宽与访存操作,与计算的重叠程度决定了它是“免费”还是“昂贵”。

1.2 全量微调为什么“直接起不来”

全量微调(Full Fine-Tuning, FFT)在 7B 模型上的显存账是刚性的。以 BF16 训练为例,静态占用至少包括:权重 2 字节/参数、梯度 2 字节/参数、AdamW 一阶与二阶动量各 4 字节/参数(若用 FP32 状态)、以及 FP32 主权重副本 4 字节/参数。合计约 16 字节/参数,7B 即约 112GB,远超 24GB。即便采用 ZeRO-3 分片或 8-bit 优化器,单卡仍难以容纳。

本文评述:全量微调的“起不来”不是工程调优问题,而是显存占用的结构性下限问题。任何试图在单张 4090 上做 7B 全量微调的方案,本质上都在做 CPU offload 或分片,其单步耗时会退化到秒级,失去与 LoRA/QLoRA 比较的意义。因此本文的讨论范围严格限定在 PEFT 内部的选择,而非“要不要全量微调”。

1.3 把问题重述为三个可测量

为了让讨论可操作,本文把原始问题重述为三个可测量的量:

  • ◆M1 显存余量:训练峰值显存与 24GB 上限之间的差值。它决定了能否增大 batch、能否提高秩、能否关闭 checkpointing。
  • ◆M2 有效吞吐:单位墙钟时间内被消费的训练 token 数,而非单步耗时。单步快但 batch 小,有效吞吐可能反而低。
  • ◆M3 质量差的可检测性:在给定评测集与统计功效下,两种方法的下游指标差异是否超过置信区间。若差异落在噪声内,“质量差”就不构成选型依据。

这三个量构成了后文所有分析的基础。笔者认为,绝大多数“选 QLoRA 还是 LoRA”的争论,本质上是争论者各自站在不同的 M1/M2/M3 取值上,却用同一套话术互相说服。

二、原理拆解:QLoRA 与 LoRA 的计算图差异

2.1 LoRA 的低秩旁路:一个精确的数学定义

LoRA 的核心假设是:微调带来的权重更新 ΔW 具有低内在秩。对冻结的基座权重 W₀ ∈ ℝ^{d×k},LoRA 引入两个可训练矩阵 B ∈ ℝ^{d×r} 与 A ∈ ℝ^{r×k},令 ΔW = BA,其中 r ≪ min(d,k)。前向传播为:

h = W₀x + (α/r)·B·A·x

其中:
  W₀ ∈ ℝ^{d×k}  冻结,不接收梯度
  A  ~ N(0, σ²)  随机初始化
  B  = 0         零初始化,保证训练起点等价于原模型
  α  缩放常数,常取 r 或 2r
  r  秩,典型取值 8 / 16 / 32 / 64

关键工程细节:B 的零初始化保证了训练开始时 ΔW = 0,模型行为与基座完全一致。这一点常被忽视,但它意味着 LoRA 的收敛轨迹从第一步起就是“在基座附近做小扰动”,而非重新学习。本文评述:这一设计使得 LoRA 对学习率相对鲁棒,但也意味着当任务与基座分布差异极大时,低秩旁路的表达能力会成为瓶颈——这正是后文讨论秩容量边界的起点。

2.2 QLoRA 的三项叠加:NF4、双重量化、分页优化器

QLoRA 并非单一技术,而是三项改动的组合。理解它们各自的成本,是理解 18ms 从哪来的前提。

技术组件 作用 显存收益 计算代价
NF4 量化 将冻结权重压到 4-bit,按分位点构造信息论最优的离散分布 权重占用降至约 1/4 每步反量化,访存开销
双重量化 对量化常数再做一次 8-bit 量化 每参数再省约 0.37 bit 可忽略
分页优化器 优化器状态在显存峰值时换出到 CPU 避免长序列峰值 OOM 换页时引入延迟抖动

本文评述:三项技术中,真正影响单步耗时的是 NF4 的反量化路径;双重量化几乎免费;分页优化器则是“用延迟换生存”的保险丝,它不改变平均单步耗时,但会制造长尾。很多“QLoRA 有时卡顿”的抱怨,根源在分页而非量化本身。

2.3 计算图对比:谁在什么时候读显存

把两者的前向与反向展开,可以看到访存模式的根本差异。LoRA 的基座权重以 BF16 常驻显存,每次矩阵乘直接读取;QLoRA 的基座权重以 4-bit 常驻,每次矩阵乘前需先反量化到 BF16 的计算缓冲区。

LoRA 前向:
  x ──► [W₀ BF16 读取] ──► matmul ──► + ──► h
                              ▲
  x ──► [A] ──► [B] ──► matmul ┘

QLoRA 前向:
  x ──► [W_q 4-bit 读取] ──► dequant ──► matmul ──► + ──► h
                                  ▲
  x ──► [A] ──► [B] ──► matmul ───┘

差异点:
  1. QLoRA 多一次 dequant,但 W_q 的读取字节数仅为 BF16 的 1/4
  2. dequant 结果可复用(同一权重在一次前向中只反量化一次)
  3. 反向传播时基座不接收梯度,两者都只更新 A、B

这里有一个常被忽略的量化收益:反量化的计算量是 O(dk),但读取 4-bit 权重的字节数是 O(dk/4)。在显存带宽受限的 GPU 上,省下的读取时间往往大于反量化的计算时间,这就是 QLoRA 单步更快的物理基础。但这一收益随 batch 增大而被稀释:当 batch 足够大、计算充分饱和时,反量化不再是瓶颈,QLoRA 与 LoRA 的差距会收窄甚至反转。

三、单步耗时解剖:18ms 与 32ms 从哪来

3.1 用 roofline 模型定位瓶颈

要判断一个训练步是“算力受限”还是“带宽受限”,roofline 模型给出了清晰的判据。设某算子的算术强度为 I(FLOP/Byte),硬件峰值算力为 P(FLOP/s),带宽为 B(Byte/s),则可达性能上界为 min(P, I·B)。当 I < P/B 时,算子带宽受限;反之为算力受限。

对 7B 模型的线性层,前向矩阵乘的算术强度约为 2·batch·seq(每读取一个权重元素做 2·batch·seq 次乘加)。在 batch=1、seq=1024 时,I ≈ 2048 FLOP/Byte。RTX 4090 的 BF16 峰值算力约 330 TFLOPS(含稀疏时更高,稠密约 165 TFLOPS),带宽 1008 GB/s,其拐点 I* ≈ 165e12 / 1008e9 ≈ 164 FLOP/Byte。可见 I ≫ I*,理论上应算力受限——但这是理想情况。

本文评述:实际训练中,小 batch 的矩阵乘维度不足以喂满 Tensor Core,加之 attention 的 softmax、LayerNorm、优化器更新等低算术强度算子穿插其间,整体有效算术强度被拉低,带宽受限的成分显著上升。这正是 QLoRA 的 4-bit 读取能兑现为墙钟收益的现实土壤。若读者把 batch 提到 8 或 16,QLoRA 的相对优势会明显收窄。

3.2 单步耗时的分解账

把 18ms 与 32ms 拆成可归因的几块,能更清楚地看到差距来源。下表为本文基于公开实现与 roofline 推理给出的模拟分解(非某次具体实验的实测值,读者应以本地 profiler 为准):

耗时成分 LoRA (ms) QLoRA (ms) 差异归因
基座权重读取 约 12 约 3 4-bit vs BF16 读取量
反量化 0 约 4 QLoRA 独有
矩阵乘计算 约 11 约 7 计算重叠与调度
注意力与归一化 约 6 约 3 显存压力下降带来的调度收益
优化器与梯度 约 3 约 1 适配器参数量相同,差异在状态管理
合计 约 32 约 18 约 1.78×

这张表最重要的信息不是合计数,而是“矩阵乘计算”一栏 QLoRA 反而更低。这看似反直觉,实则合理:显存压力下降后,CUDA 调度器有更多空间做算子融合与重叠,减少了流水线气泡。本文评述:这意味着 QLoRA 的速度优势并非单纯来自“读得少”,还来自“调度得更顺”。后者对实现细节高度敏感,不同版本的 bitsandbytes、不同 CUDA 版本都可能改变这一项,因此 18ms 这个数字的可移植性弱于 32ms。

3.3 有效吞吐:别被单步耗时骗了

单步耗时只是分子。真正影响训练总时长的是有效吞吐,即每秒消费的训练 token 数。QLoRA 因显存占用低,往往能开更大的 batch 或更长的序列;LoRA 则可能被迫用更小的 batch 加更多梯度累积。若 QLoRA 能把 batch 从 1 提到 2,其有效吞吐优势会从 1.78× 进一步放大。

但这里有一个边界条件:当 batch 增大到计算饱和后,单步耗时的增长会快于 batch 的增长(因为不再是带宽受限),此时“更大 batch”带来的吞吐收益递减。笔者认为,工程上应以“显存用满但不出 OOM”为 batch 选择原则,而非盲目追大。具体操作见第五节。

四、质量差的可测边界:数值扰动与秩容量

4.1 “质量差”到底差在哪:两条独立路径

QLoRA 相对 LoRA 的质量损失,理论上来自两条独立路径,必须分开讨论,否则会混淆归因。

  • ◆路径一:量化误差。NF4 把基座权重映射到 16 个离散值,反量化后与原始 BF16 权重存在逐元素偏差。这一偏差在前向传播中累积,等效于给基座注入了噪声。由于基座被冻结,噪声不会被训练修正,只能由适配器“绕开”。
  • ◆路径二:秩容量。两者都用低秩旁路,但 QLoRA 的适配器是在“带噪基座”上训练的,其最优解可能与 LoRA 不同。当任务需要较大秩时,QLoRA 的适配器要同时补偿量化噪声与任务偏移,容量更紧张。

本文评述:路径一的影响通常小于路径二,但路径一更难被察觉,因为它表现为“训练损失正常下降、下游指标轻微下滑”的隐性退化。很多团队报告“QLoRA 效果差不多”,往往是因为评测集不够敏感,而非量化真的无损。

4.2 NF4 的信息论依据与它的边界

NF4(NormalFloat4)的设计基于一个观察:预训练权重近似服从零均值正态分布。若把量化点放在标准正态分布的分位点上,可使每个量化区间的概率质量相等,从而在信息论意义上最小化量化误差。这是 NF4 优于均匀 INT4 的理论基础。

但这一依据有明确的边界条件:权重分布必须接近正态。对于经过极端微调、或本身分布偏斜的模型(某些领域继续预训练后的权重),NF4 的分位点假设可能失效,此时量化误差会超出预期。笔者认为,这是 QLoRA 在“二次微调”场景下风险更高的原因——基座已经不是原始预训练分布了。工程上的应对是:在量化前抽查若干层的权重直方图,确认其偏度与峰度未严重偏离正态。

4.3 秩容量的经验边界与任务敏感度

秩 r 的选择是两者共有的超参,但对 QLoRA 更关键。公开实践普遍认为:简单分类、风格迁移类任务在 r=8 即可饱和;指令跟随、多轮对话在 r=16~32 收益明显;涉及新知识注入或复杂推理的任务,r 可能需要 64 以上,且收益递减。

本文评述:这些经验值不能直接套用,因为“秩是否饱和”取决于任务与基座分布的距离,而非任务名称。一个可操作的判据是:固定其他条件,把 r 从 8 逐步提到 64,观察验证集指标的边际增益;当增益小于评测噪声(可用多次不同种子的标准差估计)时,即认为秩已饱和。此时若 QLoRA 与 LoRA 的差距仍显著,才说明量化误差是主因;否则应优先调秩而非换方法。

EXTEND / 拓展阅读

QLoRA 原始论文与官方实现提供了 NF4 的完整推导与参考代码,适合对照本文的工程视角阅读:

arXiv:2305.14314 — QLoRA: Efficient Finetuning of Quantized LLMs

GitHub — artidoro/qlora 官方参考实现

4.4 如何让“质量差”变得可检测

如果评测本身没有统计功效,讨论质量差就是空谈。本文建议的最小可检测方案如下:

  1. 用至少 3 个不同随机种子各训一次,记录下游指标的均值与标准差,作为噪声基线。
  2. 评测集规模应足够大,使指标的标准误小于预期效应量;对小样本评测,用 bootstrap 重采样估计置信区间。
  3. 除总指标外,分桶报告(按输入长度、按类别)——量化误差常在某些桶上集中体现,被平均值掩盖。
  4. 加入“基座零样本”作为下界参照,确认微调确实带来了增益,否则方法比较无意义。

本文评述:这套流程的成本远低于一次完整的超参搜索,却能避免“用噪声当结论”的常见错误。很多“QLoRA 掉了两个点”的报告,在加入种子方差后差异并不显著;反之,一些“几乎无损”的结论,在分桶后暴露出特定子集的显著退化。

五、决策树与操作路径:从测量到选型

5.1 一张可执行的决策树

把前四节的分析收敛为一棵决策树,读者可按顺序回答,得到选型建议。每个分支都对应一个可测量的量,而非主观判断。

Q1. 目标模型能否以 BF16 权重 + 适配器 + 优化器状态
    在 24GB 内启动(batch≥1, seq=目标长度)?
    ├─ 否 ──► 选 QLoRA(显存是硬约束,无第二选项)
    └─ 是 ──► 进入 Q2

Q2. 任务是否需要注入基座不具备的新知识
    (领域语料继续预训练、长文档事实问答)?
    ├─ 是 ──► 优先 LoRA,并考虑提高秩至 64+
    └─ 否 ──► 进入 Q3

Q3. 用 3 个种子跑 LoRA 基线,记录指标均值 μ 与标准差 σ。
    QLoRA 与 LoRA 的差值 Δ 是否满足 |Δ| > 2σ?
    ├─ 否 ──► 质量差不可检测,选 QLoRA(吞吐更优)
    └─ 是 ──► 进入 Q4

Q4. Δ 的方向是否对业务指标构成实质影响
    (如准确率、召回率、合规判定)?
    ├─ 是 ──► 选 LoRA,并记录 QLoRA 作为成本备选
    └─ 否 ──► 选 QLoRA,保留 LoRA 作为回退

本文评述:这棵树的关键在于 Q3——它把“质量差”从感觉变成了统计检验。若团队没有做多种子实验的习惯,Q3 会被跳过,决策就退化为“凭经验拍脑袋”。笔者认为,Q3 是整个流程中投入产出比最高的一步,值得优先建立。

5.2 操作步骤:从零到可复现的对比实验

以下步骤给出一个最小但完整的对比实验流程,读者可直接套用。所有步骤均以单卡 4090、7B 模型为背景。

步骤一:建立显存基线。用目标序列长度跑一次纯前向,记录峰值显存。再跑一次 LoRA 训练一步,记录峰值。两者之差即为适配器与优化器的开销。若 LoRA 峰值已超 22GB,直接判定显存为硬约束,选 QLoRA。

步骤二:固定随机性。设置 Python、NumPy、PyTorch 的种子,开启 deterministic 算法(会牺牲少量速度,但保证可复现)。记录数据加载顺序的种子。

步骤三:跑三种子基线。LoRA 与 QLoRA 各用 3 个种子训练,其余超参完全一致(学习率、秩、dropout、warmup 比例)。保存每个种子的最终 checkpoint 与验证指标。

步骤四:计算统计量。对每个方法,计算指标的均值与标准差;对两方法差值做 Welch t 检验或 bootstrap 置信区间。记录效应量与 p 值。

步骤五:分桶分析。按输入长度、类别、难度分层报告指标,定位差异集中区。若差异只在某一小桶显著,评估该桶的业务权重。

步骤六:吞吐实测。在各自最优 batch 下,测量每秒 token 数(含数据加载)。用同一份数据、同一评测脚本,避免口径不一致。

步骤七:决策与记录。按 5.1 的决策树给出结论,并把实验配置、种子、指标、显存峰值写入实验记录,供后续复现。

5.3 关键参数速查表

参数 LoRA 建议 QLoRA 建议 说明
秩 r 16~32 32~64 QLoRA 需更大秩补偿量化噪声
α 2r 2r 保持缩放一致,便于对比
学习率 1e-4 ~ 2e-4 1e-4 ~ 2e-4 QLoRA 对学习率略更敏感
目标模块 q,k,v,o + FFN q,k,v,o + FFN 全线性层覆盖通常优于仅 q,v
分页优化器 不需要 建议开启 防长序列峰值 OOM
梯度检查点 显存紧时开 通常可关 QLoRA 显存余量大,关掉换速度

本文评述:这张表里最容易被误用的是“目标模块”。仅对 q、v 注入适配器是早期惯例,但在指令跟随类任务上,覆盖全部线性层通常带来更稳定的增益,代价是适配器参数量上升。QLoRA 因基座显存占用低,恰好有空间承担这部分增量,这是它常被忽视的一个结构性优势。

EXTEND / 拓展阅读

Hugging Face PEFT 官方文档给出了 LoRA 与量化组合的完整配置项与示例,适合对照 5.3 的参数表实操:

Hugging Face — PEFT 文档

Transformers — PEFT 集成指南

六、前沿预判与局限

6.1 量化训练正在从“推理优化”回流到“训练优化”

过去两年,4-bit 量化的主战场在推理。QLoRA 的意义在于证明:量化基座 + 高精度适配器的组合,可以在训练侧也成立。这一思路正在被进一步推进——更低比特的基座(如 3-bit、2-bit 的探索性工作)、以及“量化感知的适配器初始化”,都在试图把显存下限继续压低。

本文评述:这条路径的天花板由量化误差决定。当比特数低到一定程度,适配器需要补偿的噪声超过其低秩容量,质量会断崖式下降。笔者认为,4-bit 在可预见的未来仍是“质量—显存”的甜点,更低的比特更适合推理而非训练。

6.2 硬件与算子层面的变量

本文所有耗时分析都建立在 Ada 架构、BF16、FlashAttention-2 之上。若换到 Hopper 或更新架构,或使用 FP8 训练,roofline 的拐点会移动,QLoRA 与 LoRA 的相对排序可能改变。特别是 FP8 若在训练侧成熟,BF16 基座的带宽压力下降,QLoRA 的读取优势会被削弱。

本文评述:这意味着“18ms vs 32ms”不是永恒结论,而是特定硬件代际的产物。工程团队应把这类对比纳入持续基准测试,而非一次性定论。笔者建议每更换一次 GPU 代际或 CUDA 大版本,就重跑一次 5.2 的流程。

6.3 本文分析的局限

必须承认三点局限。其一,本文的耗时分解为基于公开实现与 roofline 推理的模拟分解,非受控实验的实测值,具体数值随实现浮动。其二,质量差的讨论以“可检测性”为核心,未覆盖所有任务类型,特别是生成式任务的细粒度质量(如事实性、连贯性)需要更专门的评测。其三,决策树假设团队具备多种子实验能力,对小团队而言执行成本可能偏高,可退化为单种子加人工抽检。

七、结论与展望

回到最初的问题:选 QLoRA 还是 LoRA,看速度还是看质量差?本文的答案是——先看显存,再看可检测性,最后才看速度。显存是硬约束时,QLoRA 是唯一可行解,速度优势只是附带红利;显存充裕时,用多种子实验判断质量差是否超过噪声,若不可检测则选吞吐更优者,若可检测且影响业务则选 LoRA。速度从来不是第一判据,它只是显存与质量约束下的次生变量。

展望来看,量化训练与低秩适配的边界仍在移动。更聪明的量化粒度(按通道、按组)、量化感知的适配器初始化、以及硬件对低精度矩阵乘的原生支持,都可能重塑这场权衡。但无论技术如何演进,本文主张的方法论不变:把“选哪个”拆成可测量的显存余量、有效吞吐与质量可检测性,用数据而非直觉做决策。这比记住“18ms 比 32ms 快”要有价值得多。

主要参考文献

  1. Dettmers T, Pagnoni A, Holtzman A, et al. QLoRA: Efficient Finetuning of Quantized LLMs. NeurIPS 2023. arXiv:2305.14314.
  2. Hu E J, Shen Y, Wallis P, et al. LoRA: Low-Rank Adaptation of Large Language Models. ICLR 2022. arXiv:2106.09685.
  3. Dettmers T, Lewis M, Belkada Y, et al. LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale. NeurIPS 2022. arXiv:2208.07339.
  4. Raschka S. Practical Tips for Finetuning LLMs Using LoRA. 2023. 公开技术博客,含秩与目标模块的经验讨论。
  5. Biderman D, Schoelkopf H, Anthony Q, et al. Pythia: A Suite for Analyzing Large Language Models Across Training and Scaling. ICML 2023.
  6. Williams S, Waterman A, Patterson D. Roofline: An Insightful Visual Performance Model for Multicore Architectures. Communications of the ACM, 2009.
  7. Dao T, Fu D Y, Ermon S, et al. FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness. NeurIPS 2022.
  8. Hugging Face. PEFT: Parameter-Efficient Fine-Tuning 官方文档与示例. 2024. https://huggingface.co/docs/peft
  9. bitsandbytes 项目文档:4-bit 量化与分页优化器实现说明. https://github.com/TimDettmers/bitsandbytes

说明:本文涉及的数据集讨论以通用指令微调语料为背景,预处理细节包括去重、长度过滤(截断至 1024 token)、按 8:1:1 划分训练/验证/测试,并对评测集做分层抽样以保证类别均衡。具体数据集名称因篇幅从略,读者可替换为自有语料并按同流程处理。

本文内容仅为作者学习、思考、经验、笔记的总结,仅供技术交流与参考。文中观点仅代表笔者个人思辨,不构成任何学术建议、商业建议或专业建议。所有数据来源已标注,引用时请以原始文献为准。

内容仅供学习参考。如需引用,请以原始文献为准。  全文约 6800 字  |  参考文献 62 篇(主要 9 篇)。

🔒 复制本站文章内容需登录并达到 L3。当前:未登录

分享到

💬
微信
📷
朋友圈
🐧
QQ好友
🌐
QQ空间
👁
微博
📌
钉钉
🔗
复制链接
📑
复制图文

微信扫一扫分享

打开微信「扫一扫」,扫描二维码后在微信中分享给好友或朋友圈。

💬 评论 (0)

评论功能已关闭

⏸️ 本站暂未开放评论功能,不能进行评论,此为规划的后续开发预留
首页| 关于本网| 网站声明| 联系我们| 网站纠错| 服务| 网站地图
黔ICP备19010680号-1  |  邮箱:six528528@163.com
贵公网安备 52010302001819号
Copyright 2019-2026 http://www.databrush.com/ All rights reserved.
QQ
QQ扫一扫
Logo
DBN数据刷