Ten język jest tłumaczony maszynowo i nie został zweryfikowany przez człowieka.

Sztuczna inteligencja · Artykuł

Jak trenuje się, optymalizuje i wdraża modele uczenia maszynowego

Opublikowano:

W skrócie

Modele uczenia maszynowego buduje się w trzech szerokich etapach: treningu na danych ze znacznikami za pomocą algorytmów takich jak gradient descent, optymalizacji poprzez dostrojenie hiperparametrów i walidacji na zbiorze testowym trzymanym na uboczu, oraz wdrożeniu do produkcji w formie API, pracy wsadowej lub usługi wbudowanej w urządzeniu brzegowym. Po każdym etapie następuje ciągłe monitorowanie, które może wyzwolić przetrening gdy wydajność się zmienia.

Ta wersja jest tłumaczeniem maszynowym oryginału (English). Przeczytaj oryginał

Każdy system uczenia maszynowego, od filtra spamu do dużego modelu językowego, przechodzi ten sam szeroki łuk zanim dotrze do użytkownika: dane są przygotowywane, model jest trenowany na tych danych, jego wydajność jest mierzona i dostrajana, i wreszcie jest on uwalniany do środowiska na żywo, gdzie jest stale obserwowany. Dostawcy usług w chmurze i zespoły inżynierskie opisują ten łuk jako cykl życia ML, a jego mechanika jest w dużej mierze taka sama niezależnie od tego, czy model jest małym klasyfikatorem, czy siecią z miliardami parametrów.

Trening: jak model uczy się na danych

Zgodnie z dokumentacją architektury Google Cloud, cykl życia zaczyna się od przetwarzania danych: zespoły przeprowadzają eksploracyjną analizę danych, aby zrozumieć strukturę danych, czyszczą je, dzielą na zbiory treningowe, walidacyjne i testowe, i opracowują cechy, aby dane były w formacie odpowiednim dla modelu. Dopiero po tej przygotowaniu naukowcy zajmujący się danymi wdrażają algorytmy i rozpoczynają trening.

W przypadku sieci neuronowych trening opiera się na dwóch powiązanych technikach, jak wyjaśnia GeeksforGeeks: przepuszczenie do przodu, w którym sieć przetwarza dane wejściowe, aby wytworzyć przewidywanie, i funkcja straty, która mierzy, jak daleko to przewidywanie jest od prawdziwej etykiety. Propagacja wsteczna następnie oblicza, warstwa za warstwą, używając reguły łańcuchowej, ile każdy wewnętrzny parametr wniósł do tego błędu. Gradient descent używa obliczonych gradientów, aby przesunąć każdy parametr w kierunku, który zmniejsza stratę. Cykl przepuszczenia do przodu/przepuszczenia do tyłu/aktualizacji powtarza się przez wiele epok, aż model zbiegnie się w kierunku minimum funkcji straty, zgodnie z GeeksforGeeks.

Optymalizacja: dostrajanie i walidacja modelu

Samo trening nie gwarantuje użytecznego modelu. Dokumentacja Google Cloud zauważa, że zespoły przeprowadzają dostrojenie hiperparametrów zaimplementowanych algorytmów, aby osiągnąć najlepszą wydajność, dostrajając ustawienia takie jak szybkość uczenia, rozmiar paczki lub liczbę epok, a nie parametry, które model uczy się sam. Dokumentacja dla programistów Google dotycząca zarządzania projektami ML dodaje, że ta faza eksperymentowania to miejsce, w którym zespoły testują różne kombinacje cech, wartości hiperparametrów i architektury modeli, często przeprowadzając setki eksperymentów przed znalezieniem działającej kombinacji.

Gdy tylko istnieje model kandydat, jest on oceniany na zbiorze testowym trzymanym na uboczu — dane, które model nie widział podczas treningu — w celu uzyskania metryk jakości. IBM opisuje ten krok jako ocenę wydajności przy użyciu metryk takich jak dokładność i sprawiedliwość na niewidocznych danych. Model jest następnie walidowany w stosunku do linii bazowej: dokumentacja Google Cloud stwierdza, że to potwierdza, że wydajność predykcyjna modelu jest lepsza niż zdefiniowany próg, zanim mu pozwolono się przesunąć w kierunku wdrożenia.

Wdrażanie: wprowadzenie modelu do produkcji

Wdrażanie to moment, w którym zweryfikowany model zaczyna dokonywać przewidywań na rzeczywistych danych. Dokumentacja Snowflake definiuje wdrażanie modelu jako kontrolowane wydanie zweryfikowanego modelu wraz z jego zależnościami i logiką wnioskowania do środowiska produkcyjnego, gdzie może być wersjonowany, wykonywany, monitorowany i wycofywany w razie potrzeby.

Zarówno Google Cloud, jak i Snowflake opisują porównywalne zestawy wzorców wdrażania, podsumowane poniżej.

Typowe wzorce wdrażania ML
WzorzecJak to działaTypowe użycie
Online / w czasie rzeczywistymMikrousługa ujawnia model poprzez interfejs REST API, który zwraca przewidywania synchronicznie z niską opóźnieniemWykrywanie oszustw, rekomendacje
WsadowyModel ocenia duże zestawy rekordów zgodnie z harmonogramem lub wyzwolony zdarzeniem potokuRaporty, okresowe zadania oceniające
Bez serwera / asynchronicznyModel uruchamia się na wyzwoleniu zdarzenia, a wyniki są pobierane później, a nie natychmiastPracochłonne lub długotrwałe obciążenia pracą
Brzegowe / wbudowaneModel uruchamia się bezpośrednio na urządzeniu lokalnym lub mobilnym, a nie na serwerze centralnymOperacja w trybie offline, potrzeby lokalizacji danych

