El problema fundamental que Laya aborda es la ineficiencia de utilizar modelos de lenguaje generativos (LLMs) grandes y lentos para tareas de decisión estructuradas y de 'reflexión' rápida, que son análogas al 'Sistema 1' del cerebro humano. Tradicionalmente, las aplicaciones de IA han recurrido a LLMs para clasificar tickets de soporte, detectar spam o enrutar consultas, lo que introduce latencias de cientos de milisegundos a segundos, costos elevados y el riesgo inherente de alucinaciones y confianzas no calibradas.
Laya propone una arquitectura alternativa basada en encoders bidireccionales, optimizada para la inferencia de un solo paso y la producción de distribuciones de probabilidad calibradas sobre esquemas predefinidos. Esto permite respuestas en el orden de decenas de milisegundos, eliminando la necesidad de parsing de texto libre y mitigando las alucinaciones. La relevancia de esta solución es crítica en sistemas distribuidos donde la latencia es un factor limitante para la experiencia del usuario y la eficiencia operativa, especialmente en escenarios de alto volumen como el enrutamiento de solicitudes o la detección de amenazas en tiempo real.
Arquitectura del Sistema
La arquitectura de Laya se centra en modelos basados en encoders bidireccionales (ModernBERT-large, mmBERT-base) que procesan el estado de entrada (texto, JSON) en una única pasada hacia adelante. A diferencia de los modelos autoregresivos, Laya no genera texto, sino que produce salidas estructuradas a través de tres primitivas de decisión: 'choice' (selección de una opción de un diccionario), 'score' (clasificación en una rúbrica ordinal) y 'noul' (pregunta booleana con probabilidad P(true) calibrada).
El sistema se compone de tres checkpoints especializados (English, Multilingual, Typed-Decisions) consolidados bajo un único repositorio en Hugging Face, permitiendo descargas selectivas de subcarpetas para optimizar el uso de recursos. Una característica clave es el 'Router' integrado, implementado en Python puro, que inspecciona los scripts Unicode del texto de entrada y las distribuciones de stopwords latinas para dirigir la solicitud al checkpoint más adecuado. Este enrutamiento ocurre con una sobrecarga de sub-milisegundos, insignificante en comparación con el tiempo de inferencia del modelo. Para evitar penalizaciones de 'cold-swap', el Router puede precargar todos los modelos necesarios en VRAM/RAM. La calibración de las probabilidades de salida se logra mediante el framework RLCD (Reinforcement Learning for Calibrated Decisions), asegurando que las confianzas reportadas sean matemáticamente significativas y accionables.
Flujo de Decisión de Laya con Enrutamiento
- 1 Entrada de Usuario Texto, email, ticket o documento JSON.
- 2 Router de Laya Inspecciona scripts Unicode y stopwords para detectar el idioma.
- 3 Selección de Checkpoint Elige el modelo óptimo (English, Multilingual, Typed-Decisions) basado en el ...
- 4 Carga de Modelo (si no precargado) Descarga selectiva del subfolder del modelo desde Hugging Face.
- 5 Inferencia del Modelo Pasa hacia adelante única sobre el encoder bidireccional.
- 6 Aplicación de Primitivas Ejecuta 'choice', 'score' o 'noul' para obtener resultados estructurados.
- 7 Salida Calibrada Devuelve la decisión, distribución de probabilidad y confianza calibrada.
| Capa | Tecnología | Justificación |
|---|---|---|
| compute | ModernBERT-large / mmBERT-base | Backbone encoder para el procesamiento de texto y la extracción de características. Proporciona la base para la inferencia rápida y bidireccional. vs LLMs generativos (ej. GPT-3, Llama), Modelos de clasificación basados en CNN/RNN más antiguos 421M (ModernBERT-large) y 322M (mmBERT-base) parámetros, contexto de 512 a 8k tokens. |
| orchestration | Hugging Face Hub | Repositorio centralizado para la distribución de modelos y la gestión de checkpoints. Permite la descarga selectiva de subcarpetas para optimizar el consumo de recursos. vs Servidores de modelos personalizados, Otros repositorios de modelos (ej. PyTorch Hub) Uso de 'allow_patterns' para descargas parciales. |
| data-processing | Python Router | Componente de enrutamiento de lenguaje basado en reglas para dirigir las solicitudes al modelo más apropiado. Reduce la latencia al evitar inferencias innecesarias con modelos incorrectos. vs Modelos de detección de idioma basados en ML, Enrutamiento manual por el usuario Inspección de scripts Unicode y distribución de stopwords; 'preload=True' para mantener modelos en VRAM/RAM. |
| data-processing | Reinforcement Learning for Calibrated Decisions (RLCD) | Framework de entrenamiento para asegurar que las probabilidades de salida de los modelos estén matemáticamente calibradas, proporcionando confianzas fiables. vs Métodos de calibración post-hoc (ej. Platt Scaling, Isotonic Regression), Entrenamiento con pérdida de entropía cruzada estándar |
Trade-offs
Ganancias
- ▲▲ Latencia de inferencia
- ▲▲ Costo de inferencia
- ▲ Calibración de confianza
- ▲ Ausencia de alucinaciones
- ▲ Soporte multilingüe
Costes
- △ Número de opciones en preguntas 'choice'
- △ Rendimiento zero-shot
# Downloads English model (~808 MB)
agent_en = laya.load("convaiinnovations/laya")
# Downloads ONLY the multilingual subfolder (~647 MB), not the entire 2.5 GB bundle
agent_ml = laya.load("convaiinnovations/laya", subfolder="multilingual")import laya
from laya import Router
router = Router(preload=True)
ticket = {
"ticket_id": "TCK-8821",
"customer": "enterprise_user",
"subject": "System downtime and billing dispute",
"body": "Our production API has been failing since 6 AM. We lost critical transactions. We demand an immediate SLA refund."
}
questions = {
"queue": {
"type": "choice",
"instructions": "Which engineering queue owns this ticket?",
"criteria": {
"infrastructure": "server outages, network downtime, database failures",
"billing": "refunds, SLA credits, invoice disputes",
"security": "breaches, vulnerability reports",
"support": "general customer inquiries"
}
},
"urgency": {
"type": "score",
"instructions": "How urgent is this ticket?",
"criteria": ["low priority", "medium", "high priority", "critical blocker"]
},
"churn_risk": {
"type": "noul",
"instructions": "Does the customer threaten to cancel or express severe churn intent?"
}
}
res = router.predict(ticket, questions)
print("Routing Decision :", res["routing"]["model"])
print("Assigned Queue :", res["answers"]["queue"]["choice"])
print("Urgency Score :", res["answers"]["urgency"]["score"])
print("Churn Risk :", f"{res['answers']['churn_risk']['noul']:.1%}")Fundamentos Teóricos
El concepto de 'Sistema 1' y 'Sistema 2' de pensamiento, popularizado por Daniel Kahneman en su libro 'Thinking, Fast and Slow' (2011), proporciona un marco conceptual para la tesis de Laya. El 'Sistema 1' se refiere a procesos mentales rápidos, intuitivos y automáticos, mientras que el 'Sistema 2' implica un pensamiento más lento, deliberado y analítico. Laya se alinea con la idea de construir sistemas de IA que emulen el 'Sistema 1' para tareas que requieren decisiones instantáneas y reflejas, reservando los modelos más complejos y lentos (LLMs generativos) para tareas que demandan un razonamiento más profundo o la generación de contenido.
Desde una perspectiva de aprendizaje automático, la arquitectura de Laya se basa en la evolución de los modelos de 'Transformer' (Vaswani et al., 2017), específicamente en la variante de encoder bidireccional como BERT (Devlin et al., 2018). La aplicación de Reinforcement Learning para la calibración de decisiones (RLCD) conecta con trabajos en aprendizaje por refuerzo para la optimización de políticas y la toma de decisiones en entornos complejos, donde la precisión y la confianza de las predicciones son cruciales. La necesidad de calibración de confianza en modelos predictivos es un área de investigación activa, especialmente relevante en aplicaciones de alto riesgo, donde la sobreconfianza o subconfianza de un modelo puede tener consecuencias significativas.