Programowanie za pomocą GPT-3

https://aie24.pl/

Prawie wszystkie możliwości NLP GPT-3 są tworzone w języku programowania Python. Aby jednak zapewnić szerszą dostępność, interfejs API posiada wbudowaną obsługę wszystkich głównych języków programowania, dzięki czemu użytkownicy mogą tworzyć aplikacje oparte na GPT-3, korzystając z wybranego przez siebie języka programowania. W tej sekcji zilustrujemy, jak to działa, replikując przykład z trzema popularnymi językami programowania: Python, Go i Java. Tylko uwaga: w każdej sekcji poświęconej konkretnemu językowi zakładamy, że masz podstawową wiedzę na temat omawianego języka programowania. Jeśli nie, możesz bezpiecznie pominąć tę sekcję.

Wniosek

https://aie24.pl/

Omówiliśmy OpenAI Playground, szybką inżynierię i różne komponenty OpenAI API, a następnie przedstawiliśmy przykłady Playground obejmujące główne zadania NLP. Do tej pory powinieneś wiedzieć, jak interfejs API działa w połączeniu z różnymi komponentami i jak używać Playground jako podstawy do projektowania i eksperymentowania z różnymi podpowiedziami szkoleniowymi. Teraz przeprowadzimy Cię przez proces wykorzystania GPT-3 w różnych językach programowania, aby zintegrować API ze swoim produktem lub zbudować od podstaw zupełnie nową aplikację.

Pokolenie postów w mediach społecznościowych

https://aie24.pl/

Oto nasz monit:

Write a social media post for Facebook, Twitter, and Instagram

about launching

a new beta version of the personal productivity app.

Facebook post:

I wynik:

“After extensive user testing, we are happy to announce that our

latest update is

available for download! Our team has worked hard to create the

best version of

our app yet. Download it now for free at www.app.com.”

Twitter post:

“We’re rolling out an updated version of your favorite

productivity app! Now

available on iOS and Android. #productivity #beta”

Instagram post:

“We just released a new beta version of your favorite productivity

app! Download

it today for free on iOS and Android. #productivity #beta”

Generacja tekstu

https://aie24.pl/

Przed wprowadzeniem GPT-3 panowało ogólne przekonanie, że modele sztucznej inteligencji są w stanie prowadzić krótkie rozmowy z ludźmi, które odpowiadają na konkretne pytania lub wykonują określone zadania. Jednak modele nie były wystarczająco zaawansowane, aby poradzić sobie ze skomplikowanymi zadaniami związanymi z generowaniem tekstu, i zaczynały tracić kontrolę nad konwersacją, gdy napotykały coś złożonego lub abstrakcyjnego. W skomplikowanym świecie generowania języka naturalnego GPT-3 podważył pogląd, że modele językowe ograniczają się do trywialnych zadań. Generowanie tekstu jest największą siłą GPT-3. Jest w stanie generować treści tekstowe, które są prawie nie do odróżnienia od tekstu pisanego przez człowieka. GPT-3 jest szkolony na miliardach słów ze zbioru danych szkoleniowych w celu generowania tekstu w odpowiedzi na różne podpowiedzi. Według OpenAI generuje średnio 4,5 miliarda słów dziennie. W kolejnych dwóch przykładach eksperymentujemy z użyciem GPT-3 do tworzenia treści na potrzeby uruchamiania aplikacji osobistej i postów w mediach społecznościowych. Dajemy modelowi jedynie minimalny kontekst, który generuje wiele odpowiedzi przedstawionych na rysunkach już za pierwszym podejściem.

Nasz monit:

Here are the top 5 tips for personal productivity.

I wynik:

  1. Develop a routine

Work can be overwhelming. You don’t need to remember every little

detail.

By having a routine, you will be able to work more efficiently.

  1. Avoid multitasking

If you are multitasking, you are bound to miss something. It is

better to

work on one task at a time.

  1. Take breaks

It is true that if you do not take breaks, you will be more

productive. However,

if you take breaks too often you will get tired and stressed. If

you work more

effectively, you will shorten the time needed to complete a task.

  1. Learn to delegate

If you have a lot of work to do, you should not do everything on

your own.

Delegate some of the work to others.

  1. Prioritize

Prioritize what you have to do and do the most important tasks

first. Don’t

worry about the small things.

Bugs

https://aie24.pl/

Ponieważ wiele osób spędza wiele godzin dziennie na czytaniu i pisaniu e-maili, podsumowywanie ich jest powszechnie pożądanym przypadkiem użycia GPT-3. Zobaczmy, jak radzi sobie GPT-3, podsumowując trzyakapitowy e-mail w jedną wyraźną linię

