Самый частый вопрос к тезису о том, что языковые модели не думают - чисто практический.
В предыдущей публикации я выдвинул тезис, который многих заставил почувствовать себя неуютно: большие языковые модели не мыслят. Они не рассуждают так, как это делает человек. Они лишь предсказывают следующий токен.
Самым частым возражением было не философское, а практическое:
«Если это правда, то как ИИ удается заниматься арифметикой?»
Сложение, вычитание, умножение - эти процессы кажутся точными, механическими и основанными на строгих правилах. Они выглядят полной противоположностью «размытому» предсказанию языка. Поэтому естественно предположить, что где-то внутри модели спрятан калькулятор или нечто очень на него похожее.
Но его там нет. Однако происходит кое-что весьма любопытное.
Вы видите числа. Модель - нет.
Она видит текстовые паттерны: символы и токены, которые встречала миллионы раз в обучающих данных - в счетах-фактурах, таблицах, блогах, экзаменационных вопросах, комментариях к коду и научных работах.
С точки зрения модели, строка «36 + 59 = 95» принципиально не отличается от любого другого часто встречающегося текстового шаблона, где одна последовательность закономерно следует за другой.
Это не означает, что модель просто зазубривает ответы. Если бы это было так, она бы постоянно ошибалась на новых примерах. Вместо этого она вырабатывает внутренние «кратчайшие пути», которые обычно приводят к правильному продолжению.
Со временем эти «пути» начинают имитировать процесс арифметических вычислений.
Одно из важнейших открытий недавних исследований в области интерпретируемости нейросетей: модель не решает задачу сложения каким-то одним чистым способом. Она разбивает проблему на части, хотя никто ее об этом не просил.
Один внутренний сигнал фокусируется на примерном масштабе: «результат должен быть где-то в районе 90». Другой концентрируется на последней цифре: «шесть плюс девять обычно заканчивается на пять». Затем эти сигналы объединяются, сужая круг возможных вариантов до тех пор, пока «95» не станет наиболее вероятным следующим токеном.
Когда исследователи заглянули внутрь работающей модели в момент сложения чисел, они обнаружили, что такое разделение задач происходит постоянно. Единого «модуля сложения» не существует. Вместо этого работают перекрывающие друг друга механизмы, каждый из которых выполняет свою крошечную, узкую задачу.
Какие-то части системы работают как грубые оценщики. Другие - как точные обработчики последней цифры. И да, некоторые части ведут себя как заученная таблица сложения однозначных чисел.
Как сказано в исследовательском отчете:
Эта фраза важна, потому что она приземляет дискуссию. Здесь нет никакой мистики. Люди тоже заучивают части арифметики наизусть. Разница в том, что у людей также есть универсальный алгоритм, который они могут надежно применить к числу любой длины.
У моделей его нет.
Это объясняет поведение, которое видели многие.
Попросите LLM сложить двухзначные или трехзначные числа - результат будет впечатляющим. Но стоит перейти к длинным числам, странному форматированию или нестандартным случаям, как она начинает допускать ошибки, которые не сделал бы даже школьник.
Это именно то, чего стоит ожидать от системы, построенной на эвристиках, а не на правилах.
Еще одна деталь, удивившая многих, включая меня: собственные объяснения модели о том, как она решила задачу, часто оказываются ложными.
Если спросить модель, как она получила ответ, она с готовностью опишет процесс «переноса разряда», точь-в-точь как человек. Но когда исследователи проследили за реальными внутренними вычислениями, выяснилось, что это объяснение не соответствует действительности.
В исследовании об этом говорится прямо:
Это касается не только арифметики. Это относится и к рассуждениям, планированию и объяснениям в целом. Модель мастерски создает тексты, которые звучат как логическое обоснование, потому что она видела тысячи подобных обоснований в обучающих данных. Но это не значит, что данное обоснование отражает то, что на самом деле произошло внутри системы.
Об этом важно помнить, если вы используете LLM в реальных рабочих процессах. Связное объяснение не является доказательством корректного хода мыслей.
Числа встречаются в текстах повсюду: в ценниках, хронологиях, спортивной статистике, научных ссылках, версиях ПО, финансовых отчетах, датах и измерениях.
Если вы хотите успешно предсказывать следующее слово в таких контекстах, вам необходимо уметь обрабатывать числовые паттерны. Сложение для модели - не цель, а инструмент.
Те же внутренние механизмы, что помогают модели ответить «36 + 59», активируются, когда она предсказывает год в цитате или итоги в таблице. С точки зрения модели, все это одна и та же задача: какое число обычно идет следующим?
Вот почему способность к арифметике спонтанно возникает из предсказания следующего токена без всякого явного программирования. Не потому, что модель понимает математику, а потому, что математикоподобная структура полезна для предсказания текста.
Понимание того, как на самом деле работают языковые модели, помогает использовать их эффективнее - там, где они сильны, и с осторожностью там, где могут ошибиться.
Делегируйте часть рутинных задач вместе с BotHub!
Для доступа к сервису не требуется VPN, и можно использовать российскую карту.
LLM не думают. Данное исследование не опровергает этот факт, а подкрепляет его.
Оно показывает, что предсказание следующего токена, если его масштабировать на огромных массивах данных, выстраивает внутренние механизмы, способные имитировать рассуждения в узких областях. Арифметика - одна из таких областей.
Это впечатляет. Но это не то же самое, что понимание.
Как человек, который провел два десятилетия, создавая программные системы, я считаю это различие критически важным. Если вы верите, что модель рассуждает как человек, вы доверитесь ей там, где не следует. Если же вы верите, что это «просто автозамена», вы недооцените возможности этих систем.
LLM - это машины паттернов, которые в огромном масштабе обучаются использовать внутренние «кратчайшие пути». Некоторые из них выглядят как математика. Другие - как логика. Третьи - как планирование.
Но ни один из них не требует мышления.
И это, на мой взгляд, самый честный способ понять, почему ИИ может складывать числа, даже не зная, что такое число.
Источник


