如何利用多个 Google Cloud TPU 训练单个模型
How to utilize multiple Google Cloud TPUs to train a single model
我在 us-central1-f
区域分配了多个 Google 云 TPU。机器类型都是v2-8
。
如何利用我所有的 TPU 来训练单个模型?
us-central1-f
区域 doesn't support pods,因此使用 pods 似乎不是解决方案。即使 pods 可用,我拥有的 v2-8 单元的数量也不匹配任何 pod TPU 切片大小(16、64、128、256),所以我不能在一个单个 pod.
我相信你不会轻易做到这一点。如果您想使用多个 TPU 训练单个模型,则需要访问具有 TPU Pods 的区域。否则,您可以做显而易见的事情:在不同的 TPU 上训练相同的模型,但使用不同的超参数作为进行网格搜索的一种方式,或者您可以训练多个弱学习器,然后手动组合它们。
虽然我找不到明确回答这个问题的文档,但我阅读了多篇文章和问题并得出结论,如果你使用 v2-8
或 v3-8
TPU,它是不可能一次使用多个。您将不得不使用更大的机器,例如 v2-32
或 v3-32
以确保您可以访问更多内核,而 TFRC 程序不会免费提供。
参考文献:
我在 us-central1-f
区域分配了多个 Google 云 TPU。机器类型都是v2-8
。
如何利用我所有的 TPU 来训练单个模型?
us-central1-f
区域 doesn't support pods,因此使用 pods 似乎不是解决方案。即使 pods 可用,我拥有的 v2-8 单元的数量也不匹配任何 pod TPU 切片大小(16、64、128、256),所以我不能在一个单个 pod.
我相信你不会轻易做到这一点。如果您想使用多个 TPU 训练单个模型,则需要访问具有 TPU Pods 的区域。否则,您可以做显而易见的事情:在不同的 TPU 上训练相同的模型,但使用不同的超参数作为进行网格搜索的一种方式,或者您可以训练多个弱学习器,然后手动组合它们。
虽然我找不到明确回答这个问题的文档,但我阅读了多篇文章和问题并得出结论,如果你使用 v2-8
或 v3-8
TPU,它是不可能一次使用多个。您将不得不使用更大的机器,例如 v2-32
或 v3-32
以确保您可以访问更多内核,而 TFRC 程序不会免费提供。
参考文献: