我正在寻找一个多节点+多核示例来训练使用插入符号的模型。我目前使用多核功能,它工作得很好,但是对于某些需要大量迭代的任务,我想知道是否可以利用多节点设置,从而我可以在所有内核上并行训练所有节点。因此,如果我有 2 个节点,每个节点有 24 个核心,而不是在具有 24 个核心的单个节点上进行训练,我将使用 48 个核心利用两个节点进行训练。
是否有任何现有的功能可以实现这一点/是否必须手动编码,
谢谢,
- 拉吉。
我正在寻找一个多节点+多核示例来训练使用插入符号的模型。我目前使用多核功能,它工作得很好,但是对于某些需要大量迭代的任务,我想知道是否可以利用多节点设置,从而我可以在所有内核上并行训练所有节点。因此,如果我有 2 个节点,每个节点有 24 个核心,而不是在具有 24 个核心的单个节点上进行训练,我将使用 48 个核心利用两个节点进行训练。
是否有任何现有的功能可以实现这一点/是否必须手动编码,
谢谢,
要允许插入符号使用多个节点和多个核心,您需要创建并注册适当的 foreach 并行后端。你可以通过 doSNOW 包创建一个雪集群,通过多次指定相同的主机名,每个节点启动多个工作程序。要为每个节点启动 24 个工作器,您可以使用:
library(doSNOW)
cl <- makeSOCKcluster(c(rep('node1', 24), rep('node2', 24)))
registerDoSNOW(cl)
该makeSOCKcluster
函数使用 ssh 启动工作程序,因此您应该设置无密码 ssh。这在 Windows 上可能很难(不可能?),但通常在 Linux 和 Mac OS X 上完成。如果您使用的是 Linux 集群,最好使用makeMPIcluster
.