2 мин чтения

GLiNER: zero-shot NER без фиксированных меток

GLiNERNERNLP

GLiNER — открытая модель украинской команды urchade для zero-shot NER: она извлекает сущности по меткам, заданным во время инференса, а не только по фиксированной онтологии. Это важно для гибких NLP-конвейеров, где набор типов меняется, а применение большой языковой модели для одной задачи выглядит избыточным.

Что именно делает GLiNER

Я бы смотрел на GLiNER как на специализированную замену двум крайностям: классическому NER с фиксированными классами и большой языковой модели, которой поручили найти несколько сущностей. Модель принимает нужные типы сущностей во время инференса и сопоставляет с ними фрагменты текста. Новый список меток не требует обязательного переобучения всей системы.

В официальной документации GLiNER команды urchade проект расшифровывается как Generalist and Lightweight Model for Named Entity Recognition. Базовая архитектура использует предобученный двунаправленный текстовый энкодер, представления фрагментов текста и представления меток. Соответствие между фрагментом и типом сущности оценивается через скалярное произведение и sigmoid.

И вот тут становится интереснее: GLiNER описан не как одна жесткая архитектура, а как семейство вариантов под разные режимы.

  • UniEncoderSpan работает со span-представлениями и, согласно документации, обычно лучше подходит для наборов примерно до 30 типов сущностей.
  • UniEncoderToken использует BIO-разметку на уровне токенов. Этот вариант ориентирован на длинные сущности и многозадачные сценарии.
  • BiEncoderSpan разделяет энкодеры текста и меток. Представления меток можно вычислить заранее, поэтому вариант рассчитан на масштабирование до 100 и более типов.

Это важное архитектурное различие. Если список меток стабилен, предварительно рассчитанные представления убирают повторяющуюся работу при инференсе. Если метки постоянно меняются, ценность смещается к гибкости zero-shot NER.

На 20 сентября 2026 года исходное обсуждение не указывает дату нового релиза или конкретную версию. Поэтому я воспринимаю интерес к GLiNER как повод заново оценить зрелый открытый подход, а не как анонс с придуманной срочностью.

Где такой подход действительно меняет расклад

GLiNER выглядит практично там, где типы сущностей задаются пользователем или регулярно меняются. Это извлечение данных из неоднородных документов, прототипирование новой схемы и обработка запросов, для которых заранее закрытая онтология слишком тесна.

Но слово zero-shot не отменяет инженерную проверку. Я бы первым делом измерял качество на целевом языке и домене, устойчивость к похожим названиям меток, границы длинных сущностей, порог уверенности и задержку на пакетах. Именно здесь удобная демонстрация обычно встречается с реальными данными.

Для неизменной узкой схемы классическая дообученная NER-модель все еще может оказаться предсказуемее. Для сотен динамических классов особенно интересен BiEncoderSpan с заранее вычисленными представлениями меток. Главный вопрос не в том, заменит ли GLiNER все NER-системы, а в том, сколько задач извлечения вообще не нуждаются в генеративной модели.

Ранее мы разбирали, как оценивать надёжность LLM-as-a-Judge с помощью IRT-метрик. Этот подход также полезен для проверки качества NER-классификаторов в реальных NLP-сценариях.