16

有谁知道使用 Google Cloud Machine Learning 与 Google Cloud Engine 中的虚拟机实例相比有什么区别?

我在 Python 3 中使用 Keras,感觉 GML 的限制更大(使用 python 2.7,TensorFlow 的旧版本,必须遵循给定的结构......)。我想它们是在 GCE 中使用 GML 而不是 VM 的好处,但我想知道它们是什么。

4

1 回答 1

13

Google Cloud ML 是一项完全托管的服务,而 Google Compute Engine 不是(后者是IaaS)。

假设您只是想在拥有自己的模型时了解案例的一些差异,这里有一些:

  • Google CloudML 最显着的特性是部署本身。您不必处理诸如设置集群(即扩展)、启动它、安装包和部署模型以进行训练之类的事情。这一切都是自动完成的,您必须在 Compute Engine 中自己完成,尽管您可以安装的内容不受限制。

    尽管您可以或多或少地自动化所有这些部署,但这并没有什么魔力。事实上,您可以在 CloudML 的日志中看到一个训练作业,从启动实例集群然后安装 TF 并使用您设置的选项运行模型的意义上来说,它是非常初级的。这是因为 TensorFlow 是一个与 Google 系统分离的框架。

  • 但是,在预测方面,CloudMl 与 Compute Engine 存在显着差异。这就是你支付的大部分费用,我会用 CloudML 说。您可以在 CloudML 中部署模型以进行开箱即用的在线和批量预测。在 Compute Engine 中,您必须处理 TensorFlow Serving的所有怪癖,这些怪癖并不是那么微不足道(与训练模型相比)。

  • CloudML 的另一个优势是超参数调优。它不仅仅是一个智能的暴力破解工具,可以找出给定模型的最佳参数组合,您可以在 Compute Engine 中自动执行此操作,但您必须完成找出优化算法的那部分工作找到可以改善目标函数的参数和值的组合(通常最大化您的准确性或减少您的损失)。

  • 最后,两种服务的定价略有不同。直到最近,CloudML 的定价与其他竞争者保持一致(您需要为训练和预测中的计算时间付费,但也可以根据预测付费,您可以将其与 Compute Engine 中的计算时间进行比较)。但是,现在您只需为计算时间付费(而且比以前更便宜),这可能会使在 Compute Engine 中管理和扩展自己的集群(使用 TensorFlow)的想法在大多数情况下毫无用处。

于 2017-12-25T14:41:06.237 回答