从BERT到ChatGPT:大模型训练中的存储系统挑战与技术发展——论文泛读

计算机研究与发展 2024 Paper 论文阅读笔记整理

问题

以ChatGPT为代表的大模型在文字生成、语义理解等任务上表现卓越,但大模型的参数量在3年内增长数万倍,且仍呈现增长的趋势。大模型训练面临存储挑战,存储需求大,且具有独特的计算模式、访存模式、数据特征,这使得针对互联网、大数据等应用的传统存储技术在处理大模型训练任务时效率低下,且容错开销大。

面向大模型训练的存储加速技术

基于大模型计算模式的分布式显存管理技术

依据大模型计算任务的划分模式和计算任务间的依赖关系,设计模型数据在分布式集群中的划分、存储和传输策略。

细分为2种模式:模型层间并行,以张量为粒度对模型数据进行拆分;模型层内并行,以张量种某一维度为粒度对模型数据进行拆分。

模型层间并行,数据并行:

模型层间并行,流水线并行:

模型层内并行,张量并行:

大模型训练访存感知的异构存储技术

借助大模型训练中的访存模式可预测的特性,设计异构设备中的数据预取和传输策略。同时利用GPU显存、DRAM、SSD,将模型参数、优化器数据、训练中间结果卸载,根据预测的仿存模式进行预取。

基于DRAM的异构存储技术:

  • 异步显存管理:异步分配显存空间

  • 异步数据传输:将计算和传输重叠,预取

  • 显存卸载策略:静态策略(仅卸载卷积层)、动态策略(根据显存开销动态卸载)

基于SSD的异构存储技术:

结合使用数据压缩和卸载,降低数据传输开销

大模型数据缩减技术

针对大模型数据的特征,通过增加计算量或牺牲模型精度,对模型训练过程中的数据进行缩减。

激活量检查点与重算:在前向传播时,仅保存少量的激活量作为检查点,并丢弃其他的激活量。在反向传播需要使用丢弃的激活量时,系统利用激活量检查点重新进行前向传播,以恢复之前所丢弃的激活量。

混合精度训练与量化:使用半精度(FP16)降低显存开销,通过权重备份(额外保留全精度模型参数,训练使用半精度参数)、损失量(loss)扩展、算数精度提高,避免数据溢出、误差、不收敛、梯度过小的问题。

各种方法比较

针对大模型训练的存储容错技术

参数检查点技术

将大模型参数存储至持久化存储介质,GPU故障后利用最新且完整的参数进行恢复。

面临挑战:参数持久化开销大,会阻塞计算任务;参数检查点频率会影响训练和恢复效率。

将检查点过程拆分,与模型训练重叠:

冗余计算技术

在多张GPU中重复计算相同版本的参数。

总结

大模型训练过程中对存储需求大,具有独特的计算模式、访存模式、数据特征,需要根据特征设计合适的存储策略。大模型训练存储加速技术:(1)显存管理:数据并行、流水线并行、张量并行。(2)异构存储技术:利用DRAM、SSD,卸载模型参数、优化器数据、中间结果,并进行预取。(3)数据缩减:增加计算量(激活量重算)或牺牲模型精度(半精度训练)。大模型训练容错技术:(1)参数检查点:将检查点过程拆分,与模型训练重叠。(2)冗余计算:在多张GPU重复计算。

相关推荐
feifeikon8 小时前
Agent论文阅读:NormEnforcement with a Soft Touch: Faster Emergence, Happier Agents
论文阅读
开心星人15 小时前
【论文阅读】Revisiting the Assumption of Latent Separability for Backdoor Defenses
论文阅读
FF-Studio15 小时前
读 DeepSeek-R1 论文笔记
论文阅读·人工智能·深度学习·机器学习·语言模型·自然语言处理·deepseek
光速科研17 小时前
DeepSeek临床科研从入门到高手
大数据·论文阅读·人工智能·经验分享·机器学习·ai写作
小张的读博日记2 天前
论文笔记-CIKM2023-GALORE
论文阅读·机器学习·推荐算法
Hylan_J3 天前
【论文阅读笔记】HiDDeN:Hiding Data With Deep Networks
论文阅读·人工智能·笔记
__如果3 天前
论文阅读--LlaVA
论文阅读
LinKouun3 天前
[论文阅读] Knowledge Fusion of Large Language Models
论文阅读·人工智能·语言模型
Ayakanoinu5 天前
【论文阅读】Adversarial Detection: Attacking Object Detection in Real Time
论文阅读·人工智能·目标检测