24年4月来自上海交大、UIUC和CMU的论文“Emerging Platforms Meet Emerging LLMs: A Year-Long Journey of Top-Down Development”。
在不同的计算平台上部署机器学习 (ML) 对于加速和扩大其应用至关重要。然而,由于模型的快速发展,尤其是最近的大语言模型 (LLM) 以及新计算平台的出现,它带来了重大的软件工程挑战。当前的 ML 框架主要针对 CPU 和 CUDA 平台设计,在支持 Metal、Vulkan 和 WebGPU 等新平台方面存在很大差距。
虽然传统的自下而上(bottom-up)的开发流程无法及时弥补差距,TAPML的引入,一种自上而下(top-down)的方法和工具,可简化 ML 系统在不同平台上的部署,并针对开发人员的工作效率进行优化。与涉及大量手动测试和调试的传统自下而上方法不同,TAPML 通过测试设计实现单元测试自动化,并采用基于迁徙(mitigation)的策略,逐步将模型计算从成熟的源平台卸载到新目标平台。利用现实输入和远程连接逐步卸载目标,TAPML 加速验证并最大限度地减少调试范围,从而显著优化开发工作。
TAPML 的开发和应用经过一年的实际努力,成功部署重要的新模型和平台。通过在 5 个新平台上 17 种不同架构中部署 82 个新模型,展示了 TAPML ,在提高开发人员生产力的同时,确保模型可靠性和效率的有效性。此外,由于将高级机器学习数学映射到低级机器可执行文件存在巨大差距,因此巨大努力是在来开发机器学习优化器 [4]–[6],高效运行机器学习模型。这些框架在给定训练模型后,提供高效的本机内核(例如 CUDA/C 函数)来计算模型的算子/子图,部署在推理优化的平台上。这些内核函数可以用本机编程语言(例如 CUDA)手工完成,也可以由编译器从中间表示(IR) [7]–[10] 生成。然而,现有的机器学习框架主要针对 CPU 和 CUDA 平台实施和优化,为其他新平台留下了空白。
随着大语言模型 (LLM) 的最新进展和兴趣,各种架构的强大新模型不断出现。与此同时,最近提出一系列新计算平台,解锁在没有 NVIDIA GPU 的环境中运行 ML 模型的可能性,例如 Apple Si