Modele językowe

Język wykładowy Polski
Semestr Zimowy
Status W ofercie
Opiekun Paweł Rychlikowski
Liczba godzin 30 (wyk.) 30 (ćw-prac.)
Rodzaj I2.Z - zastosowania inf.
ECTS 6
Polecany dla I roku Nie
Egzamin Tak
Tagi PD (przetwarzanie danych)

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.