Curie

https://aie24.pl/

Celem Curie jest znalezienie optymalnej równowagi między mocą a szybkością, która jest bardzo ważna przy wykonywaniu zadań o dużej częstotliwości, takich jak klasyfikacja na dużą skalę lub wprowadzanie modelu do produkcji. Curie jest również całkiem dobra w przeprowadzaniu pytań i odpowiedzi oraz pełnieniu roli chatbota ogólnego przeznaczenia. Na przykład, jeśli budujesz obsługę klienta chatbota, możesz wybrać Curie, aby szybciej obsługiwać duże żądania. Podczas gdy Davinci lepiej radzi sobie z analizowaniem skomplikowanych tekstów, Curie może działać z niskimi opóźnieniami i błyskawiczną szybkością. Zawsze rozsądnie jest dowiedzieć się, jaki jest Twój przypadek użycia i przeprowadzić analizę kosztów i korzyści, zanim wybierzesz Davinci zamiast Curie w produkcji.

Da Vinci

https://aie24.pl

Davinci to największy silnik wykonawczy i domyślny przy pierwszym otwarciu Placu zabaw. Może zrobić wszystko, co potrafią inne silniki, często z mniejszą liczbą instrukcji i lepszymi wynikami. Jednak kompromis jest taki, że korzystanie z wywołania API kosztuje więcej i jest wolniejsze niż w przypadku innych silników. Możesz chcieć użyć innych silników, aby zoptymalizować koszty i czas działania.

WSKAZÓWKA

Testując nowe pomysły i podpowiedzi, zalecamy rozpoczęcie od Davinci ze względu na jego doskonałe możliwości. Eksperymentowanie z Davinci to świetny sposób, aby dowiedzieć się, do czego potrafi interfejs API. Następnie możesz powoli schodzić w dół po drabinie, aby zoptymalizować budżety i czas wykonania, gdy oswoisz się ze sformułowaniem problemu. Kiedy już będziesz mieć pojęcie o tym, co chcesz osiągnąć, możesz albo pozostać przy Davinci (jeśli koszt i prędkość nie grają roli), albo możesz przejść do Curie lub innego, mniej kosztownego silnika i spróbować zoptymalizować moc wyjściową w oparciu o jego możliwości. Możesz użyć narzędzia porównawczego OpenAI, aby wygenerować arkusz kalkulacyjny Excel, który porównuje dane wyjściowe, ustawienia i czasy reakcji silników.

Davinci powinien być Twoim pierwszym wyborem do zadań wymagających zrozumienia treści, takich jak podsumowywanie notatek ze spotkań lub generowanie kreatywnego tekstu reklamy. Świetnie radzi sobie z rozwiązywaniem problemów logicznych i wyjaśnianiem motywów działania fikcyjnych postaci. Może nawet napisać historię. Davinci był także w stanie rozwiązać niektóre z najtrudniejszych problemów związanych ze sztuczną inteligencją, obejmujących przyczynę i skutek.

Silniki wykonawcze

https://aie24.pl/

 API OpenAI oferuje cztery silniki wykonawcze, różniące się liczbą parametrów i możliwościami wydajnościowymi. Silniki wykonawcze obsługują API OpenAI. Służą jako rozwiązania „autoML”, zapewniające zautomatyzowane metody i procesy ML, dzięki którym uczenie maszynowe staje się dostępne dla laików. Można je łatwo skonfigurować i dostosować do danego zbioru danych i zadania. Cztery główne silniki wykonawcze zostały nazwane na cześć znanych naukowców w kolejności alfabetycznej: Ada (nazwana na cześć Ady Lovelace), Babbage (Charles Babbage), Curie (Madame Marie Curie) i Davinci (Leonardo da Vinci). Przyjrzyjmy się szczegółowo każdemu z tych silników wykonawczych, aby zrozumieć, kiedy używać którego silnika podczas pracy z GPT-3, zaczynając od Davinci.

show probabilities

https://aie24.pl/

