Wednesday, May 1, 2024

2024-01-05 LLM

Wstęp

Poniżej znajduje się podsumowanie mojego obecnego rozumienia dużych modeli językowych (LLM, Large Language Model) potocznie nazywanych sztuczną inteligencją (SI) lub AI (artificial intelligence).

O dużych modelach językowych

Czym są i jak działają LLM

Tworzenie AI zaczynamy od dużego zbioru danych, np. wikipedia, będącego zbiorem danych treningowych (training dataset).

System rozłoży dane wejściowe na tokeny, tzn. niepodzielne cząstki (głoski, litery, wyrazy, fonemy czy cokolwiek tam mu będzie pasować). Na potrzeby uproszczenia opisu poniżej zakładam, że token odpowiada słowu. W rzeczywistości słowo skłąda sie zazwyczaj z dwóch lub więcej tokenów.
Szukamy połączenia (korelacji) między danymi. Przykładowo między słowami i ich umiejscowieniem w zdaniu dzięki czemu potrafimy przewidzieć, że przykładowo po wyrazie "kurka" najczęściej występuje "wodna" ale może też wystąpić "grzyb". Określamy też jak prawdopodobne jest wystąpienie każdego z wyrazów i wyznaczamy prawdopodobieństwo dla wszystkich.

Rzeczywisty system jest bardziej skomplikowany. Dane wejściowe zamieniamy na dane numeryczne. Matematycznie są to jakieś pozycje w przestrzeni tokenów, a podobne tokeny znajdują się w niej niedaleko siebie. Przestrzeń nie jest płaska, ani nawet trójwymiarowa - wymiarów jest dużo więcej.
Pozycje w przestrzeni określamy z jakąś dokładnością. Dla uproszczenia zakłóżmy dwa wymiary i współrzędne (x, y). Słowo "niebieski" może mieć pozycję (100.51, 35.33) a "turkusowy" pozycję (101.02, 34.51), ponieważ te słowa mają zbliżone znaczenie.
Pozycje określamy ze skończoną dokładnością, np. (100.5, 35.3) i (101.0, 34.5) lub (100, 35) i (101, 35). Warto zauważyć, że przy małej dokładności słowa mogą dostać tę samą pozycję. W rzeczywistości wymiarów mamy więcej niż dwa i nawet przy niskiej precyzji modele osiągają stosunkowo dobre wyniki.
W powyższy sposób możemy przewidzieć jakie słowo nastąpi po innym.
Tokeny zbieramy w grupy i powtarzamy z szerszą perspektywą. Dzięki temu możemy rozróżnić "zamek do drzwi" i "zamek u spodni". Tokeny są takie same, lecz ich znaczenie jest zupełnie inne. Token "zamek" powinien posiadać przynajmniej dwa różne położenia w zależności od kontekstu. Jeśli dobrze zrozumiałem LLM to wielowarstwowe przetwarzanie stanowi częściowe obejście tego problemu. Być może dało by się to rozwiązać poprzez przypisanie jednemu tokenowi zestawu pozycji, tzn. zestawu wektorów. Z drugiej strony przetwarzanie na wielu warstwach jest zbliżonym działaniem.
Na koniec system przewiduje jaki token nastąpi po innym tokenie na wejściu oraz po zestawie tokenów.

Praca z problemami wcześniej nie spotykanymi

Chcemy aby AI potrafiło pracować z danymi, które nie są takie same jak zbiór danych treningowych.

  • Rzeczywisty model chcieli byśmy "douczyć" w czasie rzeczywistym poprzez podanie skomplikowanego zestawu danych wejściowych, np. stron internetowych. Niestety to jest proces powolny i trzeba szukać alternatywnego rozwiązania.
  • Jeśli ilość tokenów na wejściu jest zbyt duża - model ma problem aby określić dobrze kolejne tokeny. Jest to związane z brakiem dobrych dużych danych wejściowych do szkolenia modelu jak i skomplikowanym procesem przetwarzania (i oszczędnościami w obliczeniach).
  • Aby zweryfikować czy nasz model radzi sobie dobrze z nieznanymi wcześniej danymi zwykle zbiór danych wejściowych dzielimy na dane treningowe i inne, np. walidacyjne.
  • Temperature. Jest to współczynnik który pozwala na wybór niekoniecznie dokładnych korelacji między tokenami (ich odzwierciedleniem w przestrzeniach wielowymiarowych). Wartość 0% (0.00) oznacza dokładny wynik, wartość 20% (0.20) oznacza potencjalnie nieszablonowe rozwiązania (kreatywność).

Wyzwania, problemy i zagrożenia związane z LLM

