原答案发布在知乎:
这个问题需要更加精确一点。“发展”指的是什么?技术的发展,社区的发展,产品的发展?还是商业化的发展?
从回答里看技术发展与使用者的角度说的比较多,比较透彻。我补充一下产品和商业化的角度。
Apache TVM 对自己的定位是:“An End to End Machine Learning Compiler Framework for CPUs, GPUs and accelerators”,compiler framework 是一个非常基础与底层的组件。这个层面上的“易用性”,可以约等于普适性和可移植性。一种用法能适配的不同处理器和运行时越多,那就是易用性越高。
但它的使用肯定是有门槛的,对不同的平台会有各种 know how 和最佳实践。想要达到用户层面的“易用性”,就需要把这些 know how 和最佳实践都融进去。首先这不容易,其次这也没有必要。
“不容易“好理解,”没必要“怎么说呢?TVM 作为一个基础软件,通常是会被集成到其他应用方案中去的。用户在使用上层程序的时候,可能都意识不到 TVM 的存在。TVM 的主要开发公司 OctoML 毕竟是风险创业公司,一定是要找到自己的商业化路径的。由于 TVM 的技术特点,OctoML 的商业化基础一定在模型部署领域,所以如何把控刚才提到的 know how 和最佳实践在商业化时就很重要了。
TVM 技术在模型部署领域比较能打,但在模型部署这个商业化点上,OctoML 面临的是跨界的竞争。NLP 模型起家的 Hugging Face (HF),今年也推出了自己的商业化产品 Infinity 推理方案。也做的是模型部署。如果 OctoML 本身的商业化路径没有成熟的话,TVM 项目也很难有机会往用户易用性上面去努力。(不过似乎 HF 最近宣传 Infinity 的声量没有那么大了,看来模型部署要做好也是很不容易的。)
附上今天看到的有趣的资源:OctoML pitch deck (ppt)