ММООЗЗГГ.ru

Словарь ИИ

Что такое BPE

Коротко

BPE (byte pair encoding, кодирование пар байтов) это алгоритм токенизации, который строит словарь модели, раз за разом склеивая наиболее частые пары символов в новые единицы.

Языковые модели · byte pair encoding

Михаил МозгПроверено: 1 минута чтения

Ребенку

Представь, что ты часто пишешь слово «мама» и устал выводить каждую букву. Ты придумываешь значок сразу для «ма». Потом замечаешь, что «мама» встречается постоянно, и придумываешь значок для всего слова. Так, шаг за шагом, у тебя появляется набор значков для частых кусочков. Нейросеть составляет свой набор так же.

Простыми словами

Нейросеть читает текст кусочками, токенами, и кто-то должен решить, какими будут эти кусочки. Этот алгоритм решает так: берет огромный массив текстов, сначала делит все на отдельные буквы, потом находит пару, которая встречается чаще всего, например «с» и «т», и объявляет ее новым кусочком. Затем ищет следующую частую пару, и так тысячи раз. В итоге частые слова становятся одним токеном, а редкие собираются из нескольких частей, поэтому модель может прочитать любое слово, даже незнакомое.

Для бизнеса

Токенизатор незаметен, но влияет на деньги. Модели берут оплату и ограничивают объем запроса в токенах, а сколько токенов займет ваш текст, зависит от словаря, который построил этот алгоритм. Если в обучающих текстах было мало русского, русские слова режутся на мелкие части, и тот же документ обходится дороже, а в окно помещается меньше. Поэтому при выборе модели полезно прогнать через ее токенизатор типичные документы компании и сравнить число токенов. Это важно и при расчете стоимости своего сервера: скорость генерации измеряют в токенах в секунду, а не в словах.

Для специалиста

Byte Pair Encoding (BPE) изначально алгоритм сжатия данных; в нейронный машинный перевод его перенесли Sennrich и соавторы (ACL, 2016), чтобы кодировать редкие и неизвестные слова последовательностями подслов. Обучение: начиная с символов, алгоритм многократно находит наиболее частую пару соседних единиц в корпусе и добавляет ее слияние (merge) в словарь, пока не достигнет заданного размера; при токенизации слияния применяют в выученном порядке. В GPT-2 (Radford и соавторы, 2019) BPE работает на уровне байтов: базовый словарь из 256 значений покрывает любой текст в UTF-8 без неизвестных токенов, а итоговый словарь составил 50 257 единиц. Библиотека tiktoken реализует такой токенизатор; по ее описанию, кодирование обратимо и без потерь, а в среднем один токен соответствует примерно 4 байтам. Альтернативы: WordPiece и униграммная языковая модель в SentencePiece.

Пример

Команда сравнила, сколько токенов занимает один и тот же договор у двух моделей. У модели, чей словарь обучали на большем объеме русских текстов, токенов вышло заметно меньше, и обработка всего архива обошлась дешевле.

Связанные термины

Вопросы и ответы

Как работает BPE простыми словами?

Алгоритм начинает с отдельных букв и раз за разом склеивает пару, которая чаще всего встречается рядом. Каждая склейка становится новым кусочком словаря. Когда словарь достигает нужного размера, процесс останавливают.

Почему русский текст занимает больше токенов, чем английский?

Словарь строят по обучающим текстам, где английского обычно больше. Частые английские слова получают собственные токены, а русские чаще режутся на несколько кусочков. Точное соотношение зависит от модели.

Источники

Где это применяют в компании

Не уверены, нужно ли это вашей компании?

Карта ИИ-решений
Написать в Telegram