Czy AI kłamie? Jak modele językowe tworzą (nie)prawdziwe odpowiedzi #9

Dzisiejszy artykuł przybliży nam, jak działają duże modele językowe. Jak już wiemy z poprzedniego artykułu, nie ograniczają się one do GPT (silnika ChatGPT), ale obejmują także Claude’a od Anthropic, polskiego Bielika, chiński DeepSeek i wiele innych. Choć ich architektury różnią się w pewnych aspektach, wszystkie funkcjonują na podobnych zasadach.

Zrozumienie ich działania pozwoli nam odpowiedzieć na pytanie, na ile możemy ufać tym modelom i czym w tym kontekście są halucynacje. Tak, modele AI też mogą mieć halucynacje! 😀

Większość dużych modeli językowych bazuje na architekturze Transformers, opisanej w słynnym artykule naukowym Attention is All You Need, a konkretnie na jednej jej części zwanej decoderem.

Tego typu modele określa się mianem autoregresyjnych. Oznacza to, że każde kolejne słowo generowane przez model zależy od wcześniejszych słów w danym ciągu.

Spójrzmy na przykład.

Pytanie: “Jaka jest stolica Francji?

Model generuje odpowiedź krok po kroku:

Jaka jest stolica Francji? Stolicą

Jaka jest stolica Francji? Stolicą Francji

Jaka jest stolica Francji? Stolicą Francji jest

Jaka jest stolica Francji? Stolicą Francji jest Paryż

Jaka jest stolica Francji? Stolicą Francji jest Paryż.

Jaka jest stolica Francji? Stolicą Francji jest Paryż. <end>

 

Jak to działa?

1️⃣ W pierwszej rundzie model analizuje dotychczasowy tekst i „zgaduje” najbardziej prawdopodobne kolejne słowo – w tym przypadku „Stolicą”.

2️⃣ W drugiej rundzie model ponownie analizuje cały dotychczasowy tekst („Jaka jest stolica Francji? Stolicą”) i dobiera kolejne słowo – „Francji”.

3️⃣ Proces powtarza się, aż model uzna, że zakończył generowanie odpowiedzi.

 

A skąd model wie, że powinien się zatrzymać?

Są dwa główne warunki:

 

  1. W ustawieniach modelu określamy maksymalną liczbę tokenów (np., 200), po której generowanie się kończy. Token to w przybliżeniu słowo.
  2. Model generuje specjalny “token końca”, który sygnalizuje zakończenie odpowiedzi.

 

Dlaczego model „zgaduje” kolejne słowo?

W rzeczywistości model nie zgaduje w potocznym znaczeniu, ale przypisuje każdemu słowu z dostępnego słownika (np. słownik modelu może zawierać 100 000 słów) pewne prawdopodobieństwo wystąpienia w danym miejscu. Następnie wybiera jedno z najbardziej prawdopodobnych słów.

To oznacza, że istnieje (choć niewielka) szansa, że na pytanie:

❓„Jaka jest stolica Francji? Stolicą Francji jest”

Model wygeneruje np. „Warszawa” lub „Londyn” zamiast „Paryż”.

Dla modelu to nie jest błąd – po prostu wylosował takie słowo zgodnie z rozkładem prawdopodobieństwa. Dla człowieka to jednak halucynacja, czyli nieprawdziwa informacja wygenerowana przez model.

Kolejny interesujący przykład halucynacji w LLM, tym razem dotyczący świnki morskiej:

Pytanie: Czy świnki morskie to gatunek świni?

🤖 Odpowiedź modelu: Tak, świnki morskie to małe gryzonie należące do rodziny świń, które żyją głównie w środowisku wodnym.

🧐 Prawda: Świnki morskie nie są w ogóle spokrewnione ze świniami! To gryzonie z rodziny kawiowatych, a ich nazwa jest myląca. Co więcej, nie mają nic wspólnego z morzem – pochodzą z Ameryki Południowej i żyją na lądzie.

Jak widzimy z powyższych przykładów, choć duże modele językowe, takie jak ChatGPT, mogą być niezwykle użyteczne, ich skłonność do generowania halucynacji oznacza, że nie warto polegać na nich w ważnych tematach bez dodatkowej weryfikacji informacji..

Podsumowując:

 

  1. Istnieje wiele dużych modeli językowych, które mimo różnic w architekturze działają podobnie.
  2. Większość z nich jest autoregresyjna – każde kolejne słowo zależy od wcześniejszych.
  3. Modele generują tekst na podstawie rozkładu prawdopodobieństwa, co oznacza, że wybór słowa ma element losowości.
  4. Ze względu na tę losowość modele mogą generować nieprawdziwe informacje – z perspektywy algorytmu nie jest to błąd, ale dla nas to halucynacja.
  5. Nie warto bezrefleksyjnie polegać na tym, co model wygenerował, zwłaszcza w tematach istotnych życiowo, takich jak zdrowie czy relacje międzyludzkie.

W kolejnym artykule zapraszam do dalszego zgłębiania fascynującego świata dużych modeli językowych 🙂

Ros Apostol
09.03.2025, 19:42

Коментарі