Анализируйте поведение модели с помощью инструментов интерпретируемости

Хотя ответственный подход к ИИ должен включать политику безопасности, методы повышения безопасности модели, способы создания артефактов прозрачности, ваш подход к ответственности при использовании генеративного ИИ не должен сводиться к простому следованию контрольному списку. Продукты генеративного искусственного интеллекта относительно новы, и поведение приложения может отличаться от более ранних форм программного обеспечения. По этой причине вам следует изучить используемые модели машинного обучения, изучить примеры поведения модели и выявить сюрпризы.

Сегодня подсказки — это не только наука, но и искусство, но существуют инструменты, которые помогут вам эмпирически улучшить подсказки для больших языковых моделей, например, Learning Interpretability Tool (LIT) . LIT — это платформа с открытым исходным кодом, разработанная для визуализации, понимания и отладки моделей AI/ML. Ниже приведен пример того, как LIT можно использовать для изучения поведения Джеммы, прогнозирования потенциальных проблем и повышения ее безопасности.

Вы можете установить LIT на свой локальный компьютер , в Colab или в Google Cloud . Чтобы начать работу с LIT, импортируйте свою модель и связанный с ней набор данных (например, набор данных оценки безопасности) в Colab. LIT сгенерирует набор выходных данных для набора данных с использованием вашей модели и предоставит вам пользовательский интерфейс для изучения поведения модели.

Анализируйте модели Gemma с помощью LIT

Запустить кодлаб Запустите Google Колаб

Анимация пользовательского интерфейса Learning Interpretability Tool (LIT)

На этом изображении показан пользовательский интерфейс LIT. Редактор точек данных вверху позволяет пользователям редактировать свои подсказки. Внизу модуль LM Salience позволяет им проверять результаты значимости.

Выявляйте ошибки в сложных подсказках

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

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

Analyze a menu item in a restaurant.


## For example:


Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Onion soup
Analysis: it has cooked onions in it, which you don't like.
Recommendation: You have to try it.


Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Baguette maison au levain
Analysis: Home-made leaven bread in France is usually great
Recommendation: Likely good.


Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Macaron in France
Analysis: Sweet with many kinds of flavours
Recommendation: You have to try it.


## Now analyse one more example:


Taste-likes: {{users-food-like-preferences}}
Taste-dislikes: {{users-food-dislike-preferences}}
Suggestion: {{menu-item-to-analyse}}
Analysis:

Вы заметили какие-либо проблемы с этим приглашением? LIT поможет вам изучить подсказку с помощью модуля LM Salience .

Используйте значимость последовательности для отладки

Значимость вычисляется на минимально возможном уровне (т. е. для каждого входного токена), но LIT может агрегировать значимость токена в более интерпретируемые более крупные интервалы, такие как строки, предложения или слова. Узнайте больше о значимости и о том, как использовать ее для выявления непреднамеренных предубеждений в нашем интерактивном исследовании значимости .

Давайте начнем с того, что предоставим подсказке новый пример ввода для переменных шаблона подсказки:

{{users-food-like-preferences}} = Cheese
{{users-food-dislike-preferences}} = Can't eat eggs
{{menu-item-to-analyse}} = Quiche Lorraine

Как только это будет сделано, можно наблюдать удивительное завершение модели:

Taste-likes: Cheese
Taste-dislikes: Can't eat eggs
Suggestion: Quiche Lorraine
Analysis: A savoury tart with cheese and eggs
Recommendation: You might not like it, but it's worth trying.

Почему модель предлагает вам съесть то, что вы четко сказали, что есть нельзя?

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

Пользовательский интерфейс LIT, показывающий анализ значимости последовательности подсказок

Это указывает на ошибку в первоначальном приглашении: была случайно скопирована рекомендация ( You have to try it! ) для первого примера из нескольких кадров. Вы можете увидеть силу значимости в подсказке из темноты фиолетового блика. Самая высокая значимость наблюдается в первых примерах из нескольких кадров, а именно в строках, соответствующих Taste-likes , Analysis и Recommendation . Это говорит о том, что модель чаще всего использует эти линии для вынесения окончательной неверной рекомендации.

Этот пример также подчеркивает, что раннее прототипирование может выявить риски, о которых вы, возможно, не подумали заранее, а склонность языковых моделей к ошибкам означает, что вам придется активно проектировать ошибки. Подробнее это обсуждается в нашем руководстве «Люди + ИИ» по проектированию с использованием ИИ.

Проверка гипотез для улучшения поведения модели

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

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

Analyze a menu item in a restaurant.

* The analysis should be brief and to the point.
* It should provide a clear statement of suitability for someone with
  specific dietary restrictions.
* It should reflect the person's tastes

## For example:

Taste-likes: I've a sweet-tooth
Taste-dislikes: Don't like onions or garlic
Suggestion: Onion soup
Analysis: it has cooked onions in it, which you don't like.
Recommendation: Avoid.

Благодаря этому обновлению пример можно запустить повторно и увидеть совсем другой результат:

Taste-likes: Cheese
Taste-dislikes: Can't eat eggs
Suggestion: Quiche Lorraine
Analysis: This dish contains eggs, which you can't eat.
Recommendation: Not suitable for you.

Затем значимость подсказки можно пересмотреть, чтобы понять, почему происходит это изменение:

Пользовательский интерфейс LIT, показывающий быстрый анализ значимости

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

Включайте нетехнические группы в исследование и исследование модели.

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

Краткое содержание

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

Ресурсы для разработчиков