Parametr show probabilities  znajduje się na dole panelu ustawień Placu zabaw. W konwencjonalnej inżynierii oprogramowania programiści używają debugera do rozwiązywania problemów (debugowania) fragmentu kodu. Możesz użyć parametru pokaż prawdopodobieństwa, aby debugować monit tekstowy. Za każdym razem, gdy wybierzesz ten parametr, zobaczysz podświetlony tekst. Najechanie kursorem na nie spowoduje wyświetlenie listy tokenów, które model może wygenerować dla konkretnego określonego wejścia, wraz z ich odpowiednimi prawdopodobieństwami. Możesz użyć tego parametru, aby sprawdzić dostępne opcje. Ponadto może ułatwić dostrzeżenie alternatyw, które mogą być bardziej skuteczne. Parametr pokaż prawdopodobieństwa ma trzy ustawienia:

Najprawdopodobniej

Wyświetla listę tokenów, które najprawdopodobniej zostaną uwzględnione do ukończenia, w kolejności malejącego prawdopodobieństwa.

Najmniej prawdopodobny

Wyświetla listę tokenów, które z najmniejszym prawdopodobieństwem zostaną uwzględnione do ukończenia, w kolejności malejącego prawdopodobieństwa.

Pełne spektrum

Pokazuje cały wszechświat żetonów, które można wybrać do ukończenia.

Przyjrzyjmy się temu parametrowi w kontekście prostego podpowiedzi. Zdanie wyjściowe chcemy rozpocząć prostym, dobrze znanym zwrotem: „Dawno, dawno temu”. Udostępniamy API monit „Dawno, dawno temu”, a następnie zaznaczamy opcję Najbardziej prawdopodobne w zakładce Pokaż prawdopodobieństwa. Jak pokazuje rysunek , w odpowiedzi generuje „czas”. Ponieważ ustawiliśmy parametr „pokaż prawdopodobieństwa” na Najbardziej prawdopodobne, API pokazuje nie tylko odpowiedź, ale także listę możliwych opcji wraz z ich prawdopodobieństwem. Teraz, gdy masz już przegląd, przyjrzyjmy się tym komponentom bardziej szczegółowo.

inject start text i inject restart text

https://aie24.pl/

Parametry inject start text i inject restart text umożliwiają wstawienie tekstu odpowiednio na początku lub na końcu uzupełnienia. Możesz ich użyć, aby utrzymać pożądany wzór. Często te ustawienia działają w połączeniu z sekwencją zatrzymania, jak w naszym przykładzie. Podpowiedź ma wzór, w którym angielskie zdanie jest dostarczane z przedrostkiem „English:” (tekst restartu), a przetłumaczone dane wyjściowe są generowane z przedrostkiem „French:” (tekst początkowy). W rezultacie każdy może łatwo rozróżnić te dwa elementy i stworzyć podpowiedzi szkoleniowe, które zarówno model, jak i użytkownik będą w stanie jasno zrozumieć. Ilekroć uruchamiamy model dla tego rodzaju podpowiedzi, automatycznie wstawia on tekst początkowy „French:” przed danymi wyjściowymi i tekst restartu „English:” przed następnym wprowadzeniem, aby ten wzorzec mógł zostać podtrzymany.

Sekwencja zatrzymująca

https://aie24.pl/

Sekwencja zatrzymująca to zestaw znaków sygnalizujących API, aby przestał generować uzupełnienia. Pomaga to uniknąć używania niepotrzebnych tokenów, co jest niezbędną funkcją oszczędzającą koszty dla zwykłych użytkowników. Możesz podać maksymalnie cztery sekwencje, aby interfejs API przestał generować kolejne tokeny. Przyjrzyjmy się przykładowemu zadaniu tłumaczenia języka na rysunku, aby zrozumieć, jak działa sekwencja zatrzymująca. W tym przykładzie zwroty angielskie są tłumaczone na francuski. Używamy sekwencji restartu „English:” jako sekwencji zatrzymania: ilekroć API napotka tę frazę, przestanie generować nowe tokeny.

Najlepsze

https://aie24.pl/

