Общие сведения о маркерах
Маркеры — это слова, наборы символов или сочетания слов и препинания, которые используются крупными языковыми моделями (LLM) для разложения текста в. Токенизация — это первый шаг обучения. LLM анализирует семантические связи между токенами, например, как часто они используются вместе или используются ли они в аналогичных контекстах. После обучения LLM использует эти шаблоны и связи для создания последовательности выходных маркеров на основе входной последовательности.
Преобразование текста в маркеры
Набор уникальных маркеров, обученных LLM, называется его словарем.
Например, рассмотрим следующее предложение:
Я слышал, как собака лаяла громко на кота
Этот текст можно токенизировать следующим образом:
- I
- слышать
- a
- dog
- кора
- громко
- at
- a
- cat
Имея достаточно большой набор обучающего текста, токенизация может скомпилировать словарь многих тысяч токенов.
Распространенные методы маркеризации
Конкретный метод токенизации зависит от LLM. К общим методам маркеризации относятся:
- Токенизация Word (текст разбивается на отдельные слова на основе разделителя)
- Маркеризация символов (текст разделен на отдельные символы)
- Токенизация подслугов (текст разделен на частичные слова или наборы символов)
Например, модели GPT, разработанные OpenAI, используют тип подсловной токенизации, которая называется кодировкой байтов-пар (BPE). OpenAI предоставляет инструмент для визуализации маркеризации текста.
Существуют преимущества и недостатки каждого метода маркеризации:
Размер токена | Плюсы | Минусы |
---|---|---|
Меньшие маркеры (символ или подсловная маркеризация) | — позволяет модели обрабатывать более широкий диапазон входных данных, таких как неизвестные слова, опечатки или сложный синтаксис. — Может позволить уменьшить размер словаря, требуя меньшего количества ресурсов памяти. |
— заданный текст разбивается на дополнительные маркеры, требуя дополнительных вычислительных ресурсов во время обработки — С учетом фиксированного ограничения маркера максимальный размер входных и выходных данных модели меньше |
Большие маркеры (маркеризация слов) | — Заданный текст разбивается на меньше маркеров, требуя меньше вычислительных ресурсов во время обработки. — Учитывая тот же предел маркера, максимальный размер входных и выходных данных модели больше. |
- Может привести к увеличению размера словаря, требующему больше ресурсов памяти. — Может ограничить возможности моделей обрабатывать неизвестные слова, опечатки или сложный синтаксис. |
Использование маркеров LLM
После завершения маркеризации LLM он назначает идентификатор каждому уникальному маркеру.
Рассмотрим наш пример предложения:
Я слышал, как собака лаяла громко на кота
После того как модель использует метод маркеризации слов, он может назначить идентификаторы маркеров следующим образом:
- I (1)
- слышал (2)
- a (3)
- собака (4)
- кора (5)
- громко (6)
- at (7)
- a (маркер "a" уже назначается идентификатором 3)
- cat (8)
Назначая идентификаторы, текст можно представить в виде последовательности идентификаторов маркеров. Пример предложения будет представлен как [1, 2, 3, 4, 5, 6, 7, 3, 8]. Предложение "Я слышал кошка" будет представлено как [1, 2, 3, 8].
По мере продолжения обучения модель добавляет новые маркеры в обучающий текст в свой словарь и назначает его идентификатор. Например:
- мюау (9)
- run (10)
Семантические связи между маркерами можно анализировать с помощью этих последовательностей идентификаторов маркера. Многозначные числовые векторы, известные как внедрения, используются для представления этих связей. Внедрение назначается каждому маркеру в зависимости от того, насколько часто оно используется вместе с другими маркерами или в аналогичных контекстах.
После обучения модель может вычислить внедрение текста, содержащего несколько маркеров. Модель маркеризирует текст, а затем вычисляет общее значение внедрения на основе обученных внедрения отдельных маркеров. Этот метод можно использовать для поиска семантического документа или добавления векторных хранилищ в ИИ.
Во время создания выходных данных модель прогнозирует векторное значение для следующего маркера в последовательности. Затем модель выбирает следующий маркер из словаря на основе этого векторного значения. На практике модель вычисляет несколько векторов с помощью различных элементов внедрения предыдущих маркеров. Затем модель вычисляет все потенциальные маркеры из этих векторов и выбирает наиболее вероятный, чтобы продолжить последовательность.
Создание выходных данных — это итеративная операция. Модель добавляет прогнозируемый маркер к последовательности до сих пор и использует его в качестве входных данных для следующей итерации, создавая окончательный результат один маркер за раз.
Ограничения маркеров
LlMs имеют ограничения относительно максимального количества маркеров, которые можно использовать в качестве входных или создаваемых в качестве выходных данных. Это ограничение часто приводит к тому, что входные и выходные маркеры объединяются в максимальное окно контекста.
Например, GPT-4 поддерживает до 8 192 маркеров контекста. Объединенный размер входных и выходных маркеров не может превышать 8192.
Вместе, ограничение маркера модели и метод маркеризации определяют максимальную длину текста, который может быть предоставлен в качестве входных или создаваемых в качестве выходных данных.
Например, рассмотрим модель с максимальным окном контекста 100 маркеров. Модель обрабатывает наши примеры предложений в виде входного текста:
Я слышал, как собака лаяла громко на кота
С помощью метода маркеризации на основе слов входные данные — девять маркеров. Это оставляет 91 маркеров слова доступными для выходных данных.
С помощью метода маркеризации на основе символов входные данные — 34 токена (включая пробелы). Это оставляет только 66 маркеров символов доступными для выходных данных.
Ограничение цен и ставок на основе токенов
Службы создания ИИ часто используют цены на основе токенов. Стоимость каждого запроса зависит от количества входных и выходных маркеров. Цены могут отличаться между входным и выходным данными. Например, см . цены на Службу OpenAI в Azure.
Службы создания ИИ также могут быть ограничены в отношении максимального количества маркеров в минуту (TPM). Эти ограничения скорости могут отличаться в зависимости от региона обслуживания и LLM. Дополнительные сведения о конкретных регионах см. в разделе "Квоты и ограничения службы Azure OpenAI".