Kontakt z nami

Artificial Intelligence

Powstanie mieszanki ekspertów na rzecz wydajnych modeli dużych języków

mm
Mieszanka Ekspertów Grok Mistral

W świecie przetwarzania języka naturalnego (NLP) dążenie do budowania większych i wydajniejszych modeli językowych było siłą napędową wielu ostatnich osiągnięć. Jednakże wraz ze wzrostem rozmiarów tych modeli wymagania obliczeniowe dotyczące uczenia i wnioskowania stają się coraz bardziej rygorystyczne, przekraczając ograniczenia dostępnych zasobów sprzętowych.

Poznaj technologię Mixture-of-Experts (MoE), która obiecuje zmniejszyć to obciążenie obliczeniowe, umożliwiając jednocześnie trenowanie większych i bardziej wydajnych modeli językowych. Poniżej omówimy MoE, zgłębimy jego genezę, mechanizmy działania i zastosowania w modelach językowych opartych na transformatorach.

Początki mieszanki ekspertów

Początki koncepcji mieszanki ekspertów (MoE) sięgają wczesnych lat 1990. XX wieku, kiedy badacze badali koncepcję obliczeń warunkowych, w ramach których części sieci neuronowej są selektywnie aktywowane na podstawie danych wejściowych. Jednym z pionierskich dzieł w tej dziedzinie była „Adaptacyjna mieszanka lokalnych ekspertów”, artykuł Jacobsa i in. w 1991 r., w którym zaproponowano strukturę nadzorowanego uczenia się dla zespołu sieci neuronowych, z których każda specjalizuje się w innym obszarze przestrzeni wejściowej.

Podstawową ideą MoE jest posiadanie wielu sieci „eksperckich”, z których każda jest odpowiedzialna za przetwarzanie podzbioru danych wejściowych. Mechanizm bramkujący, zazwyczaj sama sieć neuronowa, określa, którzy eksperci powinni przetworzyć dane wejściowe. Takie podejście pozwala modelowi na bardziej efektywną alokację zasobów obliczeniowych poprzez aktywowanie tylko odpowiednich ekspertów dla każdego wejścia, zamiast wykorzystywania pełnej mocy modelu dla każdego wejścia.

Z biegiem lat różni badacze badali i rozszerzali koncepcję obliczeń warunkowych, co doprowadziło do rozwoju, takiego jak hierarchiczne MoE, przybliżenia niskiego rzędu do obliczeń warunkowych oraz techniki szacowania gradientów przez neurony stochastyczne i funkcje aktywacji o twardym progu.

Mieszanka ekspertów w dziedzinie transformatorów

Mieszanka Ekspertów

Mieszanka Ekspertów

Chociaż pomysł MON istnieje już od kilkudziesięciu lat, jego zastosowanie w modelach językowych opartych na transformatorach jest stosunkowo nowe. Transformatory, które stały się de facto standardem dla najnowocześniejszych modeli językowych, składają się z wielu warstw, z których każda zawiera mechanizm samouważności i sieć neuronową ze sprzężeniem zwrotnym (FFN).

Kluczową innowacją w zastosowaniu MoE do transformatorów jest zastąpienie gęstych warstw FFN rzadkimi warstwami MoE, z których każda składa się z wielu specjalistycznych FFN i mechanizmu bramkującego. Mechanizm bramkujący określa, którzy eksperci powinni przetworzyć każdy token wejściowy, umożliwiając modelowi selektywne aktywowanie tylko podzbioru ekspertów dla danej sekwencji wejściowej.

Jedną z wczesnych prac, które wykazały potencjał MoE w transformatorach, był artykuł Shazeera i in. „Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer”. w 2017 r. W ramach tej pracy wprowadzono koncepcję słabo bramkowanej warstwy MoE, w której zastosowano mechanizm bramkowania, który dodał rzadkość i szum do procesu wyboru ekspertów, zapewniając, że dla każdego wejścia aktywowano tylko podzbiór ekspertów.

Od tego czasu w kilku innych pracach poczyniono dalsze postępy w zastosowaniu MoE w transformatorach, rozwiązując problemy, takie jak niestabilność uczenia, równoważenie obciążenia i wydajne wnioskowanie. Godne uwagi przykłady obejmują Przełącznik transformatora (Fedus i in., 2021), ST-MoE (Zoph i in., 2022) oraz GLAM (Du i in., 2022).

