Home » AGH 2022/23 » ChatGPT i inne generatory tekstu, sposób działania, sposób wykrywania generowanego tekstu. Możliwości i ograniczenia.

Tagi

Wyróżnione posty

Zobacz też

Statystyki

  • 71
  • 238
  • 23 583
  • 6 652
  • 37

ChatGPT i inne generatory tekstu, sposób działania, sposób wykrywania generowanego tekstu. Możliwości i ograniczenia.

Spread the love

W ostatnich latach sztuczna inteligencja (AI) zyskała na znaczeniu i rozwija się w niespotykanym tempie. Dzięki wprowadzeniu nowych architektur i algorytmów uczenia w sieciach neuronowych możliwości tych technologii stały się niewiarygodne. W szczególności generatory tekstu i chatboty, umożliwiające interakcję człowieka z maszyną, cieszą się coraz większą popularnością. Z jednej strony, niektórzy zachwycają się możliwościami modeli takich jak ChatGPT, podczas gdy inni obawiają się, że mogą stracić swoją pracę z powodu postępującej automatyzacji. Czy ChatGPT faktycznie posiada nieograniczone możliwości? Czy stworzenie takiego modelu przez OpenAI otworzyło puszkę Pandory?

Generatory tekstu i chatboty – co to?

Generatory tekstu to narzędzia sztucznej inteligencji, które mają za zadanie generować teksty na podstawie wprowadzonego mu kontekstu. Wykorzystują one różne algorytmy, w tym uczenie maszynowego i sieci neuronowe, które analizują ogromne ilości danych tekstowych i wyciągają z nich wzorce. Są w stanie generować naturalne i spójne zdania, co pozwala na tworzenie tekstu w sposób, który jest niemalże nieodróżnialny od tekstu napisanego przez człowieka. Dzięki temu generatory tekstu stają się coraz bardziej popularne w dziedzinach, takich jak marketing, gdzie pomagają w tworzeniu treści reklamowych, czy w branży medialnej, gdzie generują artykuły i raporty.

Chatboty to specjalne generatory tekstu, które zostały zaprojektowane do interakcji z ludźmi w sposób zbliżony do rozmowy międzyludzkiej. Chatboty wykorzystują sztuczną inteligencję (AI) oraz różnego rodzaju technologie przetwarzania języka naturalnego, aby interpretować pytania lub wypowiedzi użytkownika i udzielać na nie odpowiedzi. Są szeroko wykorzystywane w różnych dziedzinach, takich jak e-commerce, bankowość, opieka zdrowotna, usługi klienta, edukacja, rozrywka itp. Mogą pomagać w automatyzacji procesów biznesowych, poprawie jakości obsługi klienta, zwiększeniu zaangażowania użytkowników na stronach internetowych lub w aplikacjach mobilnych. Chatboty mogą być oparte na regułach lub na sztucznej inteligencji. Chatboty oparte na regułach są zaprogramowane, aby reagować na określone wyrażenia lub słowa kluczowe i udzielać na nie ustalonych z góry odpowiedzi. Chatboty oparte na AI używają algorytmów uczenia maszynowego i sieci neuronowych do uczenia się na podstawie interakcji z użytkownikami, co pozwala im na bardziej zaawansowane i elastyczne odpowiedzi na pytania i wypowiedzi użytkowników.

Aktualnie większość z nich bazuje na modelach językowych będących wielkimi sieciami neuronowymi. Ich nauka polega na dopasowywaniu zwracanych wyników do oczekiwanych poprzez minimalizację różnicy między tymi dwoma. Realizowane jest to poprzez proces optymalizacji funkcji kosztu, która powinna być dopasowana do zadania i być tym mniejsza im model zachowuje się lepiej (tzn. im generowany tekst jest bardziej zbliżony do tekstu człowieka). Zadanie to z reguły jest czasochłonne i wymaga znacznych zasobów sprzętowych.

Historia chatbotów i generatorów tekstu

Generatory tekstu

Pierwsze generatory tekstu działały na zasadzie reguł gramatycznych i prawdopodobieństwa, które były zapisane w programie. Programy te były zwykle specjalizowane dla określonych dziedzin, takich jak nauka czy biznes, i wymagały wprowadzenia odpowiednich danych wejściowych, aby móc generować poprawne teksty.

