大语言模型训练过程中,如何提供稳定训练断点保存和恢复的存储能力?

大模型训练过程比传统的分布式训练复杂,训练周期长达数月。本议题核心研讨如何运用存储技术手段提高大模型训练的数据存储效率。显示全部

大模型训练过程比传统的分布式训练复杂,训练周期长达数月。本议题核心研讨如何运用存储技术手段提高大模型训练的数据存储效率。

收起
参与20

查看其它 5 个回答Eric雪飞的回答

Eric雪飞Eric雪飞存储专委 副主任上海市计算机学会

Checkpoint是大模型里对存储要求比较突出的环节,如何提供稳定的存储支撑能力,业界在过往一年中有过一些摸索,到目前业界基本上已经形成了主流思路,利用分布式全闪存存储产品提供持久化存储能力,不少国内国外厂商都推出了相关产品方案。

Checkpoint 机制我认为可以类比为快照,它定期保存某些个时间点的完整模型状态的数据,如果发生故障,我们就可以调取最近的快照数据,将模型重新恢复到上个检查点的状态,从而提供数据保障能力,帮助恢复训练业务。

和快照类似, 从提高安全性出发,Checkpoint 应当设置得尽量多,断点越密集发生故障后的损失越小;但反过来,更多的断点对存储系统也有更高要求,如做断点时的性能高峰要求、写断点期间对系统本身正常业务的打扰,大量断点数据存储空间都是要考虑的因素。所以往往最终是取一个多方平衡的结果。

最初大模型的存储方案是五花八门的,放本地盘或是弄一台传统 NAS 都有人试过,规模小的时候问题不大,顶多是在数据预处理和第一次数据载入的环节会慢一点,但也可以忍受。而在模型规模和训练数据量增长后就不行了。规模变大导致训练周期变长,故障风险升高,因此 checkpoint 设置从无到有到很多,频繁的“打快照”(每次需要写入的 checkpoint 数据从几十 GB 到几个 TB ),导致此处成为对存储要求最高的环节。

针对此刻的应用特征进行分析,对存储的需求主要是超高性能带宽和高并发,此外存储本身的高可靠和高可用也是必须的。

这个时候,使用 NFS 协议的传统 NAS 存储性能就远远不够了。业界在 2023 年中时,还在互相交流在训练节点(服务器)本地多放几块 NVme 的 SSD 盘,突然就获得了性能上的大幅提升,大家惊喜的发现,做 checkpoint 不用再等个半天一天了,用我尊敬的某位老院士的原话:“嘿!一会就得!”。

但这个方案还有个明显的隐患未解,那就是本地NVMe盘的可靠性无法与成熟的存储系统相提并论。所以到了现在,使用 NVMe 协议的分布式全闪已经是最受认可的解决办法,既能满足超高的并发性能,也能提供存储的高可靠与高可用,还能支持弹性扩展,基本已经满足需求。

另外,从存储类型来看,块存储,文件存储和对象存储中,更适配的是文件存储,对象太慢,块没机会。

国外一家科技媒体明确提出:“ We think this will primarily benefit file access all-flash arrays using NVMe protocols and with GPUDirect support for Nvidia GPU servers. Suppliers suchas Dell, DDN, NetApp, Pure Storage (AIRI) and VAST Data are well-positioned to capitalize on this. Panasas sees an opportunity in edge AI. Object storage and block storage suppliers are not so well-positioned.

除了基于硬件存储的方案,并行文件系统软件的产品和一些数据管理软件如数据仓库也有不同的厂商在尝试,例如 IBM 的 GPFS (现在改名叫 storage scale ),据说某大厂在优化了以后用得还是满意的,具体细节情况因为商业秘密因素就不得而知。

除了找已有的产品搭建私有化解决方案,国外更习惯在云上进行训练和推理,为此云厂商也有针对性的优化措施,例如微软的Azure针对 大模型checkpoint 的应用场景,提供了一个新产品工具Nebula,号称能把checkpoint的时间从几小时降到几秒。 “Nebula is a fast, simple, disk-less, model-aware checkpoint tool in Azure Container for PyTorch (ACPT).“
链接如下:
https://learn.microsoft.com/en-us/azure/machine-learning/reference-checkpoint-performance-for-large-models?view=azureml-api-2

学术界则从算法设计上着手: 2024 年 1 月,来自爱丁堡大学和新加波南洋理工大的一篇联合论文里,提出一种 serverless LLM 方法,利用一种加载优化的格式设计,结合高效的多层的 checkpoint 加载系统,能够实现更快速的 checkpoint 加载 ;
论文链接: https://arxiv.org/abs/2401.14351https://arxiv.org/pdf/2401.14351.pdf

可以参考我的相关文章:

大模型里的Checkpoint和存储方案二三事
https://www.talkwithtrend.com/Article/269363

IT其它 · 2024-02-07
浏览429

回答者

Eric雪飞
存储专委 副主任上海市计算机学会
擅长领域: 存储灾备分布式架构

Eric雪飞 最近回答过的问题

回答状态

  • 发布时间:2024-02-07
  • 关注会员:7 人
  • 回答浏览:429
  • X社区推广