Prompt engineering

Zrozumienie dostrajania modeli LLM: Dostosowywanie dużych modeli językowych do Twoich unikalnych wymagań

mm
Dodaj Unite.AI do preferowanych źródeł w Google
LLM Fine tuning representation - Midjourney

Stając w septembre 2023, krajobraz dużych modeli językowych (LLM) wciąż jest świadkiem pojawiania się modeli, w tym Alpaca, Falcon, Llama 2, GPT-4 i wielu innych.

Ważnym aspektem wykorzystania potencjału tych modeli LLM jest proces dostrajania, strategia, która pozwala na dostosowanie wstępnie wytrenowanych modeli do konkretnych zadań z precyzją. To właśnie poprzez dostrajanie te modele mogą naprawdę dostosować się do indywidualnych wymagań, oferując rozwiązania, które są zarówno innowacyjne, jak i dostosowane do unikalnych potrzeb.

Jednakże, należy zauważyć, że nie wszystkie ścieżki dostrajania są równie skuteczne. Na przykład, dostęp do możliwości dostrajania modelu GPT-4 wymaga płatnej subskrypcji, która jest stosunkowo droższa w porównaniu z innymi opcjami dostępnymi na rynku. Z drugiej strony, obszar open-source oferuje alternatywy, które zapewniają bardziej dostępny sposób wykorzystania mocy dużych modeli językowych. Te opcje open-source demokratyzują dostęp do zaawansowanej technologii AI, promując innowacje i inkluzywność w szybko ewoluującym krajobrazie AI.

Dlaczego dostrajanie modeli LLM jest ważne?

Dostrajanie modeli LLM jest więcej niż tylko technicznym udoskonaleniem; jest to kluczowy aspekt rozwoju modeli LLM, który pozwala na bardziej szczegółowe i wyrafinowane zastosowanie w różnych zadaniach. Dostrajanie dostosowuje wstępnie wytrenowane modele do lepszego dopasowania do konkretnych zbiorów danych, poprawiając ich wydajność w konkretnych zadaniach i zapewniając bardziej ukierunkowane zastosowanie. Otwiera to niezwykłą zdolność modeli LLM do adaptacji do nowych danych, prezentując elastyczność, która jest niezbędna w rosnącym zainteresowaniu aplikacjami AI.

Dostrajanie dużych modeli językowych otwiera wiele możliwości, pozwalając im excelować w konkretnych zadaniach, od analizy sentymentu do przeglądów literatury medycznej. Poprzez dostosowanie modelu bazowego do konkretnego przypadku użycia, odblokowujemy nowe możliwości, poprawiając wydajność i dokładność modelu. Co więcej, ułatwia to bardziej ekonomiczne wykorzystanie zasobów systemowych, ponieważ dostrajanie wymaga mniej mocy obliczeniowej w porównaniu z trenowaniem modelu od podstaw.

Przykładowo, dostosowując model do konkretnego zadania, takiego jak tłumaczenie języka, możemy uzyskać lepsze wyniki i bardziej precyzyjne tłumaczenia.

Dostrajanie oparte na instrukcjach

Faza dostrajania w cyklu życia AI generatywnej, ilustrowana na poniższym rysunku, charakteryzuje się integracją wejść i wyjść instrukcji, wraz z przykładami krok po kroku rozumowania. Ten podejście umożliwia modelowi generowanie odpowiedzi, które są nie tylko istotne, ale także precyzyjnie zgodne z konkretnymi instrukcjami wprowadzonymi do niego. To właśnie w tej fazie wstępnie wytrenowane modele są dostosowywane do rozwiązywania odrębnych zadań i przypadków użycia, wykorzystując personalizowane zbiory danych do poprawy ich funkcjonalności.

Generative AI Lifecycle - Fine Tuning, Prompt Engineering and RLHF

Generative AI Lifecycle – Fine Tuning

Dostrajanie jednego zadania