Love letter algorithm

Jeden z pierwszych generatorów tekstu został opracowany w latach 50. przez informatyka Christophera Stracheya. Strachey opracował program, który miał na celu generowanie rymowanych wierszy na podstawie podanych słów kluczowych. Program ten korzystał z reguł gramatycznych i prawdopodobieństwa, aby tworzyć poprawne składniowo wiersze. Poniżej zawarty jest przykład wygenerowanego tekstu przez ten generator w 1954 roku:

Darling Sweetheart,

You are my avid fellow feeling. My affection curiously clings to your passionate wish. My liking yearns for your heart. You are my wistful sympathy: my tender liking.

Yours beautifully

M. U. C.

RACTER

RACTER był pierwszym generatorem tekstu, który tworzył opowiadania i wiersze. Twórcy, William Chamberlain i Thomas Etter w 1983 roku, stworzyli algorytm, który generował losowe zdania, a następnie dobierał je w spójną całość. Program ponoć w 1983 roku przygotował w całości książkę pod tytułem “The Policeman’s Beard Is Half Constructed”, oto jej fragment:

More than iron, more than lead, more than gold I need electricity.
I need it more than I need lamb or pork or lettuce or cucumber.
I need it for my dreams.

Github Copilot

Github Copilot jest już nowym generatorem tekstu bazującym na modelu językowym GPT-3 stworzonym przez Github i wytrenowanym dostępnym kodzie open-source (w tym w dużej mierze na platformie Github). Służy on wspomagania programistów poprzez generowanie kodu na podstawie m.in. komentarzy, dzięki czemu znacząco może przyspieszyć pisanie aplikacji. Ostatnio zapowiedziano Github Copilot X, które jest zintegrowane z modelem GPT-4 i ma postać bardziej chatbota – można opisać mu co ma wygenerować, podobnie jak w przypadku ChatGPT.

Chatboty

Pierwsze chatboty działały na zasadzie programowania regułowego. Programista tworzył szereg reguł, według których chatbot miał odpowiadać na zadane pytania lub komunikaty. Chatbot działał w oparciu o prosty algorytm, który porównywał wprowadzone przez użytkownika słowa z wcześniej zdefiniowanymi wzorcami i w odpowiedzi wyświetlał gotowy tekst (Adamopoulou, 2020).

ELIZA

ELIZA działała poprzez analizę tekstu wprowadzonego przez użytkownika i odpowiedzi w stylu terapeuty, którego zadaniem było stymulowanie dalszej rozmowy. ELIZA opierała swoje odpowiedzi na szablonach językowych, które były zapisane w plikach tekstowych i zawierały specjalne wyrażenia regularne, które umożliwiały dopasowanie do określonych wzorców we wprowadzonych tekstach.

ELIZA dialog screenshot
Zrzut ekranu przedstawiający rozmowę z odnowioną graficznie wersją ELIZY Żródło: https://en.wikipedia.org/wiki/ELIZA

Parry

Innym znanym przykładem pierwszych chatbotów był “PARRY”, który został stworzony również w latach 60. PARRY symulował rozmowę z osobą cierpiącą na chorobę psychiczną, a jego celem było udawanie pacjenta, który odpowiada na pytania lekarza. Podobnie jak w przypadku ELIZA, PARRY opierał swoje odpowiedzi na szablonach językowych i wykorzystywał specjalne wyrażenia regularne.

ChatGPT

ChatGPT to jeden z najbardziej znanych chatbotów opartych o model językowy sztucznej inteligencji. Zyskał popularność dzięki swojej zdolności do generowania naturalnie brzmiącego tekstu, który może być wykorzystywany w różnych zastosowaniach, od automatycznych odpowiedzi na platformach społecznościowych po tworzenie artykułów i pisanie prac domowych. 

Ale czym on właściwie jest?

Model GPT

GPT, na którym opiera się ChatGPT, to skrót od Generative Pre-trained Transformer. Wszystkie modele GPT korzystają z architektury transformer, czyli specjalnych sieci neuronowych stworzonych do przetwarzania sekwencji danych, zwłaszcza w zadaniach związanych z językiem naturalnym. Zamiast korzystać z tradycyjnych warstw rekurencyjnych, transformer opiera się na mechanizmie multi-head self-attention, który pozwala na wagowanie różnych części sekwencji wejściowej w celu wnioskowania o kontekście i znaczeniu. To pozwala na lepsze zrozumienie zależności między elementami sekwencji i osiąganie lepszych wyników w zadaniach językowych.

Od 2018 roku, kiedy OpenAI wypuściło model GPT w wersji 1, do zeszłego miesiąca ukazały się jeszcze 2 główne odsłony tego modelu: GPT-2 i GPT-3. Każdy kolejny zawierał coraz więcej parametrów i był uczony na coraz większych korpusach danych tekstowych, dzięki czemu generował coraz to bardziej realistyczne i przekonujące teksty. Bardzo niedawno, bo 14 marca bieżącego roku, wprowadzony został najbardziej zaawansowany model z rodziny GPT: GPT-4. Uważany jest za kolejny kamień milowy w rozwoju uczenia maszynowego. Według informacji, które podano, GPT-4 posiada aż 100 bilionów parametrów (w porównaniu do 175 miliardów dla GPT-3). Co więcej, osiąga lepsze wyniki od GPT-3.5 na większości problemów benchmarkowych, w tym w zadaniach w języku polskim (OpenAI, 2023).

gpt3_vs_gpt4
Porównanie wielkości modeli GPT-3 oraz GPT-4 pod kątem liczby parametrów. Źródło: GPT-4: Facts, Rumors and Expectations about next-gen AI model

Modele językowe jako chatboty

Modele językowe, takie jak sieci GPT, zostały stworzone w celu rozumienia i generowania naturalnego języka ludzkiego. Mają one wiele zastosowań, takich jak tłumaczenie maszynowe, rozpoznawanie mowy, automatyczne podsumowania tekstu, generowanie opisów i wiele innych. Jednak modele językowe, w przeciwieństwie do dedykowanych chatbotów, nie są zoptymalizowane pod kątem bezpośredniego interakcji z użytkownikami.

Jednym z powodów, dla których modele językowe nie radzą sobie dobrze jako chatboty, jest fakt, że są one “niezestrojone” lub nie idealnie dopasowane do potrzeb użytkowników. W przypadku chatbotów, oczekiwania użytkowników dotyczą bardziej konkretnych działań, takich jak udzielanie odpowiedzi na konkretne pytania lub rozwiązywanie problemów, a nie tylko generowanie naturalnie brzmiącego tekstu. Ponadto, modele językowe nie są w stanie dokładnie zrozumieć kontekstu i intencji użytkowników, co często prowadzi do niewłaściwych odpowiedzi lub braku odpowiedzi na pytania.

Dostrojenie modelu, czyli jak z GPT powstał ChatGPT

Aby przystosować model GPT-3 do działania w roli chatbota, czyli aby wyjście modelu było bliższe zamiarom użytkownika, poddano go procesowi fine-tuningu z nadzorem ludzkim. A dokładniej użyto metody Reinforcement Learning from Human Feedback (RLHF), której wykorzystanie w tym przypadku zostało w sposób uproszczony opisane poniżej (Ouyang, 2022).

Pierwszy etap to uczenie nadzorowane (supervised learning), w którym wykorzystano zbiór danych z OpenAI API uzupełniony o odpowiedzi stworzone przez labelerów. Zbiór ten został wykorzystany do dostrojenia GPT-3 i stworzenia modelu GPT-3.5.

Drugi etap polegał na wytrenowaniu modelu nagrody (reward model) z wykorzystaniem uczenia ze wzmocnieniem (Reinforcement Learning), w którym model nauczył się produkować odpowiedzi, które maksymalizują nagrodę. Do wytrenowania modelu nagrody etykietujący mieli za zadanie uporządkować od najlepszego do najgorszego 4 do 9 wyników modelu GPT-3 dla jednego zapytania wejściowego.

W ostatnim etapie, wykorzystując algorytm uczenia ze wzmocnieniem Proximal Policy Optimization (PPO), model otrzymuje losowy prompt i zwraca odpowiedź. Odpowiedź generowana jest przy użyciu “polityki”, którą model nauczył się w drugim etapie, a nagroda dla pary prompt-odpowiedź jest ustalana na podstawie modelu nagrody. Nagroda następnie wpływa z powrotem na model, aby ten mógł ewoluować swoją politykę.

 

 

 

