Биология языковых моделей
В марте этого года компания Anthropic выпустила публикацию «On the Biology of a Large Language Model». Разбираемся, что там интересного.
С большими моделями вообще вышла забавная история: люди их создали, но как эти модели работают, до конца не понимают. Здесь нет никакой мистики, просто сначала архитектура нейросети состояла из малого числа слоев, и было возможно посмотреть у всех входы-выходы и разобраться, где что происходит. По мере развития слои всё добавляли и добавляли, и вот дошли до того момента, когда их стало так много, что нет уже возможности вручную исследовать каждый. Так теперь и живем.
Ну или жили, пока специалисты Anthropic не разобрались, что к чему. Или не разобрались. Сейчас узнаем.
Вопрос изучения внутренних механизмов работы моделей не праздный: это и про безопасность, и про эффективность, и про прозрачность. Сколько можно работать с этими черными ящиками, в самом-то деле.
Графы причинно-следственной связи
Использует команда Anthropic графы причинно-следственной связи (attribution graphs). Мой перевод не вполне точный: «attribution» – это соотнесение причины и следствия или продукта и автора. Правильнее будет сказать «приписывание» (как в «цитату приписывают писателю N»), но «граф приписывания» звучит как-то странно, а «граф атрибуции» – непонятно. Если у вас есть идеи, как это лучше назвать, предлагайте, буду рада.
В предыдущей работе авторы такие графы предложили, чтобы выявить интерпретируемые компоненты модели (features) и найти между ними связи. В машинном обучении такие компоненты могут называть параметрами, характеристиками или атрибутами. Для простого примера, в котором мы хотим предсказать стоимость дома, параметрами могут быть число комнат, год постройки, общая площадь и так далее. Мы о них говорили в видео про градиентный спуск и в посте про математическое представление моральных ценностей. Последний будет ближе к нашему сегодняшнему обсуждению, так что можете сходить прочитать его, если еще не, а мы пока продолжим.
Вкратце, параметры могут представлять отдельные слова и фразы или сложные концепции, такие как ощущения или планы.
Графы причинно-следственной связи позволяют строить подкрепленные данными гипотезы о том, какие трансформации проходит поданная на вход информация, чтобы из нее получился ответ. Это инструмент с ограничениями: авторы отмечают, что получали полезную информацию с их помощью примерно в четверти случаев. Кроме того, изучают не саму модель напрямую, а ее более упрощенную версию, что приводит к потере существенной части контекста.
Таким образом, нельзя утверждать, что авторы открыли общие законы и механизмы работы моделей (они и не утверждают). Это могут быть просто случайные выбросы или стандартное поведение – пока неизвестно.
Что удалось понять
Исследование провели на модели Claude 3.5 Haiku. К статье прилагается набор интерактивных графиков и диаграмм, которые можно исследовать, чтобы лучше в ней разобраться. Но я бы рекомендовала делать это после чтения самой статьи или параллельно с чтением, иначе многое будет непонятно.
Возьмем первый примаер: есть американский штат Техас, столица которого – город Остин. Еще в том же штате есть город Даллас. У Claude 3.5 Haiku нашли группу параметров, которые в совокупности определяют «Даллас» (то есть, разные концепции, которые к нему относятся или его описывают).
Если к параметрам, которые представляют «Даллас» добавить параметры, которые относятся к концепции «штат», активируется третья группа параметров, которая представляет «Техас».
Если объединить параметры, которые активируются на слово «столица» и на токены, которые предшествуют слову «столица» в предложении, получится группа параметров «назови столицу» – это авторы ее так назвали. То есть, группа параметров, увидев которую, можно уверенно предположить, что модель сейчас выдаст название какой-нибудь столицы.
Если активировать параметры группы «Техас» и группы «назови столицу», возрастает вероятность сгенерировать слово «Остин». Понимаете, да?
Если спросить модель: «Какой город является столицей штата, в котором есть город Даллас?», запустится цепочка активаций: «штат» + «Даллас» -> «Техас» -> «Техас» + «назови столицу» -> «Остин». И модель ответит: «Остин».
При этом есть еще некая прямая связь «Даллас» -> «Остин», возможно, полученная в процессе обучения (скажем, названия этих городов часто встречались рядом). И эти две связи: через цепочку активаций и прямая – работают вместе, заставляя модель выдать ответ на вопрос.
На этом моменте как раз можно по ссылке выше перейти на сайт и изучить интерактивный граф. Поработав с ним, вы можете еще получить интуитивное представление о том, как языковые модели генерируют текст. Мы говорили об этом ранее, не здесь очень наглядно показан механизм.
Возьмем, к примеру, один небольшой фрагмент из статьи:
В верхней части рисунка уже знакомый нам граф. В нижней – промпт: «Факт: столицей штата, в котором находится Даллас, является». Задача модели – закончить предложение, то есть, сгенерировать следующее слово.
И сразу под промптом приведено шесть слов, которые модель выдаст вероятнее всего:
Если вы работаете с моделью не через готовое приложение, а через программный интерфейс (то есть, делаете приложение самостоятельно), вы можете регулировать число слов, из которого модель будет выбирать следующее в процессе создания текста. Например, можно разрешить выбирать только одно слово – наиболее вероятное, – тогда ваш текст будет более шаблонным и однообразным. А можно расширить пул кандидатов на все возможные слова и получить более человекообразное повествование.
Важное примечание: это не температура. Температура отвечает за "креативность", то есть, возможность получить более неожиданные идеи. А эта настройка меняет только разнообразие в тексте для описания тех же идей.
Через пользовательский интерфейс так нельзя, там уже разработчики всё настроили и зафиксировали.
Далее авторы исследовали, как модель генерирует рифмующиеся строки для стихотворения. Ей дали первую строку и фрагмент следующей, чтобы модель ее закончила, во-первых, в рифму, во-вторых, осмысленно.
Исходная гипотеза заключалась в том, что модель подбирает случайные, но подходящие по смыслу слова, доходит так до последнего и его подбирает в рифму последнему слову в первой строке.
Эта гипотеза заставила меня вспомнить об Интернет-сообществе «Вижу рифму», где люди публикуют такие шедевры:
Но нет, оказалось, что последнее слово для последней строки стихотворения (в примере на картинке это будет слово «пола») подбирается заранее, а затем подбираются остальные слова так, чтобы ему соответствовать. Более того, одновременно существует несколько вариантов окончания, то есть, на этапе генерации текста присутствует планирование.
Это несколько сломало мне мозг, потому что противоречит самому механизму работы, для которой языковые модели вида «Трансформер» были обучены. Они были обучены генерировать слова одно за другим, а не заглядывать вперед и подбирать решение под ответ. Вот что это: авторы увидели то, чего нет, или, разрастаясь, трансформеры обрели новые возможности? Или и то, и другое? Я себе пока не объяснила, надо подумать и почитать другие работы на эту тему. Невольно проводятся биологические аналогии, но их нельзя проводить в лоб без предварительного анализа.
Интерактивный граф для стихотворений можно изучить здесь.
Я не буду далее подробно описывать все эксперименты, приведу только некоторые общие результаты, которые авторам удалось найти:
- некоторые способности, например распознавание антонимов и синонимов, задействуют одни и те же наборы параметров вне зависимости от языка, на котором поставлена задача;
- параметры, которые находятся в средних слоях модели от языка скорее не зависят, а параметры в начале и в конце – зависят (напомню, что слои ближе к началу – то есть, ко входу – кодируют более абстрактные понятия, а слои ближе к концу – выходу – конкретные слова и части слов);
- английский – язык по умолчанию (во всяком случае, у Claude, с которым работали авторы, и еще у некоторых моделей, о которых есть статьи с другими методами исследования);
- языковые модели считают каким-то особенно забористым способом, через серию приближенных значений;
- объяснения моделями того, как они получили результат, совершенно не соответствуют тому, как они на самом деле получили результат – ну это мы уже знали;
- графы причинно-следственной связи могут помочь с обеспечением большей – но не абсолютной – прозрачности в медицинском использовании ИИ;
- есть отдельная группа параметров, которая вызывает отказ отвечать, если у модели недостаточно информации;
Эта группа параметров включается каждый раз, когда пользователь задает вопрос. Если среди прочих параметров есть группы, которые кодируют нужную для ответа информацию, эти информативные группы подавляют отказ, и модель дает ответ. Если информативных параметров недостаточно, модель отказывается отвечать.
Это всё предположения, но авторам удалось заставить модель чаще галлюцинировать и чаще отказываться отвечать, воздействуя на выявленные группы параметров.
Иногда подавление галлюцинаций не срабатывает, если часть ответа на вопрос ей известна, а другая – нет. Авторы приводят пример с научными публикациями. Они писали: «Назови одну публикацию автора N.» Если N – малоизвестный исследователь, и в тренировочных данных модели не было информации о его / ее работах, модель отвечала: «Извините, не знаю такого.» Если же N известен модели, а его работы – нет, модель выдавала убедительную галлюцинацию. Возможно, потому что информативные параметры перевесили параметры, которые отвечают за отказ. Возможно.
- поработав с графами причинно-следственной связи, можно заставить модель выдать небезопасный ответ;
- заставить модель выдать небезопасный ответ также можно, если попросить ее не использовать пунктуацию (мы ранее обсуждали разные подходы ко «взлому» и заметили, что вот такие простые варианты оказываются часто очень эффективными);
- если вы заставили модель выдать первую пару слов для небезопасного ответа, велика вероятность, что она его закончит, просто потому что отказ отвечать дальше нарушит грамматическую структуру предложения;
- модель может подстраивать свои «рассуждения» так, чтобы в итоге согласиться с пользователем – эта черта называется «подхалимство» (sycophancy), она тоже давно известна.
Ограничения
Закончим этот длинный обзор перечислением ограничений исследования.
Во-первых, в нем участвовала одна модель, так что результаты могут быть специфичны для нее и не подтвердиться на других моделях.
Во-вторых, все тесты, кроме специально направленных на изучение работы с разными языками, проведены на английском языке. Из других исследований мы знаем, что модели ведут себя «нетипично», если общаться с ними на языке, который слабо представлен в обучающих данных. Эту особенность иногда используют для обхода ограничений на потенциально опасные ответы.
В-третьих, авторы многократно указывают на то, что их данные неполные, примеры синтетические и не похожи на то, с чем модель работает в реальном мире, а сами графы построены на упрощенной версии модели. В частности, они совсем исключили из анализа модуль внимания – ключевой компонент архитектуры трансформера.
Наконец, авторы описали только те примеры, для которых им удалось найти убедительное объяснение. Кроме них было множество других примеров, которые остались за пределами публикации.
Так что к результатам этой работы стоит относиться аккуратно, хотя, безусловно, авторам стоит отдать должное: они постарались как следует.