El problema fundamental que abordan los modelos de interacción es el cuello de botella de ancho de banda en la colaboración humano-IA, inherente a los sistemas de IA actuales basados en turnos. Estos sistemas perciben la realidad en un solo hilo, esperando la finalización de la entrada del usuario antes de procesar y generar una respuesta, y viceversa. Esta limitación restringe la cantidad de conocimiento, intención y juicio humano que puede llegar al modelo, y la comprensión del trabajo del modelo por parte del usuario.
La tesis central es que la interactividad debe escalar junto con la inteligencia, y no ser un añadido. Al integrar la interactividad directamente en el diseño del modelo, en lugar de implementarla mediante 'harnesses' externos, se habilita una colaboración más natural y eficiente. Esto es crucial en escenarios donde los requisitos no pueden especificarse completamente de antemano y donde el feedback continuo es esencial para obtener buenos resultados, reflejando la forma en que los humanos colaboran entre sí.
Históricamente, la mayoría de los sistemas de IA conversacionales han operado bajo un paradigma de 'pregunta-respuesta' discreto, donde cada interacción es una transacción completa. Este enfoque es inadecuado para la complejidad y la fluidez de la comunicación humana, que es inherentemente concurrente, multimodal y sensible al tiempo. La propuesta busca cerrar esta brecha, permitiendo que los modelos de IA perciban y respondan en un bucle continuo a través de audio, video y texto.
Arquitectura del Sistema
La arquitectura propuesta se basa en un sistema dual: un 'Interaction Model' y un 'Background Model'. El Interaction Model está diseñado para un intercambio bidireccional constante y de baja latencia con el usuario, percibiendo y respondiendo simultáneamente. Opera con 'micro-turns' alineados en el tiempo, procesando continuamente fragmentos de 200ms de entrada y generando fragmentos de 200ms de salida. Esto elimina las barreras de turno artificiales y permite la concurrencia de múltiples modalidades de entrada y salida, como hablar mientras se escucha o se observa.
Cuando una tarea requiere un razonamiento más profundo que no puede producirse instantáneamente, el Interaction Model delega al Background Model, que opera de forma asíncrona. El Interaction Model mantiene la presencia en tiempo real, respondiendo a seguimientos, aceptando nuevas entradas e integrando los resultados del Background Model a medida que llegan. Esta división permite combinar la capacidad de respuesta inmediata con la inteligencia completa del modelo de fondo, que puede realizar planificación, uso de herramientas y flujos de trabajo de agentes complejos.
Las decisiones de diseño clave incluyen la 'fusión temprana sin codificador' (encoder-free early fusion) para las modalidades de audio y video, donde las señales de audio se transforman mediante una capa de incrustación ligera (dMel) y las imágenes se dividen en parches (hMLP), co-entrenando todos los componentes con el transformador principal. Para la optimización de inferencia, se implementan 'streaming sessions' donde el cliente envía fragmentos de 200ms como solicitudes separadas, y el servidor de inferencia los añade a una secuencia persistente en la memoria de la GPU, evitando reasignaciones frecuentes y cálculos de metadatos. También se optimizan los kernels para latencia y formas bidireccionales, utilizando estrategias como 'gather+gemv' para kernels MoE. La coordinación entre los modelos se realiza enviando un paquete de contexto rico (la conversación completa) al Background Model, y los resultados se transmiten de vuelta para ser entrelazados por el Interaction Model en el momento apropiado.
Flujo de Interacción Multimodal en Tiempo Real
- 1 Usuario Genera entrada multimodal (audio, video, texto) continuamente.
- 2 Interaction Model Recibe y procesa fragmentos de 200ms de entrada.
- 3 Interaction Model Genera fragmentos de 200ms de salida multimodal.
- 4 Interaction Model Evalúa necesidad de razonamiento profundo.
- 5 Interaction Model Delega tarea y contexto completo al Background Model (asíncrono).
- 6 Background Model Realiza razonamiento, uso de herramientas, planificación.
- 7 Background Model Envía resultados parciales/completos al Interaction Model.
- 8 Interaction Model Integra resultados del Background Model en la conversación en curso.
| Capa | Tecnología | Justificación |
|---|---|---|
| compute | Transformer (MoE) | Núcleo de los modelos de interacción y fondo para el procesamiento de lenguaje y multimodalidad. El Interaction Model es un MoE de 276B parámetros con 12B activos. 276B parameters (12B active) for TML-Interaction-Small |
| storage | GPU Memory | Almacenamiento persistente de secuencias de tokens en memoria de GPU para 'streaming sessions', evitando reasignaciones frecuentes y reduciendo la latencia de inferencia. Persistent sequence in GPU memory for 200ms chunks |
| networking | NVLS (NVIDIA Low Latency Streaming) | Implementación de kernels de comunicación de baja latencia (All-reduce y Reduce-scatter) para garantizar la alineación bit a bit y la eficiencia en estrategias de paralelismo. Deterministic on Blackwell GPUs |
| data-processing | dMel | Representación de señales de audio para el Interaction Model, transformadas por una capa de incrustación ligera, parte de la estrategia de fusión temprana sin codificador. vs Large, standalone audio encoders (e.g., Whisper-like) |
| data-processing | hMLP (hierarchical Multi-Layer Perceptron) | Codificación de parches de imágenes (40x40) para el Interaction Model, parte de la estrategia de fusión temprana sin codificador. vs Large, standalone video encoders 40x40 image patches |
| data-processing | Flow Head | Decodificador de audio utilizado en el Interaction Model, co-entrenado con el resto del sistema. vs TTS model-like decoders |
Trade-offs
Ganancias
- ▲ Latencia de interacción
- ▲ Fluidez de la colaboración humano-IA
- ▲ Capacidad de manejar interrupciones y multimodalidad nativamente
- ▲ Inteligencia combinada con capacidad de respuesta en tiempo real
Costes
- △ Complejidad de la gestión de contexto en sesiones muy largas
- △ Requisitos de conectividad de red para una experiencia óptima
- △ Costo computacional para servir modelos más grandes en tiempo real
class StreamingInferenceServer:
def __init__(self):
self.gpu_memory_sequence = []
self.session_id_counter = 0
def create_session(self):
session_id = self.session_id_counter
self.session_id_counter += 1
self.gpu_memory_sequence.append({'id': session_id, 'tokens': []})
return session_id
def process_chunk(self, session_id, chunk_data):
# Locate session in GPU memory
session = next(s for s in self.gpu_memory_sequence if s['id'] == session_id)
# Append new chunk tokens to persistent sequence
session['tokens'].extend(self._tokenize(chunk_data))
# Perform inference on the updated sequence
output_chunk = self._run_inference(session['tokens'])
return output_chunk
def _tokenize(self, data): # Placeholder
return [f'token_{i}' for i in range(len(data)//10)]
def _run_inference(self, tokens): # Placeholder
return f'response_for_{len(tokens)}_tokens'
# Client side (conceptual)
server = StreamingInferenceServer()
sid = server.create_session()
# Simulate continuous chunks
for i in range(5):
response = server.process_chunk(sid, f'audio_chunk_{i}')
print(f'Received: {response}')Fundamentos Teóricos
El concepto de 'grounding in communication' de Clark y Brennan (1991) es fundamental para entender la necesidad de esta arquitectura. Su trabajo destaca que la comunicación efectiva se mejora con la copresencia, la contemporaneidad y la simultaneidad, principios que los modelos de interacción buscan emular. La limitación de los sistemas turn-based actuales puede verse como una restricción del 'ancho de banda' comunicativo, un concepto que resuena con la idea de Hayek (1945) sobre el 'uso del conocimiento en la sociedad', donde el conocimiento de las circunstancias particulares de tiempo y lugar es crucial y a menudo no organizado.
La 'bitter lesson' de Sutton (2019) sobre la superioridad de los métodos de aprendizaje general sobre los sistemas diseñados a mano también es relevante. La decisión de integrar la interactividad directamente en el modelo, en lugar de usar 'harnesses' externos con componentes menos inteligentes (como VAD), se alinea con esta lección, sugiriendo que la escalabilidad de la interactividad debe provenir de la escalabilidad del modelo mismo. Además, el uso de 'micro-turns' y el procesamiento de streams de tokens recuerdan a los principios de sistemas de procesamiento de señales en tiempo real y la necesidad de baja latencia en dominios como la robótica y los vehículos autónomos, donde la percepción y la acción son inherentemente continuas y bidireccionales.