Добавить в корзинуПозвонить
Найти в Дзене
Iwanych

Почему ИИ не может сосчитать пальцы — и при чём здесь токены?

Замечал, что нейросети запросто решают сложнейшие задачи и теряются в элементарных? Они легко рассуждают о квантовой механике, но иногда не могут сосчитать буквы в слове «палец»? Нейросеть не видит отдельные буквы или слова. Она использует токены. Токены — это разные по размеру куски текста. В один токен может входить целое слово, может — часть слова, а иногда — вообще одна буква. Например и в слове "её" и в слове "информация" некоторые сервисы насчитавают всего по 2 токена, хотя второе слово в 5 раз длинней. Принцип здесь такой: чем чаще сочетание букв втречается в интернете, тем больше вероятность, что оно станет токеном. В общем, если сочетания знаков часто используется в интернете, для нейросети оно будет одним токеном, даже если состоит из многих букв. Редко используется — система даже 2-3 буквы разобьёт на несколько токенов. Буквы — слишком мелкие единицы текста. Учиться на них дорого и сложно для нейросети. Представь, что модель должна самостоятельно выучить, что к + о + т —
Оглавление

Замечал, что нейросети запросто решают сложнейшие задачи и теряются в элементарных? Они легко рассуждают о квантовой механике, но иногда не могут сосчитать буквы в слове «палец»?

"Клод" тоже запутался в пальцах)
"Клод" тоже запутался в пальцах)

Искусственный интеллект не умеет читать текст в нашем смысле

Нейросеть не видит отдельные буквы или слова. Она использует токены.

Токены — это разные по размеру куски текста. В один токен может входить целое слово, может — часть слова, а иногда — вообще одна буква. Например и в слове "её" и в слове "информация" некоторые сервисы насчитавают всего по 2 токена, хотя второе слово в 5 раз длинней.

Принцип здесь такой: чем чаще сочетание букв втречается в интернете, тем больше вероятность, что оно станет токеном.

В общем, если сочетания знаков часто используется в интернете, для нейросети оно будет одним токеном, даже если состоит из многих букв. Редко используется — система даже 2-3 буквы разобьёт на несколько токенов.

Почему именно токены, а не буквы?

Буквы — слишком мелкие единицы текста. Учиться на них дорого и сложно для нейросети.

Представь, что модель должна самостоятельно выучить, что к + о + т — это одна сущность со смыслом. Потом что к + о + т + ы — это уже другая форма той же сущности. А к + о + т + ё + н + о + к — связанное, но другое слово.

Всё это модель вынуждена открывать заново из миллиардов примеров, тратя на это ресурсы, которые могли бы уйти на изучение чего-то более полезного.

-2

Токены позволяют модели сразу работать с осмысленными кусками, а не собирать смысл по одной букве.

Почему не слова?

А если анализировать слова, придётся перебирать миллиарды комбинаций. В языках 20-40 букв, а слов — сотни тысяч. Плюс есть ещё опечатки, какие-то уникальные имена, термины, жаргон... Всё это тоже усложняет процесс и по дороге ведёт к риску утраты смысла.

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

В "здравствуйте" всего 2 токена, а в меньшем слове "пылесос" целых 4.
В "здравствуйте" всего 2 токена, а в меньшем слове "пылесос" целых 4.

Почему ИИ путается, когда считает буквы внутри слов

Тут дело вот в чём: когда модель обрабатывает слово, она видит его одним целым или сочетанием пары-тройки токенов. Внутрь не проникает, поэтому и путается.

Первые модели постоянно ошибались в подобных задачах. Сейчас они лучше справляются — разработчики обнаружили этот баг и стали натаскивать нейросети в том числе и на подсчёт букв в словах.

Ещё заметил, что раньше машина странно видела годы. «2024» она воспринимала, как один токен, а «2023» — как два. Сейчас используется другой алгоритм: год делится на пару неравных отрезков. Видимо, потому, что сочетание 202 встречается часто.

-4

Почему русский дороже английского?

На латинице 1 токен «весит» примерно 4 буквы, а на кириллице — только 2–3. Соответственно, на русский текст с тем же числом символов уйдёт токенов в полтора раза больше.

Почему это важно? Потому что лимиты и оплата за работу с ИИ считаются именно по количеству использованных токенов.

Подведём итог

ИИ оперирует токенами — это разные по длине фрагменты текста, которые часто встречаются в сети. Можно сказать, что изначально нейронка плохо распознавала отдельные символы, поэтому и путалась в простых задачах, вроде подсчёта букв.

Разработчики пытаются устратить эту особенность, но всё равно машина иногда виснет.

Есть ещё один любопытный баг — галлюцинации, но об этом поговорим в другой раз.