Tensorflow服务:批处理请求获得更高的延迟

时间:2016-10-18 14:15:42

标签: tensorflow batching tensorflow-serving

我正在尝试在GKE上部署TF服务并尝试建立一个高度可用的在线预测系统。我试图通过将多个请求一起批处理来优化延迟。然而,延迟似乎遭受而不是改善。

  • 该模型是CNN,长度约为50的输入向量。
  • TF服务在具有6个标准节点的Kubernetes集群上运行
  • 我尝试了5和10的批量。我没有使用来自TF服务的batching implementation,我只是发送了一个形状(batch_size, input_size)而不是(1, input_size) <的数组的请求/ LI>

我的直觉是,尽管批处理在与GPU一起使用时带来了最大的好处,但是将它与CPU一起使用不应该让它变慢。下面的图表说明了减速 - req / s是预测/ s,即20将被分成4或2个服务器请求。

我理解这不会将工作负载均匀地分布在群集上以获得较少数量的请求 - 但即使查看60或120,延迟也会更高。

知道为什么会这样吗?

chart with batch size 1

chart with batch size 5

chart with batch size 10

0 个答案:

没有答案