noticias

¡Solo se activan los parámetros 3.8B y el rendimiento es comparable al del mismo modelo 7B!Se puede utilizar el ajuste de formación, de Microsoft

2024-07-18

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

  • Crecy proviene del templo de Aofei.
    Qubits | Cuenta pública QbitAI

Sólo es necesario activar el 60% de los parámetros., puede lograr un rendimiento comparable al del modelo denso completamente activado.

Un nuevo estudio de Microsoft Research Asia implementa el modeloActivación completamente escasa, reduciendo significativamente el costo del razonamiento.

Y tiene una amplia gama de aplicaciones, ya sea capacitación desde cero, capacitación continua o puesta a punto, puede brindar un soporte efectivo.



El método se llamaQ-Escaso, logra la escasez del modelo a nivel de neurona y es más granular que otros métodos. Bajo el mismo razonamiento general, tanto el rendimiento como la tasa de escasez son mejores.

En el nombre, Q se refiere a Cuantización, lo que significa que además de los modelos ordinarios, tambiénCompatible con técnicas de cuantificación, adecuado para modelos de varios métodos de cuantificación.

El autor afirmó además que si Q-Sparse se combina con la tecnología de cuantificación de modelos, se puede lograr una mayor reducción de costos y una mejora de la eficiencia.

Además, mientras estudiaba Q-Sparse, el equipo también realizó una exploración en profundidad de la relación entre el tamaño del parámetro, la tasa de escasez y el rendimiento del modelo, y descubrió"Ley de escala" para la optimización de la inferencia de modelos

Algunos internautas creen que esta tecnología es realmente buena y mejor que ReLU.



Otros activaron el modo de deseos y dijeron que sería fantástico si el ROCm (de AMD) pudiera admitir esta tecnología más rápido que Nvidia.



Implementar la dispersión usando la función Top-K

La operación principal realizada por Q-Sparse esAplicar la función de dispersión Top-K al tensor de entrada

Específicamente, la arquitectura Transformer utiliza nn.Capas lineales lineales (multiplicación de matrices) para la proyección tanto en la capa de atención como en la capa de avance, que se puede expresar como Y = X · W ^ T. (donde X es el tensor de entrada, W representa su peso e Y es el tensor de salida)

En Q-Sparse, para un tensor de activación de entrada X, primero se calcula y ordena su valor absoluto |X|.Encuentre los K elementos con el mayor valor absoluto entre ellos

K aquí hay un hiperparámetro preestablecido que determina el grado de escasez.

Q-Sparse luego creará un tensor de máscara binaria M con la misma forma que X. Para las posiciones correspondientes a los K elementos con los valores absolutos más grandes en una serie es 0 |

Luego, realice la operación del producto de Hadamard (multiplicación por elementos) en el tensor de entrada X y el tensor de máscara M para obtener el tensor disperso.X_disperso

Durante el proceso de propagación hacia adelante, el tensor disperso X_sparse reemplazará el tensor de entrada original X para participar en cálculos posteriores (como la multiplicación de matrices).

Dado que la mayoría de los elementos en X_sparse se han establecido en cero, la cantidad de cálculo y los requisitos de ancho de banda de memoria se pueden reducir significativamente.



Durante la retropropagación, Q-Sparse utilizaestimador de paso(Estimador directo, STE) para calcular el gradiente de la función Top-K.

En los métodos de entrenamiento tradicionales, generalmente es necesario calcular el gradiente de la función de pérdida en los parámetros de la red y utilizar el método de descenso de gradiente para actualizar los parámetros para minimizar la pérdida.

Sin embargo, cuando hay algunas operaciones no diferenciables como la cuantificación y Top-K en la red, el cálculo del gradiente encontrará problemas, porque el gradiente de salida de estas operaciones a la entrada es 0 en la mayoría de los puntos, lo que resulta en la incapacidad. para propagar eficazmente el gradiente.

STE evita el problema del gradiente que desaparece al pasar directamente el gradiente al tensor antes de la dispersión.

En general, el gradiente de la función de pérdida L a x es ∂L/∂x=∂L/∂y⋅∂y/∂x, pero no se puede calcular directamente porque no es diferenciable.

La solución de STE es calcular solo el gradiente de la función de pérdida en el tensor disperso y, y luego copiarlo directamente al tensor x original, es decir, usar directamente ∂L/∂y como estimación de ∂L/∂x.


△Comparación de gradiente con/sin STE

Para la capa de avance, Q-Sparse usaFunción ReLU al cuadradoEn lugar de la función de activación ReLU convencional, la operación cuadrada puede mejorar aún más la escasez de activación (⊙ representa el producto de Hadamard).



Además, para adaptarse al modelo de cuantificación, Q-Sparse primero cuantificará el tensor de entrada antes de aplicar la dispersión Top-K para garantizar que la operación de dispersión sea compatible con la representación de cuantificación. Su función se expresa de la siguiente manera:



Entre ellos, ε es una pequeña constante que se utiliza para evitar que el denominador sea cero.

En particular, para pesos cuantificados de 1 bit, Q-Sparse utiliza la siguiente función de cuantificación, donde α es el valor absoluto promedio del tensor de peso W.



