Przyspieszenie szkolenia sieci neuronowych na dużą skalę na procesorach z ThirdAI i AWS Graviton | Usługi internetowe Amazona

Przyspieszenie szkolenia sieci neuronowych na dużą skalę na procesorach z ThirdAI i AWS Graviton | Usługi internetowe Amazona

Ten wpis gościnny napisali Vihan Lakshman, Tharun Medini i Anshumali Shrivastava z ThirdAI.

Głębokie uczenie się na dużą skalę przyniosło ostatnio rewolucyjne postępy w wielu dziedzinach. Chociaż ten oszałamiający postęp w dziedzinie sztucznej inteligencji pozostaje niezwykły, koszty finansowe i zużycie energii wymagane do szkolenia tych modeli okazały się krytycznym wąskim gardłem ze względu na zapotrzebowanie na specjalistyczny sprzęt, taki jak procesory graficzne. Tradycyjnie nawet skromne modele neuronowe wymagały kosztownych akceleratorów sprzętowych do celów szkoleniowych, co ogranicza liczbę organizacji posiadających środki finansowe umożliwiające pełne wykorzystanie tej technologii.

Założony w 2021 roku ThirdAI Corp. to startup, którego misją jest demokratyzacja technologii sztucznej inteligencji poprzez innowacje algorytmiczne i programowe, które zasadniczo zmieniają ekonomikę głębokiego uczenia się. Opracowaliśmy rzadki silnik głębokiego uczenia się, znany jako BOLT, który został specjalnie zaprojektowany do szkolenia i wdrażania modeli na standardowym sprzęcie z procesorem, w przeciwieństwie do kosztownych i energochłonnych akceleratorów, takich jak procesory graficzne. Wielu naszych klientów tak ma zgłosiło duże zadowolenie ze zdolnością ThirdAI do trenowania i wdrażania modeli głębokiego uczenia się w przypadku krytycznych problemów biznesowych w opłacalnej infrastrukturze procesorowej.

W tym poście badamy potencjał procesora AWS Graviton3 w zakresie przyspieszania uczenia sieci neuronowej dla unikalnego silnika głębokiego uczenia się opartego na procesorze ThirdAI.

Zalety wydajnych procesorów

W ThirdAI osiągamy te przełomy w wydajnym szkoleniu sieci neuronowych na procesorach dzięki zastrzeżonym dynamicznym algorytmom rzadkim, które aktywują tylko podzbiór neuronów dla danego sygnału wejściowego (patrz poniższy rysunek), eliminując w ten sposób potrzebę wykonywania pełnych, gęstych obliczeń. W przeciwieństwie do innych podejść do uczenia rzadkich sieci neuronowych, korzysta z nich ThirdAI hashowanie zależne od lokalizacji aby dynamicznie wybierać neurony dla danego wejścia, jak pokazano pogrubionymi liniami poniżej. W niektórych przypadkach zaobserwowaliśmy nawet, że nasz rzadkie modele oparte na procesorach trenuj szybciej niż porównywalna gęsta architektura na procesorach graficznych.

Gęsta architektura neuronowa z pogrubionymi liniami pokazującymi, które neurony zostały wybrane

Biorąc pod uwagę, że wielu naszych docelowych klientów działa w chmurze — a wśród nich większość korzysta z AWS — z radością wypróbowaliśmy procesor AWS Graviton3, aby sprawdzić, czy imponująca poprawa stosunku ceny do wydajności, jaką zapewnia krzemowa innowacja Amazona, przełoży się na nasze wyjątkowe obciążenie pracą uczenia rzadkich sieci neuronowych, zapewniając w ten sposób dalsze oszczędności klientom. Chociaż zarówno społeczność badawcza, jak i zespół AWS Graviton osiągnęły ekscytujące postępy w przyspieszaniu Wnioskowanie o sieci neuronowej jeśli chodzi o instancje procesorów, według naszej wiedzy w ThirdAI jesteśmy pierwszymi, którzy poważnie badają, w jaki sposób efektywnie szkolić modele neuronowe na procesorach.

Jak pokazują nasze wyniki, zaobserwowaliśmy znaczne przyspieszenie uczenia się z AWS Graviton3 w porównaniu z porównywalnymi instancjami Intel i NVIDIA w kilku reprezentatywnych obciążeniach modelowania.

Rodzaje instancji

Do naszej oceny wzięliśmy pod uwagę dwie porównywalne instancje procesora AWS: maszynę c6i.8xlarge napędzaną procesorem Intel Ice Lake i c7g.8xlarge napędzaną AWS Graviton3. W poniższej tabeli podsumowano szczegóły każdego wystąpienia.

Instancja procesor wirtualny RAM (GB) Procesor Cena na żądanie (us-east-1)
c7g.8xduży 32 64 Grawiton AWS3 $ 1.1562 / hr
c6i.8xduży 32 64 Lodowe jezioro Intel $ 1.36 / hr
g5g.8xlarge (GPU) 32 64 z 16 GB pamięci graficznej Procesory AWS Graviton2 z 1 procesorem graficznym NVIDIA T4G $ 1.3720 / hr

Ocena 1: Klasyfikacja ekstremalna

W naszej pierwszej ewaluacji skupiamy się na problemie ekstremalnej klasyfikacji wieloetykietowej (XMC), coraz popularniejszego paradygmatu uczenia maszynowego (ML) mającego szereg praktycznych zastosowań w wyszukiwaniu i rekomendacjach (m.in. Amazonka). W naszej ocenie skupiamy się na opinii publicznej Zadanie rekomendacji produktów Amazon-670K, który na podstawie produktu wejściowego identyfikuje podobne produkty z kolekcji ponad 670,000 XNUMX pozycji.

W tym eksperymencie porównujemy silnik BOLT firmy ThirdAI z TensorFlow 2.11 i PyTorch 2.0 na wyżej wymienionych urządzeniach: Intel Ice Lake, AWS Graviton3 i procesor graficzny NVIDIA T4G. Do naszych eksperymentów na Intel i AWS Graviton używamy AWS Deep Learning AMI (Ubuntu 18.04) w wersji 59.0. Do oceny procesora graficznego używamy pliku Zoptymalizowany pod kątem procesora graficznego NVIDIA Arm64 AMI, dostępne za pośrednictwem AWS Marketplace. Do tej oceny używamy Architektura modelu SLIDE, który osiąga zarówno wydajność konkurencyjną w tym ekstremalnym zadaniu klasyfikacyjnym, jak i wysoką wydajność treningową na procesorach. Do naszych porównań TensorFlow i PyTorch wdrażamy analogiczną wersję architektury wielowarstwowego perceptronu (MLP) SLIDE z mnożeniami gęstych macierzy. Trenujemy każdy model przez pięć epok (pełne przejścia przez zbiór danych szkoleniowych) ze stałym rozmiarem partii wynoszącym 256 i szybkością uczenia się wynoszącą 0.001. Zaobserwowaliśmy, że wszystkie modele osiągnęły tę samą dokładność testu wynoszącą 33.6%.

Poniższy wykres porównuje czas szkolenia BOLT firmy ThirdAI z TensorFlow 2.11 i PyTorch 2.0 w teście porównawczym klasyfikacji ekstremalnej Amazon670k. Wszystkie modele osiągają tę samą precyzję testu. Obserwujemy, że AWS Graviton3 znacznie przyspiesza działanie BOLT od razu po wyjęciu z pudełka, bez konieczności dostosowywania – o około 40%. BOLT firmy ThirdAI na AWS Graviton3 umożliwia również znacznie szybsze szkolenie niż modele TensorFlow lub PyTorch trenowane na GPU. Należy pamiętać, że w teście porównawczym GPU NVIDIA nie ma wyniku ThirdAI, ponieważ BOLT został zaprojektowany do działania na procesorach. Nie uwzględniliśmy testów porównawczych procesorów TensorFlow i PyTorch ze względu na zbyt długi czas szkolenia.

Czas szkolenia Amazon 670k Wykres słupkowy porównujący instancje c6i.8xlarge vs c7g.8xlarge

W poniższej tabeli podsumowano czas szkolenia i dokładność testów dla każdego procesora/procesora wyspecjalizowanego (GPU).

Procesor silnik Czas szkolenia (s) Dokładność testu
Intel Ice Lake (c6i.8xlarge) BOLT 1470 33.6
AWS Graviton3 (c7g.8xlarge) BOLT 935 33.6
NVIDIA T4G (g5g.8xlarge) TensorFlow 7550 33.6
NVIDIA T4G (g5g.8xlarge) PyTorch 5130 33.6

Ocena 2: Analiza nastrojów na temat polaryzacji Yelp

W naszej drugiej ocenie skupiamy się na popularnych Yelp, polaryzacja benchmark analizy nastrojów, który polega na sklasyfikowaniu recenzji jako pozytywnej lub negatywnej. Do tej oceny porównujemy ThirdAI Uniwersalne transformatory głębokie (UDT) model w porównaniu z dopracowanym DestylowaćBERT network, skompresowany, wstępnie wytrenowany model języka, który osiąga niemal najnowocześniejszą wydajność przy zmniejszonym opóźnieniu wnioskowania. Ponieważ dostrajanie modeli DistilBERT na procesorze zajęłoby zbyt dużo czasu (co najmniej kilka dni), porównujemy modele oparte na procesorze ThirdAI z modelami DistilBERT dostrojonymi na GPU. Trenujemy wszystkie modele w partii o wielkości 256 dla jednego przejścia przez dane (jedna epoka). Zauważamy, że za pomocą BOLT możemy osiągnąć nieco większą dokładność po dodatkowym przejściu danych, ale w celu zachowania spójności ograniczamy się do jednego przejścia w tej ocenie.

