Jakie masz pytanie?

lub

Czy istnieje sposób na obejście problemu polegającego na tym, że mechanizm uwagi w modelach LLM pomija słowo „nie” i skupia się na samym pojęciu, a jeśli tak, to w jaki sposób można to zrobić?

Obejście ślepoty na negację Techniki poprawy uwagi LLM Wymuszanie zrozumienia zakazu
avatar

Gość (37.30.*.*)



Odpowiedź:

Problem, o którym wspominasz, jest zjawiskiem dobrze znanym badaczom sztucznej inteligencji i często określa się go mianem „negation blindness” (ślepoty na negację). Wynika on z samej natury architektury Transformer, na której opierają się modele takie jak GPT-4 czy Claude. Mechanizm uwagi (attention mechanism) ma tendencję do skupiania się na „ciężkich” semantycznie słowach, takich jak rzeczowniki i czasowniki, podczas gdy krótkie słowa funkcyjne, jak „nie”, „bez” czy „nigdy”, mogą zostać rozmyte w procesie obliczeniowym.

Dobra wiadomość jest taka, że istnieją skuteczne techniki, które pozwalają „wymusić” na modelu zrozumienie zakazu lub zaprzeczenia.

Dlaczego modele LLM ignorują słowo „nie”?

Zanim przejdziemy do rozwiązań, warto zrozumieć, dlaczego tak się dzieje. Wektory znaczeniowe (embeddingi) słowa „nie” są bardzo abstrakcyjne. Kiedy piszesz „nie myśl o różowym słoniu”, mechanizm uwagi modelu aktywuje silne powiązania ze słowami „myśl” i „różowy słoń”. Słowo „nie” modyfikuje cały kontekst, ale w wielowymiarowej przestrzeni matematycznej jest ono znacznie słabszym sygnałem niż konkretny obraz słonia.

Dodatkowo, modele są trenowane na ogromnych zbiorach danych, gdzie negacja często występuje w kontekstach, które i tak dotyczą danego tematu. To sprawia, że sztuczna inteligencja czasem zachowuje się jak małe dziecko – słyszy czynność, ale ignoruje partykułę przeczącą.

Strategia 1: Formułowanie pozytywnych instrukcji

Najskuteczniejszym sposobem na obejście problemu negacji jest zamiana zakazu na nakaz. Zamiast mówić modelowi, czego ma nie robić, powiedz mu dokładnie, co ma zrobić.

  • Zamiast: „Nie używaj trudnych słów”.
  • Spróbuj: „Używaj wyłącznie prostego słownictwa, zrozumiałego dla dziesięciolatka”.

Dzięki temu zamiast osłabiać uwagę modelu na konkretnym pojęciu, kierujesz ją na nowy, pożądany cel. To eliminuje ryzyko, że model „przypadkowo” skupi się na zakazanym słowie.

Strategia 2: Wykorzystanie techniki Chain of Thought (CoT)

Jeśli musisz użyć negacji, zmuś model do przeanalizowania instrukcji krok po kroku. Metoda Chain of Thought (łańcuch myśli) polega na dodaniu do promptu polecenia: „Przemyśl swoje kroki przed udzieleniem odpowiedzi”.

Kiedy model musi najpierw wypisać zasady, którymi będzie się kierował, szansa na to, że pominie „nie”, drastycznie spada. Możesz poprosić: „Zanim napiszesz tekst, wymień listę rzeczy, których musisz unikać zgodnie z moimi instrukcjami”. Proces werbalizacji zakazu „wyciąga” słowo „nie” z cienia i nadaje mu wyższą wagę w mechanizmie uwagi.

Strategia 3: Few-shot prompting, czyli nauka na przykładach

Modele LLM znacznie lepiej radzą sobie z negacją, gdy widzą przykłady. Zamiast liczyć na to, że model zrozumie abstrakcyjną zasadę, pokaż mu, jak ma wyglądać poprawna i błędna odpowiedź.

Przykład:

  • „Zadanie: Opisz produkt bez używania słowa 'tani'.
  • Przykład 1: [Błędnie] Ten produkt jest bardzo tani. -> [Poprawnie] Ten produkt jest przystępny cenowo.
  • Twoje zadanie: Opisz teraz nowy model telefonu”.

Dostarczenie wzorca (patternu) sprawia, że model „widzi”, jak negacja przekłada się na konkretne działanie.

Strategia 4: Separatory i wielkie litery

Choć może się to wydawać banalne, formatowanie ma znaczenie. Mechanizm uwagi reaguje na strukturę tekstu. Jeśli zakaz jest kluczowy, warto go wyróżnić.

  • Używaj wielkich liter dla słowa „NIE” lub „NIGDY”.
  • Umieszczaj zakazy w osobnej sekcji, np. pod nagłówkiem ### OGRANICZENIA.
  • Stosuj wypunktowanie. Lista punktowa jest dla modelu łatwiejsza do „przetrawienia” niż zbity blok tekstu, w którym słowo „nie” może zginąć w środku zdania.

Strategia 5: Logit Bias (dla zaawansowanych użytkowników API)

Jeśli korzystasz z modeli poprzez API (np. OpenAI), masz do dyspozycji potężne narzędzie o nazwie logit_bias. Pozwala ono na ręczne obniżenie prawdopodobieństwa wystąpienia konkretnych tokenów (słów). Jeśli absolutnie nie chcesz, aby model użył słowa „niebieski”, możesz ustawić ujemną wartość dla tego tokenu, co fizycznie uniemożliwi modelowi jego wygenerowanie, niezależnie od tego, co podpowiada mu mechanizm uwagi.

Ciekawostka: Efekt białego niedźwiedzia w AI

Zjawisko, o które pytasz, ma swój odpowiednik w psychologii człowieka i nazywa się „teorią procesów ironicznych”. W 1987 roku psycholog Daniel Wegner przeprowadził badanie, w którym poprosił uczestników, aby przez pięć minut nie myśleli o białym niedźwiedziu. Okazało się, że badani myśleli o nim średnio raz na minutę. Modele językowe, będąc trenowane na ludzkich tekstach, w pewnym sensie „odziedziczyły” tę trudność w procesowaniu czystej negacji.

Podsumowanie praktyczne

Jeśli chcesz mieć pewność, że AI Cię posłucha:

  1. Zamień „nie rób” na „rób coś innego”.
  2. Wypunktuj zakazy w oddzielnej sekcji.
  3. Poproś o analizę instrukcji przed wygenerowaniem tekstu.
  4. Daj przykład, jak omijać dany temat.

Stosując te metody, zmieniasz sposób, w jaki mechanizm uwagi przetwarza Twój prompt, co pozwala niemal całkowicie wyeliminować problem ignorowania negacji.

Podziel się z innymi: