Tokeny

https://aie24.pl/

Zanim zagłębimy się w sposób, w jaki różne podpowiedzi zużywają tokeny, przyjrzyjmy się bliżej, czym jest token. Powiedzieliśmy Ci, że tokeny to numeryczne reprezentacje słów lub znaków. Używając tokenów jako standardowego środka, GPT-3 może obsługiwać podpowiedzi szkoleniowe od kilku słów do całych dokumentów. W przypadku zwykłego tekstu w języku angielskim 1 token składa się z około 4 znaków. Oznacza to mniej więcej trzy czwarte słowa, więc na sto żetonów będzie około 75 słów. Dla porównania, zebrane dzieła Szekspira składają się z około 900 000 słów, co w przybliżeniu przekłada się na 1,2 miliona żetonów. Aby utrzymać opóźnienia wywołań API, OpenAI nakłada limit 2048 tokenów (około 1500 słów) dla monitów i uzupełnień. Aby lepiej zrozumieć, w jaki sposób tokeny są obliczane i wykorzystywane w kontekście GPT-3 oraz aby nie przekraczać limitów określonych przez API, przyjrzyjmy się sposobom pomiaru liczby tokenów. W Playground po wpisaniu tekstu w interfejsie możesz zobaczyć aktualizację liczby tokenów w czasie rzeczywistym w stopce w prawym dolnym rogu. Wyświetla liczbę tokenów, które zostaną zużyte przez monit tekstowy po naciśnięciu przycisku Generuj. Możesz go używać do monitorowania zużycia tokenów za każdym razem, gdy wchodzisz w interakcję z Placem Zabaw

Innym sposobem pomiaru zużycia tokenów jest użycie narzędzia Tokenizer GPT-3, które umożliwia wizualizację tworzenia tokenów ze znaków. Możesz wchodzić w interakcję z Tokenizerem za pomocą prostego pola tekstowego, w którym wpisujesz tekst zachęty, a Tokenizer wyświetla liczbę tokenów i znaków wraz ze szczegółową wizualizacją.

Skorzystaj z dopracowanego modelu

https://aie24.pl/

Po pomyślnym dopracowaniu modelu możesz zacząć go używać! Możesz teraz określić ten model jako parametr punktu końcowego zakończenia i wysyłać do niego żądania za pomocą placu zabaw.

WSKAZÓWKA

Po zakończeniu zadania dostrajania może minąć kilka minut, zanim model będzie gotowy do obsługi żądań. Jeśli żądania zakończenia przekroczą limit czasu modelu, prawdopodobnie jest to spowodowane tym, że model jest nadal ładowany. Jeśli tak się stanie, spróbuj ponownie za kilka minut

Możesz rozpocząć wysyłanie żądań, przekazując nazwę modelu jako parametr modelu żądania zakończenia za pomocą następującego polecenia:

uzupełnienia API Openai.create -m FINE_TUNED_MODEL -p YOUR_PROMPT

Gdzie FINE_TUNED_MODEL to nazwa Twojego modelu, a YOUR_PROMPT to monit, który chcesz wypełnić w tym żądaniu. Możesz nadal używać wszystkich parametrów punktu końcowego zakończenia, które omówiono w tym rozdziale, takich jak temperatura, kara za częstotliwość, kara za obecność itp., również w tych żądaniach do nowo dostrojonego modelu.

UWAGA: W tych żądaniach nie określono żadnego silnika. Jest to zamierzony projekt i coś, co OpenAI planuje w przyszłości ujednolicić w innych punktach końcowych API.

Przygotuj i prześlij dane szkoleniowe

https://aie24.pl/

Dane szkoleniowe są tym, co model przyjmuje jako dane wejściowe do dostrajania. Twoje dane szkoleniowe muszą być dokumentem JSONL, gdzie każda linia jest parą podpowiedzi odpowiadającą przykładowi szkoleniowemu. W celu doprecyzowania modelu możesz podać dowolną liczbę przykładów. Zdecydowanie zaleca się utworzenie zbioru danych ukierunkowanego na wartości (który zdefiniujemy i omówimy w rozdziale 6), aby zapewnić modelowi dane wysokiej jakości i szeroką reprezentację. Dostrajanie poprawia wydajność dzięki większej liczbie przykładów, więc im więcej przykładów podasz, tym lepszy wynik. Twój dokument JSONL powinien wyglądać mniej więcej tak:

{“podpowiedź”: “tekst podpowiedzi”, “ukończenie”: “idealnie wygenerowany tekst”}

{“podpowiedź”: “tekst podpowiedzi”, “ukończenie”: “idealnie wygenerowany tekst”}

{“podpowiedź”: “tekst podpowiedzi”, “ukończenie”: “idealnie wygenerowany tekst”}

