noticias

¡70 veces la compresión máxima!No importa cuántos puntos de control tengas en un modelo grande, no tendrás miedo.

2024-08-05

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

La columna AIxiv es una columna donde Machine Heart publica contenido académico y técnico. En los últimos años, la columna Heart of the Machine AIxiv ha recibido más de 2.000 informes, que cubren los mejores laboratorios de las principales universidades y empresas de todo el mundo, promoviendo eficazmente los intercambios y la difusión académicos. Si tiene un trabajo excelente que desea compartir, no dude en contribuir o contactarnos para informarnos. Correo electrónico de envío: [email protected]; [email protected];

Los autores de este artículo son todos del Laboratorio Noah de Huawei. El primer autor es Li Wenshuo y los autores correspondientes son Wang Yunhe y Chen Xinghao. En los últimos años, equipos relevantes han publicado una serie de trabajos representativos en conferencias importantes como ICML, CVPR, NeurIPS, ICCV y ECCV. Han producido resultados ricos en campos como modelos de lenguaje grandes y modelos visuales eficientes, y han cooperado con ellos. Universidades e instituciones de investigación científica de renombre. La cooperación institucional es amplia.

Como el bien merecido "rey del tráfico" en la industria y el mundo académico de la IA actual, los grandes modelos han atraído a un gran número de académicos y empresas para invertir recursos en investigación y formación. A medida que crece la escala, los problemas de ingeniería y sistemas se han convertido en problemas inevitables en el entrenamiento de modelos grandes. Por ejemplo, durante los 54 días de entrenamiento de Llama3.1, el sistema falló 466 veces, ¡en promedio una vez cada 2,78 horas!



Entonces, son necesarios controles frecuentes del almacenamiento. Pero almacenar puntos de control también es un gran proyecto en sí mismo.



Meta ha hecho muchos esfuerzos para acelerar los tiempos de control del almacenamiento y aumentar la frecuencia del almacenamiento para combatir fallas frecuentes del sistema. Pero el almacenamiento frecuente también significa una gran sobrecarga de recursos de almacenamiento. Su grupo de capacitación está equipado con un SSD de 240 PB para enfrentar este desafío. ¡Solo el costo del almacenamiento es de 100 millones de yuanes!

Nació el método ExCP de Huawei Noah Para hacer frente a la enorme sobrecarga causada por el almacenamiento, propusieron una tecnología de punto de control de compresión extrema, que puede comprimir el modelo 70 veces sin pérdidas, lo que reduce significativamente la sobrecarga de almacenamiento durante el entrenamiento.





El código ahora es de código abierto y se publica bajo el marco Apache 2.0. Algunos socios en la edición han reproducido con éxito los resultados.



  • Dirección del artículo: https://arxiv.org/abs/2406.11257
  • Dirección del almacén: https://github.com/Gaffey/ExCP

El método también es muy innovador. En el artículo se mencionan dos conceptos importantes. Uno es utilizar la información residual de los puntos de control en el entrenamiento para lograr una mayor proporción de poda a través de la escasez de información en la serie de tiempo. y los pesos se combinan para la compresión para lograr una alta tasa de compresión general.



método específico

1. Residuos del punto de control

Durante el proceso de entrenamiento, los parámetros actuales pueden considerarse como el peso almacenado en el punto de control anterior más la suma de las actualizaciones de gradiente en iteraciones sucesivas. Esta parte es relativamente escasa y contiene menos información, por lo que este residuo se comprime, lo que se comprime mejor. se puede obtener la relación. Por el contrario, el impulso almacenado en el optimizador es el promedio móvil del primer y segundo momento del gradiente. Para el primer momento, el parámetro predeterminado del promedio móvil es 0,9, que varía de cientos a miles. no hay mucha correlación con el contenido almacenado en el último punto de control, por lo que el optimizador comprime directamente su propio valor en lugar del residual.El punto de control final a comprimir se expresa como



2. Compresión de las articulaciones Momentum del optimizador de peso

El trabajo existente relacionado con la compresión del modelo generalmente solo se centra en el rendimiento de inferencia del modelo o el tamaño del punto de control de almacenamiento final del modelo, pero no presta atención a la sobrecarga del espacio de almacenamiento del modelo durante todo el proceso de entrenamiento. Por lo tanto, el trabajo existente solo comprime los pesos, ignorando que los optimizadores comunes como Adam en realidad almacenan un impulso que es el doble del número de pesos. Por un lado, este trabajo comprime los dos juntos, mejorando significativamente la relación de compresión general; por otro lado, también utiliza la correlación entre los pesos y el impulso del optimizador para mejorar aún más la relación de compresión de cada uno;

Poda de peso: dado que el peso de la poda es el valor residual, el momento de segundo orden del impulso del optimizador puede representar aproximadamente la amplitud del cambio del valor residual del peso en el último período de tiempo, por lo que el momento de segundo orden del impulso del optimizador se puede utilizar como indicador. Determine la proporción de poda de diferentes capas.La estrategia de poda se muestra en la siguiente fórmula.



En la fórmula, W y representan el peso y el segundo momento respectivamente.



Poda de impulso del optimizador: para la poda de impulso, puede utilizar el momento de primer orden como indicador para realizar la poda. Hay una breve prueba de convergencia en el artículo.Al mismo tiempo, si se ha podado el peso de una posición, el impulso optimizador de la posición correspondiente también debe procesarse simultáneamente, por lo que la estrategia de poda es como se muestra en la siguiente fórmula



En la fórmula, representa el momento de primer orden.

3. Proceso de compresión general

El proceso de compresión general se muestra en el Algoritmo 1. Los pasos de cálculo del peso residual/compresión conjunta/cuantización no uniforme/compresión de codificación se realizan en secuencia para obtener el resultado final de la compresión.



El proceso de recuperación del archivo completo del punto de control se muestra en el Algoritmo 2. Después de la descompresión, el resultado del punto flotante se recupera primero del libro de códigos y el subíndice almacenado después de una cuantificación no uniforme, y luego se compara con el peso de referencia (la verificación anterior). Se suman el peso original del punto o el peso de reconstrucción recuperado) para obtener el fichero completo del punto de control. El proceso de restauración de los archivos de puntos de control durante todo el proceso de entrenamiento se muestra en el Algoritmo 3. Después de completar el entrenamiento, solo se guardan las semillas aleatorias de los pesos de inicialización y los resultados de compresión almacenados en cada punto de control, y luego los puntos de control se restauran en secuencia para obtener la secuencia completa de puntos de control desde la cual se pueden seleccionar uno o más puntos de control para reanudar el entrenamiento/pruebas, etc.

Resultados experimentales

El artículo no solo evalúa modelos de lenguaje grandes, sino que este método también puede lograr buenos resultados en modelos visuales más grandes como ViT-L32.



También se puede ver en el experimento de ablación que el uso del método de poda residual reduce en gran medida la pérdida causada por la poda.



El artículo también proporciona ejemplos de preguntas y respuestas para modelos de lenguaje grandes antes y después de la compresión. Se puede ver que la compresión en sí no daña la capacidad de preguntas y respuestas del modelo.