Falcon Perception presenta una apuesta clara: un solo Transformer de fusión temprana que procesa imagen y texto en la misma pila para hacer grounding y segmentación de vocabulario abierto. ¿Suena a simplificación arriesgada? Sí, pero los resultados y el diseño muestran por qué esa simplicidad puede ganar en velocidad, claridad y escalabilidad.
Diseño central
La idea es directa y elegante. En lugar de la receta clásica vision encoder + fusion decoder, Falcon Perception usa un Transformer autoregresivo que consume una secuencia unificada de parches de imagen, tokens de texto y tokens de tarea desde la primera capa.
- Imagen y texto comparten el mismo espacio de parámetros.
- Uso de una máscara de atención híbrida para respetar la estructura distinta de ambos dominios.
La máscara híbrida es clave: los tokens de imagen se atienden bidireccionalmente entre sí para construir contexto visual global. Los tokens de texto y de tarea siguen atención causal respecto a todo lo anterior —incluida la visualidad— para permitir generación autoregresiva de respuestas y listas de instancias.
Interfaz de salida: Chain-of-Perception
¿Cómo representar un número variable de objetos sin explotar en latencia? Falcon Perception usa una interfaz compacta y estructurada en tres pasos por instancia: <coord> → <size> → <seg>.
<coord>predice el centro del objeto y resuelve a qué instancia se refiere el modelo.<size>estima la extensión espacial.<seg>es un embedding que, mediante producto punto con características upsampleadas, genera una máscara en alta resolución.
Este orden reduce ambigüedad y convierte la etapa de máscara en una refinación condicionada por geometría ya resuelta. No hace falta decodificar polígonos token a token, lo que mantiene costos razonables.
Heads y codificación de coordenadas
- Coordenadas y tamaños se decodifican con una cabeza que usa Fourier features: proyección gaussiana aleatoria seguida de senos y cosenos para superar el sesgo espectral y permitir localización continua precisa.
- Las coordenadas decodificadas se reinyectan en la secuencia como condicionamiento para pasos posteriores.
- La cabeza de segmentación realiza un producto punto entre el estado oculto de
<seg>y las características upsampleadas dependientes del contenido.
Datos, preprocesos y curriculum de entrenamiento
Construyeron un pipeline de múltiples etapas para obtener cobertura y dificultad balanceada:
- Clustering jerárquico con embeddings DINOv3 para cobertura uniforme de conceptos.
- Listing denso impulsado por VLMs para generar descripciones por imagen, etiquetadas según dificultad de PBench.
- Minería negativa para contrarrestar alucinaciones.
- Consenso de ensamblado entre SAM 3, Qwen3-VL-30B y Moondream3 para aceptación automática; discrepancias van a anotadores humanos.
- Ratio estricto 1:1 entre positivos y negativos para priorizar la calibración de presencia.
Fases de entrenamiento principales:
- In-Context Listing (450 GT): aprende a listar inventarios de escena con atención causal completa entre queries. Esto construye comprensión global de la escena.
- Task Alignment (225 GT): queries no se ven entre sí, simulando consultas independientes; el entrenamiento se centra en clasificación de presencia y localización.
- Long-Context Finetuning (10 GT): expande contexto para manejar escenas densas sin perder capacidades anteriores.
También usan multi-teacher distillation para la inicialización visual: DINOv3 (ViT-H) para características locales y SigLIP2 para alineación con lenguaje. La distilación trae 74.25% zero-shot en ImageNet-1k y 85.11% linear-probe mIoU en Pascal VOC.
PBench: benchmark diagnóstico
PBench segmenta la evaluación por capacidades dominantes, evitando un único puntaje opaco. Niveles y ejemplos:
| Nivel | Capacidad | Ejemplo de prompt |
|---|---|---|
| L0 | Objetos simples | car |
| L1 | Atributos y subtipos | red car |
| L2 | OCR-guided | Diet Coke bottle |
| L3 | Comprensión espacial | car on the left |
| L4 | Relaciones e interacciones | person holding umbrella |
| Dense | Escenas muy concurridas | cientos de instancias |
Cada muestra apunta a una capacidad dominante, lo que permite un perfil de fortalezas y debilidades y ayuda a decidir si invertir en datos, curriculum o componentes adicionales.
Ablaciones y elecciones de diseño
Resultados prácticos de decisiones puntuales:
- Optimizer Muon para heads especializados vs AdamW: +4.8 puntos en detección SA-Co.
- Orden rasterizado de instancias vs aleatorio: +10 puntos en SA-Co.
- Regularización por características Gram para evitar deriva de distilación: +1.5 puntos en segmentación.
- Normalización global de pérdida para corregir sesgos al empacar secuencias variables en FSDP.
Estas elecciones muestran que pequeños ajustes en entrenamiento y ordenamiento son tan importantes como la arquitectura central.
Resultados y comparación con SAM 3
En el benchmark SA-Co open-vocabulary segmentation, Falcon Perception (0.6B parámetros) alcanza Macro-F1 68.0 frente a 62.3 de SAM 3. La mayor brecha aparece en prompts composicionales: OCR, espacialidad y relaciones.
Metricamente:
- Macro-F1: 68.0 vs 62.3 (SAM 3)
- Presencia / calibración (MCC): 0.64 vs 0.82 (SAM 3) — aquí Falcon tiene la principal área de mejora.
Desglose por capacidad (ganancias sobre SAM 3):
| Capacidad | SAM 3 | Falcon Perception | Gap |
|---|---|---|---|
| L0 simple | 64.3 | 65.1 | +0.8 |
| L1 atributos | 54.4 | 63.6 | +9.2 |
| L2 OCR-guided | 24.6 | 38.0 | +13.4 |
| L3 espacial | 31.6 | 53.5 | +21.9 |
| L4 relaciones | 33.3 | 49.1 | +15.8 |
| Dense | 58.4 | 72.6 | +14.2 |
Falcon brilla especialmente cuando la tarea exige composicionalidad: leer texto en objetos, resolver relaciones espaciales o escalar a cientos de instancias.
Falcon OCR: OCR compacto y rápido
Además liberan Falcon OCR, modelo de 0.3B parámetros diseñado desde cero para OCR con la misma idea de early-fusion y máscara híbrida. Entrenado en mezcla curada para parsing de documentos, fórmulas y tablas.
Resultados principales:
- olmOCR: 80.3% (líder en Multi-Column 87.1% y Tables 90.3%).
- OmniDocBench: 88.64, por delante de varios modelos más grandes y/o propietarios.
La ventaja práctica es el throughput: a 0.3B parámetros es 3x más pequeño que otras soluciones de ~0.9B, lo que permite mayor rendimiento en despliegue. En su medición con vLLM y A100-80GB alcanzan 5,825 tok/s y 2.9 img/s en modo Layout + OCR.
Infraestructura de inferencia
Para servir estos patrones y el caching necesario, implementaron una pila sobre PyTorch FlexAttention con características clave:
- Paged KV cache con tablas de páginas virtuales para evitar memoria desperdiciada por padding.
- Continuous batching para insertar nuevas secuencias en medio de la generación.
- CUDA graph capture para bucle de decodificación.
- Background tokenization y un HR feature cache para saltar el upsampling costoso cuando se reusa una imagen.
En H100, latencias típicas: ~100 ms prefill, ~200 ms upsampling (0 ms si está en cache), ~50 ms decode para unos pocos objetos. Valores dependientes de resolución y longitud de secuencia.
Limitaciones y próximos pasos
Falcon Perception demuestra que un solo backbone early-fusion puede competir y superar a pipelines más complejos en muchas capacidades, pero no es perfecto:
- Calibración de presencia sigue siendo el punto débil principal (MCC 0.64).
- Algunas ventajas dependen de un pipeline de datos y curriculum muy cuidadoso.
- Escalar contexto y mezclar más datos textuales y visuales son caminos naturales para mejorar.
¿Y si necesitas más queries paralelas o latencias ultrabajas en producción? El diseño no bloquea vías de escalado: se puede aumentar contexto, datos y parámetros manteniendo la simplicidad del stack.
Falcon Perception es una invitación a repensar la arquitectura clásica de percepción multimodal. En lugar de ensamblar más módulos, la lección es que con la máscara de atención correcta, una interfaz compacta y un curriculum de datos pensado, un solo Transformer puede resolver grounding, OCR y segmentación de forma competitiva.
