Рекомендации по безопасности и достоверности информации

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

Модели, предоставляемые API Gemini, могут использоваться для широкого спектра приложений генеративного искусственного интеллекта и обработки естественного языка (NLP). Использование этих функций доступно только через API Gemini или веб-приложение Google AI Studio. Использование вами API Gemini также регулируется Политикой запрещенного использования генеративного ИИ и условиями предоставления услуг API Gemini .

Одна из причин полезности больших языковых моделей (БЛМ) заключается в том, что они представляют собой креативные инструменты, способные решать множество различных языковых задач. К сожалению, это также означает, что большие языковые модели могут генерировать неожиданные результаты, включая оскорбительный, бестактный или фактически неверный текст. Более того, невероятная универсальность этих моделей затрудняет точное предсказание того, какие именно нежелательные результаты они могут выдать. Хотя API Gemini был разработан с учетом принципов искусственного интеллекта Google , ответственность за ответственное применение этих моделей лежит на разработчиках. Чтобы помочь разработчикам создавать безопасные и ответственные приложения, API Gemini имеет встроенную фильтрацию контента, а также настраиваемые параметры безопасности по 4 параметрам опасности. Подробнее см. в руководстве по настройкам безопасности . Он также предлагает функцию «Заземление» с включенным поиском Google для повышения достоверности фактов, хотя её можно отключить для разработчиков, чьи сценарии использования более креативны и не связаны с поиском информации.

Цель данного документа — ознакомить вас с некоторыми рисками для безопасности, которые могут возникнуть при использовании LLM, а также предложить рекомендации по проектированию и разработке систем безопасности. (Обратите внимание, что законы и нормативные акты также могут налагать ограничения, но такие соображения выходят за рамки данного руководства.)

При разработке приложений с использованием LLM-модулей рекомендуется выполнить следующие шаги:

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

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

Цикл реализации модели

Оцените риски для безопасности вашего приложения.

В этом контексте безопасность определяется как способность языковой модели избегать причинения вреда своим пользователям, например, путем генерации токсичного языка или контента, пропагандирующего стереотипы. Модели, доступные через API Gemini, разработаны с учетом принципов искусственного интеллекта Google , и их использование регулируется Политикой запрещенного использования генеративного ИИ . API предоставляет встроенные фильтры безопасности, помогающие решать некоторые распространенные проблемы языковых моделей, такие как токсичный язык и разжигание ненависти, а также стремясь к инклюзивности и избеганию стереотипов. Однако каждое приложение может представлять различный набор рисков для своих пользователей. Поэтому, как владелец приложения, вы несете ответственность за знание своих пользователей и потенциального вреда, который может причинить ваше приложение, а также за обеспечение безопасного и ответственного использования языковых моделей в вашем приложении.

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

Расширенные советы

  • Пообщайтесь с различными потенциальными пользователями из вашей целевой аудитории о вашем приложении и его предназначении, чтобы получить более широкое представление о потенциальных рисках и при необходимости скорректировать критерии разнообразия.
  • Разработанная Национальным институтом стандартов и технологий США (NIST) структура управления рисками в сфере ИИ содержит более подробные рекомендации и дополнительные учебные ресурсы по управлению рисками в этой области.
  • В публикации DeepMind, посвященной этическим и социальным рискам причинения вреда с помощью языковых моделей, подробно описываются способы, которыми применение языковых моделей может нанести вред.

Рассмотрите возможность внесения корректировок для снижения рисков, связанных с безопасностью и достоверностью информации.

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

Например, при разработке приложения следует учитывать следующее:

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

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

    Совет для продвинутых пользователей

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

  • Внедрение мер защиты от преднамеренного неправомерного использования, таких как присвоение каждому пользователю уникального идентификатора и установление ограничения на количество запросов, которые могут быть отправлены за определенный период. Еще одна мера защиты — это попытка предотвратить возможное внедрение подсказок. Внедрение подсказок, подобно SQL-инъекциям, — это способ для злоумышленников создать подсказку для ввода, которая манипулирует выходными данными модели, например, отправив подсказку, которая предписывает модели игнорировать любые предыдущие примеры. Подробную информацию о преднамеренном неправомерном использовании см. в Политике запрещенного использования генеративного ИИ .

  • Адаптация функциональности к задачам с более низким уровнем риска. Задачи с более узким кругом задач (например, извлечение ключевых слов из текстовых фрагментов) или задачи, требующие большего контроля со стороны человека (например, создание коротких текстов, которые будут проверены человеком), часто представляют меньший риск. Например, вместо создания приложения для написания ответа на электронное письмо с нуля, вы можете ограничить его функционал расширением плана или предложением альтернативных формулировок.

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

  • Уменьшите вероятность фактических неточностей или галлюцинаций, включив функцию «Сопряжение с поиском Google» . Помните, что многие модели ИИ являются экспериментальными и могут предоставлять фактически неточную информацию, галлюцинировать или иным образом выдавать проблемные результаты. Функция «Сопряжение с поиском Google» связывает модель Gemini с веб-контентом в реальном времени и работает со всеми доступными языками. Это позволяет Gemini предоставлять более точные ответы и ссылаться на проверяемые источники, выходящие за рамки возможностей модели.

Проведите испытания на безопасность, соответствующие вашему сценарию использования.

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

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

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

    Расширенные советы

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

    • Адверсиальное тестирование — это метод систематической оценки модели машинного обучения с целью изучения её поведения при получении вредоносных или непреднамеренно опасных входных данных:
      • Входные данные могут быть вредоносными, если они явно предназначены для получения небезопасного или вредного результата — например, просьба к модели генерации текста сгенерировать гневную тираду о конкретной религии.
      • Вводимые данные непреднамеренно вредны, когда сами по себе они безобидны, но приводят к вредным результатам — например, запрос к модели генерации текста описать человека определенной этнической принадлежности и получение расистского результата.
    • Отличием состязательного тестирования от стандартной оценки является состав используемых для тестирования данных. Для состязательных тестов следует выбирать тестовые данные, которые с наибольшей вероятностью вызовут проблемные результаты работы модели. Это означает проверку поведения модели на предмет всех возможных типов вреда, включая редкие или необычные примеры и крайние случаи, имеющие отношение к политике безопасности. Также следует учитывать разнообразие различных аспектов предложения, таких как структура, значение и длина. Более подробную информацию о том, что следует учитывать при создании тестового набора данных, можно найти в рекомендациях Google по ответственному использованию ИИ в целях обеспечения справедливости .

      Расширенные советы

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

Отслеживайте наличие проблем.

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

Расширенные советы

  • Когда пользователи оставляют отзывы о продуктах на основе ИИ, это может значительно улучшить производительность ИИ и пользовательский опыт с течением времени, например, помогая выбирать лучшие примеры для настройки подсказок. В главе «Обратная связь и управление» руководства Google «Люди и ИИ» освещены ключевые моменты, которые следует учитывать при разработке механизмов обратной связи.

Следующие шаги