8

Weiß jemand, was der Unterschied zwischen der Verwendung von Google Cloud Machine Learning im Vergleich zu einer Virtual Machine-Instanz in der Google Cloud Engine ist?Google Cloud - Compute Engine VS Maschinelles Lernen

Ich benutze Keras mit Python 3 und fühle mich wie GML ist restriktiver (mit Python 2.7, ältere Version von TensorFlow, muss die gegebene Struktur folgen ...). Ich denke, sie sind Vorteile der Verwendung von GML über eine VM in GCE, aber ich würde gerne wissen, was sie sind.

+0

Ich starte TF auf einfachen Ubuntu VMs in Compute Engine, und dort haben Sie eine Menge Flexibilität, welche Bibliotheken/etc. Aus was ich in CloudML verstehe, wird hinter den Kulissen viel für Sie erledigt und so ist es bequemer, aber Sie haben weniger Flexibilität. Ich dachte, eine Sache mit CloudML wäre, dass sie tatsächlich TPUs verwenden? Ich habe nicht gesehen, dass TPUs in Compute Engine verfügbar sind, also sind es nur normale CPUs und jetzt GPUs (noch haben es mir immer noch nicht geschafft, einen für mich zu arbeiten !!). Auch in Bezug auf die Preise, mit VMs zahlen Sie nur für die Nutzungszeit, aber mit CloudML ist es ein bisschen schwieriger –

+0

Es scheint, dass für meine Bedürfnisse (Training schneller und nicht mit meinem PC), gibt es keine wirklichen Vorteile der Verwendung Wolke ML. In Bezug auf TPUs: Sie sind jetzt nicht verfügbar, aber sie werden auch für Compute Engine verfügbar sein. [Sie können eine Verbindung zu Cloud-TPUs über benutzerdefinierte VM-Typen herstellen] (https://cloud.google.com/tpu/). Ich denke, dass meine einzige verbleibende Frage jetzt ist, ob ich das Optimierungstool für Hyperparameter (für Cloud ML) verwenden könnte oder sollte oder ob ich ein anderes Tool in der VM (d. H. HyperOpt) verwenden könnte. – smichaud

+0

Für Hyperparameter-Optimierung, verwenden Sie VM-Tools statt Cloud ML –

Antwort

2

Google Cloud ML ist ein vollständig verwalteter Dienst, Google Compute Engine hingegen nicht (letzteres ist IaaS).

Unter der Annahme, dass Sie nur wollen einige Unterschiede für den Fall wissen, wenn Sie Ihr eigenes Modell haben, hier haben Sie einige:

  • Das auffälligste Merkmal von Google CloudML der Einsatz ist selbst. Sie müssen sich nicht um Dinge wie die Einrichtung Ihres Clusters kümmern (dh Skalierung), ihn starten, die Pakete installieren und Ihr Modell für das Training bereitstellen. Das alles wird automatisch erledigt, und Sie müssten es in Compute Engine selbst tun, obwohl Sie in dem, was Sie installieren können, uneingeschränkt wären.

    Obwohl alle diese Bereitstellung Sie mehr oder weniger automatisieren können, ist keine Magie zu ihm. Tatsächlich können Sie in den Logs von CloudML für einen Training Job sehen, dass es ziemlich rudimentär ist in dem Sinne, dass ein Cluster von Instanzen gestartet wird und danach TF installiert ist und Ihr Modell mit den von Ihnen eingestellten Optionen ausgeführt wird. Dies liegt daran, dass TensorFlow ein von Google-Systemen entkoppeltes Framework ist.

  • Es gibt jedoch einen wesentlichen Unterschied zwischen CloudMl und Compute Engine, wenn es um die Vorhersage geht. Und das ist, was Sie für meist mit CloudML bezahlen würde. Sie können das Modell in CloudML für Online-und Batch-Vorhersage out-of-the-Box ziemlich bereitgestellt haben. In Compute Engine, müssten Sie auf alle Macken von TensorFlow Serving, die nicht so trivial sind (im Vergleich zu Training Ihres Modells) kümmern.

  • Ein weiterer Vorteil von CloudML ist die Hyperparameter-Optimierung. Es ist nicht mehr als nur ein etwas intelligentes Brute-Force-Tool, um herauszufinden, die beste Kombination von Parametern für Ihr gegebenes Modell, und Sie könnten dies in Compute Engine automatisieren, aber Sie müssten diesen Teil der Berechnung tun out die Optimierungsalgorithmen, um die Kombination von Parametern und Werten zu finden, die die objektive Funktion verbessern würde (normalerweise maximieren Sie Ihre Genauigkeit oder verringern Sie Ihren Verlust).

  • Schließlich ist die Preisgestaltung in beiden Service etwas anders. Bis recently war die Preisgestaltung von CloudML mit anderen Mitbewerbern identisch (Sie würden für Rechenzeit sowohl im Training als auch in der Vorhersage zahlen, aber auch pro Vorhersage, die Sie mit der Rechenzeit in Compute Engine vergleichen könnten). Allerdings zahlen Sie jetzt nur für diese Rechenzeit (und es ist sogar noch billiger als zuvor), was die Idee, Ihren eigenen Cluster (mit TensorFlow) in Compute Engine zu verwalten und zu skalieren, wahrscheinlich in den meisten Szenarien nutzlos macht.

Verwandte Themen