Wszyscy o nim mówią, mało kto go rozumie. Wyjaśniamy, co tak naprawdę potrafi ChatGPT

Nie sposób w ostatnich tygodniach nie zauważyć ogromnej liczby artykułów, filmów na YouTube czy wpisów na Twitterze czy LinkedIn poświęconych GPT-3, czy raczej stworzonemu przez OpenAI chatbotowi o nazwie ChatGPT, który niedawno został udostępniony szerszej publiczności. Eksperci wieszczą, że to rewolucja, a nowe narzędzie może zabrać pracę przedstawicielom wielu zawodów. Czy naprawdę jest się czego bać?
Co potrafi ChatGPT?

Co potrafi ChatGPT?

Ekscytacja możliwościami ChatGPT w żadnym razie nie jest na wyrost – duże firmy również dostrzegają ten potencjał. Wszyscy znaczący gracze na rynku technologicznym inwestują w AI ogromne pieniądze i budują całe działy poświęcone temu tematowi. Firma OpenAI doskonale wstrzeliła się w to zainteresowanie. Kilka dni po doniesieniach dotyczących inwestycji Microsoftu w OpenAI, dowiadujemy się że… dorzucają kolejne 10 miliardów dolarów twórcom ChatGPT, które zainwestują w ciągu najbliższych lat. Szczególnie w kontekście niedawnych zwolnień w firmie z Redmond, widać, gdzie leżą priorytety Microsoftu.

Oczywiście firmie OpenAI należy oddać to, że doskonale rozpropagowała swój produkt. O ChatGPT rozmawiają, dyskutują, piszą i debatują dosłownie wszyscy. “Feed” każdego serwisu społecznościowego aż roi się od wpisów typu “10 sposobów w których AI pomoże ci w pracy”, dyskusji o tym, kto tę pracę straci, a również wyznań typu “caly mój kod i maile do klientów pisze za mnie sztuczna inteligencja” (już mniejsza o to, czy rozsądne jest się tym chwalić publicznie), czy “już nie używam Google’a do szukania informacji”. 

Równocześnie pojawiają się przykłady błędów i porażek, na jakie natrafiono próbując pracować z ChatGPT. Można by się zastanowić – czy aby na pewno dobrze rozumiemy, jakie narzędzie dostaliśmy do ręki, co potrafi i jakie są jego ograniczenia?

Czytaj też: Ta technologia ma pozbawić dziennikarzy zawodu. Wszystko, co musisz wiedzieć o ChatGPT

Czym właściwie jest ChatGPT?

ChatGPT to chatbot oparty o model języka GPT-3. Natomiast GPT-3 to rozszerzenie modelu języka GPT (Generative Pre-training Transformer) i został zaprojektowany do prowadzenia rozmów na podstawie dostarczonych mu pytań i odpowiedzi. ChatGPT jest w stanie zrozumieć kontekst i odpowiadać na pytania, tworząc spójne i logiczne odpowiedzi.

Jest on skonstruowany na podstawie sieci neuronowej, która składa się z wielu ukrytych warstw. Sieć ta jest w stanie uczyć się wzorców z dostarczonych jej danych i wykorzystywać je do generowania odpowiedzi na nowe pytania. ChatGPT jest również w stanie uczyć się nowych słów i zwrotów, dzięki czemu jego zdolność do odpowiadania na pytania stale się rozszerza.

Model GPT-3 został opracowany przez OpenAI, firmę zajmującą się badaniami nad sztuczną inteligencją. OpenAI specjalizuje się w tworzeniu modeli języka, takich jak GPT, które są w stanie nauczyć się i rozumieć język ludzki oraz odpowiadać na pytania w sposób zbliżony do tego, jak robią to ludzie.

Z kolei ChatGPT (bot) został opracowany po to, aby umożliwić ludziom prowadzenie rozmów z komputerem w sposób zbliżony do tego, jak rozmawiamy z innymi ludźmi. Może on służyć do różnych celów, takich jak udzielanie informacji, rozwiązywanie problemów czy po prostu towarzyszenie w rozmowie. ChatGPT jest więc przydatnym narzędziem dla osób chcących komunikować się z komputerem w sposób bardziej naturalny.

Czym natomiast ChatGPT nie jest?

W Internecie często możemy się spotkać z przykładami błędnego używania ChatGPT – często ze śmiesznym bądź smutnym skutkiem. Wynika to z niezrozumienia ograniczeń tego modelu i braku zrozumienia, czego on nie potrafi.

