Un blog muy interesante de @character_ai que profundiza en cómo entrenaron su modelo propietario Kaiju (13B, 34B, 110B), antes de cambiar a un modelo OSS, y spoiler: tiene el sello de Noam Shazeer por todas partes. La mayoría de las decisiones sobre el diseño del modelo (MQA, SWA, KV Cache, Cuantización) no están orientadas a optimizar para el "benchmark de AGI" (piensa en MMLU) ya que esto no es para lo que la gente usará el modelo, sino para tener una buena velocidad de servicio. Aún así, incluyen código en la mezcla de pre-entrenamiento y hacen un enfriamiento en datos de alta calidad "amigables con el benchmark". Una cosa sorprendente es que esos modelos no son MoEs, a pesar de que personas que trabajaban en character en ese momento, como @stephenroller o Noam, trabajaron anteriormente en MoE. Aquí hay algunas optimizaciones que hicieron: -> Escalado tipo MuP -> MQA + SWA -> Clamping en todas partes para controlar la activación, no estoy seguro si es suave o dura? -> Compartición de KV Cache -> Función de activación Relu^2 -> FSDP + TP + SP -> Comunicación de gradiente Int6 -> Entrenamiento Consciente de Cuantización (QAT) con cosas como "bungee_scalar" para obtener una receta estable para modelos más pequeños. KV Cache y el pase hacia adelante están en int8, el gradiente y la activación están en bf16, el peso maestro y la acumulación de gradientes en fp32.