El 60% de los parámetros de activación logran el mismo efecto.

Los experimentos comparativos muestran que Q-Sparse es significativamente mejor que el método ReLU anterior en términos de tasa de escasez y rendimiento del modelo.



Con respecto a los efectos específicos de Q-Sparse, el autor evaluó su desempeño en tres tareas: entrenamiento inicial, entrenamiento continuo y ajuste.

Entrena desde ceroEl modelo utilizado en el experimento es Llama. Los resultados muestran que en los modelos 700M y 7B, Q-Sparse usando el 70% de top-K (es decir, el 40% de la tasa de escasez general) puede lograr una pérdida de entrenamiento comparable a la densa. base.



continuar entrenandoEl propósito es dispersar el modelo denso, y el objeto experimental aquí es Mistral-7B.

Como resultado, cuando los parámetros de activación eran 2.9B y 3.8B, las puntuaciones del modelo en ARC, MMLU y otros conjuntos de datos no disminuyeron significativamente.



existirsintonia FINAEn el experimento, tanto para los modelos Qwen-7B como Mistral-7B, Q-Sparse mostró resultados similares al entrenamiento continuo, utilizando aproximadamente el 60% de los parámetros de activación para lograr un rendimiento muy cercano al del modelo denso.



Estos resultados significan que, con el mismo rendimiento, en comparación con los modelos densos,Los modelos de activación dispersa pueden reducir significativamente los parámetros de activación durante la inferencia, reduciendo así la cantidad de FLOPS consumidos.

Para el modelo cuantitativo, el equipo aplicó Q-Sparse en el modelo BitNet b1.58 de desarrollo propio y realizó capacitación y evaluación en múltiples conjuntos de datos.

Se puede ver que en ambas escalas de 700M y 7B, la velocidad de convergencia y el valor de la función de pérdida final del modelo cuantificado que usa Q-Sparse son comparables al modelo cuantificado sin Q-Sparse (BitNet b1.58).

Esto muestra que Q-SparsePuede integrarse perfectamente en modelos cuantitativos., sin afectar significativamente el entrenamiento y la convergencia del modelo.

En consecuencia, el autor cree que combinar Q-Sparse con tecnología de cuantificación puede mejorar aún más la eficiencia de modelos de lenguaje grandes en la etapa de inferencia.



Descubra la nueva “Ley de escala” para la optimización de la inferencia

Además de evaluar el rendimiento de estos modelos cuando se utiliza activación dispersa, el autor también exploró la relación entre el rendimiento del modelo, la escala y la tasa de escasez, e hizo algunos descubrimientos nuevos.

Ley de escala de rendimiento de los modelos de activación dispersa: el autor descubrió que, al igual que los modelos densos, el rendimiento de los modelos de activación dispersa también sigue una relación de escala de ley de potencia.

Específicamente, dada la tasa de escasez S, el valor de la función de pérdida L (N, S) del modelo cuando converge se puede aproximar mediante la siguiente fórmula:



Entre ellos, N es el número de parámetros del modelo; E es una constante que representa la pérdida del modelo en el infinito; A (S) es un factor de escala relacionado con la tasa de escasez S.

Esta ley de escala muestra que,diluidoescasoEl rendimiento de los modelos de activación mejora a medida que aumenta el tamaño del modelo, pero la tasa de mejora se ralentiza gradualmente.



Al mismo tiempo, el autor descubrió que el rendimiento del modelo también se verá afectado por la tasa de escasez.

Como se mencionó en la sección sobre la relación entre la escala de parámetros y el rendimiento, A(S) es un factor de escala relacionado con la tasa de escasez S, que puede aproximarse mediante la siguiente fórmula:



donde B y C son constantes y β es un parámetro que controla la tasa de caída exponencial.

Esta fórmula muestra que cuando la tasa de escasez S aumenta (el modelo se vuelve más disperso), significaLas tasas de escasez más altas conducen a una degradación del rendimiento, la tasa de disminución es exponencial.



Con base en los hallazgos anteriores, el autor derivó una tasa de escasez óptima S* para la inferencia, que puede minimizar el valor de la función de pérdida del modelo cuando el presupuesto (operaciones de punto flotante durante la inferencia) es constante.

Para el modelo de precisión total (FP32), la tasa de escasez óptima es aproximadamente 45,58%, mientras que la tasa de escasez óptima para el modelo de baja precisión (como 1,58 bits) es mayor, aproximadamente 61,25%.



Los autores observaron que a medida que aumenta el tamaño del modelo, la brecha de rendimiento entre los modelos de activación escasa y los modelos densos se reduce gradualmente.

Esto se puede explicar a partir de la ley de escala: cuando el tamaño del modelo N tiende a infinito, el valor de la función de pérdida del modelo de activación escasa tiende a L (∞, S) = E, mientras que el valor de la función de pérdida del modelo denso tiende a L (∞,0)=E.

Esto significa que a escalas extremadamente grandes, es posible que los modelos de activación dispersa logren un rendimiento comparable al de los modelos densos, lo que proporciona una referencia útil para diseñar y entrenar modelos de activación dispersa a gran escala.

Dirección del artículo: https://arxiv.org/abs/2407.10969