mov*_*wig 4 python kubernetes pytorch bert-language-model
我想通过部署在 Kubernetes 上的端点提供文本分类模型(finBERT pytorch 模型)的结果。
整个管道正在运行,但部署后处理速度非常慢(一句话需要 30 秒)。如果我在本地对同一端点进行计时,我将在 1 或 2 秒内得到结果。在本地运行docker镜像,端点也需要2秒才能返回结果。
当我在请求运行时检查 kubernetes 实例的 CPU 使用率时,它没有超过 35%,所以我不确定这是否与计算能力不足有关?
在向 pytorch 模型进行前向传递时,有人目睹过此类性能问题吗?关于我应该调查什么的任何线索?
非常感谢任何帮助,谢谢!
我目前正在使用
限制:CPU:“2”请求:CPU:“1”
Python:3.7 Pytorch:1.8.1
我遇到过同样的问题。在本地,我的 pytorch 模型将在 25 毫秒内返回预测,而在 Kubernetes 上则需要 5 秒。问题与火炬可以使用的线程数量有关。我不是 100% 确定为什么会这样,但减少线程数量可以显着提高性能。
在您的 kubernetes pod 上设置以下环境变量。
OMP_NUM_THREADS=1
完成此操作后,它在 kubernetes 上的执行就像在本地运行一样,每次调用约 30 毫秒。
这些是我的 Pod 限制:
11500m我从这篇博客文章中发现了这一点:https ://www.chunyangwen.com/blog/python/pytorch-slow-inference.html
| 归档时间: |
|
| 查看次数: |
702 次 |
| 最近记录: |