Spectral Compact Training: Pre-Training Large Language Models via Permanent Truncated SVD and Stiefel QR Retraction
作者: Björn Roman Kohlberger
分类: cs.LG, cs.AI
发布日期: 2026-04-07
💡 一句话要点
提出谱紧凑训练SCT,通过截断SVD和Stiefel流形QR回撤预训练大型语言模型,显著降低内存占用。
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 大型语言模型 低秩分解 奇异值分解 内存优化 谱紧凑训练
📋 核心要点
- 现有方法在消费级硬件上训练大型语言模型时,面临着严重的内存瓶颈,限制了模型规模和训练效率。
- SCT通过使用永久截断的SVD分解来压缩权重矩阵,并在训练过程中保持其紧凑形式,显著降低了内存占用。
- 实验表明,SCT能够在低端硬件上训练大型模型,并在GPU上实现显著的内存缩减和吞吐量提升。
📝 摘要(中文)
本文提出谱紧凑训练(SCT),该方法使用永久截断的SVD分解来替代稠密权重矩阵,即W = U diag(s) V^T,在训练或推理过程中从不物化完整的稠密矩阵。梯度通过紧凑的谱因子以标准反向传播的方式流动,并且在每次优化器步骤后,U和V通过QR分解回撤到Stiefel流形。在秩为32时,SCT在每个MLP层实现了高达199倍的内存缩减,从而能够在Steam Deck掌机上进行700亿参数架构的完整训练步骤(峰值内存为7.2 GB,而使用Adam进行稠密FP32训练则为1,245 GB)。在SmolLM2-1.7B上的秩扫描实验(秩32-256,2000步,NVIDIA A100)表明,所有测试的秩都收敛到相同的损失下限(约4.2-4.5),表明学习率调度而非MLP秩是主要的瓶颈。秩128成为效率的最佳点,以11.7倍的MLP压缩实现了最低的困惑度。在秩32时,GPU内存下降了46%,而训练吞吐量翻了一番。
🔬 方法详解
问题定义:现有的大型语言模型训练受到“内存墙”的限制,即训练过程中需要存储大量的参数和中间激活值,导致消费级硬件难以承担。传统的稠密矩阵存储方式效率低下,阻碍了更大规模模型的训练和部署。
核心思路:SCT的核心思路是用低秩矩阵分解来近似原始的稠密权重矩阵,具体来说,使用截断的奇异值分解(SVD)将权重矩阵分解为三个矩阵的乘积,从而大大减少了需要存储的参数数量。在训练过程中,只更新分解后的矩阵,避免物化完整的稠密矩阵。
技术框架:SCT方法主要包含以下几个步骤:1. 使用截断SVD初始化权重矩阵:将原始的稠密权重矩阵分解为三个矩阵U、s和V,其中s是对角矩阵,包含奇异值。2. 前向传播:使用分解后的矩阵进行前向计算。3. 反向传播:计算梯度并更新分解后的矩阵。4. Stiefel流形回撤:为了保证U和V是正交矩阵,在每次更新后,使用QR分解将它们回撤到Stiefel流形。
关键创新:SCT的关键创新在于使用永久截断的SVD分解,并在训练过程中始终保持权重矩阵的紧凑形式。与传统的低秩适应方法(如LoRA)不同,SCT直接在分解后的矩阵上进行训练,避免了额外的参数开销。此外,使用Stiefel流形回撤保证了分解矩阵的正交性,提高了模型的稳定性和性能。
关键设计:SCT的关键设计包括:1. 秩的选择:秩的大小决定了模型的压缩率和性能。实验表明,秩128在SmolLM2-1.7B模型上取得了最佳的效率和性能平衡。2. 学习率调度:实验发现,学习率调度是影响模型收敛的关键因素。3. Stiefel流形回撤:使用QR分解进行Stiefel流形回撤,保证了分解矩阵的正交性。
🖼️ 关键图片
📊 实验亮点
SCT在SmolLM2-1.7B模型上进行了实验,结果表明:在秩32时,每个MLP层实现了高达199倍的内存缩减,GPU内存下降了46%,训练吞吐量翻了一番。所有测试的秩(32-256)都收敛到相同的损失下限(约4.2-4.5),表明学习率调度而非MLP秩是主要的瓶颈。秩128成为效率的最佳点,以11.7倍的MLP压缩实现了最低的困惑度。
🎯 应用场景
SCT具有广泛的应用前景,包括:1. 在资源受限的设备上训练和部署大型语言模型,如移动设备、嵌入式系统等。2. 加速大型模型的训练,降低训练成本。3. 提高模型的隐私性,因为SVD分解可以隐藏原始权重矩阵的信息。4. 促进边缘计算和联邦学习的发展。
📄 摘要(原文)
The memory wall remains the primary bottleneck for training large language models on consumer hardware. We introduce Spectral Compact Training (SCT), a method that replaces dense weight matrices with permanent truncated SVD factors W = U diag(s) V^T, where the full dense matrix is never materialized during training or inference. Gradients flow through the compact spectral factors via standard backpropagation, and U, V are retracted to the Stiefel manifold via QR decomposition after each optimizer step. SCT achieves up to 199x memory reduction per MLP layer at rank 32, enabling full training steps of 70B-parameter architectures on a Steam Deck handheld (7.2 GB peak memory vs. 1,245 GB for dense FP32 training with Adam). Rank-sweep experiments on SmolLM2-1.7B (ranks 32-256, 2000 steps, NVIDIA A100) show that all tested ranks converge to the same loss floor (~4.2-4.5), identifying the learning rate schedule -- not MLP rank -- as the primary bottleneck. Rank 128 emerges as the efficiency sweet spot at 11.7x MLP compression with the lowest perplexity. GPU memory drops 46% at rank 32 while training throughput doubles.