Gdzie tekst podpowiedzi powinien zawierać dokładny tekst podpowiedzi, który chcesz wypełnić, a idealnie wygenerowany tekst powinien zawierać przykład żądanego tekstu uzupełnienia, który ma zostać wygenerowany przez GPT-3. Możesz użyć narzędzia do przygotowywania danych CLI OpenAI, aby łatwo przekonwertować dane do tego formatu pliku. Narzędzie do przygotowywania danych CLI akceptuje pliki w różnych formatach; jedynym wymaganiem jest to, aby zawierały zachętę i kolumnę/klucz zakończenia. Możesz przekazać plik CSV, TSV, XLSX, JSON lub JSONL, a narzędzie zapisze dane wyjściowe w pliku JSONL gotowym do dostrojenia. Aby to zrobić, użyj następującego polecenia:

tools openai fine_tunes.prepare_data -f PLIK_LOKALNY

Gdzie LOCAL_FILE to plik przygotowany do konwersji. Trenuj nowy, dopracowany model. Po przygotowaniu danych szkoleniowych zgodnie z powyższym opisem możesz przejść do zadania dostrajania za pomocą interfejsu CLI OpenAI. W tym celu potrzebujesz następującego polecenia:

openai api fine_tunes.create -t TRAIN_FILE_ID_OR_PATH -m BASE_MODEL

Gdzie BASE_MODEL to nazwa modelu podstawowego, od którego zaczynasz (Ada, Babbage, Curie lub Davinci). Uruchomienie tego polecenia powoduje kilka rzeczy:

* Przesyła plik przy użyciu punktu końcowego plików (jak omówiono wcześniej w tym rozdziale)

* Dostraja model za pomocą konfiguracji żądania z polecenia

* Przesyła strumieniowo dzienniki zdarzeń do momentu zakończenia zadania dostrajania

Przesyłanie strumieniowe dzienników pomaga zrozumieć, co dzieje się w czasie rzeczywistym i reagować na wszelkie zdarzenia/awarie na bieżąco. Przesyłanie strumieniowe może trwać od minut do godzin, w zależności od liczby zadań w kolejce i rozmiaru zestawu danych.

Jak dostosować GPT-3 do swojej aplikacji

https://aie24.pl/

Aby rozpocząć dostosowywanie GPT-3, wystarczy uruchomić jedno polecenie w narzędziu wiersza poleceń OpenAI z dostarczonym plikiem. Twoja niestandardowa wersja rozpocznie szkolenie i będzie natychmiast dostępna w interfejsie API OpenAI. Na bardzo wysokim poziomie dostosowywanie GPT-3 do Twojej aplikacji obejmuje następujące trzy kroki:

* Przygotuj nowe dane treningowe i prześlij je na serwer OpenAI

* Dostosuj istniejące modele za pomocą nowych danych szkoleniowych

* Użyj dopracowanego modelu

Aplikacje obsługiwane przez niestandardowe modele GPT-3

https://aie24.pl/

Dostosowanie GPT-3 poprawia niezawodność wyników, oferując bardziej spójne wyniki, na których można polegać w zastosowaniach produkcyjnych. Obecni klienci OpenAI API odkryli, że dostosowanie GPT-3 może radykalnie zmniejszyć częstotliwość niewiarygodnych wyników, a istnieje rosnąca grupa klientów, którzy mogą za to ręczyć swoimi wynikami. Przyjrzyjmy się czterem firmom, które dostosowały GPT-3. Keeper Tax pomaga niezależnym wykonawcom i freelancerom w rozliczeniu podatków. Wykorzystuje różne modele do wyodrębniania tekstu i klasyfikowania transakcji, a następnie identyfikuje łatwe do pominięcia odpisy podatkowe, aby pomóc klientom w składaniu podatków bezpośrednio z aplikacji. Dostosowując GPT-3, Keeper Tax odnotował wzrost dokładności z 85% do 93%. Stale się doskonali dzięki dodawaniu do swojego modelu 500 nowych przykładów szkoleniowych raz w tygodniu, co prowadzi do poprawy dokładności o około 1% tygodniowo. Viable pomaga firmom uzyskać wgląd w opinie klientów. Dostosowując GPT-3, firma Viable była w stanie przekształcić ogromne ilości nieustrukturyzowanych danych w czytelne raporty w języku naturalnym i zwiększyć niezawodność swoich raportów. W rezultacie dokładność podsumowania opinii klientów wzrosła z 66% do 90%. Aby uzyskać szczegółowy wgląd w podróż Viable, zapoznaj się z naszym wywiadem z dyrektorem generalnym Viable w Rozdziale 4. Sana Labs jest światowym liderem w rozwoju i stosowaniu sztucznej inteligencji w nauczaniu. Platforma firmy zapewnia firmom spersonalizowane doświadczenia edukacyjne, wykorzystując najnowsze przełomowe rozwiązania w zakresie uczenia maszynowego w celu personalizacji treści. Dostosowując GPT-3 przy użyciu własnych danych, generowanie pytań i treści Sany przeszło od poprawnych gramatycznie, ale ogólnych odpowiedzi do bardzo dokładnych odpowiedzi. Przyniosło to poprawę o 60%, umożliwiając użytkownikom bardziej spersonalizowane doświadczenia. Elicit to asystent badawczy AI, który pomaga bezpośrednio odpowiadać na pytania badawcze, korzystając z wniosków z artykułów akademickich. Asystent znajduje najbardziej odpowiednie streszczenia z dużego zbioru artykułów naukowych, a następnie stosuje GPT-3, aby wygenerować twierdzenie zawarte w artykule na temat danego pytania. Niestandardowa wersja GPT-3 uzyskała lepsze wyniki od szybkiego projektu i doprowadziła do poprawy w trzech obszarach: wyniki były o 24% łatwiejsze do zrozumienia, o 17% dokładniejsze i ogólnie o 33% lepsze.