Jak pokazano na poniższym rysunku, AWS Graviton3 ponownie znacznie przyspiesza szkolenie modelu UDT ThirdAI. Co więcej, UDT jest w stanie osiągnąć dokładność testów porównywalną do DistilBERT przy ułamku czasu szkolenia i bez potrzeby stosowania procesora graficznego. Zauważamy, że ostatnio przeprowadzono również prace w optymalizacja dostrajania polaryzacji Yelp na procesorach. Jednak nasze modele w dalszym ciągu osiągają większy wzrost wydajności i pozwalają uniknąć kosztów wstępnego szkolenia, które jest znaczne i wymaga użycia akceleratorów sprzętowych, takich jak procesory graficzne.

Czas treningu na Yelp Polarity C7g vs c6i

W poniższej tabeli podsumowano czas uczenia, dokładność testu i opóźnienie wnioskowania.

Procesor silnik Model Czas szkolenia (s) Dokładność testu Opóźnienie wnioskowania (ms)
Intel Icelake (c6i.8xlarge) BOLT NA ZEWNĄTRZ 47 93.2 <1
Grawiton3 (c7g.8xlarge) BOLT NA ZEWNĄTRZ 29 92.9 <1
Karta graficzna T4G (g5g.8xlarge) TensorFlow DestylowaćBERT 4200 93.3 8.7
Karta graficzna T4G (g5g.8xlarge) PyTorch DestylowaćBERT 3780 93.4 8.3

Ocena 3: Klasyfikacja tekstu wieloklasowego (DBPedia)

Do ostatecznej oceny skupiamy się na problemie wieloklasowej klasyfikacji tekstu, która polega na przypisaniu etykiety do danego tekstu wejściowego ze zbioru więcej niż dwóch klas wyjściowych. Skupiamy się na DBPedia benchmark, który składa się z 14 możliwych klas wyjściowych. Ponownie widzimy, że AWS Graviton3 przyspiesza wydajność UDT w porównaniu z porównywalną instancją Intela o około 40%. Widzimy również, że BOLT osiąga wyniki porównywalne z modelem opartym na transformatorze DistilBERT, dostrojonym na GPU, przy jednoczesnym osiągnięciu opóźnienia poniżej milisekundy.

Trzeci czas treningu AI BOLT na c7g vs c6i

W poniższej tabeli podsumowano czas uczenia, dokładność testu i opóźnienie wnioskowania.

Procesor silnik Model Czas szkolenia (s) Dokładność testu Opóźnienie wnioskowania (ms)
Intel Icelake (c6i.8xlarge) BOLT NA ZEWNĄTRZ 23 98.23 <1
Grawiton3 (c7g.8xlarge) BOLT NA ZEWNĄTRZ 14 98.10 <1
Karta graficzna T4G (g5g.8xlarge) TensorFlow DestylowaćBERT 4320 99.23 8.6
Karta graficzna T4G (g5g.8xlarge) PyTorch DestylowaćBERT 3480 99.29 8

Rozpocznij pracę z ThirdAI w AWS Graviton

Zaprojektowaliśmy nasze oprogramowanie BOLT pod kątem kompatybilności ze wszystkimi głównymi architekturami procesorów, w tym AWS Graviton3. W rzeczywistości nie musieliśmy wprowadzać żadnych dostosowań w naszym kodzie, aby działać na AWS Graviton3. Dlatego możesz używać ThirdAI do szkolenia modeli i wdrażania na AWS Graviton3 bez dodatkowego wysiłku. Ponadto, jak szczegółowo opisano w naszym ostatnim dokument badawczyopracowaliśmy zestaw nowatorskich technik matematycznych umożliwiających automatyczne dostrajanie wyspecjalizowanych hiperparametrów związanych z naszymi rzadkimi modelami, dzięki czemu nasze modele mogą działać dobrze od razu po wyjęciu z pudełka.

Zauważamy również, że nasze modele sprawdzają się przede wszystkim w przypadku zadań wyszukiwania, rekomendacji i przetwarzania języka naturalnego, które zazwyczaj charakteryzują się dużymi, wielowymiarowymi przestrzeniami wyjściowymi i wymogiem wyjątkowo małego opóźnienia wnioskowania. Aktywnie pracujemy nad rozszerzeniem naszych metod na dodatkowe domeny, takie jak wizja komputerowa, ale należy pamiętać, że nasza poprawa wydajności nie przekłada się obecnie na wszystkie domeny uczenia maszynowego.

