OpenAI Privacy Filter: обзор открытой модели для PII
OpenAI тихо выложила открытую модель, которая находит и прячет личные данные прямо у тебя на ноутбуке. Разбираемся, насколько она хороша на реальных данных и кому пригодится.
TL;DR: OpenAI Privacy Filter — открытая модель (Apache 2.0) на 1,5 млрд параметров, которая находит и маскирует персональные данные в тексте: имена, адреса, телефоны, номера карт, пароли и API-ключи. Главная фишка в том, что она запускается локально, прямо на ноутбуке, и данные не уходят на чужой сервер. На синтетическом бенчмарке выдаёт F1 96%, но на «грязных» реальных данных без дообучения пропускает многое.
OpenAI обычно шумит про новые GPT, а эту модель выкатила в апреле 2026 почти без анонса. Для разработчиков, которые возятся с пользовательскими данными, она может оказаться полезнее очередного флагмана. Privacy Filter закрывает скучную, но болезненную задачу: как убрать личные данные из текста до того, как он попадёт в логи, обучающую выборку или поисковый индекс.
Я покопался в анонсе, карточке модели и паре независимых бенчмарков. Рассказываю, что это за зверь, как его запустить и где он реально спотыкается.
Что такое OpenAI Privacy Filter и зачем он нужен
Privacy Filter ищет в тексте персональные данные (PII, personally identifiable information) и помечает их, чтобы потом замаскировать или вырезать. Звучит как задача для регулярок, и отчасти так и есть. Телефон или email можно поймать по шаблону. Проблема в том, что шаблоны слепы к контексту: они не понимают, что «Иванов» в одном предложении это публичная фамилия автора книги, а в другом имя конкретного пациента, которое надо скрыть.
Privacy Filter работает на понимании языка и контекста вокруг слова. По словам OpenAI, он лучше отличает информацию, которую стоит сохранить, потому что она публичная, от той, что относится к частному лицу и должна быть скрыта. То есть берёт на себя ту часть задачи, где регулярки обычно ломаются.
Теперь про то, зачем OpenAI вообще отдала модель в open source. Веса открыты под Apache 2.0, и компания прямо формулирует мотив: инфраструктуру для приватности должно быть проще инспектировать, запускать и улучшать. Их финальная фраза в анонсе: «наша цель, чтобы модели изучали мир, а не частных лиц». За красивым лозунгом есть практический смысл: если ты чистишь данные перед обучением модели, тебе нужен инструмент, который можно запустить у себя, а не гонять сырые данные на сторонний сервер. Сама OpenAI, к слову, использует дообученную версию Privacy Filter в своих внутренних процессах.
Архитектурно это компактный родственник gpt-oss: авторегрессионную модель переделали в двунаправленный классификатор токенов. Вместо генерации текста она за один проход размечает каждый токен, а потом собирает из меток связные фрагменты. Отсюда и скорость: разметка всего входа за один forward pass, без построчной генерации.
Как запустить Privacy Filter локально
Тут OpenAI постаралась. Запустить модель можно буквально в три команды.
Первый путь — CLI-утилита opf из репозитория на GitHub. Ставишь пакет, и чекпоинт сам подтянется при первом запуске:
pip install -e .
opf "Alice was born on 1990-01-02, email alice@example.com"
Утилита умеет работать на CPU (--device cpu), чистить файл целиком (opf -f file.txt) и встраиваться в пайпы, так что её можно воткнуть в любой однострочник через cat ... | opf. Есть режимы opf eval для проверки на размеченном датасете и opf train для дообучения.
Второй путь — прямо в браузере через Transformers.js, без сервера вообще. Модель достаточно маленькая, чтобы крутиться на WebGPU:
import { pipeline } from "@huggingface/transformers";
const classifier = await pipeline(
"token-classification", "openai/privacy-filter",
{ device: "webgpu", dtype: "q4" },
);
const output = await classifier(
"My name is Harry Potter and my email is harry.potter@hogwarts.edu"
);
На выходе получишь размеченные фрагменты:
[
{ "entity_group": "private_person", "word": " Harry Potter" },
{ "entity_group": "private_email", "word": " harry.potter@hogwarts.edu" }
]
Поиграться без установки можно в демо на Hugging Face Spaces. Детальный разбор с дообучением под свои данные я вынесу в отдельный гайд, тут важнее показать, что порог входа низкий.
Что модель умеет находить
Privacy Filter размечает восемь категорий данных:
private_person— имена частных лицprivate_address— адресаprivate_email— почтаprivate_phone— телефоныprivate_url— ссылкиprivate_date— датыaccount_number— номера счетов, включая банковские картыsecret— пароли и API-ключи
Последние две категории интереснее всего для разработчиков. account_number ловит широкий спектр номеров, от кредиток до банковских счетов, а secret заточен под утечки в коде: пароли, токены, ключи доступа. У OpenAI в карточке модели даже есть отдельная оценка на поиск секретов в кодовых базах.
Из практичного: контекст до 128 000 токенов, так что длинный документ можно прогнать целиком, без нарезки на куски. Веса занимают мало, потому что из 1,5 млрд параметров активны лишь 50 млн (это разреженная MoE-архитектура с 128 экспертами). И есть ручка для баланса между полнотой и точностью: можно настроить, чтобы модель маскировала агрессивнее или, наоборот, аккуратнее.
Главный козырь для адаптации — дообучение. OpenAI приводит цифру: на узкой доменной задаче дообучение подняло F1 с 54% до 96% буквально на небольшом объёме данных. То есть из коробки модель можно рассматривать как крепкую базу, которую затачиваешь под свои тексты.
Насколько Privacy Filter точен на реальных данных
Вот тут начинается честный разговор. На бенчмарке PII-Masking-300k OpenAI показывает F1 96% (точность 94%, полнота 98%), а на исправленной версии бенчмарка — 97,4%. Цифры отличные. Но PII-Masking-300k это синтетический датасет с чистыми, аккуратными примерами.
Команда Tonic.ai прогнала модель на реальных данных: 500+ документов из четырёх доменов — веб-страницы, медицинские записи, юридические договоры и расшифровки звонков в колл-центр. Результат отрезвляющий. По полноте модель из коробки проседает сильно: на веб-краулах recall падает до 10%, на медицинских записях до 38%. Точность при этом нормальная (0,77–0,85). Проще говоря, когда модель не уверена, она молчит, а не уверена она часто.
Это сознательный выбор OpenAI: дефолтная настройка смещена в сторону точности, потому что излишнее маскирование портит данные. Примеры промахов у Tonic показательны. Фраза из расшифровки звонка «Visa ending in 4427» осталась нетронутой. Email с доменом .co.uk модель пропустила, хотя имя и телефон в том же блоке поймала. Адрес, спрятанный после пометки «Fax No.», тоже ушёл мимо. Это всё типичные паттерны живого текста, которых мало в синтетических бенчмарках.
Полноту можно поднять той самой ручкой настройки, но Tonic показал цену: при агрессивных настройках модель начинает выдавать в пять раз больше срабатываний и помечает обычные слова вроде «our» или «please» как имена. Лечится это дообучением. По их данным, на медицинских записях хватает 500 размеченных документов, чтобы догнать зрелый коммерческий редактор, а вот веб-данные упрямые: даже на 10 тысячах примеров остаётся отставание. Вывод Tonic мне нравится формулировкой: «модель это лёгкая часть, трудная часть это данные».
Ещё один важный кейс подсветили в Cribl: телеметрия и логи. В машинных данных персональные данные редко выглядят как аккуратные фразы естественного языка, они прячутся внутри вложенных полей, разделителей и сериализованных payload-ов. Privacy Filter обучен на тексте, и на такой полуструктурированной каше он работает заметно хуже специализированных моделей. Если твоя задача чистить логи на лету, это не про Privacy Filter.
Кому подойдёт, а кому нет
Если коротко: это сильная открытая база, из которой ещё надо собрать рабочий редактор. Продакшн-задачи прямо из коробки она не закрывает.
Брать стоит, если ты разработчик и тебе нужно дёшево предобработать текст локально перед тем, как он уйдёт в обучение, индексацию или логи. Apache 2.0 снимает юридические вопросы, модель крутится хоть в браузере, дообучается малой кровью. Как фундамент под свой PII-пайплайн она выглядит отлично, особенно с учётом цены (бесплатно) и размера. Для пет-проектов и внутренних инструментов, где не хочется гонять данные в облако, тоже хороший выбор.
А вот чего я бы не делал, так это не ставил бы её как единственный заслон в чувствительных областях. OpenAI сама честно пишет в ограничениях: это не инструмент анонимизации, не сертификация соответствия и не замена ручной проверки. В медицине, юриспруденции и финансах дефолтные настройки без дообучения и человеческого контроля пропустят слишком многое, а recall в 10–38% на реальных данных это не та цифра, на которую можно положиться вслепую. Для русского языка и не-латиницы тоже придётся дообучать: модель заточена в первую очередь под английский.
Думаю, главная ценность этого релиза даже не в самой модели. Важнее сигнал: OpenAI отдала рабочий инструмент для приватности в open source под максимально свободной лицензией. Это снижает порог для всех, кто хочет встроить защиту данных в свои пайплайны и не платить за это облачному вендору. А дальше всё как обычно: голая модель это процентов двадцать работы, остальное — ваши данные и их разметка.
Частые вопросы
Privacy Filter анонимизирует данные? Нет. OpenAI прямо называет это инструментом для маскирования и минимизации данных, но не анонимизацией и не гарантией соответствия GDPR. Это один из слоёв защиты, который работает в связке с другими, а не вместо них.
Работает ли он с русским языком? Модель обучена в основном на английском, и на других языках и не-латинице точность падает. Для русского текста без дообучения на своих данных рассчитывать на хороший результат не стоит.
Сколько он стоит? Бесплатно. Лицензия Apache 2.0 разрешает коммерческое использование, дообучение и встраивание в свои продукты без ограничений.
Что ещё почитать
- Как запустить OpenAI Privacy Filter локально — пошаговый гайд: установка, маскирование PII и дообучение
- MiniMax M3: открытая модель бьёт GPT-5.5 в кодинге — ещё один сильный релиз с открытыми весами
- Kimi K2.7 Code: обзор открытой модели для кодинга — открытая альтернатива для разработчиков
- GLM-5.2 в Claude Code: 1M контекста дешевле Claude — про длинный контекст и экономию на open-weight моделях