Dostrajanie jednego zadania koncentruje się na udoskonaleniu umiejętności modelu w konkretnym zadaniu, takim jak podsumowanie. Ten podejście jest szczególnie korzystny w optymalizacji przepływów pracy, które obejmują znaczne dokumenty lub wątki rozmów, w tym dokumenty prawne i bilety wsparcia klienta. Niezwykle, to dostrajanie może osiągnąć znaczne poprawy wydajności z relatywnie małym zestawem przykładów, od 500 do 1000, w przeciwieństwie do miliardów tokenów wykorzystywanych w fazie wstępnego trenowania.

Przykład dostrajania jednego zadania

Przykład dostrajania jednego zadania

 

Podstawy dostrajania modeli LLM: Architektura transformatora i więcej

Podróż przez zrozumienie dostrajania modeli LLM zaczyna się od zrozumienia podstawowych elementów, które tworzą modele LLM. W sercu tych modeli leży architektura transformatora, sieć neuronowa, która wykorzystuje mechanizmy uwagi do priorytetowego traktowania kontekstu słów nad ich bliskością w zdaniu. Ten innowacyjny podejście umożliwia głębsze zrozumienie odległych relacji między tokenami wejściowymi.

Podczas przechodzenia przez złożoności transformatora, spotykamy wieloetapowy proces, który zaczyna się od kodera. Ta pierwsza faza obejmuje tokenizację wejścia i tworzenie wektorów osadzania, które reprezentują wejście i jego położenie w zdaniu. Następne etapy obejmują serię obliczeń z użyciem macierzy znanych jako Zapytanie, Wartość i Klucz, kończąc się na wyniku uwagi, który dyktuje focus na różnych częściach zdania i tokenach.

Architektura transformatora

Architektura transformatora

Dostrajanie jest krytyczną fazą w rozwoju modeli LLM, procesem, który wymaga subtelnych dostosowań, aby osiągnąć bardziej pożądane wyniki. Ta faza, choć istotna, prezentuje zestaw wyzwań, w tym wymagania obliczeniowe i pamięciowe związane z obsługą ogromnej liczby parametrów. Dostrajanie efektywne w parametrach (PEFT) oferuje techniki do redukcji liczby parametrów do dostrajania, tym samym upraszczając proces trenowania.

Wstępne trenowanie modeli LLM: Ustanowienie silnej bazy

W początkowych etapach rozwoju modeli LLM, wstępne trenowanie zajmuje centralne miejsce, wykorzystując nadparametryzowane transformatory jako podstawową architekturę. Ten proces obejmuje modelowanie języka naturalnego w różnych sposób, takich jak dwukierunkowe, autoregresyjne lub sekwencyjne, na dużych, nienadzorowanych zbiorach danych. Celem jest tutaj stworzenie bazy, która może być później dostrajana do konkretnych zadań dolnych poprzez wprowadzenie zadań specyficznych dla zadania.

Wstępne trenowanie, dostrajanie

Wstępne trenowanie, dostrajanie

Warte uwagi jest trend w tym zakresie, którym jest nieuniknione zwiększanie się skali wstępnie wytrenowanych modeli LLM, mierzonej liczbą parametrów. Empiryczne dane konsekwentnie pokazują, że większe modele, w połączeniu z większą ilością danych, prawie zawsze dają lepsze wyniki. Na przykład, GPT-3, z jego 175 miliardami parametrów, ustanowił benchmark w generowaniu wysokiej jakości języka naturalnego i wykonywaniu szerokiej gamy zadań zero-shot z biegłością.

Dostrajanie: Ścieżka do adaptacji modelu

Po wstępnym trenowaniu model LLM przechodzi dostrajanie, aby dostosować się do konkretnych zadań. Pomimo obiecujących wyników pokazanych przez uczenie się w kontekście w wstępnie wytrenowanych modelach LLM, takich jak GPT-3, dostrajanie pozostaje lepsze w ustawieniach specyficznych dla zadań. Jednak powszechny podejście pełnego dostrajania parametrów prezentuje wyzwania, w tym wysokie wymagania obliczeniowe i pamięciowe, szczególnie przy radzeniu sobie z dużymi modelami.

