Duże modele językowe (ang. LLM) stały się tematem codziennych rozmów. Ich szybkie przyjęcie widać po ilości czasu potrzebnego do dotarcia do 100 milionów użytkowników, która wzrosła z „4.5 roku przez Facebook” do najniższego w historii poziomu zaledwie „2 miesięcy przez ChatGPT”. Generatywny, wstępnie wyszkolony transformator (GPT) wykorzystuje przyczynowe aktualizacje autoregresyjne do przewidywania. Wykazano, że te architektury modelowe zapewniają niesamowitą wydajność różnorodnych zadań, takich jak rozpoznawanie mowy, generowanie tekstu i odpowiadanie na pytania. Kilka najnowszych modeli, takich jak Neox, sokół, Lama użyj architektury GPT jako szkieletu. Szkolenie LLM wymaga kolosalnej ilości czasu obliczeniowego, co kosztuje miliony dolarów. W tym poście podsumujemy procedurę szkolenia GPT Neox on Szkolenie AWS, specjalnie zaprojektowany akcelerator uczenia maszynowego (ML), zoptymalizowany pod kątem głębokiego uczenia się. Opiszemy, w jaki sposób oszczędnie (3.2 mln tokenów/$) wytrenowaliśmy takie modele za pomocą AWS Trainium, nie tracąc przy tym na jakości modelu.
Omówienie rozwiązania
Modele GPT NeoX i Pythia
GPT NeoX i pytia to modele języka przyczynowego typu open source autorstwa Eleuther-AI z około 20 miliardami parametrów w NeoX i 6.9 miliarda w Pythii. Obydwa są modelami dekoderów o podobnej architekturze jak Chat GPT3. Mają jednak również kilka dodatków, które są również szeroko stosowane w ostatnich modelach, takich jak Llama. W szczególności posiadają obrotowe osadzenie pozycyjne (LINA) z częściowym obrotem w poprzek wymiarów głowy. Oryginalne modele (NeoX i Pythia 6.9B) są trenowane na ogólnodostępnych platformach Zbiór danych stosu z deduplikacją i wykorzystaniem backendu Megatron i Deepspeed.
Demonstrujemy wstępne uczenie i dostrajanie tych modeli w instancjach Trn1 opartych na AWS Trainium przy użyciu Neuron NeMo biblioteka. Aby potwierdzić słuszność koncepcji i szybko ją odtworzyć, użyjemy mniejszego podzbioru danych Wikipedii tokenizowanego przy użyciu tokenizatora GPT2 z kodowaniem par bajtów (BPE).
Opis przejścia
Pobierz wstępnie tokenizowany zbiór danych Wikipedii, jak pokazano:
Zarówno NeoX 20B, jak i Pythia 6.9B wykorzystują LINĘ z częściowym obrotem, na przykład obracając 25% wymiarów głowy i utrzymując resztę nieobróconą. Aby efektywnie zaimplementować częściową rotację w akceleratorze AWS Trainium, zamiast łączyć wymiary obrotowe i nieobrotowe, dodajemy częstotliwości zerowe dla wymiarów nieobrotowych, a następnie obracamy cały zestaw wymiarów głowy. Ta prosta sztuczka pomogła nam poprawić przepustowość (sekwencje przetwarzane na sekundę) w AWS Trainium.
Kroki szkoleniowe
Do przeprowadzenia szkolenia wykorzystujemy wielowęzłową chmurę obliczeniową Amazon Elastic Compute Cloud zarządzaną przez SLURM (Amazon EC2) Klaster Trn1, w którym każdy węzeł zawiera instancję trn1.32xl. Każdy trn1.32xl ma 16 akceleratorów, po dwóch pracowników na akcelerator. Po pobraniu najnowszego Neuron NeMo pakietu, skorzystaj z dostarczonego neoks i pytia skrypty wstępnego szkolenia i dostrajania ze zoptymalizowanymi hiperparametrami i wykonaj następujące czynności w celu szkolenia z czterema węzłami.
- Kompiluj: Wstępnie skompiluj model z trzema iteracjami pociągowymi, aby wygenerować i zapisać wykresy:
- Uruchom: Wykonaj szkolenie, ładując buforowane wykresy z pierwszych kroków
- Monitoruj wyniki
Te same kroki należy wykonać, aby uruchomić model Pythia 6.9B z wymianą neox_20B_slurm.sh
by pythia_6.9B_slurm.sh
.
Eksperymenty przedszkoleniowe i dostrajające
Demonstrujemy wstępne szkolenie modeli GPT-NeoX i Pythia w AWS Trainium przy użyciu Neuron NeMo bibliotekę dla 10 tys. iteracji, a także pokazują dostrajanie tych modeli dla 1 tys. kroków. Do treningu wstępnego używamy tokenizera GPT2 BPE wewnątrz NeMo i postępujemy zgodnie z tym samym config jak w oryginalnym modelu. Dostrojenie w AWS Trainium wymaga zmiany kilku parametrów (takich jak współczynnik podziału wielkości słownictwa), które są dostępne w skryptach dostrajających, aby uwzględnić różnice między Megatronem i NeMo oraz zmianami GPU i AWS Trainium. W tabeli 1 przedstawiono rozproszoną przepustowość uczenia wielu węzłów przy różnej liczbie węzłów.
Model | Tensor równoległy | Rurociąg równoległy | Liczba instancji | Koszt ($/godz.) | Długość sekwencji | Globalny rozmiar partii | Przepustowość (sekw./sek.) | Stosunek kosztów do przepustowości (tokeny/$) |
Pytia 6.9B | 8 | 1 | 1 | 7.59 | 2048 | 256 | 10.4 | 10,102,387 |
8 | 1 | 4 | 30.36 | 2048 | 256 | 35.8 | 8,693,881 | |
NeoX20B | 8 | 4 | 4 | 30.36 | 2048 | 16384 | 13.60 | 3,302,704 |
8 | 4 | 8 | 60.72 | 2048 | 16384 | 26.80 | 3,254,134 | |
8 | 4 | 16 | 121.44 | 2048 | 16384 | 54.30 | 3,296,632 | |
8 | 4 | 32 | 242.88 | 2048 | 16384 | 107.50 | 3,263,241 | |
8 | 4 | 64 | 485.76 | 2048 | 16384 | 212.00 | 3,217,708 |
Tabela 1. Porównanie średniej przepustowości modeli GPT NeoX i Pythia dla treningu do 500 kroków ze zmienną liczbą węzłów. The ceny trn1.32xl opiera się na efektywnej stawce za godzinę zarezerwowanej na 3 lata.
Następnie oceniamy również trajektorię strat uczenia modelu na AWS Trainium i porównujemy ją z odpowiednim przebiegiem na klastrze P4d (rdzenie GPU Nvidia A100). Wraz ze stratą treningową porównujemy także przydatny wskaźnik, taki jak norma gradientu, która jest 2-normą gradientów modelu obliczanych w każdej iteracji treningowej w celu monitorowania postępu treningu. Wyniki treningu pokazano na rys. 1, 2, a dostrajanie NeoX 20B na rys. 3.
Rysunek 1. Strata treningowa uśredniona dla wszystkich pracowników (po lewej) i norma gradientu (po prawej) na każdym etapie treningu. NeoX 20B jest trenowany na 4 węzłach z małym zbiorem danych wiki na GPU i Trainium z tymi samymi hiperparametrami szkoleniowymi (globalny rozmiar wsadu = 256). GPU używa BF16 i domyślnej mieszanej precyzji, podczas gdy AWS Trainium używa pełnego BF16 z zaokrąglaniem stochastycznym. Trajektorie strat i norm gradientu są zgodne z GPU i AWS Trainium.
Rysunek 2. Strata treningowa uśredniona dla wszystkich pracowników (po lewej) i norma gradientu (po prawej) na każdym etapie treningu. Podobnie jak GPT NeoX na rysunku 1, Pythia 6.9B jest trenowana na 4 węzłach z małym zbiorem danych wiki na GPU i Trainium z tymi samymi hiperparametrami szkoleniowymi (globalny rozmiar wsadu = 256). Trajektorie strat i norm gradientu są zgodne dla GPU i Trainium.
Rysunek 3. Dostrajanie modelu GPT NeoX 20B na GPU i AWS Trainium ze stratami treningowymi uśrednionymi dla wszystkich pracowników (po lewej) i normą gradientu (po prawej). Mały zbiór danych wiki jest używany do demonstracji dostrajania. Trajektorie strat i norm gradientu są zgodne z GPU i AWS Trainium.
W tym poście pokazaliśmy opłacalne szkolenie LLM na sprzęcie do głębokiego uczenia się AWS. Trenowaliśmy modele GPT NeoX 20B i Pythia 6.9B na AWS Trn1 z biblioteką Neuron NeMo. Znormalizowana przepustowość kosztowa dla 20 miliardów modeli z AWS Trainium wynosi około 3.2 mln tokenów/wydane $. Wraz z oszczędnym szkoleniem na AWS Trainium uzyskujemy podobną dokładność modelu, co widać po utracie kroku treningowego i trajektorii normy gradientu. Dopracowaliśmy także dostępne punkty kontrolne dla modelu NeoX 20B w AWS Trainium. Dodatkowe informacje na temat rozproszonego szkolenia z NeMo Megatron na AWS Trainium można znaleźć w artykule Referencja AWS Neuron dla NeMo Megatron. Dobre źródło informacji na temat rozpoczęcia dostrajania modelu Lamy można znaleźć tutaj: Dostrajanie Lamy2. Aby rozpocząć korzystanie z zarządzanego AWS Trainium wł Amazon Sage Maker, Patrz Trenuj swoje modele uczenia maszynowego za pomocą AWS Trainium i Amazon SageMaker.
O autorach
Gauraw Gupta jest obecnie naukowcem stosowanym w laboratoriach sztucznej inteligencji Amazon Web Services (AWS). Doktor Gupta uzyskał stopień doktora na USC Viterbi. Jego zainteresowania badawcze obejmują sekwencyjne modelowanie danych, naukę równań różniczkowych cząstkowych, teorię informacji na potrzeby uczenia maszynowego, ułamkowe modele dynamiczne i sieci złożone. Obecnie pracuje nad stosowanymi i matematycznymi problemami zachowań szkoleniowych LLM, modelami wizyjnymi z PDE, informacyjnymi modelami multimodalności. Dr Gupta ma publikacje w czołowych czasopismach/konferencjach, takich jak Neurips, ICLR, ICML, Nature, IEEE Control Society, ACM cyber-physical Society.
Bena Snydera jest naukowcem stosowanym w AWS Deep Learning. Jego zainteresowania badawcze obejmują modele podstawowe, uczenie się przez wzmacnianie i optymalizację asynchroniczną. Poza pracą lubi jeździć na rowerze i biwakować w terenie.
Amith (R) Mamidala jest starszym inżynierem aplikacji uczenia maszynowego w AWS Annapurna Labs. Dr Mamidala ukończył studia doktoranckie na Uniwersytecie Stanowym Ohio w zakresie obliczeń o wysokiej wydajności i komunikacji. Podczas swojej pracy w dziale badawczym IBM dr Mamidala przyczynił się do powstania klasy komputerów BlueGene, które często znajdowały się na czele rankingu Top500 najpotężniejszych i najbardziej energooszczędnych superkomputerów. Projekt został nagrodzony Narodowym Medalem Technologii i Innowacji 2009. Po krótkim okresie pracy jako inżynier sztucznej inteligencji w finansowym funduszu hedgingowym dr Mamidala dołączyła do laboratoriów w Annapurnie, koncentrując się na szkoleniu z modeli wielkojęzykowych.
Jun (Luke) Huan jest głównym naukowcem w AWS AI Labs. Dr Huan zajmuje się sztuczną inteligencją i analizą danych. Opublikował ponad 180 recenzowanych artykułów na wiodących konferencjach i czasopismach. W 2009 roku otrzymał nagrodę NSF Faculty Early Career Development Award. Przed dołączeniem do AWS pracował w Baidu Research jako wybitny naukowiec i kierownik Baidu Big Data Laboratory. Założył StylingAI Inc., start-up AI, a w latach 2019-2021 pracował jako dyrektor generalny i główny naukowiec. Przed dołączeniem do przemysłu był profesorem Charlesa E. i Mary Jane Spahr na wydziale EECS na Uniwersytecie w Kansas.
Shruti Koparkar jest Senior Product Marketing Managerem w AWS. Pomaga klientom badać, oceniać i dostosowywać akcelerowaną infrastrukturę obliczeniową Amazon EC2 do potrzeb związanych z uczeniem maszynowym.
- 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/frugality-meets-accuracy-cost-efficient-training-of-gpt-neox-and-pythia-models-with-aws-trainium/
- :ma
- :Jest
- $W GÓRĘ
- 1
- 10
- 100
- 10 tysięcy
- 120
- 16
- 160
- 180
- 20
- 500
- 7
- 9
- a
- przyśpieszony
- akcelerator
- akceleratory
- pomieścić
- precyzja
- ACM
- w poprzek
- Dodatkowy
- Dodatkowe informacje
- wzbogacenie
- przyjąć
- przyjęty
- Przyjęcie
- Po
- AI
- Wszystkie kategorie
- niska w historii
- wzdłuż
- również
- Amazonka
- Amazon EC2
- Amazon Web Services
- Amazon Web Services (AWS)
- ilość
- an
- i
- każdy
- Zastosowanie
- stosowany
- w przybliżeniu
- architektoniczny
- architektura
- SĄ
- na około
- AS
- At
- dostępny
- nagroda
- Stephen Schwartz wygrywa
- AWS
- Kręgosłup
- Backend
- Baidu
- na podstawie
- BE
- stają się
- zanim
- zachowanie
- Duży
- Big Data
- Miliard
- BIN
- obie
- by
- Kariera
- CD
- ceo
- zmiana
- Zmiany
- wymiana pieniędzy
- Charles
- ChatGPT
- szef
- klasa
- Chmura
- Grupa
- Komunikacja
- porównać
- porównanie
- kompletny
- Zakończony
- kompleks
- obliczać
- komputery
- computing
- konferencje
- przyczyniły
- kontrola
- rozmowy
- Odpowiedni
- Koszty:
- Koszty:
- mógłby
- Obecnie
- Klientów
- codziennie
- dane
- nauka danych
- głęboko
- głęboka nauka
- Domyślnie
- wykazać
- wykazać
- Departament
- Wnętrze
- oprogramowania
- Różnice
- Wymiary
- Wybitny
- dystrybuowane
- szkolenia rozproszone
- podział
- dolarów
- domena
- ściąganie
- dr
- dr Gupta
- podczas
- e
- każdy
- Wcześnie
- Efektywne
- skutecznie
- osadzanie
- kodowanie
- inżynier
- Inżynieria
- równania
- zapewniają
- oceniać
- oczywisty
- przykład
- wykonać
- odkryj
- kilka
- budżetowy
- i terminów, a
- pierwsze kroki
- skupienie
- obserwuj
- następnie
- następujący
- W razie zamówieenia projektu
- znaleziono
- podstawowy
- Założony
- cztery
- frakcyjny
- od
- pełny
- fundusz
- Generować
- generacja
- generatywny
- otrzymać
- Globalne
- poszedł
- dobry
- GPU
- gradienty
- wykresy
- Gupta
- sprzęt komputerowy
- Have
- he
- głowa
- żywopłot
- fundusze hedgingowe
- pomógł
- pomaga
- tutaj
- Wysoki
- jego
- godzina
- W jaki sposób
- Jednak
- HTML
- HTTPS
- Przytulanie twarzy
- IBM
- IDX
- IEEE
- wdrożenia
- podnieść
- in
- Inc
- zawierać
- Wskaźnik
- przemysł
- Informacja
- Infrastruktura
- Innowacja
- wewnątrz
- przykład
- zamiast
- zainteresowania
- IT
- iteracja
- iteracje
- Jane
- Dołączył
- łączący
- jpg
- json
- Kansas
- konserwacja
- laboratorium
- Labs
- język
- duży
- firmy
- prowadzący
- nauka
- Doprowadziło
- lewo
- Długość
- Biblioteka
- Lama
- załadunek
- utraty
- od
- niski
- maszyna
- uczenie maszynowe
- robić
- zarządzane
- kierownik
- Marketing
- Mecz
- matematyczny
- oznaczać
- Spełnia
- sam
- Meta
- milion
- miliony
- ML
- model
- modelowanie
- modele
- monitor
- miesięcy
- jeszcze
- większość
- narodowy
- Natura
- wymagania
- sieci
- węzeł
- węzły
- NSF
- numer
- Nvidia
- uzyskać
- of
- często
- Ohio
- on
- open source
- otwarcie
- optymalizacja
- zoptymalizowane
- or
- oryginalny
- zarys
- zewnętrzne
- pakiet
- Papiery
- parametry
- szczególnie
- recenzowany
- dla
- jest gwarancją najlepszej jakości, które mogą dostarczyć Ci Twoje monitory,
- PhD
- plato
- Analiza danych Platona
- PlatoDane
- Post
- mocny
- przepowiednia
- Główny
- problemy
- procedura
- Obrobiony
- Produkt
- Profesor
- Postęp
- projekt
- pod warunkiem,
- publikacje
- opublikowany
- jakość
- pytanie
- Szybki
- R
- Ranking
- Kurs
- stosunek
- dosięgnąć
- niedawny
- uznanie
- odniesienie
- reprodukcja
- wymagany
- Wymaga
- Badania naukowe
- zarezerwowany
- Zasób
- REST
- Efekt
- prawo
- zaokrąglenie
- run
- bieganie
- taki sam
- Zapisz
- nauka
- Naukowiec
- skrypty
- SEK
- widzieć
- senior
- Usługi
- zestaw
- kilka
- ona
- pokazać
- pokazał
- pokazane
- podobny
- Prosty
- Rozmiar
- mały
- mniejszy
- Społeczeństwo
- rozpiętość
- przemówienie
- Rozpoznawanie mowy
- spędził
- początek
- Uruchomienie
- rozpoczęty
- Stan
- Ewolucja krok po kroku
- Cel
- taki
- streszczać
- zadania
- Technologia
- XNUMX
- niż
- Połączenia
- ich
- następnie
- teoria
- Te
- one
- to
- trzy
- wydajność
- czas
- do
- tokenizowany
- Top
- aktualny
- w kierunku
- Pociąg
- przeszkolony
- Trening
- trajektoria
- transformator
- drugiej
- uniwersytet
- Nowości
- us
- posługiwać się
- używany
- Użytkownicy
- zastosowania
- za pomocą
- różnorodność
- zmienne
- Przeciw
- wizja
- była
- we
- sieć
- usługi internetowe
- który
- Podczas
- szeroko
- Wikipedia
- w
- bez
- Praca
- pracował
- pracowników
- pracujący
- działa
- Twój
- zefirnet
- zero