Autor: Charles Foster
W Finetune budujemy rozwiązania AI, aby zająć się niektórymi z najbardziej wymagających problemów w technologii edukacyjnej, w tym automatycznym generowaniem treści oraz klasyfikacją i rekomendacjami zasobów edukacyjnych z wykorzystaniem AI. Ponieważ tematyka, z którą muszą radzić sobie nasze narzędzia, obejmuje zakres od K-12 po rozwój zawodowy, intensywnie inwestujemy w metody, które pozwalają nam zwiększyć zakres i głębokość tego, co obejmują nasze modele. Kluczowymi elementami tego podejścia są elastyczne metody szkolenia wyspecjalizowanych sieci neuronowych w dziedzinach, w których ogólne modele są niewystarczające. W tym wpisie na blogu chciałbym podzielić się fragmentem naszej podróży, badając te metody.
Fine-tuning
Typowy fine-tuning modeli językowych neuronowych polega na jednoczesnej optymalizacji wszystkich ich parametrów, które mogą wynosić wiele miliardów w przypadku sieci takich jak GPT-J. Przy takich skalach zarówno proces fine-tuningu, jak i wnioskowania są niebanalne, co utrudnia szerokie wdrożenie tych modeli. W naszych własnych badaniach kilka kluczowych problemów wydawało się największe:
- Po prostu uruchomienie tych modeli transformatorowych zderza się już z limitami pamięci GPU (VRAM), a podczas fine-tuningu istnieje bezpośredni związek między liczbą parametrów optymalizowanych a ilością dodatkowej pamięci zużywanej.
- Zmieniając wszystkie parametry w sieci, może zostać zakłócony przepływ informacji nauczony podczas wstępnego szkolenia, co skutkuje zapominaniem i utratą zdolności do nielicznych przykładów.
- Serwowanie dostosowanego modelu o wielkości wielu gigabajtów dla każdego przypadku użycia stworzyłoby nieakceptowalne opóźnienia i koszty.
Te połączone obawy zmotywowały nas do zbadania innych metod z ostatniej literatury, aby dostroić nasze modele językowe. Na szczęście, w ciągu ostatniego roku sfera badań nad przetwarzaniem języka naturalnego opracowała wiele metod, aby obniżyć koszty dostosowywania zachowań wstępnie wytrenowanych modeli językowych.
Dostosowanie promptów
Oryginalne podejście, które przyjęliśmy, nazywa się Dostosowaniem promptów lub Miękkim Dostosowaniem (Lester i in. 2021). W tej metodzie parametry sieci z wstępnego szkolenia są zatrzymywane w zamrożeniu. Zamiast tego dodajemy niewielką liczbę uczących się wektorów osadzenia (zwykle od 10 do 20) przed tokenami promptów wejściowych i dostosowujemy te osadzenia przy użyciu standardowego celu modelowania językowego na zbiorze danych do fine-tuningu. Te osadzenia nie reprezentują tokenów języka; możemy myśleć o nich jako o gęstym zbiorze kontekstu, na którym sieć może się opierać—poprzez mechanizm uwagi—gdy dokonuje prognoz na temat tokenów w sekwencji.
Dostosowanie promptów dodaje tylko niewielki koszt czasowy do modelu, ponieważ miękkie prompty są w zakresie kilobajtów i mogą być przetwarzane w sieci równolegle. Te cechy czynią je atrakcyjnymi do obsługi wielu równoczesnych użytkowników, co wskazały ostatnie wdrożenia tej techniki w opowiadaniu historii AI. Jednak integracja miękkich promptów w popularnych ramach, takich jak transformery HuggingFace, jest skomplikowana, ponieważ interfejsy są w dużej mierze zaprojektowane do działania na sekwencjach indeksów tokenów, a nie na gęstych wektorach. Ponadto, gdy dodawany jest większy kontekst między miękkim promptem a generacją, zaczynamy dostrzegać nierównowagę między siłą warunkowania na miękkim promcie a kontekstem tokenów. Utrzymanie zdolności do elastycznego dodawania setek tokenów kontekstu w czasie działania było dla nas ważne, ponieważ zapewnia dodatkowe precyzyjne dźwignie kontroli w procesie tworzenia przedmiotów. Jeśli chcemy skierować model na treści z konkretnej strony podręcznika lub stworzyć pytania do czytania ze zrozumieniem, albo dostarczyć kilka przykładów, długoterminowe kontekstualizacje mają znaczenie.
Adaptery niskiej rangi (LoRA)
Później przeszliśmy do metody zwanej LoRA lub Adaptery niskiej rangi (Hu i in. 2021). Technika ta została opracowana przez badaczy z Microsoftu pracujących nad modelami wielkości GPT-3 i opiera się na wcześniejszych podejściach do adapterów. Jeśli myślimy o transformatorze jako o stopniowo udoskonalającym swoje latentne stany tokenów z każdą warstwą resztkową, koncepcja adaptera polega na dodaniu niewielkiej, zależnej od wejścia delty (zainicjowanej jako operacja no-op) do tych latentów na danej warstwie. To delikatne pchnięcie może następnie modulować jego zachowanie w dół strumienia, na przykład, podkreślając te części wejścia, które są istotne dla zadania.
Adaptery niskiej rangi to rodzaj adaptera, który celuje w podprzestrzeń o niskiej randze, co ogranicza liczbę nowych parametrów, które musimy trenować (z D2 do 2 × D × r, gdzie D liczy się w tysiącach). Tak jak w przypadku miękkiego dostosowywania, zatrzymujemy oryginalne parametry sieci w zamrożeniu, aby zachować wszelką wiedzę, jaką zawierają z wstępnego szkolenia, i tylko dostosowujemy te nowe parametry adapterów. W naszych wewnętrznych testach widzieliśmy dobre wskaźniki z LoRA. Oprócz umożliwienia nam dostrojenia dużych modeli na małych budżetach sprzętowych, modele z warstwami adapterów również zachowują dużą część swojej oryginalnej zdolności do nielicznych przykładów, jednocześnie dostosowując się do docelowej dziedziny. Co ciekawe, integracja adapterów niskiej rangi w inne ramy jest prosta, ponieważ możemy po prostu wymienić istniejące warstwy liniowe na warstwy liniowe + adaptery w razie potrzeby.
Idąc naprzód
Aby dać poczucie rodzaju ulepszeń, które zaobserwowaliśmy w naszych badaniach, poniżej dzielimy się małym wyborem generacji z modeli trenowanych z różnymi podejściami do dostosowywania. Te przedmioty zostały wygenerowane przy użyciu tych samych trzech promptów wejściowych dotyczących dostarczania opieki pielęgniarskiej: pierwszy koncentrował się na priorytetach dotyczących potrzeb wielu klientów, a drugi na podejmowaniu działań w zespole.
Przedmiot #1: Pielęgniarka ocenia klienta, który jest umówiony na operację ambulatoryjną. Którego z poniższych pacjentów pielęgniarka powinna ocenić następnie? (A) Pacjent z cukrzycą typu 1 (B) Pacjent z ostrym zapaleniem trzustki (C) Pacjent, który wymaga terapii antybiotykowej dożylnej (D) Pacjent z chorobą Leśniowskiego-Crohna Przedmiot #2: Klient zostaje przyjęty do szpitala z diagnozą przewlekłej niewydolności serca. Matka klienta odmawia leczenia. Które z poniższych działań powinna podjąć pielęgniarka? (A) Powiadomić dostawcę o sytuacji. (B) Sprawdzić listę leków pacjenta. (C) Sprawdzić kartę medyczną klienta. (D) Powiadomić lekarza klienta o stanie klienta.
Przedmiot #3: Pielęgniarka ocenia pacjenta na oddziale pediatrycznym. Klient jest umówiony na diagnostykę, w tym rentgen klatki piersiowej. Którego z poniższych pacjentów pielęgniarka powinna planować ocenić następnie? (A) Dziecko z zapaleniem płuc i gorączką (B) Dziecko z wysypką, które nie reaguje na leki (C) Dziecko z gorączką i temperaturą >100,4 (D) Dziecko z gorączką i wysypką Przedmiot #4: Klient z niewydolnością nerek jest w szpitalu i ma zaplanowany przeszczep nerki. Klient ma silne przekonanie, że chirurg przeszczepowy jest niekompetentny. Klient odmawia pozwolenia lekarzowi z innego szpitala na przeprowadzenie przeszczepu. Które z poniższych działań powinna podjąć pielęgniarka dyżurna? (A) Wziąć oświadczenie od klienta, że chirurg przeszczepowy jest kompetentny i przekazać je chirurgowi przeszczepowemu. (B) Poprosić klienta o podpisane oświadczenie potwierdzające jej twierdzenie. (C) Skontaktować się z chirurgiem przeszczepowym i dowiedzieć się, dlaczego klient odmawia pozwolenia chirurgowi z innego szpitala na przeprowadzenie przeszczepu. (D) Poinformować chirurga przeszczepowego, że klient odmawia przeszczepu.
Przedmiot #5: Pielęgniarka planuje przydzielić klientów do różnych stanowisk przyłóżkowych. Którego z poniższych klientów pielęgniarka powinna przydzielić do stanowiska przyłóżkowego najbliżej stanowiska pielęgniarskiego? (A) Klient z podejrzeniem zatoru płucnego i wymagający tomografii komputerowej (CT) (B) Klient, który potrzebuje pomocy przy wypróżnieniu (C) Klient z nagłym wskazaniem do wykonania zdjęcia rentgenowskiego klatki piersiowej (D) Klient, który potrzebuje zdjęcia rentgenowskiego klatki piersiowej, ponieważ ma kaszel Przedmiot #6: LPN opiekuje się klientem z cewnikiem moczowym i prosi pielęgniarkę o pomoc w czyszczeniu cewnika. Które z poniższych działań powinna podjąć pielęgniarka? (A) Wyjaśnić klientowi, że będzie musiała dostarczyć roztwór czyszczący i uzyskać zgodę klienta na zabieg. (B) Poprosić LPN o pomoc. (C) Oferować pomoc klientowi w czyszczeniu cewnika. (D) Uspokoić LPN, że pielęgniarka jej pomoże.
Możemy zaobserwować, że chociaż najlepsze przedmioty z modelu podstawowego są w dużej mierze płynne i logicznie spójne, mają tendencję do bycia niedostatecznie restrykcyjnymi (jak w #1) lub wymagają bardzo małej wiedzy z zakresu pielęgniarstwa (jak w #3). W porównaniu z przedmiotami podstawowymi, przedmioty z modeli dostosowania promptów i adapterów niskiej rangi zawierają większe szczegóły w swoich bodźcach, korzeniach i opcjach. Tematyka jest istotna dla dziedziny, wymagająca specyficznej wiedzy w zarządzaniu opieką pielęgniarską, a nie polegania tylko na wiedzy ogólnej. Co więcej, przedmioty z modelu adapterów niskiej rangi mają bardziej spójną formę. Na przykład, przedmioty konsekwentnie odnoszą się do "klienta" w przeciwieństwie do "pacjenta", zgodnie z językiem, który prawdopodobnie pojawiłby się w ocenach (porównaj #5 z #1 i #3). Udało im się również śledzić odniesienia do wielu osób w scenariuszu (porównaj #6 z #4).
Ulepszenia w zakresie pokrycia dziedziny, spójności stylistycznej i logicznej koherencji mogą przetłumaczyć się na znaczące poprawy w użyteczności modeli językowych neuronowych. To dopiero początek: w miarę dojrzewania technologii odkrywane będą jeszcze więcej metod do tworzenia dostosowanych, kontrolowalnych modeli językowych na dużą skalę. A gdy te metody będą odkrywane, będziemy nadal włączać to, co najlepsze z akademickiego świata, przemysłu i niezależnych badań do produktów Finetune.
Szczere podziękowania dla Nicka Koprowicza, Jessego Hamera, Saada Khana i Ogdena Morsa za udzielenie pomocnych uwag w trakcie opracowywania tego wpisu na blogu.
Bibliografia
Hu, E. J., Shen, Y., Wallis, P., Allen-Zhu, Z., Li, Y., Wang, S., … & Chen, W. (2021). Lora: Adaptacja niskiej rangi dużych modeli językowych. arXiv preprint arXiv:2106.09685.
Lester, B., Al-Rfou, R., & Constant, N. (2021). Siła skali dla efektywnego dostosowywania promptów. arXiv preprint arXiv:2104.08691.