В основе большинства современных нейросетевых моделей, лежит парадокс. Мы создали системы, способные писать стихи и решать дифференциальные уравнения, но на самом базовом уровне они «читают» текст как статистический шум. Инструментом, который превращает хаос символов в осмысленные данные для трансформеров, является алгоритм Гейджа (Gage algorithm), более известный в индустрии под названием Byte Pair Encoding (BPE).
Изначально алгоритм не имел никакого отношения к искусственному интеллекту. В 1994 году Филипп Гейдж (Philip Gage) описал его в статье: A New Algorithm for Data Compression. Его целью было эффективное сжатие файлов без потерь.
Идея была математически изящной:
В 2016 году Рико Зеннрих адаптировал этот метод для машинного перевода, превратив инструмент архивации в золотой стандарт токенизации для NLP.
Современные реализации алгоритма Гейджа (например, tiktoken у OpenAI) работают следующим образом:
th встречается миллионы раз, оно становится кандидатом на слияние.[t] и [h] модель видит один — [th].[th] может приклеиться [e], образовав [the]. Затем начнут сливаться части слов: ing, pre, tion.Результатом становится компактный словарь из 50 000 — 200 000 субсловных элементов. Это идеальный компромисс: слишком мало токенов (только буквы) — и предложения растягиваются в бесконечные последовательности; слишком много (целые слова) — и словарь раздувается до миллионов, а редкие имена собственные заменяются маркером <unk> (неизвестное).
Несмотря на эффективность, классический алгоритм Гейджа слеп к лингвистике. Он оптимизирует частотность, а не семантику. Для него слово — это просто набор удачных сочетаний пикселей-символов.
Рассмотрим пример со словом перезагрузка.
Стандартный BPE токенизатор разобьет его примерно так: ['пер', 'ез', 'агрузка']. Для модели приставка «пере-» оказывается разорванной между токенами пер и частью ез. Корень «груз» поглощен суффиксами. Когда модель встречает слово «загрузить», она получает токены ['з', 'агруз', 'ить']. С точки зрения математики, эти два слова абсолютно чужеродны друг другу — у них нет ни одного общего вектора, хотя человек мгновенно видит общий корень.
Это порождает критические уязвимости:
disengage (['dis', 'eng', 'age']) и engine (['eng', 'ine']) имеют общую часть, модели нужны тысячи примеров. Она не знает, что eng здесь — случайное совпадение, а не смысловая единица.Осознание этих ограничений привело к ренессансу идей Филиппа Гейджа в контексте современной лингвистики. Исследователи начали модифицировать оригинальный алгоритм, добавляя в него человеческий структурный анализ.
Ярким примером стал подход MorphBPE. Суть модификации предельно проста, но эффективна: перед тем как позволить алгоритму Гейджа склеить две буквы, система проверяет, не проходят ли между ними границы морфемы (корня или суффикса). Если согласно морфологическому словарю (например, SIGMORPHON или UniMorph) между символами стоит граница, это слияние запрещается.
Другой подход, MorphPiece, пошел еще дальше, создав двухуровневую систему: сначала применяются готовые таблицы известных морфем, и только если слово незнакомое, в дело вступает резервный BPE Гейджа.
Понимание алгоритма Гейджа необходимо любому специалисту, работающему с языковыми моделями:
'eng' ничего не говорит о причине ошибки. В морфемном подходе видно, что модель сфокусировалась на отрицательной приставке dis#, что позволяет инженерам точечно исправлять поведение системы.Алгоритм Гейджа прошел путь от простого архиватора до невидимого фундамента генеративного ИИ. Сегодня индустрия находится на пороге отказа от чистой статистики в пользу гибридных подходов. Будущее токенизации лежит в отказе от жестких словарей в сторону динамических систем, которые смогут разбивать слово на значащие части не только исходя из частоты их встречаемости, но и опираясь на контекст конкретного предложения.
Свяжитесь с нашими экспертами для подбора оптимальной конфигурации оборудования и расчета стоимости аренды под ваши задачи ИИ.