Спросите у модели, сколько «r» в слове «strawberry» - и она вполне может ошибиться. Думаю видели такой прикол)
Звучит абсурдно: пишет код и эссе, но спотыкается о детский вопрос. Разберём почему - это вскрывает саму механику.
Главное: модель не видит букв. Вообще.
Прежде чем попасть в модель, текст режется на токены - куски слов. «strawberry» может стать тремя кусками вроде
str + aw + berry. И каждый кусок сразу превращается в число (тот самый путь к вектору из будущей темы про эмбеддинги).Вот в чём суть: токен для модели неделим. Она видит один блок
berry, а не б-е-р-р-и внутри него. Просить посчитать буквы - это как просить сосчитать кирпичи в стене по её уменьшенной фотографии. Стену видно, кирпичи - нет.Почему так, а не по буквам:
Нууу, по буквам последовательности стали бы в 4-5 раз длиннее - дороже и медленнее 🟢 токены - компромисс: частые куски слов идут одним блоком, редкие дробятся мельче.
Отсюда и другие «глупости»
Путается в рифмах, с трудом разворачивает слово задом наперёд, спотыкается на посимвольной математике. Не потому что тупая - просто буквы ниже её разрешения.
Как обойти, когда реально нужно:
🟢 попросите произнести по буквам: s-t-r-a-w-b-e-r-r-y. Теперь каждая буква - отдельный токен, и посчитать легко
🟢 или пусть посчитает кодом - там символы настоящие
🟢 «думающие» модели часто делают это сами: раскладывают слово по буквам в рассуждении, а потом считают
Вывод простой: модель работает не с буквами, а с кусками-числами. Знаете это - и «странные» ошибки перестают быть странными.
P.S Урок записан, сегодня монтировать буду)
#как_это_работает