Back to archive
#ai#llm#glossary#aigen

Reinforcement Learning from Human Feedback

Prosisz model: „Napisz krótką odmowę zaproszenia, bez podawania powodu”. Dostajesz dwie propozycje. A: „Dziękuję za zaproszenie. Tym razem nie przyjdę”. B: „Dziękuję za zaproszenie. Nie przyjdę, bo wyjeżdżam”. Obie brzmią naturalnie, lecz B dopisuje niepodany powód i łamie instrukcję. Samo uczenie przewidywania kolejnych kawałków tekstu nie daje bezpośredniej oceny, która gotowa odpowiedź lepiej służy użytkownikowi. Człowiek może jednak porównać propozycje i wskazać A.

Reinforcement Learning from Human Feedback (RLHF) wykorzystuje informację zwrotną od ludzi do kierowania uczeniem ze wzmocnieniem. W klasycznym wariancie dla modeli językowych ludzkie porównania uczą osobny model oceniający odpowiedzi; jego wyniki służą następnie jako nagroda w dalszym treningu modelu generującego. Taki przebieg opisują Ouyang i współautorzy, Training language models to follow instructions with human feedback, §3.1 i §3.5.

Dłoń wybierająca jeden z dwóch papierowych kształtów i przenosząca go do formy, jako metafora przekazywania ludzkiej preferencji do oceniacza.

Od wskazania A do zmiany sposobu odpowiadania

W opisanej pracy najpierw doucza się model na przykładach odpowiedzi napisanych przez ludzi. To Supervised Fine-Tuning (SFT): Fine-tuning, czyli dalsze uczenie istniejącego modelu, z dostarczonymi odpowiedziami do naśladowania. W naszym przykładzie pokazujemy mu między innymi odmowy bez dopisywania powodów.

Następnie ludzie porównują odpowiedzi na te same prośby. Na wielu takich parach trenuje się reward model, osobny model przypisujący odpowiedzi liczbę. Uczy się wystawiać wyższe oceny odpowiedziom preferowanym przez oceniających. Dla naszej pary oznacza to wynik A wyższy od B. Nie potrzeba jednej idealnej wersji odmowy; informacją jest relacja „A jest lepsze od B”.

Potem model generujący tworzy nowe odpowiedzi i dostaje oceny od reward model. Algorytm Reinforcement Learning zmienia jego parametry, czyli liczby sterujące działaniem, aby zwiększać oczekiwaną nagrodę, czyli średnią ocenę w wielu próbach. W InstructGPT użyto do tego PPO, algorytmu stopniowego aktualizowania strategii. Dodano też karę za odchodzenie od wcześniejszego modelu, mierzoną przez KL Divergence — miarę różnicy między zestawami szans przypisywanych możliwym odpowiedziom. Ograniczała ona nadmierne dopasowanie do oceniacza (§3.5, dodatek C.4).

Po takim treningu odmowy podobne do A mogą pojawiać się częściej. Zmienia się model, nie tylko wybór spośród dwóch gotowych tekstów. Człowiek nie musi oceniać każdej odpowiedzi w każdym kroku; w tym wariancie zastępuje go wyuczony oceniacz. To jeden konkretny przebieg RLHF, nie obowiązkowa recepta każdego współczesnego modelu.

Ograniczenie: oceniacz przewiduje preferencje określonej grupy według jej instrukcji, a nie obiektywną prawdę. Gdy ludzie nagradzają wiarygodnie brzmiący, dopisany powód, model może uczyć się go naśladować. RLHF nie gwarantuje rzetelności ani zgodności z intencją każdego użytkownika; autorzy opisują pozostałe błędy i ograniczenia grupy oceniającej w §5.2–5.3.

Naucz mały oceniacz jednej preferencji

Wskaż, którą odpowiedź uznała za lepszą przykładowa grupa ludzi, i wykonuj kroki uczenia. Zobaczysz przewidywanie preferencji, nie szansę wygenerowania odpowiedzi. Wybierz też B: czy wyższy wynik usuwa dopisany powód?

Eksperyment izoluje etap reward model. Ma tylko dwa swobodnie zmieniane wyniki, A i B; nie czyta języka, nie uogólnia na nowe prośby i nie wykonuje PPO. Po pierwszym kroku dla A wyniki zmienią się z 0/0 na 0,25/−0,25, a przewidywana szansa preferowania A wzrośnie z 50% do około 62,2%. Teksty pozostają identyczne.

Skąd biorą się liczby

Z różnicy wyników obliczamy p(A)=1/(1+e−(rA−rB))p(A)=1/(1+e^{-(r_A-r_B)}). rAr_A i rBr_B to oceny odpowiedzi, a ee to stała matematyczna, około 2,718. Ten wzór zamienia różnicę ocen na wartość od 0 do 1. Przy równych ocenach daje 0,5. Strata to −lnp(extpreferowana)-ln p( ext{preferowana}): ln⁡\ln oznacza logarytm naturalny, funkcję, która wraz z minusem daje większą karę za mniejszą szansę etykiety od ludzi. To postać porównania z §3.5, równanie (1).

Tutaj aktualizujemy dwa wyniki bezpośrednio, zamiast parametrów rzeczywistej sieci. Dla etykiety A zwiększamy rAr_A o 0,5(1−p(A))0{,}5(1-p(A)) i o tyle samo zmniejszamy rBr_B. Dla B robimy ruch w przeciwną stronę, o 0,5p(A)0{,}5p(A). Stała 0,5 jest wybranym krokiem naszego przykładu. Nie jest ustawieniem treningu z papera.

Wykorzystuję treści generowane przez AI jako część mojego codziennego procesu nauki.