GPT-3 korzysta z najlepszych funkcji, aby generować wielokrotne uzupełnienia po stronie serwera, oceniać je za kulisami, a następnie zapewnić najlepszy wynik probabilistyczny. Za pomocą parametru „best of” możesz określić liczbę uzupełnień (n), które mają zostać wygenerowane po stronie serwera. Model zwróci najlepsze z n uzupełnień (to z najniższym prawdopodobieństwem logarytmicznym na token). Dzięki temu można ocenić wiele uzupełnień monitów w jednym wywołaniu interfejsu API, zamiast wielokrotnie wywoływać interfejs API w celu sprawdzenia jakości różnych uzupełnień dla tych samych danych wejściowych. Jednak użycie „najlepszego z” jest drogie: kosztuje n razy więcej tokenów w monicie. Na przykład, jeśli ustawisz wartość „najlepszego z” na 2, zostaniesz obciążony podwójną opłatą za tokeny znajdujące się w monicie wejściowym, ponieważ na zapleczu API wygeneruje dwa uzupełnienia i pokaże najlepsze. „Najlepsze z” może mieć wartość od 1 do 20, w zależności od przypadku użycia. Jeśli Twój przypadek użycia służy klientom, dla których jakość wyników musi być stała, możesz ustawić wyższą wartość „najlepszej z”. Z drugiej strony, jeśli Twój przypadek użycia obejmuje zbyt wiele wywołań API, sensowne jest ustawienie niższej wartości „najlepszego z”, aby uniknąć niepotrzebnych opóźnień i kosztów. Zalecamy zachowanie minimalnej długości odpowiedzi podczas generowania wielu podpowiedzi przy użyciu parametru „najlepsze z”, aby uniknąć dodatkowych opłat.

Kary za częstotliwość i obecność

https://aie24.pl/

Podobnie jak wskaźniki temperatury i górnego P, wskaźniki kary za częstotliwość i obecność uwzględniają podpowiedzi tekstowe (poprzednie zakończenie plus nowe dane wejściowe) zamiast parametrów modelu wewnętrznego przy podejmowaniu decyzji o wyjściu. Istniejący tekst wpływa zatem na nowe uzupełnienia. Kara za częstotliwość zmniejsza prawdopodobieństwo, że model dosłownie powtórzy tę samą linię, „karząc” ją. Kara za obecność zwiększa prawdopodobieństwo, że będzie poruszał nowe tematy. Są one przydatne, gdy chcesz zapobiec powtarzaniu tego samego tekstu uzupełnień podczas wielokrotnych uzupełnień. Chociaż te tarcze są podobne, istnieje jedna ważna różnica. Kara za częstotliwość jest stosowana, jeśli sugerowany wynik tekstowy zostanie powtórzony (na przykład model użył dokładnie tego tokena w poprzednich uzupełnieniach lub podczas tej samej sesji), a model wybierze stary wynik zamiast nowego. Kara za obecność jest stosowana, jeżeli w danym tekście w ogóle występuje token.

Temperatura i górna część P

https://aie24.pl/

Pokrętło temperatury steruje kreatywnością odpowiedzi, reprezentowaną jako zakres od 0 do 1. Niższa wartość temperatury oznacza, że interfejs API przewidzi pierwszą rzecz, którą zobaczy model, co da najbardziej poprawny, ale być może nudny tekst, z mała odmiana. Z drugiej strony wyższa wartość temperatury oznacza, że model przed przewidywaniem wyniku ocenia możliwe reakcje, które mogłyby pasować do kontekstu. Wygenerowany tekst będzie bardziej zróżnicowany, ale istnieje większe ryzyko błędów gramatycznych i generowania nonsensów. Górne P kontroluje, ile losowych wyników model powinien uwzględnić w celu uzupełnienia, zgodnie z sugestią pokrętła temperatury; określa zakres losowości. Zakres górnego P wynosi od 0 do 1. Wartość bliska zeru oznacza, że losowe odpowiedzi zostaną ograniczone do pewnego ułamka: na przykład, jeśli wartość wynosi 0,1, wówczas tylko 10% losowych odpowiedzi zostanie uznanych za ukończone. To sprawia, że silnik jest deterministyczny, co oznacza, że zawsze będzie generował takie same dane wyjściowe dla danego tekstu wejściowego. Jeśli wartość jest ustawiona na 1, API rozważy wszystkie odpowiedzi pod kątem ukończenia, podejmując ryzyko i wymyślając kreatywne odpowiedzi. Niższa wartość ogranicza kreatywność; wyższa wartość poszerza horyzonty. Temperatura i górny P mają znaczący wpływ na moc wyjściową. Czasami może być mylące, zastanawianie się, kiedy i jak z nich korzystać, aby uzyskać pożądany efekt. Obydwa są ze sobą powiązane: zmiana wartości jednego będzie miała wpływ na drugą. Zatem ustawiając Top P na 1, możesz pozwolić modelowi uwolnić swoją kreatywność, badając całe spektrum reakcji i kontrolować losowość za pomocą pokrętła temperatury.

