Только персональные данные —
в чёрное.
Noir — компактная LLM для маскирования: получает документ и инструкцию, что скрыть, и возвращает список подходящих мест. Документы можно обработать на CPU внутри компании — до того, как они уйдут наружу. При прокрутке по документу проходит луч света.
JA担当の山田太郎です。お電話は03-0000-1234までお願いします。
ENPlease call Emily Carter at (555) 010-4477 before March 3.
DEFrau Anna Becker wohnt in der Lindenstraße 12, 10115 Berlin.
HRIvan Horvat (42 godine) javio je da je na bolovanju.
* Все тексты, имена и номера вымышлены. Анимация выше — запись примера.
Что скрывать —
скажите обычными словами.
«Персональные данные», «контакты», «только без возраста». Скажите так, как говорите обычно, — и в одном и том же документе будут скрыты разные места. Нажимайте кнопки или просто смотрите.
Тема: ООО «Образец» — уточнение условий договора
ООО «Образец», административный отдел, Ивану Петрову
Здравствуйте! Вам пишет Анна Смирнова из компании «КотоДанные».
В пятницу, 20 ноября, хотела бы обсудить продление договора. Ежемесячная плата остаётся прежней — 48 000 ₽.
Мне сообщили, что ваш сотрудник Сергей Кузнецов (42 года) сегодня отсутствует из-за болей в спине.
Для связи: +7 (000) 000-12-34 или [email protected].
Адрес для отправки: г. Энск, ул. Примерная, д. 1, БЦ «Образец», 5-й этаж
* Это поле — пример работы: в нём проигрываются заготовленные ответы (настоящая модель не запущена). Все тексты вымышлены.
Лишнего скрывает меньше,
чем 120B.
Мы сравнили Noir с gpt-oss-120b (117 млрд параметров) на 100 японских и 100 английских документах, с одинаковыми инструкциями. Листы сверху — примеры ошибок каждого типа. Столбики снизу — доля таких ошибок: чем короче, тем лучше.
* Замеры на нашем собственном тесте (ноябрь 2026 г., Q4_K_M; вместе с общими правилами для почты, телефонов, URL и дат). Подробные условия — в конце страницы.
Чем размытее инструкция,
тем заметнее разница.
Сравниваем число пропусков на весах: чаша, где пропусков больше, опускается. Когда типы перечислены явно, модели идут вровень. Но при размытых инструкциях вроде «персональные данные» или с оговоркой «кроме…» разница растёт.
Noir0%
gpt-oss-120b0%
* Японский и английский вместе. Доля пропусков (%, 1 клетка = 1 %). Инструкции: 69 с перечнем типов, 104 размытых, 27 с исключением.
4 языка —
результат по каждому.
Для каждого языка есть своя версия Noir (для японского и английского — общая). Жёлтым отмечены цифры лучше, чем у gpt-oss-120b.
- В хорватском и немецком пропусков почти столько же, сколько у gpt-oss-120b. Чаще всего модель пропускала даты и время в европейском формате — «02.11.2026», «14:12 Uhr».
- По нашей оценке, два дополнительных правила для таких дат и времени снизят долю пропусков с 31 до 23 % в хорватском и с 25 до 15 % в немецком — это меньше, чем у gpt-oss-120b (24 % и 19 %). Планируем добавить их в продукт. в планах
В ответ приходит
JSON.
Модель возвращает список найденного, где одно и то же собрано вместе. Строки записаны точно так, как в документе, поэтому их можно сразу найти в тексте и заменить.
Телефон господина Кузнецова — +7 (000) 000-12-34,
почта — [email protected].
- id: один человек или объект — одна запись («Сергея Кузнецова» и «Кузнецова»).
- type: название одной из 48 меток, на языке промпта (на японском — «人名»).
- mentions: строки точно так, как они записаны в документе. Если ничего не найдено —
[].
Найдите в следующем документе всё,
что относится к цели. …(сокращено)
Вывод — только массив JSON: [{"id": "E1",
"type": "...", "mentions": ["..."]}]
Цель:
Персональные данные, кроме возраста
Способ: скрытие (replacements не заполнять)
Документ:
(здесь документ)Один документ —
около 20 секунд.
Показываем, как CPU ноутбука (без GPU) читает документ примерно на 900 знаков и возвращает места, которые нужно скрыть. Запись ускорена в 5 раз, секундомер показывает настоящее время.
0.0сускорено в 5 раз
Чтение документаЗапись мест для скрытия
Скрыто 0 / 0
- Что скрыть
- Имя, телефон, эл. почта, адрес
- Чтение
- около 140 токенов/с
- Запись
- около 24 токенов/с
- Оборудование
- Core i7-11800H, 8 потоков
- Если обрабатывать документы по очереди с такой скоростью, один компьютер пройдёт около 170 тысяч знаков в час.
- На GPU, по 16 документов одновременно, 100 документов заняли около 20 секунд (у gpt-oss-120b — около 90). внутренний замер
* Документ и скрытые места — пример (на этой странице модель не запущена). Время рассчитано по скорости чтения и записи, измеренной у нас. Разные упоминания одного человека объединяются и скрываются разом.
Режем текст
по 1 000 знаков.
Длинный документ режем на куски примерно по 1 000 знаков и передаём по одному. Когда длина такая же, как при обучении, модель меньше пропускает. В конце результаты объединяются и дополняются правилами, которые ловят типовые форматы: почту, телефоны, URL и даты.
Запуск (llama.cpp)
llama-server -m noir-ja-en-Q4_K_M.gguf \ -c 16384 -t 8 -np 1 --jinja --port 8191
ДоступнаСкачать веса →
- Режим размышлений выключаем (
enable_thinking: false), ставимtemperature 0. - Модель выбираем по языку: для японского и английского — ja-en, для немецкого — de-en, для хорватского — hr-en.
- На CPU (Core i7-11800H, 8 потоков) кусок в 1 000 знаков занимает около 20 секунд. внутренний замер
Тот же документ —
другая инструкция.
Выберите инструкцию и примените её к документу-примеру. Меняется инструкция — и в том же документе скрываются другие места. Промпт, который уходит модели, и JSON, который она возвращает, тоже можно посмотреть.
1 Выберите документ
2 Выберите инструкцию запуск сразу после выбора
Или выберите типы сами
Промпт, который уходит модели
JSON, который возвращает модель
[]
Как измеряли
и как связаться.
- Документы: по 100 на японском, английском, немецком и хорватском. Это вымышленные тексты, написанные для теста, — письма, протоколы, кадровые записки, счета, медицинские записи; в них размечено, что нужно скрыть.
- Инструкции: для каждого документа — одна из трёх: с перечнем типов, размытая или с исключением. gpt-oss-120b (reasoning effort medium) получала тот же промпт.
- Мерки: пропуски — доля мест, которые нужно было скрыть, но они остались; лишнее — доля скрытых мест, которые скрывать не требовалось; нарушение — доля скрытого, чей тип в инструкции не назван.
- Дата: ноябрь 2026 г., Q4_K_M. Перед официальным выпуском данные пересмотрим.