Artykuł pochodzi z wydania: Listopad 2023
Generatywna sztuczna inteligencja stała się jednym z najbardziej fascynujących i dynamicznych obszarów rozwoju w dziedzinie technologii. Jest to rodzaj sztucznej inteligencji zdolny do generowania tekstu, obrazów lub innych mediów w odpowiedzi na polecenia użytkowników (prompty). Przedstawiamy modele generatywne ze szczególnym uwzględnieniem LLM, możliwości ich wykorzystania w codziennej pracy oraz zagrożeń, jakie się z tym wiążą.
Modele generatywne uczą się wzorców i struktury swoich danych treningowych, a następnie generują nowe dane o podobnych cechach. Do znanych systemów generatywnej AI należą ChatGPT (i jego wariant Bing Chat) oraz Bard – chatbot stworzony przez Google’a na podstawie modelu bazowego LaMDA. Modele generatywne potrafią tworzyć nie tylko teksty w różnych językach, w tym językach programowania, ale również grafikę i wideo. Przykładami takich modeli są Stable Diffusion, Midjourney i DALL-E.
> Generatywna sztuczna inteligencja
W ostatnich latach pojawiło się kilka typów generatywnej SI, które mają różne zastosowania i wykorzystują różnorodne techniki uczenia maszynowego. W tym punkcie przedstawimy najpopularniejsze architektury, co pozwoli nam lepiej zrozumieć, jak można je wykorzystać i jakie są mechanizmy ich działania.
TRANSFORMERY
Architektura modeli AI takich jak BERT i GPT oparta jest na mechanizmach uwagi, które są powszechnie używane do generowania tekstu i analizy języka naturalnego. Modele te są w stanie przetwarzać duże ilości tekstu, a następnie tworzyć sensowne odpowiedzi na pytania lub generować tekst związany z określoną tematyką. Transformery rewolucjonizują dziedzinę analizy języka naturalnego i znajdują zastosowanie w takich usługach jak tłumaczenie maszynowe, generowanie podsumowań czy chatboty. Od czasu debiutu w 2017 r. transformery są coraz częściej wybieranym modelem w przypadku problemów NLP, zastępując modele RNN, takie jak pamięć długo- i krótkotrwała (ang. long short-term memory – LSTM). Dodatkowa równoległość uczenia umożliwia trenowanie na większych zestawach danych, niż było to kiedyś możliwe.
W przeciwieństwie do RNN transformer wykonuje tylko niewielką, stałą liczbę kroków (wybranych empirycznie). Na każdym kroku stosuje mechanizm samouwagi, który bezpośrednio modeluje relacje między wszystkimi słowami we frazie, niezależnie od ich pozycji.
Aby ustalić, że w zdaniu „Ślimak jest częścią ucha wewnętrznego” słowo „ślimak” odnosi się do narządu, a nie do mięczaka, transformer może rozpoznać natychmiast, zwracając uwagę na wyraz „ucho”, i podejmować tę decyzję w jednym kroku. W celu obliczenia następnej reprezentacji danego słowa transformer porównuje ją z każdym innym wyrazem zdania, czego wynikiem jest ocena uwagi dla każdego innego leksemu w zdaniu. Te wyniki uwagi określają, w jakim stopniu każde z pozostałych słów powinno przyczynić się do następnej reprezentacji „ślimaka”. W tym przykładzie ujednoznaczniające „ucho” może uzyskać wysoki wynik uwagi podczas obliczania nowej reprezentacji „ślimaka”. Wyniki uwagi są następnie używane jako wagi dla średniej ważonej reprezentacji wszystkich słów, która jest wprowadzana do w pełni połączonej sieci, aby wygenerować nową reprezentację dla „ślimaka”, odzwierciedlając, że zdanie mówi o narządzie słuchu.
VAE
Wariacyjne autoenkodery (ang. variational autoencoders, VAE) to modele generatywne stosowane głównie w dziedzinie analizy i generowania nowych obrazów. Ich działanie polega na modelowaniu prawdopodobieństwa. Oznacza to, że VAE nie tworzy jednej konkretnej reprezentacji danych, ale generuje prawdopodobieństwa dla ich różnych wersji. Dzięki temu VAE może nauczyć się koncentrować na różnych aspektach danych i generować różnorodne wyniki. Architektura ta składa się z trzech głównych komponentów: enkodera, dekodera i funkcji straty:
- enkoder jest odpowiedzialny za przekształcanie danych wejściowych na taki zbiór parametrów, który może być używany do modelowania rozkładu prawdopodobieństwa w przestrzeni latentnej (przestrzeni o zredukowanej liczbie wymiarów względem danych wejściowych);
- dekoder odbiera parametry z przestrzeni latentnej i generuje dane wyjściowe na podstawie tych parametrów. To, co otrzymujemy z dekodera, jest próbką wygenerowaną z rozkładu prawdopodobieństwa, który został nauczony w enkoderze;
- funkcja straty zwykle uwzględnia dwa składniki – rekonstrukcję i regularyzację. Ten pierwszy odpowiada za jak najwierniejsze odtworzenie danych wejściowych, podczas gdy składowa regularyzacji pomaga zachować równowagę w przestrzeni latentnej.
GAN
Sieci generatywne składają się z dwóch sztucznych sieci neuronowych: generatora i dyskryminatora. Generator tworzy dane na podstawie istniejących informacji, starając się, aby były one trudne do odróżnienia od danych treningowych. Dyskryminator natomiast ma za zadanie rozróżnić dane wygenerowane przez generator od prawdziwych danych treningowych. GAN-y są często stosowane w generowaniu obrazów o wysokiej jakości, tworzeniu modeli 3D czy syntezie dźwięku.
[…]
Marcin Szeliga
Autor jest pracownikiem naukowym Uniwersytetu WSB Merito w Chorzowie, jest autorem książek poświęconych analizie danych i posiada tytuł Microsoft Most Valuable Professional.