Dostrajanie modelu pod kątem spójnego zachowania

Ukończone

Wskazówka

Aby uzyskać więcej szczegółów, zobacz kartę Tekst i obrazy .

Inżynieria podpowiedzi pomaga sterować zachowaniem modelu, a funkcja RAG pomaga opierać odpowiedzi na danych faktycznych. Jednak czasami model nadal nie generuje odpowiedzi ze spójnym stylem, tonem lub potrzebnym formatem. Gdy zauważysz, że model ignoruje lub niespójnie wykonuje instrukcje — nawet w przypadku szczegółowych komunikatów systemowych i kilku przykładów few-shot — może to być czas na fine-tuning modelu.

Dostrajanie jest procesem przyjmowania wstępnie wytrenowanego modelu językowego i dalszego trenowania go na mniejszym, specyficznym dla zadania zestawie danych. Spowoduje to dostosowanie wewnętrznych wag modelu w celu wygenerowania odpowiedzi, które są zgodne z wzorcami w danych treningowych.

Zrozumienie dostrajania

Modele podstawowe, takie jak GPT-4o, są trenowane na ogromnych ilościach ogólnych danych. Dostrajanie na tej podstawie polega na szkoleniu modelu przy użyciu dodatkowych przykładów, które odzwierciedlają Twoje specyficzne wymagania. Pomyśl o tym jak o doskonaleniu ogólnej umiejętności: model zachowuje swoje szerokie zdolności językowe, ale uczy się odpowiadać w sposób, jaki pokazują dane treningowe.

Dostrajanie wykorzystuje LoRA (Adaptacja o Niskiej Randze), technikę, która przybliża zmiany wag poprzez reprezentację o niższej randze. Zamiast ponownie trenować wszystkie parametry modelu, loRA aktualizuje tylko mniejszy podzestaw ważnych parametrów. Dzięki temu trenowanie jest szybsze i bardziej ekonomiczne przy zachowaniu jakości modelu.

Kluczową zaletą dostrajania gotowego modelu w porównaniu do trenowania modelu od podstaw jest wydajność. Potrzebujesz mniej czasu, mniej zasobów obliczeniowych i znacznie mniej danych, aby dostosować zachowanie modelu.

Dowiedz się, kiedy dostroić

Dostrajanie jest odpowiednie w scenariuszach, w których sama inżynieria podpowiedzi nie pozwala osiągnąć wymaganej spójności. Typowe przypadki użycia to:

  • Spójny styl i ton: Twoja organizacja ma określony głos marki, a model musi być zgodny z nim niezawodnie we wszystkich interakcjach. Na przykład biuro podróży chce, aby każda odpowiedź korzystała z ciepłego, zachęcającego tonu z krótkimi akapitami.
  • Określone formaty danych wyjściowych: model jest potrzebny do niezawodnego tworzenia ustrukturyzowanych danych wyjściowych, takich jak odpowiedzi JSON po zdefiniowanym schemacie, a przykłady z kilkoma zrzutami nie są wystarczające.
  • Zmniejszenie długości monitu: długie komunikaty systemowe z wieloma przykładami używają tokenów i zwiększają opóźnienie. Dostrajanie pozwala osadzać te wzorce w modelu, zmniejszając rozmiar monitu wymagany dla każdego żądania.
  • Destylacja: chcesz przenieść możliwości dużego, kosztownego modelu do mniejszego, bardziej wydajnego modelu. Na przykład można zbierać dane wyjściowe z modelu o wysokiej wydajności i używać ich do dostosowywania mniejszego modelu, który osiąga podobną jakość przy niższych kosztach i opóźnieniach.
  • Ulepszanie użycia narzędzi: gdy aplikacja używa wywoływania narzędzi, dostrajanie za pomocą przykładów narzędzi może poprawić dokładność wyboru narzędzi i generowania parametrów.

Ważna

Dostrajanie jest zaawansowaną funkcją. Zawsze zacznij od oceny wydajności bazowego modelu standardowego pod kątem wymagań przed rozważeniem dostrajania. Bez punktu odniesienia trudno jest wykryć, czy dostrajanie ulepszyło lub pogorszyło wydajność modelu.

Eksplorowanie typów dostrajania

