8

有誰知道使用Google Cloud Machine Learning與Google Cloud Engine中的虛擬機實例相比有什麼區別?Google Cloud - 計算引擎與機器學習

我在Python 3中使用Keras,覺得GML更受限制(使用Python 2.7,老版本的TensorFlow,必須遵循給定的結構...)。我想他們是在GCE上使用GML的好處,但我想知道它們是什麼。

+0

我在計算引擎中的簡單Ubuntu虛擬機上運行TF,並且在那裏使用/ etc的庫有很大的靈活性。形成我在CloudML中理解的很多東西是在幕後爲您完成的,因此更方便,但您的靈活性較低。我認爲關於CloudML的一件大事就是他們實際上使用TPU?在Compute Engine中我沒有看到TPU,所以它只是普通的CPU和現在的GPU(儘管如此,還沒有成功爲我做一件事!!)。另外,在定價方面,使用虛擬機只需支付使用時間,但使用CloudML則會更棘手 –

+0

看起來,對於我的需求(培訓更快,不使用我的個人計算機),使用虛擬機並沒有真正的好處雲ML。 關於TPU:它們現在不可用,但它們也可用於計算引擎。 [您可以從自定義VM類型連接到雲端TPU](https://cloud.google.com/tpu/)。 我猜我現在唯一剩下的問題是我是否可以/應該使用超參數優化工具(對於Cloud ML)或者我可以使用VM中的其他工具(即HyperOpt)。 – smichaud

+0

對於超參數優化,使用虛擬機工具,而不是雲ML –

回答

2

Google Cloud ML是一項完全託管服務,而Google Compute Engine不是(後者爲IaaS)。

假設你只是想知道的情況下,一些分歧時,你有自己的模型,在這裏你有一些:

  • 谷歌CloudML最顯着的特點是部署 本身。您不必關心設置 羣集(即縮放),啓動它,安裝軟件包和 部署您的模型進行培訓。這一切都是自動完成的,並且你必須在Compute Engine中自己完成,儘管你可以不受限制地安裝。

    雖然所有這些部署都可以自動實現或多或少的功能,但 對它來說毫無意義。實際上,您可以在CloudML的日誌中看到 培訓作業,它是非常基本的,因爲實例的集羣 已啓動,此後安裝了TF,並且您的 模型以您設置的選項運行。這是由於TensorFlow 是一個與Google系統分離的框架。

  • 但是,涉及到預測時,CloudMl與Compute 引擎之間存在差異。這就是您支付 時大部分我會用CloudML說的。您可以在012MLCloudML中部署模型,以便進行線上和批量預測。 在計算引擎中,您將不得不照顧所有這些不重要的 TensorFlow Serving的怪癖(與訓練模型的 相比)。

  • CloudML的另一個優點是超參數調整。它不僅僅是一個有點聰明的蠻力工具,可以爲你的給定模型找出最好的 參數組合,而且你可能會在計算引擎中自動完成這個工作,但是你必須做 這個計算部分淘汰優化算法,找到可改善目標函數(通常最大化您的準確性或減少您的損失)的參數和值的組合。

  • 最後,兩種服務的定價都略有不同。直到recently,CloudML的定價與其他競爭對手配對(您需要支付訓練和預測中的計算時間,但是也可以按照您可以與計算引擎中的計算時間進行比較的預測進行支付)。然而,現在你只需要支付那個計算時間(而且它比以前更便宜),這可能使得在大多數情況下無法在計算引擎中管理和擴展自己的羣集(使用TensorFlow)。