La integración de modelos fundacionales (FM) a gran escala en sistemas de producción existentes presenta desafíos significativos más allá de su entrenamiento e inferencia. Este problema fundamental de la computación distribuida se centra en cómo distribuir y aplicar el conocimiento encapsulado en un FM a diversas aplicaciones con requisitos heterogéneos de latencia, costo computacional y adaptabilidad.

Tradicionalmente, los modelos de personalización se desarrollaban de forma aislada, lo que generaba redundancia y altos costos de mantenimiento. La emergencia de FMs, inspirada en arquitecturas Transformer, ofrece una oportunidad para centralizar el aprendizaje de preferencias de usuario y contenido. Sin embargo, la clave no es solo construir el FM, sino cómo sus "aprendizajes" pueden ser consumidos de manera eficiente por cientos de microservicios y modelos downstream, cada uno con sus propias restricciones operacionales y de negocio. Este artículo aborda esa brecha práctica, presentando un marco de patrones de integración que equilibran la potencia del FM con la viabilidad operativa.

Arquitectura del Sistema

Netflix ha implementado tres patrones de integración para su Foundation Model de personalización. El primer enfoque, 'Embeddings', implica la generación diaria de representaciones vectoriales de perfiles de usuario y elementos (títulos) a partir del FM. Estas embeddings se almacenan en un 'Embedding Store', una feature store especializada que gestiona el versionado y timestamping. El FM se pre-entrena mensualmente y se fine-tunea diariamente para incorporar nuevos datos y entidades. Un aspecto crítico es la estabilización del espacio de embeddings para asegurar la compatibilidad entre diferentes versiones del modelo, evitando la deriva semántica.

El segundo enfoque, 'Subgraph', integra el stack del decodificador del FM como un subgrafo dentro del grafo computacional del modelo downstream. Esto permite que el modelo de aplicación procese secuencias de interacción de usuario en tiempo real y genere representaciones actualizadas, que luego se alimentan al resto del modelo de aplicación. Este patrón elimina la latencia de la generación de embeddings y permite un fine-tuning conjunto del subgrafo del FM. Para optimizar el rendimiento, el subgrafo se ejecuta una vez por perfil por solicitud y se comparte entre todos los elementos de la solicitud. El tercer enfoque, 'Fine-tuning', adapta el FM completo a datos y objetivos específicos de la aplicación. Esto implica un fine-tuning de parámetros completos o parcial (con congelación de capas) y la posible adición de un 'output head' personalizado. Se ha desarrollado un framework de fine-tuning para facilitar esta adaptación, permitiendo a los equipos de aplicación crear versiones optimizadas del FM para sus casos de uso específicos.

Flujo de Generación y Consumo de Embeddings Diarios

  1. 1 Pre-entrenamiento FM Modelo Fundacional pre-entrenado desde cero mensualmente.
  2. 2 Fine-tuning Diario Modelo pre-entrenado se ajusta diariamente con datos recientes y nuevas entid...
  3. 3 Inferencia Batch Ejecución de inferencia en batch para generar embeddings de perfiles y elemen...
  4. 4 Estabilización Embeddings Mapeo de embeddings a un espacio común para consistencia.
  5. 5 Publicación a Embedding Store Almacenamiento de embeddings versionados y timestamped.
  6. 6 Consumo por Modelos Downstream Modelos de aplicación acceden a embeddings como features offline/online.
CapaTecnologíaJustificación
data-processing Foundation Model Modelo centralizado para el aprendizaje de preferencias de usuario y contenido.
storage Embedding Store Feature store especializada para almacenar, versionar y servir embeddings a gran escala.
data-processing Near-Realtime Embedding Generation Framework Infraestructura para actualizar embeddings basados en acciones de usuario en sesión, reduciendo la 'staleness'.

Trade-offs

Ganancias
  • ▲ Reducción de la 'staleness' de embeddings
  • ▲ Mayor adaptabilidad de recomendaciones
  • ▲▲ Reutilización de conocimiento del FM
  • ▲ Menor barrera de entrada para nuevas aplicaciones (embeddings)
  • ▲ Aprovechamiento completo del FM (subgraph/fine-tuning)
Costes
  • ▲ Latencia y complejidad de inferencia (subgraph)
  • ▲ Costo computacional (subgraph/fine-tuning)
  • ▲ Mantenimiento de múltiples modelos/pipelines (fine-tuning)
  • ▲ Staleness de embeddings (enfoque de embeddings batch)

Fundamentos Teóricos

La problemática de la integración de modelos a gran escala y la gestión de sus representaciones se conecta con principios fundamentales de la representación del conocimiento y el aprendizaje por transferencia. La estabilización de embeddings, por ejemplo, resuena con los desafíos de alinear espacios latentes en modelos generativos y de representación, un tema explorado en trabajos sobre 'Procrustes analysis' o 'optimal transport' para la alineación de embeddings. La idea de usar embeddings como características para modelos downstream se alinea con el concepto de 'feature engineering' y 'representation learning' que ha sido central en el Machine Learning desde sus inicios, con trabajos seminales como los de Hinton y Salakhutdinov (2006) sobre 'Reducing the Dimensionality of Data with Neural Networks'.

La integración tipo 'subgraph' y 'fine-tuning' se basa directamente en los principios del 'transfer learning' y 'meta-learning', donde un modelo pre-entrenado en una tarea general se adapta a tareas específicas con menos datos. Esto fue popularizado por la comunidad de procesamiento de lenguaje natural con modelos como BERT (Devlin et al., 2018) y GPT, demostrando la eficacia de los Transformers para aprender representaciones contextuales ricas que pueden ser ajustadas para diversas tareas. La gestión de la complejidad y el costo computacional en estos sistemas distribuidos también se relaciona con la optimización de grafos computacionales y la programación de tareas en entornos de alto rendimiento, temas abordados en la literatura de sistemas distribuidos y compiladores de ML.