WSKAZÓWKA: Zawsze zalecamy zmianę górnego P lub temperatury i pozostawienie pokrętła drugiego ustawienia na 1.

Duże modele językowe opierają się raczej na podejściach probabilistycznych niż na metodach probabilistycznych konwencjonalnej logiki. Mogą generować różne odpowiedzi dla tych samych danych wejściowych, w zależności od tego, jak ustawisz parametry modelu. Model stara się znaleźć najlepsze dopasowanie probabilistyczne w obrębie zbioru danych, na którym został wyszkolony, zamiast szukać za każdym razem idealnego rozwiązania. Jak wspomnieliśmy w Rozdziale 1, wszechświat danych szkoleniowych GPT-3 jest ogromny i składa się z różnych publicznie dostępnych książek, forów internetowych i artykułów z Wikipedii specjalnie wybranych przez OpenAI, co pozwala na generowanie szerokiej gamy uzupełnień dla danego podpowiedzi . Tutaj właśnie wkraczają temperatura i Top P, czasami nazywane „tarczami kreatywności”. Można je dostroić, aby generować bardziej naturalne lub abstrakcyjne reakcje z elementem zabawnej kreatywności. Załóżmy, że będziesz używać GPT-3 do generowania nazw dla swojego start-upu. Możesz ustawić pokrętło temperatury na wyższy poziom, aby uzyskać najbardziej kreatywną reakcję. Kiedy całymi dniami i nocami szukaliśmy idealnej nazwy dla naszego start-upu, podkręcaliśmy temperaturę. GPT-3 przyszedł na ratunek i pomógł nam stworzyć nazwę, którą kochamy: Kairos Data Labs. W innych przypadkach Twoje zadanie może wymagać niewielkiej lub żadnej kreatywności: na przykład zadania klasyfikacji i odpowiadania na pytania. W tym celu należy utrzymywać niższą temperaturę. Spójrzmy na rysunek  z prostym przykładem klasyfikacji, który dzieli firmy na ogólne segmenty lub kategorie na podstawie ich nazw.

Nasz monit:

Poniżej znajduje się lista firm i kategorii, do których się zaliczają:

Facebook: Social Media, Technology

LinkedIn: Social Media, Technology, Enterprise, Careers

Uber: Transportation, Technology, Marketplace

Unilever: Conglomerate, Consumer Goods

Mcdonalds: Food, Fast Food, Logistics, Restaurants

FedEx:

I wynik:

Logistics, Shipping

Jak widać na rysunku, ponownie użyliśmy temperatury do kontrolowania stopnia losowości. Można to również zrobić, zmieniając Top P, utrzymując pokrętło temperatury ustawione na 1.

Długość odpowiedzi

https://aie24.pl/

Długość odpowiedzi określa limit ilości tekstu, jaki API uwzględnia podczas jej uzupełniania. Ponieważ OpenAI pobiera opłaty za długość tekstu wygenerowanego podczas wywołania API (jak wspomniano wcześniej, jest ona tłumaczona na tokeny, czyli numeryczne reprezentacje słów), długość odpowiedzi (również mierzona w tokenach) jest kluczowym parametrem dla każdego, kto ma ograniczony budżet. Większa długość odpowiedzi spowoduje użycie większej liczby tokenów i będzie kosztować więcej. Na przykład, jeśli wykonujesz zadanie klasyfikacji, nie jest dobrym pomysłem ustawienie numeru tekstu odpowiedzi na 100: interfejs API może wygenerować nieistotny tekst i użyć dodatkowych tokenów, które spowodują naliczenie opłat na Twoim koncie. Interfejs API obsługuje maksymalnie 2048 tokenów w monicie i zakończeniu połączone ze względu na ograniczenia techniczne. Dlatego podczas korzystania z interfejsu API należy uważać, aby monit i oczekiwane zakończenie nie przekraczały maksymalnej długości odpowiedzi, aby uniknąć nagłych uzupełnień. Jeśli Twój przypadek użycia obejmuje monity i uzupełnienia o dużym tekście, rozwiązaniem jest wymyślenie kreatywnych sposobów rozwiązywania problemów w ramach limitów tokenów, takich jak zagęszczenie podpowiedzi, podzielenie tekstu na mniejsze fragmenty i połączenie wielu żądań.