Ha pasado mucho tiempo desde que supimos algo de @character_ai, pero hoy de repente vi que lanzaron un nuevo modelo, "Kaiju". Kaiju no busca modelos de propósito general que cumplan con los estándares académicos; en cambio, se centra en el rendimiento del diálogo y la eficiencia de la implementación en entornos de producción reales. Esta entrada de blog comparte todo el proceso, desde el diseño de la arquitectura y la optimización del entrenamiento hasta la estrategia de datos y la alineación de la seguridad, y vale la pena leerla. Descripción general del modelo La serie Kaiju incluye tres tamaños: pequeño (13 mil millones de parámetros), mediano (34 mil millones de parámetros) y grande (110 mil millones de parámetros). Estos modelos se basan en una arquitectura Transformer densa, emplean un enfoque generativo autorregresivo y están optimizados para escenarios de diálogo. A diferencia de los modelos que buscan obtener altas puntuaciones en pruebas de rendimiento, Kaiju prioriza la eficiencia de la inferencia y la calidad de la interacción del usuario, como respuestas rápidas y diálogos dinámicos. Esto refleja la opinión del equipo de que el rendimiento en producción es más importante que las métricas académicas. El núcleo de este artículo sobre innovación arquitectónica reside en múltiples técnicas de optimización de la eficiencia para garantizar que el modelo mantenga un alto rendimiento durante su despliegue a gran escala: • Atención a múltiples consultas (MQA): Reduce el tamaño de la caché de clave-valor (KV) y mejora la eficiencia de la inferencia de diálogos. Si bien se observa una ligera pérdida de calidad en algunas pruebas de rendimiento, su impacto en las tareas de diálogo es mínimo. • Atención mediante ventana deslizante: Limita el tiempo de atención a 1024 tokens y alterna entre capas globales (relación 6:1). Esto reduce significativamente el coste computacional de contextos largos sin sacrificar la precisión de recuperación, evitando la complejidad de métodos tradicionales como los sumideros de atención. • Compartición KV entre capas: Se comparte una caché KV cada 2-3 capas, lo que comprime aún más la memoria sin una disminución significativa de la precisión. • Cuantización Int8: Los pesos y las multiplicaciones de matrices se almacenan y calculan utilizando enteros de 8 bits, lo que supone una mejora de velocidad del 20-30 % con respecto a los números de coma flotante de 16 bits. El entrenamiento con reconocimiento de cuantización (QAT) garantiza una precisión casi nativa. Otras optimizaciones: La normalización de la capa previa (RMSNorm) y el ajuste dinámico mejoran la estabilidad y evitan problemas numéricos durante el entrenamiento. El entrenamiento del modelo se realizó en un clúster GPU H100 de Google Cloud, empleando una estrategia de paralelismo de modelos (paralelismo de tensores y secuencias dentro del nodo y paralelismo de datos de fragmentos completos entre nodos). Las técnicas clave de eficiencia incluyeron: • Cálculo de baja precisión: Int8 se utiliza para pesos y pares clave-valor, BF16 se utiliza para activación hacia adelante y gradientes locales, y FP32 se utiliza para acumulación de gradientes y pesos. • Compresión de gradiente: Se introduce el algoritmo Squinch para comprimir los gradientes a 6 bits (bloque, modelado log-uniforme), reduciendo la sobrecarga de comunicación. • Estabilidad mejorada: Para modelos pequeños, se utilizan escalares virtuales Bungee para evitar el desbordamiento de Int8; también se experimentó con actualizaciones de peso ternarias (1,6 bits por parámetro) para comprimir aún más el almacenamiento. La estrategia y la combinación de datos son clave para el éxito de Kaiju. Los autores dividen los datos en dos categorías: • MMLU Max: Basado en el benchmark AGI, incluye texto a escala de red, código y datos sintéticos, y utiliza incrustaciones T5 para calcular la similitud. Production Max: Se centra en la interacción del usuario y enfatiza el seguimiento de instrucciones. En las últimas etapas del entrenamiento, se empleó una estrategia de recocido simulado para aumentar gradualmente los datos de instrucciones y el contenido relacionado con MMLU, equilibrando el rendimiento de referencia con las aplicaciones del mundo real. Esto evitó la sobreoptimización de una sola métrica y garantizó que el modelo se comportara de forma más natural en el diálogo. La seguridad y la alineación son aspectos clave del artículo, que emplea un enfoque en varias etapas: • Ajuste fino supervisado: Ajustar el comportamiento del modelo utilizando datos de alta calidad. • Aprendizaje por refuerzo: Mejorar la calidad de la interacción modificando la optimización de preferencias directas en línea (DPO) en función de los comentarios del usuario (como "deslizamientos" o preferencias). • Entrenamiento del clasificador: Integra cabezales de clasificador opcionales, proporcionando métricas de seguridad a nivel de etiqueta. • Control en tiempo de inferencia: Utiliza la búsqueda de paquetes guiada por el clasificador para garantizar que el contenido generado sea seguro y confiable. El artículo sobre retos y soluciones analiza objetivamente las ventajas e inconvenientes: por ejemplo, si bien MQA es eficiente, puede afectar a las puntuaciones de referencia, problema que los autores mitigan centrándose en tareas ajenas a la IAG (como el diálogo); el cálculo de contextos largos es costoso, por lo que se utilizan ventanas deslizantes y el intercambio de claves y valores para abordarlo; el entrenamiento de baja precisión es propenso a la inestabilidad, por lo que se introducen innovaciones como QAT y Bungee. En definitiva, estas soluciones demuestran que la optimización de la eficiencia no tiene por qué sacrificar la calidad, especialmente en entornos de producción. Dirección del blog:
Cargando el detalle del hilo
Obteniendo los tweets originales de X para ofrecer una lectura limpia.
Esto suele tardar solo unos segundos.
