Мнения 25 ноября 2024

Интерпретируемость ИИ: как модели принимают решения

Далее

В условиях стремительного развития искусственного интеллекта, когда его ответы становятся все более похожими на человеческие, важно понимать, как именно модель принимает решения. Про то, где и почему ошибаются языковые модели и как их интерпретируемость может нам помочь, рассказал Никита Балаганский, руководитель научной группы LLM Foundations в лаборатории научных исследований искусственного интеллекта T-Bank AI Research.

Как языковые модели стали основой ИИ?

Если раньше искусственным интеллектом часто называли простые модели для классификации изображений, то сегодня как исследователю, так и обывателю в первую очередь на ум приходят сервисы, основанные на больших языковых моделях (LLM). Эти модели способны не только обрабатывать текстовую информацию, но и генерировать ее, анализируя «сказанное», а также поддерживать диалог.

Большинство современных языковых моделей, таких, как GPT, используют трансформеры — архитектуры глубокого обучения, которые позволяют эффективно обрабатывать последовательности данных. Это дает возможность моделям не просто учиться на статичных наборах текстовых данных, но и адаптироваться, генерируя «человеческие» ответы. Проще говоря, LLM — универсальный инструмент для множества задач: от обработки языка и генерации кода до создания чат-ботов.

На картинке проиллюстрирована языковая модель, которая лежит в основе большинства систем ИИ. Справа нарисован монстр с множеством глаз, то, что он чувствует и как он думает, — остается для нас загадкой. Тем не менее, на выходе мы получаем ответ, который сложно отличить от человеческого. Оригинал фото здесь.

Где и почему они ошибаются?

Современная генеративная модель состоит из миллиардов параметров. Несмотря на то, что мы понимаем каждую заданную операцию по отдельности, нам сложно понять, почему модель генерирует тот или иной текст. Большая языковая модель отвечает убедительно и правдоподобно, однако можно даже не заметить, что иногда она выдает недостоверную или искаженную информацию. Это явление называется «галлюцинацией» — когда модель генерирует факты и данные, которые на самом деле не существуют. Причина заключается в том, что LLM работают по принципу предсказания следующего слова, опираясь на обширные массивы данных, на которых они обучались, что не гарантирует полного понимания контекста.

Даже если нам кажется, что мы смогли сделать модель безопасной для пользователей и она прошла все внутренние тесты, это не значит, что не найдется человека, который придумает вопрос так, чтобы модель ответила токсично или написала неверную информацию. Отсутствие объяснений и прозрачности делает трудноразличимыми границы между корректными и ошибочными выводами. Если мы не можем объяснить, почему LLM пришла к определенному выводу или как именно она обработала информацию, это вызывает недоверие, особенно в областях, где ошибки могут иметь серьезные последствия. Например, если мы используем языковую модель в медицинских целях, то в таком случае нам необходимо убедиться, что модель не просто запомнила что-то на этапе предобучения (напомню, она «видела» почти весь интернет), а именно воспроизвела алгоритм того, как должен быть получен ответ на задачу.

Как понимание языковых моделей может нам помочь?

В отличие от обычных программ, написанных вручную, мы не можем залезть внутрь нейронной сети и понять, почему и как она выполняет определенные операции. В большей степени на это влияет размер и сложность модели. Однако в последний год произошло много открытий, которые помогут нам понять, а главное — контролировать процесс генерации. Главный прорыв в понимании заключается в том, что нужно рассматривать не отдельные числа, а наборы чисел, влияющих на результат. Вместо небольшого количества отдельных чисел мы теперь имеем более сложное пространство, десятки тысяч направлений, каждое из которых обозначает определенные характеристики.

Например, если в тексте активировалось направление, которое отвечает за «зеленый цвет», и направление, которое отвечает за «хвосты», то на следующем слое у нас может получится направление, отвечающее за «ящерицу», а может совсем иное. Мы не до конца понимаем, как между собой преобразуются эти направления, но то, что мы смогли их выделить, уже дает нам определенный контроль над генерациями моделей.

Или если мы видим, что при упоминании токсичных слов определенное направление загорается, то понимаем, что модель распознает токсичность. Добавляя или вычитая опасные или полезные направления в ходе генерации, мы можем добиваться того или иного поведения модели без кардинальной переподготовки и не меняя другие необходимые нам свойства.

Примеры

Из недавних примеров — в LLM удалось найти часть, которая отвечает за «Мост Золотые Ворота», теперь можно в ручном режиме активировать ее и получить такой результат:

Слева приведен обычный ответ языковой модели на вопрос «Какой у тебя физический вид?», она отвечает: «Я не имею физической формы. Я искусственный интеллект. Я существую как программа без физического аватара». Но если активировать часть модели, отвечающую за «Мост Золотые Ворота», ответ меняется на «Я Мост Золотые Ворота — известный подвесной мост на побережье Сан-Франциско…». Фото взято из статьи Templeton, et al., Scaling Monosemanticity: Extracting Interpretable Features from Claude 3 Sonnet, Transformer Circuits Thread, 2024

Или, например, есть направление, отвечающее за гендерные предрассудки (учитель и медсестра — это традиционно женщины).

Мы видим, что существует направление внутри языковой модели, которое присутствует только в частях текста о «традиционно женских профессиях». Фото взято из статьи Templeton, et al., Scaling Monosemanticity: Extracting Interpretable Features from Claude 3 Sonnet, Transformer Circuits Thread, 2024

Кроме относительно бесполезных примеров выше внутри модели нашли часть, отвечающую за генерацию кода, который затем можно использовать в целях взлома.

На этом примере мы видим направление, которое появляется в коде или командах, которые отключают шифрование трафика. Такой сгенерированный языковой моделью код может быть опасным. Фото взято из статьи Templeton, et al., Scaling Monosemanticity: Extracting Interpretable Features from Claude 3 Sonnet, Transformer Circuits Thread, 2024

Таким образом, интерпретируя эти направления, мы можем точно настраивать модель, удаляя ненужное. 

Стоит понимать, что исследования в этой области находятся на раннем этапе, но хочется верить, что с помощью них нам получится полностью объяснить поведение языковых моделей и корректировать его при необходимости, не прибегая к финансово затратному сбору данных и разметке людьми.

Обложка: Kandinsky 3.1, ПАО «Сбербанк»