Многие проблемы языковых моделей на самом деле восходят к токенизацииТокенизация – это "распиливание" текста на токены, которое необходимо, чтобы модель нормально ела и обрабатывала письменную речь. Обратите внимание, что токен != слово и токен != слог.
Токен – это вообще нечто нечеткое. Например:
➡️Пробел тоже может быть токеном, и из-за этого модель может по-разному воспринимать предложение с символом пробела и без символа пробела на конце
(обсуждение на Reddit). ➡️Токенайзеры восприимчивы к регистру. "Hello” и “HELLO" могут быть токенизированы по-разному. В этом, кстати, кроется причина того, что многие модели проваливают тест
Capital letter, где вопросы задаются зАбоРЧИком.
➡️Некоторые языки лучше поддаются токенизации, некоторые хуже. Из-за этого перформанс моделей на "неэффективно токенизируемых" языках гораздо ниже, а цена и время инференса иногда вдвое больше (вот
исследование Оксфорда на эту тему).
➡️Из-за токенов у моделек проблемы с математикой (картинка наверху): токенайзер может токенизировать 380 как "380", а 381 как "38" и "1", то есть модель на самом деле просто не понимает, что представляет из себя число. Например, GPT-4
считает, что 7735 больше чем 7926.
➡️Токены – это также причина того, что модели фейлятся на задачах с
анограммами или не могут
просто-напросто перевернуть слово. Так что вероятно, если мы найдем способ скармливать моделям текст другим способом –
это будет прорыв. Про одно из исследований на эту тему мы расскажем уже сегодня
🚀