Snowflake zauważa, że każdy styl wdrażania niesie ze sobą kompromisy: serwowanie w czasie rzeczywistym wymaga ostrożnego obsługiwania opóźnienia, dostępności i skalowania, podczas gdy systemy wsadowe są łatwiejsze do zarządzania, ale ograniczone tym, jak często uruchamia się harmonogram oceniania. Wdrażanie brzegowe zmniejsza opóźnienie i utrzymuje dane w lokalizacji, ale utrudnia śledzenie, która wersja modelu jest uruchomiona na wielu rozproszonych urządzeniach.

Monitorowanie, przesunięcie i przetrening

Wdrażanie to nie koniec procesu. IBM stwierdza, że ciągłe nadzorowanie śledzi wydajność modelu w produkcji, wykrywając problemy takie jak przesunięcie dokładności, i generuje alerty, które umożliwiają szybką interwencję i mogą wyzwolić przetrening z zaktualizowanymi danymi. Snowflake podobnie wymienia monitorowanie i wykrywanie przesunięć jako podstawowe obowiązki wdrażania, obok planowania wycofania — wstępnie zdefiniowane wyzwolenia i struktury własności do powrotu do wcześniejszej wersji modelu, jeśli nowa działa gorzej.

Dokumentacja Google Cloud przedstawia to jako spektrum dojrzałości. Na najmniej zautomatyzowanym poziomie każdy krok — od przygotowania danych do wdrażania — jest ręczny, typowy dla projektów na wczesnym etapie z rzadkimi wydaniami. Bardziej dojrzałe konfiguracje dodają zautomatyzowane potoki, które walidują dane i modele i wykrywają przesunięcia, a najbardziej zautomatyzowane konfiguracje integrują ciągłą integrację i dostarczanie, tak że eksperymentowanie, testowanie, wdrażanie i monitorowanie działają jako połączone, w dużej mierze zautomatyzowane etapy.

Narzędzia stojące za cyklem życia

Przegląd IBM tej praktyki, znany jako MLOps, wymienia kategorie narzędzi, na których zespoły zwykle polegają na każdym etapie: frameworki uczenia maszynowego takie jak TensorFlow i PyTorch do budowania i trenowania modeli, Git do kontroli wersji, platformy CI/CD takie jak Jenkins lub GitLab CI/CD do automatyzacji kroków potoku, oraz dedykowane platformy MLOps takie jak Kubeflow lub MLflow do dirigowania treningiem, wdrażaniem i monitorowaniem na infrastrukturze chmurowej takich jak AWS, Azure lub IBM Cloud.

MLOps to zestaw praktyk zaprojektowany do stworzenia linii montażowej do budowania i uruchamiania modeli uczenia maszynowego.

— IBM

Pytania

Jaka jest różnica między treningiem a optymalizacją modelu uczenia maszynowego?
Trening to proces dopasowywania parametrów modelu do danych, zwykle poprzez przepuszczenia do przodu, obliczanie strat i aktualizacje oparte na gradientach. Optymalizacja odnosi się do dostrojenia hiperparametrów — ustawień wybranych przed treningiem, takich jak szybkość uczenia lub rozmiar paczki — w celu poprawy wydajności trenowanego modelu, zgodnie z dokumentacją Google Cloud.
Co dokładnie dostrajanie hiperparametrów?
Dostrajane są ustawienia, które nie są uczone z danych podczas samego treningu, takie jak szybkość uczenia, rozmiar paczki lub liczba epok treningowych, w celu znalezienia kombinacji, która tworzy najlepiej działający model, zgodnie z dokumentacją dla programistów Google.
Jak model jest wdrażany do produkcji?
Zweryfikowany model jest pakowany z jego zależnościami i logiką wnioskowania i wydawany w środowisko produkcyjne jako interfejs API w czasie rzeczywistym, zadanie oceniania wsadowego, wyzwolenie bez serwera lub wbudowany model na urządzeniu brzegowym, zgodnie z dokumentacją Snowflake.
Dlaczego wdrożone modele wymagają monitorowania po uruchomieniu?
Wzorce danych w produkcji mogą się zmieniać w czasie, pogarszając dokładność modelu — zjawisko, które IBM nazywa przesunięciem. Ciągłe monitorowanie wykrywa to pogorszenie i może wyzwolić przetrening z zaktualizowanymi danymi w celu przywrócenia wydajności.
Jakie narzędzia są powszechnie używane w całym cyklu życia ML?
IBM wymienia frameworki takie jak TensorFlow i PyTorch do treningu, Git do kontroli wersji, Jenkins lub GitLab CI/CD do automatyzacji potoku, oraz Kubeflow lub MLflow do dirigowania treningiem i wdrażaniem na platformach chmurowych.

Źródła

  1. Google Cloud — MLOps: Continuous delivery and automation pipelines in machine learning
  2. IBM — What is MLOps?
  3. Snowflake — What Is Model Deployment in Machine Learning?
  4. Google Developers — ML development phases
  5. GeeksforGeeks — How Does Gradient Descent and Backpropagation Work Together?

Ten tekst przygotowała sztuczna inteligencja, a przed publikacją przeszedł automatyczną kontrolę źródeł. Jeśli widzisz błąd, poproś o sprostowanie. Poproś o sprostowanie lub odpowiedź · Jak to robimy

Powiązane