8

Czy ktoś wie, jaka jest różnica między używaniem Google Cloud Machine Learning a instancją Virtual Machine w Google Cloud Engine?Google Cloud - Compute Engine VS Machine Learning

Używam Keras z Pythonem 3 i czuję, że GML jest bardziej restrykcyjny (przy użyciu Pythona 2.7, starsza wersja TensorFlow, musi być zgodna z podaną strukturą ...). Sądzę, że są one korzyści z używania GML przez maszynę wirtualną w GCE, ale chciałbym wiedzieć, jakie one są.

+0

Uruchamiam TF na prostych maszynach wirtualnych Ubuntu w Compute Engine, a tam masz dużą swobodę wyboru bibliotek/etc. Z tego, co rozumiem w CloudML, wiele rzeczy dzieje się za kulisami, więc jest to wygodniejsze, ale masz mniejszą elastyczność. Myślałem, że jedną ważną rzeczą dotyczącą CloudML jest fakt, że faktycznie używają TPU? Nie widziałem dostępnych TPU w Compute Engine, więc to tylko zwykłe procesory i teraz GPU (mimo to wciąż nie udało mi się wykonać dla mnie żadnej pracy !!). Również pod względem cen, przy maszynach wirtualnych płacisz tylko za czas użytkowania, ale z CloudML jest nieco trudniejszy –

+0

Wydaje się, że dla moich potrzeb (szybsze szkolenie i nie używanie mojego komputera osobistego), nie ma rzeczywistych korzyści z używania Cloud ML. Jeśli chodzi o TPU: nie są one dostępne teraz, ale będą również dostępne dla Compute Engine. [Możesz połączyć się z Cloud TPU z niestandardowych typów maszyn wirtualnych] (https://cloud.google.com/tpu/). Domyślam się, że moje jedyne pytanie brzmi teraz, czy mogę/powinienem użyć narzędzia optymalizacji parametrów hiperbarycznych (dla Cloud ML), czy też mogę użyć innego narzędzia w VM (np. HyperOpt). – smichaud

+0

Aby zoptymalizować Hyperparameters, użyj raczej narzędzi VM niż chmurki ML –

Odpowiedz

2

Google Cloud ML to usługa w pełni zarządzana, a Google Compute Engine nie (druga to IaaS).

Zakładając, że po prostu chcesz wiedzieć, pewne różnice w przypadku, gdy masz swój własny model, tutaj masz kilka:

  • Najbardziej zauważalną cechą Google CloudML jest rozmieszczenie sama. Nie musisz dbać o takie rzeczy jak konfigurowanie klastra (to jest skalowanie), uruchamianie go, instalowanie pakietów i wdrażanie modelu w celu szkolenia. Wszystko to dzieje się automatycznie, i musisz to zrobić samodzielnie w Compute Engine, chociaż nie masz ograniczeń w tym, co możesz zainstalować.

    Mimo że wszystkie te wdrożenia można zautomatyzować mniej lub bardziej, nie ma w tym żadnej magii. W dziennikach CloudML dla zadania można zauważyć, że jest dość elementarny w tym sensie, że uruchamiany jest klaster instancji, a następnie jest instalowany TF, a model jest uruchamiany z ustawionymi opcjami. Wynika to z faktu, że TensorFlow jest strukturą oddzieloną od systemów Google.

  • Jednak istnieje istotna różnica między CloudMl a Compute Engine, jeśli chodzi o przewidywanie. I to właśnie płacisz za głównie z CloudML. Możliwe, że wdrożony model w usłudze CloudML dla przewidywań online i wsadowych nie będzie już dostępny. W Compute Engine, musiałbyś zadbać o wszystkie dziwactwa z TensorFlow Serving, które nie są tak trywialne (w porównaniu do treningu twojego modelu).

  • Kolejną zaletą CloudML jest strojenie hiper-parametrów. To nie jest już bardziej inteligentne narzędzie do wymuszania przebicia, aby znaleźć najlepszą kombinację parametrów dla danego modelu, i może być możliwe automatyczne zautomatyzowanie tego w Compute Engine, ale trzeba by było wykonać algorytmy optymalizacji, aby znaleźć kombinację parametrów i wartości, które poprawiłyby funkcję celu (zwykle maksymalizują dokładność lub zmniejszają stratę).

  • Wreszcie cena w obu serwisach jest nieco inna. Do recently cena CloudML była porównywalna z innymi konkurentami (płacisz za czas obliczeniowy zarówno w treningu, jak i prognozie, ale także za przewidywania, które można porównać z czasem obliczeniowym w Compute Engine). Teraz jednak zapłacisz tylko za ten czas obliczeniowy (i jest on jeszcze tańszy niż poprzednio), co prawdopodobnie powoduje, że pomysł zarządzania i skalowania własnego klastra (z TensorFlow) w Compute Engine jest bezużyteczny w większości scenariuszy.