Dla dużych modeli językowych z ponad miliardem parametrów, efektywne zarządzanie pamięcią RAM GPU jest kluczowe. Jeden parametr modelu przy pełnej precyzji 32-bitowej wymaga 4 bajtów miejsca, co przekłada się na wymóg 4 GB pamięci RAM tylko do załadowania modelu o tej skali. Rzeczywisty proces trenowania wymaga jeszcze więcej pamięci, aby pomieścić różne składniki, w tym stany optymalizatora i gradienty, potencjalnie wymagając do 80 GB pamięci RAM dla modelu tej skali.

Aby nawigować w ograniczeniach pamięci RAM, stosuje się kwantyzację, technika, która redukuje precyzję parametrów modelu, zmniejszając w ten sposób wymagania pamięci. Na przykład, zmiana precyzji z 32-bitowej na 16-bitową może zmniejszyć o połowę wymagania pamięci zarówno do załadowania, jak i trenowania modelu. Później w tym artykule dowiemy się więcej o QLoRA, który wykorzystuje koncepcję kwantyzacji do dostrajania.

Wymagania pamięci GPU modelu LLM w zależności od liczby parametrów i precyzji

Wymagania pamięci GPU modelu LLM w zależności od liczby parametrów i precyzji

 

Badanie kategorii metod PEFT

W procesie pełnego dostrajania dużych modeli językowych, istotne jest posiadanie konfiguracji obliczeniowej, która może efektywnie radzić sobie nie tylko z ogromnymi wagami modelu, które w przypadku najbardziej zaawansowanych modeli osiągają teraz rozmiary w setkach gigabajtów, ale także zarządzać szeregiem innych krytycznych elementów. Obejmują one one alokację pamięci dla stanów optymalizatora, zarządzanie gradientami, aktywacjami do przodu i zapewnianie tymczasowej pamięci podczas różnych etapów procedury trenowania.

Metoda addytywna

Ten typ dostrajania może uzupełnić wstępnie wytrenowany model o dodatkowe parametry lub warstwy, koncentrując się na trenowaniu tylko nowo dodanych parametrów. Pomimo zwiększenia liczby parametrów, te metody poprawiają czas i wydajność trenowania. Metoda addytywna jest dalej podzielona na podkategorie:

  • Adapter: Włączanie małych, w pełni połączonych sieci po warstwach transformatora, zgodnie z AdaMix, KronA i Compactor.
  • Miękkie prompty: Dostrajanie segmentu osadzania wejściowego modelu przez gradientowy zstępowanie, z IPT, prefix-tuning i WARP jako prominentnymi przykładami.
  • Inne podejścia addytywne: Obejmują techniki takie jak LeTS, AttentionFusion i Ladder-Side Tuning.

Metoda selektywna

Selektywne PEFT dostrajają ograniczoną liczbę warstw górnych w oparciu o typ warstwy i wewnętrzną strukturę modelu. Ta kategoria obejmuje metody takie jak BitFit i LN tuning, które koncentrują się na dostrajaniu konkretnych elementów, takich jak biasy modelu lub określone wiersze.

Metoda oparta na reproparametryzacji

Te metody wykorzystują niskie reprezentacje rangi do redukcji liczby trenowanych parametrów, z najbardziej znanym jako niskie dostosowanie rangi lub LoRA. Ta metoda wykorzystuje proste, niskie rozłożenie macierzy do parametryzacji aktualizacji wagi, demonstrując skuteczne dostrajanie w niskich przestrzeniach rangi.

1) LoRA (Niskie dostosowanie rangi)

LoRA pojawiło się jako przełomowa technika PEFT, wprowadzona w pracy przez Edward J. Hu i innych w 2021. Działa w ramach kategorii reproparametryzacji, zamykając oryginalne wagi modelu LLM i włączając nowe, trenowalne macierze niskiej rangi do każdej warstwy architektury transformatora. Ten podejście nie tylko skraca liczbę trenowalnych parametrów, ale także zmniejsza czas trenowania i wymagania obliczeniowe, prezentując bardziej efektywną alternatywę dla pełnego dostrajania.

Aby zrozumieć mechanikę LoRA, należy powrócić do architektury transformatora, gdzie wprowadzony promt przechodzi przez tokenizację i konwersję w wektory osadzania. Te wektory przechodzą przez segmenty kodera i/lub dekodera transformatora, spotykając sieci uwagi i feed-forward, których wagi są wstępnie wytrenowane.

LoRA wykorzystuje koncepcję rozłożenia singularnego (SVD). Podstawowo, SVD dzieli macierz na trzy odrębne macierze, jedną z nich jest macierz diagonalna zawierająca singularne wartości. Te wartości singularne są kluczowe, ponieważ mierzą znaczenie różnych wymiarów w macierzach, z większymi wartościami wskazującymi na większe znaczenie i mniejszymi wartościami na mniejsze znaczenie.

Rozłożenie singularne (SVD) macierzy m × n

Rozłożenie singularne (SVD) macierzy m × n

Ten podejście pozwala LoRA na zachowanie istotnych cech danych, redukując jednocześnie wymiarowość, optymalizując proces dostrajania.

LoRA interweniuje w tym procesie, zamykając wszystkie oryginalne parametry modelu i wprowadzając parę “macierzy rozkładu rangi” obok oryginalnych wag. Te mniejsze macierze, oznaczone jako A i B, przechodzą przez trenowanie za pomocą nadzorowanego uczenia.

Kluczowym elementem w tej strategii jest parametr zwany rangą (‘r’), który dyktuje rozmiar macierzy niskiej rangi. Staranne wybranie ‘r’ może dać imponujące wyniki, nawet przy mniejszej wartości, tworząc macierz niskiej rangi z mniejszą liczbą parametrów do trenowania. Ten podejście zostało skutecznie zaimplementowane przy użyciu bibliotek open-source, takich jak HuggingFace Transformers, ułatwiając dostrajanie LoRA dla różnych zadań zgodnie z wydajnością.

2) QLoRA: Zwiększanie wydajności LoRA

Budując na fundamencie LoRA, QLoRA dalej minimalizuje wymagania pamięciowe. Wprowadzony przez Tim Dettmers i innych w 2023, łączy adaptację niskiej rangi z kwantyzacją, wykorzystując format kwantyzacji 4-bitowej zwany NormalFloat lub nf4. Kwantyzacja jest podstawowo procesem, który przenosi dane z wyższej reprezentacji informacyjnej do tej z mniejszą ilością informacji. Ten podejście utrzymuje skuteczność metod dostrajania 16-bitowych, dekwantyzując 4-bitowe wagi do 16-bitowych, gdy jest to konieczne podczas procesów obliczeniowych.

Porównanie metod dostrajania: QLORA zwiększa LoRA z kwantyzacją 4-bitową i optymalizatorami stronicowanymi do zarządzania skokami pamięci

Porównanie metod dostrajania: QLORA zwiększa LoRA z kwantyzacją 4-bitową i optymalizatorami stronicowanymi do zarządzania skokami pamięci

QLoRA wykorzystuje NumericFloat4 (nf4), celując we wszystkie warstwy architektury transformatora, i wprowadza koncepcję podwójnej kwantyzacji, aby dalej zmniejszyć ślad pamięciowy wymagany do dostrajania. To osiągane jest przez wykonanie kwantyzacji na już zkwantyfikowanych stałych, strategii, która unika typowych skoków pamięci gradientu poprzez wykorzystanie optymalizatorów stronicowanych i zarządzania pamięcią zjednoczonej.

Guanaco, który jest ensemble QLoRA-tuned, ustanawia benchmark w rozwiązaniach chatbotów open-source. Jego wydajność, potwierdzona przez systematyczne oceny ludzkie i automatyczne, podkreśla jego dominację i efektywność w tej dziedzinie.

Wersje 65B i 33B Guanaco, dostrajane przy użyciu zmodyfikowanej wersji zestawu danych OASST1, pojawiają się jako potężni konkurenci do słynnych modeli, takich jak ChatGPT i nawet GPT-4.

Dostrajanie z wykorzystaniem uczenia ze wzmocnieniem z ludzkiej informacji zwrotnej

Uczenie ze wzmocnieniem z ludzkiej informacji zwrotnej (RLHF) pojawia się w dostrajaniu wstępnie wytrenowanych modeli językowych, aby jeszcze bardziej dopasować je do ludzkich wartości. Ta koncepcja została wprowadzona przez Open AI w 2017, ustanawiając podstawę dla udoskonalonej dokumentacji podsumowującej i rozwoju InstructGPT.

