Надеемся, наш рассказ о контекстуализации значений слов и предсказании следующего слова приоткрыл завесу над работой механизма внимания в LLM и прояснил, как они используют информацию из предшествующего контекста для улучшения предсказаний. Однако остается вопрос: что наделяет их способностью вести осмысленный диалог, порой поразительно похожий на разговор между людьми, демонстрировать человеческий уровень выполнения задач, которым их специально не обучали, и становиться все более искусными в таких сложных областях, как решение математических задач и логические рассуждения? Хотя точного ответа не знает никто, полезно рассмотреть следующую идею: чтобы научиться (через исправление ошибок) превосходно предсказывать следующее слово на огромном корпусе текстов, модель вынуждена освоить невероятно широкий спектр задач. Эта простая идея стала ключевым ориентиром для Ильи Суцкевера, которого по праву считают визионером ИИ, стоящим за появлением ChatGPT.
Суцкевер выдвинул гипотезу: если просто обучить модель хорошо предсказывать следующее слово, она неизбежно обретет тот тип универсального интеллекта, который мы приписываем выдающимся мыслителям. Он был убежден, что обучение через исправление ошибок само найдет решение. И действительно, при наличии достаточного объема обучающих данных и достаточно большой нейронной сети эта стратегия в целом оправдала себя.
Научившись качественно предсказывать следующее слово, языковые модели обретают способность опираться на знания о мире и конкретную контекстную информацию для формирования обоснованных выводов. Эти выводы выражаются словами, но несут в себе релевантную фактическую информацию. Рассмотрим пример:
Джону 17 лет, а Биллу 23. Тот, кто по закону пока не может покупать алкоголь, – это _____.
Чтобы дать правильный ответ, нужно знать минимальный возраст для покупки алкоголя и помнить, какое число относится к возрасту Джона, а какое – к возрасту Билла. Раньше считалось, что для отслеживания таких связей требуется специальный механизм и нейронные сети никогда не смогут этому научиться. LLM во многом справились с этой задачей, хотя при слишком большом количестве элементов для запоминания они могут (как и люди!) их путать.
Как же LLM отслеживает соответствие между именами и возрастом, а затем правильно отвечает на вопрос? Полной ясности нет, но исследователи ИИ изучили детали процесса в схожих ситуациях и пришли к выводу, что механизм выглядит примерно так. При обработке фразы «Джону 17» модель помещает паттерн, соответствующий имени Джон, в вектор значения, связанный с числом 17, а паттерн, представляющий само число (возраст человека), – в соответствующий ключ. Этот процесс называют связыванием, поскольку он объединяет атрибуты одного объекта. Такая операция может играть ключевую роль в успехе языковых моделей. Когнитивисты и исследователи из Anthropic – компании, создавшей чат-бота Claude, – полагают, что способность выполнять операции связывания и затем использовать их результаты для извлечения отдаленной информации критически важна для работы больших языковых моделей.
В нашем примере процесс связывания повторяется при чтении «Биллу 23»: паттерн для Билл становится значением, связанным с ключом-паттерном числа 23. Когда модель обрабатывает фразу «Тот, кто слишком молод, чтобы покупать алкоголь, это», она может выдать правильный ответ, сформировав запрос на поиск человека младше 21 года. Этот запрос совпадает с ключом для 17, и в результате возвращается значение Джон.
Если задуматься, становится очевидно, что каждый из описанных шагов в процессе вывода имени Джон, вероятно, опирается на механизм внимания на основе запросов. Например, запрос от 17 для поиска соответствующего имени был бы одним из этапов копирования паттерна Джон в вектор значения, связанный с возрастом 17. Поистине удивительно, что все эти операции внимания, включая возникновение связывания, и все паттерны, которые они переносят из одного места в другое, формируются исключительно через настройку весов связей для минимизации ошибок предсказания следующего слова.