Почему токенайзер реж ет сло ва не там, где нужно

Заголовок этой статьи, частично, наглядная демонстрация того, как его видит языковая модель. Куски слов, нарезанные по логике, которая к русскому языку не имеет вообще никакого отношения.
И из этой нарезки растет длинный список вещей, которые иногда списывают на «глупую нейронку» (особенно если речь идет о небольших локальных моделях): модель не может посчитать буквы в слове, путается в арифметике, коверкает редкие фамилии, а русский текст обходится вдвое дороже английского при том же смысле.
А еще оттуда же растут вещи, которые с токенами вообще вроде бы не связаны. Например: почему «давай рассуждать по шагам» реально работает, и почему лишний пробел в конце промпта портит ответ.
Виноват во всем этом компонент стека, который первым в пайплайне, никогда не обучается вместе с моделью и которому обычно посвящают полтора абзаца в начале туториала. Что ж, давайте по порядку.



















