Uruchamiaj eksperymenty Amazon SageMaker Autopilot bezpośrednio z poziomu Amazon SageMaker Pipelines, aby łatwo zautomatyzować przepływy pracy MLOps PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Uruchamiaj eksperymenty Amazon SageMaker Autopilot bezpośrednio z Amazon SageMaker Pipelines, aby łatwo zautomatyzować przepływy pracy MLOps

Autopilot Amazon SageMaker, niskokodowa usługa uczenia maszynowego (ML), która automatycznie buduje, trenuje i dostraja najlepsze modele ML na podstawie danych tabelarycznych, jest teraz zintegrowana z Rurociągi Amazon SageMaker, pierwsza specjalnie zaprojektowana usługa ciągłej integracji i ciągłego dostarczania (CI/CD) dla ML. Umożliwia to automatyzację kompleksowego przepływu budowania modeli ML przy użyciu Autopilota i integrowanie modeli z kolejnymi krokami CI/CD.

Jak dotąd, aby uruchomić eksperyment Autopilota w Pipelines, trzeba zbudować przepływ pracy budowania modelu, pisząc niestandardowy kod integracji z Pipelines Lambda or Przetwarzanie kroki. Aby uzyskać więcej informacji, zobacz Przenieś modele Amazon SageMaker Autopilot ML z eksperymentów do produkcji za pomocą Amazon SageMaker Pipelines.

Dzięki obsłudze Autopilota jako natywnego kroku w Pipelines możesz teraz dodać zautomatyzowany krok szkoleniowy (AutoMLKrok) w Pipelines i wywołaj eksperyment Autopilota z Tryb treningu zespołowego. Na przykład, jeśli tworzysz przepływ pracy szkolenia i oceny ML dla przypadku użycia wykrywania oszustw za pomocą Pipelines, możesz teraz uruchomić eksperyment autopilota przy użyciu kroku AutoML, który automatycznie uruchamia wiele prób, aby znaleźć najlepszy model w danym wejściowym zbiorze danych . Po utworzeniu najlepszego modelu przy użyciu Krok modelu, jego wydajność można ocenić na podstawie danych testowych za pomocą Krok transformacji oraz Etap przetwarzania dla niestandardowego skryptu oceny w Pipelines. Ostatecznie model można zarejestrować w rejestrze modeli SageMaker przy użyciu pliku Krok modelu w połączeniu z Krok warunkowy.

W tym poście pokazujemy, jak utworzyć kompleksowy przepływ pracy ML w celu trenowania i oceny modelu ML wygenerowanego przez SageMaker przy użyciu nowo uruchomionego kroku AutoML w Pipelines i zarejestrowania go w rejestrze modeli SageMaker. Model ML o najlepszej wydajności można wdrożyć w punkcie końcowym SageMaker.

Przegląd zbioru danych

Korzystamy z ogólnodostępnych Zestaw danych o dochodach ze spisu ludności UCI z 1994 r przewidzieć, czy dana osoba ma roczny dochód większy niż 50,000 50 USD rocznie. To jest binarny problem klasyfikacji; opcje zmiennej docelowej dochodu to albo XNUMX tys.

Zestaw danych zawiera 32,561 16,281 wierszy do uczenia i sprawdzania poprawności oraz 15 XNUMX wierszy do testowania, z których każdy zawiera XNUMX kolumn. Obejmuje to informacje demograficzne o osobach i class jako kolumna docelowa wskazująca klasę dochodów.

