Перейти к содержимому
Ступень 99.3 Интерпретируемость, безопасность и этика

Этика, право и ответственная разработка

Смещения в данных и моделях и как их измерять, авторское право на данные и сгенерированный контент, персональные данные (GDPR, PIPL, 152-ФЗ), регулирование ИИ в ЕС, Китае и России с датами из официальных текстов — и чек-лист ответственного релиза вашей модели.

УРОКstage-9/9-3-interpretability-safety/05-ethics-law.mdx1 ч 50 минУрок 5 из 5
После урока вы сможете
  • Посчитать метрики справедливости по группам (демографический паритет, правило 4/5, равенство возможностей) и найти нарушение
  • Построить контрфактические пары на русском и измерить разрыв в ответах модели
  • Объяснить, что известно о статусе обучения на чужих данных и сгенерированного контента в США, ЕС, Китае и России, и что требуют законы о персональных данных
  • Назвать ключевые даты EU AI Act, китайских правил для генеративных сервисов и российского закона об ИИ и собрать чек-лист релиза своей модели

На ступени 10 вы выпустите свою модель: веса на Hugging Face или ModelScope, API, демо. В этот момент к техническим вопросам добавятся другие. Не обижает ли модель кого-то систематически? На чьих текстах она обучена и можно ли было их брать? Что будет с персональными данными, попавшими в датасет или в логи? Какие законы действуют там, где живут ваши пользователи?

Этот урок не сделает из вас юриста, но даст карту: как измерять смещения, что известно о праве на данные и сгенерированный контент и какие правила действуют в ЕС, Китае и России. В конце — чек-лист релиза для выпускного проекта.

Слово «смещение» в курсе уже встречалось в двух смыслах: свободный член bb в y=Wx+by = Wx + b (урок 1.1.2) и смещение в разложении ошибки на смещение и разброс (урок 2.1.2). Здесь третий смысл, связанный со справедливостью алгоритмовсправедливость алгоритмов (fairness)EN algorithmic fairnessОтсутствие систематически худших ошибок или решений для групп людей. Не путать с bias как свободным членом и со смещением в bias–variance. (fairness): модель систематически работает хуже или принимает менее выгодные решения для какой-то группы людей.

Источники смещений:

  • Представленность в данных. Если одной группы в данных мало, модель на ней ошибается чаще. В исследовании Gender Shades (Buolamwini и Gebru, 2018, PMLR 81) коммерческие классификаторы пола по фото ошибались до 34.7% на темнокожих женщинах и не более 0.8% на светлокожих мужчинах.
  • История в разметке. Модель учится на прошлых решениях людей и воспроизводит их. По данным Reuters (2018), Amazon отказалась от экспериментальной системы отбора резюме, которая занижала оценку резюме со словом «women’s»: она училась на десятилетии найма, где преобладали мужчины.
  • Ассоциации в текстах. Эмбеддинги из урока 4.3 выучивают стереотипы корпуса: в word2vec на новостях аналогия «мужчина : программист = женщина : ?» давала «домохозяйка» (Bolukbasi и др., 2016, arXiv:1607.06520). Классификаторы токсичности ошибочно помечали безобидные комментарии, где просто упоминалась группа людей (Dixon и др., 2018, работа Jigsaw).
  • Петли обратной связи. Модель, решающая, кому показать вакансию, меняет то, кто на неё откликнется, — а значит, и данные для следующего обучения.

Возьмём сценарий из задания: LLM-скринер решает, приглашать ли кандидата на интервью, а эксперты отметили, кто на самом деле подходит. Итоги по полу:

группакандидатовприглашенодоля приглашённыхTPR (среди подходящих)FPR (среди неподходящих)
Ж200650.32555 / 100 = 0.5510 / 100 = 0.10
М200920.46080 / 100 = 0.8012 / 100 = 0.12

