Habr AI→ оригинал

Почему GPT ошибается при подсчёте букв: секрет токенизации

LLM обрабатывают текст как последовательность числовых токенов, а не как отдельные буквы. Это объясняет странный парадокс: GPT может легко запутаться при просто

Почему GPT ошибается при подсчёте букв: секрет токенизации
Источник: Habr AI. Коллаж: Hamidun News.
◐ Слушать статью

Когда вы пишете промпт в ChatGPT, вы видите обычный текст из букв. Но модель видит совсем другое — последовательность чисел, называемых токенами. Это расхождение создаёт странные эффекты: GPT может не понять, сколько букв в слове strawberry, или запутаться при простом подсчёте.

Как LLM видят текст Для нейросетей текст — не набор букв, а последовательность числовых кодов.

Каждому токену соответствует число, и модель работает только с числами, никогда не видя саму букву. Это как если бы вы читали книгу через систему, которая сначала переводит слова в коды, вы их обрабатываете, а потом коды переводят обратно в текст. Одно частое слово может быть одним токеном, редкое слово разбивается на несколько кусков. Например, «hello» кодируется одним числом, а «strawberry» может быть тремя или четырьмя числами. В русском языке ситуация ещё сложнее — из-за богатой морфологии слова разбиваются менее эффективно.

Почему это создаёт проблемы

Расхождение между тем, как люди видят текст, и тем, как его видит модель, приводит к целому ряду неприятностей: Ошибки в подсчётах: GPT не может просто посчитать буквы, потому что работает с числами, а не символами Нечитаемость редких слов: редкие буквосочетания разбиваются на несколько токенов, модель видит их как отдельные куски Языковая асимметрия: английский разбивается на токены эффективнее, чем русский, китайский или арабский Расход контекста: если слово разбилось на 3 токена вместо 1, ваш промпт занимает больше места в окне контекста * Непредсказуемое поведение: модель может вести себя странно с числами, кодами и редкими именами, потому что они разбиты на кусочки ## Алгоритм за кулисами За токенизацией стоит алгоритм Byte Pair Encoding (BPE). Вот как он работает: сначала текст разбивается на каждый символ как отдельный токен. Затем алгоритм смотрит, какие пары символов встречаются чаще всего, и объединяет их в новый токен.

После этого ищет частые пары получившихся токенов — и опять объединяет. Это повторяется тысячи раз. В результате в словаре GPT оказывается около 50 тысяч токенов.

Частые слова и части слов — это отдельные токены, редкие буквосочетания остаются раздробленными. Это не идеально, но эффективнее, чем кодировать каждую букву отдельно.

Что это значит Понимание токенизации меняет подход к работе с LLM.

Если знать, что модель будет запутана в подсчётах букв, можно попросить её работать иначе — например, сначала распечатать буквы отдельно, потом их считать. Это не панацея, но помогает писать более надёжные промпты. Знание о токенизации полезно при оптимизации длинных промптов — вы можете предсказать, где модель «потратит» токены впусту. Это важно для любого, кто работает с LLM на глубоком уровне, от промпт-инженеров до разработчиков приложений на базе нейросетей.

ЖХ
Hamidun News
AI‑новости без шума. Ежедневный редакторский отбор из 400+ источников. Продукт Жемала Хамидуна, Head of AI в Alpina Digital.
Что вы думаете?
Загружаем комментарии…