【问题标题】:What is the best way to use multiprocessing CPU inference for PyTorch models?对 PyTorch 模型使用多处理 CPU 推理的最佳方法是什么?
【发布时间】:2019-03-20 04:42:26
【问题描述】:

我必须生产一个 PyTorch BERT 问答模型。 CPU 推理对我来说非常慢,因为模型需要评估 30 个样本的每个查询。在这 30 个样本的结果中,我选择得分最高的答案。 GPU 对我来说太昂贵了,无法用于推理。

我可以为此利用多处理/并行 CPU 推理吗? 如果是,这样做的最佳做法是什么? 如果否,是否有一个云选项只针对我进行的 GPU 查询而不是持续运行 GPU 实例向我收费?

【问题讨论】:

    标签: python multiprocessing pytorch


    【解决方案1】:

    获得更好性能的另一种可能方法是尽可能减少模型。

    最有前途的技术之一是量化和二值化神经网络。以下是一些参考资料:

    1. https://arxiv.org/abs/1603.05279
    2. https://arxiv.org/abs/1602.02505

    【讨论】:

      【解决方案2】:

      您可以尝试以下方法:

      利用英特尔 Pytorch 获得更好的性能。请参考 https://github.com/intel/pytorch 安装具有英特尔优化功能的 pytorch。

      您可以使用英特尔优化的 Python 库。即在创建您的环境时,请确保您通过了英特尔频道。例如:conda create -n env_name python=3.6 -c intel。此外,您可以使用 Intel 通道安装特定库。

      另一种选择是尝试使用 Horovod for PyTorch 进行多节点分布式训练。详情请参考链接https://github.com/horovod/horovod#pytorch

      【讨论】:

        猜你喜欢
        • 2010-12-02
        • 2016-05-26
        • 2010-09-05
        • 2020-01-28
        • 2021-09-26
        • 2010-09-06
        • 2021-11-14
        • 2011-02-26
        • 2015-05-31
        相关资源
        最近更新 更多