3.5 KiB
3.5 KiB
Note
本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。
开放机器学习编译器框架
Apache TVM 是一个开放的机器学习编译框架, 遵循以下原则:
- 以 Python 为先(Python-first)的开发方式,可快速定制机器学习编译器流水线。
- 通用部署(Universal deployment),将模型交付为最小可部署模块。
许可证
TVM 根据 Apache-2.0 许可证授权。
入门
请访问 TVM 文档 网站,获取安装说明、教程、示例等更多信息。 TVM 入门 教程是很好的 起点。
为 TVM 做贡献
TVM 采用 Apache 提交者(committer)模式。我们的目标是创建一个由社区维护和拥有的开源项目。 请参阅 贡献者指南.
历史与致谢
TVM 最初是作为深度学习编译的研究项目启动的。 该项目的第一版从以下项目中受益匪浅:
- Halide: TVM 的 TIR 与算术化简模块的部分 源自 Halide。我们也借鉴并改编了 Halide 降级流水线的部分内容。
- Loopy: 对整数集分析及其循环变换原语的使用。
- Theano: 循环符号扫描算子(symbolic scan operator)的设计灵感。
此后,该项目经历了多轮重新设计。 当前设计与初始设计也截然不同,顺应了 ML 编译器社区的发展趋势。
最新版本聚焦于跨层级设计:以 TensorIR 作为张量级表示, 以 Relax 作为图级表示,并支持 Python 优先的变换。 项目当前的设计目标是,通过让大多数变换可在 Python 中定制, 并提供可联合优化计算图、张量程序和库的跨层级表示,使 ML 编译器更易用。 该项目也是为特定领域构建 Python 优先垂直编译器的基础 基础设施,例如 LLM。