ChatGPT Fine-Tuning Diagram
Diagram przedstawiający kolejne kroki procesu fine-tuningu, dzięki któremu powstał ChatGPT. Źródło: https://openai.com/blog/chatgpt

Metody detekcji sztucznie wygenerowanego tekstu

Z powodu coraz powszechniejszych modeli, takich jak GPT, które mogą generować naturalnie brzmiący tekst, oraz narzędzi, takich jak ChatGPT, rośnie potrzeba wykrywania, czy dany tekst został wygenerowany przez sztuczną inteligencję. 

Istnieją już algorytmy, które pozwalają na takie wykrycie, ale niektóre z nich powstały niedawno, aby sprostać nowym wyzwaniom związanym z zaawansowanymi modelami językowymi.

Analiza statystyczna

Jest to jedna z najprostszych metod, i polega na zbadaniu różnych statystyk tekstu, takich jak średnia długość słowa, długość zdania, rozkład liter, występowanie słów kluczowych, rozkładu N-gramów itp. i porównać je z typowymi wartościami dla naturalnego tekstu. Metoda ta jednak słabo radzi sobie w konfrontacji z tekstami wygenerowanymi przez złożone modele, gdyż były one trenowane na ogromnych zbiorach tekstów, nieraz większych niż te użyte do obliczenia wspomnianych statystyk.

Badanie losowości

W 2019 roku Harvard i MIT-IBM Watson AI Lab opracowali narzędzie eksperymentalne, które skanuje tekst i podkreśla słowa na podstawie ich poziomu losowości. Dzięki temu można wykryć, czy tekst został wygenerowany przez AI. Dlaczego? AI generuje ciąg znaków, który jest najbardziej prawdopodobny w kontekście danych treningowych. Człowiekowi natomiast częściej zdarzy się napisać dziwne i niepasujące słowo.

Edward Tian, student Princeton, opracował podobne narzędzie o nazwie GPTZero, które było oryginalnie przeznaczone dla nauczycieli, aby pomóc w wykryciu zadań domowych napisanych przez ChatGPT. Samo OpenAI, które stoi za ChatGPT, opracowało narzędzie do skanowania tekstu dłuższego niż 1000 znaków. Otwarcie mówi jednak o ograniczeniach narzędzia, takich jak fałszywie pozytywne wyniki oraz skuteczność głównie w języku angielskim.

Znak wodny

Chociaż narzędzia wykrywające generowany przez AI tekst są obecnie pomocne, Tom Goldstein, profesor informatyki na Uniwersytecie Maryland, widzi przyszłość, w której staną się one mniej skuteczne wraz ze wzrostem zaawansowania przetwarzania języka naturalnego.

Te rodzaje detektorów opierają się na fakcie, że istnieją systematyczne różnice między tekstem ludzkim a maszynowym. Ale celem tych firm jest tworzenie tekstu maszynowego, który jest możliwie najbardziej podobny do tekstu ludzkiego – pisze Goldstein.

Goldstein w swoim artykule proponuje sposoby na umieszczenie w generatorach tekstu AI znaków wodnych, które umożliwią wykrycie, czy tekst został napisany przez człowieka czy maszynę (Goldstein, 2023). Głównym celem takiego rozwiązania jest oznaczenie wzorców słów niedozwolonych dla generatorów tekstu AI. Dzięki temu, gdy tekst zostanie zeskanowany, a zasady znaku wodnego zostaną złamane wiele razy, wtedy istnieje wysokie prawdopodobieństwo, że został on napisany przez człowieka.

Obecnie znak wodny jest zawarty w darmowej wersji ChatGPT, ale oczywiście w płatnej jest już zdjęty.

Zatruwanie danych treningowych

Równolegle prowadzone są działania w wykrywaniu sztucznie wygenerowanych obrazów. Jedna z metod polega na “zatruwaniu” danych treningowych poprzez kontrolowaną manipulację obrazów, które jeśli trafią do zbiorów treningowych modelu, mogą wprowadzić algorytmicznie wykrywalne wzorce w generowanych obrazach.

Jednak ta metoda jest mniej skuteczna dla danych tekstowych, ponieważ zwykły tweet zawierać może mniej niż 5 słów, podczas gdy obraz składa się z co najmniej setek tysięcy pikseli.

