W miarę ulepszania modeli uczenia maszynowego (ML) naukowcy zajmujący się danymi, inżynierowie i badacze ML przenieśli większą uwagę na definiowanie i poprawianie jakości danych. Doprowadziło to do pojawienia się skoncentrowanego na danych podejścia do uczenia maszynowego i różnych technik poprawy wydajności modelu poprzez skupienie się na wymaganiach dotyczących danych. Zastosowanie tych technik pozwala praktykom ML zmniejszyć ilość danych wymaganych do trenowania modelu ML.
W ramach tego podejścia pojawiły się zaawansowane techniki selekcji podzbiorów danych w celu przyspieszenia szkolenia poprzez zmniejszenie ilości danych wejściowych. Proces ten polega na automatycznym wybraniu określonej liczby punktów aproksymujących rozkład większego zbioru danych i wykorzystaniu jej do uczenia. Zastosowanie tego typu techniki skraca czas potrzebny do nauczenia modelu ML.
W tym poście opisujemy stosowanie zasad sztucznej inteligencji skoncentrowanych na danych Amazon SageMaker Ground Prawda, jak zaimplementować techniki selekcji podzbiorów danych za pomocą SPODNIE SZTRUKSOWE repozytorium włączone Amazon Sage Maker w celu zmniejszenia ilości danych wymaganych do nauczenia początkowego modelu oraz sposobu przeprowadzania eksperymentów przy użyciu tego podejścia Eksperymenty Amazon SageMaker.
Oparte na danych podejście do uczenia maszynowego
Zanim zagłębisz się w bardziej zaawansowane techniki skoncentrowane na danych, takie jak wybieranie podzbiorów danych, możesz ulepszyć swoje zestawy danych na wiele sposobów, stosując zestaw podstawowych zasad do procesu etykietowania danych. W tym celu Ground Truth obsługuje różne mechanizmy poprawiające spójność etykiet i jakość danych.
Spójność etykiet jest ważna dla poprawy wydajności modelu. Bez tego modele nie mogą stworzyć granicy decyzyjnej oddzielającej każdy punkt należący do różnych klas. Jednym ze sposobów zapewnienia spójności jest użycie konsolidacja adnotacji w Ground Truth, co pozwala udostępnić dany przykład wielu osobom oznaczającym i użyć zagregowanej etykiety dostarczonej jako podstawowej prawdy dla tego przykładu. Rozbieżność na etykiecie jest mierzona na podstawie wyniku ufności generowanego przez Ground Truth. W przypadku rozbieżności na etykietach należy sprawdzić, czy w instrukcjach dotyczących etykiet przekazywanych osobom zajmującym się etykietowaniem nie ma niejasności, które można usunąć. Takie podejście łagodzi skutki stronniczości poszczególnych osób etykietujących, co ma kluczowe znaczenie dla zapewnienia większej spójności etykiet.
Innym sposobem poprawy wydajności modelu poprzez skupienie się na danych jest opracowanie metod analizowania pojawiających się błędów w etykietach w celu zidentyfikowania najważniejszego podzbioru danych, które należy poprawić. możesz to zrobić dla swojego zestawu danych szkoleniowych, łącząc ręczne wysiłki obejmujące nurkowanie w przykładach z etykietami i używanie Amazon Cloud Watch dzienniki i metryki generowane przez zadania etykietowania Ground Truth. Ważne jest również, aby przyjrzeć się błędom, które model popełnia w czasie wnioskowania, aby kierować kolejną iteracją etykietowania dla naszego zbioru danych. Oprócz tych mechanizmów Amazon SageMaker Wyjaśnij pozwala naukowcom danych i inżynierom ML uruchamiać algorytmy takie jak JądroSHAP aby umożliwić im interpretację przewidywań dokonanych przez ich model. Jak wspomniano, głębsze wyjaśnienie przewidywań modelu można odnieść do początkowego procesu etykietowania, aby go ulepszyć.
Na koniec możesz rozważyć wyrzucenie hałaśliwych lub nadmiernie zbędnych przykładów. W ten sposób można skrócić czas szkolenia przez usunięcie przykładów, które nie przyczyniają się do poprawy wydajności modelu. Jednak ręczna identyfikacja użytecznego podzbioru danego zbioru danych jest trudna i czasochłonna. Zastosowanie technik selekcji podzbiorów danych opisanych w tym poście pozwala zautomatyzować ten proces zgodnie z ustalonymi ramami.
Przypadek użycia
Jak wspomniano, sztuczna inteligencja skoncentrowana na danych koncentruje się na ulepszaniu danych wejściowych modelu, a nie na architekturze samego modelu. Po zastosowaniu tych zasad podczas etykietowania danych lub inżynierii cech można nadal koncentrować się na wprowadzaniu danych do modelu, stosując wybór podzbioru danych w czasie szkolenia.
W tym poście stosujemy wybór podzbioru danych oparty na uogólnieniu w celu wydajnego i solidnego uczenia się (BŁYSK), która jest jedną z wielu technik selekcji podzbiorów danych zaimplementowanych w repozytorium CORDS, do algorytmu uczącego ResNet-18 modelu, aby zminimalizować czas potrzebny do nauczenia modelu do klasyfikacji CIFAR-10 obrazy. Poniżej przedstawiono przykładowe obrazy z odpowiednimi etykietami pobrane z zestawu danych CIFAR-10.
ResNet-18 jest często używany do zadań klasyfikacyjnych. Jest to 18-warstwowa głęboka konwolucyjna sieć neuronowa. Zbiór danych CIFAR-10 jest często używany do oceny ważności różnych technik i podejść w ML. Składa się z 60,000 32 kolorowych obrazów 32 × 10 oznaczonych w XNUMX klasach.
W poniższych sekcjach pokazujemy, w jaki sposób GLISTER może pomóc w pewnym stopniu odpowiedzieć na następujące pytanie:
Jaki procent danego zestawu danych możemy wykorzystać i nadal osiągnąć dobrą wydajność modelu podczas uczenia?
Zastosowanie GLISTER do algorytmu szkoleniowego wprowadzi ułamek jako hiperparametr do algorytmu szkoleniowego. Reprezentuje procent danego zestawu danych, którego chcesz użyć. Podobnie jak w przypadku każdego hiperparametru, znalezienie wartości dającej najlepszy wynik dla modelu i danych wymaga dostrojenia. W tym poście nie zagłębiamy się w dostrajanie hiperparametrów. Aby uzyskać więcej informacji, patrz Zoptymalizuj hiperparametry za pomocą automatycznego dostrajania modelu Amazon SageMaker.
Przeprowadzamy kilka testów za pomocą SageMaker Experiments, aby zmierzyć wpływ tego podejścia. Wyniki będą się różnić w zależności od początkowego zestawu danych, dlatego ważne jest, aby przetestować podejście z naszymi danymi w różnych rozmiarach podzbiorów.
Chociaż omawiamy użycie GLISTER na obrazach, można go również zastosować do algorytmów szkoleniowych pracujących z danymi strukturalnymi lub tabelarycznymi.
Wybór podzbioru danych
Celem wyboru podzbioru danych jest przyspieszenie procesu uczenia przy jednoczesnym zminimalizowaniu wpływu na dokładność i zwiększeniu niezawodności modelu. Mówiąc dokładniej, GLISTER-ONLINE wybiera podzbiór w miarę uczenia się modelu, próbując zmaksymalizować logarytm wiarygodności tego podzbioru danych treningowych w określonym zbiorze walidacyjnym. Optymalizacja wyboru podzbioru danych w ten sposób ogranicza zakłócenia i nierównowagę klas, które często występują w rzeczywistych zbiorach danych, i umożliwia dostosowanie strategii wyboru podzbioru w miarę uczenia się modelu.
Początkowy papier GLISTER opisuje kompromis między szybkością a dokładnością przy różnych rozmiarach podzbiorów danych, jak następuje przy użyciu a LeNet Model:
Rozmiar podzbioru | SpeedUp | Dokładność |
10% | 6x | -3% |
30% | 2.5x | -1.20% |
50% | 1.5x | -0.20% |
Aby wytrenować model, uruchamiamy a Praca szkoleniowa SageMaker przy użyciu niestandardowego skryptu szkoleniowego. Przesłaliśmy już również nasz zestaw danych obrazu do Usługa Amazon Simple Storage (Amazon S3). Podobnie jak w przypadku każdego zadania szkoleniowego SageMaker, musimy zdefiniować Estimator
obiekt. Estymator PyTorch z sagemaker.pytorch
pozwala nam na uruchomienie własnego skryptu szkoleniowego w zarządzanym kontenerze PyTorch. The inputs
zmienna przekazywana estymatorowi .fit
zawiera słownik lokalizacji S3 zbioru danych szkoleniowych i sprawdzania poprawności.
Połączenia train.py
skrypt jest uruchamiany po uruchomieniu zadania szkoleniowego. W tym skrypcie importujemy model ResNet-18 z biblioteki CORDS i przekazujemy mu liczbę klas w naszym zbiorze danych w następujący sposób:
Następnie używamy tzw gen_dataset
funkcja CORDS do tworzenia uczących, walidacyjnych i testowych zestawów danych:
Z każdego zestawu danych tworzymy równoważny program ładujący dane PyTorch:
Na koniec używamy tych modułów ładujących dane do utworzenia pliku GLISTERDataLoader
z biblioteki CORDS. Wykorzystuje implementację strategii selekcji GLISTER-ONLINE, która stosuje selekcję podzbiorów podczas aktualizacji modelu podczas szkolenia, jak omówiono wcześniej w tym poście.
Aby utworzyć obiekt, przekazujemy argumenty specyficzne dla strategii wyboru jako a DotMap
obiekt wraz z train_loader
, validation_loader
, logger
:
Połączenia GLISTERDataLoader
można teraz zastosować jako zwykły program ładujący dane do pętli szkoleniowej. Wybierze podzbiory danych do następnej partii szkoleniowej, gdy model uczy się na podstawie utraty tego modelu. Jak pokazano w powyższej tabeli, dodanie strategii wyboru podzbioru danych pozwala nam znacznie skrócić czas uczenia, nawet przy dodatkowym kroku wyboru podzbioru danych, przy niewielkim kompromisie w zakresie dokładności.
Analitycy danych i inżynierowie ML często muszą ocenić ważność podejścia, porównując je z pewnym punktem odniesienia. W następnej sekcji pokażemy, jak to zrobić.
Śledzenie eksperymentu
Możesz użyć Eksperymentów SageMaker do pomiaru ważności podejścia polegającego na wyborze podzbioru danych. Aby uzyskać więcej informacji, zobacz Eksperymenty Amazon SageMaker nowej generacji — organizuj, śledź i porównuj szkolenia z uczenia maszynowego na dużą skalę.
W naszym przypadku przeprowadzamy cztery eksperymenty: linię bazową bez stosowania selekcji podzbiorów danych i trzy inne z różnicowaniem fraction
parametry, które reprezentują rozmiar podzbioru w stosunku do całego zestawu danych. Oczywiście używając mniejszego fraction
parametr powinien skutkować skróceniem czasu uczenia, ale także niższą dokładnością modelu.
W tym poście każdy bieg treningowy jest reprezentowany jako Run
w Eksperymentach SageMaker. Wszystkie przebiegi związane z naszym eksperymentem są zgrupowane w jednym Experiment
obiekt. Przebiegi można dołączyć do typowego eksperymentu podczas tworzenia pliku Estimator
z SDK. Zobacz następujący kod:
W ramach niestandardowego skryptu treningowego możesz zbierać metryki biegu za pomocą load_run
:
Następnie, używając obiektu run zwróconego przez poprzednią operację, możesz zbierać punkty danych na epokę, wywołując run.log_metric(name, value, step)
oraz podanie nazwy metryki, wartości i aktualnego numeru epoki.
Aby zmierzyć ważność naszego podejścia, zbieramy metryki odpowiadające utracie treningu, dokładności szkolenia, utracie walidacji, dokładności walidacji i czasowi do ukończenia epoki. Następnie, po uruchomieniu zadań szkoleniowych, możemy zapoznać się z wynikami naszego eksperymentu in Studio Amazon SageMaker lub za pośrednictwem zestawu SageMaker Experiments SDK.
Aby wyświetlić dokładność sprawdzania poprawności w Studio, wybierz Analizować na eksperymencie Działa strona.
Dodaj wykres, ustaw właściwości wykresu i wybierz Stwórz. Jak pokazano na poniższym zrzucie ekranu, zobaczysz wykres dokładności walidacji w każdej epoce dla wszystkich przebiegów.
SDK umożliwia również pobieranie informacji związanych z eksperymentem w postaci ramki danych Pandas:
Opcjonalnie zadania szkoleniowe można sortować. Moglibyśmy dodać np "metrics.validation:accuracy.max"
jako wartość tzw sort_by
parametr przekazany do ExperimentAnalytics
aby zwrócić wynik uporządkowany według dokładności walidacji.
Zgodnie z oczekiwaniami nasze eksperymenty pokazują, że zastosowanie GLISTER i wyboru podzbioru danych do algorytmu szkoleniowego skraca czas szkolenia. Podczas uruchamiania naszego podstawowego algorytmu szkoleniowego mediana czasu do ukończenia jednej epoki wynosi około 27 sekund. Natomiast zastosowanie GLISTER do wybrania podzbioru odpowiadającego 50%, 30% i 10% całego zbioru danych skutkuje czasem ukończenia epoki wynoszącym odpowiednio około 13, 8.5 i 2.75 sekundy w przypadku instancji ml.p3.2xlarge .
Obserwujemy również stosunkowo minimalny wpływ na dokładność walidacji, zwłaszcza przy użyciu podzbiorów danych wynoszących 50%. Po trenowaniu przez 100 epok linia bazowa zapewnia dokładność walidacji na poziomie 92.72%. Natomiast zastosowanie GLISTER do wybrania podzbioru odpowiadającego 50%, 30% i 10% całego zbioru danych skutkuje dokładnością walidacji odpowiednio 91.42%, 89.76% i 82.82%.
Wnioski
SageMaker Ground Truth i SageMaker Experiments umożliwiają skoncentrowane na danych podejście do uczenia maszynowego, umożliwiając naukowcom danych i inżynierom ML tworzenie bardziej spójnych zestawów danych i śledzenie wpływu bardziej zaawansowanych technik podczas ich wdrażania w fazie budowania modelu. Wdrożenie podejścia skoncentrowanego na danych w ML pozwala zmniejszyć ilość danych wymaganych przez model i poprawić jego niezawodność.
Wypróbuj i daj nam znać, co myślisz w komentarzach.
O autorach
Mikołaj Bernier jest architektem rozwiązań, członkiem kanadyjskiego zespołu sektora publicznego w AWS. Obecnie prowadzi studia magisterskie z obszarem badawczym w zakresie głębokiego uczenia się i posiada pięć certyfikatów AWS, w tym ML Specialty Certification. Nicolas z pasją pomaga klientom pogłębiać wiedzę na temat AWS, współpracując z nimi, aby przełożyć ich wyzwania biznesowe na rozwiązania techniczne.
Givanildo Alvesa jest architektem prototypów w zespole prototypowania i inżynierii chmury w Amazon Web Services, pomagając klientom wprowadzać innowacje i przyspieszać, pokazując sztukę możliwości w AWS, mając już na swoim koncie kilka prototypów opartych na sztucznej inteligencji. Ma za sobą długą karierę w inżynierii oprogramowania, a wcześniej pracował jako inżynier rozwoju oprogramowania w Amazon.com.br.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- Platoblockchain. Web3 Inteligencja Metaverse. Wzmocniona wiedza. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/machine-learning/use-a-data-centric-approach-to-minimize-the-amount-of-data-required-to-train-amazon-sagemaker-models/
- :Jest
- $W GÓRĘ
- 000
- 1
- 10
- 100
- 7
- 8
- a
- O nas
- przyśpieszyć
- precyzja
- Osiągać
- w poprzek
- przystosować
- dodatek
- Dodatkowy
- zaawansowany
- Po
- przed
- AI
- algorytm
- Algorytmy
- Wszystkie kategorie
- Pozwalać
- pozwala
- już
- Amazonka
- Amazon Sage Maker
- Amazon Web Services
- Amazon.com
- Dwuznaczność
- ilość
- analityka
- w czasie rzeczywistym sprawiają,
- i
- odpowiedź
- stosowany
- Aplikuj
- Stosowanie
- podejście
- awanse
- architektura
- SĄ
- POWIERZCHNIA
- argumenty
- na około
- Sztuka
- sztuczny
- sztuczna inteligencja
- AS
- At
- próbując
- Uwaga
- zautomatyzować
- automatycznie
- automatycznie
- AWS
- z powrotem
- na podstawie
- Baseline
- BE
- BEST
- stronniczość
- Budowanie
- biznes
- by
- powołanie
- CAN
- Kanadyjczyk
- Kariera
- walizka
- centralny
- Certyfikacja
- certyfikaty
- wyzwania
- Wykres
- Dodaj
- klasa
- Klasy
- klasyfikacja
- Klasyfikuj
- klientów
- Chmura
- kod
- zbierać
- kolor
- COM
- połączenie
- jak
- komentarze
- wspólny
- stosunkowo
- porównać
- porównanie
- kompletny
- w składzie
- prowadzenia
- pewność siebie
- Rozważać
- zgodny
- konsolidacja
- Pojemnik
- zawiera
- kontynuować
- kontrast
- przyczynić się
- Odpowiedni
- mógłby
- Stwórz
- Tworzenie
- Aktualny
- Obecnie
- zwyczaj
- Klientów
- dane
- punkty danych
- zbiory danych
- decyzja
- głęboko
- głęboka nauka
- Pogłębiać
- głębiej
- definiowanie
- Stopień
- wykazać
- wykazać
- W zależności
- głębokość
- opisać
- opisane
- rozwijanie
- oprogramowania
- różne
- różni się
- trudny
- dyskutować
- omówione
- 分配
- Rozbieżność
- robi
- nie
- napęd
- podczas
- każdy
- Wcześniej
- ruchomości
- wydajny
- starania
- powstanie
- umożliwiać
- inżynier
- Inżynieria
- Inżynierowie
- zapewnić
- epoka
- epoki
- Równoważny
- Błędy
- szczególnie
- ustanowiony
- oceniać
- Parzyste
- Każdy
- przykład
- przykłady
- spodziewany
- eksperyment
- wyjaśnienie
- Cecha
- znalezieniu
- Skupiać
- koncentruje
- skupienie
- następnie
- następujący
- następujący sposób
- W razie zamówieenia projektu
- znaleziono
- frakcja
- Ramy
- od
- funkcjonować
- wygenerowane
- generacja
- dany
- Go
- dobry
- Ziemia
- Have
- mający
- pomoc
- pomoc
- posiada
- W jaki sposób
- How To
- Jednak
- HTML
- http
- HTTPS
- Dostrajanie hiperparametrów
- zidentyfikować
- identyfikacja
- obraz
- zdjęcia
- brak równowagi
- Rezultat
- wdrożenia
- realizacja
- realizowane
- wykonawczych
- importować
- ważny
- podnieść
- ulepszony
- poprawy
- in
- Włącznie z
- wzrastający
- indywidualny
- Informacja
- początkowy
- wprowadzać innowacje
- wkład
- przykład
- instrukcje
- Inteligencja
- przedstawiać
- IT
- iteracja
- JEGO
- samo
- Praca
- Oferty pracy
- Wiedzieć
- wiedza
- Etykieta
- etykietowanie
- Etykiety
- większe
- uruchomiona
- nauka
- Doprowadziło
- Biblioteka
- lubić
- Lista
- mało
- lokalizacja
- długo
- Popatrz
- od
- maszyna
- uczenie maszynowe
- zrobiony
- WYKONUJE
- Dokonywanie
- zarządzane
- podręcznik
- ręcznie
- wiele
- mistrzowski
- max
- Maksymalizuj
- zmierzyć
- wzmiankowany
- metody
- metryczny
- Metryka
- minimalny
- minimalizowanie
- ML
- model
- modele
- jeszcze
- większość
- wielokrotność
- Nazwa
- Potrzebować
- sieć
- sieci neuronowe
- Następny
- Nicolas
- Hałas
- numer
- przedmiot
- obserwować
- of
- on
- ONE
- działanie
- optymalizacji
- Pozostałe
- ogólny
- własny
- pakiet
- strona
- pandy
- parametr
- parametry
- część
- minęło
- namiętny
- procent
- wykonać
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- faza
- plato
- Analiza danych Platona
- PlatoDane
- punkt
- zwrotnica
- możliwy
- Post
- Przewidywania
- poprzedni
- poprzednio
- Zasady
- wygląda tak
- produkować
- niska zabudowa
- prototypy
- prototypowanie
- pod warunkiem,
- publiczny
- cel
- płomień
- jakość
- ilość
- pytanie
- raczej
- Prawdziwy świat
- zmniejszyć
- Zredukowany
- zmniejsza
- redukcja
- region
- regularny
- związane z
- Usunięto
- usuwanie
- składnica
- reprezentowane
- reprezentuje
- wymagany
- wymagania
- Wymaga
- Badania naukowe
- Badacze
- osób
- dalsze
- Efekt
- powrót
- krzepki
- krzepkość
- run
- bieganie
- sagemaker
- Naukowcy
- Sdk
- sekund
- Sekcja
- działy
- sektor
- wybierając
- wybór
- służyć
- Usługi
- Sesja
- zestaw
- kilka
- powinien
- pokazać
- pokazane
- znacznie
- Prosty
- pojedynczy
- Rozmiar
- rozmiary
- mniejszy
- So
- Tworzenie
- rozwoju oprogramowania
- Inżynieria oprogramowania
- Rozwiązania
- kilka
- Źródło
- Specjalność
- specyficzny
- swoiście
- prędkość
- Ewolucja krok po kroku
- Nadal
- przechowywanie
- Strategia
- zbudowany
- studio
- dostarczanie
- podpory
- stół
- trwa
- zadania
- zespół
- Techniczny
- Techniki
- test
- Testy
- że
- Połączenia
- ich
- Im
- Te
- trzy
- Przez
- czas
- czasy
- do
- pochodnia
- Toronto
- śledzić
- Pociąg
- Trening
- szkolenia
- tłumaczyć
- dla
- zasadniczy
- Aktualizacja
- przesłanych
- us
- posługiwać się
- uprawomocnienie
- wartość
- różnorodny
- Zobacz i wysłuchaj
- Droga..
- sposoby
- sieć
- usługi internetowe
- DOBRZE
- Co
- który
- Podczas
- będzie
- w
- w ciągu
- bez
- pracował
- pracujący
- You
- Twój
- zefirnet