Korzyści z mieszanki ekspertów dla modeli językowych

Podstawową korzyścią wynikającą ze stosowania MoE w modelach językowych jest możliwość zwiększania rozmiaru modelu przy zachowaniu stosunkowo stałych kosztów obliczeniowych podczas wnioskowania. Aktywując selektywnie tylko podzbiór ekspertów dla każdego tokena wejściowego, modele MoE mogą osiągnąć moc ekspresji znacznie większych, gęstych modeli, wymagając jednocześnie znacznie mniej obliczeń.

Rozważmy na przykład model języka z gęstą warstwą FFN zawierającą 7 miliardów parametrów. Jeśli zastąpimy tę warstwę warstwą MoE składającą się z ośmiu ekspertów, każdy z 7 miliardami parametrów, łączna liczba parametrów wzrośnie do 56 miliardów. Jeśli jednak podczas wnioskowania aktywujemy tylko dwóch ekspertów na token, koszt obliczeń jest równoważny modelowi gęstemu o 14 miliardach parametrów, ponieważ oblicza on dwa mnożenia macierzy po 7 miliardów parametrów.

Ta wydajność obliczeniowa podczas wnioskowania jest szczególnie cenna w scenariuszach wdrożeń, w których zasoby są ograniczone, np. urządzenia mobilne lub środowiska przetwarzania brzegowego. Ponadto zmniejszone wymagania obliczeniowe podczas szkolenia mogą prowadzić do znacznych oszczędności energii i mniejszego śladu węglowego, co odpowiada rosnącemu naciskowi na zrównoważone praktyki AI.

Wyzwania i rozważania

Chociaż modele MoE oferują przekonujące korzyści, ich przyjęcie i wdrożenie wiąże się również z kilkoma wyzwaniami i kwestiami do rozważenia:

  1. Niestabilność treningu: Wiadomo, że modele MoE są bardziej podatne na niestabilności szkoleniowe w porównaniu do ich gęstych odpowiedników. Problem ten wynika z rzadkiego i warunkowego charakteru aktywacji ekspertów, co może prowadzić do wyzwań w zakresie propagacji i zbieżności gradientu. Aby złagodzić te niestabilności, zaproponowano techniki takie jak utrata z routera (Zoph i in., 2022), ale nadal potrzebne są dalsze badania.
  2. Dostrajanie i nadmierne dopasowanie: Modele MoE mają tendencję do łatwiejszego nadmiernego dopasowania podczas dostrajania, szczególnie gdy zadanie końcowe ma stosunkowo mały zbiór danych. Takie zachowanie przypisuje się zwiększonej pojemności i rzadkości modeli MoE, co może prowadzić do nadmiernej specjalizacji danych szkoleniowych. Aby złagodzić ten problem, wymagane są ostrożne strategie regularyzacji i dostrajania.
  3. Wymagania dotyczące pamięci: Chociaż modele MoE mogą zmniejszyć koszty obliczeniowe podczas wnioskowania, często mają wyższe wymagania dotyczące pamięci w porównaniu z gęstymi modelami o podobnej wielkości. Dzieje się tak dlatego, że wszystkie wagi eksperckie muszą zostać załadowane do pamięci, mimo że dla każdego wejścia aktywowany jest tylko podzbiór. Ograniczenia pamięci mogą ograniczać skalowalność modeli MoE na urządzeniach o ograniczonych zasobach.
  4. Równoważenie obciążenia: Aby osiągnąć optymalną wydajność obliczeniową, kluczowe jest zrównoważenie obciążenia między ekspertami, tak aby żaden z ekspertów nie był przeciążony, a inni pozostali niedostatecznie wykorzystani. To równoważenie obciążenia zwykle osiąga się poprzez straty dodatkowe podczas szkolenia i dokładne dostrojenie współczynnika wydajności, który określa maksymalną liczbę tokenów, które można przypisać każdemu ekspertowi.
  5. Narzut komunikacyjny: W rozproszonych scenariuszach szkolenia i wnioskowania modele MoE mogą wprowadzić dodatkowe obciążenie komunikacyjne ze względu na potrzebę wymiany informacji o aktywacji i gradiencie pomiędzy ekspertami korzystającymi z różnych urządzeń lub akceleratorów. Aby złagodzić ten narzut, niezbędne są skuteczne strategie komunikacji i projektowanie modeli uwzględniających sprzęt.

Pomimo tych wyzwań potencjalne korzyści płynące z modeli MoE w zakresie tworzenia większych i bardziej wydajnych modeli językowych pobudziły znaczące wysiłki badawcze mające na celu rozwiązanie i złagodzenie tych problemów.

Przykład: Mixtral 8x7B i GLaM

Aby zilustrować praktyczne zastosowanie MoE w modelach językowych, rozważmy dwa znaczące przykłady: Mixtral 8x7B i GLaM.

Mixtral 8x7B to odmiana MoE Model języka mistralowego, opracowany przez firmę Anthropic. Składa się z ośmiu ekspertów, każdy z 7 miliardami parametrów, co daje w sumie 56 miliardów parametrów. Jednak podczas wnioskowania aktywowanych jest tylko dwóch ekspertów na token, co skutecznie zmniejsza koszt obliczeniowy do kosztów modelu gęstego o 14 miliardach parametrów.

Mixtral 8x7B wykazał imponującą wydajność, przewyższając model Lama o 70 miliardach parametrów, oferując jednocześnie znacznie krótszy czas wnioskowania. Wydano również dostosowaną do instrukcji wersję Mixtral 8x7B, zwaną Mixtral-8x7B-Instruct-v0.1, która jeszcze bardziej zwiększa jego możliwości w zakresie wykonywania instrukcji w języku naturalnym.

Innym godnym uwagi przykładem jest GLaM (Google Language Model), wielkoskalowy model MoE opracowany przez Google. GLaM wykorzystuje architekturę transformatora składającą się wyłącznie z dekodera i został przeszkolony na ogromnym zestawie danych tokenów o wartości 1.6 biliona tokenów. Model osiąga imponującą wydajność w ocenach kilku i jednorazowych, dorównując jakości GPT-3, zużywając tylko jedną trzecią energii potrzebnej do treningu GPT-3.

Sukces GLaM można przypisać wydajnej architekturze MoE, która umożliwiła trenowanie modelu o dużej liczbie parametrów przy zachowaniu rozsądnych wymagań obliczeniowych. Model ten wykazał również potencjał modeli MoE w zakresie większej efektywności energetycznej i przyjazności dla środowiska w porównaniu z ich gęstymi odpowiednikami.

Architektura Grok-1

GROK MIESZANKA EKSPERTÓW

GROK MIESZANKA EKSPERTÓW

Grok-1 to transformatorowy model MoE o unikalnej architekturze zaprojektowanej w celu maksymalizacji wydajności i efektywności. Przyjrzyjmy się bliżej kluczowym specyfikacjom:

  1. Parametry: Z oszałamiającą liczbą 314 miliardów parametrów, Grok-1 jest jak dotąd największym otwartym LLM. Jednak dzięki architekturze MoE tylko 25% wag (około 86 miliardów parametrów) jest aktywnych w danym momencie, co zwiększa możliwości przetwarzania.
  2. Architektura: Grok-1 wykorzystuje architekturę Mieszaną 8 Ekspertów, przy czym każdy token jest przetwarzany przez dwóch ekspertów podczas wnioskowania.
  3. Warstwy: Model składa się z 64 warstw transformatorów, z których każda zawiera wielogłowicową uwagę i gęste bloki.
  4. tokenizacja: Grok-1 wykorzystuje tokenizer SentencePiece o rozmiarze słownictwa wynoszącym 131,072 XNUMX tokenów.
  5. Osadzanie i kodowanie pozycyjne: Model zawiera 6,144-wymiarowe osadzania i wykorzystuje obrotowe osadzania pozycyjne, umożliwiając bardziej dynamiczną interpretację danych w porównaniu z tradycyjnym kodowaniem o stałym położeniu.
  6. Uwaga: Grok-1 wykorzystuje 48 głowic uwagi do zapytań i 8 głowic uwagi do kluczy i wartości, każdy o rozmiarze 128.
  7. Długość kontekstu: Model może przetwarzać sekwencje o długości do 8,192 tokenów, wykorzystując precyzję bfloat16 do wydajnych obliczeń.

Szczegóły wydajności i implementacji

Grok-1 wykazał imponującą wydajność, przewyższając LLaMa 2 70B i Mixtral 8x7B z wynikiem MMLU na poziomie 73%, pokazując swoją wydajność i dokładność w różnych testach.

