네티즌 칭찬: Transformer가 연간 보고서의 단순화된 버전을 선도합니다.

WBOY
풀어 주다: 2024-01-14 13:51:17
앞으로
1050명이 탐색했습니다.
대형 모델의 뿌리부터 최적화하세요.

Transformer 아키텍처는 딥 러닝 분야에서 최근의 많은 성공 사례를 뒷받침하는 주요 원동력이라고 할 수 있습니다. 심층적인 Transformer 아키텍처를 구축하는 간단한 방법은 여러 개의 동일한 Transformer "블록"을 차례로 쌓는 것입니다. 그러나 각 "블록"은 더 복잡하고 우수한 성능을 달성하기 위한 특정 배열과 조합이 필요한 다양한 구성 요소로 구성됩니다.

2017년 Transformer 아키텍처가 탄생한 이후 연구자들은 이를 기반으로 한 수많은 파생 연구를 시작했지만 Transformer "블록"에는 거의 변화가 없었습니다.

그래서 질문은 표준 Transformer 블록을 단순화할 수 있느냐는 것입니다.

최근 논문에서 ETH Zurich의 연구원들은 수렴 속성과 다운스트림 작업 성능에 영향을 주지 않고 LLM에 필요한 표준 Transformer 블록을 단순화하는 방법에 대해 논의했습니다. 신호 전파 이론과 경험적 증거를 바탕으로 잔류 연결, 정규화 계층(LayerNorm), 투영 및 값 매개변수, MLP 직렬화 하위 블록(병렬 레이아웃 선호)과 같은 일부 부분을 제거하여 GPT를 단순화할 수 있음을 발견했습니다. 디코더 아키텍처 및 인코더 스타일 BERT 모델과 같습니다.

연구원들은 훈련 속도에 영향을 주지 않고 관련 구성요소를 제거할 수 있는지, 그리고 Transformer 블록에 어떤 아키텍처 수정이 이루어져야 하는지 조사했습니다.

네티즌 칭찬: Transformer가 연간 보고서의 단순화된 버전을 선도합니다.

논문 링크: https://arxiv.org/pdf/2311.01906.pdf

Lightning AI 창립자이자 기계 학습 연구원인 Sebastian Raschka는 이 연구를 "올해의 가장 좋아하는 논문" One 이라고 부릅니다.

네티즌 칭찬: Transformer가 연간 보고서의 단순화된 버전을 선도합니다.

그러나 일부 연구자들은 다음과 같이 질문했습니다. "완전한 훈련 과정을 본 적이 없다면 논평하기 어렵습니다. 정규화 레이어도 없고 잔여 연결도 없다면 어떻게 1보다 클 수 있나요"

네티즌 칭찬: Transformer가 연간 보고서의 단순화된 버전을 선도합니다.

Sebastian Raschka는 다음과 같이 동의했습니다. "그렇습니다. 그들이 실험한 아키텍처는 상대적으로 작습니다. 이것이 수십억 개의 매개변수가 있는 Transformer로 일반화될 수 있는지 여부는 아직 밝혀지지 않았습니다. 하지만 그는 여전히 작업이 인상적이라고 말했으며 그렇게 믿었습니다." 잔여 연결을 성공적으로 제거한 것은 완전히 합리적이었습니다(초기화 방식을 고려할 때).

이와 관련하여 Turing Award 수상자 Yann LeCun은 다음과 같이 말했습니다. "우리는 딥 러닝 아키텍처 분야의 표면만 만졌습니다. 이는 고차원 공간이므로 볼륨이 표면에 거의 완전히 포함되어 있지만 우리는 표면만 만졌을 뿐입니다

네티즌 칭찬: Transformer가 연간 보고서의 단순화된 버전을 선도합니다.

Transformer 블록을 단순화해야 하는 이유는 무엇입니까?

연구원들은 훈련 속도에 영향을 주지 않고 Transformer 블록을 단순화하는 것이 흥미로운 연구 문제라고 말했습니다.

우선, 현대 신경망 아키텍처는 설계가 복잡하고 많은 구성 요소를 포함하고 있습니다. 신경망 훈련의 역학에서 이러한 다양한 구성 요소의 역할과 서로 상호 작용하는 방식은 잘 알려져 있지 않습니다. 이 질문은 딥러닝 이론과 실제의 격차에 관한 것이므로 매우 중요합니다.