Подходящих в обеих группах поровну — по 100. Три способа сказать, справедлива ли модель:

  • демографический паритетдемографический паритетEN demographic parityТребование равных долей положительных решений по группам; меряют разницей или отношением долей.: доли положительных решений равны. Разница 0.46−0.325=0.1350.46 - 0.325 = 0.135.
  • несоразмерное воздействиенесоразмерное воздействие (disparate impact)EN disparate impactОтношение доли положительных решений в группе к доле в самой «удачливой» группе; по правилу 4/5 тревожно, если меньше 0.8.: отношение долей 0.325/0.46≈0.710.325 / 0.46 \approx 0.71. Правило 4/5 из американских руководств по найму (1978) считает тревожным отношение меньше 0.8.
  • равенство возможностейравенство возможностей (equal opportunity)EN equal opportunityРавный TPR по группам: среди действительно подходящих доля положительных решений одинакова (Hardt и др., 2016). (Hardt и др., 2016, arXiv:1610.02413): равны TPR — доли приглашённых среди тех, кто действительно подходит. Здесь 0.80−0.55=0.250.80 - 0.55 = 0.25: подходящая женщина получает приглашение заметно реже подходящего мужчины. Если вдобавок требовать равенства FPR, получится метрика equalized odds.

В pandas (урок 2.4.1) доля по группам — одна строка:

import pandas as pd
df = pd.DataFrame({"gender": ["Ж", "Ж", "Ж", "Ж", "М", "М", "М", "М"],
"invited": [1, 0, 0, 0, 1, 1, 0, 1]})
rates = df.groupby("gender")["invited"].mean() # доля приглашённых в каждой группе
print(rates)
print(f"разница паритета: {rates.max() - rates.min():.2f}, отношение: {rates.min() / rates.max():.2f}")
gender
Ж 0.25
М 0.75
Name: invited, dtype: float64
разница паритета: 0.50, отношение: 0.33

Все метрики сразу выполнить нельзя. Если доли подходящих в группах различаются, модель не может быть одновременно откалиброванной (оценка 0.7 означает 70% подходящих в любой группе) и иметь равные доли ошибок. Это доказали независимо Kleinberg и др. (arXiv:1609.05807) и Chouldechova (2017). Поэтому метрику выбирают по вреду: при найме хуже всего упустить подходящего человека — смотрим на TPR; в модерации хуже зря заблокировать — смотрим на FPR. Как такая проверка встроена в систему модерации отзывов и что делать, если FPR у какой-то группы выше, — в уроке 11.2.4.

У генеративной модели нет одного «решения», поэтому используют контрфактические парыконтрфактическая параEN counterfactual pairДва входа, отличающиеся только признаком группы (Иван/Анна с согласованными формами слов); разница ответов модели показывает смещение.: два текста, которые отличаются только признаком группы, и сравнивают ответы модели. В русском языке есть ловушка: при замене пола меняются согласованные слова («опытный → опытная», «пришёл → пришла»). Пары должны оставаться грамматичными, иначе разница в ответах будет отражать ошибку в тексте, а не смещение.

import math
import re
# «Модель» оценки резюме: логистическая регрессия на словах (веса выучены на исторических решениях)
WEIGHTS = {"опытный": 1.0, "опытная": 0.6, "пришёл": 0.3, "пришла": -0.1,
"руководил": 0.4, "руководила": 0.1, "python": 0.4}
BIAS = -1.2
def p_invite(text):
words = re.findall(r"\w+", text.lower()) # слова без знаков препинания
z = BIAS + sum(WEIGHTS.get(w, 0.0) for w in words)
return 1 / (1 + math.exp(-z)) # сигмоида из урока 2.2.2
# Контрфактические пары: в русском меняется не только имя, но и согласованные формы слов
TEMPLATES = [
"{name} очень {adj}: семь лет пишет на Python.",
"{name} {came} в команду в 2020 году и {led} проектом.",
"{name} {led} командой из пяти человек и очень {adj}.",
]
MALE = {"name": "Иван", "adj": "опытный", "came": "пришёл", "led": "руководил"}
FEMALE = {"name": "Анна", "adj": "опытная", "came": "пришла", "led": "руководила"}
gaps = []
for t in TEMPLATES:
pm, pf = p_invite(t.format(**MALE)), p_invite(t.format(**FEMALE))
gaps.append(pm - pf)
print(f"{pm:.3f} {pf:.3f} разрыв {pm - pf:+.3f} | {t.format(**FEMALE)}")
print(f"средний разрыв: {sum(gaps) / len(gaps):+.3f}")
0.550 0.450 разрыв +0.100 | Анна очень опытная: семь лет пишет на Python.
0.378 0.231 разрыв +0.146 | Анна пришла в команду в 2020 году и руководила проектом.
0.550 0.378 разрыв +0.172 | Анна руководила командой из пяти человек и очень опытная.
средний разрыв: +0.139

