Recenzja: Google Cloud AutoML to prawdziwie zautomatyzowane uczenie maszynowe

Kiedy próbujesz automatycznie wytrenować najlepszy model uczenia maszynowego dla swoich danych, istnieje AutoML lub automatyczne uczenie maszynowe, a także Google Cloud AutoML. Google Cloud AutoML to rozwiązanie powyżej. 

W przeszłości recenzowałem H2O Driverless AI, Amazon SageMaker i Azure Machine Learning AutoML. AI bez sterowników automatycznie wykonuje inżynierię funkcji i dostrajanie hiperparametrów i twierdzi, że działa równie dobrze jak mistrzowie Kaggle. Amazon SageMaker obsługuje optymalizację hiperparametrów. Usługa Azure Machine Learning AutoML automatycznie przegląda funkcje, algorytmy i hiperparametry dla podstawowych algorytmów uczenia maszynowego; osobna funkcja strojenia hiperparametrów usługi Azure Machine Learning umożliwia przeszukiwanie określonych hiperparametrów dla istniejącego eksperymentu.

Są dobre, ale Google Cloud AutoML idzie na zupełnie inny poziom i dostosowuje sprawdzone w bitwach, głębokie sieci neuronowe o wysokiej dokładności do Twoich oznaczonych danych. Zamiast zaczynać od zera podczas uczenia modeli z danych, Google Cloud AutoML implementuje automatyczne uczenie głębokiego transferu (co oznacza, że ​​zaczyna się od istniejącej głębokiej sieci neuronowej wyszkolonej na innych danych) i przeszukiwanie architektury neuronowej (co oznacza, że ​​znajduje właściwą kombinację dodatkowych warstwy sieciowe) do tłumaczenia par językowych, klasyfikacji języka naturalnego i klasyfikacji obrazów.

W każdym obszarze Google ma już jedną lub więcej wstępnie przeszkolonych usług opartych na głębokich sieciach neuronowych i ogromnych zbiorach oznaczonych danych. Mogą one działać w przypadku niezmodyfikowanych danych i powinieneś to przetestować, aby zaoszczędzić czas i pieniądze. Jeśli te usługi nie robią tego, czego potrzebujesz, Google Cloud AutoML pomaga stworzyć model, który to robi, bez konieczności posiadania wiedzy, jak przeprowadzić naukę transferu, a nawet jak tworzyć sieci neuronowe.

Uczenie się transferu ma dwie duże zalety w porównaniu z uczeniem sieci neuronowej od podstaw. Po pierwsze, wymaga dużo mniej danych do szkolenia, ponieważ większość warstw sieci jest już dobrze wyszkolona. Po drugie, działa znacznie szybciej, ponieważ optymalizuje tylko ostatnie warstwy.

Tłumaczenie Google Cloud AutoML

Na przykład możesz trenować z 1000 dwujęzycznych par zdań w godzinę lub dwie dzięki uczeniu się z transferu tłumaczeń Google Cloud AutoML. NMT, dostosowywana podstawowa sieć neuronowa, wymagała setek do tysięcy godzin, aby trenować od zera dla każdej pary językowej, na dużej liczbie procesorów i układów GPU. Należy pamiętać, że opłata godzinowa za szkolenie niestandardowego modelu tłumaczenia wynosi obecnie 76 USD.

Przewodnik dla początkujących do tłumaczenia AutoML wyjaśnia podstawy tego, co potrafi Google Cloud AutoML Translation i dlaczego warto go używać. Zasadniczo udoskonala istniejący ogólny model tłumaczenia do niszowego celu. Nie musisz robić żadnego szkolenia w zakresie ogólnego tłumaczenia około stu języków, które Google już obsługuje, ale musisz przeprowadzić naukę transferu, jeśli chcesz utworzyć sieć tłumaczeń dla specjalistycznego słownictwa lub zastosowań. Jednym z przykładów, o których wspomina Google, jest tłumaczenie pilnych dokumentów finansowych w czasie rzeczywistym. Tłumaczenia ogólnego przeznaczenia nie zawsze zawierają poprawne terminy artystyczne dotyczące finansów.

 Przygotowanie szkolenia pod kątem Google Cloud AutoML Translation to proces składający się z pięciu kroków, jak pokazano na poniższych zrzutach ekranu, po przygotowaniu pliku z parami zdań. Użyłem 8720 par angielsko-hiszpańskich do podpowiedzi aplikacji dostarczonych przez Google w Szybkim wprowadzeniu do tłumaczenia AutoML, sformatowanych jako plik z wartościami rozdzielanymi tabulatorami. Google Cloud AutoML Translation obsługuje również format Translation Memory eXchange (TMX) oparty na języku XML dla par zdań.

