Vertex AI jest kompleksową platformą używaną przez programistów oraz danologów (czy jak wolicie, ekspertów od Data Science, albo też analityków danych) w celu szybszego dostarczania modeli uczenia maszynowego do produkcji. Jest to w pełni zarządzana infrastruktura, która umożliwia zarówno trenowanie, jak i wdrażanie modeli ML oraz aplikacji AI.
Można też próbować definiować tę platformę jako szerszy obszar roboczy, wspólny zestaw narzędzi łączących takie dziedziny jak data engineering, data science, czy ML engineering, pozwalający sprawniej budować i wdrażać modele.
Z tego artykułu dowiesz się, jak dzięki Vertex AI dostępnemu w Google Cloud możesz obsłużyć cały workflow machine learning, od zarządzania danymi, aż po tworzenie prognoz.
Korzystanie z zebranych wcześniej danych pomaga udoskonalać aplikację oraz wpływa na lepszy user experience i to bez względu na ich ilość, czy też doświadczenie programistów w zakresie uczenia maszynowego i sztucznej inteligencji. Eksperci z Google twierdzą, że tworząc Vertex AI, oddali w ręce użytkowników wszechstronną platformę, w której odnajdą się zarówno nowicjusze, jak i zaprawieni w boju praktyków AI.
Benefity korzystania z Vertex AI
Trzy główne benefity Vertex AI to:
- Możliwość budowania modeli z Generative AI,
- Krótszy czas treningu, a więc szybsza produkcja,
- Prostsze zarządzanie modelami.
Vertex AI pozwala tworzyć modele z wykorzystaniem Generative AI. Oznacza to łatwy dostęp do modeli bazowych z wykorzystaniem przyjaznego API w Model Garden.
Dla analityków danych korzystanie z Vertex AI jest skutecznym narzędziem przyspieszającym pracę przy trenowaniu, dostrajaniu i wdrażaniu modeli uczenia maszynowego. Skracając czas szkolenia ograniczamy również koszty. Dzieje się to w oparciu o zoptymalizowaną infrastrukturę sztucznej inteligencji.
Bez Vertex AI, a dokładnie bez narzędzi takich jak Vertex AI Pipelines czy Vertex AI Feature Store, utrzymywanie modeli byłoby bardzo złożonym, a przez to czasochłonnym zajęciem. Wymienione wcześniej narzędzia MLOps usprawniają uruchamianie potoków uczenia maszynowego.
Jak wygląda workflow ML?
Typowy workflow w uczeniu maszynowym składa się z trzech części.
Faza przygotowawcza
Pierwsza z nich, którą można nazwać fazą przygotowawczą, składa się z:
- Pozyskania danych,
- Analizy danych,
- Transformacji.
Do właściwego przygotowania danych służą Managed Datasets. Pomagają one zarządzać danymi w centralnej lokalizacji, tworzyć etykiety i zestawy adnotacji. Kolejną korzyścią korzystania z Managed Datasets jest możliwość porównywania wydajności modeli tworzonych z wykorzystaniem AutoML, z tymi, które zostały stworzone w sposób customowy. Innym benefitem jest generowanie wizualizacji oraz statystyk dla danych oraz ich automatyczny podział na zestawy treningowe, testowe oraz walidacyjne.
Vertex AI obsługuje różne rodzaje zbiorów danych:
- graficzne (image datasets),
- tabularyczne (tabular datasets),
- tekstowe (text datasets),
- filmowe (video datasets).
Wszystkie powyższe, z wyjątkiem zbiorów danych tabelarycznych, przekazywane są do aplikacji w formacie JSON Lines. W przypadku Tabular Datasets, Vertex przekazuje dane do aplikacji szkoleniowej w formacie CSV lub ujednoliconego identyfikatora zasobów (URI) do tabeli BigQuery.
Faza treningu
Druga faza typowej ścieżki uczenia maszynowego dzieli się na:
- Stworzenie modelu,
- Wytrenowanie modelu.
Ponieważ ten etap płynnie wynika z poprzedniego, to właśnie tutaj następuje wybór metody, zgodnie z którą będziemy nasz model trenować. Wybierz AutoML jeżeli zależy Ci na czasie, np. ze względu na potrzebę szybkiego prototypowania modeli czy też weryfikacji nowych zestawów danych.
Niekiedy jednak możesz potrzebować lepszego ukierunkowania treningu, które osiągniesz dzięki niestandardowym szkoleniom (customowym). W ten sposób zarówno zoptymalizujesz aplikację szkoleniową pod kątem docelowego wyniku, jak też przez cały proces treningu będziesz miał kontrolę nad algorytmem, posiadając też opcję opracowywania własnych funkcji.
Trzecia droga to wybór BigQuery ML. W tym przypadku korzystając z poleceń SQL możesz szybko tworzyć model bezpośrednio w BigQuery, a później użyć go do pozyskania prognoz wsadowych (batch predictions).
Który sposób trenowania modeli wybrać? W poniższej tabelce przedstawiamy kilka parametrów, które pomogą Ci wybrać odpowiednie rozwiązanie.
AutoML | Szkolenie niestandardowe | BigQuery ML | |
Czy muszę mieć doświadczenie w analityce danych? | Nie | Tak | Nie |
Czy muszę posiadać umiejętności programistyczne? | Nie | Tak | Tak, konieczne umiejętności z zakresu programowania SQL. |
Jak długo trwa trening modelu? | Krótko | Długo, ze względu na wydłużony czas przygotowania modelu | Krótko |
Czy są limity w określeniu celów maszynowego? | Tak, musisz wskazać jeden z predefiniowanych celów AutoML | Nie | Tak |
Czy mogę zoptymalizować model ręcznie? | Nie | Tak | Nie |
Czy mogę kontrolować środowisko treningowe? | Tak, ale w ograniczonym stopniu. | Tak | Nie |
Czy są jakieś limity rozmiaru danych? | Tak | Nie, ale tylko w przypadku niezarządzanych zbiorów danych | Tak |
Faza ewaluacji i wdrożenia
W trzeciej fazie mamy do czynienia z trzema procesami:
- Oceny (ewaluacji),
- Wdrożenia,
- Przewidywania.
Aby wspomóc nas w dokonywaniu ewaluacji Google udostępniło Explainable AI. To zestaw narzędzi i frameworków pozwalający lepiej zrozumieć i zinterpretować prognozy wygenerowane przez modele uczenia maszynowego.
Jeżeli jesteśmy zadowoleni ze sposobu działania wytrenowanego modelu, pozostaje nam jego wdrożenie, które możliwe jest zarówno z poziomu Google Cloud Console, jak i poprzez API. W tym momencie zaczyna się też skalowanie.
Celem naszego działania jest jednak uzyskanie predykcji, a te dzielą się z kolei na:
- Prognozy online,
- Prognozy wsadowe.
W przypadku prognoz online żądania są synchronicznie wysyłane do punktu końcowego modelu. Przydają się w sytuacjach wymagających uzyskania szybkich wniosków, czy też wtedy, kiedy wysyłamy żądania w odpowiedzi na dane wejściowe aplikacji.
Tymczasem prognozy wsadowe (batch predictions) to żądania asynchroniczne, czyli umożliwiające otrzymywania prognoz bezpośrednio z modelu, bez konieczności wdrażania go w punkcie końcowym. Stosuje się je w sytuacjach, w których nie potrzebujemy natychmiastowej odpowiedzi.
Kto korzysta z Vertex AI?
Vertex AI będąc niejako portalem wiodącym do czerpania z możliwości jakie daje sztuczna inteligencja oraz uczenie maszynowe, cieszy się zainteresowaniem niemal każdej istotnej branży, od handlu przez finanse do szeroko rozumianej produkcji, w tym całego sektora automotive.
Producent mebli oraz akcesoriów wnętrzarskich firma Wayfair, korzystając z Vertex AI zwiększyła nawet dziesięciokrotnie prędkość trenowania modeli. Popularna platforma Etsy, łącząca ludzi tworzących, kupujących i sprzedających wyjątkowe produkty, skróciła czas przejścia od pomysłu do eksperymentu ML o połowę.
Firmy działające w handlu, takie jak Lowe, czy brazylijski Magalu, są w stanie w lepszym stopniu określać swoje zapotrzebowanie magazynowe właśnie korzystając z funkcji dostępnych w Vertex AI.
Dla Seagate, producenta dysków HDD, korzystanie z modeli stworzonych w Vertex AI pozwala lepiej przewidywać awarie dysków, a skuteczność modelu AutoML sięga nawet 98%. Japoński oddział firmy Coca Cola (Coca Cola Bottlers Japan) dzięki wykorzystaniu Vertex AI oraz BigQuery śledzi dane z 700 tys. automatów i na ich podstawie jest w stanie przewidzieć gdzie najbardziej opłaca się lokować produkty.
Zostając na jeszcze jedną chwilę w Japonii, tamtejszy producent samochodów, firma Subaru, wykorzystuje możliwości Vertex AI do zmniejszenia liczby śmiertelnych wypadków z udziałem aut koncernu.
Funkcje Vertex AI czyli MLOps w jednym miejscu
Opisując czym jest i jak działa Vertex AI, wspomnieliśmy już o niektórych najważniejszych funkcjach, takich jak Model Garden, czy Explainable AI. Pora zebrać je w jedno miejsce i pokrótce scharakteryzować.
Vertex AI Model Garden
Dostępne w ramach Vertex AI repozytorium modeli stworzonych zarówno przez Google jak i partnerskie firmy.
Vertex AI Generative AI Studio
To zarządzane środowisko ułatwiające interakcję, dostrajanie i wdrażanie modeli w podstawowym środowisku produkcyjnym.
AutoML
Narzędzie pozwalające na automatyczne trenowanie modeli Google, dzięki któremu szybciej otrzymasz wyniki.
Deep Learning VM Images
To narzędzie pozwoli Ci tworzyć instancje obrazu maszyny wirtualnej z wykorzystaniem najbardziej popularnych frameworków AI w instancji Compute Engine. Dzięki niemu nie musisz się martwić o kompatybilność oprogramowania.
Vertex AI Workbench
To w pełni zarządzana i skalowalna infrastruktura obliczeniowa oparta na platformie Jupyter. Stanowi ona bezpieczne, wyizolowane środowisko, w którym analitycy danych mogą wykonywać wszystkie działania uczenia maszynowego, od eksperymentów po wdrożenia.
Vertex AI Matching Engine
Ta wysoce skalowalna usługa pozwala dopasowywać podobieństwa wektorowe przy zapewnieniu niskich kosztów i niskiej latencji.
Vertex AI Data Labelling
Właściwe etykietowanie danych to podstawa przy uczeniu maszynowym. Vertex AI Data Labeling znacznie ten proces usprawnia.
Vertex AI Deep Learning Containers
Konteneryzacja wkracza również do AI. Dzięki Vertex AI Deep Learning Containers można szybko tworzyć i wdrażać modele w przenośnym i spójnym środowisku.
Vertex Explainable AI
Opisywany już wcześniej Explainable AI pozwala lepiej rozumieć i budować zaufanie do prognoz generowanych przez model dzięki integracji z innymi funkcjonalnościami takimi jak Vertex AI Prediction, AutoML Tables czy Vertex AI Workbench.
Vertex AI Feature Store
To w pełni zarządzane repozytorium funkcji do udostępniania oraz ponownego wykorzystania funkcji ML.
Vertex ML Metadata
Funkcja ta pozwala na artifact tracking i lineage tracking w workflow uczenia maszynowego.
Vertex AI Model Monitoring
Dzięki Vertex AI Model Monitoring możliwy jest nadzór modelu za pośrednictwem alertów ostrzegających przed incydentami związanymi z wydajnością modelu, w tym szczególnie data drift i concept drift.
Vertex AI Neural Architecture Search
Ta funkcjonalność, bazująca na badaniach Google dotyczących AI pozwala tworzyć nowe architektury modeli oraz zoptymalizować je pod kątem latencji, mocy i pamięci.
Vertex AI Pipelines
Vertex AI Pipelines pozwala na tworzenie potoków (pipelines) za pomocą TensorFlow Extended i Kubeflow Pipelines.
Vertex AI Prediction
Korzystając z ujednoliconej platformy wdrażania niestandardowych modeli wytrenowanych w TensorFlow, sckit, XGB, BigQuery ML oraz AutoML, można je łatwiej wdrażać przy pomocy protokołu HTTP lub prognoz wsadowych.
Vertex AI Tensorboard
Wykorzystasz to narzędzie do wizualizacji i śledzenia postępów eksperymentów uczenia maszynowego. Vertex AI Tensorboard generuje teksty, obraz oraz dane dźwiękowe.
Vertex AI Training
Jeżeli potrzebujesz większej elastyczności, to w tej usłudze znajdziesz zestaw gotowych algorytmów, dzięki którym będziesz mógł wprowadzić własny kod do trenowania modeli.
Vertex AI Vizier
Pod tą funkcjonalnością kryją się zoptymalizowane hiperparametry służące maksymalnej precyzji predykcji.
Pierwsze kroki w Vertex AI
Teraz, kiedy już wiesz czym jest Vertex AI, kto z niego korzysta i jakie są podstawowe funkcjonalności, pora na postawienie pierwszych kroków. Jeżeli jeszcze nie korzystałeś z usług Google Cloud, to pamiętaj, że na start otrzymujesz od firmy z Mountain View 300 dolarów do wykorzystania na usług dostępne w ramach platformy chmurowej.
Sam cennik usług dostępnych w ramach Vertex AI jest mocno rozbudowany i żeby dobrze się w nim odnaleźć kluczowa może być pomoc oficjalnego partnera Google Cloud. Zgłaszając się do ekspertów z firmy FOTC otrzymasz nie tylko wiedzę o kosztach poszczególnych usług, ale również merytoryczne wsparcie, jak z nich optymalnie skorzystać, aby osiągnąć zamierzone efekty. Współpraca z partnerem to też dodatkowe 500 dolarów do wykorzystania w chmurze, więc nie warto zwlekać z kontaktem.