ChatGPT jest w stanie odpowiadać na pytania i tworzyć spójne i logiczne odpowiedzi na podstawie dostarczonych mu danych wejściowych. Tylko tyle i aż tyle. ChatGPT nie jest jednak osobą i nie posiada własnego zdania czy emocji. Nie należy więc traktować odpowiedzi uzyskanych za pomocą ChatGPT jako wyrażających poglądy czy emocje samego modelu.

Ponadto ChatGPT jest modelem języka i nie powinien być używany do celów, które wymagają innych rodzajów umiejętności lub zdolności. Na przykład – ChatGPT nie powinien być używany do przetwarzania danych w inny sposób niż przez generowanie tekstu.

Innymi słowy, ChatGPT nie jest modelem wiedzy ani bazą ekspercką, a z tego powodu nie powinien być źródłem ważnych informacji. Jako że – jak już wspominałem – odpowiedzi uzyskane za pomocą ChatGPT są oparte na dostarczonych mu danych wejściowych i nie są wyrażeniem poglądów czy emocji samego modelu, należy korzystać z innych, bardziej wiarygodnych źródeł do podejmowania ważnych decyzji lub do poszukiwania ważnych informacji.

Czytaj też: Przyjdzie sztuczna inteligencja i nas zje. Nikt nie ma pomysłu, co z tym zrobić

Czy ChatGPT to sztuczna inteligencja? Wyjaśnijmy podstawowe pojęcia

  • Sztuczna inteligencja (ang. artificial intelligence, AI) to dziedzina informatyki zajmująca się tworzeniem komputerów i systemów, które są w stanie wykonywać zadania w sposób podobny do ludzi, takie jak rozumienie języka, uczenie się, podejmowanie decyzji czy rozwiązywanie problemów.
  • Sieci neuronowe (ang. neural networks) to modele matematyczne, które naśladują strukturę i działanie ludzkiego mózgu. Sieci neuronowe składają się z wielu warstw połączonych ze sobą neuronów, które są w stanie nauczyć się wzorców z dostarczanych im danych i wykorzystywać je do rozwiązywania nowych problemów.
  • Model GPT (ang. Generative Pre-training Transformer) to model języka. Jest on w stanie generować teksty na podstawie dostarczonych mu danych wejściowych i jest w stanie uczyć się nowych słów i zwrotów. Model GPT jest szeroko stosowany w różnych zastosowaniach, takich jak generowanie tekstu, tłumaczenie czy odpowiadanie na pytania. ChatGPT to zaś jego rozszerzenie, specjalnie zaprojektowane do prowadzenia rozmów.
  • Silna sztuczna inteligencja (ang. general artificial intelligence) to prawdopodobnie nieistniejący jeszcze model sztucznej inteligencji posiadający wszystkie cechy przypisywane ludzkiemu umysłowi. W szczególności są to tak unikalne umiejętności jak kreatywność czy inicjatywa. Istnieją dwa podstawowe podejścia budowy silnej sztucznej inteligencji. Pierwsze to podejście funkcjonalistyczne, zwane też behawioralnym. Polega na założeniu, że do odtworzenia wszystkich ludzkich zachowań wystarczy ich naśladowanie – jeśli nie będziemy w stanie odróżnić sztucznej inteligencji od “prawdziwego człowieka”, to osiągnęliśmy sukces przy tym podejściu. Drugie to podejście redukcjonistyczne. Według tego podejścia należy odzwierciedlić struktury ludzkiego mózgu w formie sztucznej sieci neuronowej.
  • Uczenie maszynowe (ang. machine learning) jest to dziedzina sztucznej inteligencji poświęcona algorytmom, które poprawiają się automatycznie poprzez doświadczenie w formie ekspozycji na dane. Algorytmy uczenia maszynowego budują model matematyczny w celu prognozowania lub podejmowania decyzji. Jedna z form uczenia maszynowego to tzw. uczenie nadzorowane, czyli takie, w czasie którego wyniki są weryfikowane przez człowieka w celu zapewnienia ich jakości. Właśnie takie podejście zastosowała firma OpenAI.