Dostosowywanie GPT-3

https://aie24.pl/

Artykuł badawczy OpenAI „Process for Adapting Language Models to Society (PALMS) with Values-Targeted Datasets” autorstwa Irene Solaiman i Christy Dennison (czerwiec 2021) skłonił firmę do uruchomienia pierwszego w swoim rodzaju punktu końcowego dostrajającego, który umożliwia aby uzyskać więcej z GPT-3 niż było to wcześniej możliwe, dostosowując model do konkretnego przypadku użycia. (Więcej o Palmach omawiamy w Rozdziale 6.) Dostosowywanie GPT-3 poprawia wydajność każdego zadania języka naturalnego, które GPT-3 jest w stanie wykonać w konkretnym przypadku użycia. Wyjaśnijmy najpierw, jak to działa. OpenAI wstępnie przeszkolił GPT-3 na specjalnie przygotowanym zestawie danych w sposób częściowo nadzorowany. Gdy zostanie wyświetlony monit zawierający zaledwie kilka przykładów, często może on odgadnąć, jakie zadanie próbujesz wykonać i wygenerować wiarygodne zakończenie. Nazywa się to nauką kilkuetapową. Użytkownicy mogą teraz dostroić GPT-3 na własnych danych, tworząc niestandardową wersję modelu dostosowaną do ich projektu. Dostosowywanie sprawia, że GPT-3 jest niezawodny w różnych przypadkach użycia i sprawia, że uruchamianie modelu jest tańsze, wydajniejsze i szybsze. Dostrajanie polega na ulepszaniu całego modelu, tak aby za każdym razem działał tak, jak sobie tego życzysz. Możesz użyć istniejącego zbioru danych o dowolnym kształcie i rozmiarze lub stopniowo dodawać dane w oparciu o opinie użytkowników. Możliwości i wiedza na temat modelu zostaną zawężone i skupione na zawartości i semantyce zbioru danych wykorzystywanego do dostrajania. To z kolei ograniczy zakres kreatywności i wyboru tematów, co będzie dobre w przypadku dalszych zadań, takich jak klasyfikacja dokumentów wewnętrznych lub w każdym przypadku użycia obejmującym żargon wewnętrzny. Działa poprzez skupienie uwagi GPT-3 na dopracowanych danych i ograniczenie jego bazy wiedzy. Po dopracowaniu modelu nie będziesz już musiał podawać przykładów w monicie. Oszczędza to koszty, skraca czas reakcji oraz zwiększa jakość i niezawodność wyników. Wydaje się, że dostosowywanie GPT-3 daje lepsze wyniki niż to, co można osiągnąć przy szybkim projektowaniu, ponieważ w trakcie tego procesu można podać więcej przykładów. Mając mniej niż sto przykładów, możesz już zacząć dostrzegać korzyści z dostrojenia GPT-3, a wydajność stale się poprawia w miarę dodawania większej ilości danych. W artykule badawczym PALMS OpenAI pokazało, jak dostrojenie za pomocą mniej niż stu przykładów może poprawić wydajność GPT-3 w niektórych zadaniach. OpenAI odkryło również, że każde podwojenie liczby przykładów ma tendencję do liniowej poprawy jakości.

Osadzenia

https://aie24.pl/