Одинаковые факты, разные формы слов — и вероятность приглашения в среднем на 14 п.п. ниже. На настоящей LLM вместо p_invite берут вероятность ответа «Да» на вопрос «Пригласить на интервью?» (см. блок для GPU ниже). Для систематической проверки есть готовые наборы: англоязычный BBQ (Parrish и др., 2022), русский RuBia — около 2 000 пар предложений в 19 поддоменах, включая пол и социально-экономический статус (LREC-COLING 2024, arXiv:2403.17553), китайский CBBQ — в «Китайском углу».

  • Данные: добрать примеры недопредставленных групп, контрфактическая аугментация (добавить в обучение пары с заменённым признаком).
  • Обучение: включить принципы недискриминации в данные предпочтений и конституцию (урок 9.3.3) и проверять результат, а не надеяться.
  • Порог по группам выравнивает TPR, но явное использование признака группы в решении во многих юрисдикциях само по себе может быть незаконным — это решение для юристов, не только для инженеров.
  • Документация: карточка моделикарточка модели (model card)EN model cardДокумент к модели: назначение, где применять нельзя, данные, метрики (в том числе по группам), ограничения (Mitchell и др., 2019). (Mitchell и др., 2019, arXiv:1810.03993) с метриками по группам и описанием, где модель применять нельзя, и «паспорт датасета» (datasheet, Gebru и др., arXiv:1803.09010). Шаблон такой карточки на рабочей выгрузке — в уроке 11.1.1.

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

СтранаДело или нормаДатаЧто решено
СШАBartz v. Anthropic23.06.2025Обучение на законно купленных книгах — добросовестное использованиедобросовестное использование (fair use)EN fair useДоктрина авторского права США, допускающая использование произведений без разрешения по четырём факторам; на неё ссылаются разработчики моделей в исках об обучающих данных. (fair use); создание библиотеки из пиратских копий — нет. В сентябре 2025 стороны заключили мировое соглашение на 1.5 млрд долл. (около 3 000 долл. за каждую из примерно 500 тыс. книг)
СШАKadrey v. Meta25.06.2025Суд встал на сторону Meta: истцы не доказали вред рынку их книг. Судья подчеркнул, что решение касается этих истцов, а не законности обучения вообще
СШАNYT v. OpenAI и Microsoftиск от 12.2023На сентябрь 2026 года — стадия ходатайств о решении без суда присяжных по вопросу добросовестного использования
ВеликобританияGetty Images v. Stability AI04.11.2025Веса модели не являются «копией» обучающих изображений; иск о вторичном нарушении авторских прав отклонён
ГерманияGEMA v. OpenAI (Мюнхен)11.11.2025Тексты песен, которые модель воспроизводит наизусть, «содержатся» в модели — это воспроизведение, нарушение признано
ЕСДиректива 2019/790, ст. 4; AI Act, ст. 53—Анализ текстов и данных разрешён, если правообладатель не запретил его в машиночитаемой форме; поставщики моделей общего назначения обязаны соблюдать такие запреты и публиковать сводку об обучающих данных
КитайВременные меры, ст. 715.08.2023Обучающие данные — из законных источников, без нарушения прав интеллектуальной собственности
Россия243-ФЗс 01.03.2027Исключение для обучения — только для «суверенных» и «национальных» моделей и только при законно полученном экземпляре без технических ограничений доступа

Британский и немецкий суды почти одновременно пришли к противоположным выводам о том, «хранит» ли модель произведения. Разница — в фактах: Getty не показала, что модель воспроизводит конкретные снимки, а GEMA показала дословные тексты песен. Инженерный вывод: запоминание (memorization) — не только вопрос приватности, но и юридический риск. Модели действительно могут дословно выдавать фрагменты обучающих данных (Carlini и др., 2021, arXiv:2012.07805), поэтому проверяйте свою модель на дословное воспроизведение.

  • США. Бюро авторского права (доклад от 29.01.2025): чисто сгенерированный материал не охраняется, одних промптов недостаточно для авторства; охраняется человеческий вклад — отбор, компоновка, правки. Апелляционный суд в деле Thaler v. Perlmutter (18.03.2025) подтвердил требование человеческого авторства, Верховный суд 02.03.2026 отказался пересматривать дело.
  • Китай. Суды смотрят на доказанный творческий вклад человека: в одном деле изображение признали произведением, в другом — нет (подробно в «Китайском углу»).
  • Россия. Автор — гражданин, творческим трудом которого создан результат (ГК РФ, ст. 1228). В деле № А40-200471/2023 Арбитражный суд Москвы признал видео с дипфейком объектом авторского права: технология — лишь инструмент обработки, авторы — люди, писавшие сценарий и снимавшие; апелляция решение поддержала. 243-ФЗ специального режима для ИИ-результатов не вводит, но обязывает тех, кто даёт доступ к большой модели, сообщать пользователям, кому принадлежат права на результат.

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

