Словарь ИИ
Что такое 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 простыми словами?
Почему русский текст занимает больше токенов, чем английский?
Источники
Где это применяют в компании
Не уверены, нужно ли это вашей компании?
Карта ИИ-решений