Aby osiągnąć zamierzony efekt, wkleiliśmy cały e-mail, a na końcu dodaliśmy po prostu „jednozdaniowe podsumowanie:”. Dodaliśmy także „.” zatrzymaj sekwencję, aby poinformować model, że powinien zatrzymać generowanie podsumowania po pojedynczym zdaniu.

Nasz monit:

Hey Greg,

We are Sandra and Shubham. We are the co-authors of a GPT-3 based

book that

aims to be a go-to manual for API users. It will provide the

readers with the

knowledge to get started with GPT-3 as well as the context of the

growing

ecosystem surrounding it. The book will be released by O’Reilly

publishing

house by early 2022.

We’d like to connect and explore the possibility of collaboration

with OpenAI

to evangelize access to API for people from all backgrounds and

enable them to

build exciting new solutions using GPT-3. We would appreciate your

input to

ensure we accurately represent OpenAI’s stance on GPT-3 and inform

our readers

on the upcoming advancements/features of the API.

It will be great if we can catch up sometime this week to discuss

it further?

Best,

S&S

one-sentence summary:

I wynik:

We’re writing a book on GPT-3 and would like to connect with

OpenAI to get a

better understanding of the API and the future developments.

Podsumowanie tekstu

https://aie24.pl/

Podsumowanie tekstu to technika generowania zwięzłego i dokładnego podsumowania długich tekstów, skupiając się na sekcjach zawierających przydatne informacje, bez utraty ogólnego znaczenia. Podsumowanie tekstu w oparciu o GPT-3 ma na celu przekształcenie długich fragmentów tekstów tl; dr w ich skrócone wersje. Zadania takie są na ogół trudne i kosztowne do wykonania ręcznie. W przypadku GPT-3 jest to kwestia jednego wprowadzenia i kilku sekund! Modele NLP można wytrenować w zakresie rozumienia dokumentów i identyfikowania sekcji, które przekazują ważne fakty i informacje przed utworzeniem podsumowania tekstów. Jednak takie modele wymagają dużej liczby próbek szkoleniowych, zanim będą mogły poznać kontekst i zacząć podsumowywać niewidoczne dane wejściowe. Abstrakcyjne podsumowanie GPT-3 jest kluczem do rozwiązania problemu ekstrakcji informacji. Tworząc streszczenia, zamiast jedynie wyodrębniać kluczowe informacje, GPT-3 może zapewnić bardziej wszechstronne i dokładne zrozumienie tekstu. Wykorzystuje podejście zerowe lub kilka strzałów do podsumowania tekstu, dzięki czemu jest przydatne w różnych przypadkach użycia. Dzięki GPT-3 istnieje wiele sposobów podsumowania tekstu w zależności od przypadku użycia: streszczenia podstawowe, streszczenia jednowierszowe lub streszczenia na poziomie klasy. Przeanalizujmy szybko te podejścia. W większości przypadków model jest w stanie wygenerować przyzwoite wyniki w formie podsumowania przeglądu, ale czasami może generować nieistotne wyniki w zależności od wcześniejszego kontekstu. Aby uniknąć problemu uzyskania niepożądanych wyników, możesz ustawić parametr „best of” na 3, co zawsze da Ci najlepszy z trzech wyników wygenerowanych przez API. W przykładzie pokazanym na rysunku  po kilku próbach i niewielkich zmianach parametrów uzyskaliśmy przyzwoite wyniki.

Oto nasz monit:

The problem is that when it works, it works, but when it doesn’t,

it really doesn’t. Luckily, the game’s low points like the horrible binary

stealth system

and the bugs and lack of QoL are either fixable or vastly

outweighed by the good

bits, and the overall tally still ends up being much higher than

the average of

many other games out there. That’s helped a lot by the moment-tomoment

gameplay,

which pays off just as much as the story beats; the movement

system lets you

climb almost any short object, vehicles are weighty to drive, and

have fantastic

interior and exterior designs, and guns feel properly loud and

heavy. Its story

and narrative kept me glued to the screen, and everything – from

sex scenes

and romance options to Keanu Reeves trying to kill you or help you

throughout

the game – are remarkably well done. Cyberpunk 2077 is a game

crafted with love,

and it shows.

tl;dr:

I wynik:

Cyberpunk 2077 is a game crafted with love, and it shows. The

story is great,

the gameplay is great, the worldbuilding is great. It’s not

perfect by any means,

but it’s still one of the best games I’ve played in years.

The Good:

– Great story and characters

– Amazing worldbuilding

– Excellent gunplay and movement system

The Bad:

– Binary stealth system (sometimes you’re seen no matter what) –

Rozpoznawanie nazwanych podmiotów

https://aie24.pl/

