NVIDIA Triton vs TorchServe用于SageMaker推理?什么时候推荐每个?
两者都是现代化的生产级推理服务器。TorchServe是PyTorch模型的DLC默认推理服务器。Triton在SageMaker上也支持PyTorch推断。
有人对两者都有很好的比较矩阵吗?
在两个服务堆栈不同的地方需要添加的重要注意事项:
TorchServe不提供Triton所提供的实例组功能(即,将同一模型甚至不同模型的许多副本堆叠到同一GPU上(。这对于实时和批处理用例来说都是一个主要优势,因为性能的提高几乎与模型复制数量成正比(即,模型的2个副本几乎可以使吞吐量增加一倍,延迟减少一半;请在此处查看BERT基准测试(。很难匹配一个几乎像以一个GPU的价格拥有2个以上GPU的功能。如果你正在部署PyTorch DL模型,很可能你经常想用GPU来加速它们。TensorRT(TRT(是NVIDIA开发的一款编译器,它可以自动量化和优化模型图,这代表了另一个巨大的速度提升,具体取决于GPU架构和模型。可以理解,这可能是自动优化模型以在GPU上高效运行并充分利用TensorCores的最佳方式。Triton具有本地集成功能,可以运行TensorRT引擎(甚至可以通过配置文件自动将您的模型转换为TRT引擎(,而TorchServe则没有(尽管您可以将TRT引擎与之一起使用(。当涉及到其他重要的服务功能时,两者之间有更多的对等性:两者都具有动态批处理支持,您可以用两者定义推理DAG(不确定后者是否能在SageMaker上与TorchServe一起工作而不会带来太大的麻烦(,并且两者都支持自定义代码/处理程序,而不仅仅能够服务于模型的正向功能。
最后,GPU上的MME(即将推出(将基于Triton,这是客户熟悉它的一个有效理由,这样他们就可以快速利用这一新功能进行成本优化。
最重要的是,我认为Triton同样易于使用(如果不是更容易的话(,更优化/集成,以充分利用底层硬件(随着更新的GPU架构的发布,将进行更新以保持这种状态,从而能够轻松地移动到它们(,并且当其优化功能组合使用时,通常会使TorchServe在性能方面脱颖而出。
因为我没有足够的声誉在评论中回复,所以我写了回复。MME是多模型端点。MME允许在多个模型之间共享端点后面的GPU实例,并根据传入流量动态加载和卸载模型。你可以在这个链接中进一步阅读