NVIDIA Triton对TorchServe进行SageMaker推断?什么时候推荐每一种?
两者都是现代的产品级推理服务器。TorchServe是PyTorch模型的DLC默认推理服务器。Triton还支持在PyTorch上进行SageMaker推理。
有谁有一个很好的对比矩阵吗?
发布于 2022-09-23 22:14:00
在这里添加两个服务堆栈不同的重要注意事项:
TorchServe没有提供Triton所做的实例组特性(也就是说,将同一模型的许多副本,甚至不同的模型堆叠到同一个GPU上)。这对于实时和批处理用例来说都是一个主要的优势,因为性能的提高几乎与模型复制计数成正比(即模型的两个副本使您的吞吐量几乎是吞吐量的两倍,延迟的一半;请查看这里的BERT基准)。很难匹配一个功能,几乎就像有一个2+图形处理器的价格一个。如果您正在部署PyTorch DL模型,则可能经常希望使用GPU的。TensorRT是一个由NVIDIA开发的编译器,它自动量化和优化您的模型图,这表示另一个巨大的速度,这取决于GPU的体系结构和模型。可以理解,这可能是自动优化模型的最佳方法,可以在GPU上高效地运行,并充分利用TensorCores。Triton具有本地集成功能,可以以调用的方式运行TensorRT引擎(甚至可以通过配置文件自动将模型转换为TRT引擎),而TorchServe则不这样做(即使您可以使用TRT引擎)。当涉及到其他重要的服务功能时,两者之间存在更多的对等性:它们都具有动态批处理支持,您可以使用这两者来定义推断DAG(不确定后者是否可以在TorchServe上使用而不存在很大的麻烦),而且都支持自定义代码/处理程序,而不仅仅是能够为模型的前向函数服务。
最后,GPU上的MME (即将到来)将基于Triton,这是一个有效的理由,让客户熟悉它,以便他们能够迅速利用这一新功能的成本优化。
总之,我认为Triton同样容易(如果不是更容易的话)使用,为了充分利用底层硬件而进行了更多的优化/集成(并且随着较新的GPU体系结构的发布,它将继续保持这种方式),并且在通常情况下,当TorchServe的优化特性被组合使用时,它的性能就会受到影响。
发布于 2022-12-02 08:54:35
因为我没有足够的声誉在评论中回复,所以我写了回信。MME是多模型端点。MME允许在多个模型之间共享端点后面的GPU实例,并基于传入的通信量动态加载和卸载模型。您可以在这个链接中进一步阅读它。
https://stackoverflow.com/questions/73829280
复制相似问题