noticias

¿Qué sucede si codifico/salto la capa Transformer?Las últimas investigaciones revelan su mecanismo de flujo de información

2024-07-26

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

El viento del oeste viene del templo de Aofei.
Qubits | Cuenta pública QbitAI

El mecanismo de flujo de información en Transformer ha sido revelado por las últimas investigaciones:

¿Son necesarias todas las capas? ¿La capa intermedia está haciendo lo mismo? ¿Importa el orden de las capas?

sisaltar algunas capas, por ejemplo, qué pasará si la salida de la capa 4 se conecta a la capa 6.Mezcla aleatoriamente el orden de las capas., ¿qué pasa con el 4-6-5-7, por ejemplo?

Un estudio reciente llamado "Transformer Layers as Painters" se ha vuelto popular y fue completado por un equipo de investigación de las nuevas empresas de inteligencia artificial Sakana AI y Emergence AI.



Partieron del principio de funcionamiento interno de Transformer y llegaron a conclusiones sobre los temas anteriores a través de una serie de experimentos. El equipo afirmó que una comprensión profunda de estos principios no sólo puede mejorar la eficiencia de la utilización del modelo existente, sino también ayudar a mejorar la arquitectura y desarrollar nuevas variantes.

A Lucas Beyer, investigador de Google DeepMind y autor de ViT, le gustó nada más leerlo:

¡Gran resumen! Aunque algunos de los experimentos se han demostrado en estudios anteriores, me gustan los nuevos detalles que agregó, destacando especialmente que las tareas de tipo "razonamiento" se ven más afectadas que otras tareas.



Muchos académicos e ingenieros también expresaron fuertes recomendaciones.

Es una buena apuesta que algunos de estos conocimientos eventualmente se utilicen para mejorar Transformer.



Los experimentos confirmaron una vez más que: copiar capas es útil para tareas creativas, pero generalmente es ineficaz para tareas de razonamiento; cambiar el orden de las capas no funciona mejor en la capa intermedia, pero aún requiere ajustes de reparación.



Entonces, ¿qué experimentos realizó el equipo de investigación en este estudio? ¿Qué preguntas fueron respondidas?

Selección de modelos experimentales y evaluación comparativa.

Primero echemos un vistazo a la configuración experimental ~

Experimentar ensolo decodificadorysolo codificadorrealizado sobre el modelo.

Entre ellos, el modelo solo decodificador eligeLlama2, estudia principalmente Llama2-7B con 32 capas y 7 mil millones de parámetros. El experimento extendido también incluye modelos 13B (40 capas) y 70B (80 capas).

El modelo de solo codificador eligeBERT, con 24 capas y 340 millones de parámetros.

Los investigadores utilizaron puntos de control estándar previos al entrenamiento para estos modelos. En todos los experimentos, el modelo se congeló y, a excepción de la evaluación de BERT, que incluyó un paso de ajuste fino estándar, los parámetros del modelo no se modificaron mediante ajuste fino u otros métodos.

En términos de pruebas comparativas, Llama2 utiliza los siguientes puntos de referencia estándar: ARC (preguntas de exámenes de ciencias), HellaSwag (preguntas de sentido común), GSM8K (preguntas de matemáticas), WinoGrande (razonamiento de sentido común), LAMBADA (predicción de vocabulario). Entre ellos, LAMBADA se utiliza para medir la confusión, que es la más cercana a la predicción del token original utilizada durante el entrenamiento.

Para la evaluación del desempeño de Llama2, se proporciona la mediana normalizada de los benchmarks, cuantificando el desempeño de 0 a 1 (rendimiento óptimo del modelo).

Para BERT, se adopta el punto de referencia GLUE y se siguen sus métricas de evaluación, incluida la puntuación promedio no normalizada del punto de referencia. Tenga en cuenta que la evaluación BERT estándar incluye un paso de ajuste, adaptando así el modelo. En el anexo los investigadores muestran también un resultado de evaluación en el que sólo se puede ajustar la cabeza del modelo.

