
Kavach PII 270M: локальный поиск персональных данных и готовые GGUF
На странице · 3 разделов
23 сентября 2026 года автор Kavach PII 270M выложил полные веса Gemma 3 270M и девять GGUF-файлов для локального поиска персональных данных в тексте. Есть инструкции для llama.cpp, Ollama и LM Studio; результаты точности получены самим автором преимущественно на синтетическом корпусе и не подтверждены независимым тестом.
Kavach PII 270M: локальный поиск персональных данных с GGUF
23 сентября 2026 года автор разместил полные веса inboxpraveen/Kavach-PII-270M и отдельный пакет Kavach-PII-270M-GGUF. История обоих репозиториев показывает первые коммиты в этот день, а закреплённые версии содержат файл модели и девять GGUF-вариантов. Это специализированный детектор персональных данных на базе google/gemma-3-270m-it, а не новая универсальная языковая модель. s1 s2 s3
Зачем это локальному стеку
Kavach получает документ и возвращает JSON-массив пар label и text: например, имена, телефоны, адреса, номера документов и ключи. В опубликованной конфигурации перечислены 52 типа; карточка заявляет поддержку 29 языков, включая русский. Извлечение на собственной машине полезно там, где исходные тексты нельзя отправлять во внешний сервис. Возвращённые значения можно сопоставлять с оригинальным текстом для маскирования, но модель не выдаёт позиции символов напрямую: приложение должно восстановить смещения и проверить, что каждая найденная строка действительно присутствует во входе. s1 s4
Есть два практических пути:
- Полный BF16-чекпойнт для Transformers; рядом выложен отдельный LoRA-адаптер к исходной Gemma 3 270M. Пример загрузки и точный промпт приведены в карточке. Адаптер сам по себе не заменяет базовые веса. s1
- GGUF для llama.cpp, Ollama или LM Studio. Автор рекомендует
Kavach-PII-270M-Q4_K_M.ggufкак стартовую квантизацию; файл присутствует в дереве закреплённой ревизии наряду с F16, Q8_0 и вариантами с дополнительно сжатыми embeddings. Размер файла не является минимальным требованием к RAM или VRAM: контекст, буферы runtime и режим offload тоже занимают память. s2 s5
Для llama.cpp автор предлагает llama-server -m Kavach-PII-270M-Q4_K_M.gguf -c 4096 -ngl 99 --port 8080; для CPU-only в карточке есть отдельный пример с -ngl 0. Для Ollama опубликован пример Modelfile с локальным GGUF, temperature 0 и num_ctx 4096. Нужна именно инструкция для извлечения из карточки: автор предупреждает, что перефразирование промпта и случайное сэмплирование ухудшают стабильность JSON. Ни одна из этих команд не проверялась Modelium на собственном оборудовании. s1 s2
Что говорят испытания — и чего они не говорят
По авторскому отчёту, на отложенной части собственного набора из 3372 документов и 13 646 размеченных значений полный вариант показал 88,4 F1 для совпадения типа и значения. Сравнение с GLiNER и Presidio выполнялось автором на этом же корпусе; сопоставление меток было приблизительным, а Presidio работал с англоязычной конфигурацией spaCy. Нельзя переносить разницу с этими baseline на произвольные реальные документы. s1 s6
Для GGUF автор отдельно измерил 400 стратифицированных документов из тестовой выборки: Q4_K_M и F16 получили по 89,2 F1 в этом поднаборе. Замер сделан в llama-server с полным GPU offload, greedy decoding и одинаковыми промптами на RTX 5060 Laptop. Это не тот же объём выборки, что 3372 документа, и не независимое воспроизведение. Автор прямо указывает, что весь корпус синтетический, хотя в него добавляли шум OCR/ASR и фрагменты реальных текстов; собственный генератор данных использовался и для gold-разметки теста. s1 s2 s6
Ограничения важны именно для обезличивания: по отчёту автора, случайная смесь регистра снижает F1 на 15,6 пункта; отдельные типы вроде почтового индекса и индийского PAN распознаются заметно слабее. На тесте были ответы, не совпавшие со строками исходного документа. Поэтому перед выпуском в рабочий конвейер стоит прогнать собственную контрольную выборку, отбрасывать ненайденные в тексте значения и предусмотреть дополнительную проверку для регулируемых данных. Модель — помощь при обнаружении PII, не гарантия выполнения требований по защите данных. s1 s6
Лицензия и вывод
Метаданные обоих пакетов указывают gemma: веса производны от Gemma 3 и распространяются с условиями Gemma Terms of Use и Prohibited Use Policy, которые автор передаёт получателям. Это не лицензия Apache-2.0 для весов; отдельные условия для кода оценки и синтетического датасета не меняют лицензию модели. Перед коммерческим внедрением и дальнейшим распространением следует проверить применимые условия Gemma. s1 s2 s7
Практический итог: веса и готовые GGUF уже доступны для локального прототипа PII-редактора; заявленную точность надо перепроверять на собственных данных, особенно на сложных документах и редких типах идентификаторов. s1 s2
Источники
- Kavach PII 270M: карточка модели, инструкция, обучение и ограничения — Первоисточник автора; 52 типа, 29 языков, синтетическая выборка, метрики и ограничения.. Получено 23.09.2026.
- Kavach PII 270M GGUF: карточка квантизаций и запуска — Официальные GGUF автора, команды запуска и условия испытания 400 документов.. Получено 23.09.2026.
- История коммитов полного чекпойнта Kavach — Первый коммит 23.09.2026 12:04 UTC; upload весов в 12:12 UTC. История GGUF проверена отдельно.. Получено 23.09.2026.
- Kavach: опубликованный список классов PII — Машиночитаемый список 52 меток.. Получено 23.09.2026.
- Kavach: дерево файлов GGUF на закреплённой ревизии — Наличие девяти GGUF-файлов проверено по HF API.. Получено 23.09.2026.
- Kavach: полный отчёт оценки по типам и языкам — Авторская оценка по 3372 документам, 13646 gold values, ошибки редких типов.. Получено 23.09.2026.
- Google: базовая модель Gemma 3 270M IT и условия доступа — Метаданные лицензии gemma и требование принять условия использования; ссылки на Terms и prohibited-use policy в карточке автора.. Получено 23.09.2026.