Workflow
梯度检查点
icon
搜索文档
无损减少80%激活值内存,提升5倍训练序列长度,仅需两行代码
机器之心· 2025-06-23 15:44
长序列训练内存优化技术 - 核心观点:StreamBP算法通过线性分解和分步计算链式法则,将大语言模型训练所需的激活值内存降低至梯度检查点方法的20%,同时实现序列长度提升2.8-5.5倍 [3][6] 技术原理 - 梯度检查点方法仅储存每层输入,但单层完整激活值仍占内存85%以上 [9][13] - StreamBP将单层反向传播过程分解为块计算,按输出分块累加Jacobian-vector product,仅需储存当前块输入和输出 [11][14] - 对Transformer层采用注意力掩码优化,对lmhead层根据目标函数特性分块处理(SFT/GRPO独立计算,DPO利用序列维度独立性) [16][20] 性能表现 - 峰值内存从标准BP的36.01GB降至StreamBP的11.99GB(D=20),中间内存从25.15GB降至1.13GB [14] - 单卡A800-80GB测试显示,最大序列长度达梯度检查点的2.5-5.5倍,标准BP的23-36倍 [22][25] - 14B模型SFT训练中,序列长度从梯度检查点的23提升至StreamBP的84.6,32B模型从0.4提升至16.3 [26] 应用兼容性 - 支持SFT、GRPO、PPO、DPO等LLM目标函数,可集成至现有训练框架 [6][20] - 分布式训练下序列长度提升5-5.6倍,部分长序列场景速度较梯度检查点提升10.9%-12.9% [25][28] - 开源代码适配Transformer层和lmhead层,已提供PyTorch实现 [12]
AI芯片的双刃剑
半导体行业观察· 2025-02-28 11:08
软件编程与人工智能建模的范式转变 - 传统软件编程依赖明确的指令代码,适合确定性场景但缺乏动态适应能力[2] - AI软件建模通过数据训练学习模式,使用概率推理处理不确定性,模型复杂度体现在参数规模而非代码量[3] - 高级AI模型如LLM包含数千亿至数万亿参数,依赖多维矩阵数学运算,每个时钟周期并行处理所有参数[3] 处理硬件的影响 - CPU采用串行执行架构,多核多线程提升并行性但仍无法满足AI模型的并行需求[4] - 高端CPU计算能力达几GigaFLOPS,内存带宽峰值500GB/s,内存容量达TB级[5] - GPU提供PetaFLOPS级性能,比CPU高两个数量级,但运行GPT-4时效率可能降至理论峰值的5%[6] - GPU高功耗引发可持续性问题,专用AI加速器(如ASIC)在计算效率和能耗上更具优势[7] AI加速器的关键属性与挑战 - 关键指标包括批处理大小和token吞吐量,需平衡延迟与吞吐量需求[8] - 大批量提升吞吐量但增加内存带宽压力,实时应用(如自动驾驶)需批量大小为1以最小化延迟[12] - 连续批处理技术动态添加输入,减少延迟并提升整体效率[13] - Token吞吐量依赖计算效率和数据移动优化,需首次token输出时间最短[14][15] 内存与计算瓶颈 - 内存带宽是主要瓶颈,大批量导致缓存未命中及访问延迟增加[9][19] - 高带宽内存(HBM3)和智能片上缓存可缓解内存瓶颈[21] - LLM依赖并行矩阵运算和注意力机制,计算瓶颈需专用硬件(如矩阵乘法单元)和混合精度计算(FP8)解决[19][22] 优化方向 - 硬件创新包括类似寄存器的缓存结构、专用加速器设计及高效数据流架构[21][22] - 软件优化涵盖定制化内核、梯度检查点减少内存占用、管道并行提升吞吐量[23] - 混合精度计算在保持模型精度前提下降低内存带宽需求和计算开销[22] 行业技术趋势 - Transformer架构需每个token关注全部历史token,增量Transformer按序计算token提升流式推理效率但增加内存需求[16] - 不规则token模式和自回归模型依赖可能导致硬件管道停滞,需优化调度策略[17] - AI加速器仍处早期阶段,需结合内存架构创新与数据流优化以突破性能限制[18][20][24]