Что такое токен и как ИИ читает текст
Когда ты пишешь нейросети сообщение, она не видит буквы и слова так, как ты. Текст сначала режется на кусочки-токены — и именно от этого зависит, почему ИИ путается в «клубнике» и считает по символам деньги.
Ты пишешь нейросети «привет», а она в ответ выдаёт связный текст — будто и правда читает. Но вот сюрприз: букв и слов, в твоём понимании, она вообще не видит. Сначала твоё сообщение рубят на странные кусочки, превращают в числа, и только потом начинается вся магия. Давай разберёмся, что это за кусочки и почему из-за них ИИ иногда ведёт себя очень странно.
ИИ не умеет читать буквы
Главная неожиданность: языковая модель вроде ChatGPT не работает с текстом напрямую. Компьютер вообще не понимает, что такое «буква А» или «слово кот». Он умеет только одно — считать числа. Огромные таблицы чисел, миллиарды операций умножения и сложения. Текст для него — это иностранный язык, который сначала нужно перевести в цифры.
Вот тут и появляется токен. Токен — это маленький кусочек текста, на который разрезают твоё сообщение перед тем, как скормить модели. Иногда токен — это целое слово, иногда часть слова, иногда просто пробел или знак препинания. А сам процесс нарезки называется токенизацией.
Представь, что ты собираешь фразу не из букв, а из заранее заготовленных кусочков-магнитиков на холодильнике. У тебя есть магнитик «при», магнитик «вет», магнитик с пробелом и магнитик «!». Ты не пишешь буквами — ты складываешь сообщение из готовых деталек. Примерно так же «читает» и нейросеть.
Как слово превращается в кусочки
Почему бы просто не сделать один токен = одно слово? Потому что слов в мире слишком много, и постоянно появляются новые: имена, сленг, опечатки, названия игр. Если бы у модели был отдельный «магнитик» под каждое возможное слово, словарь стал бы бесконечным. Поэтому придумали хитрость: часто встречающиеся куски делают отдельными токенами, а редкие слова собирают из этих частей.
Смотри, как это примерно выглядит на практике:
- Слово «кот» — короткое и частое, скорее всего станет одним токеном.
- Слово «непредсказуемость» — длинное и редкое, его разрежут на несколько кусков, вроде «не», «предсказ», «уемость».
- Пробел перед словом обычно прилипает к нему: « кот» и «кот» в начале строки — это разные токены.
- Знаки препинания, эмодзи, цифры — тоже отдельные токены.
Каждому такому кусочку заранее присвоен свой номер из словаря модели. Слово превращается в список чисел — например, что-то вроде [7384, 220, 1991]. Вот эти-то числа модель и получает на вход. Ты видишь «Привет, как дела?», а нейросеть видит примерно семь-восемь чисел.
Запомни главное: для ИИ текст — это не буквы и не слова, а последовательность номеров токенов. Всё, что он делает, — угадывает, какой токен логичнее всего поставить следующим.
Почему из-за токенов ИИ глупит
Понимание токенов объясняет несколько забавных багов, на которые натыкаются все. Самый знаменитый — модель долго не могла правильно сосчитать, сколько букв «р» в слове «strawberry» (клубника). Казалось бы, задача для первоклассника! Но проблема в том, что модель не видит отдельные буквы. Слово «strawberry» прилетело ей как пара токенов-кусков, а не как набор букв. Считать буквы внутри кусочка, который ты воспринимаешь целиком, — это как пытаться сосчитать кирпичи в стене, глядя на неё с другого конца города.
Та же история с задачами вроде «переверни слово задом наперёд» или «замени каждую вторую букву». Для тебя это работа с буквами, а для модели — с непрозрачными кусками. Отсюда ошибки там, где человек справился бы не задумываясь.
Ещё токенизация по-разному относится к языкам. Английский текст нарезается экономно — много слов укладывается в один-два токена. А вот русский, китайский или редкие языки часто крошатся на куски помельче, потому что встречались в обучении реже. Поэтому одна и та же по смыслу фраза на русском обычно «весит» больше токенов, чем на английском.
Токены — это ещё и деньги
Слово «токен» ты наверняка встречал, если кто-то подключал ИИ к своему приложению. Дело в том, что компании берут плату не за сообщения и не за символы, а именно за токены — и за те, что ты отправил, и за те, что модель сгенерировала в ответ. Чем длиннее разговор, тем больше токенов улетает, тем дороже выходит запрос.
У моделей есть и предел — так называемое контекстное окно: максимальное число токенов, которое они могут держать в «голове» за один раз. Это как объём оперативной памяти для разговора. Если беседа становится слишком длинной, самое старое начинает «выпадать» из окна, и модель буквально забывает, о чём вы говорили в начале. Не потому что ленится — просто туда уже не помещается.
Грубый ориентир, который полезно держать в голове: в среднем один токен — это примерно 4 символа английского текста, или около трёх четвертей слова. Для русского токенов уходит заметно больше. Так что когда видишь «лимит 100 000 токенов», прикинь: это десятки тысяч слов, но всё же не бесконечность.
Что в итоге
Токен — это атом, из которого ИИ собирает свою картину текста. Не буква, не обязательно слово, а удобный кусочек, которому присвоен номер. Твоё сообщение режут на такие кусочки, переводят в числа, и дальше модель просто очень умно угадывает следующий номер — снова и снова, пока не сложится ответ.
Зная это, ты перестанешь удивляться странностям: почему ИИ путается в буквах, почему русский «дороже» английского и почему длинные диалоги забываются. За всей магией стоит простая идея — сначала нарежь, потом посчитай. Теперь, набирая очередной запрос, ты будешь видеть не только слова, но и то, как они вот-вот рассыплются на токены.