La motivación para el experimento surgió originalmente de esta pregunta:

¿Es posible combinar de alguna manera varias capas en una sola capa, posiblemente más grande?Se plantea la hipótesis de que quizás debido al uso de conexiones residuales durante el entrenamiento, la capa intermedia de la red neuronalSe podrá utilizar un espacio de representación común.(Esto no es cierto para los perceptrones multicapa estándar, que no tienen ningún mecanismo para promover la representación común o la coherencia de la disposición entre capas)

Si las capas pueden compartir un espacio de representación, tendrá un impacto importante en los cálculos de condiciones posteriores o en la adición dinámica de nuevos conocimientos al modelo Transformer previamente entrenado y a las aplicaciones posteriores.

8 preguntas importantes sobre Transformer
¿Las capas utilizan el mismo espacio de representación?

Para determinar si diferentes capas comparten el mismo espacio de representación, los investigadores examinaron el transformador.Saltar capas específicas o cambiar el orden de las capas adyacentesde robustez.

Por ejemplo, en el modelo Llama2-7B, cambie el flujo de salida del orden normal de "Capa 4 -> Capa 5 -> Capa 6" a "Capa 4 -> Capa 6", omitiendo la Capa 5. ¿Qué pasará?

¿O qué sucede si la salida de la capa 4 se envía a la capa 6 y luego la salida de la capa 6 se envía a la capa 5 y luego a la capa 7?

Como se muestra en la figura siguiente, el experimento encontró que, a excepción de la primera y la última capa,Llama2-7B muestra buena robustez al saltar o cambiar la secuencia de capas

Es decir, la capa intermedia comparte un espacio de representación, y la capa intermedia y la "capa exterior" (la primera y la última capa) tienen espacios de representación independientes.



Para confirmar aún más esta hipótesis, los investigadores midieron la similitud promedio del coseno entre las activaciones de estado oculto de diferentes capas en diferentes modelos (Llama2-7B, Llama2-13B y BERT-Large) y las compararon entre puntos de referencia.

La figura 3 a continuación muestraConsistencia entre todas las capas intermedias. . Por ejemplo, la activación de la cuarta capa en la parte inferior es muy similar a la activación de la cuarta capa en la parte superior. Para Llama2-13B de 40 capas, puede ver que las capas se pueden dividir en 4-5 grupos según la similitud: capa 0, capas 1-3, la capa intermedia y luego la última o dos capas.



Esto sugiere que el modelo puedeHay tres espacios de representación diferentes para las capas "principio", "intermedia" y "final". . Los investigadores también encontraron que el número de "capas iniciales" parecía aumentar con el número total de capas del modelo.

Además, una alta similitud de cosenos puede demostrar que existe un espacio de representación compartido, mientras que una baja similitud sugiere más que estos espacios no son compartidos. Los datos de Llama2-7B en la Figura 3 anterior son altamente consistentes con los resultados de rendimiento que se muestran en la Figura 2, lo que demuestra aún más:

Al menos se comparte el espacio de representación en el nivel medio.

¿Son necesarias todas las capas?

Para verificar aún más que el espacio de representación de la capa intermedia sea realmente compartido, los investigadores también realizaronExperimento de salto de capa(No se realizó ningún ajuste fino durante los experimentos).

Específicamente, la salida de la enésima capa se pasa directamente a la entrada de la capa N+M (M>1), "omitiendo" así la capa M-1, como se muestra en la siguiente figura.



Originalmente, la capa N+M se entrenó solo con la entrada de la capa N+M-1, entonces, ¿ahora puede comprender la activación de la capa N?

En este tipo de experimento, los investigadores ejecutan la primera capa y la última capa N-1 normalmente, mientras omiten o modifican las capas N+1 a TN (T es el número total de capas en el modelo).

