O halucynowaniu wielkich modeli językowych, wykrywaniu przez nie luk w swojej wiedzy, zdobywaniu świadomości oraz o ciągłej przewadze człowieka nad Internetem i technologią rozmawiamy z dr. inż. Janem Koconiem z Katedry Sztucznej Inteligencji.
Pojęcie sztucznej inteligencji jest teraz odmieniane przez wszystkie przypadki w każdej niemal dziedzinie, aczkolwiek różnie bywa z tym, na ile ludzie niebędący specjalistami od AI rozumieją to pojęcie. Może się wydawać, że sztuczna inteligencja wie wszystko albo prawie wszystko, ale tak przecież nie jest. I tu pojawia się nowy termin, który coraz częściej przebija się do powszechnej świadomości, czyli halucynacje, halucynowanie. Co to jest? Zmyślanie, kłamstwo, błędy?
Halucynacje modelu możemy zdefiniować jako sposób, w jaki ten model odpowiada. Model odpowiada tak, jakby był w pełni przekonany co do prawdziwości swojej odpowiedzi. Wszystko się zgadza, kiedy podaje prawdziwe informacje. Jednak gdy z tą wspomnianą pewnością podaje nieprawdziwe informacje, mówimy o halucynowaniu AI. Na gruncie metod, jakimi obecnie dysponujemy, halucynacja ma największy sens, jeśli chodzi o jej detekcję, gdy mamy do czynienia z pytaniami o fakty, bo je łatwo weryfikować. Natomiast gdy weźmiemy pod uwagę kreatywne odpowiedzi, które siłą rzeczy mogą być różne, pomimo że zadajemy to samo pytanie, to w perspektywie naszych metod detekcji również mamy do czynienia z halucynacją.
Halucynacja jest więc pewną cechą sieci. Nie jest to błąd, ale pewna cecha, z którą chcemy walczyć, kiedy pytamy o fakty, ale którą doceniamy, gdy oczekujemy kreatywnych odpowiedzi, czyli kiedy nie chodzi o utartą prawdę, ale o twórczą różnorodność.
Jak to osiągnąć, żeby model mówił prawdę, gdy ma podać fakty i jednocześnie był twórczy, gdy oczekujemy kreatywności? Czy to ludzie zadający pytania, powinni się nauczyć zadawać je właściwie? Czy też to model powinien zostać dotrenowany, żeby pozwalał sobie na halucynację, tylko wtedy, gdy tego oczekujemy?
Trudne pytanie. Obecnie to wszystko jest dość świeże. Szukamy odpowiedzi, w jaki sposób sobie z tym radzić. Jedną z metod, którą zaadaptowaliśmy na potrzeby detekcji halucynacji, jest metoda polegająca na tym, że traktujemy taki model językowy trochę jak przesłuchiwanego. Wiele razy zadajemy mu to samo pytanie.
Czekając, aż się potknie?
Sprawdzamy raczej, na ile jego odpowiedzi są spójne. Może być tak, że model innymi słowami odpowiada tak samo. Wówczas nie jest to halucynacja. Mamy pewną spójność semantyczną w grupie odpowiedzi na to samo pytanie. Ale może być też taka sytuacja, że on za każdym razem odpowiada inaczej. Jeżeli zadajemy pytanie o fakty, a model podaje różne odpowiedzi, to jest wysokie ryzyko, że mamy do czynienia z halucynacją.
Często halucynacje są powiązane z brakiem wiedzy modelu na jakiś temat. Z różnych względów tak może być. Albo było mało tekstów, dotyczących zagadnienia, o które pytamy, na których model był trenowany. Coś modelowi świta w temacie, więc odpowiada. Natomiast nie ma świadomości swojej niewiedzy. I wtedy mamy halucynację, czyli nieprawdziwą odpowiedź podaną z dużą pewnością.
Takie sytuacje mamy np. w Chacie GPT, gdy pytamy go o szczegóły, dotyczące historii Polski albo kultury polskiej, które on niedokładnie zna?
Tak. Jednak ten model ewoluuje. Korzysta z niego setki tysięcy czy wręcz setki milionów użytkowników i wielu z nich wysyła firmie zwrotną informację. Oprócz tego, że model dostaje odpowiedź od użytkowników, można też kliknąć opinię, czy dana odpowiedź nam się podoba, czy nie. Na podstawie tych ocen łata się luki.
Zaczęliśmy się zastanawiać, czy można tak dostroić model, żeby był on (w wielkim cudzysłowie) „świadomy swojej niewiedzy”. Chcemy tak zoptymalizować preferencje odpowiadania modelu, by on – mając małą wiedzę o temacie – po prostu odpowiadał: „Nie wiem”, zamiast mówić nieprawdziwe rzeczy z dużą pewnością. Skoro jesteśmy w stanie wykryć luki w wiedzy modelu, to być może jesteśmy też w stanie tak go dostroić, żeby zaczął zadawać sensowne pytania o te luki. Sensowne, czyli takie, które są w jakiś sposób weryfikowalne, na które teoretycznie możemy poszukiwać odpowiedzi na zewnątrz, czy to w Google, czy u jakiegoś eksperta w danej dziedzinie. Dążymy do tego, żeby model był ciekawy swojej niewiedzy, umiał o nią zapytać w sposób sensowny i umiał pozyskiwać wiedzę na zewnątrz. Potem, mając już te informacje, mógł się douczyć, tak by w kolejnej iteracji luki były bardziej wypełnione.
Oczywiście nowa wiedza może spowodować, że pojawią się nowe luki. Jest to o tyle ciekawe, że kończą nam się dane do trenowania sieci. Mówię o całym świecie. Największym firmom, które trenują tego typu modele, powoli zaczyna brakować danych do treningu. Chodzi o dane tekstowe dostępne w sieci. One w większości zostały już wykorzystywane do trenowania. Lada moment zabraknie danych do treningu, a model wciąż jest niedoskonały. Dobrze byłoby, żeby więc umiał zadawać ludziom pytania. Możemy sobie wyobrazić grupę naukowców, która eksploruje jakiś temat, jest w nim dobrze zorientowana. Eksperci mają świadomość pewnej swojej niewiedzy, ale wiedzą też, jakie pola eksploracji są sensowne, jakie hipotezy można stawiać, które można badać. Chcielibyśmy doprowadzić do tego, żeby sieć neuronowa, znając całą wiedzę i będąc świadoma luk w swej wiedzy, była w stanie zadawać pytania, a ludzie – przynajmniej na razie – na te pytania by odpowiadali.
To jest optymistyczna informacja, że jednak AI mimo że może przeczytać czy przeszukać cały internet, nadal będzie potrzebować ludzi?
Myślę, że jeszcze długo tak będzie i że to będzie zawód przyszłości – osoby tworzące dane do treningu modeli AI. Akurat tekst jest dosyć „prostym” materiałem, łatwo dostępnym, w dużej ilości, wszędzie. Ale już jeśli mamy tworzyć np. roboty, które będą umiały wyjąć i rozwiesić pranie, to takich zbiorów danych do treningu nie ma. Trzeba je stworzyć.
Czyli teraz jak model wykrywa lukę, ale ma dostęp do informacji w sieci, to potrafi już sobie sam tę lukę uzupełnić? Czy to jeszcze jest melodia przyszłości?
Przy założeniu, że jest to luka, na którą da się znaleźć odpowiedź w sieci, to tak. Obecnie korzystamy z rozwiązań, które żargonowo nazywają się RAG (Retrieval-Augmented Generation). Polega to na tym, że mamy jakieś zapytanie do modelu, pewną bazę tekstów i w niej poszukujemy takich, które przypominają semantycznie to, o co pytamy. Możemy sobie wyobrazić, że skoro model jest w stanie zadać sensowne pytanie o swoją niewiedzę, to możemy takie pytanie wysłać do Googla, dostaniemy ileś dokumentów z odpowiedzią. Następnie możemy wyjąć z nich treść tekstową, przekazać ją z powrotem do modelu i zlecić mu, żeby poszukał sobie w tych dokumentach odpowiedzi na swoje pytanie. Oczywiście nie mamy gwarancji, że znajdzie odpowiedź, ale hipotetycznie: jeżeli niewiedza może być w ten sposób uzupełniona, to tak – jak najbardziej może tak być.
Ważna jest jakość dokumentów, bo jeśli model będzie się uczył na błędnych treściach…
To zawsze jest problem. Ale podobnie my jako ludzie też nie trafiamy tylko na wiarygodne treści w sieci. Mnóstwo ludzi nabiera się na fake newsy, ale jest też niemała grupa, która jest w stanie odsiać ziarno od plew. Skoro jest jakaś procedura weryfikacji (ona może być nawet bardzo trudna do uchwycenia słowami), to możemy mieć nadzieję, że jeśli pokażemy modelowi tysiące przykładów rzetelnych i nierzetelnych odpowiedzi, to on też nauczy się takiego sposobu weryfikacji.
I jego świadomość wzrośnie?
Tak. Chociaż „świadomość” jest trochę nieudolnym terminem, bo przynależy ludziom. Z drugiej strony używamy coraz więcej terminów zarezerwowanych dla ludzi. Między innymi w artykule naukowym, a właściwie preprincie "Into the Unknown: Self-Learning Large Language Models", który napisaliśmy z Teddym Ferdinanem i prof. Przemysławem Kazienką, i który niedawno opublikowaliśmy, prezentujemy pierwsze wyniki naszych badań w kontekście samouczących się modeli. Określiliśmy tam takie miary jak np. ciekawość modelu. Im bardziej różnorodne pytania model zadaje w obszarach, w których ma tę „świadomość” swojej niewiedzy, tym bardziej jest „ciekawy”. Tak to zdefiniowaliśmy. To nazewnictwo powoli będzie się przenikało.
Uczłowieczało?
Trochę tak, ale to jest kwestia niedoskonałości terminologii, ponieważ materia jest bardzo świeża.
I musimy nazywać ją tym, co mamy.
Tak. Zresztą sami mamy problem ze zdefiniowaniem świadomości w przypadku człowieka. Owszem nazywamy ten koncept, ale trudno tak dokładnie powiedzieć, jaki to jest stan. To też jest nieodgadniony stan w ludzkim mózgu.
I chyba dosyć subiektywny. Kolejną taką nazwą zaczerpniętą z ludzkiej terminologii jest „halucynacja’. Przypomina stan u człowieka, który widzi lub słyszy coś, czego nie ma, ale jest przekonany, że to jest prawdziwe.
Tak. Wiele osób twierdzi, że to też jest niefortunny termin w kontekście tego zjawiska. Ja nie wiem, czy tak jest. Często pewne terminy wchodzą do żargonu, zaczynają być używane i są samodefiniujące się. Zawsze znajdzie się ktoś, komu się termin nie podoba, ale nie warto się tym zajmować, zwłaszcza że nie budzi aż tak wielkich kontrowersji.
Jeśli model będzie miał samoświadomość, będzie się sam uczył, uzupełniał wiedzę, to czy będzie w którymś momencie mógł sam decydować? Należy się tego bać, czy nie?
Nie wiem, czy należy się tego bać. Widzimy, że – przynajmniej na razie – potrzebna jest bardzo duża moderacja ze strony człowieka. Tak się dzieje w przypadku wielkich modeli językowych, w których kluczem do tego, żeby model zachowywał się tak, jak chcemy, jest tworzenie zbioru preferencji, czyli instrukcji z odpowiedziami, jakich oczekujemy od modelu. Jeżeli więc pytamy model o jego niewiedzę, to czasem on zadaje nieprzydatne pytania. Na przykład model może powiedzieć: „Nie wiem, kto będzie prezydentem USA w 2050 roku”. Owszem, fajnie zidentyfikował lukę w wiedzy, tyle że my też ją mamy i nikt jej nie wypełni, dopóki nie nadejdzie rok 2050. Z naszej perspektywy jest to pytanie o niewiedzę, które nie ma sensu. Nadzór jest więc potrzebny, przynajmniej teraz, po to, żeby człowiek dawał modelowi feedback, czy jego pytanie o niewiedzę ma sens.
Eksperymentujemy z wykorzystywaniem silnych modeli językowych w takim kierunku, żeby one były w stanie podejmować decyzje za ludzi. Jednak większość tego, co mówię, to są jeszcze bardziej plany niż gotowa realizacja. Dlatego odpowiem w ten sposób: na chwilę obecną samodzielność podejmowania decyzji przez AI w większości obszarów raczej nie jest możliwa.
Tym bardziej że taka „maszynka” nadal popełnia dużo błędów. Nawet jeżeli mowa o jednym przypadku na 10, to wciąż jest to za dużo. Ale są rozwiązania AI, m.in. związane z medycyną, które są lepsze na przykład w diagnostyce niż przeciętny lekarz pierwszego kontaktu. Bo potrafią zagregować wiedzę z mnóstwa źródeł, widzieć dużo więcej przypadków. Myślę, że prędzej czy później dojdziemy do momentu, w którym autonomia modeli będzie coraz większa i będziemy się zgadzać z większością podejmowanych przez nie decyzji, bo one będą poprawiały jakość naszego życia.
Pytanie na koniec: mamy na Politechnice Wrocławskiej nowy superkomputer, wyposażony w karty graficzne NVIDIA H100 do przetwarzania sztucznej inteligencji. To jest narzędzie, które pozwoli przyspieszyć, czy też poszerzyć skalę prowadzonych przez Państwa badań?
Przede wszystkim da jakąkolwiek możliwość realizacji badań na wielką skalę. Najlepsze modele, które są używane na świecie, jak choćby Chat GPT, wymagają zaangażowani do treningu co najmniej kilkuset, a często wręcz kilkuset tysięcy takich kart graficznych, jakich my u siebie mamy 300. Ale już z tymi 300 mamy jedną z najlepszych maszyn w Polsce, a nawet w Europie, do tego typu zadań. To otwiera bardzo szerokie możliwości rozwoju AI u nas na uczelni.