Fastino lanza GLiNER2.5: una arquitectura de predicción de límites que elimina la enumeración de tramos de la extracción de información

Los equipos de extracción de información se enfrentan a una elección recurrente. Los modelos de codificadores pequeños son baratos pero rígidos, y los modelos de lenguajes grandes son flexibles pero costosos por documento. Fastino lanzó GLiNER2.5 para reducir esa brecha. El lanzamiento reemplaza la enumeración de tramos con predicción de límites: el modelo puntúa dónde comienza y termina una entidad en lugar de puntuar cada tramo candidato en función de una cuadrícula de ancho. Ese único cambio elimina el ancho máximo de la entidad, permite un contexto de 4096 palabras y mantiene el cálculo lineal en la longitud de la secuencia para un esquema fijo. También desbloquea la decodificación conjunta de relaciones entre entidades, restricciones de etiquetas entre tareas y atributos por tramo. En 16 puntos de referencia de disparo cero, el punto de control multilingüe alcanza 56,17 macro general F1 frente a 56,09 para GLiNER2, con una ganancia de 24,75 puntos en XNLI. Se envían tres puntos de control en Hugging Face bajo Apache 2.0 con los parámetros 74M, 194M y 287M.

¿Es desplegable?

Sí, Fastino lanzó tres puntos de control GLiNER2.5 en Hugging Face en Apache 2.0, con inferencia local en CPU, CUDA o MPS mediante pip install “gliner2[local]” (Python 3.10+). Actualmente, ningún proveedor de inferencia aloja los puntos de control, por lo que el autohospedaje es la ruta de implementación.

Nivel de empresa: cualquier nivel. Los puntos de control 74M y 194M se ejecutan en cajas de CPU estándar, por lo que un equipo de dos personas puede realizar la extracción sin presupuesto de GPU. Las organizaciones más grandes obtienen una alternativa ajustable y alojada de forma privada a la extracción LLM por token. Industrias: operaciones legales y contractuales, documentación clínica y sanitaria, servicios financieros, reclamaciones de seguros, atención al cliente y herramientas de seguridad de IA. Aplicaciones: Detección y redacción de PII, extracción de cláusulas de contrato, gráficos de conocimiento para la memoria del agente, enrutamiento de agentes y modelos, clasificación de barreras de seguridad, extracción de entidades clínicas con atributos de negación y dosificación.

que cambio

Los modelos GLiNER anteriores ubicaban entidades enumerando tramos candidatos: cada posición inicial emparejada con cada ancho permitido, cada una calificada según el esquema. Ese diseño vinculó la computación a un eje de ancho e impuso un techo estricto a la longitud de la entidad.

GLiNER2.5 elimina la enumeración. El codificador compartido todavía procesa consultas de texto y esquemas en una sola pasada. En lugar de intervalos de puntuación, el modelo predice puntuaciones iniciales y finales sobre los límites de los tokens, además de puntuaciones internas sobre los tokens. Una etapa de propuesta dispersa selecciona los inicios y finales más prometedores por consulta y los empareja, sin restricción de distancia. Luego, un jefe de reclasificación califica a cada candidato utilizando evidencia de límites y contenido general. Los candidatos de relación se extraen del mismo grupo en lugar de de una ruta separada.

El equipo de Fastino informa que el cálculo se mantiene lineal en la longitud de la secuencia para un esquema fijo y un presupuesto candidato.

Cinco capacidades que siguen

Extracción de contexto largo: la eliminación de representaciones de intervalos explícitos reduce la memoria lo suficiente como para entrenar en secuencias de hasta 4096 palabras. Los puntos de control se envían con max_len=4096. La biblioteca también agrega ayudas de fragmentación nativas (extract_entities_long, extract_long, Classifier.classify_long, JointIE.extract_long) que reasignan intervalos a desplazamientos de caracteres en el documento original. Longitud de extensión ilimitada: GLiNER2 enumera extensiones de hasta un ancho fijo, generalmente alrededor de doce palabras; las entidades más largas nunca fueron calificadas. En GLiNER2.5, un tramo puede abrirse en el primer token y cerrarse en el último. Una cláusula de indemnización de cuarenta palabras cuesta lo mismo localizar que un nombre de dos palabras. Extracción conjunta de entidades y relaciones: los usuarios declaran tipos de entidades, relaciones escritas y reglas estructurales (unique_head=True, no_self_loops()), y una búsqueda por haz ensambla un gráfico globalmente consistente. Nunca se admiten combinaciones no válidas, por lo que la salida se ajusta por construcción. Verifique el resultado factible antes de usar el gráfico. Clasificación restringida: las reglas C.implies y C.excludes vinculan etiquetas entre tareas durante la decodificación. El modelo de barandilla GLiGuard de Fastino ilustra el problema que se está resolviendo: sin restricciones, un mensaje puede etiquetarse como seguro y al mismo tiempo marcarse para inyección rápida. Si no existe ninguna asignación válida, el clasificador genera un error. Atributos de extensión: los grupos de atributos, como el sentimiento, se adjuntan a tipos de entidades específicos a través de apply_to y se decodifican extensión por extensión en el mismo paso hacia adelante. Las entidades regresan calificadas en lugar de planas.

La familia modelo

Los tres comparten la misma API pública. Cargue con AutoExtractor, no con el cargador de tramos GLiNER2 heredado.

Puntos de referencia

El equipo de Fastino evalúa el disparo cero en 16 conjuntos de datos públicos e informa la macro F1 frente a GLiNER2 en tamaños coincidentes.

Promedio general: GLiNER2.5 Multi alcanza 56,17 frente a 56,09 de GLiNER2 Multi. GLiNER2.5 Base alcanza 54,87 frente a 53,34. La ganancia principal es XNLI, donde Multi salta a 62,30 desde 37,55, un aumento de 24,75 puntos. Few-NERD mejora para Base a 55,14 desde 47,22. El RONEC rumano, un idioma no entrenado, mejora para ambos.