소식

Transformer 레이어를 스크램블/건너뛰면 어떻게 되나요?최신 연구에 따르면 정보 흐름 메커니즘이 밝혀졌습니다.

2024-07-26

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

서풍은 아오페이사에서 불어온다
Qubits 공개 계정 QbitAI

Transformer의 정보 흐름 메커니즘은 최신 연구에 의해 밝혀졌습니다.

모든 레이어가 필요한가요? 중간층도 같은 일을 하고 있나요? 레이어 순서가 중요합니까?

만약에일부 레이어 건너뛰기예를 들어, 레이어 4의 출력이 레이어 6에 연결되면 어떻게 될까요?레이어 순서를 무작위로 섞습니다., 예를 들어 4-6-5-7은 어떻습니까?

최근 AI 스타트업인 Sakana AI와 Emergence AI의 연구팀이 완성한 "Transformer Layers as Painters"라는 연구가 인기를 끌었습니다.



그들은 Transformer의 내부 작동 원리에서 출발하여 일련의 실험을 통해 위의 문제에 대한 결론에 도달했습니다. 팀은 이러한 원칙에 대한 깊은 이해가 기존 모델 활용의 효율성을 향상시킬 수 있을 뿐만 아니라 아키텍처 개선 및 새로운 변형 개발에도 도움이 될 수 있다고 밝혔습니다.

Google DeepMind 연구원이자 ViT 작성자인 Lucas Beyer는 이 글을 읽은 후 바로 좋아요를 표시했습니다.

훌륭한 요약입니다! 이전 연구에서 실험 중 일부가 표시되었지만 추가한 새로운 세부 정보가 마음에 듭니다. 특히 "추론" 유형 작업이 다른 작업보다 더 많은 영향을 받는다는 점을 강조했습니다!



많은 학자와 엔지니어들도 강력한 권고를 표명했습니다.

이러한 통찰력 중 일부는 결국 Transformer를 개선하는 데 사용될 것입니다.



실험을 통해 다시 한 번 확인되었습니다. 레이어 복사는 창의적인 작업에는 도움이 되지만 일반적으로 추론 작업에는 효과적이지 않습니다.



그렇다면 이번 연구에서 연구팀은 어떤 실험을 진행했을까요? 어떤 질문에 답변되었나요?

실험모델 선정 및 벤치마킹

먼저 실험구성부터 살펴보겠습니다~

실험해 보세요디코더 전용그리고인코더 전용모델에서 수행되었습니다.

그 중에서 디코더 전용 모델을 선택합니다.라마2, 주로 32개 레이어와 70억 개의 매개변수를 가진 Llama2-7B를 연구합니다. 확장 실험에는 13B(40개 레이어) 및 70B(80개 레이어) 모델도 포함됩니다.

엔코더 전용 모델은 다음을 선택합니다.버트, 24개의 레이어와 3억 4천만 개의 매개변수가 있습니다.

연구원들은 이러한 모델에 대해 표준 사전 훈련 체크포인트를 사용했습니다. 모든 실험에서 모델은 동결되었으며, 표준 미세 조정 단계를 포함하는 BERT의 평가를 제외하고 모델 매개변수는 미세 조정이나 다른 방법을 통해 수정되지 않았습니다.

벤치마크 테스트 측면에서 Llama2는 ARC(과학 테스트 질문), HellaSwag(상식 질문), GSM8K(수학 질문), WinoGrande(상식 추론), LAMBADA(어휘 예측)와 같은 표준 벤치마크를 사용합니다. 그 중 LAMBADA는 혼란을 측정하는 데 사용되며, 이는 훈련 시 사용된 원래 토큰 예측에 가장 가깝습니다.

Llama2의 성능 평가를 위해 벤치마크의 정규화된 중앙값이 제공되어 성능을 0에서 1(모델 최적 성능)까지 정량화합니다.

BERT의 경우 GLUE 벤치마크가 채택되고 벤치마크의 비정규화된 평균 점수를 포함하여 평가 지표가 따릅니다. 표준 BERT 평가에는 미세 조정 단계가 포함되어 모델을 조정합니다. 부록에는 연구진이 모델의 머리 부분만 조정할 수 있는 평가 결과도 나와 있다.

실험의 동기는 원래 다음 질문에서 비롯되었습니다.