Możliwości i ograniczenia generatorów tekstu

Możliwości generatorów tekstu są coraz większe, dzięki postępowi w dziedzinie uczenia maszynowego i sztucznej inteligencji. Poniżej zostały wymienione kilka z nich:

  • Generowanie tekstów na temat różnych dziedzin, w tym nauki, polityki, biznesu, kultury, a także literatury i poezji.
  • Umożliwienie tworzenia spersonalizowanych wiadomości, które wykorzystują informacje o użytkowniku (takie jak np. imię czy preferencje) w celu lepszego dostosowania wiadomości do jego potrzeb.
  • Generowanie opisów i opowiadań, które pozwalają na tworzenie treści zwiększających zaangażowanie i emocje.
  • Automatyzacja procesów tworzenia treści, co pozwala na zaoszczędzenie czasu i kosztów.

Niemniej jednak, generatory tekstu mają także pewne ograniczenia, które powinny być brane pod uwagę, takie jak:

  • Brak intuicji i kreatywności, co oznacza, że generowany tekst może być nieco “sztywny” i pozbawiony nieoczekiwanych elementów.
  • Trudność w rozumieniu kontekstu, co może prowadzić do generowania tekstów, które nie są odpowiednie dla określonego odbiorcy lub sytuacji.
  • Ryzyko błędów lub nierzetelności, gdy generowane teksty nie są oparte na wiarygodnych źródłach lub algorytmach.
  • Ograniczenia technologiczne, takie jak złożoność i kosztowność technologii, co może ograniczać dostępność generatorów tekstu dla mniejszych firm czy osób prywatnych.

W przypadku ChatGPT zapytaliśmy samo narzędzie o tę kwestię i uzyskaliśmy poniższą odpowiedź:

Jako sztuczna inteligencja typu GPT-3.5, moje możliwości obejmują przede wszystkim generowanie naturalnego języka, rozumienie tekstu, odpowiadanie na pytania, tłumaczenie języków, przetwarzanie danych i wiele innych. Mogę analizować i przetwarzać setki tysięcy dokumentów i tekstów w ciągu sekund, co umożliwia mi dostarczanie dokładnych odpowiedzi i rozwiązywanie złożonych problemów.

Jednym z moich głównych ograniczeń jest jednak to, że moje odpowiedzi są oparte na wcześniej zgromadzonych danych, a nie na wiedzy wyniesionej z doświadczenia lub intuicji. W praktyce oznacza to, że nie zawsze mogę dostarczyć odpowiedzi na pytania, których wcześniej nie napotkałem. Ponadto, mimo że moje odpowiedzi są wysoce zaawansowane, czasem mogą zawierać błędy lub nie uwzględniać kontekstu lub specyficznych wymagań użytkownika.

Ostatecznie, moją funkcją jest pomaganie użytkownikom w odkrywaniu informacji i wykonywaniu prostych zadań, ale nie jestem w stanie zastąpić ludzkiego doświadczenia czy intuicji.

Warto dodać jedną wadą, która nie jest wymieniona w odpowiedzi ChatGPT czyli brak dostępu do źródeł danych z Internetu. Ponadto, niedawno dodano model GPT-4 do ChatGPT (który jest dostępny tylko w wersji płatnej), w którym kluczowa zmiana to powiększenie kontekstu branego pod uwagę przy generowaniu słów w odpowiedzi.

ChatGPT Plugins

OpenAI ostatnio dodało możliwość tworzenia i kupowania pluginów do ChatGPT. Są one płatne i znacząco powiększają możliwości tej technologii oraz usuwania niektórych ze wspomnianych ograniczeń.

Plugin “Browsing”

Plugin “Browsing” pozwala ChatGPT na dostęp do Internetu i wspieranie się danymi pochodzącymi z różnych źródeł. Korzystając z takiego plugina nie pojawiają się problemy takie jak na obrazkach w sekcji Appendix A.

Plugin “Code Interpreter”

