Fine-tuning vs RAG vs prompting: co wybrać?

Tłumaczenie automatyczne

Ten artykuł został automatycznie przetłumaczony z angielskiego oryginału.

Użyj promptingu, aby doprecyzować zadanie, generowania wspomaganego wyszukiwaniem (RAG), aby dostarczać aktualną lub prywatną wiedzę, oraz fine-tuningu, aby zmieniać powtarzalne zachowanie modelu. Techniki te rozwiązują różne problemy i często należą do tego samego systemu.

Zacznij od zmierzonego wariantu bazowego opartego wyłącznie na promptingu. Dodaj RAG, gdy odpowiedzi wymagają zewnętrznych dowodów lub często zmieniających się faktów. Rozważ fine-tuning w przypadku utrwalonych błędów dotyczących tonu, klasyfikacji, korzystania z narzędzi lub języka domenowego, jeśli masz wystarczającą liczbę zweryfikowanych przykładów. W przypadku błędów formatu odpowiedzi najpierw wypróbuj dane wyjściowe ograniczone schematem.

Wybieraj na podstawie zaobserwowanych błędów, częstotliwości zmian faktów i danych dostępnych do przetestowania poprawki.

Tabela decyzyjna

ProblemPierwsza interwencjaDlaczego
Instrukcje są niejasne lub brakuje przykładówPromptingPozwala sprawdzić, czy jaśniejsze instrukcje i przykłady rozwiązują zaobserwowane problemy.
Fakty są prywatne, wymagają cytowania lub często się zmieniająRAGWyszukiwanie aktualizuje wiedzę bez ponownego trenowania i może zachować pochodzenie źródeł.
Stałe zachowanie nadal jest błędne po testach promptówRozważ fine-tuningZweryfikowane przykłady mogą nauczyć stylu, etykiet lub zachowania przy korzystaniu z narzędzi; porównaj wynik z wariantem bazowym opartym na promptingu.
Uważnie przygotowany wariant bazowy promptingu nadal zawodziPrzetestuj inny model lub projekt systemuPorównaj alternatywy na tych samych przypadkach; sam fakt niepowodzenia promptingu nie pokazuje, czy tuning pomoże.
Odpowiedzi wymagają aktualnych faktów i wyspecjalizowanego zachowaniaRAG plus fine-tuningWyszukiwanie dostarcza dowodów, a tuning zmienia sposób, w jaki model z nich korzysta.

Najpierw użyj promptingu

Prompting to metoda wymagająca niewielkiej konfiguracji, która pomaga diagnozować problemy. Zdefiniuj zadanie, kontrakt danych wyjściowych, przykłady, dozwolone narzędzia oraz warunki odmowy. Zbuduj niewielki zbiór ewaluacyjny, zanim dodasz kolejną infrastrukturę. Jeśli lepszy prompt naprawia reprezentatywne problemy, na tym poprzestań.

Jeśli rozrastający się prompt staje się trudniejszy w utrzymaniu, ustal, co zostało dodane. Zmieniające się informacje o produkcie można dostarczać przez wyszukiwanie. Powtarzające się przykłady zachowania mogą nadawać się do treningu. Sama długość promptu nie dowodzi, że którakolwiek z tych zmian poprawi wynik.

Użyj RAG do wiedzy i pochodzenia źródeł

RAG sprawdza się w przypadku podręczników produktów, zasad, dokumentów wewnętrznych, najnowszych wydarzeń oraz odpowiedzi, które muszą zawierać cytowane źródło. Oryginalna publikacja dotycząca RAG łączy generator z wyszukanymi fragmentami; wyszukane dowody są dostarczane w momencie obsługi żądania. Jakość zależy od parsowania, dzielenia na fragmenty, wyszukiwania, rankingu, uprawnień i obsługi cytowań. Sama zmiana generatora nie dostarczy źródła, którego wyszukiwanie nie znalazło.

RAG nie służy do trenowania zachowania. Może pokazać modelowi przykład lub regułę, ale nie zapewnia stabilności tego zachowania dla każdego żądania.

W przypadku asystenta wsparcia nieaktualna odpowiedź dotycząca gwarancji wskazuje na brak aktualnych zasad: dostarcz je przez wyszukiwanie. Jeśli prawidłowe zasady są już dostępne, ale asystent wielokrotnie przypisuje skargę do niewłaściwej kategorii, najpierw przetestuj jaśniejsze przykłady. Fine-tuning staje się opcją, jeśli ten stały błąd klasyfikacji nadal występuje i dostępne są zweryfikowane przykłady treningowe.

Użyj fine-tuningu do powtarzalnego zachowania

Nadzorowany fine-tuning trenuje model na przykładach wejścia/wyjścia, jak opisano w przewodniku treningowym TRL. Można rozważyć jego zastosowanie w klasyfikacji, stylu ekstrakcji, strukturze odpowiedzi, terminologii domenowej oraz powtarzalnych wzorcach korzystania z narzędzi. W przypadku problemów dotyczących wyłącznie formatu najpierw wypróbuj dane wyjściowe ograniczone schematem, jeśli środowisko wykonawcze je obsługuje. Prawidłowa struktura nadal wymaga sprawdzenia poprawności wartości pól.

Fine-tuning wymaga zweryfikowanych danych treningowych, wydzielonego zbioru ewaluacyjnego, wersjonowania modeli oraz ścieżki wycofania zmian. Nie wykonuj fine-tuningu na faktach, które często się zmieniają, jeśli RAG może dostarczyć je w momencie obsługi żądania.

Praktyczna kolejność działań

  1. Zdefiniuj kryteria sukcesu i zbuduj reprezentatywny zbiór ewaluacyjny.
  2. Ustal wariant bazowy oparty wyłącznie na promptingu, używając najmocniejszego akceptowalnego modelu.
  3. Dodaj RAG, jeśli problemy wynikają z brakujących lub zmieniających się dowodów.
  4. Zbierz i przejrzyj przykłady pozostałych stabilnych problemów.
  5. Wykonaj fine-tuning tylko wtedy, gdy poprawa jakości, zmniejszenie opóźnień lub kosztów przewyższa dodatkowe wymagania dotyczące danych i operacji na modelu.
  6. Uruchamiaj tę samą ewaluację po każdej zmianie promptu, indeksu, modelu lub adaptera.

Dalsza lektura

Referencje