Kolejnym eksperymentalnym punktem końcowym interfejsu API jest osadzanie. Osadzanie stanowi rdzeń każdego modelu uczenia maszynowego i umożliwia przechwytywanie semantyki z tekstu poprzez konwersję go na wektory wielowymiarowe. Obecnie programiści mają tendencję do korzystania z modeli open source do tworzenia osadzania swoich danych, które można wykorzystać do różnych zadań, takich jak rekomendowanie, modelowanie tematów, wyszukiwanie semantyczne itp. OpenAI zdało sobie sprawę, że GPT-3 ma ogromny potencjał w zakresie zastosowań opartych na osadzaniu i osiągaj najnowocześniejsze wyniki. Generowanie osadzania danych wejściowych jest bardzo proste i opakowane w formie wywołania API. Aby utworzyć wektor osadzania reprezentujący tekst wejściowy, możesz użyć następującego podpisu:

POST https://api.openai.com/v1/engines/{engine_id}/embeddings

Aby wywołać punkt końcowy osadzania, możesz wybrać typ silnika w zależności od przypadku użycia, korzystając z dokumentacji osadzania. Każdy silnik ma swoje specyficzne wymiary osadzania, przy czym Davinci jest największy, a Ada najmniejszy. Wszystkie silniki osadzające wywodzą się z czterech modeli podstawowych i są klasyfikowane na podstawie przypadków użycia, aby umożliwić wydajne i ekonomiczne użytkowanie

Odpowiedzi (beta)

https://aie24.pl/

Punkt końcowy odpowiadający na pytania GPT-3 jest nadal w fazie beta w chwili pisania tego tekstu pod koniec 2021 r. W przypadku otrzymania pytania punkt końcowy kontroli jakości generuje odpowiedzi na podstawie informacji dostarczonych w zestawie dokumentów lub przykładów szkoleniowych. Na przykład, jeśli chcesz zaimplementować punkt końcowy kontroli jakości w zestawie plików PDF, po prostu prześlij je za pomocą punktu końcowego plików i podaj identyfikator pliku z parametrami żądania. Punkt końcowy odpowiedzi użyje tych plików jako kontekstu do udzielenia odpowiedzi na dowolne zapytanie. Pozwala także sterować kontekstowym tonem i odpowiedziami modelu, dostarczając listę par (pytanie, odpowiedź) w formie przykładów szkoleniowych. Najpierw przeszukuje dostarczone dokumenty lub przykłady w celu znalezienia odpowiedniego kontekstu, a następnie łączy je z odpowiednimi przykładami i pytaniami w celu wygenerowania odpowiedzi. Jego podpis to:

POST https://api.openai.com/v1/answers

Klasyfikacja (beta)

https://aie24.pl/

Punkt końcowy klasyfikacji umożliwia wykorzystanie oznaczonego zestawu przykładów bez dostrajania. Klasyfikuje zapytanie na podstawie podanych przykładów, unikając w ten sposób dostrajania, a co za tym idzie, eliminuje potrzebę dostrajania hiperparametrów. Można go używać do praktycznie każdego zadania klasyfikacji uczenia maszynowego. Ten punkt końcowy zapewnia łatwe w konfiguracji rozwiązanie „autoML”, które można łatwo dostosować do zmieniającego się schematu etykiet. W ramach żądania możesz podać maksymalnie dwieście oznaczonych etykietami przykładów. W zapytaniu można też udostępnić wstępnie przesłany plik. Oprócz zapewnienia ścieżki URI ten punkt końcowy wymaga modelu i zapytania wraz z przykładami. Jego podpis to:

POST https://api.openai.com/v1/classifications

Pliki

https://aie24.pl/

Punkt końcowy plików może być używany w różnych punktach końcowych, takich jak odpowiedzi, klasyfikacja i wyszukiwanie semantyczne. Służy do przesyłania dokumentów lub plików do pamięci OpenAI, która jest dostępna w całym interfejsie API. Tego samego punktu końcowego można używać z różnymi sygnaturami do wykonywania następujących zadań:

Lista plików

Zwraca listę plików należących do organizacji użytkownika lub powiązanych z określonym kontem użytkownika. Jest to wywołanie HTTP GET, które nie wymaga przekazywania żadnych parametrów w żądaniu:

GET https://api.openai.com/v1/files

Prześlij pliki

Przesyła pliki zawierające dokumenty, które mają być używane na różnych punktach końcowych. Przesyła dokumenty do już przydzielonej przestrzeni wewnętrznej przez OpenAI dla organizacji użytkownika. Jest to wywołanie HTTP POST wymagające dodania ścieżki pliku w żądaniu API:

POST https://api.openai.com/v1/files

Pobierz plik

Zwraca informacje o konkretnym pliku podając identyfikator pliku jako parametr żądania:

GET https://api.openai.com/v1/files/{file_id}

Usuń  plik

Usuwa określony plik, podając identyfikator pliku jako parametr żądania:

DELETE https://api.openai.com/v1/files/{file_id}