Como se muestra en la Figura 4 a continuación, en múltiples pruebas comparativas, Llama2-7B y BERT-LargeEl rendimiento está disminuyendo gradualmente (La figura muestra el aumento gradual en el número de capas omitidas de izquierda a derecha). Este resultado reveló:

No todas las capas son necesarias y omitir al menos algunas de las capas intermedias no tendrá un impacto grave en el rendimiento general.



¿Todos los niveles intermedios realizan la misma función?

¿Son redundantes las capas intermedias si comparten un espacio de representación común?

Para responder a esta pregunta, los investigadores rehicieron el experimento anterior de "saltar", pero esta vez en lugar de saltarse la capa intermedia,Se reemplazaron los pesos de todas las capas intermedias con los pesos de la capa central.,Como se muestra abajo.

De hecho, las veces T-2N+1 se ejecutan en la capa central, donde T es el número total de capas del modelo (Llama2-7B tiene 32 capas, BERT-Large tiene 24 capas).



En la prueba de referencia resultante, a medida que aumenta el número de capas reemplazadas,El rendimiento del modelo se degrada rápidamente . Y la degradación del rendimiento es mucho más grave que simplemente saltarse algunas capas; este tipo de reemplazo de peso es extremadamente perjudicial.



por lo tanto,No es redundante que las capas intermedias realicen funciones diferentes. Compartir pesos entre capas intermedias puede tener consecuencias desastrosas.

¿Importa el orden de las capas?

Los experimentos anteriores muestran que aunque la capa intermedia comparte el espacio de representación, realiza diferentes operaciones en este espacio. Entonces, ¿importa el orden de estas operaciones? Los investigadores realizaron dos series de experimentos.

Primero, la capa intermedia se entrena de acuerdo conorden inverso ejecutado en orden (orden inverso). Pase la salida de la capa TN a la capa TN-1, y así sucesivamente hasta la capa N, y luego pase la salida de esa capa a la capa TN final.

Como se muestra abajo:



El segundo experimento,arreglo aleatorioLas capas intermedias se ordenan y se promedian en 10 resultados de semillas aleatorios.

Los resultados son los que se muestran a continuación. En ambos casos, los modelos muestran.Degradación lenta del rendimiento





Aquí hay un spoiler de un resultado experimental a continuación, ya sea en orden inverso o aleatorio, el rendimiento del modelo es mejor que omitir estas capas directamente, lo que indica que incluso si las capas se ejecutan en entradas en orden sin entrenamiento, aún pueden producir. salida efectiva.

Entonces, ¿importa el orden de las capas? La conclusión es:

El ajuste del orden de las capas tiene un cierto impacto en el rendimiento, y tanto el orden aleatorio como el orden inverso muestran cierta degradación del rendimiento.

Vale la pena señalar que el orden aleatorio funciona mejor que el orden inverso. Puede deberse a que el orden inverso es completamente opuesto al orden durante el entrenamiento, y cualquier orden aleatorio mantiene al menos cierta coherencia secuencial (es decir, una capa i siempre está después de otra capa j, donde i>j).

¿Se pueden ejecutar estas capas en paralelo?

Si la presencia de capas, es decir, que no se omitan, es más importante que el orden en que se ejecutan, ¿es posible considerarEjecute estas capas de forma independiente y luego combine sus resultados. ? Como se muestra abajo.



Los investigadores realizaron un experimento en el que, en lugar de omitir las capas N a TN, ejecutaron estas capas intermedias en paralelo y luego pasaron sus resultados promedio a las N capas finales.

Los resultados se muestran en la siguiente figura. Con la excepción del punto de referencia del problema matemático GSM8K, todos los puntos de referencia muestran una lenta degradación del rendimiento.

Curiosamente,Las capas paralelas funcionan mejor que omitir capas, pero no tan bien como ejecutar capas en orden inverso.



En resumen, ¿es posible ejecutar estas capas en paralelo? la respuesta es:Sí, excepto los puntos de referencia con muchas matemáticas.

