Jak uzyskiwać spójne wyniki z modeli lokalnych

Modele lokalne wydają się nieprzewidywalne, gdy ten sam Prompt za każdym razem daje inny kształt: raz punkty, raz wypracowanie, raz przeprosiny plus wypracowanie. Większość tego to ustawienia i brak ograniczeń, a nie zepsuta instalacja. Da się sprawić, żeby streszczenia, wyciąganie i małe zadania kodu były na tyle powtarzalne, by używać ich w codziennej pracy.

Ta strona zakłada, że już piszesz jasny Prompt. Jeśli sformułowanie nadal jest luźne, najpierw przeczytaj Jak pisać lepsze Prompty do lokalnych modeli AI. Metody, które przeżywają testy, są zebrane w Co naprawdę działa.

Dlaczego odpowiedź się zmienia

Próbkowanie wybiera następny Token z pewną losowością. Wyższa temperatura (temperature) oznacza więcej losowości. Długi czat oznacza, że wcześniejsze reguły są dalej od ostatniego pytania. Otwarty Prompt („napisz coś pomocnego”) ma wiele poprawnych dokończeń, więc próbnik ma miejsce, żeby zbaczać. Zmniejszasz rozrzut, zmniejszając to miejsce: niższa temperatura, Seed gdy potrzebujesz prawdziwego powtórzenia, format z małą swobodą, krótki kontekst i model, którego nie prosisz o pięć zadań naraz.

1. Obniż temperaturę, zanim przepiszesz Prompt

Przy zadaniu, które chcesz powtarzać, ustaw temperaturę między 0,1 a 0,3. Zostaw top-p na domyślnej wartości aplikacji, chyba że wiesz, po co ją zmieniasz. Potem uruchom identyczny Prompt trzy razy.

Ten sam Prompt, trzy zamiary:

Wypisz dokładnie 4 zasady nazywania plików we wspólnym folderze. Jedno zdanie każda. Bez wstępu.
Lista wygląda losowo, więc przepisałem cały Prompt, dodałem długą personę i zostawiłem temperaturę na 1,0.

Zmieniłeś za dużo i zostawiłeś ustawienie, które tasuje wynik. Zamroź Prompt, obniż temperaturę i dopiero wtedy popraw jedną linię, jeśli format nadal jest zły.

2. Użyj Seed, gdy porównujesz Prompty

Ollama, LM Studio i część innych programów pozwala ustawić Seed. Ten sam model, ten sam Prompt, ten sam Seed i te same ustawienia próbkowania powinny wrócić prawie identyczne. Tak sprawdzasz, czy zmiana sformułowania pomogła.

Praktyczne porównanie:

  1. Ustaw temperaturę na 0,2 i Seed na 42.
  2. Zapisz wynik Promptu A.
  3. Zmień jedną linię, żeby zrobić Prompt B. Zostaw Seed.
  4. Porównaj A i B. Jeśli B jest lepsze, zostaw je, a potem raz spróbuj Seed 43, żeby zobaczyć, czy format nadal się trzyma.

Jeśli aplikacja nie ma sterowania Seed, nie dostaniesz powtórzeń co do bitu. Nadal możesz wymagać formatu i niskiej temperatury, a tego właśnie potrzebujesz na co dzień. Seed jest do testów, nie dla kogoś, kto czyta streszczenie.

3. Zrób format, od którego trudno zboczyć

Im ciaśniejszy kształt, tym mniej może zrobić próbnik. Etykiety są lepsze niż „uporządkuj to”.

Możesz uporządkować tego maila od klienta w coś, czego nasz zespół da radę użyć?
Przerób maila tylko na te etykiety: Prośba: Produkt: Termin: Brakuje: Reguły: - Jedna linia na etykietę - Jeśli nieznane, napisz „nie podano” - Nie dodawaj zalecanej odpowiedzi Mail: [wklej]

Jeśli model nadal dokleja zalecaną odpowiedź, postaw zakaz w osobnej ostatniej linii: „Nie pisz odpowiedzi.” Reguły z ostatniej linii są słuchane częściej niż reguły zakopane w środku.

4. Dodaj jednoliniowe sprawdzenie przy kruchych formatach

Użyj tego do JSON, tabel i dokładnych liczb. Nie używaj tego do zwykłej prozy.

Zwróć JSON z kluczami sku i qty. qty jest liczbą całkowitą. Brakujące wartości to null. Jeśli brakuje klucza, popraw JSON, zanim odpowiesz. Nie objaśniaj poprawki. Tekst: [wklej]

Przeczytaj wynik. Jeśli widzisz akapit zaczynający się od „Sprawdziłem JSON”, model pokazuje sprawdzenie. Dodaj „Zwróć tylko JSON” albo usuń sprawdzenie i polegaj na liście kluczy. Niektóre małe modele nie potrafią sprawdzić po cichu. Wtedy sama lista kluczy jest lepszym Promptem.

Dokładnie sprawdź swoją pracę, rozważ przypadki brzegowe i zadbaj, żeby myślący człowiek był dumny z tych życzeń urodzinowych.

Nie ma czego sprawdzać. Dostaniesz sztywną wiadomość, a czasem akapit o jakości. Zamiast tego ogranicz liczbę słów.

5. Trzymaj kontekst krótko

Reguły sprzed dziesięciu wiadomości łatwo wypadają małemu modelowi. Przy zadaniu, które ma się powtarzać, nie ciągnij czatu. Zacznij nową sesję albo wklej reguły jeszcze raz na górze ostatniej wiadomości.

Układ, który zostaje stabilny:

[po 15 turach mieszanych pytań] Ten sam format co wcześniej, wiesz, o co mi chodzi.

Często nie wie. Wklej format jeszcze raz. „Tak jak wcześniej” nie jest formatem.

6. Dopasuj rozmiar modelu do zadania

Mniejszy model z wąskim Promptem często jest bardziej spójny niż większy model ogólny z niechlujnym Promptem, ale to nie magia. Użyj małego modelu do przeróbek, wyciągania i krótkich streszczeń tekstu, który sam podajesz. Użyj większego modelu lokalnego, gdy zadanie wymaga dłuższego kodu albo rozumowania w kilku krokach. Nie proś modelu 3B o recenzję pliku na 400 linii i nie oczekuj stabilnej recenzji.

Jeśli format trzyma się na modelu 7B, a rozpada na modelu 3B, zostaw Prompt i zmień model. Nie dokładaj reguł, aż mały model zostanie zasypany.

Lista, którą da się powtarzać

  1. Zapisz format jako etykiety, liczbę albo klucze JSON.
  2. Tekst źródłowy daj po regułach, za wyraźną etykietą.
  3. Ustaw temperaturę na 0,2 przy wszystkim, czemu chcesz ufać.
  4. Ustaw maksymalny limit Tokenów trochę powyżej odpowiedzi, o którą prosiłeś.
  5. Uruchom dwa razy. Jeśli kształt się różni, zacieśnij ostatnią linię, zanim dodasz nowe reguły.
  6. Jeśli porównujesz dwa sformułowania, ustaw Seed.
  7. Jeśli czat jest długi, zacznij od nowa i wklej reguły jeszcze raz.

Czym spójność nie jest

Gdy Prompt jest stabilny, zapisz go. Biblioteka Promptów to zestaw punktów startowych, które możesz trzymać obok własnych. Jeśli nie wiesz, czy zapisany Prompt jest za długi na okno kontekstu, oszacuj go Licznikiem Tokenów, zanim dołączysz duży plik.

Powiązane poradniki i narzędzia