GDPR (ЕС)PIPL (Китай)152-ФЗ (Россия)
ДокументРегламент (ЕС) 2016/679, применяется с 25.05.2018Закон о защите персональной информации, действует с 01.11.2021закон от 27.07.2006
Основание обработкисогласие, договор, законный интерес и др.согласие или иное основание из законасогласие (с 01.09.2025 — только отдельным документом) или иное основание из закона
Данные за рубежтолько в страны с адекватной защитой или с гарантиямиоценка безопасности, сертификация или стандартный договоруведомление Роскомнадзора; первичный сбор и хранение — в базах на территории РФ (ст. 18 ч. 5, уточнена с 01.07.2025)
Максимальные штрафы20 млн евро или 4% мирового оборота50 млн юаней или 5% оборота за прошлый годс 30.05.2025 за повторную утечку — оборотный штраф до 3% выручки (не более 500 млн руб.)

С 01.09.2025 в 152-ФЗ появились правила для обезличенных данных (закон № 233-ФЗ от 08.08.2024): по запросу Минцифры операторы передают их в государственную информационную систему, откуда их можно использовать в том числе для разработки ИИ.

Что из этого следует для LLM-инженера:

  • Датасеты. Фильтруйте персональные данныеперсональные данные (PII)EN personally identifiable information (PII) до обучения (урок 5.1.2): то, что попало в веса, удалить почти невозможно, а право на удаление у человека есть.
  • Логи. Диалоги с пользователями — персональные данные. Храните минимум, маскируйте, задайте срок хранения; если сервис для россиян — первичная запись в базу в РФ.
  • RAG. Индекс — тоже хранилище персональных данных: разграничьте доступ по правам пользователя (урок 8.2.2), а при запросе на удаление удаляйте документ и из индекса, и из кэшей.
  • Внешние API. Отправка клиентских документов в зарубежный API — трансграничная передача (китайский трек, урок 03: локальная модель снимает этот риск).

AI ActРегламент ЕС об ИИ (AI Act)EN EU AI ActРегламент (ЕС) 2024/1689, вступил в силу 01.08.2024; регулирует применения ИИ по уровню риска и отдельно — модели общего назначения. (Регламент (ЕС) 2024/1689) регулирует не технологии, а применения, по уровню риска.

flowchart TD
A["Неприемлемый риск — запрещено<br/>социальный рейтинг, манипуляция,<br/>распознавание эмоций на работе и в учёбе и др."] --> B["Высокий риск — строгие требования<br/>найм, образование, кредиты, медицина:<br/>оценка рисков, данные, логи, надзор человека"]
B --> C["Ограниченный риск — прозрачность<br/>сообщить, что это чат-бот;<br/>пометить дипфейки и синтетический контент"]
C --> D["Минимальный риск — без новых требований<br/>спам-фильтры, игры"]
Уровни риска в AI Act

Отдельный режим — для моделей общего назначения (то есть LLM): техническая документация, политика соблюдения авторского права, сводка обучающих данных. Модели, обученные с затратой более 102510^{25} FLOP, считаются моделями с системным риском: для них — оценки и red teaming, отчёты об инцидентах, кибербезопасность (вспомните урок 9.3.4). Открытые модели освобождены от части требований к документации, если у них нет системного риска.

ДатаЧто начинает действовать
01.08.2024регламент вступил в силу
02.02.2025запрещённые практики и обязанность обеспечивать ИИ-грамотность персонала
02.08.2025обязанности поставщиков моделей общего назначения
02.08.2026прозрачность по ст. 50 (чат-боты, дипфейки); для генеративных систем, выпущенных раньше, машиночитаемая маркировка — до 02.12.2026
02.12.2027высокий риск из прил. III (найм, образование, кредиты) — после переноса
02.08.2028высокий риск в продуктах из прил. I (медицинские изделия, машины) — после переноса