여러 레이어를 하나의 더 큰 레이어로 결합하는 것이 가능합니까?아마도 훈련 중에 잔여 연결을 사용하기 때문에 신경망의 중간 계층이공통 표현 공간을 사용할 수 있습니다.(이것은 공통 표현이나 레이어 간의 배열 일관성을 촉진하는 메커니즘이 없는 표준 다층 퍼셉트론의 경우에는 해당되지 않습니다.)

레이어가 표현 공간을 공유할 수 있는 경우 후속 조건 계산에 중요한 영향을 미치거나 사전 훈련된 Transformer 모델 및 다운스트림 애플리케이션에 새로운 지식을 동적으로 추가합니다.

Transformer에 관한 8가지 주요 질문
레이어가 동일한 표현 공간을 사용합니까?

서로 다른 레이어가 동일한 표현 공간을 공유하는지 확인하기 위해 연구원들은 Transformer의특정 레이어를 건너뛰거나 인접한 레이어의 순서를 변경하세요.견고함.

예를 들어 Llama2-7B 모델에서 출력 스트림을 "Layer 4 -> Layer 5 -> Layer 6"의 일반적인 순서에서 "Layer 4 -> Layer 6"으로 변경하고, Layer 5를 건너뛰면 어떻게 될까요?

아니면 레이어 4의 출력이 레이어 6으로 전송되고 레이어 6의 출력이 레이어 5로 전송된 다음 레이어 7로 전송되면 어떻게 되나요?

실험 결과 아래 그림과 같이 처음과 마지막 몇 개의 레이어를 제외하고는Llama2-7B는 레이어 시퀀스를 건너뛰거나 변경하여 우수한 견고성을 보여줍니다.

즉, 중간 레이어는 표현 공간을 공유하고, 중간 레이어와 "외부 레이어"(첫 번째 레이어와 마지막 레이어)는 독립적인 표현 공간을 갖습니다.



이 가설을 추가로 확인하기 위해 연구원들은 서로 다른 모델(Llama2-7B, Llama2-13B 및 BERT-Large)에서 서로 다른 계층의 숨겨진 상태 활성화 간의 평균 코사인 유사성을 측정하고 이를 벤치마크에서 비교했습니다.

아래 그림 3은 다음과 같습니다.모든 중간 레이어 간의 일관성 . 예를 들어, 하단의 네 번째 레이어의 활성화는 상단의 네 번째 레이어의 활성화와 매우 유사합니다. 40개 레이어로 구성된 Llama2-13B의 경우 유사성을 기준으로 레이어를 4~5개 그룹(레이어 0, 레이어 1~3, 중간 레이어, 마지막 1~2개 레이어)으로 나눌 수 있음을 알 수 있습니다.



이는 모델이 다음을 수행할 수 있음을 시사합니다."시작", "중간" 및 "끝" 레이어에는 세 가지 다른 표현 공간이 있습니다. . 연구원들은 또한 모델의 총 레이어 수가 증가함에 따라 "시작 레이어"의 수가 증가하는 것으로 나타났습니다.

또한 높은 코사인 유사성은 공유된 표현 공간이 있음을 증명할 수 있는 반면, 낮은 유사성은 이러한 공간이 공유되지 않음을 더 암시합니다. 위 그림 3의 Llama2-7B 데이터는 그림 2의 성능 결과와 매우 일치하며 이는 다음을 추가로 입증합니다.

최소한 중간 수준의 표현 공간은 공유됩니다.

모든 레이어가 필요한가요?

중간 계층의 표현 공간이 실제로 공유되는지를 추가로 검증하기 위해 연구진은 또한레이어 건너뛰기 실험(실험 중에는 미세 조정이 수행되지 않았습니다.)

구체적으로, N번째 레이어의 출력은 N+M번째 레이어(M>1)의 입력으로 직접 전달되므로 아래 그림과 같이 M-1 레이어를 "건너뛰기"합니다.



원래 N+M 계층은 N+M-1 계층의 입력으로만 학습되었으므로 이제 N 계층의 활성화를 이해할 수 있습니까?

이러한 유형의 실험에서 연구자들은 첫 번째 레이어와 마지막 N-1 레이어를 정상적으로 실행하고 N+1 레이어부터 TN 레이어까지 건너뛰거나 수정합니다(T는 모델의 총 레이어 수).