신호 전파 이론은 심층 신경망 아키텍처에서 실용적인 설계 선택에 동기를 부여하는 데 영향력이 있는 것으로 입증되었습니다. 신호 전파는 초기화 시 신경망의 기하학적 정보의 진화를 연구하고, 입력 전반의 계층적 표현의 내부 곱으로 캡처되며, 심층 신경망 훈련에서 많은 인상적인 결과를 가져왔습니다.

그러나 현재 이 이론은 초기화 중 모델만 고려하고 종종 초기 순방향 전달만 고려하므로 잔류 연결이 훈련 속도에 미치는 영향과 같은 심층 신경망의 훈련 역학에서 많은 복잡한 문제를 밝힐 수 없습니다. 신호 전파는 수정 동기에 매우 중요하지만, 연구원들은 이론만으로는 단순화된 변환기 모듈을 도출할 수 없으며 경험적 통찰력에 의존해야 한다고 말합니다.

실용적인 애플리케이션 측면에서 현재 대규모 Transformer 모델을 훈련하고 배포하는 데 드는 비용이 높다는 점을 고려할 때 Transformer 아키텍처의 훈련 및 추론 파이프라인의 효율성 향상은 엄청난 잠재적 절감 효과를 의미합니다. 불필요한 구성요소를 제거하여 Transformer 모듈을 단순화할 수 있다면 매개변수 수를 줄이고 모델 처리량을 향상시킬 수 있습니다.

이 문서에서는 또한 잔여 연결, 값 매개변수, 투영 매개변수 및 직렬화 하위 블록을 제거한 후 훈련 속도 및 다운스트림 작업 성능 측면에서 표준 Transformer와 일치할 수 있다고 언급했습니다. 궁극적으로 연구원들은 매개변수 수를 16% 줄였고 훈련 및 추론 시간의 처리량이 16% 증가하는 것을 관찰했습니다.

Transformer 블록을 단순화하는 방법은 무엇입니까?

신호 전파 이론과 경험적 관찰을 바탕으로 연구원은 Pre-LN 모듈에서 시작하여 가장 간단한 Transformer 블록을 생성하는 방법을 소개했습니다(아래 참조).

네티즌 칭찬: Transformer가 연간 보고서의 단순화된 버전을 선도합니다.

논문 4장의 각 섹션에서 저자는 훈련 속도에 영향을 주지 않고 한 번에 하나의 블록 구성 요소를 삭제하는 방법을 소개합니다.

이 부분의 모든 실험은 CodeParrot 데이터세트에서 18블록, 768폭 인과 디코더 전용 GPT 모델을 사용합니다. 이 데이터세트는 작성자가 단일 교육 에포크 모드에 있을 때 일반화 격차가 다음과 같을 정도로 충분히 큽니다. 매우 작아서(그림 2 참조) 훈련 속도에 집중할 수 있습니다.

네티즌 칭찬: Transformer가 연간 보고서의 단순화된 버전을 선도합니다.

잔여 연결 삭제

연구원들은 먼저 어텐션 하위 블록의 잔여 연결을 삭제하는 것을 고려했습니다. 방정식 (1)의 표기법에서 이는 α_SA를 0으로 고정하는 것과 같습니다. 단순히 어텐션 잔여 연결을 제거하면 신호 품질이 저하될 수 있습니다. 즉, 순위 붕괴로 인해 훈련성이 저하될 수 있습니다. 논문의 섹션 4.1에서 연구자들은 그들의 방법을 자세히 설명합니다.

네티즌 칭찬: Transformer가 연간 보고서의 단순화된 버전을 선도합니다.

투영/값 매개변수 제거

