Wyjaśnienie modeli generatywnych sztucznej inteligencji
Opublikowany: 2024-04-15Kiedy myślisz o generatywnych modelach sztucznej inteligencji, prawdopodobnie myślisz o dużych modelach językowych (LLM), które zrobiły furorę w ostatnich latach. Jednak sama generatywna sztuczna inteligencja sięga wielu dziesięcioleci wstecz, a LLM to tylko najnowsza ewolucja. Oprócz LLM wykorzystuje się wiele różnych rodzajów generatywnych modeli sztucznej inteligencji na potrzeby różnych narzędzi i przypadków użycia generatywnej sztucznej inteligencji, takich jak modele dyfuzyjne wykorzystywane do generowania obrazów.
W tym artykule wyjaśnimy, czym są modele generatywnej sztucznej inteligencji, w jaki sposób są opracowywane, a także zapewnimy głębsze zanurzenie się w niektóre z najpopularniejszych obecnie modeli generatywnej sztucznej inteligencji – na tyle, aby zapewnić koncepcyjne zrozumienie tych modeli, które zrobi wrażenie przyjaciółmi i współpracownikami, bez konieczności uczęszczania na kurs uczenia maszynowego (ML).
Co to jest generatywny model sztucznej inteligencji?
Modele generatywne AI stanowią podzbiór systemów sztucznej inteligencji, które specjalizują się w tworzeniu nowych, oryginalnych treści odzwierciedlających cechy ich danych szkoleniowych. Ucząc się na podstawie wzorców i relacji w danych, modele te mogą generować dane wyjściowe, takie jak tekst, obrazy, dźwięki lub filmy, które przypominają styl, ton i niuanse materiału źródłowego. Ta funkcja stawia generatywną sztuczną inteligencję w sercu innowacji, umożliwiając kreatywne i dynamiczne zastosowania w różnych dziedzinach poprzez interpretację i przekształcanie danych wejściowych w nowatorskie dzieła.
Jak działają generatywne modele AI
Modele generatywne AI działają poprzez wykorzystanie wyrafinowanej formy algorytmu ML znanej jako sieć neuronowa. Sieć neuronowa składa się z wielu warstw połączonych ze sobą węzłów, z których każdy jest reprezentowany przez fragment kodu komputerowego. Węzły te wykonują drobne, indywidualne zadania, ale wspólnie przyczyniają się do podejmowania złożonych decyzji, odzwierciedlając funkcjonalność neuronów w ludzkim mózgu.
Aby to zilustrować, rozważmy sieć neuronową, której zadaniem jest rozróżnianie obrazów ciast i ciastek. Sieć analizuje obraz na poziomie szczegółowym, rozbijając go na piksele. Na bardzo podstawowym poziomie w sieci będą różne węzły przeznaczone do zrozumienia różnych pikseli i grup pikseli. Być może niektórzy zwrócą uwagę, czy deser ma warstwy, a inni sprawdzą, czy jest lukier, czy skórka. Każdy z węzłów przechowuje informacje o cechach wyglądu ciasta i ciasta, a ilekroć pojawia się nowy obraz, jest on przetwarzany przez każdy węzeł w celu uzyskania ostatecznej prognozy.
W kontekście generatywnej sztucznej inteligencji zasada ta wykracza poza zwykłe uznanie i obejmuje tworzenie nowych, oryginalnych treści. Zamiast jedynie identyfikować cechy, modele generatywne wykorzystują sieci neuronowe do zrozumienia podstawowych wzorców i struktur danych, na których są trenowane. Proces ten obejmuje złożone interakcje i dostosowania w sieci neuronowej, kierowane przez algorytmy zaprojektowane w celu optymalizacji kreatywności i dokładności wygenerowanych wyników.
Jak opracowywane są generatywne modele sztucznej inteligencji?
Opracowywanie generatywnych modeli sztucznej inteligencji obejmuje szereg złożonych i powiązanych ze sobą etapów, zwykle wykonywanych przez zespoły badaczy i inżynierów. Modele te, takie jak GPT (generatywnie przetrenowany transformator) z OpenAI i inne podobne architektury, mają na celu generowanie nowej treści, która naśladuje dystrybucję danych, na których były trenowane.
Oto szczegółowy opis tego procesu:
1 Gromadzenie danych
Analitycy i inżynierowie danych najpierw określają cele i wymagania swojego projektu, co pozwala im zgromadzić szeroki i odpowiedni zbiór danych. Często korzystają z publicznych zbiorów danych, które oferują ogromne ilości tekstu lub obrazów na ich potrzeby. Na przykład szkolenie ChatGPT (GPT-3.5) obejmowało przetworzenie 570 GB danych, co odpowiada 300 miliardom słów z publicznych źródeł internetowych, obejmujących prawie całą zawartość Wikipedii.
2 Wybór modelu
Wybór odpowiedniej architektury modelu jest kluczowym krokiem w opracowywaniu generatywnych systemów AI. Decyzja jest podejmowana na podstawie charakteru zadania, rodzaju dostępnych danych, pożądanej jakości wyników i ograniczeń obliczeniowych. Konkretne architektury, w tym VAE, GAN oraz modele oparte na transformatorach i dyfuzyjne, zostaną omówione bardziej szczegółowo w dalszej części tego artykułu. Na tym etapie ważne jest, aby zrozumieć, że nowe modele często zaczynają się od istniejącej architektury. Podejście to wykorzystuje sprawdzone konstrukcje jako podstawę, umożliwiając udoskonalenia i innowacje dostosowane do unikalnych wymagań danego projektu.
3 Trening modelowy
Wybrany model jest szkolony na podstawie zbioru danych zebranych w pierwszym kroku. Szkolenie generatywnych modeli AI często wymaga dużej mocy obliczeniowej przy użyciu specjalnego sprzętu, takiego jak procesory graficzne (jednostki przetwarzania grafiki) i TPU (jednostki przetwarzania tensorów). Chociaż podejście do uczenia różni się w zależności od architektury modelu, wszystkie modele przechodzą proces zwany strojeniem hiperparametrów. W tym miejscu analitycy danych dostosowują określone ustawienia wydajności, aby osiągnąć najlepsze wyniki.
4 Ocena i dostrajanie
Na koniec ocenia się lub testuje wydajność modelu w świecie rzeczywistym. Ocena generatywnych modeli AI różni się od oceny tradycyjnych modeli ML, ponieważ generatywna sztuczna inteligencja tworzy zupełnie nowy wynik, a jakość tego wyniku jest zwykle subiektywna. Metryki różnią się w zależności od tego, co tworzy model, a techniki oceny generatywnej sztucznej inteligencji zazwyczaj obejmują wykorzystanie ludzi oceniających i mogą wykorzystywać strategię polegającą na wzajemnej ocenie modeli generatywnej sztucznej inteligencji. Wnioski wyciągnięte z etapu oceny są zazwyczaj wykorzystywane z powrotem do dostrajania modelu lub nawet jego ponownego szkolenia. Po sprawdzeniu wydajności modelu jest on gotowy do produkcji.
Rodzaje generatywnych modeli AI
Opierając się na naszej podstawowej wiedzy na temat generatywnych modeli sztucznej inteligencji i zasilających je sieci neuronowych, jesteśmy teraz gotowi zagłębić się w konkretne typy architektur modeli, które pojawiły się od początku 2010 roku. Zbadamy unikalne mocne i słabe strony każdego modelu, a także ich praktyczne zastosowania.
Oto krótki przegląd modeli, które będziemy omawiać:
- Autoenkodery wariacyjne (VAE)doskonale radzą sobie z uczeniem się złożonych rozkładów danych i są często używane do zadań takich jak generowanie i edytowanie obrazów.
- Generacyjne sieci przeciwstawne (GAN)są znane ze swojej zdolności do tworzenia wysoce realistycznych obrazów i stały się popularne w różnych kreatywnych zastosowaniach.
- Modele dyfuzyjneto nowsza klasa modeli, które generują próbki wysokiej jakości w procesie stopniowego dodawania, a następnie usuwania szumu.
- Modele językowedoskonale radzą sobie ze zrozumieniem i generowaniem języka ludzkiego, dzięki czemu są przydatne w zastosowaniach takich jak chatboty i uzupełnianie tekstu.
- Modele oparte na transformatorachzostały początkowo zaprojektowane do zadań przetwarzania języka naturalnego (NLP), ale zostały przystosowane do stosowania w modelach generatywnych ze względu na ich potężne możliwości obsługi danych sekwencyjnych.
Przyjrzyjmy się bliżej każdej z tych architektur, aby zrozumieć, jak działają i gdzie można je najlepiej zastosować.
Autoenkodery wariacyjne (VAE)
Autoenkodery wariacyjne zostały wynalezione przez Maxa Wellinga i Diederika P. Kingmę w 2013 roku. Polegają one na tym, że sieć neuronowa może kodować koncepcje wysokiego poziomu, których model uczy się na etapie uczenia. Nazywa się to czasami „kompresją” lub „projekcją” surowych danych.
Jeśli model spojrzy na przykład na obraz ciasta, może przekształcić go w kodowanie zawierające wszystkie cechy obrazu — posypki, kolor lukieru, gąbczaste warstwy itp. To kodowanie wygląda jak zbiór liczb, który ma sens modelu, ale nie dla ludzi. Może zostać zdekodowany przez inną sieć neuronową w celu odtworzenia oryginalnego obrazu, choć będzie zawierał pewne luki, ponieważ kodowanie polega na kompresji. Ten typ modelu, w którym koder i dekoder współpracują ze sobą, nazywany jest autoenkoderem.
Wariacyjne autoenkodery stanowią odmianę pomysłu autoenkodera w celu generowania nowych wyników. Podczas generowania kodowania VAE wykorzystuje prawdopodobieństwa zamiast liczb dyskretnych. W końcu czy bita śmietana liczy się jako lukier? Czasami tak; czasami nie.
Okazuje się, że jeśli wytrenujesz sieć neuronową do tworzenia probabilistycznych kodowań i wytrenujesz inną sieć neuronową do ich dekodowania, możesz uzyskać całkiem interesujące wyniki. Dekoder może próbkować punkty w „przestrzeni” kodowania wariacyjnego i tworzyć zupełnie nowe dane wyjściowe, które nadal będą wyglądać realistycznie, ponieważ zachowały probabilistyczne relacje danych uczących.
Zalety i wady
Autoenkodery wariacyjne wykorzystują uczenie się bez nadzoru, co oznacza, że model uczy się samodzielnie na podstawie surowych danych, bez konieczności oznaczania przez człowieka różnych cech lub wyników. Modele takie szczególnie skutecznie radzą sobie z tworzeniem treści nieznacznie odbiegających od oryginału. Ze względu na sposób pracy z kodowaniem mogą także otrzymać szczegółowe instrukcje oparte na cechach danych szkoleniowych: „Pokaż mi deser, który stanowi idealny środek pomiędzy ciastem a ciastem”. To powiedziawszy, VAE optymalizują działania pod kątem prawdopodobnych wyników, więc jest mało prawdopodobne, aby wyróżniali się w tworzeniu bardzo oryginalnych lub przełomowych treści.
Jedną z powszechnych skarg na VAE jest to, że mogą generować zaszumione (tj. rozmyte) obrazy ze względu na fakt, że kodowanie i dekodowanie wymaga kompresji, co powoduje utratę informacji.
Przypadki użycia
Autoenkodery wariacyjne działają ze wszystkimi rodzajami danych, chociaż są używane głównie do generowania obrazów, dźwięku i tekstu. Jednym z interesujących zastosowań jest wykrywanie anomalii: w zbiorze danych VAE może znaleźć punkty danych, które najbardziej odbiegają od normy, ponieważ te punkty będą miały najwyższy błąd rekonstrukcji – co oznacza, że będą najbardziej oddalone od prawdopodobieństw zakodowanych przez VAE.
Generacyjne sieci przeciwstawne (GAN)
Generatywne sieci kontradyktoryjne zostały opracowane przez Iana Goodfellowa w 2014 r. Chociaż sieci neuronowe były w stanie generować obrazy już wcześniej, wyniki były zazwyczaj rozmyte i nieprzekonujące. Podstawowe pytanie (i spostrzeżenia) stojące za sieciami GAN jest następujące: co się stanie, jeśli zestawisz ze sobą dwie sieci neuronowe? Jednego, zwanego generatorem, uczy się generować nową treść, drugiego zaś, zwanego dyskryminatorem, szkoli się w zakresie odróżniania treści prawdziwych od fałszywych.
Generator tworzy obrazy kandydatów i pokazuje je dyskryminatorowi. Na podstawie informacji zwrotnej generator odpowiednio aktualizuje swoje przewidywania, coraz lepiej „oszukując” dyskryminator. Gdy uda mu się oszukać dyskryminatora w 50% przypadków (tak dobrze, jak rzut monetą między rzeczywistością a fałszywką), pętla szkoleniowa ze sprzężeniem zwrotnym kończy się. Część generatorowa sieci GAN jest wówczas gotowa do oceny i produkcji.
Od 2014 r. opracowano setki odmian sieci GAN do różnych zastosowań i w celu zrównoważenia nieodłącznych zalet i wad sieci GAN.
Zalety i wady
Generatywne sieci kontradyktoryjne wraz z VAE początkowo wywołały wiele szumu wokół potencjału generatywnej sztucznej inteligencji. Wykorzystują uczenie się bez nadzoru, dzięki czemu model sam staje się lepszy, a badacze nie muszą mu mówić, czy jego wyniki są dobre, czy złe. Generacyjne sieci przeciwstawne również potrafią się bardzo szybko uczyć; w porównaniu z innymi istniejącymi rozwiązaniami w momencie ich wprowadzenia na rynek, mogły uzyskać dobre wyniki przy znacznie mniejszej liczbie danych szkoleniowych — setki obrazów w porównaniu z tysiącami.
Jednak sieci GAN na ogół mają trudności z tworzeniem treści, które nie przypominają ich danych szkoleniowych — są to podszywacze, a nie twórcy. Czasami mogą „przesadzić” swoje dane szkoleniowe, na przykład gdy sieci GAN utworzyły obrazy zdjęć kotów zawierające litery, ponieważ pokazano im wiele memów o kotach.
Szkolenie sieci GAN to wyzwanie. Podczas treningu należy żonglować dwiema sieciami. Problemy mogą również pojawić się, gdy dyskryminator jest zbyt dobry, co prowadzi do cyklów szkoleniowych, które nigdy się nie kończą, lub jeśli dyskryminator nie jest wystarczająco dobry, co prowadzi do słabych wyników. Mogą również cierpieć z powodu tak zwanego załamania trybu, podczas którego nie wytwarzają różnorodnych wyników, ponieważ generator uczy się kilku sposobów oszukiwania dyskryminatora i koncentruje się na tych strategiach, wykluczając inne.
Przypadki użycia
Generatywne sieci kontradyktoryjne służą przede wszystkim do generowania treści bardzo podobnych do oryginału. Mogą na przykład tworzyć przekonujące ludzkie twarze lub realistyczne zdjęcia wnętrz lub krajobrazów do wykorzystania w fotografii stockowej lub grach wideo. Mogą także tworzyć obrazy, które zostały w jakiś sposób zmienione, na przykład zmiana obrazu z kolorowego na czarno-biały lub postarzanie twarzy na obrazie. To powiedziawszy, nie wszystkie sieci GAN generują obrazy. Na przykład niektóre sieci GAN zostały wykorzystane do przetwarzania tekstu na mowę.
Modele dyfuzyjne
Modele dyfuzyjne również pojawiły się w połowie 2010 roku, oferując pewne przełomy, które zapewniły lepszą wydajność na początku lat 2020-tych. Obsługują narzędzia do generowania obrazu, takie jak DALL-E, Stable Diffusion i Midjourney.
Modele dyfuzyjne działają poprzez wprowadzenie szumu Gaussa do obrazu, zniekształcenie go w kilku etapach, a następnie uczenie modelu, aby odwrócił te kroki i przekształcił „zaszumiony” obraz w wyraźny. („Szum Gaussa” oznacza po prostu, że szum jest losowo dodawany przy użyciu krzywej dzwonowej prawdopodobieństw.)
Można myśleć o zaszumionym obrazie jako o czymś w rodzaju kodowania VAE i rzeczywiście VAE i modele dyfuzji są ze sobą powiązane. Obrazy z danymi treningowymi, powiedzmy, ciasta z limonką, będą miały dość podobne, zaszumione wersje. Ale nawet ten sam zaszumiony obraz nie zostanie za każdym razem „odszumiony” na to samo, ponieważ model po drodze dokonuje świadomych domysłów.
Być może już wiesz, gdzie pojawia się część generatywna. Jeśli dasz modelowi reprezentację obrazu w zaszumionej przestrzeni, będzie on w stanie odszumić obraz i stworzyć zupełnie nowy, wyraźny obraz. Przypomina to sposób, w jaki dekoder pobiera próbki z kodowania. Ale jest jedna istotna różnica: po drodze nie było żadnej kompresji. Nie doszło więc do rzeczywistej utraty danych, a uzyskany obraz będzie wyższej jakości.
Narzędzia generatywne AI, które przechodzą od podpowiedzi tekstowej do obrazu, robią to za pomocą osobnego modelu, który rozumie, w jaki sposób coś takiego jak „tort urodzinowy z motywem jednorożca” może być mapowany na różne cechy obrazu. Zaszumiona wersja tych funkcji jest następnie odwracana, aby uzyskać wyraźny obraz.
Zalety i wady
Modele dyfuzyjne nie kompresują danych uczących, dzięki czemu udaje im się stworzyć bardzo realistyczne obrazy o wysokiej jakości. Jednak ich szkolenie wymaga znacznie więcej zasobów i czasu niż inne modele. To powiedziawszy, samo szkolenie jest prostsze, ponieważ nie uwzględnia załamania trybu sieci GAN i innych wad sieci kontradyktoryjnej. Nie cierpią również z powodu utraty danych (i wynikającej z tego niższej jakości wyników), które mają VAE.
Przypadki użycia
Modele dyfuzyjne są używane głównie do generowania obrazu, dźwięku i wideo. Nie ma bezpośredniego powodu, dla którego nie można ich używać również do generowania tekstu, ale jak dotąd modele oparte na transformatorach okazały się bardziej skuteczne w przypadku języka naturalnego.
Modele językowe
Modele językowe odnoszą się do dowolnej techniki uczenia maszynowego, która generuje probabilistyczny model języka naturalnego. Najbardziej znanym obecnie typem modelu językowego jest LLM, który jest szkolony na ogromnych ilościach surowych danych i wykorzystuje architekturę opartą na transformatorach do generowania tekstu. (Więcej o transformatorach w następnej sekcji.)
Przed modelami opartymi na transformatorach większość najnowocześniejszych modeli językowych wykorzystywała rekurencyjne sieci neuronowe (RNN). Sieci RNN wprowadzają małe pętle w połączeniach wzajemnych między węzłami, dzięki czemu oprócz uczenia się na podstawie obecnych sygnałów, podobnie jak w tradycyjnej sieci neuronowej z wyprzedzeniem (FNN), węzły mogą również uczyć się na podstawie niedawnej przeszłości. Jest to ważne przy przetwarzaniu lub generowaniu języka naturalnego, takiego jak strumień tekstu lub wprowadzanie głosowe. W przeciwieństwie do obrazów, język ma charakter wysoce kontekstowy – sposób, w jaki go interpretujemy, zależy od tego, co wydarzyło się wcześniej.
Zalety i wady
Ponieważ „modele językowe” odnoszą się do tak dużej grupy modeli, trudno uogólniać na temat ich zalet i wad. Wyzwania związane z modelowaniem języka obejmują fakt, że język jest tak wielowymiarowy — w każdym języku istnieje ogromna liczba różnych słów, a niektóre kombinacje mogą nigdy nie pojawić się w danych uczących.
Co więcej, język w dużym stopniu zależy od kontekstu tego, co nastąpiło wcześniej w sekwencji, co wymaga od sieci obsługi lub reprezentowania tego kontekstu w jakiś sposób. Zdolność do zaspokojenia tej potrzeby sprawiła, że sieci RNN wyposażone w pamięć długo- i krótkotrwałą, a następnie transformatory, które mogą przetwarzać całe zdanie jako całość, stały się najnowocześniejszą architekturą modeli językowych.
Przypadki użycia
Modele językowe można wykorzystać do tłumaczenia, podsumowań, poprawiania błędów gramatycznych, rozpoznawania mowy i wielu innych zadań. Służą do generowania nowych, kreatywnych treści tekstowych o wielu zastosowaniach i okazują się zdolne do zaawansowanego rozumowania, na przykład analizowania danych i rozwiązywania zagadek logicznych. Co ciekawe, badania wykazały, że wyłaniającą się umiejętnością LLM jest świadomość przestrzenna i umiejętność tworzenia podstawowych rysunków, mimo że uczą się wyłącznie tekstu.
Modele oparte na transformatorach
Transformatory, wynalezione przez naukowców z Google i Uniwersytetu w Toronto w 2017 roku, zrewolucjonizowały dziedzinę głębokiego uczenia się. LLM, takie jak ChatGPT, to modele oparte na transformatorach, a wyniki wyszukiwania Google również są zasilane przez transformatory.
Model oparty na transformatorze wykorzystuje dane szkoleniowe, aby dowiedzieć się, jak powiązane są różne słowa. Na przykład może dowiedzieć się, żeciastoiciastosą koncepcyjnie podobne, podczas gdyciastoipelerynanie są bezpośrednio powiązane. Może się również dowiedzieć, żekawałekmoże być powiązany zciastemiciastem, zwłaszcza jeśli te słowa występują blisko siebie.
Analizując tekst, model wykorzystuje tę podstawową wiedzę do skonstruowania czegoś, co przypomina ogromny arkusz kalkulacyjny. Może wyszukać dowolne dwa słowa w tekście i uzyskać odpowiedź na temat tego, jak prawdopodobnie są ze sobą powiązane.
Wykorzystując te wskazówki kontekstowe, model transformatora umiejętnie interpretuje język i prognozuje potencjalną ciągłość rozmowy. Na przykład, jeśli w jednym segmencie ktoś wspomni o torcie, a w kolejnym przejdzie do omawiania swoich urodzin, model przewiduje ostateczną wzmiankę o świeczkach lub przyjęciu, w oparciu o ustalone powiązania językowe.
Zalety i wady
Jeśli chodzi o analizę i generowanie języka, transformatory mają kilka zalet w porównaniu z RNNS, ich poprzednikami. Zamiast przetwarzać każde słowo po kolei, mogą przetwarzać tekst równolegle w sieci. Dzięki temu trenowanie na bardzo dużych zbiorach danych jest szybsze i wydajniejsze. Potrafią także tworzyć połączenia między słowami niezależnie od ich odległości, co pozwala im wykorzystać więcej kontekstu z tekstu.
Jednak transformatory potrzebują dużo danych, aby dobrze działać, a przy mniejszych zbiorach danych bardziej tradycyjne architektury sieci neuronowych mogą działać lepiej.
Przypadki użycia
Transformatory mają wiele zastosowań generatywnej sztucznej inteligencji. Chociaż modele oparte na transformatorach są zwykle używane do generowania tekstu lub mowy, badacze badają ich zastosowanie do generowania obrazów, ponieważ wymagają mniej obliczeń niż modele dyfuzyjne.
Najbardziej znane LLM to modele oparte na transformatorach. Modele językowe wykorzystują tylko część architektury dekodera. Podpowiedź jest wprowadzana do modelu jako kodowanie — zbiór wartości liczbowych, prawdopodobieństw i danych dotyczących uwagi, o których wspominaliśmy wcześniej. Model dekoduje dane wejściowe, korzystając z mechanizmu samouważności i patrząc równolegle na wszystkie słowa w podpowiedzi. Celem modelu jest wygenerowanie przewidywania dotyczącego następnego słowa w zdaniu.
Transformatory mają wiele zastosowań poza generowaniem tekstu w przetwarzaniu języka naturalnego. W rzeczywistości zostały pierwotnie zaprojektowane w celu tłumaczenia lub przekształcania tekstu z jednego języka na inny. Firma Grammarly wniosła wkład w badania nad wykorzystaniem transformatorów do poprawiania błędów gramatycznych.
Wniosek
Modele generatywnej sztucznej inteligencji przeszły długą drogę w ciągu ostatniej dekady. Mamy nadzieję, że teraz rozumiesz nieco więcej na temat ewolucji tych modeli, ich działania i sposobu, w jaki można je zastosować w różnych przypadkach użycia. Jednakże ten artykuł zaledwie zarysował powierzchnię i pominął wiele ważnych szczegółów, aby zapewnić przegląd przeciętnemu czytelnikowi. Zachęcamy do dalszego poznawania matematyki i nauk ścisłych stojących za tymi modelami poprzez studiowanie artykułów naukowych, na których są one oparte, i zdobywanie wiedzy na temat ich działania z perspektywy probabilistycznej i statystycznej.