아래 그림 4와 같이 여러 벤치마크 테스트에서 Llama2-7B 및 BERT-Large실적은 점차 하락세 (그림에서는 건너뛴 레이어 수가 왼쪽에서 오른쪽으로 점진적으로 증가하는 것을 보여줍니다.) 이 결과는 다음과 같습니다.

모든 레이어가 필요한 것은 아니며 중간 레이어 중 적어도 일부를 생략해도 전체 성능에 심각한 영향을 미치지 않습니다.



중간 계층은 모두 동일한 기능을 수행합니까?

공통 표현 공간을 공유하는 경우 중간 레이어가 중복됩니까?

이 질문에 답하기 위해 연구진은 이전의 "건너뛰기" 실험을 다시 수행했지만 이번에는 중간 계층을 건너뛰는 대신모든 중간 레이어의 가중치를 중앙 레이어의 가중치로 대체했습니다.,아래 그림과 같이.

실제로 T-2N+1번은 중앙 레이어에서 실행됩니다. 여기서 T는 모델의 총 레이어 수입니다(Llama2-7B는 32레이어, BERT-Large는 24레이어).



결과 벤치마크 테스트에서는 교체된 레이어 수가 늘어날수록모델 성능이 급격히 저하됨 . 그리고 성능 저하는 단순히 일부 레이어를 건너뛰는 것보다 훨씬 더 심각하므로 이러한 종류의 무게 교체는 매우 해롭습니다.



그러므로,중간 레이어가 서로 다른 기능을 수행하는 것은 중복되지 않습니다. 중간 레이어 간에 가중치를 공유하면 재앙적인 결과가 발생할 수 있습니다.

레이어 순서가 중요합니까?

위의 실험은 중간 계층이 표현 공간을 공유하지만 이 공간에서 다른 작업을 수행한다는 것을 보여줍니다. 그렇다면 이러한 작업의 순서가 중요합니까? 연구자들은 두 세트의 실험을 수행했습니다.

먼저, 중간 계층은 다음과 같이 훈련됩니다.역순으로 순서대로(역순) 실행됩니다. TN 레이어의 출력을 TN-1 레이어로 전달하고, N 레이어까지 계속 진행한 다음 해당 레이어의 출력을 최종 TN 레이어로 전달합니다.

아래 그림과 같이:



두 번째 실험,무작위 배열중간 레이어는 10개의 무작위 시드 결과에 대해 순서가 지정되고 평균이 계산됩니다.

두 경우 모두 결과는 다음과 같습니다.느린 성능 저하





다음은 아래 실험 결과에 대한 스포일러입니다. 역순이든 무작위 순서이든 이러한 레이어를 직접 건너뛰는 것보다 모델 성능이 더 좋습니다. 이는 레이어가 비훈련 순서로 입력에 대해 실행되더라도 여전히 생성할 수 있음을 나타냅니다. 효과적인 출력.

그렇다면 레이어 순서가 중요한가요? 결론은 다음과 같습니다

레이어 순서 조정은 성능에 일정한 영향을 미치며 임의 순서와 역순 모두 특정 성능 저하를 나타냅니다.

무작위 순서가 역순보다 더 나은 성능을 발휘한다는 점은 주목할 가치가 있습니다. 이는 역순이 훈련 중 순서와 완전히 반대이고 임의의 임의 순서가 적어도 어느 정도 순차적 일관성을 유지하기 때문일 수 있습니다(즉, 레이어 i는 항상 다른 레이어 j 뒤에 있으며, 여기서 i>j).

이러한 레이어를 병렬로 실행할 수 있나요?

레이어의 존재, 즉 건너뛰지 않는 것이 레이어가 실행되는 순서보다 더 중요한 경우 다음을 고려할 수 있습니까?이러한 레이어를 독립적으로 실행한 다음 결과를 결합합니다. ? 아래 그림과 같이.



연구원들은 N층에서 TN층으로 건너뛰는 대신 중간층을 병렬로 실행한 다음 평균 결과를 최종 N층에 전달하는 실험을 수행했습니다.

결과는 아래 그림과 같습니다. GSM8K 수학 문제 벤치마크를 제외하고 모든 벤치마크에서 느린 성능 저하가 나타났습니다.

재미있게,병렬 레이어는 레이어를 건너뛰는 것보다 성능이 뛰어나지만 레이어를 역순으로 실행하는 것만큼 성능이 좋지 않습니다.



요약하자면, 이러한 레이어를 병렬로 실행하는 것이 가능합니까? 정답은:예, 수학이 많이 사용되는 벤치마크를 제외하고는 그렇습니다.

