首页 > 解决方案 > tensorflow 服务模型负载影响其他模型图运行尾延迟

问题描述

我正在使用相同的 tensorflow 模型服务器实例(在单个 Docker 容器内运行)加载两个模型 A 和 B。(使用 tensorflow_model_sever v2.5.1)

这些模型在磁盘上约为 5GB,其中大约 1.7GB 只是与推理相关的节点。

模型 A 只加载一次,模型 B 每隔一段时间就会获得一个新版本。我的客户只请求模型 A 的预测。不使用模型 B。顺便说一句,两个模型都有预热数据。

每次为模型 B 加载新版本时,模型 A 中图形运行的尾部延迟从 20 毫秒跳到 > 100 毫秒(!)。我从 tensorflow 模型服务器 - :tensorflow:serving:request_latency_bucket 以及我的 GRPC 客户端都得到了尾部延迟。

容器有足够的可用内存和 CPU,这在 GPU 上也可以看到。

我尝试更改 num_load_threads 和 num_unload_threads、flush_filesystem_caches,但无济于事。

到目前为止,还没有使用 GRPC 对冲/手动双重调度(但正在努力)摆脱它,任何人都见过这个,并且更好地设法克服这个问题?谢谢!

标签: tensorflowmachine-learningtensorflow-servingrecommender-systems

解决方案


推荐阅读