【问题标题】:How to improve model latency for deployment如何改善部署的模型延迟
【发布时间】:2021-10-22 02:49:46
【问题描述】:

问题: 如何在不重新训练模型的情况下改善 Web 部署的模型延迟?我应该标记哪些清单以提高模型速度?

背景: 我有多个模型,它们在一台带有一个 K80 GPU 的机器上按顺序处理视频;每个模型大约需要 5 分钟来处理一个 1 分钟长的视频。在不改变模型架构的情况下,我应该尝试哪些想法和建议来改善每个模型的延迟?我应该如何组织我对这个问题的思考?

【问题讨论】:

  • 你使用哪个框架?火炬?张量流?通常要具有可扩展性并具有良好的性能,您可以使用 Nvidia triton 等推理服务器

标签: deep-learning pytorch torch torchscript


【解决方案1】:
  1. 如果适合您的用例,采样帧是最简单的技术。选择每 5 帧进行推理会将推理时间缩短约 5 倍(理论上)。需要注意的是,如果您正在处理诸如对象跟踪之类的任务,则会降低准确性。
  2. fp32 到 fp16 可能会提高推理速度。
  3. Batch Inference 总能将推理时间缩短不少。参考:https://github.com/ultralytics/yolov5/issues/1806#issuecomment-752834571
  4. 多进程并发推理基本上是在单独的进程上旋转超过 1 个相同模型的实例并并行推理。 torch 有一个多处理模块 torch.multiprocessing。我从来没有使用过这个,但我认为设置会有点重要和复杂。

【讨论】:

    猜你喜欢
    • 2017-04-28
    • 1970-01-01
    • 2020-04-22
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    • 2013-06-11
    • 2020-01-07
    • 1970-01-01
    相关资源
    最近更新 更多