그림 3에서 업데이트당 훈련 속도의 손실을 최소화하면서 값 및 투영 매개변수 W^V, W^P를 완전히 제거할 수 있다는 결론을 내릴 수 있습니다. 즉, β_V = β_P = 0이고 ID가 초기화되면(

네티즌 칭찬: Transformer가 연간 보고서의 단순화된 버전을 선도합니다.

), 동일한 수의 훈련 단계 후에 이 연구는 기본적으로 Pre-LN 블록의 성능을 달성할 수 있습니다. 이 경우 훈련 과정 전반에 걸쳐 W^V = W^P = I는 W^V = W^P = I입니다. 즉, 값과 투영 매개변수가 일관됩니다. 저자는 섹션 4.2에서 자세한 방법을 제시합니다.

네티즌 칭찬: Transformer가 연간 보고서의 단순화된 버전을 선도합니다.

MLP 하위 블록 잔여 연결 삭제

위 모듈에 비해 MLP 하위 블록 잔여 연결 삭제가 더 어렵습니다. 이전 연구에서와 마찬가지로 저자는 MLP 잔여 연결 없이 Adam을 사용할 때 신호 전파를 통해 활성화를 보다 선형적으로 만들면 그림 22에 표시된 것처럼 업데이트당 훈련 속도가 크게 감소한다는 사실을 발견했습니다.

네티즌 칭찬: Transformer가 연간 보고서의 단순화된 버전을 선도합니다.

그들은 또한 가우스 가중치, 직교 가중치 또는 항등 가중치를 포함하여 Looks 선형 초기화의 다양한 변형을 시도했지만 소용이 없었습니다. 따라서 작업 전반에 걸쳐 표준 활성화(예: ReLU)를 사용하고 MLP 하위 블록의 초기화를 사용합니다.

저자는 PALM 및 ViT-22B와 같은 최근 여러 대형 변압기 모델에서 인기가 입증된 병렬 MHA 및 MLP 하위 블록의 개념을 다루었습니다. 병렬 변압기 블록은 아래 그림에 나와 있습니다.

네티즌 칭찬: Transformer가 연간 보고서의 단순화된 버전을 선도합니다.

저자는 논문의 섹션 4.3에서 MLP 하위 블록 잔여 연결을 제거하는 구체적인 작업을 자세히 설명합니다.

정규화 레이어 삭제

마지막으로 삭제해야 할 것은 정규화 레이어이므로 그림 1의 오른쪽 상단에 가장 간단한 블록이 표시됩니다. 신호 전파 초기화 관점에서 저자는 이 섹션의 모든 단순화 단계에서 정규화 계층을 제거할 수 있습니다. 그들의 아이디어는 Pre-LN 블록의 정규화가 암시적으로 잔여 가지의 가중치를 감소시키고 이 유익한 효과가 정규화 계층 없이도 다른 메커니즘을 통해 복제될 수 있다는 것입니다. 잔여 연결을 사용할 때 명시적으로 잔여 가지의 가중치를 줄이십시오. 또는 MLP 비선형성을 "더 많은" 선형성으로 식별/변환하는 방향으로 주의 매트릭스를 편향합니다.

저자가 수정 과정에서 이러한 메커니즘을 고려했기 때문에(MLP β_FF 및 Shaped Attention의 가중치 감소 등) 정규화가 필요하지 않습니다. 저자는 섹션 4.4에서 더 많은 정보를 제공합니다.

실험 결과

깊이 확장

신호 전파 이론이 일반적으로 큰 깊이에 초점을 맞추고 있다는 점을 고려하면 신호 저하가 일반적으로 이 경우 발생합니다. 따라서 자연스러운 질문은 단순화된 변환기 블록을 통해 달성된 향상된 훈련 속도가 더 깊은 수준까지 확장될 수 있느냐는 것입니다.

그림 6에서 볼 수 있듯이 깊이를 18블록에서 72블록으로 확장한 후 본 연구의 모델과 Pre-LN 변압기의 성능이 모두 향상되었으며, 이는 본 연구의 단순화된 모델이 단지 더 빠른 훈련 더 빠르고 깊이 있는 추가 기능을 활용할 수 있습니다. 실제로 정규화를 사용하면 본 연구에서 단순화된 블록과 Pre-LN의 업데이트별 궤적이 서로 다른 깊이에서 거의 구별되지 않습니다.

네티즌 칭찬: Transformer가 연간 보고서의 단순화된 버전을 선도합니다.

BERT

