大模型时代的存储系统挑战与技术发展
王雪晴 晁铭
武警上海总队 上海 200050
1. 前言
2018 年, 0penAI 和谷歌分别发布了 GPT-1 与 BERT 大模型,标志着预训练大模型成为自然语言处理领域的主流,由此将模型的参数量推向更高的级别。2022 年,搭载 GPT-3.5 的 ChatGPT 参数量已达到 1750 亿。2025 年,DeepSeek 横空出世,其最大参数量的版本DeepSeek-V3 和 DeepSeek-R1 参数量可达 6710 亿。这种数据增长的压力,快速传导到了大模型的底层基础设施。作为支撑大模型的底座“三大件”——算力、网络、存储,都在快速的迭代。算力、算法、数据,在发展 AI 过程中的重要性早已为人所熟知,但是作为数据的承载,存储却往往被忽略。在训练 AI 大模型的过程中,需要大量数据的交换,存储作为数据的基础硬件,并非仅仅只是简单地记录数据,而是深刻参与到了数据归集、流转、利用等大模型训练的全流程。在大模型的发展迭代中,人们已经开始意识到存储系统所面临的巨大挑战。大模型存储系统的规划不仅需要满足当前的需求,还必须具备良好的扩展性,以应对未来数据量和计算需求的增长。同时,如何在保障系统性能的前提下控制综合成本,也成为设计存储系统时必须考虑的关键问题。因此,研究大模型场景的存储系统建设成为了新的技术热点,并持续影响行业的发展。
2.大模型时代存储系统面临的挑战
2.1 海量原始数据的归集制约模型存储效率。
大模型的数据在存储过程中往往需要通过不同种方式对数据进行归集汇总。据统计,pb级数据的归集通常花费 3-5 周,耗时占整个大模型全流程时长的 30%[1] 。通过简单收集或抓取获得的原始数据无法直接用于模型训练。这些数据需要进行解析、清理、去重等处理,这至少涉及三次全面的数据读取和迁移,会消耗超过 30% 的CPU、GPU、网络带宽和内存等资源。
2.2 数据访问效率制约模型训练速度。
在模型训练的初始阶段,GPU 服务器会随机读取数万个小型文件,只有读取完成后训练才能开始。为避免因数据加载导致 GPU 长时间等待,AI 存储系统必须具备数千万次每秒的IOPS 能力。此外,在模型训练过程中,GPU 服务器硬件的故障率相对较高。因此,通常会设置数十次甚至数百次的定期检查点操作来保存中间过程数据,以便在出现故障时从最近的检查点恢复。所以,为了将 GPU 的空闲时间降至最低,存储系统必须提供数百 GB/ 秒的读写带宽。
2.3 数据存储安全性制约模型训练安全。
常见的数据攻击类型可分为两种。一是传统的数据窃取。若大模型的训练数据、模型权重或日志以明文形式存储,无论是本地硬盘还是云端存储设备,都易成为数据窃取的目标。例如,硬盘等存储设备若丢失或被盗,攻击者可直接获取其中的敏感信息。同时,网络中的恶意软件也可能扫描未加密的存储区域,导致数据泄露。二是新型的数据攻击。主要通过加入噪音数据,如在悬链数据中加入暴力,不真实,意识形态歪曲的内容,导致原始训练数据受损,从而使模型质量下降,推理精确度失准,出现模型幻觉,最终干扰决策。因此,数据安全对存储系统也是一个挑战。
3. 大模型训练各阶段数据存储需求
3.1. 预处理阶段。一是大容量存储需求。大模型训练需要海量的数据作为基础,数据处理从单一格式转向包含互联网网页文本、图像、音频、各类传感器数据等在内的多模态数据,通常数据量可达 pb 级别。预处理阶段进行数据格式标准化 , 去重,敏感信息处理,数据质量评估,数据分词,数据混合等流程,而后写入训练数据。这就需要大容量存储设备,以确保数据不会因存储空间不足而丢失。二是临时存储需求。在对数据进行清洗时,例如去除重复数据、错误数据、噪声数据等操作过程中,需要有临时的存储区域来存放经过部分清洗的数据,便于后续进一步核查清洗效果以及和原始数据进行对比。同时,对于数据标注工作,标注人员在添加标注信息的过程中,标注到一半的数据也需要临时存储起来,以防意外情况(如系统崩溃、断电等)导致标注进度丢失。
3.2 训练阶段。大模型在训练阶段通常分为以下几个阶段:数据加载,模型初始化,前向传播,损失计算,反向传播,参数更新,模型评估与验证。根据大模型设计目标和应用场景,确定模型的整体架构,例如:采用Transformer 架构。存储系统要能保存大模型的架构相关信息,包括各层的结构、连接方式、参数数量等内容。在前向传播阶段,输入的数据经过Transformer 架构的各个层进行处理,在多头注意力机制部分,会计算不同位置的信息关注度,捕捉长距离依赖关系;接着通过前馈神经网络进行非线性变换,不断提取和整合特征,最终输出相应的预测结果。损失计算阶段,将模型输出的预测结果与对应的真实标签进行对比,通过预先定义好的损失函数(如交叉熵损失、均方误差损失等,依据任务类型选择合适的损失函数)来计算模型预测的误差大小。在反向传播和参数更新阶段,根据计算得到的损失值,利用梯度下降算法及其变种,从输出层反向传播到输入层,计算每层参数对于损失的梯度,依据梯度和优化算法的规则,对模型的各个参数进行更新,调整参数的值,使模型朝着损失减小的方向逐步优化。大模型的训练模式降低了 GPU 的利用率。例如,参数更新需要的梯度数据需要反向传播计算结束后才能得到。因此这就要求存储系统需要高性能能力,来减少GPU 等待。在训练 ChatGPT、GROK 等大型语言模型需反复调用 PB 级数据,存储系统需兼顾计算速度(梯度计算)与数据持久化(数据集留存)。
3.3 推理阶段。大模型推理利用 KVCache 保存上下文信息,其随序列生成不断增长。在大模型(尤其是基于Transformer 架构的模型)进行自注意力机制计算时,会涉及到对输入序列中不同位置的元素之间的关联计算,每一次计算都需要查询对应的键(Key)和值(Value)信息。在大模型推理阶段,KV Cache 需要频繁地进行数据写入(将新生成的键值对存入缓存)和读取(从缓存中提取已有的键值对用于复用)操作。存储系统必须具备高速的读写能力,以减少数据读写的延迟,确保推理过程能够流畅、高效地进行。KV Cache 依赖于合适的数据结构来存储键值对,如哈希表等,存储系统要能很好地支持这些高效的数据结构在内存或存储介质中的实现与运用。
4. 面向大模型的存储技术策略
4.1 基于大模型计算模式的分布式显存管理技术
(1)模型并行策略。一是层间并行。将模型的不同层分布在不同的 GPU 上,每个 GPU负责处理一部分层的计算。例如对于一个多层神经网络模型,数据在不同 GPU 之间按顺序传递,从而实现模型的并行计算,减少单个 GPU 的显存压力。二是层内并行。层内并行也称张量并行,以张量的某一维度为粒度对模型数据进行拆分,将同一层的参数分片存储在不同的 GPU 上。因此,模型的层内分片可将单层的数据存储到更多 GPU 中,从而支持单层 数据量更大的模型。根据是否切分输入的张量和张量存放的方式,张量并行分为 4 种不同的模式 [2]。如在 Transformer 模型中,可将多头注意力机制的参数按头进行切分,每个 GPU 处理一部分头的计算,最后将结果合并,这样可以在多个 GPU 上并行计算,提高计算效率,同时降低单个GPU 的显存占用。
(2)流水线并行策略。将模型按层划分为多个阶段,数据分块后按流水线的方式在不同
GPU 上依次处理。前一个 GPU 完成一个阶段的计算后,将结果传递给下一个 GPU 进行下一阶段的计算,类似于生产线上的流水线作业。通过这种方式,可使不同 GPU 在同一时间处理不同的数据块,提高整体的计算效率,并且可以隐藏数据传输的延迟,减少显存的空闲时间。
4.2 大模型训练访存感知的异构存储技术
除 GPU 显存外,一般模型训练服务器中存在各种异构存储资源,如 DRAM 和 SSD, 借助异构存储资源来存储模型参数、优化数据以及训练产生的中间结果,这样有助于提高模型训练的规模。按照存储介质的不同可分为以下2 种异构存储技术。
(1)DRAM 的异构存储技术。DRAM 相比于 GPU 有着容量大的特点,将模型数据和训练结果卸载到 DRAM 上,并在计算前按需将卸载的数据上传到 GPU 显存中。通过分析训练第一个样本批时获得的每个操作的访存时刻和访存大小信息,来预测后续训练过程中的访存模式,从而提前进行数据预取和传输,将计算和传输重叠,提高效率。例如,vDNN 使用DRAM 扩充显存以支持更大规模模型训练的工作。他将前向传播计算得到的临时变量写到DRAM 中,并在反向传播开始前将这些临时变量预取到显存中 [2]。该方法价低了临时变量在显存中释放和分配的开销。基于 DRAM 的异构存储技术通过合理利用 DRAM 资源,有效缓解了大模型训练中的存储压力,提升了训练效率和可训练模型的规模。
(2)SSD 的异构存储技术。基于 SSD(Solid State Drive,固态硬盘)的异构存储技术是指在存储系统中,将 SSD 与其他不同类型的存储介质(如机械硬盘 HDD 等)组合在一起,利用它们各自的优势,构建出一个能够满足多样化存储需求的混合存储架构。SSD 具有读写速度快、随机访问性能好、抗震性强等优点,通过合理搭配,可以兼顾性能与成本等多方面考量。在训练过程中,该技术利用大模型训练访存模式可预测的特性,根据预测的访存模式进行数据预取,将所需数据提前加载到合适的存储层次中,减少数据访问延迟。例如,在基于多 SSD 的单 GPU 大模型训练方法中,通过搭载多块 NVMe SSD 来提高 SSD - CPU 的带宽,并扩展存储空间,同时在 CPU 和 GPU 上各自申请缓冲区,以计算和通信异步执行的方式,隐藏通信带来的开销,解决了 SSD - CPU 和 CPU - GPU 之间带宽差异导致训练性能下降的问题,可大幅提高可训练模型规模和训练效率,降低训练成本。
DRAM 相较于 SSD 有着更高的读写带宽,但其位容量的成本也相应更高。基于 DRAM的异构存储技术对训练性能有着较高要求的场景中比较适用;而基于 SSD 的异构存储技术,则更契合于侧重于成本控制的场景。在实际开展大模型训练工作时,会依据具体的算法性能需求以及所运用的硬件条件来挑选最为合适的存储技术。在真实训练过程中,会把多种不同的存储技术混合运用,以此来更好地满足训练需求、保障训练效果。
5. 大模型存储的未来方向
本文详细阐述了大模型时代存储系统面临的挑战,介绍了当代大模型训练对存储系统的需求,并由此介绍了现有的大模型训练中所使用的存储技术。随着大模型规模的急剧增加和硬件设备的发展,对大模型时代的存储系统提出四点未来发展的方向。
(1)云端协同存储。大模型的训练和推理通常需要大量的计算资源和存储空间,云端存储将成为大模型存储的重要方式。未来,云端存储将与边缘计算、雾计算等协同工作,根据不同的应用场景和需求,实现数据的灵活存储和快速访问。例如,对于实时性要求较高的应用,可以将部分数据存储在边缘设备上,减少数据传输延迟;对于大规模的训练数据,则可以存储在云端,利用云端的强大计算能力进行处理。
(2)绿色节能存储。随着大模型规模不断扩大,能耗问题日益突出。未来存储系统将更加注重节能,采用低功耗的存储介质和架构,如非易失性内存(NVM)等。同时,通过优化存储设备的管理和调度,降低存储系统的整体能耗,实现绿色存储。
(3)场景定义存储。过去传统存储提供标准化接口和存储类型让业务适配,而 AI 多样化场景对存储提出更复杂要求。未来存储架构将朝着“场景定义存储”范式演进,根据大模型在数据采集、清洗、训练、推理等不同环节的具体需求,定制化设计存储系统,提供更贴合场景的存储服务,以解决海量数据需求和极致性能需求之间的矛盾。
总的来说,随着AI 大模型的推进,数据存储出现了新的趋势。市场渴望更高性能、大容量、低成本的存储产品,并加速大模型各个环节的融合和效率提升。
参考文献:
[1]. 中国信息通信研究院,人工智能研究所 . 新型人工智能存储研究报告 [R]. 北京 ,2025:7-10
[2]. 冯杨洋 , 汪庆 , 谢旻晖 , 舒继武 . 从 BERT 到 ChatGPT: 大模型训练中的存储系统挑战与技术发展 [J]. 计算机研究与发展 ,2024,61(4):809-823