TPU-MLIR 是一个专注于 AI 芯片的 TPU 编译器开源工程。该工程中提供了一套完整的工具链,用于将不同框架下预训练过的神经网络转化为可以在 TPU 上高效运算的二进制文件 bmodel。
- 开源:TPU-MLIR 工程的所有代码都已开源,向所有用户免费开放。用户在使用本工程的同时也可以参与到该工程的完善与改进工作中,共同创造出一款站在时代前沿的 AI 编译器。
- 简单:通过阅读开发手册与工程中已包含的样例,用户可以快速地了解模型转化流程与原理,从而入门该工程。并且,TPU-MLIR 基于当前主流的编译器工具库 MLIR 进行模型化设计,用户也可以透过该工程来学习 MLIR 的应用,知识点丰富,应用面广泛。
- 便捷:该工程目前已经提供了一套完备的工具链,用户可以直接通过现有接口快速地完成模型的转化工作,节约大量投入在适配不同网络的过程中所花费的时间成本。
- 通用:目前 TPU-MLIR 已经支持 tflite 以及 onnx 格式,该类格式的模型可以使用本工程直接进行模型转化。此外,依托 onnx 当前完善的生态,大部分利用主流深度学习框架(如 PyTorch 与 Caffe 等)开发的模型也都可以通过先转换为 onnx 模型间接地完成bmodel 转化。
- 精度与效率并存:TPU-MLIR 支持 INT8 对称和非对称量化,在大幅提高性能的同时又结合原始开发企业的 Calibration 与 Tune 等技术保证了模型的高精度。不仅如此,TPUMLIR 中还运用了大量图优化和算子切分优化技术,以保证模型的高效运行。