Skróć czas i koszty szkolenia w zakresie głębokiego uczenia dzięki MosaicML Composer na platformie AWS PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Skróć czas i koszty szkolenia głębokiego uczenia dzięki MosaicML Composer na AWS

W ciągu ostatniej dekady widzieliśmy Nauka o głębokim uczeniu (DL) przyjęta w ogromnym tempie przez klientów AWS. Liczne i wspólnie trenowane parametry modeli DL mają dużą zdolność reprezentacyjną, która przyniosła ulepszenia w wielu przypadkach użycia przez klientów, w tym w analizie obrazu i mowy, przetwarzaniu języka naturalnego (NLP), przetwarzaniu szeregów czasowych i innych. W tym poście zwracamy uwagę na wyzwania często zgłaszane w szczególności podczas szkoleń DL oraz na to, w jaki sposób biblioteka open-source Kompozytor MosaicML pomaga je rozwiązać.

Wyzwanie ze szkoleniem DL

Modele DL są trenowane iteracyjnie w zagnieżdżonej pętli for. Pętla przechodzi przez fragment zestawu danych treningowych i, jeśli to konieczne, jest powtarzana kilka razy w całym zestawie danych. Praktycy ML pracujący nad szkoleniami DL stają przed kilkoma wyzwaniami:

  • Czas trwania treningu rośnie wraz z rozmiarem danych. Dzięki stale rosnącym zbiorom danych rosną również czasy i koszty szkoleń, a rytm odkryć naukowych zwalnia.
  • Skrypty DL często wymagają standardowego kodu, w szczególności wspomnianej wcześniej struktury podwójnej pętli for, która dzieli zbiór danych na minipartie i trening na epoki.
  • Paradoks wyboru: opublikowano kilka artykułów i bibliotek dotyczących optymalizacji szkoleń, ale nie jest jasne, które z nich przetestować jako pierwsze i jak połączyć ich efekty.

W ciągu ostatnich kilku lat kilka bibliotek open-source, takich jak Keras, PyTorch Błyskawica, Przytulanie transformatorów twarzy, Pociąg promienia starają się uczynić szkolenie DL bardziej dostępnym, zwłaszcza poprzez zmniejszenie szczegółowości kodu, a tym samym uproszczenie programowania sieci neuronowych. Większość z tych bibliotek koncentruje się na doświadczeniu programisty i zwartości kodu.

W tym poście przedstawiamy nową bibliotekę open-source, która zajmuje inne stanowisko w kwestii szkoleń DL: Kompozytor MosaicML to biblioteka zorientowana na szybkość, której głównym celem jest przyspieszenie skryptów szkoleniowych sieci neuronowych dzięki innowacjom algorytmicznym. W świecie DL w chmurze mądrze jest skupić się na szybkości, ponieważ infrastruktura obliczeniowa jest często opłacana za użycie — nawet co do sekundy Szkolenie Amazon SageMaker— a poprawa szybkości może przełożyć się na oszczędności finansowe.

Historycznie, przyspieszenie treningu DL odbywało się głównie poprzez zwiększenie liczby równoległych iteracji modelu obliczeniowego maszyn, technika nazywana równoległość danych. Chociaż równoległość danych czasami przyspiesza uczenie (nie jest to gwarantowane, ponieważ zakłóca zbieżność, jak podkreślono w Goyal i in.), nie zmniejsza to ogólnych kosztów pracy. W praktyce ma tendencję do zwiększania go ze względu na narzut komunikacji między maszynami i wyższe koszty jednostkowe maszyny, ponieważ rozproszone maszyny DL są wyposażone w wysokiej klasy sieci i połączenia GPU w serwerze.

Chociaż MosaicML Composer obsługuje równoległość danych, jego podstawowa filozofia różni się od ruchu równoległości danych. Jego celem jest przyspieszenie treningu bez konieczności stosowania większej liczby maszyn, poprzez innowacje na poziomie wdrażania nauki. W związku z tym ma na celu osiągnięcie oszczędności czasu, które skutkowałyby oszczędnościami kosztów dzięki strukturze opłat AWS typu pay-per-use.

