Un Cross-encoder es una arquitectura de modelo de aprendizaje profundo, comúnmente basada en transformadores (como BERT, RoBERTa), diseñada para tareas de emparejamiento o clasificación de pares. A diferencia de los modelos 'bi-encoder' o 'dual-encoder' que procesan cada entrada de forma independiente para generar embeddings y luego calculan la similitud, un Cross-encoder toma ambas entradas (por ejemplo, una consulta y un documento) y las procesa juntas a través de sus capas de atención. Esto permite que el modelo capture interacciones contextuales ricas y complejas entre las dos entradas desde las primeras capas, lo que generalmente resulta en una mayor precisión en la evaluación de la relevancia.

En el mundo real, los Cross-encoders se utilizan en sistemas donde la precisión en la relevancia es crítica, a menudo como una etapa de re-ranking en sistemas de recuperación de información. Por ejemplo, en motores de búsqueda avanzados o sistemas de recomendación, un primer paso (usando un bi-encoder o métodos de recuperación más ligeros) puede identificar un conjunto inicial de documentos candidatos. Posteriormente, un Cross-encoder se aplica a este conjunto reducido para reordenar los resultados con una precisión superior. Herramientas como Hugging Face Transformers facilitan la implementación de modelos Cross-encoder pre-entrenados (como 'cross-encoder/ms-marco-MiniLM-L-6-v2') para tareas de Question Answering, búsqueda semántica y clasificación de pares de texto.

Para un Arquitecto de Sistemas, la elección de un Cross-encoder implica un trade-off fundamental entre precisión y latencia/costo computacional. Si bien ofrecen una precisión de relevancia superior debido a su capacidad para modelar interacciones finas, su naturaleza de procesamiento conjunto significa que la complejidad computacional escala con el número de pares a evaluar. Esto los hace inadecuados para la fase inicial de recuperación de un gran corpus, donde la latencia es crítica. Un arquitecto debe considerar su uso estratégico como una etapa de re-ranking en un pipeline de búsqueda de múltiples etapas, donde un conjunto más pequeño de candidatos ya ha sido filtrado. La decisión implica evaluar el impacto en la experiencia del usuario (precisión de los resultados) frente a los requisitos de infraestructura (GPU, memoria) y los SLAs de latencia.