Podsumowując ten mini-słowniczek pojęć – ChatGPT jest oczywiście przykładem sztucznej inteligencji. Jest to jednak pojęcie bardzo szerokie i obejmuje zarówno rozpoznawanie obrazów np. w Google Photos, jak i sieci neuronowe wyłaniające odstępstwa od średniej w trakcie analizy danych medycznych. Internet niestety ma to do siebie, że wrzuca wszystkie te określenia “do jednego wora”.

Czy AI zastąpi dziennikarzy?

Nie możemy powiedzieć, co nastąpi w przyszłości, jednak w tej chwili używane modele nie są w stanie zastąpić pracy dziennikarskiej. Teksty tworzone przez modele językowe takie jak ChatGPT są wynikami analizy statystycznej wcześniej napisanych tekstów. Model dobiera najbardziej prawdopodobne dla danego tematu i kontekstu wyniki – co trudno nazwać pracą kreatywną, a bliżej jej do mądrego plagiatu. Modelowi brak też inicjatywy, weryfikacji faktów i umiejętności poszerzania kontekstu. Ze względu na to, że GPT-3 to model języka a nie wiedzy, zdarza mu się po prostu traktować fakty i zmyślania na równi.

Zabawne jest to, że tego typu zastosowanie sztucznej inteligencji przewidział już w 1972 roku Stanisław Lem. W opublikowanym w tygodniku Przekrój opowiadaniu “137 sekund” opisuje komputer w redakcji gazety, który jest w stanie przepisać tekst, gdy przyszły nowe fakty (zmieniła się liczba ofiar katastrofy), czy dopisać akapit dziennikarskiej “waty”, gdy brakuje faktów (jakiś frazes o tym że obie drużyny w trakcie meczu wykazały się dzielną postawą czy że zgromadzonym fanom udzieliły się emocje). Dokładnie tak teraz działa sztuczna inteligencja w kontekście pracy dziennikarza.

Czytaj też: Roboty zastąpiły dziennikarzy, a teraz trzeba po nich poprawiać błędy. Witamy w mediach AD 2023

Przykład: chatbot wygadany, ale niesprawdzający faktów

Przykładem braku poczucia rzeczywistości sprawdzania faktów jest sytuacja, której sam byłem świadkiem podczas rozmowy z botem od OpenAI. Spytałem go, jak wygląda założyciel i były prezes Microsoftu, Bill Gates. Bot odpowiedział, że nosi on biznesowe garnitury i kozią bródkę. Konia z rzędem temu, kto odnajdzie zdjęcie Billa Gatesa z kozią bródką, a jego casualowy styl ubierania był swego czasu szokiem dla innych członków zarządu firmy.

Postanowiłem poprawić ChatGPT i dostałem automatyczną formułkę “masz rację, przepraszam za zamieszanie”. Czy idzie za tym modyfikacja wiedzy w procesie uczenia maszynowego? Bardzo wątpię. OpenAI wystawiałoby się tym samym na manipulację, do której internauci są zawsze gotowi. Dość przypomnieć sobie przypadek Tay, bota stworzonego przez Microsoft na Twitterze, który już po jednym dniu stał się szowinistą, faszystą i rasistą – wszystko to za sprawą “tresujących” go internautów.

Na rynku jest więcej tego typu narzędzi, często komercyjnych, wspomagających pracę twórczą, np. copy.ai czy WriteSonic. Dziś wiele osób chwali się w mediach społecznościowych że piszą za pomocą tego typu narzędzi wszystkie maile i treści reklamowe. Może to jednak doprowadzić do pogorszenia ich jakości.

Czy AI zastąpi programistów?

Praca programisty to specyficzne zajęcie. Częściowo jest to praca mocno kreatywna. Ma na celu zamianę wymagań biznesowych na kod, model danych, zachowanie aplikacji. Z drugiej strony nieco odtwórcza – tworzenie tzw. boilerplate code, czyli kodu napisanego po to, żeby kod realizujący logikę biznesową działał, często zajmuje znaczącą część czasu inżyniera oprogramowania. Ten kod to np. ustanowienie połączenia z usługą REST czy bazą danych, lub standardowy przebieg typu filtrowanie czy wyszukiwanie w strukturach danych.

To właśnie w tworzeniu tego odtwórczego kodu sztuczna inteligencja może najpełniej wspomóc pracę programisty. Celowo piszę “wspomóc” bo trudno to nazwać zastąpieniem programisty, podobnie jak wiertarka nie zastępuje stolarza. 