일부 작업의 경우 순서가 더 중요합니까?

대부분의 변형(역순, 건너뛰기 및 병렬 포함)은 추상 추론 ARC 또는 수학적 추론 GSM8K 벤치마크에서 가장 빠른 성능 저하를 보여줍니다.

이는 단계적 추론 작업이 Winogrande 또는 HellaSwag와 같은 "의미론적" 작업보다 레이어 순서 변경에 더 민감하다는 사실로 설명할 수 있습니다.

추론 작업은 구조적 정보와 의미론적 정보의 조합이 필요한 반면, HellaSwag와 같은 작업은 의미론만으로 완료할 수 있기 때문입니다.

실험을 통해 연구자들은 다음과 같은 결론을 내렸습니다.수학적 및 추론 작업은 "의미론적" 작업보다 순서에 더 의존합니다.

반복이 병렬 레이어에 도움이 되나요?

Transformer의 내부 작동 메커니즘을 그림을 그리는 과정에 비유하면 캔버스(입력)가 일부 화가 사이에 전달되고, 일부 화가는 새 그림을 전문으로 하고, 일부는 바퀴 그림을 더 잘... 각 화가가 차례로 그림을 그립니다. 화가는 캔버스를 손에 들고 그림에 추가할지 아니면 다음 화가에게 직접 전달할지(잔여 연결을 사용하여) 결정합니다.

특정 레이어는 적절한 입력을 받을 때만 그림을 "보완"한다고 생각할 수 있습니다. 예를 들어, "바퀴를 그리는" 예술가는 자동차의 몸체를 먼저 본다면 바퀴를 그릴 가능성이 더 높습니다.

Transformer에서 일부 레이어는 잔여 연결을 통해 입력을 직접 전달하는 대신 적절한 입력을 받을 때만 순방향 전달에 기여할 수 있습니다.

이렇게 보면 병렬 레이어를 한 번만 실행하는 것과 비교하면,병렬 레이어의 반복 실행성능을 향상시켜야 합니다.

연구원들은 아래와 같이 병렬 레이어의 평균 출력을 동일한 레이어에 다시 공급하고 반복 횟수를 고정하여 이를 테스트했습니다.



아래 그림 9에서 연구원들은 병렬 레이어를 3번 반복한 결과를 보여줍니다. 이 방법은 병렬 레이어를 한 번만 실행하는 것보다 훨씬 낫습니다.



유일한 예외는 시작 레이어 N이 Llama2-7B의 경우 15, BERT의 경우 11인 경우입니다. 이 경우 루프를 3번 병렬화한 효과는 중간 레이어만 3번 반복한 것과 같으며, 이때의 병렬 레이어는 완전한 모델과 동일합니다.

연구자들은 또한 다양한 반복 횟수로 실험을 반복했습니다.

아래 그림은 병렬 레이어 수 M과 반복 횟수에 따라 Llama2-7B의 성능이 어떻게 변화하는지 보여줍니다.



각 M에 대한 최적의 반복 횟수는 빨간색 상자로 표시됩니다. M=29 및 M=31(거의 모든 레이어가 병렬화됨)을 제외하고 최적의 반복 횟수는 대략 병렬 레이어 수에 선형적으로 비례합니다.

결론은 다음과 같습니다.반복은 병렬 레이어에 도움이 되며 최적의 반복 횟수는 병렬 레이어 수에 비례합니다.

성능에 가장 적은 영향을 미치는 변형은 무엇입니까?

마지막으로 연구자들은 동일한 그래프에서 실험의 다양한 변형을 모두 비교했습니다.

결과는 다음과 같습니다.단일 레이어 반복(위에서 언급했듯이 중간 레이어를 동일한 수의 가장 중앙 레이어로 교체합니다)최악의 영향, 성능은 무작위 기준선으로 빠르게 저하됩니다.



반복적 병렬 처리 및 랜덤 레이어 순차 성능 저하가 최소화됩니다., 그 중 반복 병렬 처리는 BERT 및 Llama2-7B에서 가장 잘 수행됩니다.



논문 부록에는 더 많은 실험 결과가 추가되었으며, 관심 있는 가족들은 논문 원문을 확인하실 수 있습니다.

논문 링크: https://arxiv.org/abs/2407.09298v1
참조 링크: https://x.com/A_K_Nain/status/1812684597248831912