在 AWS 上 H2o.AI 中构建模型抛出内存不足错误

Building model in H2o.AI on AWS throwing Out Of Memory Error

我们在 AWS 上 运行 h2o 并在 GBM 算法上使用 14gb CSV 数据集训练模型,它达到 36% 然后失败并出现错误:

'Java heap space', caused by java.lang.OutOfMemoryError: Java heap space

以下是我们环境的规范:

h2o Cluster Version: 3.17.0.4153
R Version: 3.4.3
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
Algorithm: GBM
Training DataSet: CSV with 1000 cols, 2,695,297 lines, that is 14gb in size
AWS:
Model       vCPU    Mem (GiB)    Storage
t2.2xlarge  8       32           EBS-Only

问题:

在这种大小的数据集上训练 GBM 需要多少内存?

我们可以做一些配置让h20更好地管理内存吗?例如;使用可用内存到极限,然后流式传输而不会崩溃或发生其他问题...

如果花的时间长,完成了至少你有一个模型。 真的,我们只是想要一些不会失败的东西......目前唯一的答案是尝试一个较小的数据集......每次训练尝试都会浪费时间和金钱。

我们对此比较陌生,因此非常感谢您的帮助。如果您需要更多详细信息,请告诉我您的需求。

感谢您的宝贵时间。

更新:

所以我们将 java 选项 -Xmx 设置为 14g,然后将其增加到 25g 并允许它继续。

我建议使用 4-5 倍的数据集大小。所以至少需要 64 GB。