关于为Inferentia编译模型的一些问题。
0
【以下的问题经过翻译处理】 当我阅读文档但无法找到答案时,我产生了以下问题。
-
编译是否必须在CPU上完成?我可以使用加速器如GPU来加速编译吗?
-
在Inf1实例上编译是否利用神经元核心,还是像其他实例一样只使用CPU?
-
看起来有几种方法可以利用多个神经核心进行推理,我找到:
torch.neuron.DataParallel
- 在编译之前设置
os.environ ['NEURON_RT_NUM_CORES']
- 使用
--neuroncore-pipeline-cores
进行跟踪函数设置。是否有任何差异?
1 個回答
- 最新
- 最多得票
- 最多評論
這些答案是否有幫助?支持正確答案,以幫助社區從您的知識中受益。
0
【以下的回答经过翻译处理】 我假设您正在编译一个基于Inf1实例的模型。如果是这样,以下是对您的问题的一些答案:
- 编译必须在CPU上完成吗?我可以使用像GPU这样的加速器来加快速度吗? [A] 是的,编译发生在CPU上,不能使用GPU加速。
- 在Inf1实例上编译会利用神经元核心,还是和其他实例一样使用CPU? [A] 编译使用CPU资源,您可以使用单独的实例(例如C5、C6或z1d实例类型)以获得最快的编译时间。
- 使用多个神经核心进行推断似乎有几种方法。 [A] 每个3个选项都使用多个神经元核心,但用于不同的情况。
torch.neuron.DataParallel
通过将单个神经元模型复制到所有可用的NeuronCores上,以模块级别实现数据并行,在不同的内核上分配数据进行并行推断。它包括Dynamic batching等功能,允许您使用神经元模型最初未编译的张量批量大小。这是必要的,因为底层Inferentia硬件将始终使用编译期间使用的批量大小执行推断。更多详细信息可以在此处找到 链接- *
NEURON_RT_NUM_CORES
是运行时环境变量,告诉神经元运行时自动保留指定的免费NeuronCores数量,用于特定进程。如果您有多个进程尝试访问实例上的神经元核心