Podstawowe pojęcia dotyczące usługi LLMs

Ukończone

Istnieje kilka podstawowych pojęć, które są ważne, aby zrozumieć, aby skutecznie korzystać z llMs, czyli tokenów i monitów.

  • Monit: monit to zdanie tekstowe używane do poinstruowania usługi LLM. W zależności od tego, jak sformułowasz zdanie, uzyskujesz różne wyniki.
  • Token: token może być pojedynczym znakiem, ułamkiem słowa lub całym wyrazem. Pojedynczy token może służyć do reprezentowania typowych słów, podczas gdy wiele tokenów jest potrzebnych do reprezentowania mniej typowych słów.

Polecenia

Wiersz tekstowy to zdanie. LlM rozumie kilka różnych języków. Możesz pisać monity w swoim języku bez konieczności nauki określonego języka do pracy z llm. Zobacz następujące przykłady monitów:

  • Wygeneruj obraz różowej papuczki z pirackim kapeluszem.

  • Utwórz aplikację internetową w języku Python, która obsługuje klientów.

Bardziej szczegółowe informacje o tym, o co prosisz, tym lepszy jest wynik.

Tokeny

Token to podstawowy tekst jednostkowy lub kod, który może zrozumieć i przetworzyć moduł LLM.

Modele języka naturalnego OpenAI nie działają na słowach ani znakach jako jednostkach tekstu, ale na czymś między: tokenami.

Interfejs OpenAI udostępnia przydatną witrynę internetową tokenizatora, która może pomóc zrozumieć, jak tokenizuje twoje żądania. Aby uzyskać więcej informacji, zobacz Tokenizer OpenAI.

Uwaga

Po rozpoczęciu wpisywania w polu monitu tokenizer openAI licznik wydaje się zliczać łączną liczbę tokenów w polu.

Jeśli aktywnie piszesz, aktualizacja licznika może potrwać kilka sekund.

Ile tokenów jest w następujących słowach?

Spróbujmy określić liczbę tokenów dla następujących słów apple, blueberriesi Skarsgård.

Ponieważ słowo apple jest wspólnym słowem, wymaga reprezentowania jednego tokenu. Z drugiej strony słowo blueberries wymaga reprezentowania dwóch tokenów (blue i berries). Chyba że słowo jest wspólne, nazwy właściwe, takie jak Skarsgård wymagają reprezentowania wielu tokenów.

Ta reprezentacja tokenu umożliwia modelom sztucznej inteligencji generowanie wyrazów, których nie można znaleźć w żadnym słowniku bez konieczności generowania tekstu na podstawie liter.

Uwaga

Generowanie tekstu list po literach może łatwo spowodować gibberish.

Jak działa ukończenie?

Modele języka naturalnego generują uzupełnianie po jednym tokenie w sposób niedeterministyczny.

W każdym kroku model emituje listę tokenów i skojarzonych z nimi wag. Następnie interfejs API próbkuje jeden token z listy na podstawie jego wagi. Znacznie ważone tokeny są bardziej prawdopodobne, że zostaną wybrane.

Diagram przedstawiający wiele bloków kwadratowych reprezentujących n liczby tokenów wejściowych ze strzałką obok nich wskazującą jeden blok kwadratowy reprezentujący jeden token wyjściowy.

Interfejs API dodaje wybrany token do monitu i powtarza proces do momentu osiągnięcia maksymalnej długości tokenów ukończenia lub do momentu wygenerowania przez model specjalnego tokenu o nazwie tokenu zatrzymania, co uniemożliwia generowanie nowych tokenów.

Ten niedeterministyczny proces sprawia, że model generuje nowe wyrazy za każdym razem, gdy wysyłamy żądanie ukończenia.

Uwaga

Każdy moduł LLM ma limit liczby tokenów, które może wygenerować. W przypadku uzupełniania ten limit dotyczy całkowitej liczby tokenów w oryginalnym monicie i nowo wygenerowanych, gdy są one dodawane razem. Aby uzyskać więcej informacji na temat limitów tokenów, zobacz Modele usługi Azure OpenAI Service.

Większe limity tokenów umożliwiają dłuższe uzupełnianie i znacznie większe monity.