Character.ai ha publicado recientemente un análisis técnico en el que detalla varias de las técnicas que desarrolló para optimizar el preentrenamiento de modelos de lenguaje a gran escala. Aunque la compañía reconoce que hoy ya no centra sus esfuerzos en entrenar modelos base desde cero, el artículo ofrece una visión clara de los retos reales de infraestructura, eficiencia y estabilidad numérica que afrontaron durante esa etapa, así como de las soluciones que implementaron internamente.
Uno de los principales problemas que describe Character.ai es la limitación de ancho de banda en su clúster de entrenamiento distribuido. A diferencia de otros laboratorios con infraestructuras de última generación, su sistema contaba con aproximadamente una cuarta parte del bandwidth habitual. Para resolver este cuello de botella desarrollaron Squinch, un algoritmo de compresión de gradientes que reduce la comunicación entre nodos cuantizando los gradientes a 6 bits. Según explican, esta técnica logra un comportamiento muy cercano al uso de bfloat16, pero con una reducción significativa del tráfico de red, lo que permitió escalar el entrenamiento sin degradar la calidad del modelo.
Otro de los aportes destacados es Attention Z-Regularization, una técnica orientada a mejorar la estabilidad de la atención cuando se entrena con precisión reducida. En lugar de añadir un término clásico a la función de pérdida, este método introduce un ajuste directamente en el gradiente, evitando que los logits de atención crezcan de forma descontrolada. El objetivo es mantener los valores en un rango adecuado para que la aritmética en bfloat16 sea más efectiva, reduciendo errores numéricos durante el entrenamiento prolongado.
La publicación también aborda problemas derivados de la cuantización de activaciones, especialmente en redes feed-forward con funciones no lineales. Para ello presentan Dynamic Clamping, un sistema de límites dinámicos basado en el RMS de los pesos. A diferencia de los clamps fijos, este enfoque se adapta al estado del modelo y evita que activaciones pequeñas colapsen a cero tras la cuantización. El resultado es una mejor estabilidad y menor error de cuantización, algo crítico cuando se busca eficiencia sin sacrificar rendimiento.
En el apartado de arquitectura de atención, Character.ai introduce el concepto de Visibility Mask, una representación compacta que define qué segmentos de entrada pueden atenderse entre sí. Este sistema resulta especialmente útil para estructuras tipo árbol, habituales en conversaciones largas, y permite empaquetar fragmentos no relacionados dentro del mismo batch. Además, los autores señalan que este enfoque abre la puerta a estrategias de inferencia más avanzadas, como el muestreo en árbol.
La optimización del almacenamiento también ocupa un lugar importante en el análisis. Para la destilación offline, donde es necesario guardar probabilidades del modelo profesor, el coste puede dispararse debido al gran tamaño del vocabulario. Como solución, proponen el uso de Gumbel Softmax para submuestrear distribuciones, conservando el valor esperado pero reduciendo drásticamente el espacio requerido. Esta técnica permite ahorrar almacenamiento y ancho de banda sin perder fidelidad en el proceso de destilación.
Finalmente, Character.ai reconoce que muchas de estas ideas se desarrollaron antes de que algunas prácticas se volvieran estándar en la industria. Entre ellas mencionan el entrenamiento nativo en INT8, el uso avanzado de caché de claves y valores, el análisis de leyes de escalado con muP y la generación de datos sintéticos. Aunque hoy su estrategia se basa más en modelos fundacionales open source, la compañía subraya que estas técnicas siguen siendo relevantes para entender cómo optimizar el entrenamiento de modelos grandes en entornos con recursos limitados.
En conjunto, el artículo ofrece una mirada pragmática y técnica a los desafíos del preentrenamiento a gran escala, aportando soluciones concretas que pueden resultar útiles para otros equipos que busquen eficiencia sin acceso a infraestructuras masivas.