Para algunas tareas, ¿importa más el orden?

La mayoría de las variantes (incluidas el orden inverso, el salto y el paralelo) muestran la degradación de rendimiento más rápida en los puntos de referencia de razonamiento abstracto ARC o razonamiento matemático GSM8K.

Esto puede explicarse por el hecho de que las tareas de razonamiento paso a paso son más sensibles a los cambios en el orden de las capas que las tareas "semánticas" como Winogrande o HellaSwag.

Esto se debe a que las tareas de razonamiento requieren una combinación de información estructural y semántica, mientras que tareas como HellaSwag se pueden completar únicamente con semántica.

A través de experimentos, los investigadores concluyeron:Las tareas matemáticas y de razonamiento dependen más del orden que las tareas "semánticas".

¿La iteración ayuda con capas paralelas?

Si se compara el mecanismo de funcionamiento interno de Transformer con el proceso de pintar un cuadro: el lienzo (entrada) se pasa entre algunos pintores, algunos pintores se especializan en pintar pájaros y otros son mejores pintando ruedas... Cada pintor, por turno, dibuja de otro El pintor toma el lienzo en sus manos y decide si agregarlo a la pintura o pasarlo directamente al siguiente pintor (usando conexiones residuales).

Es concebible que determinadas capas sólo "complementen" la pintura cuando reciban la información adecuada. Por ejemplo, es más probable que un artista que "dibuja ruedas" dibuje ruedas si ve primero la carrocería de un automóvil.

En el transformador, es posible que algunas capas solo contribuyan al paso directo cuando reciben la entrada adecuada, en lugar de pasar la entrada directamente a través de la conexión residual.

Viéndolo de esta manera, en comparación con ejecutar la capa paralela solo una vez,Ejecución iterativa de capas paralelas.Debería mejorar el rendimiento.

Los investigadores probaron esto alimentando la salida promedio de las capas paralelas a la misma capa y fijando el número de iteraciones, como se muestra a continuación:



En la Figura 9 a continuación, los investigadores muestran los resultados de iterar la capa paralela 3 veces. Este método es significativamente mejor que ejecutar la capa paralela solo una vez.



La única excepción es cuando la capa inicial N es 15 para Llama2-7B o 11 para BERT. En este caso, el efecto de paralelizar el bucle 3 veces equivale a repetir solo la capa intermedia 3 veces, y la capa paralela en este momento equivale al modelo completo.

Los investigadores también repitieron el experimento con diferentes números de iteraciones.

La siguiente figura muestra cómo cambia el rendimiento de Llama2-7B con el número de capas paralelas M y el número de iteraciones.



El número óptimo de iteraciones para cada M se indica en el cuadro rojo. Excepto M=29 y M=31 (casi todas las capas están paralelizadas), el número óptimo de iteraciones es aproximadamente linealmente proporcional al número de capas paralelas.

Entonces la conclusión es:La iteración ayuda con capas paralelas y el número óptimo de iteraciones es proporcional al número de capas paralelas.

¿Qué variantes perjudican menos el rendimiento?

Finalmente, los investigadores compararon todas las diferentes variantes del experimento en el mismo gráfico.

Los resultados muestran que,Repetir una sola capa(Como se mencionó anteriormente, reemplace las capas intermedias con un número igual de capas centrales)Peor efecto, el rendimiento se degrada rápidamente hasta la línea de base aleatoria.



El paralelismo iterativo y la degradación del rendimiento secuencial de capas aleatorias son mínimos, entre los cuales el paralelismo iterativo funciona mejor en BERT y Llama2-7B.



Se han agregado más resultados experimentales al apéndice del artículo y los familiares interesados ​​pueden consultar el artículo original.

Enlace del artículo: https://arxiv.org/abs/2407.09298v1
Enlace de referencia: https://x.com/A_K_Nain/status/1812684597248831912