分布式技术在大模型训练和推理中的应用
0 引言
近几年人工智能在多个领域应用广泛,已进入大模型时代,其中“预训练-微调”成为新范式。大模型支持众多领域任务,如GPT-3。分布式技术在大模型的四个环节(数据获取、预处理、训练、推理)中都发挥重要作用。数据获取需存储海量小文件,预处理需处理海量数据,训练需解决大模型检查点文件读写问题,推理需加载庞大模型参数和保存中间结果。
1 数据获取
讨论了大模型训练中海量小文件存储的挑战,特别是元数据管理问题。多模态数据集包含数亿至数百亿个小文件,导致元数据管理困难,存储100亿小文件需管理7TB元数据。现有分布式文件系统在处理海量小文件时存在可扩展性和低延迟难以兼顾的问题。为解决这些问题,清华大学研发了高性能文件系统SuperFS,采用解耦合目录树存储策略,实现了低延迟和可扩展性。SuperFS在文件操作延迟方面远低于现有文件系统,其元数据性能通过低开销索引、NUMA感知数据组织等技术得到大幅提升,刷新了世界纪录。
2 数据预处理
海量数据预处理是大模型训练的关键步骤,直接影响模型效果。数据预处理包括随机采样、解码和变换等,通常占用大量训练时间。传统以计算为中心的方法导致网络开销大,而以数据为中心的方法通过将计算任务调度到数据所在节点,减少数据读取开销。清华大学研发的“诸葛弩”引擎采用以数据为中心的执行模式,使用C++编写,减少内存需求,兼容PySpark接口,并采用编译优化技术降低开销。在模糊删冗应用中,诸葛弩的性能显著优于PySpark,展现出在大模型数据预处理中的潜力。
3 模型训练
讨论了大模型训练中检查点文件读写的挑战,特别是在硬件出错概率高的情况下,如何高效保存和恢复模型参数和中间结果。以神威平台为例,分析了万亿参数量模型检查点文件读写的性能问题,指出存储系统架构和网络利用效率是影响性能的核心因素。提出了分布式检查点策略,通过数据均匀分布、增加I/O进程数和均匀划分I/O请求,显著提高了检查点读写性能,将10万亿参数量模型的检查点读写时间从3小时缩短到10分钟。
4 模型推理
在模型推理过程中,KVCache的存储挑战显著,其数据量可达数百TB至PB级别,远超模型参数。FastDecode是一种高吞吐推理方案,通过WA分离推理方案在计算加速卡和CPU上交替计算,提高计算效率并减轻显存压力。FastDecode利用闲置CPU和主存处理KVCache,显著提升batch size和GPU利用率,降低成本。Mooncake是以KVCache为中心的大模型推理架构,通过以存换算提升吞吐量,并采用超大规模分离式内存池为中心的KVCache缓存和调度。Mooncake利用GPU集群中闲置的内存容量和互联带宽,节省成本的同时降低响应延迟。在真实负载模拟实验中,Mooncake相较于vLLM可多处理75%的请求。
5 结束语
讨论了“预训练-微调”大模型技术在人工智能领域的应用,强调分布式技术在大模型生命周期中的关键作用。文章总结了大模型在数据获取、预处理、训练和推理等环节面临的系统挑战,并提出了相应的解决思路和方案,旨在为大模型的发展和应用提供参考。
声明:公众号转载的文章及图片出于非商业性的教育和科研目的供大家参考和探讨,并不意味着支持其观点或证实其内容的真实性。版权归原作者所有,如转载稿涉及版权等问题,请立即联系我们删除。