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