Opracowany przez OpenAI, ChatGPT, jest modelem uczenia maszynowego opartego na architekturze GPT (Generative Pre-trained Transformer). To swoistego rodzaju generator tekstu, którego interfejs przypomina prowadzenie czatu z człowiekiem. Popularność ChatGPT jest rekordowa – liczba aktywnych użytkowników przekroczyła milion osób w zaledwie 3 dni od startu. Jak działa ta technologia? Jak z niej korzystać? O tym w dzisiejszym artykule.
Za ChatGPT stoi zespół inżynierów i badaczy specjalizujący się w uczeniu maszynowym, programowaniu, czy przetwarzaniu języka naturalnego. Ich praca posłużyła do „wyszkolenia” algorytmu, by ten był w stanie zrozumieć wprowadzany przez internautów tekst i by mógł zareagować na niego we właściwy sposób. Za źródło danych posłużyły mu materiały m.in. z Internetu i książek, co pozwoliło lepiej poznać ludzki język i sposób, w jaki używamy go na co dzień. Algorytm wykorzystuje tę wiedzę do generowania tekstu podobnego do ludzkiego po otrzymaniu monitu lub pytania.
Jak działa ChatGPT
Inżynierowie z OpenAI wykorzystali sieć neuronową, czyli rodzaj algorytmu uczenia maszynowego. Jest wzorowany na strukturze i funkcji ludzkiego mózgu. Składa się z warstw połączonych ze sobą węzłów, zwanych sztucznymi neuronami, które służą do przetwarzania i analizy danych wejściowych. Podstawowym budulcem sieci neuronowej jest sztuczny neuron, który jest wzorowany na neuronach biologicznych w ludzkim mózgu. Sztuczny neuron otrzymuje dane wejściowe, przetwarza je i generuje dane wyjściowe. Wejścia są połączone ze sztucznym neuronem poprzez synapsy, które są podobne do połączeń między biologicznymi neuronami.
Sieć neuronowa składa się z warstw sztucznych neuronów, przy czym warstwa wejściowa otrzymuje surowe dane wejściowe, a warstwa wyjściowa wytwarza końcowe dane wyjściowe. Warstwy pośrednie, zwane warstwami ukrytymi, przetwarzają dane wejściowe, modelują je i przekazują do następnej warstwy. Liczba warstw i liczba neuronów w każdej warstwie może się różnić w zależności od konkretnego zastosowania sieci neuronowej.
Podstawową funkcją sieci neuronowej jest uczenie się na podstawie danych wejściowych i przewidywanie lub podejmowanie decyzji na podstawie tych danych. Odbywa się to poprzez dostosowanie siły połączeń między neuronami, zwanych wagami, w procesie zwanym treningiem. Podczas uczenia sieć neuronowa jest prezentowana z zestawem danych wejściowych i odpowiadających im pożądanych wyników, a wagi są dostosowywane w celu zminimalizowania różnicy między przewidywanym, a pożądanym wyjściem. Jako przykład może posłużyć uproszczony model, w którym szkolimy algorytm do wykonania danego zadania np. przejechania krętej drogi z miejsca a do b. Algorytm próbuje wykonać zadanie na np. 20 sposobów. W oparciu o dane, na koniec każdej próby wybierane są np. 3 najlepsze metody, a reszta odrzucona. Z tych trzech najlepszych metod ewoluują kolejne i taka symulacja może być powtarzana nawet kilkadziesiąt milionów razy. Jak można się domyślać, każda kolejna próba będzie generowała coraz to lepsze efekty.
W jaki sposób można nauczyć maszynę myśleć?
Jedną z najczęstszych metod uczenia maszyny jest tzw. uczenie nadzorowane. W tej metodzie maszyna jest wyposażona w zestaw danych z etykietami, który zawiera dane wejściowe i odpowiednie pożądane dane wyjściowe. Maszyna wykorzystuje takie informacje do poznania relacji między nimi. Następnie może przewidywać lub podejmować decyzje w oparciu o otrzymane nowe dane.
Inną powszechną metodą uczenia maszyny jest uczenie bez nadzoru. W tej metodzie maszynie dostarcza się nieoznakowany zestaw danych, który zawiera tylko informacje wejściowe. Maszyna używa tego zestawu danych do uczenia się wzorców i struktur, a następnie może przewidywać lub podejmować decyzje na podstawie nowych danych wejściowych.
Uczenie się przez wzmacnianie to kolejna metoda uczenia maszyny. Dzieje się to poprzez dostarczanie jej zestawu zasad lub nagród za określone działania. Maszyna uczy się metodą prób i błędów, dostosowując swoje działania w oparciu o otrzymywane nagrody lub kary. Ta metoda jest często stosowana w robotyce i aplikacjach do gier.
Z kolei uczenie transferowe to metoda uczenia maszyny poprzez wykorzystanie wiedzy zdobytej podczas jednego zadania w celu poprawy wydajności innego, ale powiązanego zadania. Ta metoda może być przydatna, gdy brakuje danych dla określonego zadania, ale jest dużo danych dla powiązanego zadania.
Człowiek w pętli to metoda uczenia maszyny poprzez umożliwienie ludziom przekazywania informacji zwrotnych i wskazówek podczas procesu szkolenia. Można to zrobić, zlecając ludziom etykietowanie danych, przekazując informacje zwrotne na temat wydajności maszyny lub dostosowując jej parametry.
W jaki sposób myśli maszyna
ChatGPT wykorzystuje technikę zwaną „modelowaniem języka maskowanego”, co oznacza, że algorytm jest szkolony w przewidywaniu następnego słowa w zdaniu, biorąc pod uwagę kontekst poprzednich słów. Dzięki temu model może generować tekst, który jest odpowiedni dla danych wejściowych i ma naturalny przepływ. Co ciekawe, wśród jego funkcji jest m.in. tłumaczenie danych wejściowych (np. pytanie możemy zadać w języku polskim i zostanie zrozumiane przez anglojęzyczny interfejs), czy streszczanie lub podsumowanie odpowiedzi. Można go również dostosować do określonych dziedzin, takich jak obsługa klienta, wsparcie techniczne i kreatywne pisanie – w zależności od użytych poleceń możemy wygenerować reklamy, scenariusze filmowe, czy gotowe artykuły. Maszyna podejmuje decyzje na podstawie dostarczonych jej informacji i algorytmów, którymi została zaprogramowana. Konkretny proces może się różnić w zależności od rodzaju algorytmu uczenia maszynowego i wykonywanego zadania, ale oto kilka typowych kroków:
- Dane wejściowe: maszyna otrzymuje dane wejściowe, które mogą mieć postać obrazów, tekstu lub wartości liczbowych.
- Przetwarzanie: Dane wejściowe są przetwarzane i analizowane przez algorytmy. Może to obejmować takie zadania, jak rozpoznawanie wzorców lub cech w danych, porównywanie danych ze znanymi przykładami lub obliczanie prawdopodobieństw.
- Podejmowanie decyzji: Na podstawie przetworzonych danych wejściowych maszyna podejmuje decyzję lub prognozę. Ta decyzja może być prostą odpowiedzią tak/nie, wartością liczbową lub klasyfikacją do jednej z wielu kategorii.
- Dane wyjściowe: Maszyna generuje dane wyjściowe, które mogą być wartościami liczbowymi, przewidywaniami lub decyzjami.
- Informacja zwrotna: Maszyna otrzymuje informację zwrotną na temat trafności swojej decyzji za pośrednictwem oznaczonego zestawu danych, a ta informacja zwrotna jest wykorzystywana do dostosowania parametrów algorytmu i usprawnienia procesu podejmowania decyzji.
Zadawanie pytań przez użytkownika może być skutecznym sposobem uczenia maszyny i poprawy wydajności jej algorytmów. Pytania użytkowników mogą służyć do etykietowania danych, co jest kluczowym krokiem w nadzorowanym uczeniu się. Prosząc użytkowników o etykietowanie danych, maszyna może nauczyć się relacji między danymi wejściowymi a prawidłowym wyjściem. Te oznakowane dane można następnie wykorzystać do szkolenia maszyny i poprawy jej wydajności. ChatGPT potrafi się uczyć także w aktywny sposób reagując na pytania użytkowników swoimi pytaniami z prośbą o doprecyzowanie. Prosząc użytkowników o zweryfikowanie decyzji lub przewidywań maszyny, maszyna może mieć pewność, że nie wprowadzi człowieka w błąd, a człowiek może dostarczyć dodatkowy kontekst lub informacje, których maszyna mogła nie wziąć pod uwagę.
Czy maszyna może nas okłamać?
Maszyna może określić, czy udziela poprawnych odpowiedzi, czy nie, porównując swoje dane wyjściowe z zestawem oznaczonych danych lub tzw. podstawową prawdą (ang. ground truth). Te oznaczone dane to zestaw danych, który został przygotowany przez ekspertów i zawiera dane wejściowe oraz odpowiednie poprawne dane wyjściowe.
Prawda podstawowa, czyli ground truth
Prawda podstawowa odnosi się do prawdziwych lub poprawnych informacji lub wartości, które model uczenia maszynowego próbuje przewidzieć lub oszacować. Jest używany jako punkt odniesienia do oceny wydajności modelu. Prawda podstawowa może przybierać różne formy, takie jak dane oznaczone etykietami, materiały ekspertów lub pomiary fizyczne. W pojazdach autonomicznych prawdą podstawową mogą być fizyczne pomiary położenia i prędkości samochodu uzyskane za pomocą GPS.
Prawda podstawowa jest istotnym elementem uczenia maszynowego, ponieważ pozwala modelowi poznać związek między danymi wejściowymi a poprawnymi danymi wyjściowymi, a także pozwala ocenić wydajność modelu poprzez porównanie jego przewidywań z prawdą podstawową. Jednak i prawda podstawowa nie zawsze jest doskonała i czasami może zawierać błędy lub uprzedzenia. Jest to szczególnie prawdziwe, gdy podstawowa prawda jest tworzona przez ludzi. Ważne jest, aby zdawać sobie sprawę z tych ograniczeń i wziąć je pod uwagę podczas oceny wydajności modelu.
Po przeszkoleniu maszyny można ją przetestować przy użyciu oddzielnego zestawu danych (tzn. danych testowych), którego wcześniej nie widziała. Jest oznaczony i pozwala porównać przewidywania lub decyzje maszyny z podstawową prawdą i ocenić jej wydajność. Ten proces nazywa się oceną i pomaga zmierzyć, jak dobrze maszyna jest w stanie uogólnić nowe dane. Jest to ważny aspekt, aby wiedzieć, że maszyna nie wprowadza w błąd.
Innym sposobem upewnienia się, że maszyna nie wprowadza w błąd, jest zastosowanie podejścia „człowiek w pętli”, w którym ekspert-człowiek jest zaangażowany w proces podejmowania decyzji. Można to zrobić, zlecając człowiekowi weryfikację decyzji, przewidywań maszyny lub pozwalając człowiekowi przekazać informacje zwrotne na temat wydajności maszyny.
Czy maszyna może zakończyć naukę?
W artykule pojawia się często określenie, że maszyna uczy się nowych rzeczy i w ten sposób zwiększa efektywność. Czy może osiągnąć taki poziom, że nauka stanie się zbędna? Zależy to od konkretnego algorytmu uczenia maszynowego i wykonywanego zadania. Niektóre algorytmy machine learning, takie jak algorytmy uczenia nadzorowanego, mogą osiągnąć koniec etapu uczenia, znanego również jako konwergencja, w którym wydajność maszyny w zadaniu osiąga zadowalający poziom i dalsza poprawa nie jest możliwa.
Jednak inne algorytmy uczenia maszynowego, takie jak algorytmy uczenia nienadzorowanego, mogą nie mieć końca etapu uczenia się. Mogą nadal aktywnie reagować w przypadku otrzymania nowych danych. Dodatkowo w innych przypadkach, jak np. w uczeniu przez wzmacnianie, maszyna nieustannie się uczy i dostosowuje do zmieniającego się środowiska. Należy również zauważyć, że nawet jeśli algorytm uczenia maszynowego osiągnie zbieżność, wydajność modelu może z czasem ulec zmniejszeniu, jeśli model nie zostanie zaktualizowany lub dostrojony przy użyciu nowych danych lub jeśli rozkład danych ulegnie zmianie.
Zastosowanie i krytyka ChatGPT
Szybko okazało się, że technologia, która miała służyć przede wszystkim naukowcom (ChatGPT jest w fazie bezpłatnych testów, które mają za zadanie dopracować algorytm i “nakarmić go” dodatkowymi danymi), stała się ulubionym narzędziem praktycznie wszystkich. Zastosowania są przeogromne, podobnie jak możliwości tej technologii. Już teraz nie brakuje doniesień o rozwiązywaniu testów maturalnych, czy egzaminów zawodowych (np. aplikacje prawnicze) przy użyciu ChatGPT. Uczniowie nie chcą już samodzielnie pisać wypracowań, bo może zrobić to za nich algorytm – szybko, sprawnie i praktycznie nie do wykrycia gołym okiem. Teksty opracowywane do tej pory przez copyrighterów, pijarowców, czy marketingowców też mogą zostać stworzone całkowicie przez ChatGPT. Maszyna pomaga zrewidować kod programistom, czy proponuje, jak można go ulepszyć. Jeżeli chcecie, to może także napisać tekst reklamy, scenariusz filmu dowolnego gatunku, czy nawet tekst piosenki rapowej. W sieci pojawiają się pierwsze oferty pracy dla osób, które specjalizują się w korzystaniu z ChatGPT i innych technologii tworzenia treści przy użyciu SI. Technologia zaczęła rozwijać się tak szybko, że najwięksi gracze na rynku technologicznym poczuli się zagrożeni. Według The New York Times, Google przestraszyło się ogromnego wzrostu zainteresowania ChatGPT. W końcu największa na świecie wyszukiwarka treści zarabia na reklamach przy wynikach wyszukiwania, które coraz częściej są wątpliwej jakości (oszukiwane przez specjalistów SEO itp.). Tymczasem dzieło ekspertów z OpenAI umożliwia uzyskanie natychmiastowej odpowiedzi na zadane pytanie i to serwowane w przystępny sposób, często opatrzone porównaniem i podsumowaniem. Są to rzeczy, których Google nigdy nie potrafiło.
ChatGPT nie działa
Ze względu na duże zainteresowanie tą technologią na całym świecie, wchodząc na stronę ChatGPT możemy zobaczyć komunikat o błędzie. Dzieję się tak z powodu ogromnej liczby zapytań od użytkowników, którzy przeciążają serwery usługi. Pozostaje jedynie przeczekać awarię, lub wpisać się na listę powiadomień.