
Языковые модели генерируют текст, следуя скрытым грамматическим правилам, или грамматика — просто побочный эффект предсказания следующего слова?
Этот вопрос увлёк меня почти на два года исследований.
| Если вам интересна тема AI‑агентов и внедрения нейросетей, заглядывайте в мой Telegram‑канал ДругОпенсурса. Там я публикую свежие новости и разборы инструментов в числе первых. |
Любой опытный AI-разработчик объяснит, как работают большие языковые модели. Они упомянут эмбеддинги, механизмы внимания, слои transformer-ов, предсказание следующего слова. Мы хорошо понимаем, как эти системы обрабатывают информацию. Но гораздо меньше понятно, как они решают, что сказать дальше. Почему модель выбирает одно продолжение из тысяч других правдоподобных вариантов? Каждое решение одинаково неопределённо, или есть скрытые правила, управляющие генерацией?
Мой поиск ответов начался с сравнения грамматических паттернов в тексте, сгенерированном ИИ, с паттернами в тексте, написанном человеком. Эти ранние эксперименты я описал в предыдущей статье — Mapping the Inner Language of LLMs into Finite States. Однако по мере развития проекта я понял, что задаю неправильный вопрос.
Правильный вопрос — «Не имитируют ли языковые модели человеческую грамматику?». Вопрос в том, какую грамматическую систему языковые модели вырабатывают для себя. Это осознание изменило направление моего исследования. Вместо сравнения ИИ с человеческим языком я начал изучать скрытую структуру, которая управляет генерацией текста. В течение следующих месяцев я спроектировал серию экспериментов для изучения этой скрытой структуры с разных сторон. Некоторые эксперименты исследовали грамматические пути, которые возникают при генерации текста. Другие изучали, какая информация закодирована внутри скрытых слоёв GPT-2 в процессе написания.
Результатом стало более пятидесяти страниц исследования в двух отчётах — их можно прочитать здесь и здесь. Эта статья — первая в серии, где я расскажу о ключевых находках из этой работы, что я обнаружил и почему это меняет наше представление о языковых моделях.
Вот три открытия, которые удивили меня больше всего.
Открытие 1: Генерация текста ИИ гораздо более структурирована, чем кажется
Языковые модели часто описывают как вероятностные системы, которые просто предсказывают следующее наиболее вероятное слово. Но это далеко не все. Я обнаружил, что большая часть поведения модели следует удивительно стабильному набору грамматических путей. Одни и те же грамматические паттерны появлялись снова и снова, а определённые части процесса генерации разветвлялись на несколько возможностей.
Лучший способ объяснить это — пример навигации по городу. В городе тысячи улиц, но основной трафик естественным образом идёт через относительно небольшую сеть главных дорог. Языковые модели ведут себя похожим образом. Хотя теоретически существует много грамматических возможностей, модель большую часть времени движется через стабильное ядро высокопредсказуемых путей.
Больше всего меня удивило то, насколько последовательной оставалась эта грамматическая структура при разных настройках temperature. Хотя конкретные слова менялись, базовая грамматическая организация оставалась удивительно стабильной. Эта последовательность говорит о том, что грамматические пути — не совпадение. Они, похоже, фундаментальная часть того, как модели генерируют язык.
Открытие 2: языковые модели строят внутренние карты направления предложения
Каждое слово, сгенерированное языковой моделью, проходит через несколько слоёв обработки, прежде чем делается финальное предсказание. Я хотел понять, что происходит внутри этих слоёв, когда модель готовит следующий ответ. Для исследования я обучил простые классификаторы предсказывать грамматическую роль следующего слова, используя информацию, извлечённую из каждого слоя GPT-2. Моё предположение — сильнейший сигнал появится в финальном слое сети, прямо перед выбором следующего слова. Но к удивлению, он появился гораздо раньше в середине сети.
Это говорит о том, что языковые модели делают больше, чем просто выбирают следующее слово шаг за шагом. Решая точную формулировку, они, похоже, строят мысленную карту того, куда предложение, вероятно, движется. Они создают план направления предложения и затем выбирают слова, которые следуют этому плану.
Легко предположить, что больший контекст просто делает модель более уверенной. Но я наблюдал другое. Вместо этого дополнительный контекст менял пути, которые модель считала возможными. Узнавая больше о разговоре или документе, модель перестраивала грамматические направления, которые была готова исследовать. Это в итоге влияло на слова, которые выбирала модель. Контекст не просто сужает список кандидатов-слов — он перестраивает понимание модели о том, куда предложение может пойти дальше.
Открытие 3: неопределённость появляется гораздо позже, чем я ожидал
Представьте, что вы едете через город. Большая часть пути идёт по знакомым дорогам. Но иногда вы приезжаете на перекрёсток с несколькими возможными маршрутами. Каждый может привести к цели, но некоторые лучше подходят для вашей ситуации. Нужно решить, какой путь выбрать. Языковые модели ведут себя похожим образом. Большая часть генерации языка следует высокопредсказуемым грамматическим путям, но иногда модель доходит до точек, где несколько продолжений правдоподобны. Это моменты, когда появляется неопределённость.
Это естественно приводит к следующему вопросу: «Если языковые модели строят внутреннюю карту маршрута предложения, откуда берётся эта неопределённость?».
Чтобы ответить, я провёл ещё несколько экспериментов, чтобы определить, представляют ли скрытые слои модели явно, насколько она неопределена насчёт следующего грамматического шага. Хотя сама грамматическая карта была сильно представлена в сети, неопределённость вокруг карты представлена не была. Данные говорят о том, что неопределённость появляется гораздо позже, когда модель должна выбрать точное слово, которое лучше всего выражает уже построенный общий план. Эта находка интересно связывает предыдущие. Генерация языка может быть не единым процессом предсказания одного слова за другим. На самом деле это могут быть два отдельных, но дополняющих друг друга процесса: один организует общую структуру предложения, другой определяет конкретные слова для выражения этой структуры.
Почему это важно
Вместе эти находки указывают на другой способ думать о больших языковых моделях. Вместо того чтобы рассматривать их как системы, где каждое решение принимается через одинаковый вычислительный процесс, мы можем думать о них как о системах, которые переключаются между областями генерации языка: структурированными, организованными и предсказуемыми — и областями, которые контекстуально неоднозначны и требуют более гибкого рассуждения.
Если эта интерпретация верна, она меняет не только то, как мы изучаем языковые модели, но и то, как мы их проектируем.
Явно представляя структурированные, предсказуемые части генерации языка отдельно от неопределённых, контекстно-зависимых частей, мы, возможно, сможем создавать ИИ-системы, которые легче понимать, легче аудировать и потенциально гораздо более вычислительно эффективные. Вместо того чтобы обрабатывать каждый токен одинаково, будущие модели могут оставлять самые дорогие вычисления для моментов, которые действительно требуют этого. Конечно, это всё ещё активная область исследований, и много вопросов остаются без ответа. Эксперименты — только начало гораздо более масштабного исследования скрытой структуры генерации языка.
ссылка на оригинал статьи https://habr.com/ru/articles/1061576/