Переносы внёс пакет «Digital Omnibus» — Регламент (ЕС) 2026/1744, вступивший в силу 27.07.2026. Он же добавил запрет на ИИ-системы для создания материалов сексуального насилия над детьми и интимных изображений реальных людей без согласия. Максимальный штраф за запрещённые практики — 35 млн евро или 7% мирового оборота.

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

Китай регулирует генеративный ИИ отдельными актами CAC (Канцелярии по делам киберпространства) с 2023 года.

  • Правила глубокого синтеза («Положение об управлении глубоким синтезом в информационных интернет-сервисах») — с 10.01.2023: метки на синтетическом контенте, регистрация алгоритмов.
  • Временные меры для сервисов генеративного ИИ — утверждены семью ведомствами в июле 2023 года, действуют с 15.08.2023. Касаются сервисов для публики в Китае (внутренние исследования не затрагивают). Требуют соответствия «основным социалистическим ценностям», недопущения дискриминации при проектировании алгоритмов и отборе данных, законных источников обучающих данных и согласия на персональные данные, маркировки контента. Сервисы, способные влиять на общественное мнение, проходят оценку безопасности и регистрацию алгоритмов («бэйань») — проверку отказов из урока 9.3.4.
  • Меры по маркировке контента, созданного ИИ и обязательный стандарт GB 45438-2025 — опубликованы в марте 2025 года, действуют с 01.09.2025: явные метки, видимые человеку (текст, звуковой сигнал, значок), и скрытые — в метаданных файла; платформы должны проверять метки при публикации.
  • Стандарт безопасности GB/T 45654-2025 — с 01.11.2025 (урок 9.3.4).
  • Закон о кибербезопасности — поправки от 28.10.2025, действуют с 01.01.2026: впервые на уровне закона записаны поддержка развития ИИ, этические нормы и надзор за рисками.
  • Национальная стратегия развития ИИ до 2030 года — Указ Президента № 490 от 10.10.2019, обновлена Указом № 124 от 15.02.2024.
  • Кодекс этики в сфере ИИ — подписан 26.10.2021; добровольный, к нему присоединяются компании.
  • Экспериментальные правовые режимы — с 2020 года (в том числе особый режим для ИИ в Москве); закон № 233-ФЗ о персональных данных 2024 года вносил изменения и в московский эксперимент.
  • 243-ФЗ «О поддержке развития технологий ИИ в РФ» от 26.07.2026 — первый рамочный закон об ИИ. Вступает в силу 01.09.2026, обязанности разработчиков, правила маркировки и нормы об авторских правах — с 01.03.2027. Закон вводит понятия большой фундаментальной модели и двух её статусов: суверенная модель полностью создана российским юрлицом и размещена в российских дата-центрах, национальная может использовать иностранные компоненты под открытыми лицензиями. Статус даёт право на господдержку и упрощённый доступ к датасетам. Модели должны соответствовать законодательству и традиционным духовно-нравственным ценностям. Платформы с аудиторией более 500 тыс. россиян в сутки должны дать пользователям возможность пометить материал как созданный ИИ — всеобщей обязанности маркировать закон не вводит.
ЕСКитайРоссия
Подходпо уровню риска примененияразрешительный: регистрация сервисов и стандартырамочный, стимулирующий: статусы моделей и господдержка
Маркировка ИИ-контентаст. 50, с 02.08.2026обязательна, с 01.09.2025возможность пометки на крупных платформах, с 01.03.2027
Обучение на чужих произведенияхможно, если правообладатель не запретилтолько законные данные без нарушения ИСисключение для суверенных и национальных моделей, с 01.03.2027
Санкциидо 35 млн евро или 7% оборотапо законам о кибербезопасности и данныхпо общим законам (152-ФЗ, КоАП)

