W miarę jak coraz więcej organizacji przechodzi na uczenie maszynowe (ML) w celu uzyskiwania głębszych informacji, dwie kluczowe przeszkody, na które napotykają, to etykietowanie i zarządzanie cyklem życia. Etykietowanie to identyfikacja danych i dodawanie etykiet w celu zapewnienia kontekstu, aby model ML mógł się z nich uczyć. Etykiety mogą oznaczać frazę w pliku audio, samochód na fotografii lub organ w rezonansie magnetycznym. Etykietowanie danych jest konieczne, aby umożliwić modelom ML pracę z danymi. Zarządzanie cyklem życia dotyczy procesu konfigurowania eksperymentu ML i dokumentowania zestawu danych, biblioteki, wersji i modelu używanego do uzyskiwania wyników. Zespół może przeprowadzić setki eksperymentów, zanim zdecyduje się na jedno podejście. Powrót i odtworzenie tego podejścia może być trudne bez zapisów elementów tego eksperymentu.
Wiele przykładów i samouczków ML zaczyna się od zestawu danych, który zawiera wartość docelową. Jednak rzeczywiste dane nie zawsze mają taką wartość docelową. Na przykład w analizie nastrojów osoba może zazwyczaj ocenić, czy recenzja jest pozytywna, negatywna czy mieszana. Ale recenzje składają się ze zbioru tekstów, do których nie jest przypisana żadna ocena. Aby stworzyć Nadzorowana nauka model do rozwiązania tego problemu, niezbędny jest wysokiej jakości zestaw danych z etykietami. Amazon SageMaker Ground Prawda to w pełni zarządzana usługa etykietowania danych, która ułatwia tworzenie bardzo dokładnych zestawów danych szkoleniowych dla uczenia maszynowego.
W przypadku organizacji, które używają Datakostek jako platformy danych i analiz w AWS do wykonywania zadań wyodrębniania, przekształcania i ładowania (ETL), ostatecznym celem jest często szkolenie nadzorowanego modelu uczenia się. W tym poście pokazujemy, jak Datakostki integrują się z Ground Truth i Amazon Sage Maker do etykietowania danych i dystrybucji modeli.
Omówienie rozwiązania
Ground Truth to w pełni zarządzana usługa etykietowania danych, która ułatwia tworzenie bardzo dokładnych zestawów danych szkoleniowych dla uczenia maszynowego. Za pomocą konsoli Ground Truth możemy w ciągu kilku minut tworzyć niestandardowe lub wbudowane przepływy pracy związane z etykietowaniem danych. Te przepływy pracy obsługują różne przypadki użycia, w tym chmury punktów 3D, wideo, obrazy i tekst. Ponadto Ground Truth oferuje automatyczne etykietowanie danych, które wykorzystuje model ML do etykietowania naszych danych.
Szkolimy nasz model na publicznie dostępnym zbiorze danych Amazon Customer Reviews. Na wysokim poziomie kroki są następujące:
- Wyodrębnij nieprzetworzony zestaw danych, który ma zostać oznaczony etykietą, i przenieś go do niego Usługa Amazon Simple Storage (Amazonka S3).
- Wykonaj etykietowanie, tworząc zadanie etykietowania w SageMaker.
- Zbuduj i wytrenuj prosty liniowy model ucznia Scikit-learn, aby sklasyfikować nastroje tekstu recenzji na platformie Databricks przy użyciu próbki notatnik.
- Zastosowanie MLflow komponentów do tworzenia i wykonywania operacji MLOps oraz zapisywania artefaktów modelu.
- Wdróż model jako punkt końcowy SageMaker przy użyciu Biblioteka MLflow SageMaker do wnioskowania w czasie rzeczywistym.
Poniższy diagram ilustruje proces etykietowania i ML przy użyciu Ground Truth i MLflow.
Utwórz zadanie etykietowania w SageMaker
Z zestawu danych Amazon Customer Reviews wyodrębniamy tylko fragmenty tekstu, ponieważ budujemy model analizy nastrojów. Po wyodrębnieniu umieszczamy tekst w wiadrze S3, a następnie tworzymy zadanie etykietowania Ground Truth za pomocą konsoli SageMaker.
Na Utwórz zadanie etykietowania stronie, wypełnij wszystkie wymagane pola. W ramach kroku na tej stronie, Ground Truth umożliwia wygenerowanie pliku manifestu pracy. Ground Truth używa wejściowego pliku manifestu do identyfikowania liczby plików lub obiektów w zadaniu etykietowania, tak aby tworzona była odpowiednia liczba zadań i wysyłana do ludzi (lub maszyn) etykietujących. Plik jest automatycznie zapisywany w zasobniku S3. Kolejnym krokiem jest określenie kategorii zadania i wybór zadania. W tym przypadku użycia wybieramy Tekst jako kategorię zadania, oraz Klasyfikacja tekstu z jedną etykietą wyboru zadania, co oznacza, że tekst recenzji będzie miał jedną opinię: pozytywną, negatywną lub neutralną.
Na koniec piszemy proste, ale zwięzłe instrukcje dla osób zajmujących się etykietowaniem, jak etykietować dane tekstowe. Instrukcje są wyświetlane w narzędziu do etykietowania i opcjonalnie możesz w tym momencie przejrzeć widok adnotatora. Na koniec przesyłamy zadanie i monitorujemy postępy na konsoli.
Podczas gdy zadanie etykietowania jest w toku, możemy również przeglądać oznakowane dane na Wydajność patka. Możemy monitorować każdy tekst i etykietę recenzji oraz to, czy zadanie zostało wykonane przez człowieka, czy przez maszynę. Możemy wybrać 100% zadań etykietowania do wykonania przez ludzi lub wybrać adnotację maszynową, co przyspiesza pracę i zmniejsza koszty pracy.
Po zakończeniu zadania podsumowanie zadania etykietowania zawiera łącza do manifestu wyjściowego i zestawu danych z etykietami. Możemy również przejść do Amazon S3 i pobrać oba z naszego folderu wiadra S3.
W kolejnych krokach korzystamy z notatnika Databricks, MLflowi zestawy danych oznaczone przez Ground Truth do zbudowania Nauka scikitu model.
Pobierz zestaw danych z etykietami z Amazon S3
Zaczynamy od pobrania oznaczonego zestawu danych z Amazon S3. Manifest jest zapisywany w formacie JSON i ładujemy go do Spark DataFrame w Databricks. Do trenowania modelu analizy tonacji potrzebujemy tylko tekstu recenzji i tonacji, które zostały opatrzone adnotacjami przez zadanie etykietowania Ground Truth. Używamy select() do wyodrębnienia tych dwóch funkcji. Następnie konwertujemy zestaw danych z PySpark DataFrame na Pandas DataFrame, ponieważ algorytm Scikit-learn wymaga formatu Pandas DataFrame.
Następnie używamy Scikit-learn CountVectorizer
aby przekształcić tekst recenzji w wektor biggramu, ustawiając ngram_range
maksymalna wartość do 2. CountVectorizer
konwertuje tekst na macierz zliczeń tokenów. Następnie używamy TfidfTransformer
w celu przekształcenia wektora bigramowego w format term-frequency-odwróconej częstotliwości dokumentu (TF-IDF).
Porównujemy wyniki dokładności dla treningu wykonanego za pomocą wektora bigramowego z bigramem za pomocą TF-IDF. TF-IDF jest miarą statystyczną, która ocenia, jak istotne jest słowo dla dokumentu w zbiorze dokumentów. Ponieważ tekst recenzji jest zwykle stosunkowo krótki, możemy zaobserwować, jak TF-IDF wpływa na wydajność modelu predykcyjnego.
Skonfiguruj eksperyment MLflow
MLflow został opracowany przez Databricks i jest teraz projekt open source. MLflow zarządza cyklem życia ML, dzięki czemu możesz łatwo śledzić, odtwarzać i publikować eksperymenty.
Aby skonfigurować eksperymenty MLflow, używamy mlflow.sklearn.autolog()
aby włączyć automatyczne rejestrowanie hiperparametrów, metryk i artefaktów modelu w dowolnym momencie estimator.fit()
, estimator.fit_predict()
, i estimator.fit_transform()
są nazywane. Alternatywnie możesz to zrobić ręcznie, dzwoniąc mlflow.log_param()
i mlflow.log_metric()
.
Dopasowujemy przekształcony zbiór danych do liniowego klasyfikatora z uczeniem Stochastic Gradient Descent (SGD). W przypadku SGD gradient strat jest szacowany po jednej próbce na raz, a model jest aktualizowany po drodze zgodnie ze zmniejszającym się harmonogramem wytrzymałości.
Te dwa zestawy danych, które przygotowaliśmy wcześniej, są przekazywane do train_and_show_scores()
funkcja do treningu. Po treningu musimy zarejestrować model i zapisać jego artefakty. Używamy mlflow.sklearn.log_model()
aby to zrobić.
Przed wdrożeniem patrzymy na wyniki eksperymentu i wybieramy dwa eksperymenty (jeden dla bigramu, a drugi dla bigramu z TF-IDF) do porównania. W naszym przypadku drugi model trenowany z bigramem TF-IDF działał nieco lepiej, więc wybieramy ten model do wdrożenia. Po zarejestrowaniu modelu wdrażamy model, zmieniając etap modelu na produkcyjny. Możemy to osiągnąć w interfejsie użytkownika MLflow lub w kodzie za pomocą transition_model_version_stage()
.
Wdróż i przetestuj model jako punkt końcowy SageMaker
Zanim wdrożymy przeszkolony model, musimy zbudować kontener Docker, aby hostować model w SageMaker. Robimy to, uruchamiając proste polecenie MLflow, które buduje i wypycha kontener do Rejestr elastycznego pojemnika Amazon (Amazon ECR) na naszym koncie AWS.
Możemy teraz znaleźć identyfikator URI obrazu w konsoli Amazon ECR. Przekazujemy identyfikator URI obrazu jako plik image_url
parametr i użyć DEPLOYMENT_MODE_CREATE
dla parametru trybu, jeśli jest to nowe wdrożenie. W przypadku aktualizowania istniejącego punktu końcowego za pomocą nowej wersji użyj DEPLOYMENT_MODE_REPLACE
.
Aby przetestować punkt końcowy SageMaker, tworzymy funkcję, która jako parametry przyjmuje nazwę punktu końcowego i dane wejściowe.
Wnioski
W tym poście pokazaliśmy, jak używać Ground Truth do oznaczania nieprzetworzonego zestawu danych oraz używać oznaczonych danych do trenowania prostego klasyfikatora liniowego za pomocą Scikit-learn. W tym przykładzie używamy MLflow do śledzenia hiperparametrów i metryk, rejestrowania modelu klasy produkcyjnej i wdrażania wytrenowanego modelu w SageMaker jako punkt końcowy. Wraz z datakostkami do przetwarzania danych możesz zautomatyzować cały ten przypadek użycia, więc po wprowadzeniu nowych danych można je oznaczyć i przetworzyć w modelu. Dzięki automatyzacji tych potoków i modeli zespoły zajmujące się analizą danych mogą skoncentrować się na nowych przypadkach użycia i odkryć więcej informacji, zamiast spędzać czas na codziennym zarządzaniu aktualizacjami danych.
Aby rozpocząć, sprawdź Użyj Amazon SageMaker Ground Truth do etykietowania danych i zapisz się na 14-dniowy bezpłatny okres próbny Databricks na AWS. Aby dowiedzieć się więcej o tym, jak Databricks integruje się z SageMaker, a także innymi usługami AWS, takimi jak Klej AWS i Amazonka Przesunięcie ku czerwieni, Odwiedź Datakostki w AWS.
Ponadto sprawdź następujące zasoby użyte w tym poście:
Użyj poniższego notatnik zacząć.
O autorach
Rumiego Olsena jest Architektem Rozwiązań w Programie Partnerskim AWS. Na swoim obecnym stanowisku specjalizuje się w rozwiązaniach serverless i machine learning, a także ma doświadczenie w technologiach przetwarzania języka naturalnego. Większość wolnego czasu spędza z córką, badając przyrodę północno-zachodniego Pacyfiku.
Igor Alekseev jest architektem rozwiązań dla partnerów w AWS w zakresie danych i analiz. Igor współpracuje ze strategicznymi partnerami, pomagając im budować złożone architektury zoptymalizowane pod kątem AWS. Przed dołączeniem do AWS, jako Architekt Danych/Rozwiązań, zrealizował wiele projektów w Big Data, w tym kilka jezior danych w ekosystemie Hadoop. Jako Data Engineer był zaangażowany w zastosowanie AI/ML do wykrywania nadużyć i automatyzacji biura. Projekty Igora dotyczyły różnych branż, w tym komunikacji, finansów, bezpieczeństwa publicznego, produkcji i opieki zdrowotnej. Wcześniej Igor pracował jako full stack inżynier/tech lead.
Naseer Ahmed jest starszym architektem rozwiązań partnerskich w firmie Databricks, wspierając jej biznes AWS. Naseer specjalizuje się w hurtowniach danych, analizie biznesowej, tworzeniu aplikacji, kontenerach, architekturach bezserwerowych i uczenia maszynowego w AWS. Został wybrany MŚP roku 2021 w Databricks i jest zapalonym entuzjastą kryptowalut.
- Coinsmart. Najlepsza w Europie giełda bitcoinów i kryptowalut.
- Platoblockchain. Web3 Inteligencja Metaverse. Wzmocniona wiedza. DARMOWY DOSTĘP.
- CryptoJastrząb. Radar Altcoin. Bezpłatna wersja próbna.
- Źródło: https://aws.amazon.com/blogs/machine-learning/build-an-mlops-sentiment-analysis-pipeline-using-amazon-sagemaker-ground-truth-and-databricks-mlflow/
- "
- 100
- 2021
- 3d
- O nas
- Konto
- dokładny
- dodatek
- algorytm
- Wszystkie kategorie
- Amazonka
- analiza
- analityka
- Aplikacja
- Rozwój aplikacji
- Stosowanie
- podejście
- audio
- samochód
- Automatyzacja
- dostępny
- AWS
- tło
- podstawa
- Big Data
- budować
- Budowanie
- Buduje
- wbudowany
- biznes
- business intelligence
- wózek
- Etui
- Kategoria
- Dodaj
- klasyfikacja
- kod
- kolekcja
- Komunikacja
- kompleks
- Konsola
- Pojemnik
- zawiera
- Koszty:
- stworzony
- Tworzenie
- Crypto
- Aktualny
- zwyczaj
- dane
- nauka danych
- głębiej
- rozwijać
- wdrażanie
- Wdrożenie
- Wykrywanie
- rozwinięty
- oprogramowania
- trudny
- 分配
- Doker
- dokumenty
- Nie
- napęd
- z łatwością
- Ekosystem
- umożliwiać
- Punkt końcowy
- inżynier
- niezbędny
- szacunkowa
- przykład
- eksperyment
- Korzyści
- Łąka
- W końcu
- finansować
- dopasować
- Skupiać
- następujący
- format
- oszustwo
- Darmowy
- pełny
- funkcjonować
- Generować
- cel
- będzie
- opieki zdrowotnej
- Wysoki
- wysoko
- W jaki sposób
- How To
- HTTPS
- człowiek
- Ludzie
- Setki
- Identyfikacja
- zidentyfikować
- obraz
- realizowane
- Włącznie z
- przemysłowa
- wkład
- spostrzeżenia
- Inteligencja
- zaangażowany
- IT
- Praca
- Oferty pracy
- Klawisz
- etykietowanie
- Etykiety
- praca
- język
- prowadzić
- UCZYĆ SIĘ
- nauka
- poziom
- Biblioteka
- linki
- załadować
- maszyna
- uczenie maszynowe
- zrobiony
- WYKONUJE
- zarządzane
- i konserwacjami
- zarządzający
- ręcznie
- produkcja
- Matrix
- zmierzyć
- Metryka
- mieszany
- ML
- model
- modele
- monitor
- jeszcze
- większość
- ruch
- Naturalny
- Natura
- notatnik
- numer
- Oferty
- zamówienie
- organizacji
- Inne
- Pacyfik
- partnerem
- wzmacniacz
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- osoba
- Platforma
- punkt
- pozytywny
- Problem
- wygląda tak
- Produkcja
- Program
- projektowanie
- zapewniać
- publiczny
- publikować
- Surowy
- w czasie rzeczywistym
- dokumentacja
- zarejestrować
- zarejestrowany
- wymagany
- Zasoby
- Efekt
- przeglądu
- Recenzje
- run
- bieganie
- Bezpieczeństwo
- nauka
- sentyment
- Bezserwerowe
- usługa
- Usługi
- zestaw
- ustawienie
- Short
- Prosty
- So
- rozwiązanie
- Rozwiązania
- ROZWIĄZANIA
- specjalizuje się
- Spędzanie
- stos
- STAGE
- początek
- rozpoczęty
- statystyczny
- przechowywanie
- Strategiczny
- wsparcie
- Wspierający
- cel
- zadania
- zespół
- Technologies
- test
- Przez
- czas
- żeton
- narzędzie
- śledzić
- Trening
- Przekształcać
- próba
- tutoriale
- ui
- ostateczny
- odkryć
- Nowości
- posługiwać się
- zazwyczaj
- wartość
- różnorodność
- Wideo
- Zobacz i wysłuchaj
- czy
- bez
- Praca
- pracował
- działa
- rok