Strona główna / Rozdział 6 · Jakość i bezpieczeństwo
Ostatnia zmiana · 5 min czytania
Halucynacje
Model nie ma trybu „nie wiem”: zawsze dopisze prawdopodobny ciąg dalszy, równie pewnym tonem, gdy zna odpowiedź i gdy zgaduje. Halucynacji nie da się wyłączyć, da się je ograniczać i mierzyć.
Po ludzkuStudent, który na egzaminie ustnym nigdy nie mówi „nie wiem”. Gdy zna odpowiedź, mówi płynnie i pewnie. Gdy nie zna, mówi tak samo płynnie i pewnie, więc po tonie nie poznasz różnicy.
Włączaj źródło w kontekście i zgodę na „nie wiem”, osobno i razem. Patrz, które zmyślenia znikają, które zostają i ile odpowiedzi przy tym tracisz
Symulacja poglądowa, nie pomiar żadnego modelu: odpowiedzi napisano ręcznie, żeby pokazać typowe zachowania. Wrzosowa Wola, jej muzeum, kronika gminy i artykuł Zielińskiej i Brandta są wymyślone. Zestaw celowo składa się głównie z trudnych pytań, więc proporcje nie mówią nic o skuteczności prawdziwych modeli. Wiersze, w których ocena zmieniła się po kliknięciu, są podświetlone.
Skąd się biorą halucynacje
- Model przewiduje następny token i zawsze jakiś zwróci. Nie ma osobnego sygnału „tu kończy się moja wiedza”, a zgadnięte zdanie jest tak samo gładkie jak prawdziwe. Wylosowanego tokena nie da się cofnąć: jeśli odpowiedź zaczęła się od „W 1978 roku”, reszta zdania będzie ten rok uzasadniać (temat „Następny token”).
- Fakty, które w danych treningowych pojawiły się raz albo wcale, są w wagach zapisane słabo albo wcale. Stolicę Australii model widział tysiące razy, rok otwarcia małego muzeum najwyżej raz. Kalai i in. (OpenAI, 2025) pokazują, że dla faktów bez wzorca, takich jak daty urodzenia, odsetek halucynacji po pretrainingu wynosi w przybliżeniu co najmniej tyle, ile odsetek faktów, które w danych wystąpiły dokładnie raz.
- Post-training tego nie usuwa, bo prawie wszystkie popularne benchmarki oceniają 0/1: za „nie wiem” dają zero, tak samo jak za błąd. Przy takiej ocenie wstrzymanie się nigdy nie jest optymalne, więc model trenowany i wybierany pod wynik uczy się zgadywać, jak uczeń na teście bez punktów ujemnych.
Rodzaje halucynacji
- Zmyślony fakt: zła data, liczba albo nazwisko podane pewnym tonem. Zmyślone źródło: tytuł pracy, wyrok, link albo cytat, których nie ma. W 2023 roku sąd federalny w Nowym Jorku ukarał prawników grzywną 5000 USD za pismo z wyrokami wymyślonymi przez ChatGPT (sprawa Mata v. Avianca).
- Niewierność źródłu: dokument leży w kontekście, a odpowiedź mu przeczy albo dodaje coś, czego w nim nie ma. W RAG to typowy błąd etapu generowania, groźny, bo przypis sprawia, że odpowiedź wygląda na sprawdzoną. Błąd rozumowania: fakty się zgadzają, ale rachunek jest zły albo wniosek nie wynika z przesłanek.
- W agencie: wywołanie narzędzia z wymyślonym argumentem (identyfikator klienta, ścieżka pliku, nazwa pola) albo meldunek „wysłałem maila”, „testy przechodzą”, choć żadne narzędzie tego nie zrobiło. W kodzie: funkcje, parametry i całe pakiety, które nie istnieją. Atakujący może zarejestrować pakiet o zmyślanej przez modele nazwie i czekać, aż agent go zainstaluje.
Co pomaga i gdzie są granice
- Źródło w kontekście z przypisami (temat „RAG”) pomaga najbardziej, ale tylko wtedy, gdy wyszukiwanie znajdzie fragment z odpowiedzią. Do tego jawna zgoda na „nie wiem” i polecenie „najpierw wypisz dosłowne cytaty ze źródła, potem odpowiedz tylko na ich podstawie”. Cytat da się sprawdzić zwykłym wyszukiwaniem tekstu. Ceną jest to, że model odpowie na mniej pytań.
- Narzędzia zamiast pamięci: kod albo kalkulator do rachunków, wyszukiwarka i baza do faktów, dokumentacja do API (temat „Narzędzia (function calling)”). Drugi krok sprawdzający, czyli osobne wywołanie, które czyta odpowiedź razem ze źródłami i skreśla twierdzenia bez pokrycia, łapie część błędów, ale sam też się myli.
- Niższa temperatura nie leczy: temperatura 0 wybiera najbardziej prawdopodobny token, więc zmyślona data staje się po prostu powtarzalna. Rozumowanie przed odpowiedzią (temat „Modele rozumujące”) pomaga w logice i rachunkach, bo model może sprawdzić kroki, ale wiedzy, której nie ma w wagach, nie doda. Fine-tuning słabo się do tego nadaje: nowe fakty model przyswaja powoli, a gdy już je przyswoi, rośnie jego skłonność do zmyślania (Gekhman i in., 2024).
Próg pewności i pomiar
Przesuwaj próg pewności, poniżej którego model mówi „nie wiem”. Porównaj punkty w ocenie 0/1 i w ocenie z karą za błąd i sprawdź, przy której opłaca się wstrzymać
Poglądowy model: 1000 pytań, połowa łatwych, połowa trudnych, i idealna kalibracja, czyli przy pewności 70% ma rację w 70% przypadków. Liczby poglądowe, nie wynik benchmarku. Ocena z karą za błąd to propozycja z pracy Kalai i in. „Why Language Models Hallucinate” (2025).
- Próg wybierasz pod koszt pomyłki i mierzysz na własnym zestawie (temat „Ewaluacje”): osobno poprawne, błędne i wstrzymane, plus pytania, na które w źródłach celowo nie ma odpowiedzi. Sama trafność nagradza zgadywanie, sam odsetek błędów nagradza milczenie.
- Pewność modelu z
logprobsnie jest miernikiem prawdy. Model bywa pewny błędu, pewność rozkłada się na różne sformułowania tej samej odpowiedzi, a post-training psuje kalibrację: w raporcie o GPT-4 model bazowy był dobrze skalibrowany na pytaniach z MMLU, a po post-trainingu wyraźnie gorzej. Bez źródeł lepszy sygnał daje spójność: kilka próbek odpowiedzi na to samo pytanie i sprawdzenie, czy znaczą to samo (semantic entropy, Farquhar i in., Nature 2024). Zgadnięte fakty zmieniają się między próbkami, znane zostają. - Wierność i przypisy sprawdzasz kodem. Najpierw, czy cytowany fragment dosłownie istnieje w dokumencie. Natywne cytowania w API, np. w Claude, gwarantują poprawny wskaźnik do dokumentu, ale nie to, że fragment popiera twierdzenie. Potem, twierdzenie po twierdzeniu, czy fragment je potwierdza: model NLI albo sędzia-LLM z oceną tak/nie.
Sprawdź się
Skąd biorą się halucynacje i jak je ograniczasz oraz mierzysz na produkcji?
Model zawsze generuje prawdopodobny ciąg dalszy i nie ma wbudowanego „nie wiem”, więc przy rzadkich faktach zgaduje tym samym pewnym tonem. Trening i benchmarki oceniane 0/1 nagradzają trafienie, a za wstrzymanie dają zero, więc zgadywanie się opłaca. Nie da się tego wyłączyć, można ograniczać: źródła z przypisami w kontekście, zgoda na „nie wiem”, narzędzia do faktów i rachunków, sprawdzanie cytatów kodem. Niższa temperatura tylko powtarza ten sam strzał. Mierz osobno błędy, wstrzymania i wierność źródłom, a próg odpowiadania ustawiaj pod koszt pomyłki.
In English
The model always produces a plausible continuation and has no built-in “I don’t know”, so on rare facts it guesses in the same confident tone. Training and benchmarks graded 0/1 reward a hit and give zero for abstaining, so guessing pays. It can’t be switched off, only reduced: sourced context with citations, permission to say “I don’t know”, tools for facts and arithmetic, and checking citations in code. Lower temperature just repeats the same guess. Measure errors, abstentions and faithfulness to sources separately, and set the answer threshold according to the cost of a mistake.
Pytania pogłębiające (4)
- Czy da się wykryć halucynację po logprobs?
- Częściowo. Niska pewność bywa sygnałem, ale model potrafi być pewny błędu, pewność rozkłada się na różne sformułowania tej samej odpowiedzi, a post-training psuje kalibrację. Lepszy sygnał daje kilka próbek i sprawdzenie, czy znaczą to samo.
- Czemu system z RAG nadal zmyśla?
- Wyszukiwarka zawsze coś zwraca. Jeśli fragment nie zawiera odpowiedzi, model często uzupełnia lukę z wag i dokleja przypis do najbliższego źródła. Do tego potrafi przekręcić fragment, który ma przed sobą.
- Agent melduje „testy przechodzą”, a nie przechodzą. Co robisz?
- Nie ufasz meldunkom, tylko sprawdzasz stan. Testy uruchamia kod i odsyła wynik modelowi, a warunek końca zadania sprawdza narzędzie, nie deklaracja modelu. W ewaluacji oceniasz stan końcowy, a przebiegi z fałszywym meldunkiem dopisujesz do zestawu jako nowe przypadki.
- Jak zmierzyć halucynacje we własnym systemie?
- Zestaw pytań ze sprawdzoną odpowiedzią plus pytania, na które w źródłach odpowiedzi nie ma. Liczysz osobno poprawne, błędne i wstrzymane, a dla RAG także wierność: czy każde twierdzenie ma pokrycie w podanym fragmencie.