BlogModele
Kiedy destylacja modelu jest warta dodatkowej pracy treningowej
Destylacja się opłaca, gdy duży model już wystarczająco dobrze wykonuje wąskie zadanie o dużym wolumenie, a problemem jest jego koszt, opóźnienie albo miejsce, w którym musi działać. Używasz tego modelu jako nauczyciela, trenujesz mniejszego ucznia i to ucznia serwujesz. Płacisz, zanim zaoszczędzisz: raz za odpowiedzi nauczyciela i drugi raz za trening i ewaluację. Tracisz szerokość. Uczeń może zbliżyć się do nauczyciela na wejściach, na których go trenowano, na pozostałych zwykle zostaje w tyle i kopiuje te błędy nauczyciela, których nie wyłapie twoje filtrowanie.
Dwa rodzaje destylacji o różnych wymaganiach
Destylacja na poziomie sekwencji to prostszy wariant. Nauczyciel odpowiada na zestaw promptów, zostawiasz odpowiedzi, które przejdą twoje testy, a ucznia dostrajasz na nich tak, jakby były etykietami od ludzi. OpenAI opisało ten przebieg dla swojego hostowanego fine-tuningu, platformy, która jest już zamknięta dla nowych użytkowników i wygaszana dla uprawnionych obecnych klientów. Ten sam przebieg działa z uczniem z otwartymi wagami trenowanym w twoim środowisku i z każdym nauczycielem, którego możesz wywołać, także przez hostowane API.
Destylacja na poziomie tokenów uczy ucznia prawdopodobieństw, jakie nauczyciel przypisuje każdemu tokenowi, a nie tylko gotowego tekstu. Hinton i współautorzy pisali w 2015 roku, że takie miękkie cele, gdy mają wysoką entropię, niosą w każdym przykładzie treningowym znacznie więcej informacji niż twarde etykiety. Generalized Knowledge Distillation, zaproponowana przez Agarwala i współautorów, pozwala ponadto uczniowi generować własne odpowiedzi, które ocenia nauczyciel. Zmniejsza to rozbieżność między tym, co uczeń widzi w treningu, a tym, co sam produkuje podczas inferencji. W Hugging Face TRL eksperymentalny GKDTrainer wczytuje nauczyciela jako model obok ucznia, więc ta droga wymaga nauczyciela, którego wagi możesz uruchomić u siebie.
Kiedy dodatkowa praca się zwraca
- Nauczyciel już spełnia twoje kryteria akceptacji dla zadania. Traktuj to jako warunek wejścia: filtrowanie, poprawki ludzi i dodatkowe dane z zadania mogą czasem wynieść ucznia ponad nauczyciela, ale nauczyciel, którego sam byś wdrożył, daje znany punkt wyjścia.
- Wolumen jest na tyle duży, że niższy koszt serwowania ucznia odrobi koszt generowania danych i treningu.
- Etykiet od ludzi jest mało albo powstają powoli, a odpowiedzi nauczyciela da się tanio sprawdzić regułami lub przeglądem próbki.
- Limity opóźnień albo wymogi co do miejsca przetwarzania danych sprawiają, że wywoływanie nauczyciela na produkcji jest niepraktyczne.
Jeśli masz już tysiące zweryfikowanych wyników, trenuj bezpośrednio na nich. Nauczyciel dokłada koszt i własne błędy, a prawdziwe etykiety są lepszym punktem odniesienia.
Zaplanuj budżet na nauczyciela, nie tylko na ucznia
Wygenerowanie zbioru treningowego to inferencja, za którą płacisz. Hipotetyczny budżet z jawnymi założeniami: 60 000 promptów po 1500 tokenów wejścia i 250 tokenów wyjścia daje 90 milionów tokenów wejściowych i 15 milionów wyjściowych. Pomnóż to przez aktualne ceny tokenów nauczyciela, dolicz generacje odrzucone po filtrowaniu i przegląd próbki przez ekspertów.
Metody on-policy dokładają drugi rachunek. Nauczyciel ocenia odpowiedzi ucznia przez cały trening, więc potrzebuje mocy GPU w każdym przebiegu treningowym, a nie tylko przed nim. Cały cykl powtarza się też przy zmianie zadania: nowa kategoria albo zasada oznacza nowe odpowiedzi nauczyciela, nowe filtrowanie i nowego ucznia.
Jaką jakość możesz stracić
Uczeń uczy się rozkładu, który mu pokazałeś, więc jego słabe punkty da się przewidzieć.
- Wejścia spoza promptów treningowych, na przykład nowe szablony, języki lub typy próśb
- Rzadkie kategorie, które nauczyciel widział zbyt rzadko, by je przekazać
- Błędy nauczyciela, których nie wyłapał twój filtr, odtwarzane równie wiernie jak poprawne odpowiedzi
- Ogólne umiejętności spoza zadania, na przykład wykonywanie nietypowych instrukcji, których wąski zbiór treningowy nie podtrzymuje
Autorzy GKD zauważają też, że małemu uczniowi może brakować pojemności, by w pełni naśladować nauczyciela, dlatego ich metoda dopuszcza inne funkcje straty. Jeśli luka utrzymuje się mimo dodatkowych danych, zwykle pomaga większy uczeń albo węższe zadanie.
Oceniaj względem prawdy, nie tylko względem nauczyciela
Zgodność z nauczycielem łatwo zmierzyć, ale sama w sobie wprowadza w błąd, bo nagradza kopiowanie jego pomyłek. Oceń nauczyciela i ucznia na odłożonym zbiorze oznaczonym przez ludzi i dodaj zbiór sondujący z wejściami spoza zadania, żeby sprawdzić, czy uczeń je oznacza, zamiast pewnie odpowiadać.
Hipotetyczny wynik klasyfikatora klauzul umownych testowanego na 800 klauzulach oznaczonych przez prawników:
- Wszystkie klauzule: nauczyciel ma rację w 736, uczeń w 728, a obaj zgadzają się w 95 procentach klauzul
- 60 rzadkich typów klauzul: nauczyciel ma rację w 53, uczeń w 48
- 100 dokumentów spoza zadania: nauczyciel oznacza 90, uczeń 52
Ogólna różnica to jeden punkt procentowy, ale uczeń jest słabszy na rzadkich klauzulach i przepuszcza 48 ze 100 dokumentów, których nie powinien klasyfikować, więc nie można mu powierzyć decyzji, które wejścia oddać. Projekt hybrydowy potrzebuje osobnej bramki routingu, na przykład sprawdzenia typu dokumentu albo klasyfikatora dokumentów spoza zadania, zweryfikowanej na własnym oznaczonym zbiorze, zanim zacznie kierować rzadkie typy i nieznane dokumenty do nauczyciela. Zanim policzysz oszczędność, zmierz, ile dokumentów spoza zadania mimo to trafia do ucznia i ile ruchu nadal obsługuje nauczyciel.
Pytania
Czy możemy użyć komercyjnego modelu z API jako nauczyciela?
Technicznie tak, przy destylacji na poziomie sekwencji, bo potrzebujesz tylko jego odpowiedzi tekstowych. Czy warunki dostawcy pozwalają trenować na nich inny model, to kwestia umowna dla waszego działu prawnego, więc rozstrzygnij ją przed generowaniem danych.
Czym destylacja różni się od zwykłego fine-tuningu?
Destylacja na poziomie sekwencji to zwykły fine-tuning, w którym etykiety pochodzą od modelu nauczyciela, a nie od ludzi czy z zapisanych wyników. Metody na poziomie tokenów zmieniają sygnał treningowy: uczeń uczy się z prawdopodobieństw nauczyciela, a nie tylko z wybranych przez niego słów.
Od czego Cloudsail zaczyna projekt destylacji?
Od wyników nauczyciela na twoich odłożonych przypadkach, które stają się punktem odniesienia dla ucznia. Jeśli nauczyciel nie spełnia wymagań, następnym krokiem jest lepszy nauczyciel, przefiltrowane i poprawione odpowiedzi albo więcej danych oznaczonych przez ludzi, zanim destylacja nabierze sensu.
Powiązane usługi
Trenowanie własnych modeli
Mały model open-weight wytrenowany do jednego zadania i porównany z twoim obecnym modelem pod względem kosztu i dokładności.
Inżynieria i architektura AI
Asystenci, interfejsy głosowe i agenci w produktach, które sprzedajesz, razem z serwowaniem modeli i wyszukiwaniem pod spodem.
Więcej z bloga
Zadania dla małych modeli
Jak znaleźć zadania o dużym wolumenie, z którymi mały model językowy poradzi sobie niezawodnie: lista kontrolna, test przed jakimkolwiek treningiem i porównanie kosztów przy twoim wolumenie.
Ocena dostrojonego modelu
Jak wykazać, że dostrojony model powinien zastąpić obecny: kryteria akceptacji spisane z góry, uczciwe porównanie na odłożonych przypadkach oraz koszt i opóźnienie w tej samej tabeli.
Jakość danych do fine-tuningu
Cztery testy, które pokazują, czy twoje przykłady nadają się do fine-tuningu: błędy w etykietach, pokrycie realnego ruchu, pochodzenie danych i przecieki do zbioru testowego.
Porozmawiaj z inżynierem
Przyjdź z jednym zadaniem, które chcesz usprawnić. Rozmowa trwa 30 minut i nie wymaga dostępu do twoich systemów ani danych.
Rezerwacja odbywa się w Kalendarzu Google.
Wolisz najpierw napisać? Zostaw adres e-mail i kilka zdań, a odpowiemy, proponując terminy.
Sprawdź wersję roboczą w swoim programie pocztowym
Wyślij ją stamtąd, a inżynier odpowie ci osobiście, proponując terminy 30-minutowej rozmowy. Jeśli wersja robocza się nie otworzyła, napisz do nas na adres miki@cloudsail.com.