Modele językowe

Język wykładowy Polski
Semestr Zimowy
Status Poddana pod głosowanie
Opiekun Paweł Rychlikowski
Liczba godzin 30 (wyk.) 30 (ćw-prac.)
Rodzaj I2.Z - zastosowania inf.
ECTS 6
Polecany dla I roku Nie
Egzamin Tak

Opis przedmiotu:

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.