Przedstawiamy bibliotekę open-source MosaicML Composer

MosaicML Composer to biblioteka szkoleniowa DL typu open source stworzona specjalnie, aby ułatwić wprowadzanie najnowszych algorytmów i komponowanie ich w nowatorskie przepisy, które przyspieszają szkolenie modeli i pomagają poprawić jakość modelu. W chwili pisania tego tekstu obsługuje PyTorch i zawiera 25 technik — zwanych metody w świecie MosaicML — wraz ze standardowymi modelami, zestawami danych i testami porównawczymi

Kompozytor jest dostępne przez pip:

pip install mosaicml

Techniki przyspieszania zaimplementowane w Composerze można uzyskać za pomocą funkcjonalnego interfejsu API. Na przykład poniższy fragment kodu dotyczy Rozmycie puli technika do TorchVision ResNet:

import logging

from composer import functional as CF
import torchvision.models as models
logging.basicConfig(level=logging.INFO)

model = models.resnet50()
CF.apply_blurpool(model)

Opcjonalnie możesz również użyć Trener skomponować własną kombinację technik:

from composer import Trainer
from composer.algorithms import LabelSmoothing, CutMix, ChannelsLast

trainer = Trainer(
    model=.. # must be a composer.ComposerModel
    train_dataloader=...,
    max_duration="2ep",  # can be a time, a number of epochs or batches
    algorithms=[
        LabelSmoothing(smoothing=0.1),
        CutMix(alpha=1.0),
        ChannelsLast(),
    ]
)

trainer.fit()

Przykłady metod zaimplementowanych w Composer

Niektóre metody dostępne w Composerze są specyficzne dla widzenia komputerowego, np. techniki wspomagania obrazu ColOut, Wyłączniklub Progresywna zmiana rozmiaru obrazu. Inne są specyficzne dla modelowania sekwencji, takie jak Rozgrzewka długości sekwencji or Alibi. Co ciekawe, kilka z nich jest agnostycznych względem przypadku użycia i można je zastosować do różnych sieci neuronowych PyTorch poza widzeniem komputerowym i NLP. Te ogólne metody przyspieszania treningu sieci neuronowych obejmują: Wygładzanie etykiet, Selektywna podpórka, Stochastyczne uśrednianie wagi, Zamrażanie warstwy, Minimalizacja uwzględniająca ostrość (SAM).

Przyjrzyjmy się kilku z nich, które okazały się szczególnie skuteczne przez zespół MosaicML:

  • Minimalizacja uwzględniająca ostrość (SAM) jest optymalizatorem, który minimalizuje zarówno funkcję utraty modelu, jak i jego ostrość, obliczając dwukrotnie gradient dla każdego kroku optymalizacji. Aby ograniczyć dodatkową moc obliczeniową w celu karania przepustowości, SAM można uruchamiać okresowo.
  • Uwaga z liniowymi odchyleniami (ALiBi), zainspirowany przez Prasa i in., jest specyficzny dla modeli Transformers. Eliminuje potrzebę osadzania pozycyjnego, zastępując je niewyuczonym nastawieniem na wagę uwagi.
  • Selektywna podpórka, zainspirowany przez Jiang i in., pozwala na uruchomienie wstecznej propagacji (algorytmów, które poprawiają wagi modelu poprzez śledzenie jego nachylenia błędu) tylko na rekordach z funkcją wysokiej straty. Ta metoda pomaga uniknąć niepotrzebnych obliczeń i poprawia przepustowość.

Posiadanie tych technik dostępnych w jednym zwartym systemie szkoleniowym jest istotną wartością dodaną dla praktyków ML. Cenne są również praktyczne informacje zwrotne w terenie, które zespół MosaicML opracowuje dla każdej techniki, przetestowane i ocenione. Jednak mając tak bogaty zestaw narzędzi, można się zastanawiać: jakiej metody użyć? Czy łączenie wielu metod jest bezpieczne? Wejdź do Eksploratora MosaicML.

