Model językowy (Language Models, LM) wydaje się dość technicznym pojęciem -- jest rozkładem prawdopodobieństwa modelującym ciągi symboli ze skończonego zbioru. Niemniej jednak, ze wględu na między innymi wielkie sukcesy współczesnych (dużych) modeli generatywnych (ChatGPT, DALLE, Copilot, ...) modele językowe stały się w ostatnich czasach jednym z najważniejszych tematów związanych z technologiami, przy czym absolutnie dominującym w ostatnich latach sposobem realizacji modeli językowych są sieci neuronowe typu Transformer, które będą również podstawowym (choć niejedynym) narzędziem używanym podczas naszego przedmiotu.
Będziemy zajmować się zarówno podstawową dziedziną, w której działają LMs czyli przetwarzaniem języka naturalnego, jak i sieciami neuronowymi modelującymi inne modalności (między innymi obrazy, muzykę, dźwięk), jak również systemami wielomodalnymi.
Ważnym wątkiem naszego wykładu będzie również badanie, jak bardzo modele językowe stają się/mogą się stać podstawowym "silnikiem" sztucznej inteligencji -- czy takie tradycyjne zadania sztucznej inteligencji jak granie w gry, przeszukiwanie przestrzenie stanów, uczenie ze wzmocnieniem, rozwiązywanie problemów, dowodzenie twierdzeń mogą być (i do jakiego stopnia) rozwiązywane za pomocą modeli językowych.
Zajęcia pomocnicze do przedmiotu będą kombinacją ćwiczeń i pracowni. Planujemy 5 list ćwiczeniowych, cztery pracowniane i miniprojekt zamiast ostatniej piątej i części czwartej listy pracownianej (każda pracownia jest przewidziana na dwa tygodnie). Na ćwiczeniach niektóre zadania będą wymagały przeczytania jakiegoś fragmentu publikacji naukowej (czasem wystarczy jej popularne streszczenie/wideostreszczenie). Będziemy używać między innymi Pythona, pytorcha i biblioteki 🤗 Transformers (huggingface transformers). Miniprojekt będzie zespołowy i będzie zakładał uczenie od podstaw średniego modelu językowego, lub dotrenowywanie większego -- przy czym będziemy działać wieloetapowo: wcześniej każda studentka i każdy student i każdy prowadzący będzie mógł zgłosić temat(y) projektu, po czym Demokratyczna Komisja Grantowa, składająca się ze studentów i prowadzących wybierze podzbiór projektów do realizacji (i do tych projektów będą tworzone zespoły, a uczenie będzie w miarę potrzeb i możliwości realizowane w Instytucie Informatyki).
Przedmiot zakłada wstępną znajomość zagadnień związanych z sieciami neuronowymi i uczeniem maszynowym. Każdy student powienien wcześniej ukończyć jeden (a najlepiej dwa) przedmioty ze zbioru: Sztuczna inteligencja, Neural networks + X, Machine Learning, Eksploracja danych, Projekt: Deep Learning, Text mining, Projekt: boty konwersacyjne i odpowiadanie na pytania, itp.
### Szczegółowa lista zagadnień:
* Wprowadzenie do modelowania języka za pomocą sieci neuronowych
* Działanie sieci transformer w wariantach: sam koder (BERT, ...), koder-dekoder (T5, ...) oraz sam dekoder (GPT-*, ...)
* Trening wstępny i dotrenowywanie modeli (z uwzględnieniem Reinforcement Learning with Human Feedback)
* Transfer learning i praca z modelami wielojęzycznymi
* Algorytmy tokenizacji i ich wpływ na działanie modelu
* Wprowadzenie do Przetwarzania języka naturalnego (NLP)
* Klasyczne zadania NLP rozwiązywane za pomocą wstępnie wytrenowanych modeli: klasyfikacji sekwencji (na przykład hate speech detection), klasyfikacja tokenów (na przykład Named Entity Recognition, Part-of-Speech tagging), zadanie seq2seq (tłumaczenie maszynowe, streszczanie generatywne)
* Technika probingu i badanie, czego uczą się transformery
* Boty konwersacyjne i odpowiadanie na pytania (model Reader+Retrieval, Dense Passage Retrieval, Retrieval-Augmented Generation), sposoby otrzymywania wektorowej reprezentacji zdania, problem halucynacji
* Modelowanie obrazów i dźwięków za pomocą transformerów (np. Vision Transformer, wave2vec-2.0, i inne)
* Modele multimodalne łączące obraz z tekstowym opisem
* Zagadnienia efektywności i kompresji modeli (destylacja wiedzy, kwantyzacja modelu, przycinanie wag)
Łączenie transformerów z innymi narzędziami (m.in. Toolformer)
Wychodzenie poza standardowe zastosowania: transformery realizujące strategie w grach planszowych (m.in OthelloGPT), modelowanie uczenia ze wzmocnieniem za pomocą transformerów, modelowanie obliczeń
* Możliwości dużych modeli językowych (Zero Shot Learning, Few Shot Learning, i inne)
* Inżynieria promptów (zachęt), metody automatycznego generowania promptów (Chain-of-Thoughts i pokrewne), algorytmy ewolucyjne w tworzeniu promptów
* Warianty mechanizmu uwagi i próby poszukiwań następców transformera (np. Linformer, Performer, Reformer, ...)
* Siła transformerów/słabość transcformerów (transformery jako Ogólna Sztuczna Inteligencja, ograniczenia w modelowaniu pewnych zagadnień, formalnojęzykowe modele transformerów (np. RASP), czy 'emerging abiilities' dużych modeli są czymś realnym, czy złudzeniem.