Rozpoznawanie nazwanych podmiotów (NER) to zadanie wyodrębniania informacji, które ma na celu zlokalizowanie i sklasyfikowanie nazwanych podmiotów wymienionych w nieustrukturyzowanym tekście według predefiniowanych kategorii, takich jak nazwiska osób, organizacje, lokalizacje, wyrażenia czasu, ilości, wartości pieniężne, wartości procentowe itp. NER pomaga aby odpowiedzi były bardziej spersonalizowane i trafne, ale obecne, najnowocześniejsze podejścia wymagają ogromnych ilości danych do szkolenia, zanim w ogóle zacznie się prognozować. Z drugiej strony GPT-3 może od razu rozpoznać ogólne byty, takie jak ludzie, miejsca i organizacje, bez konieczności podawania przez człowieka choćby jednego przykładu szkoleniowego. W poniższym przykładzie używamy wersji modelu davinci-instruct-series, która w momencie pisania tej książki była w fazie beta, a model gromadzi podpowiedzi umożliwiające uczenie i ulepszanie przyszłych modeli API OpenAI. Dajemy mu proste zadanie: wydobyć dane kontaktowe z przykładowego maila. Pomyślnie wykonuje zadanie za pierwszym podejściem.

Oto nasz wkład:

Wyodrębnij imię i nazwisko oraz adres pocztowy z tego e-maila:

Shubham,

Wspaniale było z tobą porozmawiać pewnego dnia!

Nie mogę się doczekać rozpoczęcia pracy nad naszą książką.

Oto mój adres: 1307 Roosevelt Street, San Francisco, CA 94107

To, co najlepsze,

Sandra Kublik

Imię i nazwisko oraz adres korespondencyjny:

I wynik:

Sandra Kublik

1307 Roosevelt Street, San Francisco, CA 94107

Klasyfikacja partii

https://aie24.pl/

Po zrozumieniu klasyfikacji kilkuetapowej za pomocą GPT-3 przyjrzyjmy się bliżej klasyfikacji za pomocą klasyfikacji wsadowej, która umożliwia klasyfikowanie próbek wejściowych w partiach w ramach jednego wywołania API, zamiast klasyfikować tylko jeden przykład na wywołanie API. Nadaje się do zastosowań, w których chcesz sklasyfikować wiele przykładów za jednym razem, podobnie jak w przypadku analizowanego przez nas zadania analizy nastrojów na tweetach, ale analizującego kilka tweetów z rzędu. Podobnie jak w przypadku klasyfikacji kilkukrotnej, należy zapewnić modelowi wystarczający kontekst, aby osiągnąć pożądany wynik, ale w formacie konfiguracji wsadowej. Tutaj definiujemy różne kategorie klasyfikacji nastrojów na tweetach, korzystając z różnych przykładów w formacie konfiguracji wsadowej. Następnie prosimy modelkę o analizę kolejnej partii tweetów.

Oto nasz monit:

Analizuj tweety pod kątem ich nastrojów. W zależności od ich nastrojów, sklasyfikowaj je jako pozytywne, neutralne lub negatywne.

Tweet: „Poważnie martwię się, że super inteligentna sztuczna inteligencja rozczaruje się na ludziach”.

Analiza nastrojów (pozytywna, neutralna, negatywna): negatywna ###

Tweet: „Nie mogę się doczekać pojawienia się superinteligentnej sztucznej inteligencji i pogłębienia naszego zrozumienia Wszechświata”.

Analiza nastrojów (pozytywny, neutralny, negatywny): pozytywny

###

Tweet: „Myślę, że nie jest ani bardzo prawdopodobne, ani bardzo mało prawdopodobne, że pewnego dnia pojawi się superinteligentna sztuczna inteligencja”.

Analiza nastrojów (pozytywna, neutralna, negatywna): neutralna

###

Tweet: „Super inteligentna sztuczna inteligencja będzie najbardziej ekscytującym odkryciem w historii ludzkości”.

Analiza nastrojów (pozytywny, neutralny, negatywny): pozytywny

###

Tweet:

  1. „Poważnie martwię się, że super inteligentna sztuczna inteligencja rozczaruje się na ludziach”.
  2. „Nie mogę się doczekać pojawienia się superinteligentnej sztucznej inteligencji i pogłębienia naszego zrozumienia Wszechświata”.
  3. „Myślę, że nie jest ani super prawdopodobne, ani bardzo nieprawdopodobne, że super

pewnego dnia pojawi się inteligentna sztuczna inteligencja.”

  1. „Super inteligentna sztuczna inteligencja będzie najbardziej ekscytującym odkryciem w historii ludzkości”.
  2. „To najnowszy raport o stanie sztucznej inteligencji”

Nastroje na Twitterze:

  1. negatywny
  2. pozytywne
  3. neutralny
  4. pozytywne
  5. neutralny

Ćwierkać:

  1. „Nie znoszę złej muzyki techno”
  2. „To jest tweet”
  3. „Nie mogę się doczekać lotu na Księżyc!!!”
  4. „AI jest super urocza ❤”
  5. „Teraz jestem BARDZO ZŁY!!!”

