pytorch模型在kubernetes上部署时评估缓慢



我想通过部署在Kubernetes上的端点提供文本分类模型(finBERT pytorch模型)的结果。

整个管道都在工作,但在部署时处理速度很慢(一个句子30秒)。如果我在本地对同一个端点计时,我可以在1到2秒内得到结果。在本地运行docker镜像,端点也需要2秒才能返回结果。

当我检查我的kubernetes实例的CPU使用情况,而请求正在运行时,它不超过35%,所以我不确定它是否与缺乏计算能力有关?

有没有人在向前传递到pytorch模型时看到这样的性能问题?有什么我该调查的线索吗?

任何帮助都是非常感激的,谢谢!

我正在使用

限制:cpu:"2";请求:cpu:"1">

Python: 3.7Pytorch: 1.8.1

我也有同样的问题。在本地,我的pytorch模型会在25毫秒内返回预测,然后在Kubernetes上需要5秒。这个问题与torch有多少线程可用有关。我不是100%确定为什么会这样,但是减少线程的数量可以显著提高性能。

在kubernetes pod上设置以下环境变量。OMP_NUM_THREADS=1

之后,它在kubernetes上执行,就像在本地运行一样~每次调用30ms。

这些是我的pod限制:

  • cpu限制1
  • mem限值:1500m

我是从这篇博客文章中发现的:https://www.chunyangwen.com/blog/python/pytorch-slow-inference.html

相关内容

  • 没有找到相关文章

最新更新