다음으로 저자는 단순화된 블록 성능이 자동 회귀 디코더뿐만 아니라 다운스트림 작업 외에도 다양한 데이터 세트 및 아키텍처에 적용된다는 것을 보여줍니다. 그들은 마스크된 언어 모델링을 위해 널리 사용되는 양방향 인코더 전용 BERT 모델 설정을 선택하고 다운스트림 GLUE 벤치마크를 사용했습니다.

그림 7에 표시된 것처럼 런타임 24시간 이내에 이 연구의 단순화된 블록은 (Crammed) Pre-LN 기준과 비교하여 마스크된 언어 모델링 작업의 사전 학습 속도와 비슷합니다. 반면, 값과 투영을 다시 수정하지 않고 잔여 연결을 제거하면 훈련 속도가 크게 저하됩니다. 그림 24에서 저자는 마이크로배치 단계의 동등한 다이어그램을 제공합니다.

네티즌 칭찬: Transformer가 연간 보고서의 단순화된 버전을 선도합니다.

네티즌 칭찬: Transformer가 연간 보고서의 단순화된 버전을 선도합니다.

또한 표 1에서 연구원들은 GLUE 벤치마크에서 미세 조정한 후 그들의 방법이 Crammed BERT 벤치마크와 비슷한 성능을 발휘한다는 것을 발견했습니다.

네티즌 칭찬: Transformer가 연간 보고서의 단순화된 버전을 선도합니다.

표 2에서는 다운스트림 작업을 분류합니다. 공정한 비교를 위해 Geiping & Goldstein(2023)과 동일한 미세 조정 프로토콜을 사용했습니다(5개 시대, 각 작업에 대한 상수 하이퍼 매개변수, 드롭아웃 정규화).

네티즌 칭찬: Transformer가 연간 보고서의 단순화된 버전을 선도합니다.

효율성 향상

표 1에서 연구원들은 마스크된 언어 모델링 작업에서 다양한 Transformer 블록을 사용하는 모델의 매개변수 수와 훈련 속도에 대해서도 자세히 설명했습니다. 그들은 24시간의 사전 훈련 동안 수행된 마이크로배치 단계 수와 기준선 Pre-LN Crammed BERT의 비율로 속도를 계산했습니다. 결론은 모델이 Pre-LN 블록보다 16% 더 적은 매개변수를 사용하고 SAS-P와 SAS가 각각 반복당 16%와 9% 더 빠르다는 것입니다.

여기 구현에서 병렬 블록은 Pre-LN 블록보다 5% 더 빠른 반면 Chowdhery et al.(2022)이 관찰한 훈련 속도는 15% 더 빠르다는 것을 알 수 있습니다. 더욱 최적화된 구현으로, 전체적인 훈련 속도를 더욱 높일 수 있습니다. Geiping & Goldstein(2023)과 마찬가지로 이 구현에서도 PyTorch의 자동 연산자 융합 기술을 사용합니다(Sarofeen et al., 2022).

장기 훈련

마지막으로 더 많은 데이터에 대해 더 오랜 기간 동안 소규모 모델을 훈련시키는 현재 추세를 고려할 때 연구원들은 단순화된 블록이 긴 훈련 속도 후에도 여전히 Pre-LN 블록의 훈련을 달성할 수 있는지 논의했습니다. 이를 위해 CodeParrot에서 그림 5의 모델을 사용하고 3x 토큰으로 훈련합니다. 정확하게 말하면 훈련에는 배치 크기가 128이고 시퀀스 길이가 128인 약 120,000단계(40,000단계 대신)가 필요하므로 결과적으로 약 20억 개의 토큰이 생성됩니다.

그림 8에서 볼 수 있듯이 훈련에 더 많은 토큰이 사용되면 단순화된 SAS 및 SAS-P 코드 블록의 훈련 속도는 여전히 PreLN 코드 블록과 비슷하거나 훨씬 더 좋습니다.

네티즌 칭찬: Transformer가 연간 보고서의 단순화된 버전을 선도합니다.

자세한 연구 내용은 원문을 참고해주세요.

위 내용은 네티즌 칭찬: Transformer가 연간 보고서의 단순화된 버전을 선도합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:jiqizhixin.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