Подробный чек-лист из восьми вопросов — в китайском треке, урок 03. Для релиза своей модели важно четыре вещи:

  1. Открытые веса ≠ открытый исходный код. Веса без данных и кода обучения — это «лестница открытости», а не open source.
  2. Производная модель наследует лицензию базы. LoRA поверх Llama — под лицензией Llama, со всеми её ограничениями (порог 700 млн пользователей, правила использования, слово «Llama» в названии).
  3. Пермиссивные лицензиипермиссивная (разрешительная) лицензияEN permissive licenseMIT, Apache-2.0, BSD — разрешают коммерческое использование и изменения почти без условий, кроме сохранения уведомления об авторстве. (MIT, Apache-2.0) у Qwen, DeepSeek и многих других китайских моделей упрощают жизнь, но требуют сохранить уведомления; Apache-2.0 даёт ещё и патентную лицензию.
  4. Данные тоже под лицензией. CC BY-NC в датасете может запретить коммерческое использование результата — проверяйте лицензии и SFT-, и DPO-данных.

Для выпускного проекта (урок 10.1.1) и любого публичного релиза:

  1. Карточка модели: назначение, где применять нельзя, языки, ограничения, известные провалы.
  2. Данные: источники и их лицензии, как фильтровали персональные данные и токсичность, проверка контаминации (урок 7.3.1).
  3. Лицензия совместима с базовой моделью и данными; уведомления сохранены.
  4. Безопасность: небольшой набор вредных и безобидных запросов, ASR и доля ложных отказов с интервалами Уилсона (урок 9.3.4).
  5. Смещения: контрфактические пары на русском, разрыв с интервалом; метрики по группам, если модель что-то решает о людях.
  6. Запоминание: проверка, не воспроизводит ли модель дословно куски обучающих данных.
  7. Сервис: маркировка сгенерированного контента и сообщение «вы говорите с ИИ», если этого требуют законы ваших пользователей; срок хранения логов; контакт для жалоб.

Две части. Аудит смещений LLM-скринера резюме: метрики по группам, отчёт о справедливости, поиск нарушений по полу и возрасту. И детектор персональных данных на регулярных выражениях: российские телефоны, email, паспорт РФ — с маскированием, как перед записью логов или добавлением документа в датасет.

Аудит смещений и детектор персональных данныхpandas · нужен интернет7 тестов
import io
import re

import pandas as pd

# ── Данные (уже готово) ────────────────────────────────────────────────────────────────────
# LLM-скринер резюме решал, приглашать ли кандидата на интервью (invited = 1).
# qualified = 1 — кандидат подходит по оценке экспертов (это «правда»).
# Для компактности хранится сводка: сколько кандидатов в каждой комбинации признаков.
COUNTS_CSV = """gender,age_group,qualified,invited,count
Ж,до 45,1,1,36
Ж,до 45,1,0,24
Ж,до 45,0,1,6
Ж,до 45,0,0,54
Ж,45+,1,1,19
Ж,45+,1,0,21
Ж,45+,0,1,4
Ж,45+,0,0,36
М,до 45,1,1,49
М,до 45,1,0,11
М,до 45,0,1,7
М,до 45,0,0,53
М,45+,1,1,31
М,45+,1,0,9
М,45+,0,1,5
М,45+,0,0,35
"""


def load_data():
    """Разворачивает сводку в таблицу «одна строка — один кандидат» (400 строк)."""
    counts = pd.read_csv(io.StringIO(COUNTS_CSV))
    rows = counts.loc[counts.index.repeat(counts["count"])]      # повторить строку count раз
    return rows.drop(columns="count").reset_index(drop=True)


# ── Часть 1: аудит смещений ────────────────────────────────────────────────────────────────
def group_metrics(df, group_col):
    """Метрики по группам столбца group_col.

    Вернуть DataFrame, индекс — значения группы (как даёт groupby, отсортированы), столбцы:
      n              — число кандидатов в группе;
      selection_rate — доля приглашённых (среднее invited);
      tpr            — доля приглашённых среди подходящих (qualified == 1), это recall из урока 2.2.3;
      fpr            — доля приглашённых среди неподходящих (qualified == 0).
    """
    # TODO: ваш код
    ...


def fairness_report(gm):
    """По таблице group_metrics вернуть словарь:
      dp_diff  — разница демографического паритета: max − min selection_rate;
      di_ratio — отношение «несоразмерного воздействия»: min / max selection_rate (правило 4/5: тревога, если < 0.8);
      eo_diff  — разница равенства возможностей: max − min tpr;
      fpr_diff — max − min fpr.
    Значения — float.
    """
    # TODO: ваш код
    ...


