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

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

问题

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

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

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

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

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

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

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

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

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

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

基于DRAM的异构存储技术:

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

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

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

基于SSD的异构存储技术:

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

大模型数据缩减技术

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

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

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

各种方法比较

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

参数检查点技术

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

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

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

冗余计算技术

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

总结

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

相关推荐
Thanks_ks12 小时前
计算机组成原理核心剖析:CPU、存储、I/O 与总线系统全解
计算机组成原理·计算机技术·存储系统·cpu 结构·i/o 设备·总线系统·硬件原理
张较瘦_16 小时前
[论文阅读] 人工智能+项目管理 | 当 PMBOK 遇见 AI:传统项目管理框架的破局之路
论文阅读·人工智能
张较瘦_16 小时前
[论文阅读] 人工智能 | 大语言模型计划生成的新范式:基于过程挖掘的技能学习
论文阅读·人工智能·语言模型
0x21121 小时前
[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG
论文阅读
要努力啊啊啊1 天前
强化学习基础概念图文版笔记
论文阅读·人工智能·笔记·深度学习·语言模型·自然语言处理
二进制的Liao1 天前
【数据分析】什么是鲁棒性?
运维·论文阅读·算法·数学建模·性能优化·线性回归·负载均衡
Jamence1 天前
多模态大语言模型arxiv论文略读(108)
论文阅读·人工智能·语言模型·自然语言处理·论文笔记
张较瘦_2 天前
[论文阅读] 人工智能 | 用大语言模型解决软件元数据“身份谜题”:科研软件的“认脸”新方案
论文阅读·人工智能·语言模型
Jamence2 天前
多模态大语言模型arxiv论文略读(106)
论文阅读·人工智能·语言模型·自然语言处理·论文笔记
崔高杰2 天前
To be or Not to be, That‘s a Token——论文阅读笔记——Beyond the 80/20 Rule和R2R
论文阅读·笔记