GaLore:以梯度低秩投影实现显存高效的全参数 LLM 训练

本页为第 15 篇(训练、并行与 GPU Kernel 类),全部定量内容取自本地论文 PDF 15_GaLore_2403.03507.pdf(arXiv:2403.03507v2,cs.LG,ICML 2024,PMLR 235:61121-61143),并逐条标注 PDF 页码与章节;23 页已全部逐页核对。

快速标签与阅读说明

最后核验日期:(PDF 全部 23 页逐页核对;官方仓库与 arXiv/PMLR 记录已在线核验)。

证据完整度:关键定量结论均带 PDF 页码/表号与完整测试条件,未获取的字段一律写明「论文未明确披露」;官方仓库经在线核验(R);云上产品映射为示例(E,未逐一核验规格与价格);成本公式、口径换算与运维建议为参数化推断(I)。本页不设任何评分。

证据标签图例: P=论文 R=官方仓库 E=外部资料 I=编辑推断

1. 摘要与一句话判断

论文元数据 P(第 1 页;发表信息另见 #links
标题GaLore: Memory-Efficient LLM Training by Gradient Low-Rank Projection(编辑译名:GaLore——梯度低秩投影的显存高效 LLM 训练)
作者与机构Jiawei Zhao(Caltech)、Zhenyu Zhang(UT Austin)、Beidi Chen(Meta AI / CMU)、Zhangyang Wang(UT Austin)、Anima Anandkumar*(Caltech)、Yuandong Tian*(Meta AI);*号为共同指导(equal advising)P(第 1 页作者块)
发表 / 版本Proceedings of the 41st ICML(Vienna),PMLR 235:61121-61143(第 1 页页脚 P;PMLR 卷页号 2026-09-15 在线核验 R);arXiv:2403.03507v2(2024-06-02,左侧水印逐字核验),v1 为 2024-03-06;arXiv Comments 字段为「ICML 2024 (Oral)」(R,2026-09-15 核验)
代码论文第 1 页摘要末句以链接给出 https://github.com/jiaweizzhao/GaLore,经在线核验(R,见 #links
评估范围预训练:LLaMA 系 60M/130M/350M/1B/7B,C4 数据集、无数据重复,7B 至 19.7B tokens;微调:RoBERTa-Base GLUE、BERT-Base SQuAD、Gemma-2b / Phi-2 / LLaMA-7B 指令微调(OpenAssistant、Belle-1M)P(第 1、7-9、22-23 页)
一句话判断(编辑推断):I GaLore 把「低秩」从权重搬到了梯度上:不做 LoRA 式低秩重参数化,而是每 T 步对反传梯度做一次 SVD、把 Adam 的动量/方差状态压进 r 秩紧凑空间,更新再投影回原空间立即并入权重——因此保持全参数学习、不改训练动力学,却把优化器状态从 O(mn) 压到 O(r(m+n))。对云平台团队,它的价值是把「7B 量级预训练」的显存门槛从数据中心卡降到 24GB 消费级卡;代价是约 17% 的实现级吞吐开销(论文自评)。是否选它,核心取决于预算约束下「小显存多卡」与「大显存少卡」哪条路线更便宜(见 #cost-slo#fit)。

3 分钟速读

  1. 问题:LLM 训练显存被权重、梯度与优化器状态共同挤占——LLaMA 7B 从零预训练、单 batch 即需至少 58GB(14GB 参数 + 42GB Adam 状态与权重梯度 + 2GB 激活,BF16、序列 2048);LoRA 省显存但把参数搜索限制在低秩子空间、改变训练动态,预训练还需 ReLoRA 式全秩热身 P(第 1-2 页 §1)。
  2. 方案:利用「梯度在训练中趋于低秩」(引理 3.3 等理论)这一性质,每 T 步对梯度 G_t 做 SVD 取前 r 个左奇异向量构成投影矩阵 P_t,Adam 的 M/V 只在紧凑空间 R_t = P_t^⊤G_t 上维护;更新经 α·P_t·N_t 投影回原空间并立即并入权重。只需一侧投影:m ≤ n 取 P^⊤G,否则 GQ。每 T 步换子空间,多子空间组合等效全参数学习 P(第 4-6 页 §3-§4、算法 2)。
  3. 论文声称的主要结果:优化器状态至多省 65.5%、8-bit GaLore 优化器内存较 BF16 基线至多省 82.5%、总训练显存省 63.3%;LLaMA 7B 在 C4 上预训练 19.7B tokens,8-bit GaLore 困惑度 14.65 vs 8-bit Adam 14.61(单次试验);实测 22.0G 显存即可预训练 7B——在 RTX 4090 的 24GB 容量内(无模型并行/检查点/卸载);GLUE 上 RoBERTa-Base rank=4 平均 85.89 超 LoRA 85.61 P(显存数字见第 1 页摘要;GLUE 分数见第 2 页 §1 与第 9 页表 4;其余见第 7-9 页;条件详见 #experiments)。
  4. 云上含义:优化器状态显存从与参数同量级降到约其 1/3 以下,使「消费级单卡/小显存实例跑 7B 级训练」在容量上成立;I 但单卡 token batch 很小(≤500,开激活检查点至 4096),实际吞吐要靠数据并行横向补,成本核算必须同时计入 −17% 吞吐开销与小 batch 效率。
  5. 主要限制:7B 对比为单次试验、未调超参;65.5%/63.3% 等百分比挂在图 1 的「估算内存」分解上(22.0G 才是实测);当前实现吞吐开销 17%、效率优化被列为未来工作;8.8% 的吞吐可通过关闭逐层更新换回(显存随之 +2.32G)P(第 8-9 页、第 23 页表 11)+ R(仓库 README 的 7B 演示口径为 bsz=16、22.8G、开激活检查点,2026-09-15 核验)。

2. 问题背景

显存问题解剖:LLM 训练的显存不只参数本身——Adam 类优化器要为每个可训练参数存一阶矩 M 与二阶矩 V,加上权重梯度,常常超过参数存储自身。论文算例:LLaMA 7B 从零预训练、单 batch 需至少 58GB=14GB(BF16 参数)+ 42GB(Adam 优化器状态与权重梯度)+ 2GB(激活);该估算基于 LLaMA 架构、BF16、最大序列长 2048(脚注 1)。这使得 7B 预训练在 RTX 4090 这类 24GB 消费级卡上不可行 P(第 1 页 §1)。

LoRA 路线的两个根本限制(论文归纳):P(第 1-2 页 §1)

  1. 限制参数搜索空间:LoRA 把 W 重参数化为 W₀ + BA(r ≪ min(m,n)),若最优权重本身非低秩(如线性回归中最优 W* 高秩),低秩假设永远到不了最优解。
  2. 改变训练动态:同时优化 B、A 与原模型轨迹不同;预训练场景下 ReLoRA 需要先做全秩训练热身,才能在低秩子空间中继续优化。

此外,LoRA 在微调上也未被证明能达到全参微调的可比性能(引 Xia et al., 2024)P(第 2 页 §1)。

相关方法的定位(论文 §2 与附录 A):P(第 2-3 页 §2、第 13 页附录 A)

目标工作负载与约束:LLaMA 类 Transformer 的从零预训练(60M–7B,C4、无数据重复)与全参微调(GLUE/SQuAD/指令数据);显存受限单卡到 64 卡 A100 集群;优化器以 Adam 族为主(AdamW、8-bit Adam、Adafactor)P(第 7-9 页 §5、第 20 页附录 C)。

3. 核心机制

3.1 理论地基:低秩的是梯度,不是权重

I 编辑注:这组定理解释了「为什么压梯度状态可行」,也解释了 GaLore 的适用边界——它依赖梯度谱在训练中聚集到少数方向;论文未对任意架构/损失给出普适保证。

3.2 GaLore 定义与收敛性

定义 3.6(式 10):W_T = W₀ + η · Σ_t G̃_t,其中 G̃_t = P_t · ρ_t( P_t^⊤ G_t Q_t ) · Q_t^⊤
P_t ∈ R^{m×r}、Q_t ∈ R^{n×r} 为投影矩阵;ρ_t 为逐元素状态型正则(如 Adam),其状态只需在 r 秩空间维护
定理 3.8(固定投影收敛):梯度满足式 (8) 且相关量 L-连续时,若 min_t κ_t > L_A + L_B·L_C·D²,则 ‖R_t‖_F → 0,GaLore 收敛

P(第 4 页定义 3.6 与式 10、第 5 页定理 3.8 与式 11;第 18-19 页 B.4 证明)。与 LoRA 的本质区别:当 r = min(m,n) 且 ρ_t ≡ 1 时,GaLore 精确还原原模型训练轨迹;而 LoRA 即使 BA 满秩也与原轨迹不同——GaLore 不引入额外的低秩参数化 P(第 5 页 §3.3 末)。

3.3 投影矩阵怎么取:SVD + 单侧投影(算法 2)

3.4 子空间组合:多段低秩 = 全参数学习(§4.1)

固定单一子空间只能让权重沿其生长,不是全参数学习;GaLore 每 T 步对当前梯度重新 SVD、切换到新子空间:W_t = W₀ + ΔW_T1 + ΔW_T2 + …(式 14,图 2)P(第 5 页 §4.1)。切换频率 T 是关键超参:过频→SVD 开销上升、破坏定理 3.8 的固定投影条件、且优化器状态跨子空间累积会失真;过疏→困于不再重要的子空间。论文实验:T 在 50–1000 间差异不大,SVD 总开销相对其他省显存技术可忽略(<10%)P(第 5 页 §4.1、第 9 页图 5 左)。

3.5 超参数与内存账(§4.2-§4.4,表 1)

控制面 / 数据面职责划分(编辑推断):I 论文未使用「控制面/数据面」术语。本页划分:控制面=每 T 步的 SVD 调度与子空间切换、超参(r/T/α)管理;数据面=前向/反向计算、梯度投影与回投影、紧凑空间内 Adam 状态更新、逐层权重写入。该划分仅影响叙述,不改变组件职责的论文事实。

4. GPU/系统数据路径

GaLore 数据路径示意图:面板一为全秩空间的前向与反向,权重 W 属于 R^m×n(m 不大于 n)、以 BF16 计算,反向产生本层梯度 G_t(论文引理 3.3 说明训练中梯度趋于低秩;权重不做低秩参数化、不引入 BA 因子);面板二为投影矩阵刷新——每 T 步对 G_t 做奇异值分解并取前 r 个左奇异向量为 P_t(式 12-13),其余步复用上一个投影矩阵,实现上只取一侧投影(m 不大于 n 时取 P 转置乘 G,否则 G 乘 Q),SVD 总开销小于 10%、T 默认 200 且在 50 到 1000 间差异不大;面板三为紧凑空间——投影梯度 R_t = P_t 转置 G_t 属于 R^r×n,Adam 的一阶矩与二阶矩只在该 r 秩空间维护(逐层优化器状态 mr+2nr,对比 LoRA 的 2mr+2nr),这是省显存的核心;面板四为紧凑空间内的 Adam 更新——滑动平均加偏置校正,归一化 N_t = M_t 除以(根号 V_t 加 ε),再乘不随 r 缩放的尺度因子 α;面板五为投影回原空间并更新权重——更新量等于 α 乘 P_t 乘 N_t,按学习率立即并入权重,无需保存 BA、无需 ReLoRA 式全秩热身,可选逐层权重更新在反向传播中就地更新、不保留权重梯度(较 8-bit Adam 再省 13.5G);面板六为子空间组合——每 T 步换入新低秩子空间并回到面板二,切换过频增加开销并破坏固定投影收敛条件,切换过疏则困于失效子空间。右侧旁栏 A 给出表 1 的逐层内存核算(GaLore 合计 mn+mr+2nr 对 LoRA mn+3mr+3nr);旁栏 B 给出 LLaMA 7B 显存对照(8-bit GaLore 实测 22.0G 在 RTX 4090 24GB 容量线内,优化器状态省 9.6G 即 65.5%、逐层更新省 13.5G、总计较 BF16 Adam 省 37.92G 即 63.3%、较 8-bit Adam 省 24.5G 即 52.3%,基线总量约 59.9G 系由减少量与百分比反推);旁栏 C 给出表 11 的 LLaMA 1B 吞吐实测(8-bit GaLore 5.63G、1019.63 tok/s 对 8-bit Adam 6.93G、1205.31,论文口径开销 17%,关闭逐层更新得 1109.38 即加回 8.8%);底部旁栏 D 汇总口径与风险注意(82.5% 仅见于摘要、7B 为单次试验未调参、图 1 为估算而 22.0G 为实测、算法 2 状态形状印刷不一致、吞吐 17% 与表 11 原始数的换算差异、表 2 与表 5 的 tokens 数不一致)。
图 1:GaLore 梯度低秩投影训练数据路径与内存核算。实线=逐层训练数据流,虚线=控制条件与每 T 步循环;蓝=全秩空间/权重,青=GPU 计算路径,紫=紧凑空间/优化器状态,琥珀=口径与风险注意。依据论文式 (10)-(15)、算法 2、图 1/2/4、表 1/3/11、§3-§5 与附录 C(arXiv:2403.03507v2)绘制 P;面板编号 ①–⑥ 与旁栏 A–D 划分、配色为编辑标注(论文本身无此图)I

端到端文字序列(与图中编号一致)

  1. ① 全秩空间前向/反向:每个线性层 W ∈ R^{m×n}(m ≤ n)以 BF16 参与前向与损失计算,反向产生本层梯度 G_t ∈ R^{m×n};权重本身不做低秩参数化(与 LoRA 的本质区别),引理 3.3 保证训练中 G_t 趋于低秩 P(第 3-4 页 §3.2、第 6 页 §4.2)。
  2. ② 投影矩阵刷新(每 T 步):t mod T = 0 时对 G_t 做 SVD,取前 r 个左奇异向量 P_t = U[:, :r];其余步复用 P_{t−1}。实现只取一侧投影:m ≤ n 用 P^⊤G,否则 GQ P(第 5 页式 12-13、第 6 页 §4.2、算法 2)。
  3. ③ 进入紧凑空间:R_t = P_t^⊤G_t ∈ R^{r×n};Adam 的一/二阶矩 M_t、V_t 只在此 r 秩空间存在——逐层优化器状态 mr + 2nr(LoRA 为 2mr + 2nr)P(第 6 页算法 2、表 1)。
  4. ④ 紧凑空间内 Adam:M/V 指数滑动平均 + 1/(1−β^t) 偏置校正,N_t = M_t/(√V_t + ε);再乘不随 r 缩放的尺度因子 α P(第 6 页算法 2、式 15、§4.4)。
  5. ⑤ 投影回原空间并更新:G̃_t = α·P_t·N_t;W_t ← W_{t−1} + η·G̃_t。增量每步立即并入权重——无需保存 BA、无需全秩热身;可选逐层权重更新在反向传播中就地完成、不保留权重梯度(7B 估算中较 8-bit Adam 再省 13.5G)P(第 4 页定义 3.6、第 6 页 §4.3、第 9 页 §5.5)。
  6. ⑥ 子空间切换(每 T 步循环回 ②):W = W₀ + ΔW_T1 + ΔW_T2 + …,多子空间组合实现全参数学习;切换频率 T 默认 200,50–1000 间差异不大,SVD 总开销 <10% P(第 5 页 §4.1、式 14、图 2;第 8 页 §5.1)。
路径上的关键配置与容量事实(配置/机制口径,非性能结论;性能结论见 #experiments
事实/数值对象与条件论文定位
逐层内存合计:GaLore mn + mr + 2nr;LoRA mn + 3mr + 3nrW ∈ R^{m×n}(m ≤ n)、秩 r;BF16 估算口径P 第 6 页 §4.2、表 1
预训练较 LoRA 至多省 30% 内存;8-bit GaLore + 8-bit 优化器 + 逐层更新:优化器状态成本低于全秩的 10%基于表 1 的内存账推导(§1 口径)P 第 2 页 §1
子空间切换频率 T:论文实验取 200;50–1000 差异不大;§1 举例「每约 200 迭代」刷新130M 消融(图 5 左)与预训练设置P 第 2、5、8 页
SVD 计算总开销 <10%(相对内存卸载等其他省显存技术)预训练场景,论文原文口径P 第 5 页 §4.1
只取一侧投影:m ≤ n 用 P^⊤G,否则 GQ;GaLore 即插即用于 AdamW / 8-bit Adam / Adafactor(图 3)实现规则(算法 1/2)P 第 1、6 页
逐层权重更新:反向传播中就地更新、不保留权重梯度;「no retaining grad」即指此技术(图 1 脚注 2)与 LOMO(Lv et al., 2023b)同源P 第 1、6 页
7B 预训练资源配置:8 节点共 64 张 A100、150K 步、19.7B tokens、r=1024;单卡实测 22.0G(token batch ≤500)LLaMA 7B(hidden 4096、32 层)、C4P 第 8 页 §5.3/§5.5
P 口径提醒(引用前必读):①图 1 是估算内存(estimated memory),摘要的 63.3% 与第 9 页 §5.5 的 52.3% 总量对比挂在该估算上;22.0G 才是 实测值(图 4、§5.5)。②82.5% 仅出现于摘要(8-bit GaLore 优化器内存 vs BF16 基线),正文只拆解出 vs 8-bit Adam 的 −65.5%(−9.6G),未给出 82.5% 的逐项推导。③论文演示的是 22.0G «在» RTX 4090 的 24GB 容量之内,未声称该实测就是在 RTX 4090 上跑的(§5 实验统一用 A100)。④官方仓库 README 的 7B 演示为另一口径:bsz=16、22.8G、开激活检查点 R(2026-09-15 核验)。

5. 架构权衡

6. 云上部署映射

以下映射为厂商中立示例;具体产品命名/规格仅作说明并标 E,以厂商当时目录为准,未逐一在线核验。论文事实(硬件、机制)单独标注 P

GaLore 组件 → 云上资源映射
论文需求云上映射(示例)证据与说明
24GB 级单卡:7B 级预训练/微调的容量门槛(22.0G 实测) E 消费级/图形级 GPU 实例(RTX 4090 级 24GB、或同级专业卡);按需/竞价计费更适合小 batch 长周期任务 22.0G 与 24GB 容量线为论文事实 P(第 8 页 §5.5);实例类型与价格为云示例 E
7B 扩展实验:8 节点 64×A100、150K 步 E A100/H100 多机实例 + 节点间 RDMA(RoCEv2/IB);数据并行即可(论文逐层更新降低梯度通信面的机制未涉及多卡通信改造) 集群规模为论文实验配置 P(第 8 页 §5.3);机型/组网为云示例 E
软件栈:PyTorch 包 galore-torch;逐层更新需 torch≥2.1(register_post_accumulate_grad_hook);8-bit 变体依赖 8-bit Adam 实现 E 容器镜像 + 版本 pin(PyTorch/包版本 digest 锁定);GPU 实例预装 CUDA 驱动栈 包名、版本要求为官方仓库 README 事实 R(2026-09-15 核验);镜像实践为云建议 E
编排:单卡任务长周期运行;数据并行横向扩吞吐 E 单机任务用抢占式实例 + 检查点续跑;多卡用 torchrun 风格 launcher + 拓扑感知调度 论文未指定编排器 P(实验为固定配置);编排建议为 I/E
弹性训练展望:消费级卡间低带宽弹性数据分布训练(论文开放问题) E 异构/竞价实例池 + 弹性伸缩组(节点进出不中断作业的编排能力) 弹性训练是论文结论章的开放问题、非已验证能力 P(第 9 页 §7);云能力为示例 E
可观测:损失尖峰、困惑度回归、显存与吞吐 E 训练指标接入集中监控(Prometheus/Grafana 或云托管监控);loss spike 告警 + 显存水位告警 指标本身为工程实践 I;论文给出损失曲线形态参照(图 6)P(第 21 页)
放置要点(编辑推断):I GaLore 的通信面与普通数据并行一致(无新的集合通信),因此它对网络的要求低于张量/流水线并行类方案——这使「多台小显存实例 + 普通带宽」成为可行替代路线;瓶颈从互联转移到单卡吞吐(−17%)与小 batch 利用率。选型时优先比价「1×A100-80G」对「N×24GB + GaLore」的同 token 成本。

7. 成本 / 性能 / SLO

7.1 训练场景的「SLO」口径

预训练没有在线时延 SLO,平台 SLA 通常转化为:I吞吐目标(tokens/s);②显存上限(决定可用最便宜卡型);③收敛里程碑(目标困惑度/下游分);④ checkpoints 间的有效训练时间占比。论文对 ①② 提供实测数字(表 11、图 4),对 ③ 提供困惑度参照(表 2/3、图 6),对 ④ 未披露(检查点频率论文未明确披露)。

7.2 成本公式(参数化,编辑推断)

预计 GPU 时(小时)≈ 总 token 数 ÷ (单卡吞吐 tokens/s × 卡数 ÷ 3600)
算力成本 ≈ GPU 时 × 当时单价(记录查询日期);GaLore 路线的吞吐项须乘 (1 + 开销系数),论文口径为 17%(1B 实测)
显存约束 ≈ 参数 + 梯度 + 优化器状态 + 激活 ≤ 卡容量;GaLore 把优化器状态项从 O(mn) 压到 O(r(m+n))
有效成本/token ≈ 算力成本 ÷ 有效训练时间占比

I 公式中由论文支撑的变量:单卡吞吐与显存(带完整条件,见 #experiments 表 E3)与 17%/8.8% 吞吐口径(第 9 页、表 11)。单价、卡型价差、网络与存储成本需按部署时数据填写,论文未披露、本页不给出伪精确数字。

7.3 敏感项排序(论文口径,条件互不可比)

P ①优化器状态:低秩投影 −65.5%(−9.6G,7B 估算口径 vs 8-bit Adam,第 9 页);②总显存:−63.3% vs BF16 Adam / −52.3% vs 8-bit Adam(同上);③优化器叠加:GaLore(rank 512) 在 8-bit Adam/Adafactor 之上再省至多 62.5%(1B、10K 步口径,第 8 页 §5.2);④对 LoRA:预训练内存至多 −30%(表 1 推导口径,第 2 页);⑤吞吐代价:−17%(vs 8-bit Adam,1B 实测口径)。I 五个数字分属不同模型/基线/估算口径,禁止横向相乘或相加;成本模型中最敏感的其实是 ②——它决定卡型单价档位。

7.4 数据缺口

8. 安全与可运维性

8.1 安全

8.2 可运维性

9. 适用 / 不适用场景

适用(触发条件 + 理由)

  1. 显存受限的 LLaMA 类预训练:单卡 24GB 想训 ≤7B,或多卡但买不起大显存卡型。触发:OOM 而非算力不足是主要矛盾;能接受 Adam 族优化器与 BF16。理由:8-bit GaLore 实测 22.0G 完成 7B 预训练配置(token batch ≤500),在 24GB 容量内 P(第 8 页 §5.5)。
  2. LoRA 预训练/微调不达标的场景。触发:LoRA 精度损失不可接受(1B 预训练 LoRA 困惑度 19.21 vs GaLore 15.64;GLUE rank=4:85.61 vs 85.89),又想保留低显存。理由:GaLore 保持全参数学习且内存账优于 LoRA(表 1)P(第 7、9 页、第 6 页)。
  3. 全参微调的显存压缩(RoBERTa/BERT 及 LLM 指令微调)。触发:全参微调质量必需、但优化器状态放不下。理由:GLUE 上 253M vs 全参 747M 内存、平均分 85.89 vs 86.28;SQuAD/OpenAssistant/Belle 亦 Comparable P(第 9、22-23 页)。
  4. 已有 AdamW/8-bit Adam 技术栈的增量改造。触发:不想换训练框架。理由:优化器级即插即用(算法 1「两行代码」),图 3 验证三类优化器兼容 P(第 1、6、7 页)+ R(官方 pip 包 galore-torch,2026-09-15 核验)。
  5. 消费级/异构算力池的弹性训练探索。触发:低带宽互联的小显存集群。理由:论文把「消费级硬件弹性数据分布训练」列为可行方向(非已完成验证)P(第 9 页 §7)+ I

不适用(触发条件 + 理由)

  1. 吞吐优先的生产级大集群预训练。触发:GPU 预算充足、追求单位时间 token 最大化。理由:当前实现有 17% 吞吐开销且作者明言实现优化留作未来工作 P(第 9 页 §5.5)。
  2. 超大模型(≫7B)的显存救急预期。触发:想当然把 63.3% 外推到数十亿~千亿参数。理由:论文最大验证点为 7B/19.7B tokens,更大规模无证据 P(第 8 页)+ I
  3. 非 Adam 族优化器为主的技术栈。触发:主力优化器不维护逐元素梯度统计。理由:GaLore 的收益来自压缩 M/V 类状态;论文实验全部为 Adam/Adafactor 族,其他优化器未验证 P(第 6-7 页)+ I
  4. 期望「原地切换」的存量作业。触发:训练中途想从普通 Adam 换成 GaLore(或反向)省显存。理由:优化器状态形状不同,切换需从权重检查点重启 I(论文未讨论迁移)。
  5. 推理/服务场景。触发:拿它做在线 serving 优化。理由:GaLore 是训练策略,不含推理时改进 P(全文范畴)。

10. 实验与指标

10.1 实验设置与口径 P(第 7-8 页 §5、第 20 页 C.1)

设置与指标口径(论文事实)
硬件预训练/微调实验全部在 NVIDIA A100 GPU(§5 首句);7B 预训练 8 节点共 64 A100;显存/吞吐实测为单设备、无激活检查点、无内存卸载、无优化器状态分区(§5.5)
数据与序列C4、无数据重复;最大序列长 256(所有模型)、每步 batch 131K tokens;10% 步数学习率预热 + 余弦退火至 10%(C.1)
架构LLaMA 系(RMSNorm + SwiGLU);7B:hidden 4096、32 层、32 头(§5.3、表 5);遵循 Lialin et al., 2024 的实验设置
精度与优化器全实验 BF16;Adam 默认超参 β₁=0.9、β₂=0.999、ε=1e-8;学习率按算力预算等额逐方法调优取最佳(网格 {0.01…0.0001})
GaLore 超参各模型统一:lr 0.01、α=0.25、T=200;表 2 各尺寸 rank:128/256/256/512(7B 用 r=1024);低秩方法统一 rank、施加于全部 MHA 与 FFN 层;LoRA α=32、dropout 0.05;ReLoRA 无全秩热身(公平对比)
内存口径表 2/表 6 为「参数 + 优化器状态」的 BF16 理论估算;图 1 为 7B 分项估算;图 4 与表 11 为实测;表 3 的 Mem 列(18G/26G)为估算
7B 对比口径「Due to computational constraints」仅单次试验、不调超参:8-bit GaLore (r=1024) vs 8-bit Adam(§5.3 原文明示)

10.2 论文实验结果(全量转录,条件逐表完整)

表 E1=论文表 2:LLaMA 预训练验证困惑度(C4;括号为参数+优化器状态 BF16 内存估算)P(第 7 页)

论文表 2 转录(困惑度越低越好;实际显存见图 4)
方法60M130M350M1B
Full-Rank34.06 (0.36G)25.08 (0.76G)18.80 (2.06G)15.56 (7.80G)
GaLore34.88 (0.24G)25.36 (0.52G)18.95 (1.22G)15.64 (4.38G)
Low-Rank(W=BA)78.18 (0.26G)45.51 (0.54G)37.41 (1.08G)142.53 (3.57G)
LoRA34.99 (0.36G)33.92 (0.80G)25.58 (1.76G)19.21 (6.17G)
ReLoRA(无热身)37.04 (0.36G)29.37 (0.80G)29.08 (1.76G)18.33 (6.17G)
r / d_model128 / 256256 / 768256 / 1024512 / 2048
训练 tokens(表 2 原文)1.1B2.2B6.4B13.1B

论文要点:GaLore 与全秩基本持平且优于其他低秩方法;1B 上 r=1024 时甚至反超全秩基线(正文 §5.1)。I 注意:表 2 的 tokens 行(1.1B/2.2B/6.4B/13.1B)与附录表 5 的数据量(1.3B/2.6B/7.8B/13.1B,= 步数 10K/20K/60K/100K × 131K tokens/步)不一致,两处均照录、未作调和。

表 E2=论文表 3:LLaMA 7B 预训练(150K 步,8-bit GaLore r=1024 vs 8-bit Adam,单次试验)P(第 7 页)

论文表 3 转录(验证困惑度;Mem 为内存估算)
方法Mem40K80K120K150K
8-bit GaLore18G17.9415.3914.9514.65
8-bit Adam26G18.0915.4714.8314.61
Tokens (B)5.210.515.719.7

论文要点:150K 步处 8-bit GaLore 14.65 vs 8-bit Adam 14.61——「comparable」(论文原词);显存估算 18G vs 26G。I 末点困惑度 GaLore 略高 0.04,且为单次试验未调参,引用时两个限定都要带上。

表 E3=论文表 11:LLaMA 1B 显存与吞吐实测(C4、token batch 256、单设备)P(第 23 页)

论文表 11 转录(Layer Wise=是否启用逐层权重更新)
逐层更新方法token batch显存 (G)吞吐 (tok/s)样本 (samples/s)
AdamW25613.601256.986.33
Adafactor25613.15581.022.92
Adam8bit2569.541569.897.90
8-bit GaLore2567.951109.385.59
AdamW2569.631354.376.81
Adafactor25610.32613.903.09
Adam8bit2566.931205.316.07
8-bit GaLore2565.631019.635.13

论文要点(§5.5 口径):当前实现 1019.63 tokens/s,较 8-bit Adam 开销 17%;关闭逐层更新得 1109.38(+8.8%)。I 编辑换算注:按表 11 原始数(1019.63 vs 同组 8-bit Adam 1205.31)直接计算为 −15.4%;论文未写明 17% 的对照行,引用时注明口径。

表 E4=论文表 4:GLUE 微调(RoBERTa-Base;报告各任务平均分)P(第 9 页)

论文表 4 转录(内存为微调内存口径;30 epochs、batch 16(CoLA 32)、max seq 512;GaLore r=4 时 α=4、r=8 时 α=2)
方法MemoryCoLASTS-BMRPCRTESST2MNLIQNLIQQPAvg
全参微调747M62.2490.9291.3079.4294.5787.1892.3392.2886.28
GaLore (rank=4)253M60.3590.7392.2579.4294.0487.0092.2491.0685.89
LoRA (rank=4)257M61.3890.5791.0778.7092.8986.8292.1891.2985.61
GaLore (rank=8)257M60.0690.8292.0179.7894.3887.1792.2091.1185.94
LoRA (rank=8)264M61.8390.8091.9079.0693.4686.9492.2591.2285.93

论文要点:rank=4 时 GaLore 85.89 > LoRA 85.61(第 2 页 §1 引言引用的正是这一对);rank=8 时 85.94 vs 85.93 基本持平;两者均与全参微调 86.28 有约 0.3-0.4 差距、显存约 1/3。I 第 2 页 §1 引言只引用了 GaLore 占优的 rank=4 对比,rank=8 的持平事实在第 9 页表 4 中,引用时应一并给出。

附录补充实验 P(第 22-23 页 D 节)

消融 P(第 9 页 §6、图 5;第 21 页图 6)

公平性限制(引用前必读):P ①表 2/3/6 与图 1 的内存为估算(理论参数量 × BF16),实测为图 4/表 11,两条口径不可混用;②7B 对比为单次试验、未调超参(§5.3 原文);③训练 tokens 数在表 2 与表 5 间不一致(1.1B/2.2B/6.4B vs 1.3B/2.6B/7.8B);④「8-bit GaLore」=GaLore + 8-bit Adam 的论文命名(§5.2),不是 8bit 化的投影矩阵;⑤17% 吞吐开销与表 11 原始数的直接换算(−15.4%)有出入,论文未写明对照行。I 引用任何数字时保留上述限定,禁止跨表相加或与站内其他论文数字直接比较。

10.3 建议复现步骤(编辑推断)

  1. I 锁定官方仓库 commit、galore-torch 版本与 PyTorch ≥2.1(逐层更新依赖 register_post_accumulate_grad_hook),容器 digest 固定。R(README,2026-09-15 核验)
  2. I 从 130M 起步复现表 2 行(r=256、T=200、α=0.25、lr 0.01、C4、seq 256、131K tokens/步、20K 步),核对困惑度 25.36 与显存数量级。
  3. I 表 11 口径做单卡 1B 冒烟:token batch 256,开/关逐层更新各测一次显存与吞吐,对照 5.63G/7.95G 与 1019.63/1109.38。
  4. I 微调路线:RoBERTa-Base GLUE rank=4(α=4、30 epochs),对照表 4 的 85.89;训练前先过 LLaMA/数据许可。
  5. I 再上 7B:预期需要多卡数据并行补吞吐;以 18G(估算)/22.0G(实测)做显存预算,并保留 8-bit Adam 回退路径。

12. 给架构师的决策清单

I 以下为落地前的勾选项;标注(P)的条目对应论文证据,(R)对应仓库核验,其余为工程判断。

13. 证据台账

下表为核心结论的证据映射;逐条引文与在线核验记录见构建文件 sources/galore.evidence.json。核验日期均为

关键结论 → 证据级别 → 定位 → 核验状态
关键结论级别定位核验状态
题名/作者/机构/ICML 2024 页脚/arXiv v2 水印;摘要末句代码链接P第 1 页已核验(PDF 原页)
摘要级结论:优化器状态 −65.5%;8-bit GaLore 优化器内存 −82.5%、总显存 −63.3%(vs BF16 基线);LLaMA 1B/7B C4 至 19.7B tokens;首次在 24GB 消费级 GPU 容量内预训练 7BP第 1 页摘要(正文定位见 EV-04~07;GLUE 85.89/85.61 见第 2 页 §1 与第 9 页表 4)已核验(PDF 原页;82.5% 仅摘要口径,见 EV-07)
7B 单 batch 显存解剖:≥58GB=14 参数 + 42 Adam 状态与梯度 + 2 激活(BF16、seq 2048)P第 1 页 §1 与脚注 1已核验(PDF 原页)
LoRA/ReLoRA 限制:低秩参数搜索、训练动态改变、需全秩热身;相关工作定位(Adafactor/8-bit/LOMO/Flora)P第 1-3 页 §1-§2、第 13 页附录 A已核验(PDF 原页)
理论:定理 3.2 梯度形式;引理 3.3 梯度训练中变低秩;推论 3.4/3.5;Transformer FFN(JoMA)P第 3-4 页、第 13-18 页附录 B已核验(PDF 原页)
定义 3.6(式 10)与定理 3.8(固定投影收敛);GaLore 与 LoRA 轨迹区别P第 4-5 页 §3.3、第 18-19 页 B.4已核验(PDF 原页)
投影设置:SVD 取前 r 奇异向量(式 12-13);单侧投影(m≤n 取 P^⊤G 否则 GQ);算法 2 全步骤与式 15P第 5-6 页、算法 2已核验(PDF 原页;M/V 印刷形状 n×r 照录,见 EV-19)
子空间组合(式 14、图 2):T 过频/过疏均有害;50–1000 差异不大;SVD 开销 <10%P第 5 页 §4.1、第 9 页图 5已核验(PDF 原页)
内存账:表 1(GaLore mn+mr+2nr vs LoRA mn+3mr+3nr);§4.2 单侧投影内存逻辑;较 LoRA 至多省 30%(§1)P第 6 页表 1 与 §4.2、第 2 页 §1已核验(PDF 原页)
超参:r/T/α 三者;α 不随 r 缩放;8-bit 优化器与逐层更新组合;「优化器状态成本低于全秩 10%」P第 6 页 §4.3-§4.4、第 2 页 §1已核验(PDF 原页)
实验设置:A100、C4 无重复、BF16、seq 256、131K tokens/步、GaLore 统一超参(lr 0.01/α 0.25/T 200);7B 单次试验未调参P第 7-8 页 §5、第 20 页 C.1已核验(PDF 原页)
表 2(60M–1B 预训练全量数字);表 3(7B:14.65 vs 14.61、18G vs 26G、19.7B tokens);1B r=1024 反超全秩P第 7-8 页、表 2/表 3已核验(PDF 原页;tokens 数表 2 vs 表 5 不一致照录)
实测显存/吞吐:图 4(7B 22.0G);表 11(1B:5.63G/1019.63 tok/s 等 8 行);17% 开销与 +8.8% 口径P第 8-9 页 §5.5、第 23 页表 11已核验(PDF 原页;17% 与原始数换算 −15.4% 有出入)
7B 显存分解:优化器状态 −9.6G(−65.5%);逐层更新 −13.5G;总量 −37.92G(−63.3%)/−24.5G(−52.3%);24GB 容量结论P第 9 页 §5.5、图 1已核验(PDF 原页;图 1 为估算口径)
GLUE 表 4 全量(85.89/85.61/86.28、rank=8 持平);SQuAD 表 8;OpenAssistant 表 9;Belle 表 10;微调超参表 7P第 9 页、第 22-23 页已核验(PDF 原页)
消融:图 5(频率/秩-步数);训练进程图 6;内存估算表 5/6(超参与分项)P第 9、20-21 页已核验(PDF 原页)
官方仓库可达性、Apache-2.0、galore-torch 安装、PyTorch 2.1/3.8 测试口径、逐层更新 torch≥2.1、7B 演示(bsz=16、22.8G、开激活检查点)、ICML Oral/Q-GaLore/GaLore 2 动态R论文第 1 页链接 + arXiv Comments + PMLR 记录;2026-09-15 在线核验已核验(2026-09-15)
云实例/编排/监控映射示例(24GB 级实例、A100 多机 RDMA、镜像 pin、弹性伸缩)E各云厂商公开目录未逐一在线核验;使用前按当时目录复核
成本公式、口径换算(−15.4% 注、≈59.9G 反推注)、控制面/数据面划分、安全与回滚建议、复现步骤I本报告 §4-§10、§12编辑标注完成;不含伪精确数字