2025年04月19日

在这个低碳生活的新篇章里等待着我们去探索和书写就如同阿里BladeDISC深度学习编译器正式开源那般

低碳生活:我们如何在未知的未来书写自己的故事?

随着深度学习的不断发展,AI模型结构在快速演化,底层计算硬件技术更是层出不穷,对于广大开发者来说,不仅要考虑如何在复杂多变的场景下有效地将算力发挥出来,还要应对计算框架的持续迭代。深度编译器就成了应对以上问题广受关注的技术方向,让用户仅需专注于上层模型开发,降低手工优化性能的人力成本,进一步压榨硬件性能空间。

阿里云机器学习PAI开源了业内较早投入实际业务应用的动态shape深度学习编译器BladeDISC,本文将详解BladeDISC设计原理和应用。

BladeDISC是阿里最新开源基于MLIR(Machine Learning Intermediate Representation)的动态shape深度学习编译器。它支持多款前端框架,如TensorFlow和PyTorch,以及后端硬件支持如CUDA、ROCM和x86等。该编译器完备支持动态shape语义,并且能够进行推理及训练,它还提供了轻量化API,对用户透明支持插件模式嵌入宿主框架运行,以及独立部署模式。

近几年来,深度学习编译器作为一个新的技术方向异常活跃,从TensorFlow XLA、TVM、Tensor Comprehension、Glow到MLIR及其延伸项目IREE(Intermediate Representation for Efficient Execution)和mlir-hlo等,都有不同的公司和社区进行探索与推进。这背后的原因主要来自以下几个方面:

首先,在模型泛化性方面,由于新兴领域不断涌现,我们需要确保算法能适应各种复杂场景。在过去,这部分职责很大程度上由深度学习框架本身以及业务团队的手工优化工作来承担。但现在,我们面临的是如何利用这些工具让AI系统更加灵活高效,同时解决底层性能问题这一挑战。

其次,在硬件泛化性方面,与芯片浪潮共同催生AI浪潮,我们需要确保AI能充分发挥硬件算力的潜力。而这又要求我们去兼容不同类型的芯片设备,而这种兼容性问题正是深度学习编译器所面临的一个关键难题。

最后,在系统平台对于前端AI框架泛化性的需求上,由于不同平台可能会选择不同的前端框架,因此我们的编译策略也必须相应调整,以保证最大程度上的通用性。

传统编译器减轻了程序员的一些负担,使得高级语言描述逻辑时可以更加抽象和灵活,但同时也带来了一个矛盾,即高级语言描述与底层计算之间存在差距,这个差距正是深度学习中表现得尤为明显的问题。因此,有必要专门针对此类问题设计一套特殊目的的“翻譯”工具——即被称为“深度学习编译器”。

然而,将这个目标付诸实践仍然存在一些挑战,比如接口向前端框架扩展的问题;以及对于包含控制流语义的动态图形处理能力不足的问题。此外,大规模部署使用这些工具还面临着门槛较高的问题,因为目前这样的解决方案并不是非常成熟或易于使用。但正是在这样的背景下,我们才意识到了实现这一愿景所必需采取的一系列措施。这就是为什么今天,我想提醒大家,无论是在哪个行业或者角色中,每个人都应该思考自己可以做什么来帮助我们走向一个更绿色、更可持续的地球。