Firma Microsoft Foundry oferuje kilka technik dostrajania:

  • Nadzorowane dostrajanie (SFT): Szkolenie modelu na oznaczonym zbiorze danych z parami zapytań i odpowiedzi. Model uczy się tworzyć dane wyjściowe, które pasują do wzorców w danych treningowych. Ta technika działa najlepiej, gdy istnieją jasne, dobrze zdefiniowane sposoby podejścia do zadania.
  • Dostrajanie wzmacniania (RFT): Optymalizowanie zachowania modelu poprzez iteracyjne opinie przy użyciu oceniającego w celu stopniowego nagradzania lepszych odpowiedzi. RFT działa dobrze w przypadku złożonych lub dynamicznych zadań, w których istnieje wiele możliwych rozwiązań i chcesz poprawić jakość rozumowania modelu.
  • Optymalizacja preferencji bezpośrednich (DPO): wyrównywanie modelu na podstawie preferencji człowieka przez podanie preferowanych i nie preferowanych par odpowiedzi. DPO jest obliczeniowo lżejszy niż tradycyjne podejścia do uczenia z wzmacnianiem, a jednocześnie jest równie skuteczny w dopasowaniu.

Możesz również połączyć techniki. Na przykład najpierw użyj nadzorowanego dostrajania, aby utworzyć dostosowany model, a następnie skorzystaj z DPO, aby lepiej dostosować odpowiedzi do swoich konkretnych preferencji.

Przygotowywanie danych treningowych

Dostrajanie wymaga zestawu danych z przykładami o wysokiej jakości w formacie JSONL (JSON Lines). W przypadku modeli uzupełniania czatów każdy przykład składa się z konwersacji z komunikatami systemowymi, użytkownikami i asystentami:

{"messages": [{"role": "system", "content": "You are a friendly travel advisor for Margie's Travel."}, {"role": "user", "content": "What's a good beach destination in Europe?"}, {"role": "assistant", "content": "For a beautiful European beach experience, consider the Algarve in southern Portugal! It offers stunning golden cliffs, warm waters, and charming coastal towns. The best time to visit is from May through September."}]}
{"messages": [{"role": "system", "content": "You are a friendly travel advisor for Margie's Travel."}, {"role": "user", "content": "I need a budget hotel in Tokyo."}, {"role": "assistant", "content": "Here are some great budget-friendly options in Tokyo:\n\n- **Sakura Hotel Jimbocho** - Central location, from $45/night\n- **Khaosan World Asakusa** - Near Senso-ji temple, from $35/night\n- **Imano Tokyo Ginza Hostel** - Modern design, from $40/night\n\nAll three options are close to public transit, making it easy to explore the city."}]}

Podczas przygotowywania danych treningowych:

  • Dołącz spójny komunikat systemowy między przykładami.
  • Skorzystaj z wysokiej jakości reprezentatywnych przykładów obejmujących zakres oczekiwanych scenariuszy.
  • Dążyć do co najmniej setek przykładów; bardziej jest ogólnie lepiej.
  • Upewnij się, że odpowiedzi asystenta odzwierciedlają dokładnie żądany styl, format i ton.

Uwaga / Notatka

Uwzględnianie komunikatu systemowego w danych treningowych jest ważne. Pozostawienie go pustego ma tendencję do tworzenia modeli o mniejszej dokładności. Użyj tego samego komunikatu systemowego podczas wdrażania dostosowanego modelu na potrzeby wnioskowania.

Weź pod uwagę wyzwania

Dostrajanie wprowadza koszty i złożoność, które należy ocenić przed podjęciem decyzji:

  • Koszty trenowania: Dostrajanie ma początkowe koszty związane z trenowaniem oraz bieżące koszty godzinowe związane z hostowaniem modelu niestandardowego.
  • Wymagania dotyczące jakości danych: słabej jakości lub niereprezentatywne dane szkoleniowe prowadzą do nadmiernego dopasowania, niedopasowania lub uprzedzeń.
  • Utrzymanie: Modele dostrojone mogą wymagać ponownego trenowania, gdy dane się zmienią lub gdy zostaną wydane zaktualizowane modele bazowe.
  • Eksperymentowanie: Znalezienie odpowiedniej kombinacji hiperparametrów (epok, rozmiaru partii, szybkości nauki) wymaga testowania i iteracji.
  • Dryf modelu: zbyt wąska specjalizacja może obniżyć skuteczność modelu w ogólnych zadaniach językowych poza dostrojoną domeną.

W przypadku biura podróży dostrajanie oznacza, że każda odpowiedź spójnie pasuje do wytycznych dotyczących głosu i formatowania marki firmy , nawet bez obszernych komunikatów systemowych. Jednak zespół musi rozważyć tę korzyść w stosunku do kosztów przygotowania danych treningowych i utrzymania dostosowanego modelu w czasie.