def find_violations(df, group_cols, dp_tol=0.1, di_min=0.8, eo_tol=0.1):
    """Для каждого столбца из group_cols посчитать fairness_report(group_metrics(...)) и собрать нарушения.

    Нарушения: ("<столбец>", "demographic_parity"), если dp_diff > dp_tol;
               ("<столбец>", "disparate_impact"),   если di_ratio < di_min;
               ("<столбец>", "equal_opportunity"),  если eo_diff > eo_tol.
    Вернуть ОТСОРТИРОВАННЫЙ список кортежей.
    """
    # TODO: ваш код
    ...


# ── Часть 2: детектор персональных данных ─────────────────────────────────────────────────
def find_pii(text):
    """Найти персональные данные. Вернуть список (вид, найденный текст) в порядке появления в тексте.

    phone    — российский номер: +7 или 8, затем 10 цифр; между группами 3-3-2-2 допустимы пробелы, дефисы,
               скобки вокруг кода: «+7 (912) 345-67-89», «8 912 345 67 89», «+79123456789».
               Перед номером и после него не должно быть других цифр.
    email    — «имя@домен.зона»: буквы, цифры, точка, _, +, - до @; после @ — части через точку.
    passport — паспорт РФ: серия 4 цифры (можно «45 08» или «4508»), ПРОБЕЛ, номер 6 цифр: «4508 123456»,
               «45 08 123456». Десять цифр подряд без пробела (как ИНН «7707083893») — НЕ паспорт.
               Перед и после — не цифры.
    """
    # TODO: ваш код
    ...


def mask_pii(text):
    """Заменить найденное на [PHONE], [EMAIL], [PASSPORT]. Остальной текст не трогать."""
    # TODO: ваш код
    ...


# Проверьте себя кнопкой «Запустить»:
df = load_data()
print(df.head())
print(group_metrics(df, "gender"))
print(find_pii("Пишите: ivan.petrov@mail.ru, тел. +7 (912) 345-67-89, паспорт 45 08 123456"))

Подумайте, чего ваш детектор не видит: «серия 4508 номер 123456», телефон словами, адрес, ФИО. Регулярные выражения — первый слой; для имён и адресов используют NER-модели, а итог всё равно проверяют выборочно глазами.

Проверь себя5 вопросов
1 Доля приглашённых на интервью: группа A — 0.30, группа B — 0.50. Чему равно отношение по правилу 4/5 и есть ли сигнал несоразмерного воздействия? Введите отношение, округлив до двух знаков.
2 Скринер приглашает 80% подходящих мужчин и 55% подходящих женщин; доли приглашённых по группам почти равны. Какие утверждения верны?Можно выбрать несколько ответов
3 Почему контрфактическая пара «Иван — опытный…» / «Анна — опытный…» плохая для аудита русскоязычной модели?
4 С какой даты в ЕС применяются обязанности поставщиков моделей общего назначения по AI Act?
5 Какие утверждения о правилах 2025–2026 годов верны?Можно выбрать несколько ответов
  • Смещения приходят из представленности данных, исторической разметки, ассоциаций в текстах и петель обратной связи. Измеряйте по группам: паритет и правило 4/5, равенство TPR; все метрики сразу недостижимы — выбирайте по вреду. Для LLM — грамматичные контрфактические пары на русском.
  • Авторское право: в США обучение на законно полученных книгах признано добросовестным использованием, пиратские копии — нет; британский и немецкий суды разошлись в вопросе, «хранит» ли модель произведения. Сгенерированное охраняется только через доказанный вклад человека.
  • Персональные данные: GDPR, PIPL и 152-ФЗ требуют основания обработки, ограничивают передачу за рубеж и штрафуют за утечки; фильтруйте данные до обучения, маскируйте логи, удаляйте из RAG-индекса.
  • Регулирование: ЕС — по уровню риска (сроки сдвинуты поправками 2026 года), Китай — регистрация сервисов, стандарты и обязательная маркировка с 2025 года, Россия — рамочный 243-ФЗ с 01.09.2026.
  • Перед релизом пройдите чек-лист: карточка модели, данные и лицензии, ASR и ложные отказы, смещения, запоминание, требования к сервису.

Дальше: ступень 10 — выпускной проект. Начнём с техзадания: токенизатор → претрейн → SFT → GRPO → квантование → сервер → агент, а чек-лист релиза из этого урока пригодится в отчёте.