Zauważysz, że nie ma możliwości kontrolowania sprzętu (procesorów, procesorów graficznych, TPU i pamięci) używanego do przeprowadzania treningu. To celowe: szkolenie wykorzysta to, czego potrzebuje. Nie ma również opcji kontrolowania warstw sieci neuronowych dodawanych do modelu, liczby okresów do uruchomienia ani kryteriów zatrzymania.

Po zakończeniu uczenia modelu można wyświetlić poprawę (jeśli wszystko pójdzie dobrze) w wyniku BLEU w porównaniu z modelem podstawowym i spróbować prognozować za pomocą modelu. To szkolenie zajęło 0,9 godziny (mniej niż przewidywano) i kosztowało 68,34 USD.

Język naturalny Google Cloud AutoML

Interfejs API języka naturalnego Google pobiera tekst i przewiduje encje, opinie, składnię i kategorie (ze wstępnie zdefiniowanej listy). Jeśli problem z klasyfikacją tekstu nie pasuje do żadnego z tych, możesz podać zestaw instrukcji z etykietą i użyć języka Google Cloud AutoML Natural Language, aby utworzyć niestandardowy klasyfikator.

Aby skonfigurować język AutoML Natural Language do treningu, musisz pozyskać swoje dane, oznaczyć je, przygotować jako plik CSV i uruchomić szkolenie. Jeśli wolisz, możesz również użyć interfejsu użytkownika AutoML Natural Language do przesyłania i oznaczania danych.

Po zakończeniu uczenia modelu można wyświetlić macierz precyzji, przywołania i pomyłki modelu. Możesz także dostosować próg punktacji dla żądanej kompromisu precyzja / przywołanie. Aby zminimalizować fałszywie negatywne wyniki, zoptymalizuj je pod kątem przypominania. Aby zminimalizować fałszywe alarmy, zoptymalizuj pod kątem precyzji.

Szkolenie to trwało 3,63 godziny (mniej więcej tak, jak przewidywano) i kosztowało 10,88 USD.

Google Cloud AutoML Vision

Interfejs API Google Cloud Vision klasyfikuje obrazy na tysiące predefiniowanych kategorii, wykrywa poszczególne obiekty i twarze na obrazach oraz znajduje i odczytuje wydrukowane słowa zawarte w obrazach. Google Cloud AutoML Vision umożliwia definiowanie i trenowanie własnej listy kategorii. Niektóre rzeczywiste zastosowania obejmują wykrywanie uszkodzeń turbin wiatrowych na podstawie zdjęć z drona oraz klasyfikowanie surowców wtórnych do zarządzania odpadami.

Aby skonfigurować zestaw danych Google Cloud AutoML Vision, musisz pozyskać co najmniej 100 obrazów z każdej kategorii i oznaczyć je w pliku CSV. Wszystkie obrazy i plik CSV muszą znajdować się w zasobniku Google Cloud Storage.

Ustawiłem to szkolenie na maksymalnie godzinę, co jest bezpłatne dla maksymalnie 10 modeli miesięcznie. Byłem mile zaskoczony dobrymi wynikami treningu swobodnego i nie zawracałem sobie głowy kontynuowaniem treningu, aby poprawić precyzję i zapamiętywanie.

Google Cloud AutoML zapewnia wygodne opcje wykonywania ukierunkowanych tłumaczeń, dostosowanej klasyfikacji tekstu i niestandardowej klasyfikacji obrazów. Każdy z tych interfejsów API działa dobrze, jeśli dostarczysz mu wystarczająco dokładnie oznaczonych danych i zajmuje dużo mniej czasu i umiejętności niż budowanie własnego modelu sieci neuronowej lub nawet własnego modelu uczenia się transferu. Dzięki Google Cloud AutoML faktycznie tworzysz modele TensorFlow, niekoniecznie wiedząc nic o TensorFlow, Pythonie, architekturach sieci neuronowych lub sprzęcie szkoleniowym.

Istnieje wiele sposobów nieprawidłowego przygotowania danych, ale na szczęście wszystkie trzy interfejsy API sprawdzają najczęstsze błędy, takie jak brak lub zbyt wiele przykładów dla dowolnej kategorii. Diagnostyka pokazana po treningu daje dobre wyobrażenie o tym, jak dobrze działa model, i można łatwo dostosować modele, dodając więcej oznaczonych danych treningowych i ponownie uruchamiając szkolenie.

-

Koszt: Google Cloud AutoML Tłumaczenie: szkolenie kosztuje 76,00 USD za godzinę, tłumaczenie 80 USD za milion znaków po pierwszych 500 tys. Google Cloud AutoML Natural Language: Szkolenie kosztuje 3,00 USD za godzinę, klasyfikacja 5 USD za tysiąc rekordów tekstowych po pierwszych 30 tys. Google Cloud AutoML Vision: Szkolenie kosztuje 20 USD za godzinę po pierwszej godzinie, klasyfikacja 3 USD za tysiąc obrazów po pierwszym tysiącu. 

Platforma: Google Cloud Platform