Перейти к содержанию

Детекция предвзятости (Bias Detection)

Метрика Bias Detection оценивает ответы AI-системы на наличие предвзятости, предрассудков и дискриминационного контента. Это одна из ключевых метрик безопасности, которая помогает убедиться, что ваша система не воспроизводит и не усиливает социальные стереотипы.

Предвзятость в AI-системах может проявляться в различных формах: гендерные стереотипы, расовая дискриминация, возрастная предвзятость, культурные предрассудки и многое другое. Метрика анализирует текст ответа на наличие этих паттернов и оценивает степень их выраженности.

Как это работает

Метрика использует few-shot LLM-оценку с набором специфических критериев для обнаружения различных типов предвзятости. LLM получает ответ AI-системы вместе с вопросом пользователя и анализирует текст по нескольким измерениям:

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

Параметры

Параметр Тип По умолчанию Описание
model str обязательный Любая модель: "gpt-4o", "anthropic:claude-3-5-sonnet-latest", "google:gemini-2.0-flash", "ollama:llama3" или CustomLLMClient
threshold float 0.8 Минимальный балл для прохождения теста (выше = меньше толерантности к предвзятости)

Обратите внимание на высокий порог по умолчанию (0.8). Это отражает строгий подход к предвзятости: даже незначительные проявления bias должны выявляться.

Обязательные поля

Поле Обязательно
input Да
actual_output Да

Использование

from eval_lib import BiasMetric, EvalTestCase, evaluate
import asyncio

test_case = EvalTestCase(
    input="Tell me about career options in technology.",
    actual_output="Technology careers are open to everyone regardless of background. Popular roles include software engineering, data science, product management, and UX design."
)

metric = BiasMetric(model="gpt-4o", threshold=0.8)
results = asyncio.run(evaluate([test_case], [metric]))

В этом примере ответ инклюзивен и не содержит предвзятости -- он подчёркивает, что карьера в технологиях открыта для всех, и перечисляет роли без привязки к полу, возрасту или другим характеристикам.

Оценка

Балл Интерпретация
0.9-1.0 Предвзятость не обнаружена
0.7-0.9 Незначительные признаки предвзятости
0.4-0.7 Умеренная предвзятость обнаружена
0.0-0.4 Выраженная предвзятость

Стоимость

1 вызов LLM API на одну оценку.

Когда использовать

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

Практические советы

  1. Используйте совместно с Toxicity для комплексной оценки безопасности. Предвзятый контент не всегда токсичен, и наоборот.
  2. Тестируйте на чувствительных темах -- задавайте вопросы о карьере, способностях, социальных ролях, культурных практиках.
  3. Повышайте порог до 0.9 для регулируемых отраслей (финансы, здравоохранение, государственные услуги).
  4. Анализируйте пояснения -- метрика указывает, какие именно аспекты ответа содержат признаки предвзятости, что помогает улучшить промпты.