Tagi
systemy sieciowe i komputerowe algorytmika i złożoność obliczeniowa metody numeryczne i grafika komputerowa języki programowania i logika przetwarzanie danych Data Science Praca zespołowa Bazy danych Ekonomia Inżynieria oprogramowania Projektowanie i programowanie obiektowe Architektury systemów komputerowych Systemy operacyjne Sieci komputerowe Ochrona własności intelektualnej Rachunek prawdopodobieństwa i statystykaEfekty kształcenia
Podstawy informatyki i programowania Programowanie i projektowanie obiektowe Architektury systemów komputerowych Rachunek prawdopodobieństwa (L) Systemy operacyjne Sieci komputerowe Bazy danych Podstawy inżynierii oprogramowania Inżynieria oprogramowania (L) Rachunek prawdopodobieństwa (I) Społeczno-ekonomiczne aspekty informatyki (I)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.