Z kolei plugin “Code Interpreter” pozwala na wykonanie napisanego kodu (aktualnie obsługiwany jest tylko język Python) i obserwację wyników przez model. Pozwala to między innymi na wykonanie analizy danych oraz wykresów jedynie na podstawie przesłanego pliku. Dodatek można wykorzystać także do przetwarzania obrazów (ze względu na obecność bibliotek do tego w języku Python). (https://openai.com/blog/chatgpt-plugins)

Inne pluginy

Opracowywane są także inne pluginy (m.in. “Retrieval” do skanowania i interakcji z dokumentami), w tym przez osoby trzecie (np. “Wolfram” do obliczeń, “Instacart” do składania zamówień w sklepach lokalnych). Wygląda na to, że pozwoli to na integrację ChatGPT z wieloma innymi platformami. Z jednej strony wygląda to dość niepokojąco, gdyż stworzony model próbuje się wszędzie “wepchać”, z drugiej strony może to prowadzić do powstania ciekawych projektów mających na celu ułatwienie życia.

Podsumowanie

Zarówno chatboty jak i generatory tekstu to narzędzia o olbrzymim potencjale, które są w stanie znacznie zautomatyzować liczne procesy realizowane przez ludzi. Potrafią wprawić nas w zachwyt swoimi umiejętnościami ale także przerażać możliwością zastąpienia nas (w szczególności obserwując ich możliwości programistyczne). Niemniej jednak w kontekście naukowym są prawdziwym ewenementem w dziedzinie informatyki i mamy nadzieję, że ich uniwersalność zostanie użyta do przyspieszenie rozwoju i automatyzacji wielu zadań, a nie jedynie do redukcji zatrudnienia.

Źródła:

  • Clark, M. (2023, January 31). ChatGPT’s creator made a free tool for detecting AI-generated text. The Verge. https://www.theverge.com/2023/1/31/23579942/chatgpt-ai-text-detection-openai-classifier
  • OpenAI (2023, March 23). ChatGPT plugins. OpenAI blog. https://openai.com/blog/chatgpt-plugins
  • Entrepreneur staff (2023, February 16. ChatGPT: What Is It and How Does It Work? Entrepreneur. https://www.entrepreneur.com/science-technology/chatgpt-what-is-it-and-how-does-it-work/445014
  • Adamopoulou, E., & Moussiades, L. (2020). Chatbots: History, technology, and applications. Machine Learning with Applications2, 100006.
  • OpenAI. (2023, March 4). GPT-4 Technical Report.
  • Ouyang, L., Wu, J., Jiang, X., Almeida, D., Wainwright, C. L., Mishkin, P., … Lowe, R. (2022, March 4). Training language models to follow instructions with human feedback.
  • Kirchenbauer, J., Geiping, J., Wen, Y., Katz, J., Miers, I., & Goldstein, T. (2023, January 24). A Watermark for Large Language Models.
  • Reece, R. (2023, February 8). How to Detect AI-Generated Text, According to Researchers. WIRED blog. https://www.wired.com/story/how-to-spot-generative-ai-text-chatgpt/

Appendix A: Przykłady działania ChatGPT

KL Divergence
ChatGPT wykorzystany do wytłumaczenia zagadnień teoretycznych z uczenia maszynowego. Trzeba pamiętać jednak, że nie jest on “źródłem wiedzy” i nie należy polegać na nim w pełni.

 

wygenerowany_lid
ChatGPT prezentuje umiejętność parafrazy. Tak wygenerowaliśmy lida tego wpisu 😛

 

slimak_klocek
ChatGPT potrafi generować historyjki, i to znacznie lepsze niż ja. Już wiem skąd będę brał opowiadania dla swoich dzieci.

 

ChatGPT lead generation problem
Czasami ChatGPT ma też problemy z działaniem – w tym przypadku nieważne jak długo oczekiwałem, nie byłem w stanie dostać żadnej odpowiedzi od modelu.

 

ChatGPT weather problem
W tym przypadku widoczne było, że ChatGPT jest ograniczony co do dostępu do Internetu i rozmowa z nim zdecydowanie wyglądała gorzej niż standardowo.
Co jest większe 2747 czy 2400?
ChatGPT może i ładnie i sensownie pisze, ale asertywności mu brakuje…

Leave a comment

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Najnowsze komentarze

  1. Ciekawe jest porównanie tradycyjnej terapii z nowymi rozwiązaniami opartymi na modelach językowych. Warto zauważyć, że mimo obiecujących wyników, istnieją ważne…