Nazwa kolumny Opis
wiek Ciągły
klasa pracy Prywatny, samozatrudniony, niezarejestrowany, samozatrudniony, rząd federalny, samorząd lokalny, rząd stanowy, bez wynagrodzenia, nigdy niepracujący
fnlwgt Ciągły
Edukacja Licencjat, Some-college, 11th, HS-grad, Prof-school, Assoc-acdm, Assoc-voc, 9th, 7th-8th, 12th, Masters, 1st-4th, 10th, Doctorate, 5th-6th, Preschool
edukacja-numer Ciągły
stan cywilny Żonaty-małżonek-cywilny, rozwiedziony, nigdy nie żonaty, w separacji, owdowiały, żonaty-małżonek-nieobecny, żonaty-AF-małżonek
zawód Wsparcie techniczne, Naprawa rzemieślnicza, Inne usługi, Sprzedaż, Kierownik wykonawczy, Specjalizacja prof., Handlowcy-sprzątający, Inspektorzy maszyn, Adm-biuro, Rolnictwo-rybołówstwo, Transport-przeprowadzki, Priv-house-serv, Służba ochronna, Siły Zbrojne
związek Żona, Własne dziecko, Mąż, Poza rodziną, Dalszy krewny, Stan wolny
wyścig Biały, mieszkaniec Azji-Pac-Islander, Amer-Indian-Eskimo, inny, czarny
seks Kobieta, mężczyzna
zysk kapitałowy Ciągły
strata kapitału Ciągły
godzin na tydzień Ciągły
ojczyźnie Stany Zjednoczone, Kambodża, Anglia, Portoryko, Kanada, Niemcy, odległe Stany Zjednoczone (Guam-USVI-etc), Indie, Japonia, Grecja, południe, Chiny, Kuba, Iran, Honduras, Filipiny, Włochy, Polska, Jamajka , Wietnam, Meksyk, Portugalia, Irlandia, Francja, Dominikana, Laos, Ekwador, Tajwan, Haiti, Kolumbia, Węgry, Gwatemala, Nikaragua, Szkocja, Tajlandia, Jugosławia, Salwador, Trynadad i Tobago, Peru, Hong, Holandia-Holandia
klasa Klasa dochodowa, albo 50 tys

Omówienie rozwiązania

Używamy Pipelines do orkiestracji różnych kroki rurociągu wymagane do szkolenia modelu autopilota. Tworzymy i prowadzimy m.in Eksperyment z autopilotem jako część kroku AutoML zgodnie z opisem w tym samouczku.

Ten kompleksowy proces szkolenia autopilota wymaga wykonania następujących kroków:

  • Utwórz i monitoruj zadanie szkolenia autopilota za pomocą AutoMLStep.
  • Utwórz model SageMaker za pomocą ModelStep. Ten krok pobiera najlepsze metadane modelu i artefakty renderowane przez rozwiązanie Autopilot w poprzednim kroku.
  • Oceń przeszkolony model autopilota na testowym zestawie danych przy użyciu TransformStep.
  • Porównaj dane wyjściowe z poprzedniego uruchomienia TransformStep przy użyciu rzeczywistych etykiet docelowych ProcessingStep.
  • Zarejestruj model ML w Rejestr modeli SageMaker za pomocą ModelStep, jeśli wcześniej uzyskana metryka oceny przekracza określony próg w ConditionStep.
  • Wdróż model ML jako punkt końcowy SageMaker do celów testowych.

Architektura

Poniższy diagram architektury ilustruje różne etapy potoku niezbędne do spakowania wszystkich kroków w powtarzalny, zautomatyzowany i skalowalny potok szkoleniowy SageMaker Autopilot. Pliki danych są odczytywane z zasobnika S3, a kroki potoku są wywoływane sekwencyjnie.

Opis przejścia

Ten post zawiera szczegółowe wyjaśnienie kroków potoku. Przeglądamy kod i omawiamy komponenty każdego kroku. Aby wdrożyć rozwiązanie, zapoznaj się z sekcją przykładowy notatnik, który zawiera instrukcje krok po kroku dotyczące implementowania przepływu pracy Autopilot MLOps przy użyciu potoków.

Wymagania wstępne

Spełnij następujące wymagania wstępne:

Gdy zestaw danych jest gotowy do użycia, musimy skonfigurować potoki, aby ustanowić powtarzalny proces automatycznego tworzenia i uczenia modeli ML przy użyciu rozwiązania Autopilot. Używamy SDK SageMakera do programowego definiowania, uruchamiania i śledzenia kompleksowego potoku szkoleniowego ML.

Kroki rurociągu

W poniższych sekcjach przechodzimy przez różne etapy potoku SageMaker, w tym szkolenie AutoML, tworzenie modelu, wnioskowanie wsadowe, ocenę i warunkową rejestrację najlepszego modelu. Poniższy diagram ilustruje cały przepływ potoku.

Uruchamiaj eksperymenty Amazon SageMaker Autopilot bezpośrednio z poziomu Amazon SageMaker Pipelines, aby łatwo zautomatyzować przepływy pracy MLOps PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Krok szkolenia AutoML

An Obiekt AutoML jest używany do definiowania przebiegu zadania szkoleniowego Autopilota i może być dodany do potoku SageMaker przy użyciu AutoMLStep class, jak pokazano w poniższym kodzie. Należy określić tryb treningu zespołowego, ale inne parametry można dostosować w razie potrzeby. Na przykład, zamiast pozwolić, aby zadanie AutoML automatycznie wnioskowało o ML typ problemu i obiektywna metryka, można je zakodować na stałe, określając problem_type i job_objective parametry przekazane do obiektu AutoML.

automl = AutoML(
    role=execution_role,
    target_attribute_name=target_attribute_name,
    sagemaker_session=pipeline_session,
    total_job_runtime_in_seconds=max_automl_runtime,
    mode="ENSEMBLING",
)
train_args = automl.fit(
    inputs=[
        AutoMLInput(
            inputs=s3_train_val,
            target_attribute_name=target_attribute_name,
            channel_type="training",
        )
    ]
)
step_auto_ml_training = AutoMLStep(
    name="AutoMLTrainingStep",
    step_args=train_args,
)

Krok tworzenia modelu

Krok AutoML zajmuje się generowaniem różnych kandydatów na modele ML, łączeniem ich i uzyskiwaniem najlepszego modelu ML. Artefakty i metadane modelu są automatycznie zapisywane i można je uzyskać, wywołując metodę get_best_auto_ml_model() metoda na etapie szkolenia AutoML. Można ich następnie użyć do stworzenia modelu SageMaker w ramach kroku Model:

best_auto_ml_model = step_auto_ml_training.get_best_auto_ml_model(
    execution_role, sagemaker_session=pipeline_session
)
step_args_create_model = best_auto_ml_model.create(instance_type=instance_type)
step_create_model = ModelStep(name="ModelCreationStep", step_args=step_args_create_model)

Transformacja wsadowa i etapy oceny

Używamy Obiekt transformatora dla wnioskowanie partii na testowym zbiorze danych, który następnie można wykorzystać do celów ewaluacyjnych. Prognozy danych wyjściowych są porównywane z rzeczywistymi lub podstawowymi etykietami prawdy przy użyciu funkcji metryk Scikit-learn. Oceniamy nasze wyniki na podstawie Wynik F1. Metryki wydajności są zapisywane w pliku JSON, do którego odwołuje się podczas rejestrowania modelu w kolejnym kroku.

Etapy rejestracji warunkowej

W tym kroku rejestrujemy nasz nowy model Autopilota w rejestrze modeli SageMaker, jeśli przekroczy on predefiniowany próg metryki oceny.

Utwórz i uruchom potok

Po zdefiniowaniu kroków łączymy je w potok SageMaker:

pipeline = Pipeline(
    name="AutoMLTrainingPipeline",
    parameters=[
        instance_count,
        instance_type,
        max_automl_runtime,
        model_approval_status,
        model_package_group_name,
        model_registration_metric_threshold,
        s3_bucket,
        target_attribute_name,
    ],
    steps=[
        step_auto_ml_training,
        step_create_model,
        step_batch_transform,
        step_evaluation,
        step_conditional_registration,
    ],
    sagemaker_session=pipeline_session,
)

Kroki są uruchamiane w kolejności sekwencyjnej. Potok wykonuje wszystkie kroki zadania AutoML przy użyciu rozwiązania Autopilot i potoków do szkolenia, oceny modelu i rejestracji modelu.

Możesz wyświetlić nowy model, przechodząc do rejestru modeli w konsoli Studio i otwierając go AutoMLModelPackageGroup. Wybierz dowolną wersję zadania szkoleniowego, aby wyświetlić obiektywne wskaźniki dotyczące Jakość modelu patka.

Uruchamiaj eksperymenty Amazon SageMaker Autopilot bezpośrednio z poziomu Amazon SageMaker Pipelines, aby łatwo zautomatyzować przepływy pracy MLOps PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Możesz zobaczyć raport wyjaśnialności na stronie Wyjaśnialność aby zrozumieć prognozy modelu.

Uruchamiaj eksperymenty Amazon SageMaker Autopilot bezpośrednio z poziomu Amazon SageMaker Pipelines, aby łatwo zautomatyzować przepływy pracy MLOps PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Aby wyświetlić leżący u podstaw eksperyment Autopilota dla wszystkich modeli utworzonych w AutoMLStep, przejdź do AutoML stronę i wybierz nazwę zadania.

