Como primer autor, me gustaría presentar este trabajo desde la perspectiva del origen de la idea. Después de haberme sumergido en Zhihu durante muchos años, mi primera respuesta la dedico a esta pregunta. Agradecería cualquier crítica o corrección sobre cualquier deficiencia (inclinación). Muchas gracias a la Profesora Liu Zhongxin y al Profesor Binyuan Hui por su orientación, y a todos los colaboradores por su ayuda, especialmente por el apoyo de recursos de Tongyi Qianwen.
Como todos sabemos, además de expandir la cantidad de datos, actualmente existen dos rutas de escalamiento principales para mejorar el cálculo y la capacidad de los modelos grandes:
Entonces, la pregunta es: ¿Puede existir una nueva ruta de escalamiento que no implique un aumento significativo de memoria y latencia, y que al mismo tiempo sea aplicable a cualquier escenario?
Nuestra idea central es: Manteniendo la cantidad de parámetros constante, aumentar simultáneamente el cálculo paralelo tanto en el entrenamiento como en la inferencia.
Origen de la motivación
Inicialmente, mi compañero de cuarto estaba estudiando modelos de difusión en el dormitorio, y estaba desconcertado por un truco indispensable en los modelos de difusión: Classifier-Free Guidance (CFG). En la etapa de inferencia, al recibir una entrada x, CFG primero realiza un paso forward normal para obtener f(x); luego degrada activamente x (por ejemplo, eliminando condiciones) para convertirlo en x', y realiza otro paso forward para obtener f(x'). La salida final g(x) es una combinación ponderada de f(x) y f(x'), y su efecto es mejor que el de f(x), siguiendo más fielmente las condiciones de entrada.
Este fenómeno es, de hecho, un poco contraintuitivo: f(x) está alineado con la etapa de entrenamiento, mientras que g(x) tiene claramente una brecha con el objetivo de la etapa de entrenamiento. Según el sentido común, la inferencia solo puede lograr el máximo efecto cuando el objetivo de entrenamiento y el objetivo de inferencia tienen la misma forma. Además, la cantidad de parámetros de f(x) y g(x) es la misma, y la cantidad de información efectiva de la entrada también es la misma, entonces ¿por qué f(x) no puede aprender la capacidad de g(x)? Esto sugiere que quizás haya una razón más profunda detrás.
Hicimos una conjetura audaz: La razón por la que CFG es efectivo es, en esencia, que utiliza el doble de cálculo paralelo, lo que amplía la capacidad inherente del modelo.
Esto nos inspiró a escalar aún más:
Este método es muy simple y se puede aplicar a cualquier arquitectura de modelo, tarea y datos. Exploramos primero esta idea en modelos de lenguaje grandes, como se muestra en la figura siguiente:
Ley de Escalado Paralelo
Primero realizamos una serie de análisis teóricos y llegamos a la conclusión de que: Paralelizar un modelo con N parámetros en P flujos equivale a aumentar la cantidad de parámetros en un factor de (véase el análisis en el artículo). La Diversidad está relacionada con el coeficiente de correlación residual entre diferentes flujos, lo que dificulta un análisis posterior. Pero esto al menos demuestra que necesariamente existe alguna conexión entre escalar el cálculo paralelo y escalar los parámetros.
Por lo tanto, a continuación realizamos una gran cantidad de experimentos y finalmente obtuvimos que: Paralelizar P flujos equivale a aumentar los parámetros en O(logP) veces, pero tiene una ventaja muy significativa en eficiencia de inferencia en comparación con aumentar los parámetros:
También proporcionamos un espacio en HuggingFace para sentir de manera más intuitiva el poder de la Ley de Escalado. Le invitamos a probarlo:
Entrenamiento en dos etapas
Los experimentos anteriores se centraron principalmente en el pre-entrenamiento, lo que generó un costo de entrenamiento considerable debido a que el tamaño del lote se magnifica por P. Por lo tanto, probamos una estrategia de post-entrenamiento: primero, entrenar 1T tokens (tasa de aprendizaje constante) en la primera etapa, y luego usar ParScale (tasa de aprendizaje decreciente) para post-entrenar 20B tokens en la segunda etapa. Descubrimos que esta estrategia también es muy efectiva.
Posteriormente, aplicamos ParScale al modelo Qwen-2.5 (ya entrenado en 12 T tokens), incluyendo entrenamiento continuo con todos los parámetros (CPT) y entrenamiento PEFT (congelando la red principal y ajustando solo los parámetros del prefijo introducido).
Cabe mencionar que el entrenamiento PEFT demostró la perspectiva de la expansión paralela dinámica: podemos usar los mismos pesos del modelo y usar diferentes valores de P en diferentes escenarios, lo que permite ajustar rápida y dinámicamente las capacidades y los costos de inferencia. Esto es difícil de lograr con los métodos principales actuales.
Resumen
ParScale es nuestro nuevo intento de explorar la Ley de Escalado de LLM, y la investigación aún está en curso. Creemos que la expansión del cálculo puede llevar a la emergencia de inteligencia. Mirando hacia el futuro, planeamos experimentar aún más con más arquitecturas de modelos (como MoE) y datos más grandes para comprender mejor los beneficios de aumentar el cálculo paralelo. Se discuten más direcciones futuras en detalle en el artículo. ¡Agradecemos sus críticas y correcciones!