Istnieje w tej chwili sporo tego typu rozwiązań, część świetnie integrujących się ze środowiskami programistycznymi. Najbardziej znane rozwiązania to Copilot od GitHub oraz Intellicode wbudowany w Visual Studio. Oba te rozwiązania są stworzone przez firmy zależne od Microsoftu.

Copilot podpowiada kod na podstawie nazwy funkcji lub komentarza, potrafi inteligentnie przepisać fragment kodu i “domyślić się”, co próbujemy napisać, zachowując lokalne nazewnictwo zmiennych i klas. To świetne narzędzie, niestety pojawiły się oskarżenia, że AI Copilota została wytrenowana na… cudzym kodzie, więc proponowane rozwiązania mogą być objęte prawami autorskimi.

Co wspólnego mają te rozwiązania? Gotowy, przemyślany model obiektowy, który pozwala rozwinąć skrzydła sztucznej inteligencji. Ten model musi stworzyć na razie człowiek, bo AI nie ma na razie na tyle wiedzy o rzeczywistym świecie, aby to zaproponować. Dobrze to ilustruje moja przygoda z ChatGPT, którego poprosiłem o rozwiązanie prostego zadania programistycznego.

Przykład: sztuczna inteligencja wyobraża sobie zegar

Newsletter Daily Coding Problem wysyła zainteresowanym programistom codziennie jedno zadanie programistyczne – szczególnie takie, jakie pojawiają się w różnych firmach na rozmowach kwalifikacyjnych. Kilka tygodni temu zadanie polegało na napisaniu programu, który po podaniu godziny wyliczyłby kąt między wskazówkami zegara o danej godzinie. Jest to dość proste – myślę, że większość z nas zrobiłaby to nawet za pomocą Excela. Pytanie brzmiało jednak: dla jakich wartości godzin kąt wynosi zero – czyli, mówiąc po ludzku, kiedy wskazówki zegara się pokrywają. Jest to już trochę bardziej skomplikowane – ale do ogarnięcia dla początkującego programisty. Niestety, ChatGPT nie jest nawet początkującym programistą – a przede wszystkim nie jest człowiekiem i nie widział zegara na oczy. Kod mierzący kąt napisał poprawny, lecz w odpowiedzi napisał: “Kąt między wskazówkami wynosi zero o 12:00 oraz 0:00”.

Odpowiedziałem, że moim zdaniem wskazówki nakładają się co godzinę. Sztuczna inteligencja jak zwykle przyznała mi rację dodając, że wskazówki nakładają się na siebie o każdej okrągłej godzinie. Co jest oczywistą nieprawdą.

Wbrew temu, co mówią pojawiające się jak grzyby po deszczu poradniki i filmy na YouTube “jak pisać kod nie będąc programistą za pomocą ChatGPT”, nie jest to narzędzie do pisania kodu. Co ciekawe, OpenAI  ma taki model w swoim portfolio. Nosi on nazwę OpenAI Codex, model wyspecjalizowany w pisaniu kodu – a konkretnie w zamianie języka naturalnego na kod w żądanym języku programowania. Jest to wyspecjalizowany model, oparty – podobnie jak ChatGPT – na GPT-3.

Czy sztuczna inteligencja zastąpi tłumaczy?

Będąc modelem języka naturalnego, najbliżej jej jest właśnie to przetwarzania tekstów. Z zadaniami tłumaczenia radzi sobie bardzo dobrze, często umożliwiając zrozumienie tekstu w innym języku wraz z kontekstem. 

Powstający tekst nie jest utworem literacki, i zdarzają się w nim dość często błędy. Tłumacz nadal będzie miał dużo do zrobienia, ale, podobnie jak w przypadku pracy programisty, sztuczna inteligencja będzie mogła go wspomóc.

Źródło: DALL-E 2.0

Czy możemy poznać, że tekst napisała sztuczna inteligencja?

O ile wspomaganie własnej pracy za pomocą sztucznej inteligencji czy chatbota typu ChatGPT to nic złego, o tyle podawanie pracy wykonanej przez AI jako własnej może być oszustwem. Tak jest na pewno, gdy próbujemy wykorzystać taki tekst np. w szkole, zamiast zadania domowego, które powinniśmy napisać samodzielnie.