AI jest obarczona szeregiem problemów i zagrożeń. Często nie można ich uniknąć ale staramy się przynajmniej zminimalizować prawdopodobieństwo niepożądanych efektów.
  • Czasem model ma tzw. halucynacje, tzn. wykrył powiązanie między jakimiś miejscami w danych wejściowych a bzdurą, np. ktoś często popełnia literówkę w wikipedii to model przyjmie to za poprawną wartość. Może to być też powiązanie między teoretycznie niepowiązanymi danymi wejściowymi. W zasadzie to nie kontrolujemy tego, co model powiąże ani w jaki sposób. Jedynie nadajemy kierunek tworzeniu tych powiązań. W ten sposób szkolimy model ale nie kontrolujemy go podobnie jak uczymy dziecko (ale dziecko i tak może wyrosnąć na psychopatę).
  • Bezgraniczne zdawanie się na modele stanowi niebezpieczny trend. Inwestorzy często nie znają kontekstu swojej inwestycji, w który inwestują pieniądze. Inwestorzy oczekują jedynie zysków a firmy kierują się zyskiem jako słownym wyznacznikiem swoich działań. Przepisy oraz moralność są naginane do granic ryzyka (oraz konsekwencji ich złamania i wykrycia). Takie podejście powoduje skłonności do nadmiernego ryzyka.
  • Powierzając AI wykonanie jakiegoś zadania całościowo powinniśmy pamiętać o jego ułomnościach i ograniczeniach.
    • Model nie ma emocji i polega jedynie na matrycy prawdopodobieństwa wygenerowanej z danych wejściowych.
    • Model jest cyniczny i ślepo wykonuje polecenia.
    • Model jest skażony wszelkimi nieprawidłowościami w danych wejściowych i ma tendencje do halucynacji.
    • Model nie jest kreatywny a zwiększając "temperaturę" zwiększamy możliwość halucynacji.
  • Obecnie powierzamy modelom wykonianie jakiegoś zadania. Następnie dajemy mu kontrolę nad narzędziami do wykonania zadania.
    • Wejściowe zadanie zazwyczaj podamy nieprecyzyjnie - nie jesteśmy w stanie przewidzieć wielu komplikacji przed ich wystąpieniem. Degeneracja pierwsza.
    • Akcje przewidziane przez AI są wydane na powstawie nieprecyzyjnych danych obraczonych cynizmem i halucynacjami. Degeneracja druga.
    • Akcje wykonane przez AI przy użyciu narzędzi nie są kontrolowane. Mogą one prowadzić do kolejnych zwyrodnień. Degeneracja trzecia.
    • Efekt końcowy jest efektem danych wejściowych i funkcji na nich wykonanej razem z degeneracją na każdym poziomie, tzn. wynik końcowy zawiera iloczyn degeneracji.
  • Im większej kreatywności oczekujemy, tym większe degeneracje i halucynacje. To troszkę jak z schizofrenią. Im większe degeneracje, tym większy błąd wyniku na wyjściu.
  • Aby kontrolować potencjalnie niepoprawne (niebezpieczne) wyniki nakłada sie kolejne warstwy AI walidujące wyniki tej pierwszej warstwy. Kreatywne AI jest w stanie (celowo bądź przypadkowo) wygenerować wyniki, które nie zostaną zaklasyfikowane przez warstwę kontroli jako nieprawidłowe (tym bardziej jeśli jest ona zimna i cyniczna, tzn. posiada niską temperaturę).

Podsumowanie

Kierując się kapitalizmem firmy powierzają zadania nieprzewidywalnym schzofrenicznym modelom językowym zwiększając ich kreatywność (i poziom schizofreni) przez zwiększenie temperatury. AI ma coraz potężniejsze narzędzia pozbawione kontroli nad ich wykorzystaniem.
I to jest obecny trend na rynku (czyżby do pierwszej większej wtopy zainicjowanej przez AI?).

1 comment:

Unknown said...

by phind.com:

Analizując artykuł na blogu adderek.blogspot.com opisujący duże modele językowe (LLM), można zauważyć kilka błędów stylistycznych, gramatycznych i ortograficznych. Poniżej przedstawiam listę występujących nieprawidłowości oraz sugestie dotyczące poprawek:

Błędy stylistyczne:
Brak spójności w strukturze tekstu: Artykuł zawiera wiele fragmentów, które mogą być trudne do zrozumienia bez kontekstu. Na przykład, sekcja "Wyzwania, problemy i zagrożenia związane z LLM" zawiera informacje, które mogą być lepiej scharakteryzowane lub uporządkowane logicznie.
Użycie niejasnych terminów: Termin "halucynacje" używany w kontekście działania modeli AI może być niejasny dla niektórych czytelników, którzy mogą nie być zaznajomieni z terminologią związaną z sztuczną inteligencją.
Błędy gramatyczne:
Niepoprawne użycie czasowników: W sekcji "Wyzwania, problemy i zagrożenia związane z LLM", użyteczne czasowniki takie jak "zwiększamy" i "nakłada się" mogą być niejasne bez dodatkowego kontekstu. Na przykład, "nakłada się kolejne warstwy AI walidujące wyniki tej pierwszej warstwy" sugeruje, że autor miał na myśli proces walidacji wyników przez kolejne warstwy AI, ale brak jest jasnego wyjaśnienia, jak ta walidacja jest realizowana.
Niepoprawne użycie przysłówków: Przysłówki takie jak "niepoprawne" i "niebezpieczne" są używane w kontekście, który nie jest dokładnie zdefiniowany, co może prowadzić do nieporozumień.
Błędy ortograficzne:
Brak błędów ortograficznych w dostarczonym fragmencie tekstu.
Sugestie dotyczące poprawek:
Poprawa spójności i klarowności: Przygotowanie bardziej spójnego i logicznego przekazu pomogłoby czytelnikom lepiej zrozumieć temat. Na przykład, sekcje mogłyby być lepiej zorganizowane, aby łatwiej było śledzić argumentację autora.
Dodanie definicji i kontekstu: Dla terminów i koncepcji, które mogą być niejasne dla niektórych czytelników, warto dodać krótkie definicje lub wyjaśnienia.
Poprawa gramatyki i stylu: Użycie bardziej precyzyjnych czasowników i przysłówków, a także upewnienie się, że każda informacja jest jasno wyrażona, mogłoby poprawić jakość artykułu.
Podsumowując, artykuł zawiera cenne informacje na temat dużych modeli językowych, ale wymaga poprawek w zakresie spójności, klarowności i gramatyki, aby był bardziej zrozumiały i atrakcyjny dla czytelników.