8

我对苏打水以及为什么需要它有一些疑问或疑问。

让我们假设我有一个生成的带有二进制和 pojo 的 h2o 模型。

现在我想将模型部署到生产中,并且可以选择同时使用 pojo 和二进制(苏打水)。

  1. 我应该使用哪一个?使用 pojo 直接火花或使用 Binary 的苏打水。
  2. 当我们可以使用 pojo 轻松部署模型并使用 spark 本身时,苏打水的确切用途是什么?
  3. 只有当您必须在大量数据上训练模型时才需要苏打水吗?或者它也可以用于模型的 PROD 部署。

示例:https ://github.com/h2oai/h2o-droplets/blob/master/h2o-pojo-on-spark-droplet/src/main/scala/examples/PojoExample.scala

使用 spark 运行 pojo 模型。

示例:https ://github.com/h2oai/h2o-droplets/blob/master/sparkling-water-droplet/src/main/scala/water/droplets/SparklingWaterDroplet.scala

在苏打水中训练/运行模型。

与普通火花相比,苏打水 h2o 有哪些优势?

4

1 回答 1

7
  1. 我应该使用哪一个?使用 pojo 直接火花或使用 Binary 的苏打水。

    • 没有“正确”的答案,这取决于您的用例。听起来您想要的是 Spark 中的 POJO/MOJO,因此您可以在不增加 H2O 集群依赖的情况下进行评分。
  2. 当我们可以使用 pojo 轻松部署模型并使用 spark 本身时,苏打水的确切用途是什么?

    • 苏打水的确切用途是在 Spark 环境中提供 H2O。这对于训练特别有用:您可以利用 Spark 的许多数据连接器、转换功能等。POJO/MOJO + Spark 足以用于评分
  3. 只有当您必须在大量数据上训练模型时才需要苏打水吗?或者它也可以用于模型的 PROD 部署。

    • 当您想在与 Spark 生态系统完美配合的环境中利用 H2O 的算法时,需要使用苏打水。

如果将模型投入“生产”意味着将“始终在线”评分公开为 REST 端点或类似的:POJO/MOJO 是您想要的方式(H2O 集群不是高度可用的)。不过,您需要确保自己正确处理传入的数据。

如果您在夜间或以其他方式进行批量评分,那么使用带苏打水的二进制模型可能是有意义的,因为解析传入数据变得微不足道(asH2OFrame(..))并且评分很容易预测()

于 2017-04-06T18:14:26.123 回答