Czy jesteśmy w stanie zweryfikować, czy tekst napisał człowiek? W tej chwili (jeszcze) tak. Istnieją narzędzia, które weryfikują stopień oryginalności tekstu – teksty od AI nie są zbyt oryginalne. Stopień pewności wyniku takich narzędzi jest dość duży.

Jednym z takich rozwiązań jest GPTZero, narzędzie przeznaczone dla nauczycieli, które umożliwia z dużą dozą pewności weryfikację autorstwa tekstu. Produkt jest w tej chwili w fazie zamkniętej bety. Patrząc na to, jak często ostatnio docierają do nas doniesienia o uczniach wykorzystujących ChatGPT do pisania prac domowych, nauczyciele powinni się z tym rozwiązaniem jak najprędzej zapoznać.

Czytaj też: Nowy świat, stare metody. ChatGPT uczył się kosztem traumy taniej siły roboczej

Co czeka nas w przyszłości? GPT-4 ma być rewolucją, ale czy na pewno?

Rozwiązania oparte na GPT-3 będą coraz lepsze i coraz lepiej będą pisać w języku naturalnym. W przygotowaniu są też kolejne modele opracowywane przez OpenAI i inne firmy, a zważywszy na wspomniane we wstępie ogromne inwestycje firm, prace będą postępować coraz szybciej i coraz bardziej intensywnie.

OpenAI przygotowuje GPT-4, wokół którego już teraz rosną legendy. W infografice, która rozniosła się viralowo w Internecie, znalazło się stwierdzenie, że GPT-4 będzie miało… tryliony parametrów.

Choć brzmi to sensacyjnie, jest to nieprawda; te rewelacje zweryfikował m.in. sam założyciel OpenAI, Sam Altman, w niedawnym wywiadzie. Błędne rozumienie wynika z faktu, że liczba parametrów nie przekłada się na jakość modelu – a bardziej ich dobór czy sposób weryfikacji w uczeniu wspomaganym. Sam fakt istnienia takiej plotki potwierdza jedynie wielki entuzjazm, ale i brak zrozumienia koncepcji stojącej za sztuczną inteligencją. Co ciekawe, sam założyciel OpenAI w wywiadzie mówi wprost, żebyśmy się zbytnio nie napalali, bo przy obecnych oczekiwaniach sami prosimy się o rozczarowanie.

Ostatnie dni przyniosły również dostęp do modeli OpenAI w sekcji narzędzi kognitywnych w Azure – chmurze komercyjnej od Microsoftu. To właśnie może być największym przełomem, gdyż programiści będą w stanie za pomocą kilku linijek kodu wykorzystać narzędzia od OpenAI w swoich aplikacjach. Co prawda OpenAI udostępnia swoje modele również jako API, jednak to Azure zapewnia największy zasięg i skalowalność. Dostęp za pomocą API pozwala zmienić usługę typu GPT-3 z zabawki w coś, za pomocą programiści zbudują użyteczne programy, inne usługi i aplikacje. Dobrym tego przykładem jest artykuł programisty Mate’a Marshalko w Medium, w którym opisuje, w jaki sposób zbudował za pomocą GPT-3 dostępnego przez API, Siri, oraz aplikacji Skróty (Shortcuts) na iOS, inteligentny system zarządzania smart home czyli inteligentnymi domowymi urządzeniami.

Źródło: DALL-E 2.0

W odróżnieniu od zwykłego asystenta, dzięki użyciu sztucznej inteligencji, nie musimy podawać dosłownie czego potrzebujemy i w którym pomieszczeniu: wystarczy powiedzieć np. “za 10 minut kładę się spać, dostosuj temperaturę”.

Jak grzyby po deszczu zaczynają też pojawiać się najróżniejsze zastosowania AI w aplikacjach używanych przez zwykłych użytkowników. Surrealistyczne i hiperrealistyczne avatary od aplikacji Lensa to zabawka – ale np. dodatek do przeglądarki, wyjaśniający skomplikowane teksty tak w języku obcym tak, aby ktoś słabo znający język (bądź dziecko) mógł je zrozumieć – to już konkretna korzyść i prawdziwy przełom. I to właśnie takie aplikacje naprawdę przyspieszą adaptację AI w każdej z dziedzin naszego życia.

*Autorem artykułu jest Hubert Taler – szef zespołu programistycznego w firmie Demant, wcześniej przez 20 lat programista. Po godzinach popularyzator nauki na mitynauki.pl.

twitter.com/htaler