Опыт обезличивания медданных с LLM: кейс Yandex Cloud и НМИЦК | AiManual
AiManual Logo Ai / Manual.
02 Июн 2026 Новости

Как Yandex Cloud и НМИЦК заставили LLM молчать о пациентах: кейс по обезличиванию данных

Yandex Cloud и НМИЦК применили LLM для обезличивания медицинских данных. Как нейросети научились вырезать ФИО, адреса и диагнозы из историй болезни, не нарушая

Анамнез: зачем врачу нейросеть с доступом к картам?

Больница — это место, где конфиденциальность должна быть абсолютной, но документация — бесконечной. Каждая выписка содержит ФИО, адрес, дату рождения, номер полиса. Всё это нужно для лечения, но категорически нельзя показывать исследователям без согласия пациента.

Традиционные методы обезличивания — регулярные выражения и списки стоп-слов — спотыкаются на контексте. «Иванов» может быть фамилией, а может — названием улицы «Иванова» или даже частью диагноза (ирония). Нужно понимать смысл, а не просто искать символы.

Yandex Cloud и НМИЦК им. А.Л. Мясникова запустили пилот: использовать LLM не для анализа диагнозов, а для того, чтобы спрятать личность пациента, сохранив все медицинские детали.

Что именно обезличивали? (спойлер: не только ФИО)

Объект — электронные медицинские карты пациентов с ишемической болезнью сердца. Тысячи записей: протоколы осмотров, выписки, направления. Каждая запись содержит до 20-30 именованных сущностей, которые нужно либо вырезать, либо заменить на псевдонимы. Задача — сделать анонимизацию необратимой, но сохранить статистическую ценность данных.

Стандартный pipeline выглядит так:

  • Распознавание сущностей (NER) с помощью LLM.
  • Замена найденных сущностей на маски (например, [ПАЦИЕНТ], [ДАТА], [АДРЕС]).
  • Проверка — не осталось ли скрытых упоминаний (псевдонимы через контекст).
  • Генерация синтетических данных для датасетов (опционально).

Почему обычный NER не справился

Даже лучшие open-source модели NER (например, на базе BERT) путаются, когда одно слово — и фамилия, и топоним одновременно. LLM же видит весь абзац и понимает: если перед словом стоит «гр.» или «ул.» — это адрес, если «пациент» — имя. Но есть нюанс: галлюцинации. Модель может сама дописать номер паспорта, который доктор не указал, посчитав логичным. Поэтому пришлось ввести пост-обработку: каждое найденное значение проверять регулярными выражениями на правдоподобность.

Интересная деталь: в Yandex Cloud использовали закрытый контур — данные никогда не покидали облако, запросы шли только к LLM, развернутой на выделенных GPU. Это контрастирует с историей адвоката, потерявшего Gmail из-за NotebookLM. Там данные утекли через внешний сервис, здесь — полная изоляция.

Первый вздох: LLM вместо эпизодов

До внедрения LLM связка Yandex Cloud и НМИЦК обезличивала записи вручную — врачи сами удаляли лишнее. Одна запись занимала 5-10 минут. С LLM время сократилось до 30 секунд на документ. При этом точность (recall) на персональные данные достигла 98,7% (оценка на валидационной выборке из 500 записей).

Проблема: модель не всегда корректно обрабатывает уменьшительно-ласкательные формы имен («Сашенька», «Витюша») — ловит их не всегда. Пришлось дообучать на корпусе разговорных записей.

Как сбалансировать анонимность и качество

Любое обезличивание — это потеря информации. Если заменить «пациент Иванов Иван Иванович» на «пациент [ФИО]» — данные становятся анонимными, но для исследователя теряется возможность корреляции «возраст-пол-фамилия». Здесь применили псевдонимизацию: замену на вымышленные данные, сохраняющие нужные характеристики (пол, национальная принадлежность фамилии). Об этом же говорится в статье «Как анонимизация данных влияет на качество LLM-агентов» — там детально разбирают, как маскирование бьет по полезности датасетов.

В итоге Yandex Cloud разработал правило: для всех ФИО — псевдоним, для дат — сдвиг на +/- 7 дней, для адресов — удаление до названия города. Такой гибридный подход внедрили в production.

Где LLM выстрелила, а где облажалась

Сильные стороны:

  • Распознавание нестандартных сокращений («Б-ца» → больница, «п/о» — подъезд).
  • Понимание инверсий («Иван Михайлович» vs «М.И. Иванов»).
  • Автоматическая категоризация сущностей — не просто «имя», а «лечащий врач», «пациент», «родственник».

Провалы:

  • Галлюцинации при пустых полях — модель могла «восстановить» отсутствующий диагноз в виде текста, содержащего личные данные (например: «пациентка [ПАЦИЕНТ] с болезнью [ДИАГНОЗ]». — вместо диагноза вставить слово «коклюш», хотя его не было).
  • Проблемы с кириллическими транслитерациями иностранных имен.

Для борьбы пришлось добавить слой верификации: каждую замену сравнивать с исходным текстом через другую, меньшую LLM (типа Mistral-7B), которая не генерирует, а проверяет. Получился дуэт — генератор + контролер.

Экономия: часы вместо недель

До автоматизации команда НМИЦК тратила на обезличивание 30 человеко-часов на 1000 записей. После — 2 часа машинного времени и 10 минут ручной верификации. При этом RR (relative recall) вырос с 85% до 98%. Кажется, мелочь, но для создания цифрового регистра ишемической болезни, где ожидается 50 000 записей, это разница между годами работы и месяцами.

Кстати, похожий подход применяется в OncoAgent — там тоже агенты на LangGraph обрабатывают чувствительную онкологическую информацию, но фокус на мультиагентной диагностике, а не на обезличивании.

Секретный ингредиент: дообучение на синтетике

Чтобы модель не пропускала редкие паттерны (например, указание «родственник со стороны отца — Иванов»), команда сгенерировала 10 000 синтетических медицинских записей с известными персональными данными. На них дообучили YandexGPT через LoRA. Результат: точность повысилась на 3,2% на тестовой выборке, а главное — исчезли «черные дыры» в распознавании сложных составных имен.

💡
Никогда не используйте одну LLM для анонимизации без пост-проверки. Галлюцинации могут оставить реальные данные, а вы этого не заметите.

Что дальше: от обезличивания к симуляции пациентов

Следующий логичный шаг после того, как научились прятать данные — генерировать полностью синтетические медицинские истории, неотличимые от реальных, но безопасные. Yandex Cloud уже тестирует эту технологию в паре с НМИЦК. Если это удастся, врачи получат бесконечный полигон для обучения и тестирования алгоритмов, а пациенты — гарантию, что их данные никогда не покинут больничные стены. Но тут возникает этическая дилемма: если синтетические данные статистически повторяют реальные, не являются ли они той же приватной информацией, только в другом обличье? Похоже, юристам предстоит переписать определение «персональные данные».

А пока — простой совет для тех, кто работает с медицинскими текстами: никогда не доверяйте LLM обработку персональных данных в одиночку. Всегда ставьте рядом валидатор, хотя бы простой NER-модель. И помните, что LLM-Shield — не панацея, а только часть экосистемы безопасности.

Подписаться на канал