Eksplorator MosaicML

Aby określić ilościowo wartość i zgodność metod treningu DL, zespół MosaicML utrzymuje badacz, pierwszy w swoim rodzaju pulpit nawigacyjny na żywo przedstawiający dziesiątki eksperymentów uczących DL na pięciu zestawach danych i siedmiu modelach. Deska rozdzielcza przedstawia optymalna granica pareto w kompromisie koszt/czas/jakość i umożliwia przeglądanie i znajdowanie najlepszych kombinacji metod — nazywanych PRZEPISY w świecie MosaicML — dla danego modelu i zestawu danych. Na przykład poniższe wykresy pokazują, że dla treningu GPT125 z parametrem 2M najtańsze szkolenie utrzymujące zakłopotanie 24.11 uzyskuje się łącząc AliBi, Sequence Length Warmup i Scale Schedule, osiągając koszt około 145.83 USD w chmurze AWS! Należy jednak pamiętać, że ta kalkulacja kosztów i te opisane w tym poście opierają się wyłącznie na obliczeniach na żądanie EC2. Mogą mieć zastosowanie inne kwestie związane z kosztami, w zależności od środowiska i potrzeb biznesowych.

Zrzut ekranu MosaicML Explorer do szkolenia GPT-2

Wybitne osiągnięcia z Composer na AWS

Uruchamiając bibliotekę Composer na AWS, zespół MosaicML osiągnął szereg imponujących wyników. Należy pamiętać, że szacunkowe koszty zgłoszone przez zespół MosaicML obejmują wyłącznie opłaty za obliczenia na żądanie.

Wnioski

Możesz rozpocząć pracę z Composerem na dowolnej kompatybilnej platformie, od laptopa po duże serwery w chmurze wyposażone w GPU. Biblioteka posiada intuicyjne Wycieczka powitalna i Pierwsze kroki strony dokumentacji. Korzystanie z Composera w AWS pozwala skumulować naukę optymalizacji kosztów Composera z usługami i programami optymalizacji kosztów AWS, w tym z obliczeniami Spot (Amazon EC2, Amazon Sage Maker), Plan oszczędnościowy, Automatyczne dostrajanie modelu SageMaker, i więcej. Zespół MosaicML utrzymuje Tutorial Kompozytora na AWS. Zapewnia krok po kroku, jak można odtworzyć wyniki MLPerf i wytrenować ResNet-50 na AWS do standardowej 76.6% dokładności top-1 w zaledwie 27 minut.

Jeśli zmagasz się z sieciami neuronowymi, które trenują zbyt wolno, lub jeśli chcesz utrzymać pod kontrolą koszty szkolenia DL, wypróbuj MosaicML w AWS i daj nam znać, co tworzysz!


O autorach

Skróć czas i koszty szkolenia w zakresie głębokiego uczenia dzięki MosaicML Composer na platformie AWS PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Bandijski szach jest kierownikiem ds. inżynierii w MosaicML, pracującym nad połączeniem wydajnego uczenia głębokiego z systemami rozproszonymi na dużą skalę i obliczeniami wydajnościowymi. Bandish ma ponad dziesięcioletnie doświadczenie w budowaniu systemów do uczenia maszynowego i aplikacji korporacyjnych. Lubi spędzać czas z przyjaciółmi i rodziną, gotować i oglądać Star Trek w poszukiwaniu inspiracji.

Skróć czas i koszty szkolenia w zakresie głębokiego uczenia dzięki MosaicML Composer na platformie AWS PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.Oliviera Cruchanta jest specjalistą ds. rozwiązań w zakresie uczenia maszynowego w AWS z siedzibą we Francji. Olivier pomaga klientom AWS — od małych start-upów po duże przedsiębiorstwa — opracowywać i wdrażać aplikacje do uczenia maszynowego klasy produkcyjnej. W wolnym czasie lubi czytać artykuły naukowe i odkrywać dziką przyrodę z przyjaciółmi i rodziną.

Znak czasu:

Więcej z Uczenie maszynowe AWS