7년 전, "Attention is all you need"라는 논문은 딥러닝 분야 전체를 뒤흔드는 트랜스포머 아키텍처를 제안했습니다.
요즘 모든 주요 모델은 트랜스포머 아키텍처를 기반으로 하지만 트랜스포머의 내부 작동 원리는 여전히 풀리지 않는 미스터리입니다.
지난해 트랜스포머 페이퍼의 저자 중 한 명인 Llion Jones는 인공지능 기업 Sakana AI의 창립을 발표했습니다. 최근 Sakana AI는 사전 훈련된 변압기의 정보 흐름을 탐구하고 디코더 전용 및 인코더 전용 고정 변압기 모델에 대한 일련의 실험을 수행한 "페인터로서의 변압기 레이어"라는 제목의 논문을 발표했습니다. 이 연구에서는 사전 훈련된 모델에 대해 어떤 유형의 미세 조정도 수행하지 않았습니다.
논문 주소: https://arxiv.org/pdf/2407.09298v1
본 연구는 트랜스포머(특히 중간 레이어)의 내부 메커니즘을 화가의 페인팅 파이프라인에 비유하여 이해할 수 있다고 믿습니다.
페인팅 파이프라인은 일반적으로 캔버스(입력)를 일련의 페인터에게 전달합니다. 어떤 화가는 새를 잘 그리는 반면, 어떤 화가는 바퀴 그림을 잘 그립니다. 각 화가는 아래에 있는 화가로부터 캔버스를 받은 다음 그림에 몇 가지 획을 추가할지 아니면 그냥 위의 화가에게 전달할지(잔여 연결을 사용하여) 결정합니다.
이 비유는 엄격한 이론이 아니라 변환기 레이어에 대해 생각하기 위한 도구입니다. 이 비유에서 영감을 받아 연구에서는 다음과 같은 몇 가지 가설을 테스트하고 검증했습니다.
모든 레이어가 동일한 표현 공간을 사용하고 있습니까?
모든 레이어가 필요한가요?
중간 레이어는 모두 동일한 기능을 수행하나요?
레이어 순서가 중요한가요?
이 레이어를 병렬로 실행할 수 있나요?
일부 작업의 경우 다른 요소보다 순서가 더 중요합니까?
루프가 레이어 병렬 처리에 도움이 되나요?
모델 성능에 가장 적은 영향을 미치는 변형은 무엇입니까?
이 연구에서는 사전 훈련된 LLM에 대한 일련의 실험을 수행했습니다. 여기에는 표준 변환기 실행 전략의 변형 실험과 디코더 전용(Llama) 및 인코더 전용(BERT) 모델에 대한 다양한 벤치마크에서 이러한 변화를 측정하는 것이 포함되었습니다. 모델 성능에 영향을 미칩니다.
모든 레이어가 동일한 표현 공간을 사용하고 있나요?
서로 다른 레이어가 동일한 표현 공간을 사용하는지 답하기 위해 저자는 특정 레이어를 건너뛰거나 인접한 레이어의 순서를 전환할 때 Transformer가 견고한지 여부를 테스트했습니다. 예를 들어 Llama2-7B에서 계층 6은 일반적으로 계층 5의 출력을 수신할 것으로 예상합니다. 레이어 6에 레이어 4의 출력이 주어지면 "재앙적으로" 동작하게 될까요?
그림 2에서 처음과 마지막 몇 개의 레이어를 제외하고 Llama2-7B의 레이어는 레이어 호핑이나 전환에 매우 견고하다는 것을 알 수 있습니다.
이 실험은 중간 레이어가 표현 공간을 공유하고 "주변 레이어"(첫 번째 및 마지막 레이어)와 다른 표현 공간을 가짐을 보여줍니다. 이 가설을 추가로 테스트하기 위해 저자는 이전 연구를 따르고 기준선(Llama2-7B, Llama2-13B 및 BERT-Large) 모델의 서로 다른 계층에서 숨겨진 상태 활성화 간의 평균 코사인 유사성을 측정했습니다. 그림 3은 모든 중간 계층 간의 일관성을 보여줍니다.
이는 모델에 "시작", "중간" 및 "끝" 레이어의 세 가지 다른 표현 공간이 있을 수 있음을 보여줍니다. 질문 1에 대한 답변: 예, 중간 레이어는 공통 표현 공간을 공유하는 것 같습니다.
모든 레이어가 필요한가요?
중간 레이어의 리디렉션 공간이 실제로 공유되는지(밀접한 코사인 유사성을 갖는 것 외에도) 추가 테스트를 위해 이 연구에서는 "레이어 건너뛰기", 즉 N번째 레이어의 출력을 N으로 직접 보내는 것을 시도했습니다. +M번째 레이어(여기서 M > 1), 그림 1a에 표시된 것처럼 M − 1 레이어를 "건너뜁니다". 실험은 N + M 계층이 N + M − 1 계층의 입력에 대해서만 훈련되었음에도 불구하고 N + M 계층이 N 계층의 활성화를 이해할 수 있는지 확인하는 것이었습니다. 그림 4는 Llama2-7B와 BERT-Large 모두 많은 벤치마크에서 약간의 성능 저하를 경험했음을 보여줍니다. 질문 2에 답하면 모든 레이어가 필요합니까?
아니요, 최소한 중간 레이어 중 일부는 치명적인 오류 없이 제거할 수 있습니다.
중간 레이어는 모두 동일한 기능을 수행하나요?
중간 레이어가 모두 공통 표현 공간을 공유한다면 다른 중간 레이어가 중복된다는 뜻인가요? 이를 테스트하기 위해 연구원들은 이전 하위 섹션의 "건너뛰기" 실험을 다시 실행하여 중간 계층의 가중치를 중앙 계층의 가중치로 대체하고 대체된 각 레이어에서 T - 2N을 효과적으로 루핑했습니다. 여기서 T는 T입니다. 는 레이어의 총 개수입니다(Llama2-7B의 경우 32개 레이어, BERT-Large의 경우 24개 레이어).
Comme le montre la figure 5, on peut observer qu'à mesure que le nombre de couches remplacées augmente, le score du modèle dans le test de référence diminue rapidement. Comme le montre la figure 11 ci-dessous, cette méthode de remplacement des couches est pire que toute autre méthode essayée par les chercheurs. Par conséquent, les chercheurs ont conclu que les couches intermédiaires remplissent des fonctions différentes et qu’il n’est pas possible de partager les poids entre les couches intermédiaires.
L'ordre des couches est-il important ?
Des expériences précédentes ont montré que les couches intermédiaires partagent un espace de représentation mais sont responsables de différentes fonctions dans cet espace. La prochaine question à aborder est de savoir ce que signifie l’ordre de ces fonctions. Pour résoudre ce problème, les chercheurs ont conçu deux séries d’expériences. Tout d’abord, exécutez les couches intermédiaires dans l’ordre inverse de celui dans lequel elles ont été formées. Plus précisément, prenez la sortie de la T - Nème couche, entrez-la dans la T - N - 1ème couche, puis entrez la sortie de cette couche dans la T - N - 2ème couche, et ainsi de suite, jusqu'à la Nème couche, et puis envoyez la sortie de cette couche à la couche T - N suivante. Dans une deuxième série d’expériences, les chercheurs ont analysé les couches intermédiaires dans un ordre aléatoire et en ont fait la moyenne sur 10 valeurs de départ.
Les figures 6 et 7 montrent les résultats de l'exécution des couches intermédiaires respectivement dans un ordre inverse et aléatoire, le modèle montrant une tendance à la baisse progressive sur tous les ensembles de tests de base. Cela montre également que même si l'ordre des calques revêt une certaine importance pour le modèle, les calques peuvent toujours fonctionner même si l'ordre est modifié.
Plus intéressant encore, mélanger aléatoirement l'ordre des calques fonctionne mieux que de faire exactement l'inverse. Cela peut être dû au fait que le mélange aléatoire de l'ordre préserve certaines des relations d'origine entre les couches (c'est-à-dire que la couche i suit la couche j, où i > j), tandis que l'inverse complet rompt complètement ces relations.
Ces couches peuvent-elles fonctionner en parallèle ?
Pour vérifier que l'existence des couches elles-mêmes est plus importante que l'ordre d'exécution, les chercheurs ont conçu une expérience pour exécuter les couches intermédiaires en parallèle et envoyer leurs résultats moyens aux N couches finales.
Comme le montre la figure 8, les performances du modèle dans tous les tests de référence montrent une légère tendance à la baisse. Cependant, cette tendance ne s'applique pas aux problèmes de mots mathématiques dans GSM8K.
Les résultats expérimentaux montrent que cette méthode est efficace dans la plupart des cas, mais certains problèmes mathématiques complexes ne sont pas bien traités. Cette méthode de traitement parallèle est pire que le saut de couches, mais pas aussi efficace que l'exécution des couches dans l'ordre inverse. Sur cette base, les chercheurs ont conclu que la couche d'opérations parallèles est réalisable dans les cas généraux, mais que pour les problèmes mathématiques nécessitant une compréhension logique séquentielle, cette méthode peut ne pas convenir.
Pour certaines tâches, l'ordre est-il plus important que d'autres facteurs ?
Pour la plupart des modèles « modernisés », ils ont tendance à montrer la tendance à la baisse la plus forte lorsqu'ils sont confrontés à des références de raisonnement abstrait (ARC) ou de raisonnement mathématique (GSM8K). Ce phénomène peut provenir du fait que les tâches de raisonnement étape par étape sont beaucoup plus sensibles à l'ordre des niveaux du modèle que les tâches de bon sens qui reposent principalement sur la compréhension sémantique. Contrairement aux tâches qui peuvent être accomplies par la seule compréhension de la sémantique, les tâches de raisonnement nécessitent que le modèle saisisse à la fois la structure et le sens. Cette observation est cohérente avec l'hypothèse selon laquelle le modèle peut effectuer un certain degré d'inférence dépendant de l'ordre au cours d'une seule session de traitement.
Les chercheurs ont utilisé une métaphore pour illustrer : si vous peignez un collage composé de nombreux éléments différents, alors l'ordre des peintures n'est peut-être pas si important, mais si vous peignez une scène architecturale précise, alors l'ordre de chaque trait ; L'ordre devient très important. Sur cette base, les chercheurs ont conclu que les tâches de mathématiques et de raisonnement dépendent davantage de l’ordre des couches du modèle, tandis que pour les tâches qui reposent principalement sur la compréhension sémantique, l’impact de l’ordre est relativement faible.
Les boucles aident-elles à paralléliser entre les couches ?
Suite à la métaphore de la peinture dans la section précédente, lorsqu'un peintre peint un tableau, il ne peint pas tout au début, mais peint d'abord une partie, comme la carrosserie de la voiture, puis ajoute d'autres choses en fonction de cette partie . , comme les roues. Dans le modèle d'IA, les calques sont ce qu'on appelle des peintres, et le traitement des informations est la peinture. Si les informations correctes sont obtenues en premier, la carrosserie de la voiture est dessinée en premier, ils peuvent alors mieux terminer leur travail et contribuer au travail. peinture. Ajoutez des roues.
Pour le transformateur, lorsqu'elle reçoit l'entrée appropriée, la couche ne peut contribuer qu'à la propagation vers l'avant, plutôt que de "faire passer" l'entrée via la connexion résiduelle. Si tel est le cas, l'itération des couches parallèles de l'expérience précédente devrait améliorer davantage les performances du modèle que l'exécution des couches parallèles une seule fois. Sur cette base, les chercheurs ont testé cela en introduisant la sortie moyenne de la couche parallèle dans la même couche pendant un nombre fixe d'itérations.
La figure 9 montre le résultat de la boucle 3 fois de la couche parallèle. Les résultats de la parallélisation de la boucle 3 fois sont nettement meilleurs qu'une seule itération (couche parallèle). Lorsque la couche de départ N est définie sur 15 (pour le modèle Llama2-7B) ou 11 (pour le modèle BERT), qui se trouve à l'extrême gauche de chaque boîtier, une seule couche est affectée. Dans ce cas particulier, l’effet de paralléliser la boucle trois fois équivaut à simplement répéter trois fois la couche intermédiaire. Dans le même temps, les performances de la couche parallèle à ce stade ne peuvent pas être distinguées de celles du modèle complet.
Les chercheurs ont également répété la même expérience avec différents nombres d'itérations. La figure 10 montre les performances de Llama2-7B en fonction du nombre de couches de parallélisation M et du nombre d'itérations. Le numéro d’itération le plus performant pour chaque M est marqué d’un cadre rouge. Le nombre optimal d'itérations évolue à peu près linéairement avec le nombre de couches parallélisées, sauf pour M=29 et M=31 (où presque toutes les couches sont parallélisées). Les chercheurs ont donc conclu que le nombre optimal d’itérations est proportionnel au nombre de couches de parallélisation.
Comment ajuster les calques avec le moins d'impact sur les performances du modèle ?
Enfin, dans la figure 11, les chercheurs ont comparé les « transformations » de Transformer dans toutes les expériences, montrant la médiane ou la moyenne de tous les points de repère sur un graphique.
La duplication intermédiaire – remplacer la couche intermédiaire par le même nombre de copies de la couche intermédiaire – a donné les pires résultats, tombant rapidement à des performances de base aléatoires. En revanche, le parallélisme des boucles et l’ordre aléatoire des couches ont un impact minime. Par conséquent, les chercheurs ont conclu que la duplication d’une seule couche a l’impact le plus grave. La randomisation de l'ordre des couches et le parallélisme des boucles ont un impact minimal.
Ces expériences montrent globalement une légère dégradation des performances, mais les chercheurs ne savent toujours pas pourquoi ces couches peuvent maintenir un certain degré de robustesse sous la plupart des perturbations. Cette question doit être explorée plus en détail dans les recherches futures.
Veuillez consulter le document original pour plus de détails.
Lien de référence : https://arxiv.org/pdf/2407.09298v1
위 내용은 Transformer의 내부 작동을 이해하기 위한 8가지 질문과 8가지 답변의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!