首先,我要感谢H2o团队提供了出色的产品和快速的开发/迭代。
我在4台计算机集群上测试了h2o autoML。 (40个核心,256 GB的ram,gigabite带宽)
对于一个20MB的数据集,我注意到群集耗尽了很多网络,几乎没有触及CPU。我想知道h2o是否有必要为每台计算机训练1个模型,而不是试图训练整个集群上的每个模型。
答案 0 :(得分:1)
AutoML正在按序列训练H2O模型,因此这个建议通常适用于H2O模型,而不仅仅是AutoML - 如果您的数据集足够小,将机器添加到H2O集群只会减慢培训过程。
对于一个20MB的数据集,我注意到群集耗尽了很多网络,几乎没有触及CPU。
如果你有一个20MB的数据集,那么在一台机器上运行H2O总是更好。当您的训练框架不适合单台机器上的RAM时,使用多台机器的开销是值得的。 我在here编写的另一个Stack Overflow答案中有更长的解释。
我想知道h2o是否有必要为每台计算机训练1个模型,而不是试图训练整个集群上的每个模型。
确实对小数据有意义,但H2O被设计为扩展到大数据(有数百万或数亿行),因此并行训练多个模型不是设计模式被使用了。为了加快培训过程,您可以使用具有更多内核的单台计算机。