关于为Inferentia编译模型的一些问题。

0

【以下的问题经过翻译处理】 当我阅读文档但无法找到答案时,我产生了以下问题。

  1. 编译是否必须在CPU上完成?我可以使用加速器如GPU来加速编译吗?

  2. 在Inf1实例上编译是否利用神经元核心,还是像其他实例一样只使用CPU?

  3. 看起来有几种方法可以利用多个神经核心进行推理,我找到:

    • torch.neuron.DataParallel
    • 在编译之前设置os.environ ['NEURON_RT_NUM_CORES']
    • 使用--neuroncore-pipeline-cores进行跟踪函数设置。是否有任何差异?
profile picture
专家
已提问 5 个月前16 查看次数
1 回答
0

【以下的回答经过翻译处理】 我假设您正在编译一个基于Inf1实例的模型。如果是这样,以下是对您的问题的一些答案:

  1. 编译必须在CPU上完成吗?我可以使用像GPU这样的加速器来加快速度吗? [A] 是的,编译发生在CPU上,不能使用GPU加速。
  2. 在Inf1实例上编译会利用神经元核心,还是和其他实例一样使用CPU? [A] 编译使用CPU资源,您可以使用单独的实例(例如C5、C6或z1d实例类型)以获得最快的编译时间。
  3. 使用多个神经核心进行推断似乎有几种方法。 [A] 每个3个选项都使用多个神经元核心,但用于不同的情况。
  • torch.neuron.DataParallel通过将单个神经元模型复制到所有可用的NeuronCores上,以模块级别实现数据并行,在不同的内核上分配数据进行并行推断。它包括Dynamic batching等功能,允许您使用神经元模型最初未编译的张量批量大小。这是必要的,因为底层Inferentia硬件将始终使用编译期间使用的批量大小执行推断。更多详细信息可以在此处找到 链接
  • *NEURON_RT_NUM_CORES是运行时环境变量,告诉神经元运行时自动保留指定的免费NeuronCores数量,用于特定进程。如果您有多个进程尝试访问实例上的神经元核心
profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则

相关内容