Należy jednak pamiętać, że Grok-1 wymaga znacznych zasobów GPU ze względu na swój rozmiar. Obecna implementacja w wersji open source koncentruje się na weryfikacji poprawności modelu i wykorzystuje nieefektywną implementację warstwy MoE, aby uniknąć konieczności stosowania niestandardowych jąder.

Niemniej jednak model obsługuje sharding aktywacyjny i 8-bitową kwantyzację, co może zoptymalizować wydajność i zmniejszyć wymagania dotyczące pamięci.

W niezwykłym posunięciu xAI wypuściło Grok-1 na licencji Apache 2.0, udostępniając jego wagi i architekturę społeczności globalnej do użytku i wkładu.

Wersja open source zawiera przykładowe repozytorium kodu JAX, które demonstruje, jak załadować i uruchomić model Grok-1. Użytkownicy mogą pobrać wagi punktów kontrolnych za pomocą klienta torrent lub bezpośrednio za pośrednictwem HuggingFace Hub, co ułatwia dostęp do tego przełomowego modelu.

Przyszłość mieszanki ekspertów w modelach językowych

Ponieważ zapotrzebowanie na większe i wydajniejsze modele językowe stale rośnie, oczekuje się, że przyjęcie technik MoE nabierze dalszego tempa. Trwające wysiłki badawcze skupiają się na rozwiązaniu pozostałych wyzwań, takich jak poprawa stabilności treningu, łagodzenie nadmiernego dopasowania podczas dostrajania oraz optymalizacja wymagań dotyczących pamięci i komunikacji.

Jednym z obiecujących kierunków jest badanie hierarchicznych architektur MoE, w których każdy ekspert składa się z wielu podekspertów. Takie podejście mogłoby potencjalnie zapewnić jeszcze większą skalowalność i wydajność obliczeniową, przy jednoczesnym zachowaniu mocy wyrazu dużych modeli.

Ponadto aktywnym obszarem badań jest rozwój systemów sprzętu i oprogramowania zoptymalizowanych pod kątem modeli MoE. Wyspecjalizowane akceleratory i rozproszone platformy szkoleniowe zaprojektowane z myślą o skutecznej obsłudze rzadkich i warunkowych wzorców obliczeń modeli MoE mogą jeszcze bardziej zwiększyć ich wydajność i skalowalność.

Co więcej, integracja technik MoE z innymi osiągnięciami w modelowaniu języka, takimi jak mechanizmy rzadkiej uwagi, wydajne strategie tokenizacji i reprezentacje multimodalne, może prowadzić do jeszcze potężniejszych i wszechstronnych modeli językowych, zdolnych do rozwiązywania szerokiego zakresu zadań.

Podsumowanie

Technika Mixture-of-Experts okazała się potężnym narzędziem w poszukiwaniu większych i bardziej wydajnych modeli językowych. Dzięki selektywnemu aktywowaniu ekspertów na podstawie danych wejściowych modele MoE oferują obiecujące rozwiązanie wyzwań obliczeniowych związanych ze skalowaniem gęstych modeli. Chociaż nadal istnieją wyzwania do pokonania, takie jak niestabilność treningu, nadmierne dopasowanie i wymagania dotyczące pamięci, potencjalne korzyści modeli MoE pod względem wydajności obliczeniowej, skalowalności i zrównoważenia środowiskowego czynią je ekscytującym obszarem badań i rozwoju.

Ponieważ dziedzina przetwarzania języka naturalnego w dalszym ciągu przesuwa granice tego, co jest możliwe, przyjęcie technik MoE prawdopodobnie odegra kluczową rolę w umożliwieniu nowej generacji modeli językowych. Łącząc MoE z innymi postępami w architekturze modeli, technikach szkoleniowych i optymalizacji sprzętu, możemy spodziewać się jeszcze potężniejszych i wszechstronnych modeli językowych, które naprawdę rozumieją ludzi i komunikują się z nimi w naturalny i bezproblemowy sposób.

Ostatnie pięć lat spędziłem zanurzając się w fascynującym świecie uczenia maszynowego i głębokiego uczenia się. Moja pasja i wiedza sprawiły, że uczestniczyłem w ponad 50 różnorodnych projektach z zakresu inżynierii oprogramowania, ze szczególnym uwzględnieniem AI/ML. Moja ciągła ciekawość przyciągnęła mnie również w stronę przetwarzania języka naturalnego – dziedziny, którą chcę dalej zgłębiać.