由于机器学习(ML)及其应用的飞速发展,ML生态系统,包括模型、软件和硬件,正在迅速演变。然而,快速适应现有ML系统以支持新模型和硬件以最大化性能仍然具有挑战性且劳动密集。我们发现,这归因于现有ML系统在系统堆栈的几个关键层面上缺乏可移植性和自动化能力。然而,构建一个可移植的ML系统需要对不同ML模型或平台的复杂共性和差异进行非凡的建模。此外,自动化ML系统层引入了设计实际搜索空间和搜索算法的挑战,以定制优化以适应特定的模型和硬件。
在本论文中,我们旨在解决构建自动化和可移植ML系统的上述挑战,重点关注关键的ML系统层。具体而言,本文探讨了构建高效系统的方法,该系统自动化1) ML后端的集成和2) ML并行性,并使它们更具可移植性。我们开发了一个用户界面和系统堆栈,以提高不同后端和底层硬件之间的可移植性。我们还设计了实际的搜索空间和算法,以自动化后端部署和并行化。
首先,我们构建了Collage,这是一种DL框架,提供了无缝集成DL后端的能力。Collage提供了一个富有表现力的后端注册接口,允许用户精确指定各种后端的能力。通过利用可用后端的规格,Collage自动搜索针对给定工作负载和执行环境的优化后端部署策略。 其次,我们开发了GraphPipe,一个支持高性能和可扩展DNN训练的分布式系统。GraphPipe自动将DNN划分为多个阶段的图,优化这些阶段的微批次调度,并实现DNN训练的并行化。这种方法推广了现有的顺序流水线并行性,并保留了DNN的固有拓扑结构,从而减少了内存需求并提高了GPU性能。 最后,我们对长序列应用中分布式LLM推理中的并行性进行了比较分析。具体来说,我们重点研究了Cache并行性(CP),这是一种在LLM推理的自回归解码步骤中并行化长KV缓存的方案。我们探讨了在需要处理数万个token的长上下文场景下,不同并行性之间的权衡。