【发布时间】:2018-01-25 07:23:59
【问题描述】:
首先,我要感谢 H2o 团队的出色产品和快速开发/迭代。
我正在一个 4 机器集群上测试 h2o autoML。 (40 核,256 GB 内存,千兆带宽)
对于一个 20MB 的数据集,我注意到集群正在使用大量网络并且几乎不接触 CPU。我想知道 h2o 每台计算机训练 1 个模型而不是尝试训练整个集群上的每个模型是否有意义。
【问题讨论】:
标签: h2o
首先,我要感谢 H2o 团队的出色产品和快速开发/迭代。
我正在一个 4 机器集群上测试 h2o autoML。 (40 核,256 GB 内存,千兆带宽)
对于一个 20MB 的数据集,我注意到集群正在使用大量网络并且几乎不接触 CPU。我想知道 h2o 每台计算机训练 1 个模型而不是尝试训练整个集群上的每个模型是否有意义。
【问题讨论】:
标签: h2o
AutoML 正在按顺序训练 H2O 模型,因此该建议一般适用于 H2O 模型,而不仅仅是 AutoML - 如果您的数据集足够小,将机器添加到您的 H2O 集群只会减慢训练过程。
对于一个 20MB 的数据集,我注意到集群正在使用大量网络并且几乎不接触 CPU。
如果您有一个 20MB 的数据集,那么在单台机器上运行 H2O 总是会更好。仅当您的训练框架不适合单台机器上的 RAM 时,使用多台机器的开销才值得。 在我写的另一个 Stack Overflow 答案中有更长的解释 here。
我想知道 h2o 在每台计算机上训练 1 个模型而不是尝试训练整个集群上的每个模型是否有意义。
确实对小数据有意义,但 H2O 旨在扩展到大数据(数百万或数亿行),因此并行训练多个模型并不是被使用了。为了加快训练过程,您可以使用具有更多内核的单台机器。
【讨论】: