Ujednolicone przygotowanie danych, szkolenie modeli i wdrożenie za pomocą Amazon SageMaker Data Wrangler i Amazon SageMaker Autopilot — część 2 PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Ujednolicone przygotowanie danych, szkolenie modeli i wdrożenie za pomocą Amazon SageMaker Data Wrangler i Amazon SageMaker Autopilot — część 2

W zależności od jakości i złożoności danych naukowcy zajmujący się danymi poświęcają od 45 do 80% czasu na zadania związane z przygotowaniem danych. Oznacza to, że przygotowanie i czyszczenie danych zabiera cenny czas na pracę z prawdziwymi danymi naukowymi. Po przeszkoleniu modelu uczenia maszynowego (ML) przy użyciu przygotowanych danych i przygotowaniu do wdrożenia, naukowcy zajmujący się danymi muszą często ponownie napisać przekształcenia danych używane do przygotowywania danych do wnioskowania ML. Może to wydłużyć czas potrzebny na wdrożenie użytecznego modelu, który może wnioskować i oceniać dane na podstawie ich nieprzetworzonego kształtu i formy.

W części 1 tej serii pokazaliśmy, w jaki sposób Data Wrangler umożliwia ujednolicone przygotowanie danych i szkolenie modeli doświadczenie z Autopilot Amazon SageMaker za pomocą kilku kliknięć. W drugiej i ostatniej części tej serii skupiamy się na funkcji, która obejmuje i wykorzystuje ponownie Pogromca danych Amazon SageMaker przekształcenia, takie jak imputery brakujących wartości, kodery porządkowe lub kodery jednoaktywne i inne, wraz z modelami autopilota do wnioskowania ML. Ta funkcja umożliwia automatyczne wstępne przetwarzanie nieprzetworzonych danych z ponownym użyciem funkcji Data Wrangler przekształca się w momencie wnioskowania, co dodatkowo skraca czas potrzebny do wdrożenia wytrenowanego modelu w środowisku produkcyjnym.

Omówienie rozwiązania

Data Wrangler skraca czas agregowania i przygotowywania danych dla ML z tygodni do minut, a Autopilot automatycznie tworzy, trenuje i dostraja najlepsze modele ML na podstawie Twoich danych. Dzięki Autopilotowi nadal zachowujesz pełną kontrolę i widoczność swoich danych i modelu. Obie usługi mają na celu zwiększenie produktywności praktyków ML i skrócenie czasu uzyskania korzyści.

Poniższy diagram ilustruje naszą architekturę rozwiązania.

Wymagania wstępne

Ponieważ ten post jest drugim z dwuczęściowej serii, upewnij się, że pomyślnie przeczytałeś i zaimplementowałeś Część 1 przed kontynuowaniem.

Eksportuj i trenuj model

W części 1, po przygotowaniu danych dla ML, omówiliśmy, w jaki sposób można wykorzystać zintegrowane środowisko Data Wrangler do analizowania zestawów danych i łatwego tworzenia wysokiej jakości modeli ML w Autopilocie.

Tym razem ponownie używamy integracji Autopilot, aby wytrenować model na podstawie tego samego uczącego zestawu danych, ale zamiast wykonywać wnioskowanie zbiorcze, wykonujemy wnioskowanie w czasie rzeczywistym na podstawie Amazon Sage Maker punkt końcowy wnioskowania, który jest dla nas tworzony automatycznie.

Oprócz wygody zapewnianej przez automatyczne wdrażanie punktów końcowych, pokazujemy również, jak można wdrożyć wszystkie transformacje funkcji Data Wrangler jako szeregowy potok wnioskowania SageMaker. Umożliwia to automatyczne wstępne przetwarzanie nieprzetworzonych danych z ponownym użyciem funkcji Data Wrangler przekształca się w momencie wnioskowania.

Należy zauważyć, że ta funkcja jest obecnie obsługiwana tylko w przypadku przepływów modułu Data Wrangler, które nie korzystają z przekształceń łączenia, grupowania, łączenia i szeregów czasowych.

Możemy użyć nowej integracji Data Wrangler z Autopilotem, aby bezpośrednio trenować model z interfejsu użytkownika przepływu danych Data Wrangler.

  1. Wybierz znak plus obok Skaluj wartości węzeł i wybierz Trenuj model.
  2. W razie zamówieenia projektu Lokalizacja Amazon S3, określić Usługa Amazon Simple Storage (Amazon S3) lokalizacja, w której SageMaker eksportuje Twoje dane.
    Jeśli domyślnie zostanie wyświetlona ścieżka do głównego zasobnika, Data Wrangler tworzy pod nim unikalny podkatalog eksportu — nie musisz modyfikować domyślnej ścieżki głównej, chyba że chcesz. Autopilot używa tej lokalizacji do automatycznego uczenia modelu, oszczędzając czas od konieczności zdefiniowania lokalizacji wyjściowej przepływu Data Wrangler, a następnie zdefiniowania lokalizacji wejściowej danych treningowych autopilota. Zapewnia to bardziej płynne wrażenia.
  3. Dodaj Eksportuj i trenuj aby wyeksportować przekształcone dane do Amazon S3.
    Ujednolicone przygotowanie danych, szkolenie modeli i wdrożenie za pomocą Amazon SageMaker Data Wrangler i Amazon SageMaker Autopilot — część 2 PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
    Gdy eksport się powiedzie, nastąpi przekierowanie do Utwórz eksperyment autopilota strona, z Dane wejściowe Lokalizacja S3 jest już wypełniona dla Ciebie (została wypełniona wynikami z poprzedniej strony).
  4. W razie zamówieenia projektu Nazwa eksperymentu, wprowadź nazwę (lub zachowaj nazwę domyślną).
  5. W razie zamówieenia projektu celwybierz Wynik jako kolumna, którą chcesz przewidzieć.
  6. Dodaj Dalej: Metoda szkolenia.
    Ujednolicone przygotowanie danych, szkolenie modeli i wdrożenie za pomocą Amazon SageMaker Data Wrangler i Amazon SageMaker Autopilot — część 2 PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Jak opisano w poście Amazon SageMaker Autopilot jest do ośmiu razy szybszy dzięki nowemu trybowi treningu zespołowego obsługiwanemu przez AutoGluon, możesz pozwolić Autopilotowi wybrać tryb uczenia automatycznie na podstawie rozmiaru zestawu danych lub wybrać tryb uczenia ręcznie w celu optymalizacji zestawiania lub hiperparametrów (HPO).

Szczegóły każdej opcji są następujące:

  • Samochody – Autopilot automatycznie wybiera tryb asemblacji lub HPO na podstawie rozmiaru zestawu danych. Jeśli zestaw danych jest większy niż 100 MB, Autopilot wybiera HPO; w przeciwnym razie wybiera zespół.
  • Kompletowanie – Autopilot wykorzystuje AutoGluon technika asemblingowa do trenowania kilku modeli podstawowych i łączenia ich przewidywań za pomocą łączenia modeli w optymalny model predykcyjny.
  • Optymalizacja hiperparametrów – Autopilot znajduje najlepszą wersję modelu, dostrajając hiperparametry przy użyciu techniki optymalizacji Bayesa i uruchamiając zadania szkoleniowe w zestawie danych. HPO wybiera algorytmy najbardziej odpowiednie dla Twojego zbioru danych i wybiera najlepszy zakres hiperparametrów w celu dostrojenia modeli. W naszym przykładzie pozostawiamy domyślny wybór Samochody.
  1. Dodaj Dalej: Wdrożenie i ustawienia zaawansowane aby kontynuować.
    Ujednolicone przygotowanie danych, szkolenie modeli i wdrożenie za pomocą Amazon SageMaker Data Wrangler i Amazon SageMaker Autopilot — część 2 PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
  2. Na Wdrożenie i ustawienia zaawansowane stronie, wybierz opcję wdrożenia.
    Ważne jest, aby bardziej szczegółowo zapoznać się z opcjami wdrażania; to, co wybierzemy, będzie miało wpływ na to, czy transformacje, które wykonaliśmy wcześniej w Data Wranglerze, zostaną uwzględnione w potoku wnioskowania:
    • Automatycznie wdrażaj najlepszy model z transformacjami z Data Wrangler – Dzięki tej opcji wdrażania, gdy przygotowujesz dane w Data Wrangler i trenujesz model przez wywołanie Autopilota, wyszkolony model jest wdrażany wraz ze wszystkimi funkcjami Data Wrangler przekształca się jako Szeregowy potok wnioskowania SageMaker. Umożliwia to automatyczne wstępne przetwarzanie nieprzetworzonych danych z ponownym użyciem funkcji Data Wrangler przekształca się w momencie wnioskowania. Należy zauważyć, że punkt końcowy wnioskowania oczekuje, że format danych będzie w tym samym formacie, co podczas importowania do przepływu Data Wrangler.
    • Automatycznie wdrażaj najlepszy model bez transformacji z Data Wrangler – Ta opcja wdraża punkt końcowy w czasie rzeczywistym, który nie używa transformacji Data Wrangler. W takim przypadku przed wnioskowaniem należy zastosować do danych przekształcenia zdefiniowane w przepływie Data Wrangler.
    • Nie wdrażaj automatycznie najlepszego modelu – Należy użyć tej opcji, jeśli nie chcesz w ogóle tworzyć punktu końcowego wnioskowania. Jest to przydatne, jeśli chcesz wygenerować najlepszy model do późniejszego użycia, na przykład wnioskowanie zbiorcze uruchamiane lokalnie. (Jest to opcja wdrożenia, którą wybraliśmy w części 1 serii). Należy zauważyć, że po wybraniu tej opcji utworzony model (od najlepszego kandydata Autopilota za pośrednictwem pakietu SageMaker SDK) zawiera transformację funkcji Data Wrangler jako szeregowy potok wnioskowania SageMaker.

    Do tego postu używamy Automatycznie wdrażaj najlepszy model z transformacjami z Data Wrangler opcja.

  3. W razie zamówieenia projektu Opcja wdrożenia, Wybierz Automatycznie wdrażaj najlepszy model z transformacjami z Data Wrangler.
  4. Pozostałe ustawienia pozostaw jako domyślne.
  5. Dodaj Dalej: Przejrzyj i utwórz aby kontynuować.
    Na Przejrzyj i utwórz zobaczymy podsumowanie ustawień wybranych dla naszego eksperymentu Autopilot.
  6. Dodaj Utwórz eksperyment aby rozpocząć proces tworzenia modelu.
    Ujednolicone przygotowanie danych, szkolenie modeli i wdrożenie za pomocą Amazon SageMaker Data Wrangler i Amazon SageMaker Autopilot — część 2 PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Zostaniesz przekierowany na stronę z opisem stanowiska pracy Autopilot. Modele pokazują się na modele zakładka podczas ich generowania. Aby potwierdzić, że proces został zakończony, przejdź do Profil pracy tab i poszukaj Completed wartość dla Rynek pole.

Możesz wrócić do tej strony z opisem stanowiska pracy autopilota w dowolnym momencie od Studio Amazon SageMaker:

  1. Dodaj Eksperymenty i próby na Zasoby SageMaker rozwijane menu.
  2. Wybierz nazwę utworzonego zadania autopilota.
  3. Wybierz (kliknij prawym przyciskiem myszy) eksperyment i wybierz Opisz zadanie AutoML.

Zobacz szkolenie i wdrożenie

Gdy Autopilot zakończy eksperyment, możemy wyświetlić wyniki szkolenia i zbadać najlepszy model na stronie opisu stanowiska pracy Autopilot.

Wybierz (kliknij prawym przyciskiem myszy) model oznaczony Najlepszy modeli wybierz Otwórz w szczegółach modelu.

Ujednolicone przygotowanie danych, szkolenie modeli i wdrożenie za pomocą Amazon SageMaker Data Wrangler i Amazon SageMaker Autopilot — część 2 PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Połączenia Wydajność Zakładka wyświetla kilka modeli testów pomiarowych, w tym macierz pomyłek, obszar pod krzywą precyzji/przywołania (AUCPR) oraz obszar pod krzywą charakterystyki pracy odbiornika (ROC). Ilustrują one ogólną wydajność walidacji modelu, ale nie mówią nam, czy model będzie dobrze uogólniał. Nadal musimy przeprowadzać oceny na niewidocznych danych testowych, aby zobaczyć, jak dokładnie model wykonuje prognozy (w tym przykładzie przewidujemy, czy dana osoba będzie miała cukrzycę).

Wykonywanie wnioskowania względem punktu końcowego w czasie rzeczywistym

Utwórz nowy notatnik SageMaker, aby przeprowadzić wnioskowanie w czasie rzeczywistym w celu oceny wydajności modelu. Wprowadź następujący kod do notatnika, aby uruchomić wnioskowanie w czasie rzeczywistym w celu weryfikacji:

import boto3

### Define required boto3 clients

sm_client = boto3.client(service_name="sagemaker")
runtime_sm_client = boto3.client(service_name="sagemaker-runtime")

### Define endpoint name

endpoint_name = ""

### Define input data

payload_str = '5,166.0,72.0,19.0,175.0,25.8,0.587,51'
payload = payload_str.encode()
response = runtime_sm_client.invoke_endpoint(
    EndpointName=endpoint_name,
    ContentType="text/csv",
    Body=payload,
)

response["Body"].read()

Po skonfigurowaniu kodu do uruchamiania w notesie musisz skonfigurować dwie zmienne:

  • endpoint_name
  • payload_str

Skonfiguruj nazwę_punktu końcowego

endpoint_name reprezentuje nazwę punktu końcowego wnioskowania w czasie rzeczywistym, które zostało dla nas utworzone automatycznie. Zanim go ustawimy, musimy znaleźć jego nazwę.

  1. Dodaj Punkty końcowe na Zasoby SageMaker rozwijane menu.
  2. Zlokalizuj nazwę punktu końcowego, który ma nazwę utworzonego zadania autopilota z dołączonym do niego losowym ciągiem.
  3. Wybierz (kliknij prawym przyciskiem myszy) eksperyment i wybierz Opisz punkt końcowy.
    Ujednolicone przygotowanie danych, szkolenie modeli i wdrożenie za pomocą Amazon SageMaker Data Wrangler i Amazon SageMaker Autopilot — część 2 PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
    Połączenia Szczegóły punktu końcowego pojawi się strona.
  4. Podświetl pełną nazwę punktu końcowego i naciśnij Ctrl + C skopiować go do schowka.
    Ujednolicone przygotowanie danych, szkolenie modeli i wdrożenie za pomocą Amazon SageMaker Data Wrangler i Amazon SageMaker Autopilot — część 2 PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.
  5. Wprowadź tę wartość (upewnij się, że jest cytowana) dla endpoint_name w notatniku wniosków.
    Ujednolicone przygotowanie danych, szkolenie modeli i wdrożenie za pomocą Amazon SageMaker Data Wrangler i Amazon SageMaker Autopilot — część 2 PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Skonfiguruj payload_str

Notebook jest dostarczany z domyślnym ciągiem ładunku payload_str którego możesz użyć do przetestowania punktu końcowego, ale możesz swobodnie eksperymentować z różnymi wartościami, takimi jak te z testowego zestawu danych.

Aby pobrać wartości z testowego zbioru danych, postępuj zgodnie z instrukcjami w Część 1 aby wyeksportować testowy zestaw danych do Amazon S3. Następnie w konsoli Amazon S3 możesz go pobrać i wybrać wiersze, aby użyć pliku z Amazon S3.

Każdy wiersz w testowym zbiorze danych ma dziewięć kolumn, przy czym ostatnia kolumna to outcome wartość. W przypadku tego kodu notatnika upewnij się, że używasz tylko jednego wiersza danych (nigdy nagłówka CSV) dla payload_str. Upewnij się również, że wysyłasz tylko payload_str z ośmioma kolumnami, z których usunięto wartość wynikową.

Na przykład, jeśli pliki testowego zestawu danych wyglądają jak poniższy kod i chcemy przeprowadzić wnioskowanie w czasie rzeczywistym pierwszego wiersza:

Pregnancies,Glucose,BloodPressure,SkinThickness,Insulin,BMI,DiabetesPedigreeFunction,Age,Outcome 
10,115,0,0,0,35.3,0.134,29,0 
10,168,74,0,0,38.0,0.537,34,1 
1,103,30,38,83,43.3,0.183,33,0

Ustawiliśmy payload_str do 10,115,0,0,0,35.3,0.134,29. Zwróć uwagę, jak pominęliśmy outcome wartość 0 na końcu.

Jeśli przypadkowo wartość docelowa zestawu danych nie jest pierwszą ani ostatnią wartością, po prostu usuń wartość z nienaruszoną strukturą przecinka. Załóżmy na przykład, że przewidujemy słupek, a nasz zestaw danych wygląda jak następujący kod:

foo,bar,foobar
85,17,20

W tym przypadku ustawiamy payload_str do 85,,20.

Gdy notebook jest uruchamiany z poprawnie skonfigurowanym payload_str i endpoint_name wartości, otrzymasz odpowiedź CSV z powrotem w formacie outcome (0 lub 1), confidence (0-1).

Sprzątanie

Aby upewnić się, że nie poniesiesz opłat związanych z samouczkiem po ukończeniu tego samouczka, pamiętaj o zamknięciu aplikacji Data Wrangler (https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler-shut-down.html), a także wszystkie instancje notatek używane do wykonywania zadań wnioskowania. Punkty końcowe wnioskowania utworzone za pomocą automatycznego pilotażu powinny zostać usunięte, aby zapobiec dodatkowym opłatom.

Wnioski

W tym poście pokazaliśmy, jak zintegrować przetwarzanie danych z inżynierią i budowaniem modeli za pomocą Data Wranglera i Autopilota. Opierając się na części 1 serii, podkreśliliśmy, w jaki sposób można łatwo trenować, dostrajać i wdrażać model w punkcie końcowym wnioskowania w czasie rzeczywistym za pomocą Autopilota bezpośrednio z interfejsu użytkownika Data Wrangler. Oprócz wygody zapewnianej przez automatyczne wdrażanie punktów końcowych, pokazaliśmy również, w jaki sposób można wdrożyć wszystkie transformacje funkcji Data Wrangler jako szeregowy potok wnioskowania SageMaker, zapewniając automatyczne wstępne przetwarzanie nieprzetworzonych danych, z ponownym użyciem funkcji Data Wrangler transformacje w czas wnioskowania.

Rozwiązania niskokodowe i AutoML, takie jak Data Wrangler i Autopilot, eliminują potrzebę posiadania głębokiej wiedzy o kodowaniu w celu tworzenia niezawodnych modeli ML. Zacznij korzystać z Data Wranglera już dziś, aby przekonać się, jak łatwo jest budować modele ML za pomocą Autopilota.


O autorach

Ujednolicone przygotowanie danych, szkolenie modeli i wdrożenie za pomocą Amazon SageMaker Data Wrangler i Amazon SageMaker Autopilot — część 2 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.

Ujednolicone przygotowanie danych, szkolenie modeli i wdrożenie za pomocą Amazon SageMaker Data Wrangler i Amazon SageMaker Autopilot — część 2 PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Pradeepa Reddy'ego jest starszym menedżerem produktu w zespole SageMaker Low/No Code ML, który obejmuje SageMaker Autopilot, SageMaker Automatic Model Tuner. Poza pracą Pradeep lubi czytać, biegać i geekować z komputerami wielkości dłoni, takimi jak raspberry pi, i innymi technologiami automatyki domowej.

Ujednolicone przygotowanie danych, szkolenie modeli i wdrożenie za pomocą Amazon SageMaker Data Wrangler i Amazon SageMaker Autopilot — część 2 PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Dr John He jest starszym inżynierem rozwoju oprogramowania w Amazon AI, gdzie koncentruje się na uczeniu maszynowym i przetwarzaniu rozproszonym. Posiada tytuł doktora na CMU.

Znak czasu:

Więcej z Uczenie maszynowe AWS