W dzisiejszym szybko rozwijającym się krajobrazie sztucznej inteligencji modele głębokiego uczenia się znalazły się w czołówce innowacji, obejmując aplikacje obejmujące widzenie komputerowe (CV), przetwarzanie języka naturalnego (NLP) i systemy rekomendacji. Jednak rosnące koszty związane ze szkoleniem i dopracowywaniem tych modeli stanowią wyzwanie dla przedsiębiorstw. Koszt ten wynika przede wszystkim z samej ilości danych wykorzystywanych w modelach uczenia głębokiego. Obecnie duże modele są często trenowane na terabajtach danych, a ich uczenie może zająć tygodnie, nawet przy użyciu wydajnego procesora graficznego lub Szkolenie AWSsprzęt oparty na. Zazwyczaj klienci polegają na technikach i optymalizacjach, które poprawiają wydajność pętli szkoleniowej modelu, takich jak zoptymalizowane jądra lub warstwy, uczenie o mieszanej precyzji lub funkcje, takie jak Amazon Sage Maker rozproszone biblioteki szkoleniowe. Jednak obecnie mniej uwagi poświęca się efektywności samych danych szkoleniowych. Nie wszystkie dane w równym stopniu przyczyniają się do procesu uczenia się podczas uczenia modelu: znaczna część zasobów obliczeniowych może zostać przeznaczona na przetwarzanie prostych przykładów, które nie wpływają znacząco na ogólną dokładność modelu.
Klienci tradycyjnie polegali na technikach wstępnego przetwarzania, takich jak próbkowanie w górę lub w dół oraz deduplikacja, aby udoskonalić i poprawić jakość informacji zawartych w ich danych. Techniki te mogą być pomocne, ale często są czasochłonne, wymagają specjalistycznego doświadczenia w zakresie analizy danych i czasami mogą być bardziej sztuką niż nauką. Klienci często polegają również na wybranych zbiorach danych, takich jak Wyrafinowana sieć, w celu poprawy wydajności swoich modeli; jednak te zbiory danych nie zawsze są w pełni open source i często mają bardziej ogólny cel i nie są powiązane z konkretnym przypadkiem użycia.
Jak inaczej można przezwyciężyć tę nieefektywność związaną z próbkami danych o niskiej zawartości informacji podczas uczenia modelu?
Z radością ogłaszamy publiczną wersję zapoznawczą inteligentnego przesiewania, nowej funkcji programu SageMaker, która może obniżyć koszty uczenia modeli głębokiego uczenia się nawet o 35%. Inteligentne przesiewanie to nowa technika zwiększająca wydajność danych, która aktywnie analizuje próbki danych podczas szkolenia i odfiltrowuje próbki, które dostarczają mniej informacji dla modelu. Dzięki uczeniu mniejszego podzbioru danych i tylko tych próbek, które w największym stopniu przyczyniają się do zbieżności modelu, całkowite szkolenie i koszty zmniejszają się przy minimalnym wpływie na dokładność lub bez niego. Ponadto, ponieważ funkcja działa online podczas uczenia modelu, inteligentne przesiewanie nie wymaga zmian w danych wejściowych ani w potoku szkoleniowym.
W tym poście omawiamy następujące tematy:
- Nowa funkcja inteligentnego przesiewania w SageMaker i sposób jej działania
- Jak korzystać z inteligentnego przesiewania w przypadku obciążeń szkoleniowych PyTorch
Możesz również sprawdzić nasze dokumentacja i przykładowe zeszyty aby uzyskać dodatkowe zasoby dotyczące rozpoczęcia inteligentnego przesiewania.
Jak działa inteligentne przesiewanie SageMaker
Rozpoczynamy ten post od przeglądu tego, jak funkcja inteligentnego przesiewania może przyspieszyć szkolenie modeli w SageMaker.
Zadaniem inteligentnego przesiewania jest przesiewanie danych szkoleniowych podczas procesu uczenia i dostarczanie do modelu wyłącznie próbek zawierających więcej informacji. Podczas typowego treningu z PyTorch dane są iteracyjnie wysyłane partiami do pętli treningowej i do urządzeń akcelerujących (na przykład procesorów graficznych lub chipów Trainium) przez Program ładujący dane PyTorch. Inteligentne przesiewanie jest wdrażane na tym etapie ładowania danych i dlatego jest niezależne od wstępnego przetwarzania danych w potoku szkoleniowym.
Inteligentne przesiewanie wykorzystuje Twój model i określoną przez użytkownika funkcję utraty, aby wykonać oceniające przejście do przodu każdej próbki danych podczas jej ładowania. Próbki o dużych stratach będą miały istotny wpływ na szkolenie modelu i dlatego są wykorzystywane w szkoleniu; próbki danych, które charakteryzują się stosunkowo niskimi stratami, są odkładane i wykluczane ze szkolenia.
Kluczowym elementem inteligentnego przesiewania jest proporcja danych, które należy wykluczyć: na przykład ustawiając proporcję na 33% (wartość beta = 0.5), próbki w przybliżeniu w dolnej jednej trzeciej utraty każdej partii zostaną wykluczone z uczenia. Kiedy zostanie zidentyfikowana wystarczająca liczba próbek o wysokich stratach, aby ukończyć partię, dane są przesyłane w pełnej pętli szkoleniowej, a model uczy się i trenuje normalnie. Nie musisz wprowadzać żadnych zmian w pętli treningowej, gdy włączone jest inteligentne przesiewanie.
Poniższy diagram ilustruje ten przepływ pracy.
Uwzględniając tylko podzbiór danych szkoleniowych, inteligentne przesiewanie skraca czas i obliczenia potrzebne do uczenia modelu. W naszych testach osiągnęliśmy aż o prawie 40% redukcję całkowitego czasu i kosztów szkolenia. Dzięki inteligentnemu przesiewaniu danych wpływ na dokładność modelu może być minimalny lub żaden, ponieważ wykluczone próbki powodowały stosunkowo niewielkie straty dla modelu. W poniższej tabeli przedstawiamy zestaw wyników eksperymentalnych pokazujących poprawę wydajności możliwą dzięki inteligentnemu przesiewaniu SageMaker.
W tabeli kolumna % zaakceptowanych wskazuje proporcję danych uwzględnionych i wykorzystanych w pętli szkoleniowej. Zwiększanie tego regulowanego parametru zmniejsza koszt (jak pokazano w kolumnie % oszczędności IMR), ale może również wpływać na dokładność. Odpowiednie ustawienie % zaakceptowanych jest funkcją zbioru danych i modelu; należy poeksperymentować i dostroić ten parametr, aby osiągnąć najlepszą równowagę pomiędzy obniżonymi kosztami i wpływem na dokładność.
Omówienie rozwiązania
W poniższych sekcjach omówimy praktyczny przykład umożliwienia inteligentnego przesiewania za pomocą zadania szkoleniowego PyTorch w SageMaker. Jeśli chcesz szybko zacząć, możesz przejść do Przykłady PyTorch lub PyTorch Lightning.
Wymagania wstępne
Zakładamy, że wiesz już, jak wytrenować model za pomocą PyTorch lub PyTorch Lightning, używając SageMaker Python SDK i klasy Estimator, używając do szkolenia SageMaker Deep Learning Containers. Jeśli nie, patrz Korzystanie z pakietu SageMaker Python SDK przed kontynuowaniem.
Zacznij korzystać z inteligentnego przesiewania SageMaker
W typowym zadaniu szkoleniowym PyTorch inicjujesz szkolenie PyTorch Ładowarka danych ze zbiorem danych i innymi wymaganymi parametrami, co zapewnia partie wejściowe w miarę postępu szkolenia. Aby umożliwić inteligentne przesiewanie danych treningowych, użyjesz nowego DataLoader
klasa: smart_sifting.dataloader.sift_dataloader.SiftingDataloader
. Ta klasa jest używana jako opakowanie na istniejącym PyTorch DataLoader
i zamiast tego zostanie użyty proces szkolenia SiftingDataloader
aby uzyskać partie wejściowe. The SiftingDataLoader
pobiera partię wejściową z oryginalnego PyTorch DataLoader
, ocenia znaczenie próbek w partii i konstruuje przesianą partię z próbek o dużej stracie, które następnie przekazuje się do etapu uczenia. Opakowanie wygląda jak następujący kod:
Połączenia SiftingDataloader
wymaga dodatkowych parametrów do analizy danych treningowych, które można określić za pomocą opcji sift_config
parametr. Najpierw utwórz smart_sifting.sift_config.sift_configs.RelativeProbabilisticSiftConfig
obiekt. Obiekt ten zawiera konfigurowalne i wymagane beta_value
i loss_history_length
, które odpowiednio definiują proporcję próbek, które należy zachować, oraz okno próbek, które należy uwzględnić przy ocenie straty względnej. Należy pamiętać, że ponieważ inteligentne przesiewanie wykorzystuje Twój model do określenia ważności próbki, użycie modelu z całkowicie losowymi wagami może mieć negatywne konsekwencje. Zamiast tego możesz użyć loss_based_sift_config
oraz sift_delay
opóźnić proces przesiewania do czasu, aż wagi parametrów w modelu zostaną zaktualizowane poza wartościami losowymi. (Więcej szczegółów znajdziesz w Zastosuj inteligentne przesiewanie do swojego skryptu szkoleniowego.) W poniższym kodzie definiujemy sift_config
i określić beta_value
i loss_history_length
, a także opóźnić rozpoczęcie przesiewania za pomocą loss_based_sift_config
:
Następnie musisz także dołączyć a loss_impl
parametr w SiftingDataloader
obiekt. Inteligentne przesiewanie działa na poziomie indywidualnej próbki i kluczowy jest dostęp do metody obliczania strat, aby określić znaczenie próbki. Należy zaimplementować metodę przesiewania strat, która zwraca tensor nx1, który przechowuje wartości strat n próbek. Zwykle określasz tę samą metodę straty, z której korzystasz model
podczas treningu. Na koniec umieść wskaźnik do swojego modelu w pliku SiftingDataloader
obiekt, który służy do oceny próbek przed włączeniem ich do szkolenia. Zobacz następujący kod:
Poniższy kod przedstawia pełny przykład włączania inteligentnego przesiewania w ramach istniejącego zadania szkoleniowego BERT:
Wnioski
W tym poście omówiliśmy publiczną wersję zapoznawczą inteligentnego przesiewania, nowej funkcji SageMaker, która może obniżyć koszty szkolenia w zakresie modeli głębokiego uczenia się nawet o 35%. Ta funkcja poprawia wydajność danych podczas uczenia, które odfiltrowuje próbki danych o mniejszej zawartości informacji. Uwzględniając tylko te dane, które mają największy wpływ na zbieżność modelu, można znacznie skrócić czas i koszty szkolenia, zachowując jednocześnie dokładność. Co więcej, płynnie integruje się z istniejącymi procesami, bez konieczności wprowadzania zmian w danych lub procesie szkoleniowym.
Aby głębiej poznać inteligentne przesiewanie SageMaker, sprawdzić, jak to działa i wdrożyć je za pomocą obciążeń szkoleniowych PyTorch, zapoznaj się z naszym dokumentacja i przykładowe zeszyty i zacznij korzystać z tej nowej możliwości.
O autorach
Roberta Van Dusena jest starszym menedżerem produktu w Amazon SageMaker. Prowadzi frameworki, kompilatory i techniki optymalizacji do szkoleń głębokiego uczenia się.
K Lokesh Kumar Reddy jest starszym inżynierem w zespole Amazon Applied AI. Koncentruje się na skutecznych technikach szkoleniowych ML i budowaniu narzędzi usprawniających konwersacyjne systemy AI. W wolnym czasie lubi szukać nowych kultur, nowych doświadczeń i być na bieżąco z najnowszymi trendami technologicznymi.
Abhiszek Dan jest starszym menedżerem ds. deweloperów w zespole Amazon Applied AI i pracuje nad systemami uczenia maszynowego i konwersacyjnymi systemami AI. Pasjonuje się technologiami sztucznej inteligencji i działa na styku nauki i inżynierii, rozwijając możliwości systemów sztucznej inteligencji w celu tworzenia bardziej intuicyjnych i płynnych interakcji człowiek-komputer. Obecnie tworzy aplikacje na dużych modelach językowych, aby zwiększyć wydajność i ulepszyć CX dla Amazon.
- Dystrybucja treści i PR oparta na SEO. Uzyskaj wzmocnienie już dziś.
- PlatoData.Network Pionowe generatywne AI. Wzmocnij się. Dostęp tutaj.
- PlatoAiStream. Inteligencja Web3. Wiedza wzmocniona. Dostęp tutaj.
- PlatonESG. Węgiel Czysta technologia, Energia, Środowisko, Słoneczny, Gospodarowanie odpadami. Dostęp tutaj.
- Platon Zdrowie. Inteligencja w zakresie biotechnologii i badań klinicznych. Dostęp tutaj.
- Źródło: https://aws.amazon.com/blogs/machine-learning/accelerate-deep-learning-model-training-up-to-35-with-amazon-sagemaker-smart-sifting/
- :Jest
- :nie
- $W GÓRĘ
- 100
- 125
- 13
- 14
- 23
- 25
- 35%
- 7
- a
- O nas
- przyśpieszyć
- akcelerator
- zaakceptowany
- dostęp
- precyzja
- Osiągać
- osiągnięty
- aktywnie
- Dodaj
- Dodatkowy
- do tego
- postęp
- oddziaływać
- AI
- Systemy SI
- Wszystkie kategorie
- już
- również
- zmiany
- zawsze
- Amazonka
- Amazon Sage Maker
- Amazon Web Services
- an
- w czasie rzeczywistym sprawiają,
- ćwiczenie
- i
- Ogłosić
- każdy
- aplikacje
- stosowany
- Zastosowana sztuczna inteligencja
- właściwy
- w przybliżeniu
- SĄ
- Sztuka
- sztuczny
- sztuczna inteligencja
- AS
- na bok
- powiązany
- założyć
- At
- AWS
- Bilans
- BE
- bo
- być
- zanim
- rozpocząć
- BEST
- pomiędzy
- Poza
- Dolny
- Budowanie
- ale
- by
- obliczać
- obliczenie
- CAN
- możliwości
- zdolność
- walizka
- wyzwanie
- Zmiany
- ZOBACZ
- Frytki
- klasa
- kod
- Kolumna
- kompletny
- całkowicie
- obliczenia
- obliczeniowy
- obliczać
- komputer
- Wizja komputerowa
- konstrukty
- czasochłonne
- Pojemniki
- kontynuując
- przyczynić się
- przyczynia się
- Konwergencja
- konwersacyjny
- konwersacyjna sztuczna inteligencja
- Koszty:
- Koszty:
- Stwórz
- istotny
- kurator
- Obecnie
- Klientów
- CX
- dane
- nauka danych
- zbiory danych
- Data
- zmniejsza
- głęboko
- głęboka nauka
- głębiej
- określić
- definiowanie
- opóźnienie
- wykazać
- demonstrowanie
- detale
- Ustalać
- dev
- urządzenie
- urządzenia
- dyskutować
- dystrybuowane
- szkolenia rozproszone
- nurkować
- do
- Nie
- nie
- napęd
- napędzany
- podczas
- każdy
- efektywność
- wydajny
- więcej
- umożliwiać
- włączony
- umożliwiając
- inżynier
- Inżynieria
- dość
- przedsiębiorstwa
- Równie
- oceniać
- oceny
- Parzyste
- ewoluuje
- przykład
- przykłady
- podniecony
- wyłączony
- Przede wszystkim system został opracowany
- doświadczenie
- Doświadczenia
- eksperyment
- eksperymentalny
- odkryj
- zbadane
- Cecha
- Korzyści
- filtry
- W końcu
- i terminów, a
- Skupiać
- koncentruje
- następujący
- W razie zamówieenia projektu
- czoło
- Naprzód
- znaleziono
- Ramy
- od
- pełny
- w pełni
- funkcjonować
- Ogólne
- otrzymać
- GPU
- GPU
- sprzęt komputerowy
- Have
- he
- pomoc
- jego
- posiada
- W jaki sposób
- How To
- Jednak
- HTML
- HTTPS
- zidentyfikowane
- if
- ilustruje
- Rezultat
- wpływowy
- wdrożenia
- realizowane
- implikacje
- importować
- znaczenie
- podnieść
- poprawa
- ulepszenia
- poprawia
- in
- zawierać
- włączony
- Włącznie z
- wzrastający
- niezależny
- wskazuje
- indywidualny
- nieskuteczność
- Informacja
- informacyjny
- Innowacja
- wkład
- zamiast
- Integruje się
- Inteligencja
- Interakcje
- skrzyżowanie
- najnowszych
- intuicyjny
- IT
- samo
- Praca
- jpg
- skok
- Trzymać
- Klawisz
- Wiedzieć
- Kumar
- krajobraz
- język
- duży
- firmy
- nioski
- Wyprowadzenia
- nauka
- uczy się
- mniej
- poziom
- biblioteki
- błyskawica
- lubić
- załadunek
- logika
- WYGLĄD
- od
- maszyna
- uczenie maszynowe
- Utrzymywanie
- robić
- kierownik
- materialnie
- Może..
- metoda
- minimalny
- mieszany
- ML
- model
- modele
- Moduł
- jeszcze
- większość
- musi
- Naturalny
- Przetwarzanie języka naturalnego
- prawie
- Potrzebować
- potrzebne
- ujemny
- Nowości
- nlp
- Nie
- żaden
- normalnie
- noty
- przedmiot
- of
- często
- on
- Online
- tylko
- koncepcja
- open source
- działa
- optymalizacja
- zoptymalizowane
- or
- oryginalny
- Inne
- ludzkiej,
- na zewnątrz
- Wyjścia
- ogólny
- Przezwyciężać
- przegląd
- parametr
- parametry
- przechodzić
- minęło
- namiętny
- dla
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- rurociąg
- plato
- Analiza danych Platona
- PlatoDane
- stwarza
- możliwy
- Post
- mocny
- Praktyczny
- Detaliczność
- Podgląd
- głównie
- wygląda tak
- procesów
- przetwarzanie
- Produkt
- product manager
- odsetek
- zapewnia
- publiczny
- cel
- Python
- płomień
- jakość
- szybko
- przypadkowy
- szybko
- Rekomendacja
- zmniejszyć
- Zredukowany
- zmniejsza
- redukcja
- odnosić się
- oczyścić
- związane z
- względny
- stosunkowo
- polegać
- wymagać
- wymagany
- Wymaga
- Zasoby
- odpowiednio
- REST
- Efekt
- powrót
- powraca
- sagemaker
- taki sam
- Oszczędności
- nauka
- Sdk
- bezszwowy
- płynnie
- działy
- widzieć
- poszukuje
- SAMEGO SIEBIE
- senior
- wysłany
- Usługi
- zestaw
- ustawienie
- powinien
- Targi
- Przesiać
- znaczący
- znacznie
- Prosty
- mniejszy
- mądry
- kilka
- czasami
- Źródło
- napięcie
- wyspecjalizowanym
- specyficzny
- spędził
- STAGE
- początek
- rozpoczęty
- przebywający
- Ewolucja krok po kroku
- w zasadzie
- taki
- systemy
- stół
- Brać
- Zadanie
- zespół
- technika
- Techniki
- Technologies
- Technologia
- Testy
- niż
- że
- Połączenia
- Informacje
- ich
- sami
- następnie
- Tam.
- w związku z tym
- Te
- one
- Trzeci
- to
- Przez
- czas
- do
- już dziś
- dzisiaj
- narzędzia
- Top
- tematy
- pochodnia
- Kwota produktów:
- tradycyjnie
- Pociąg
- przeszkolony
- Trening
- pociągi
- Trendy
- melodia
- typowy
- zazwyczaj
- aż do
- zaktualizowane
- Dane upstream
- posługiwać się
- przypadek użycia
- używany
- zastosowania
- za pomocą
- Wartości
- przez
- wizja
- Tom
- spacer
- chcieć
- we
- sieć
- usługi internetowe
- tygodni
- DOBRZE
- były
- jeśli chodzi o komunikację i motywację
- który
- Podczas
- będzie
- okno
- w
- bez
- workflow
- działa
- You
- Twój
- zefirnet