Wnioski

W tym poście zbadaliśmy potencjał procesora AWS Graviton3 w zakresie przyspieszania uczenia sieci neuronowej dla unikalnego silnika głębokiego uczenia się opartego na procesorze ThirdAI. Nasze testy porównawcze dotyczące wyszukiwania, klasyfikacji tekstu i rekomendacji sugerują, że AWS Graviton3 może przyspieszyć obciążenia związane z uczeniem modelu ThirdAI o 30–40% w porównaniu z porównywalnymi instancjami x86, przy poprawie ceny do wydajności o prawie 50%. Co więcej, ponieważ instancje AWS Graviton3 są dostępne po niższych kosztach niż analogiczne maszyny Intel i NVIDIA oraz umożliwiają krótsze czasy szkolenia i wnioskowania, możesz jeszcze bardziej odblokować wartość modelu użytkowania AWS typu pay-as-you-go, korzystając z niższych kosztów maszyn na krótszy okres czasu.

Jesteśmy bardzo podekscytowani oszczędnościami w cenie i wydajności AWS Graviton3 i będziemy starali się przekazać te ulepszenia naszym klientom, aby mogli cieszyć się szybszym szkoleniem i wnioskowaniem ML przy lepszej wydajności na tanich procesorach. Jako klienci AWS jesteśmy zachwyceni szybkością, z jaką AWS Graviton3 pozwala nam eksperymentować z naszymi modelami i nie możemy się doczekać, aby w przyszłości korzystać z najnowocześniejszych innowacji krzemowych AWS. Przewodnik techniczny Graviton jest dobrym źródłem do rozważenia podczas oceny obciążeń ML do uruchomienia na Graviton. Możesz także wypróbować instancje Graviton t4g Przetestuj za darmo.

Treść i opinie zawarte w tym poście pochodzą od zewnętrznego autora i AWS nie ponosi odpowiedzialności za treść ani dokładność tego posta. W momencie pisania bloga najaktualniejszą instancją były c6i, dlatego też porównania dokonano z instancjami c6i.


O autorze

Vihana Lakshmana – Vihan Lakshman jest pracownikiem naukowym w ThirdAI Corp., zajmującym się opracowywaniem systemów głębokiego uczenia się efektywnie korzystającego z zasobów. Przed dołączeniem do ThirdAI pracował jako naukowiec stosowany w firmie Amazon oraz uzyskał stopnie licencjackie i magisterskie na Uniwersytecie Stanforda. Vihan jest także stypendystką stypendium badawczego National Science Foundation.

Tharun Medini – Tharun Medini jest współzałożycielem i dyrektorem technicznym ThirdAI Corp. Zrobił doktorat z „Algorytmów haszujących do wyszukiwania i wyszukiwania informacji” na Uniwersytecie Rice. Przed ThirdAI Tharun pracował w Amazon i Target. Tharun jest laureatem wielu nagród za swoje badania, w tym stypendium Ken Kennedy Institute BP Fellowship, stypendium Amerykańskiego Stowarzyszenia Inżynierów Indyjskich oraz stypendium dla absolwentów Uniwersytetu Rice.

Anshumali Śriwastawa – Anshumali Shrivastava jest profesorem nadzwyczajnym na wydziale informatyki na Uniwersytecie Rice. Jest także założycielem i dyrektorem generalnym ThirdAI Corp, firmy, która demokratyzuje sztuczną inteligencję na rzecz sprzętu towarowego poprzez innowacje w oprogramowaniu. Jego szerokie zainteresowania badawcze obejmują probabilistyczne algorytmy głębokiego uczenia się oszczędzającego zasoby. W 2018 roku magazyn Science News umieścił go na liście 10 najlepszych naukowców poniżej 40. roku życia, których warto obserwować. Jest laureatem nagrody CAREER przyznawanej przez National Science Foundation, nagrody Young Investigator od Biura Badań Naukowych Sił Powietrznych, nagrody Amazon za badania nad uczeniem maszynowym oraz nagrody Data Science Research Award od firmy Adobe. Jest laureatem wielu nagród papierowych, w tym Best Paper Awards na NIPS 2014 i MLSys 2022, a także Most Reproducible Paper Award na SIGMOD 2019. Jego prace nad wydajnymi technologiami uczenia maszynowego na procesorach opisywały popularna prasa, w tym Wall Street Journal, New York Times, TechCrunch, NDTV itp.

Znak czasu:

Więcej z Uczenie maszynowe AWS