Uruchamiaj eksperymenty Amazon SageMaker Autopilot bezpośrednio z poziomu Amazon SageMaker Pipelines, aby łatwo zautomatyzować przepływy pracy MLOps PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Wdróż model

Po ręcznym sprawdzeniu wydajności modelu ML możemy wdrożyć nasz nowo utworzony model w punkcie końcowym SageMaker. W tym celu możemy uruchomić komórki w notatniku, które tworzą punkt końcowy modelu przy użyciu konfiguracji modelu zapisanej w rejestrze modeli SageMaker.

Należy zauważyć, że ten skrypt jest udostępniany do celów demonstracyjnych, ale zaleca się stosowanie bardziej niezawodnego potoku ciągłej integracji/ciągłego wdrażania na potrzeby wdrożenia produkcyjnego na potrzeby wnioskowania ML. Aby uzyskać więcej informacji, patrz Tworzenie, automatyzowanie, zarządzanie i skalowanie przepływów pracy ML przy użyciu Amazon SageMaker Pipelines.

Podsumowanie

W tym poście opisano łatwe w użyciu podejście potoku ML do automatycznego uczenia tabelarycznych modeli ML (AutoML) przy użyciu rozwiązania Autopilot, Pipelines i Studio. AutoML poprawia wydajność praktyków ML, przyspieszając ścieżkę od eksperymentowania ML do produkcji bez potrzeby posiadania rozległej wiedzy specjalistycznej ML. Przedstawiamy odpowiednie kroki potoku potrzebne do tworzenia, oceny i rejestracji modelu ML. Zacznij od wypróbowania przykładowy notatnik do trenowania i wdrażania własnych niestandardowych modeli AutoML.

Aby uzyskać więcej informacji na temat autopilota i potoków, zobacz Zautomatyzuj tworzenie modeli za pomocą Amazon SageMaker Autopilot i Rurociągi Amazon SageMaker.

Szczególne podziękowania dla wszystkich, którzy przyczynili się do uruchomienia: Shenghua Yue, John He, Ao Guo, Xinlu Tu, Tian Qin, Yanda Hu, Zhankui Lu i Dewen Qi.


O autorach

Uruchamiaj eksperymenty Amazon SageMaker Autopilot bezpośrednio z poziomu Amazon SageMaker Pipelines, aby łatwo zautomatyzować przepływy pracy MLOps PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Janisza Anand jest starszym menedżerem produktu w zespole SageMaker Low/No Code ML, w skład którego wchodzi SageMaker Autopilot. Lubi kawę, jest aktywny i spędza czas z rodziną.

Uruchamiaj eksperymenty Amazon SageMaker Autopilot bezpośrednio z poziomu Amazon SageMaker Pipelines, aby łatwo zautomatyzować przepływy pracy MLOps PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Marcelo Aberle jest inżynierem ML w AWS AI. On pomaga Laboratorium rozwiązań Amazon ML klienci budują skalowalne systemy i frameworki ML(-Ops). W wolnym czasie lubi piesze i rowerowe wycieczki po Zatoce San Francisco.

Uruchamiaj eksperymenty Amazon SageMaker Autopilot bezpośrednio z poziomu Amazon SageMaker Pipelines, aby łatwo zautomatyzować przepływy pracy MLOps PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Geremiego Cohena jest architektem rozwiązań w AWS, gdzie pomaga klientom w tworzeniu najnowocześniejszych rozwiązań w chmurze. W wolnym czasie lubi krótkie spacery po plaży, zwiedzanie zatoki z rodziną, naprawianie rzeczy w domu, niszczenie rzeczy wokół domu i grillowanie.

Uruchamiaj eksperymenty Amazon SageMaker Autopilot bezpośrednio z poziomu Amazon SageMaker Pipelines, aby łatwo zautomatyzować przepływy pracy MLOps PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Shenghua Yue jest inżynierem rozwoju oprogramowania w Amazon SageMaker. Koncentruje się na budowaniu narzędzi i produktów ML dla klientów. Poza pracą lubi spędzać czas na świeżym powietrzu, uprawiać jogę i wędrować.

Znak czasu:

Więcej z Uczenie maszynowe AWS