W centrum RLHF leży paradygmat uczenia ze wzmocnieniem, typ techniki uczenia maszynowego, w której agent uczy się, jak zachowywać się w środowisku, wykonując działania i otrzymując nagrody. Jest to ciągły cykl działania i informacji zwrotnej, w którym agent jest zachęcany do podejmowania wyborów, które przyniosą najwyższą nagrodę.

Przenosząc to na obszar modeli językowych, agent jest samym modelem, działającym w środowisku określonego kontekstu i podejmującym decyzje na podstawie stanu, który jest definiowany przez bieżące tokeny w kontekście. “Przestrzeń działania” obejmuje wszystkie potencjalne tokeny, które model może wybrać, a celem jest wybranie tokena, który najlepiej odpowiada ludzkim preferencjom.

Proces RLHF wykorzystuje ludzką informację zwrotną w znacznym stopniu, wykorzystując ją do trenowania modelu nagrody. Ten model odgrywa kluczową rolę w kierowaniu wstępnie wytrenowanym modelem podczas dostrajania, zachęcając go do generowania wyników, które są bardziej zgodne z ludzkimi wartościami. Jest to dynamiczny i iteracyjny proces, w którym model uczy się poprzez serię “wykonanych akcji”, termin używany do opisania sekwencji stanów i akcji prowadzących do nagrody w kontekście generowania języka.

Jednym z niezwykłych potencjałów RLHF jest jego zdolność do wspierania personalizacji w asystentach AI, dostosowując je do indywidualnych preferencji użytkowników, czy to ich poczucia humoru, czy codziennych rutyn. Otwiera to drogi do tworzenia systemów AI, które nie tylko są technicznie biegłe, ale także emocjonalnie inteligentne, zdolne do zrozumienia i odpowiedzi na niuanse w komunikacji ludzkiej.

Jednakże, należy zauważyć, że RLHF nie jest rozwiązaniem idealnym. Modele nadal są podatne na generowanie niepożądanych wyników, odzwierciedlając ogromne i często niesprawdzane oraz tendencyjne dane, na których są trenowane.

Podsumowanie

Proces dostrajania, kluczowy krok w wykorzystaniu pełnego potencjału modeli LLM, takich jak Alpaca, Falcon i GPT-4, stał się bardziej wyrafinowany i ukierunkowany, oferując dostosowane rozwiązania do szerokiej gamy zadań.

Widzieliśmy dostrajanie jednego zadania, które specjalizuje modele w konkretnych rolach, oraz metody PEFT, w tym LoRA i QLoRA, które mają na celu uczynienie procesu trenowania bardziej efektywnym i ekonomicznym. Te rozwoje otwierają drzwi do wysokiego poziomu funkcjonalności AI dla szerszej publiczności.

Ponadto, wprowadzenie RLHF przez Open AI jest krokiem w kierunku tworzenia systemów AI, które jeszcze bardziej rozumieją i są zgodne z ludzkimi wartościami i preferencjami, ustanawiając scenę dla asystentów AI, którzy nie tylko są mądrzy, ale także wrażliwi na potrzeby poszczególnych użytkowników. Zarówno RLHF, jak i PEFT pracują synergistycznie, aby poprawić funkcjonalność i efektywność dużych modeli językowych.

Podczas gdy firmy, przedsiębiorstwa i osoby indywidualne szukają integracji tych dostrajanych modeli LLM ze swoimi operacjami, w zasadzie witają przyszłość, w której AI jest więcej niż tylko narzędziem; jest partnerem, który rozumie i dostosowuje się do kontekstów ludzkich, oferując rozwiązania, które są innowacyjne i personalizowane.

Przez ostatnie pięć lat zanurzałem się w fascynującym świecie Machine Learning i Deep Learning. Moja pasja i ekspertyza doprowadziły mnie do udziału w ponad 50 różnorodnych projektach inżynierii oprogramowania, ze szczególnym uwzględnieniem AI/ML. Moja nieustanna ciekawość również skierowała mnie w stronę Natural Language Processing, dziedziny, którą chcę dalej eksplorować.