Этика, право и ответственная разработка
Смещения в данных и моделях и как их измерять, авторское право на данные и сгенерированный контент, персональные данные (GDPR, PIPL, 152-ФЗ), регулирование ИИ в ЕС, Китае и России с датами из официальных текстов — и чек-лист ответственного релиза вашей модели.
Зачем это нужно
Заголовок раздела «Зачем это нужно»На ступени 10 вы выпустите свою модель: веса на Hugging Face или ModelScope, API, демо. В этот момент к техническим вопросам добавятся другие. Не обижает ли модель кого-то систематически? На чьих текстах она обучена и можно ли было их брать? Что будет с персональными данными, попавшими в датасет или в логи? Какие законы действуют там, где живут ваши пользователи?
Этот урок не сделает из вас юриста, но даст карту: как измерять смещения, что известно о праве на данные и сгенерированный контент и какие правила действуют в ЕС, Китае и России. В конце — чек-лист релиза для выпускного проекта.
Смещения: откуда берутся
Заголовок раздела «Смещения: откуда берутся»Слово «смещение» в курсе уже встречалось в двух смыслах: свободный член в (урок 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 (среди неподходящих) |
|---|---|---|---|---|---|
| Ж | 200 | 65 | 0.325 | 55 / 100 = 0.55 | 10 / 100 = 0.10 |
| М | 200 | 92 | 0.460 | 80 / 100 = 0.80 | 12 / 100 = 0.12 |
Подходящих в обеих группах поровну — по 100. Три способа сказать, справедлива ли модель:
- демографический паритетдемографический паритетEN demographic parityТребование равных долей положительных решений по группам; меряют разницей или отношением долей.: доли положительных решений равны. Разница .
- несоразмерное воздействиенесоразмерное воздействие (disparate impact)EN disparate impactОтношение доли положительных решений в группе к доле в самой «удачливой» группе; по правилу 4/5 тревожно, если меньше 0.8.: отношение долей . Правило 4/5 из американских руководств по найму (1978) считает тревожным отношение меньше 0.8.
- равенство возможностейравенство возможностей (equal opportunity)EN equal opportunityРавный TPR по группам: среди действительно подходящих доля положительных решений одинакова (Hardt и др., 2016). (Hardt и др., 2016, arXiv:1610.02413): равны TPR — доли приглашённых среди тех, кто действительно подходит. Здесь : подходящая женщина получает приглашение заметно реже подходящего мужчины. Если вдобавок требовать равенства 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.75Name: invited, dtype: float64разница паритета: 0.50, отношение: 0.33Все метрики сразу выполнить нельзя. Если доли подходящих в группах различаются, модель не может быть одновременно откалиброванной (оценка 0.7 означает 70% подходящих в любой группе) и иметь равные доли ошибок. Это доказали независимо Kleinberg и др. (arXiv:1609.05807) и Chouldechova (2017). Поэтому метрику выбирают по вреду: при найме хуже всего упустить подходящего человека — смотрим на TPR; в модерации хуже зря заблокировать — смотрим на FPR. Как такая проверка встроена в систему модерации отзывов и что делать, если FPR у какой-то группы выше, — в уроке 11.2.4.
Смещения в LLM: контрфактические пары
Заголовок раздела «Смещения в LLM: контрфактические пары»У генеративной модели нет одного «решения», поэтому используют контрфактические парыконтрфактическая параEN counterfactual pairДва входа, отличающиеся только признаком группы (Иван/Анна с согласованными формами слов); разница ответов модели показывает смещение.: два текста, которые отличаются только признаком группы, и сравнивают ответы модели. В русском языке есть ловушка: при замене пола меняются согласованные слова («опытный → опытная», «пришёл → пришла»). Пары должны оставаться грамматичными, иначе разница в ответах будет отражать ошибку в тексте, а не смещение.
import mathimport 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. Anthropic | 23.06.2025 | Обучение на законно купленных книгах — добросовестное использованиедобросовестное использование (fair use)EN fair useДоктрина авторского права США, допускающая использование произведений без разрешения по четырём факторам; на неё ссылаются разработчики моделей в исках об обучающих данных. (fair use); создание библиотеки из пиратских копий — нет. В сентябре 2025 стороны заключили мировое соглашение на 1.5 млрд долл. (около 3 000 долл. за каждую из примерно 500 тыс. книг) |
| США | Kadrey v. Meta | 25.06.2025 | Суд встал на сторону Meta: истцы не доказали вред рынку их книг. Судья подчеркнул, что решение касается этих истцов, а не законности обучения вообще |
| США | NYT v. OpenAI и Microsoft | иск от 12.2023 | На сентябрь 2026 года — стадия ходатайств о решении без суда присяжных по вопросу добросовестного использования |
| Великобритания | Getty Images v. Stability AI | 04.11.2025 | Веса модели не являются «копией» обучающих изображений; иск о вторичном нарушении авторских прав отклонён |
| Германия | GEMA v. OpenAI (Мюнхен) | 11.11.2025 | Тексты песен, которые модель воспроизводит наизусть, «содержатся» в модели — это воспроизведение, нарушение признано |
| ЕС | Директива 2019/790, ст. 4; AI Act, ст. 53 | — | Анализ текстов и данных разрешён, если правообладатель не запретил его в машиночитаемой форме; поставщики моделей общего назначения обязаны соблюдать такие запреты и публиковать сводку об обучающих данных |
| Китай | Временные меры, ст. 7 | 15.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»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/>спам-фильтры, игры"]
Отдельный режим — для моделей общего назначения (то есть LLM): техническая документация, политика соблюдения авторского права, сводка обучающих данных. Модели, обученные с затратой более 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. Для релиза своей модели важно четыре вещи:
- Открытые веса ≠ открытый исходный код. Веса без данных и кода обучения — это «лестница открытости», а не open source.
- Производная модель наследует лицензию базы. LoRA поверх Llama — под лицензией Llama, со всеми её ограничениями (порог 700 млн пользователей, правила использования, слово «Llama» в названии).
- Пермиссивные лицензиипермиссивная (разрешительная) лицензияEN permissive licenseMIT, Apache-2.0, BSD — разрешают коммерческое использование и изменения почти без условий, кроме сохранения уведомления об авторстве. (MIT, Apache-2.0) у Qwen, DeepSeek и многих других китайских моделей упрощают жизнь, но требуют сохранить уведомления; Apache-2.0 даёт ещё и патентную лицензию.
- Данные тоже под лицензией. CC BY-NC в датасете может запретить коммерческое использование результата — проверяйте лицензии и SFT-, и DPO-данных.
Чек-лист ответственного релиза
Заголовок раздела «Чек-лист ответственного релиза»Для выпускного проекта (урок 10.1.1) и любого публичного релиза:
- Карточка модели: назначение, где применять нельзя, языки, ограничения, известные провалы.
- Данные: источники и их лицензии, как фильтровали персональные данные и токсичность, проверка контаминации (урок 7.3.1).
- Лицензия совместима с базовой моделью и данными; уведомления сохранены.
- Безопасность: небольшой набор вредных и безобидных запросов, ASR и доля ложных отказов с интервалами Уилсона (урок 9.3.4).
- Смещения: контрфактические пары на русском, разрыв с интервалом; метрики по группам, если модель что-то решает о людях.
- Запоминание: проверка, не воспроизводит ли модель дословно куски обучающих данных.
- Сервис: маркировка сгенерированного контента и сообщение «вы говорите с ИИ», если этого требуют законы ваших пользователей; срок хранения логов; контакт для жалоб.
Практика
Заголовок раздела «Практика»Две части. Аудит смещений LLM-скринера резюме: метрики по группам, отчёт о справедливости, поиск нарушений по полу и возрасту. И детектор персональных данных на регулярных выражениях: российские телефоны, email, паспорт РФ — с маскированием, как перед записью логов или добавлением документа в датасет.
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-модели, а итог всё равно проверяют выборочно глазами.
Проверь себя
Заголовок раздела «Проверь себя»- Смещения приходят из представленности данных, исторической разметки, ассоциаций в текстах и петель обратной связи. Измеряйте по группам: паритет и правило 4/5, равенство TPR; все метрики сразу недостижимы — выбирайте по вреду. Для LLM — грамматичные контрфактические пары на русском.
- Авторское право: в США обучение на законно полученных книгах признано добросовестным использованием, пиратские копии — нет; британский и немецкий суды разошлись в вопросе, «хранит» ли модель произведения. Сгенерированное охраняется только через доказанный вклад человека.
- Персональные данные: GDPR, PIPL и 152-ФЗ требуют основания обработки, ограничивают передачу за рубеж и штрафуют за утечки; фильтруйте данные до обучения, маскируйте логи, удаляйте из RAG-индекса.
- Регулирование: ЕС — по уровню риска (сроки сдвинуты поправками 2026 года), Китай — регистрация сервисов, стандарты и обязательная маркировка с 2025 года, Россия — рамочный 243-ФЗ с 01.09.2026.
- Перед релизом пройдите чек-лист: карточка модели, данные и лицензии, ASR и ложные отказы, смещения, запоминание, требования к сервису.
Дальше: ступень 10 — выпускной проект. Начнём с техзадания: токенизатор → претрейн → SFT → GRPO → квантование → сервер → агент, а чек-лист релиза из этого урока пригодится в отчёте.