到目前为止,人工智能推理引擎在很大程度上被束缚在它们所设计的特定硬件上。这样的硬件锁定意味着开发人员将需要为不同的硬件构建特定的软件,并且很可能也会减缓行业整体创新的步伐。
Meta 日前开源了一套新的 Python 框架,名为 AITemplate(AIT)。它彻底改变了上述情况,使开发者可以在不牺牲速度和性能的前提下使用不同厂商的 GPU。
AITemplate 能够提供高速的推理服务,最初将同时支持 Nvidia TensorCore 和 AMD MatrixCore 推理硬件,并且以 Apache 2.0 许可协议开放了 AITemplate 的源代码。
Meta 工程总监 Ajit Mathews 表示:"当前版本的 AIT 主要是支持 Nvidia 和 AMD 的 GPU,但该平台是可扩展的,如果有需要的话,将来还可以支持 Intel 的 GPU。现在我们已经开放了 AIT 的源代码,我们欢迎任何有兴趣的芯片供应商能够为它做出贡献。”
与 PyTorch 中的 Eager 模式相比,Meta 使用 AIT 在 Nvidia A100 AI GPU 上实现了高达 12 倍的性能提升,在 AMD M1250 GPU 上实现了高达 4 倍的性能提升。
Meta 主导的 AIT 在概念与 SYCL 十分相似,后者是一个基于 C++ 异构平行编程框架,可以用来加速高性能计算、机器学习、内嵌计算,以及在相当宽泛的处理器构架之上的计算量超大的桌面应用。但 Meta 在实现的内容上有所不同。SYCL 更接近于 GPU 编程层,而 AITemplate 则专注于高性能的 TensorCore/MatrixCore AI 基元。
Meta 的工作负载在不断发展,为了满足这些不断变化的需求,Meta 需要开放和高性能的解决方案,并且他们也倾向于希望其技术栈的上层能够与特定硬件无关。如今 AIT 通过支持 AMD 和 Nvidia 的 GPU 做到了这一点。
Ajit Mathews 还表示:“我们目前和未来的许多推理工作负载都有机会从 AIT 中受益,我们认为 AIT 有潜力作为性能最强的统一推理引擎被各大厂商广泛采用。”