在遥远的森林深处有一片神秘的绿色生态仿佛隐藏着一门未解之谜阿里BladeDISC深度学习编译器如同那
随着深度学习的不断发展,AI模型结构在快速演化,底层计算硬件技术更是层出不穷,对于广大开发者来说不仅要考虑如何在复杂多变的场景下有效地将算力发挥出来,还要应对计算框架的持续迭代。深度编译器就成了应对以上问题广受关注的技术方向,让用户仅需专注于上层模型开发,降低手工优化性能的人力开发成本,更进一步压榨硬件性能空间。
BladeDISC是阿里最新开源的基于MLIR(中间表示)的动态shape深度学习编译器,它支持多款前端框架如TensorFlow和PyTorch,以及多种后端硬件平台如CUDA、ROCM和x86等。在设计原理上,它能够提供完备支持动态shape语义编译,同时也能轻量化API,对用户透明支持插件模式嵌入宿主框架运行,以及独立部署模式。
近几年来,由于AI浪潮与芯片浪潮共同催生的高速增长,我们可以看到不同的公司和社区都在这个领域进行大量探索和推进。包括老牌一些像TensorFlow XLA、TVM、Tensor Comprehension、Glow等,在后来呼声很高的一些项目IREE以及mlir-hlo等等,都展示了不同领域延伸项目之间紧密相连且不断发展。
AI系统平台对前端AI框架泛化性方面提出了新的需求。当今主流的深度学习框架包括Tensoflow、Pytorch、Keras、JAX等,每个框架都有各自优缺点,而云厂商或者平台方需要同时考虑不同的前端框架以及未来可能出现的问题。这正好反映出AI系统层面对于前端AI框架泛化性的需求,并展现了技术趋势,即使当前接入方案存在易用性与成熟程度上的不足,但这些尝试已经表明了解决这一问题所必需采取行动。
传统编译器减轻程序员负担,其输入为高级语言,以避免直接写机器码并引入优化以解决性能问题。而深度学习编译器则旨在结合灵活高效但具有较高抽象度计算图描述作为输入,并输出适用于CPU或GPU及其他异构硬件平台上的底层机制代码及执行引擎。此外,还有一项重要使命,那就是确保即便是在新型号设备发布时,不需要重新实现所有算子以适配该设备,从而显著提高工作效率。
然而距离实际应用仍有差距。一方面,与前端框架接口的问题导致难以满足所有算子被完整支持的情况;另一方面,对动态shape问题以及包含control flow语义的一类任务目前只能提供有限支持,这限制了其应用范围。因此,将这种工具普及到大规模使用中的挑战依然存在。不过,只要我们继续努力克服这些障碍,一天当中那个诗意般充满绿色的生态自然之名,就将成为我们追求科技创新梦想的一部分。