Google Cloud - Compute Engine VS Maschinelles Lernen

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?

Ich benutze Keras mit Python 3 und fühle mich wie GML ist mehr einschränkend (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.

    
smichaud 01.06.2017, 14:49
quelle

1 Antwort

3

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

Angenommen, Sie möchten nur einige Unterschiede für den Fall kennen, wenn Sie Ihr eigenes Modell haben, hier haben Sie einige:

  • Das auffälligste Merkmal von Google CloudML ist die Bereitstellung selbst. Sie müssen sich nicht um Dinge wie die Einrichtung Ihres kümmern Cluster (dh Skalierung), starten, installieren die Pakete und Stellen Sie Ihr Modell zum Training bereit. Dies wird alles automatisch gemacht, und Sie müssten es selbst in Compute Engine tun, obwohl Sie in was Sie installieren können, uneingeschränkt sind.

    Obwohl alle diese Deployments mehr oder weniger automatisiert werden können, gibt es dort ist keine Magie dazu. In der Tat können Sie in den Logs von CloudML nachsehen Training Job, dass es in dem Sinne ziemlich rudimentär ist, dass ein Cluster von Instanzen wird gestartet und danach ist TF installiert und Ihr Das Modell wird mit den von Ihnen festgelegten Optionen ausgeführt. Dies ist auf TensorFlow zurückzuführen ein von Google-Systemen entkoppelter Rahmen.

  • Es gibt jedoch einen wesentlichen Unterschied zwischen CloudMl und Compute Engine, wenn es um die Vorhersage geht. Und dafür zahlen Sie meistens würde ich mit CloudML sagen. Sie können das Modell in Deployment implementieren CloudML für die Online- und Batch-Vorhersage praktisch out of the box. In Compute Engine müssten Sie sich um alle Macken kümmern TensorFlow Serving , die nicht so trivial sind (verglichen mit Trainieren Sie Ihr Modell).

  • Ein weiterer Vorteil von CloudML ist die Optimierung von Hyperparametern. Es ist nicht mehr als nur ein etwas schlaues Brute-Force-Tool, um das Beste herauszufinden Kombination von Parametern für Ihr gegebenes Modell, und Sie könnten möglicherweise automatisieren dies in Compute Engine, aber Sie müssten tun der Teil, der die Optimierungsalgorithmen ermittelt, um das zu finden Kombination von Parametern und Werten, die das Ziel verbessern würden Funktion (in der Regel maximieren Sie Ihre Genauigkeit oder reduzieren Sie Ihren Verlust).

  • Schließlich ist die Preisgestaltung in beiden Diensten etwas anders. Bis vor kurzem war die Preisgestaltung von CloudML mit anderen Mitbewerbern identisch (Sie würden für die Rechenzeit in beiden Trainings bezahlen und Vorhersage, 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 vorher), was die Idee, Ihren eigenen Cluster (mit TensorFlow) in Compute Engine zu managen und zu skalieren, wahrscheinlich in den meisten Szenarien nutzlos macht.

Guille 25.12.2017 14:41
quelle