Nastroje na Twitterze:

1.

I wynik:

  1. negatywny
  2. neutralny
  3. pozytywne
  4. pozytywne
  5. negatywny

Jak widać, model odtworzył format wsadowej analizy nastrojów i pomyślnie sklasyfikował tweety. Przejdźmy teraz, aby zobaczyć, jak radzi sobie z zadaniami rozpoznawania nazwanych jednostek.

Klasyfikacja jednostrzałowa i kilkustrzałowa

https://aie24.pl/

Inne podejście do klasyfikacji tekstu polega na dostrojeniu modelu sztucznej inteligencji na jednym lub kilku przykładach szkoleniowych, co nazywa się odpowiednio jednorazową lub kilkoma przykładami szkoleniowymi. Jeśli podasz przykłady klasyfikacji tekstu, model może poznać informacje o kategoriach obiektów na podstawie tych przykładów. Jest to nadzbiór klasyfikacji zerowej, który umożliwia klasyfikację tekstu poprzez dostarczenie modelowi trzech do czterech zróżnicowanych przykładów. Może to być przydatne szczególnie w dalszych przypadkach użycia, które wymagają pewnego poziomu ustawień kontekstu. Spójrzmy na następujący przykład klasyfikacji kilkustrzałowej. Prosimy model o przeprowadzenie klasyfikacji analizy nastrojów na Twitterze i podanie trzech przykładów tweetów w celu zilustrowania każdej z możliwych etykiet: pozytywnej, neutralnej i negatywnej. Jak widać na rysunku 2.15, model wyposażony w tak szczegółowy kontekst na podstawie kilku przykładów jest w stanie w bardzo prosty sposób przeprowadzić analizę nastrojów kolejnego tweeta.

UWAGA: Kiedy odtwarzasz przykłady podpowiedzi z książki lub tworzysz własne, upewnij się, że w podpowiedziach znajdują się odpowiednie odstępy między wierszami. Dodatkowa linijka po akapicie może dać zupełnie inny wynik, więc warto się z tym pobawić i zobaczyć, co będzie dla Ciebie najlepsze.

Oto nasz monit:

Przeanalizuj tweet pod kątem jego nastrojów. W zależności od

sentyment, klasyfikuj go jako pozytywny, neutralny lub negatywny.

Tweet: „Poważnie martwię się, że będzie superinteligentna sztuczna inteligencja rozczarowana ludźmi.”

Analiza nastrojów (pozytywna, neutralna, negatywna): negatywna

Tweet: „Nie mogę się doczekać pojawienia się superinteligentnej sztucznej inteligencji i

pogłębić nasze zrozumienie Wszechświata.”

Analiza nastrojów (pozytywny, neutralny, negatywny): pozytywny

Tweet: „Myślę, że nie jest to ani super prawdopodobne, ani super nieprawdopodobne

pewnego dnia pojawi się superinteligentna sztuczna inteligencja.”

Analiza nastrojów (pozytywna, neutralna, negatywna): neutralna

Tweet: „Super inteligentna sztuczna inteligencja będzie najbardziej ekscytująca

odkrycie w historii ludzkości.”

Analiza nastrojów (pozytywny, neutralny, negatywny):

I wynik:

pozytywny

Klasyfikacja zerowego strzału

https://aie24.pl/

Współczesna sztuczna inteligencja od dawna dąży do opracowania modeli, które mogą wykonywać funkcje predykcyjne na danych, których nigdy wcześniej nie widziały. Ten ważny obszar badań nazywany jest uczeniem się od zera. Podobnie klasyfikacja zerowa to zadanie klasyfikacyjne, w przypadku którego nie jest wymagane wcześniejsze szkolenie ani dostrajanie oznaczonych danych, aby model mógł sklasyfikować fragment tekstu. GPT-3 generuje obecnie wyniki dla niewidocznych danych, które są lepsze lub porównywalne z najnowocześniejszymi modelami sztucznej inteligencji dostosowanymi do tego konkretnego celu. Aby przeprowadzić klasyfikację zerową za pomocą GPT-3, musimy zapewnić mu kompatybilny monit. Oto przykład klasyfikacji zero-shot, której celem jest przeprowadzenie analizy polegającej na sprawdzeniu faktów w celu ustalenia, czy informacje zawarte w tweecie są prawidłowe, czy nieprawidłowe. Rysunek przedstawia całkiem imponujący wynik klasyfikacji poprawności informacji w oparciu o przykład zerowy.

A oto nasza zachęta:

Przeanalizuj tweeta pod kątem poprawności informacji.

Tweet: „Ponad 50% światowych naukowców w to nie wierzy

zmiana klimatu.”

Analiza:

I wynik:

Tweet jest nieprawidłowy.