[리뷰] Pretrained Transformers As Universal Computation Engines
https://arxiv.org/pdf/2103.05247.pdf
Introduction
기존 학습 방식은 같은 모달리티에 대한 학습이 주류를 이루고 있습니다. 본 논문에서는 특정 모달리티에서 다른 모달리티로 전이 학습했을 때 Transformer의 일반화 능력을 연구하였습니다.
본 논문의 가설은 다음과 같습니다.
- Transformer가 데이터가 풍부한(data-rich) 모달리티(e.g., 자연어 말뭉치)에서 학습되었다면 적은 fine-tuinng으로 다른 모달리티에도 효과적으로 다운스트림 transfer가 된다.
- Pre-trained된 언어 모델은 순차적인 구조를 가진 다른 모달리티(e.g., 수치 연산, 이미지 분류, 단백질 폴드 예측)에 일반화할 수 있는 능력이 있을 것이다.
위의 가설을 확인하기 위한 본 논문는 FPT(Frozen Pretrained Transformer)을 사용하였습니다. FPT는 자연어 데이터로 사전 학습된 GPT-2 Transformer 모델로 셀프 어텐션 파라미터는 그대로 유지하고 Positional embedding과 Norm 레이어 파라미터, 선형 입력/출력 레이어만을 finetuning하였습니다.
FPT는 전체 파라미터의 0.1% 만을 finetuning하였음에도 불구하고 전체 transformer 또는 LSTM 모델을 학습하는 것과 비슷한 성능을 보였으며 더 빠르게 수렴됨을 발견하였습니다. 이와 결과는 언어 모델에 의해 학습된 셀프 어텐션 레이어가 효율적인 범용 계산에 적합한 속성을 가질 수 있음을 시사하고 있습니다.
Task
다양한 모달리티를 대표하는 다양한 분류 작업세트(7가지. Bit Memory, Bit XOR, ListOps, MNIST, CIFAR-10, CIFAR-10 LRA, Remote homology detection)를 평가합니다.
1.Bit Memory
1000bit 길이의 5개의 bit string (총 5000 bits)로 학습한 후 50%의 확률로 masked된 1000bit 길이의 1개의 bit string를 FPT에 넣고 original bitstring을 재현하는 task
2.Bit XOR
Bit memory task와 유사하게 5bit 길이의 2개의 bitstring을 입력받아 2개의 bitstring으로부터 element-wise XOR을 예측하는 task
3.ListOps
리스트 operation의 시퀀스를 입력으로 보여주고 출력 digit을 예측하는 task. (수학적인 표현을 파싱하는 능력과 긴 컨텍스트를 평가하기 위한 task 임)
4.MNIST
32x32 MNIST 이미지를 4x4 패치로 분할 후, 4 x4패치(16차원)의 64 token을 feed함
5.CIFAR-10
32x32 MNIST 이미지를 4x4 패치로 분할 후, 4 x4패치(16차원)의 64 token을 feed함
6.CIFRA-10 LRA(Long Rnge Arena)
7.Remote homology detection
Architecture
실험에 사용된 FPT의 파라미터와 Fine-tuning 레이어는 다음과 같습니다.
[파라미터]
- Embedding size/hidden dimension of the transformer: n_dim
- The number of layers: n_layers
- The input dimension: d_in
- The output dimension: d_out
- The maximum length of the sequence: l
- Base size model: n_dim=768, n_layers=12, GPT-2 model
[Fine-tuning 한 layers]
Output layer: 새로운 태스크로 완벽히 전이해야 하므로 fine-tuning 필요.
- 예) CIFAR-10: n_dim * d_out=768*10=7680 parameters
Input layer: 새로운 모달리티 데이터를 읽어야 하므로 새로운 입력 레이어를 재초기화하는 것이 중요.
- 예) CIFAR-10: n_dim * d_out=16*768=13056 parameters
Layer norm: 새로운 도메인에 다운스트림 태스크의 통계를 적응하기 위해 affine layer의 norm 파라미터(scale & bias)를 fine-tuning.
- 예) CIFAR-10: 4 * n_dim * n_layers = 4*768*12 = 36684 parameters
Positional embeddings: 포지셔널 임베딩 시 fine-tuning시 소폭의 이점을 가짐.
- 예) l * n_dim=64*768=49512 parmeters
베이스 CIFAR 모델의 전체 모델 사이즈 124M: 전체 네트워크의 약 0.086%만 fine-tuning
Evaluation
1.Can pretrained language models transfer to different modalities? (사전학습된 언어 모델을 다른 모달리티로 전이가 가능한가?)
- 사전학습된 transformer의 셀프 어텐션과 피드포워드 레이어들이 finetuning 없이 다른 모달리티의 classification 문제에 적용 여부를 실험한 것으로 위 그림에서 설명한대로 GPT-2 베이스 모델의 입력 임베딩 레이어, 출력 readout 레이어, norm 레이어 파라미터를 fine-tuning함
- FPT vs Fully training a Transformer 결과: FPT는 MNIST, CIFAR-10 LRA를 제외하고 full-training 하는 것보다 동등 내지 더 좋은 성능을 보이고 있음
- Transformer Variant(FPT & Full) vs LSTM 결과: Transformer Variant가 Bit Memory, XOR, ListOps, CIFAR-10 LRA 에서 압도적인 성능을 보이고 있음
2.What is the importance of the pretraining modality? (사전학습의 모달리티가 얼마나 중요하나?)
- Random initialization : 랜덤으로 초기화된 네트워크도 성능이 꽤 잘 나옴
- Bit memory pretraining: Random 과 ViT의 중간 정도의 성능을 보임
- Image pretraining (ViT): CIFAR-10, CIFAR-10 LRA에서 최고 성능, 하지만 다른 분야에서 모두 더 좋은 것은 아님
3.How important is the transformer architecture compared to LSTM architecture? (LSTM 구조와 비교하여 Transformer 구조가 얼마나 중요하나?)
- Random-Transformer와 Random-LSTM을 비교하였을 때 모든 면에서 Random-Transformer가 우세함
- 셀프 어텐션 구조가 universal computation를 위한 효과적인 inductive bias로 작용함
4.Does language pretraining improve compute efficiency over random initialization? (언어 사전학습이 랜덤 초기화에 비해 연산 효율성을 개선하는가?)
- FPT와 Random transformer 모델이 수렴하기 위해 걸리는 gradient steps을 고려하여 연산 효율을 비교
- FPT가 전반적으로 더 빨리 수렴하며, compute benefits을 얻기 위해 non-language tasks에 대해 language pretraining을 활용할 수 있음
5.Do the frozen attention layers attend to modality-specific tokens? (Frozen 어텐션 레이어가 특정 모달리티 토큰에 주의를 기울이는가?)
- FPT가 데이터로부터 의미를 제대로 알고하는 것인지 확인
- Bit tasks(Bit Memory, Bit XOR)는 어텐션이 제대로 적용되고 있지만 다른 태스크에 대해서는 어텐션이 제대로 적용되지 못함
[Bit XOR]
[Bit Memory]
6.Does freezing the transformer prevent overfitting or underfitting? (Transformer를 freezing하는 것이 overfitting이나 underfitting을 방지하나?)
- FPT는 오히려 underfitting 되는 것 같음. 모델 사이즈를 키우면 좀 더 더 개선 결과를 얻을 수 있을 것으로 생각됨
7.Does performance scale with model size? (성능이 모델 사이즈에 비례하는가?)
- FPT, Random 모두 모델 사이즈가 커질수록 정확도는 안정적으로 증가함
8.Can performance be attributed simply to better statistics for initialization? (성능이 단순히 초기화 시 더 좋은 통계 특성 때문인지?)
- 0~12 레이어까지 표준변차 분포
9.Does finetuning the self-attention and feedforward layers further improve performance? (셀프 어텐션과 피드포워드 레이어를 finetuning하는 것이 성능을 개선하나?)
- Feedforward를 finetuning 했을 때 CIFAR-10 성능이 개선되나 셀프 어텐션을 finetuning하였을 때 성능이 발산됨
10.Which parameters of the model are important to finetune? (모델의 어떠한 파라미터를 finetuning하는 것이 중요한가?)
- Pretrained 모델이나 Random 모델이나 Layer Norm이 가장 중요함
11.How well do the trends hold across other transformer models? (다른 Transformer 모델에서도 이러한 트렌드가 잘 유지가 되나?)
- GPT2와 BERT는 비슷한 성능이 나옴
12.Can we train a transformer by only finetuning the output layer? (출력 레이어만 finetuning 하여 Transformer를 학습할 수 있는지?
- 출력 레이어만 finetuning하였을 때 학습 속도는 수천 배 향상되나 정확도는 떨어짐
Discussion & Conclusion
- 본 논문의 테스트 결과를 통해 셀프 어텐션과 피드포워드 레이어 대해 finetuning을 하지 않은 FPT가 downstream 태스크에 대해서도 경쟁력있는 성능을 달성할 수 있음을 확인하였습니다.
- 이 연구는 향후 이종 모달리티간 전이학습을 위한 기초가 될 것으로 판단됩니다.