Abstract
- 문제 제기: NLP에 대해 트랜스포머의 성능이 좋음에도 불구하고, intensive computation때문에 하드웨어에 deploy하기 어렵다.
- 논문 주제 제시: 본 논문에서는 Hardware-Aware Transformers(HAT) with neural architecture search를 통해 리소스 제한적인 하드웨어 환경에서도 트랜스포머 모델을 낮은 지연시간으로 활용할 수 있게 만들고자 한다.
- 방법론 구체:
- 첫째, large design space(w. encoder-decoder attention & heterogeneous layer)를 구축한다.
- 둘째, SuperTransformer를 training한다. 이 SuperTransformer는 Subtransformer들을 효율적으로 생성하기 위한 모델이다.(w. weight sharing)
- 셋째, Evolutionary search를 통해 주어진 하드웨어 제약조건 하에서 가장 적합한 Subtransformer 모델을 찾아낸다.
- 실험: 3 Experiments 섹션 참조
- 깃허브 링크: https://github.com/mit-han-lab/hardware-aware-transformers
1 Introduction
- 1, 2: 트랜스포머 모델의 이점과 단점을 설명하며 해당 연구의 중요성을 설명한다.
- 3: 트랜스포머 모델의 성능 측정 시의 문제상황에 대해 설명한다. 기존의 성능 측정 척도로는 실제 하드웨어 상에서의 성능을 확실하게 알기 어렵다는 점이 주요 문제사항이다.
- FLOPs가 실제 지연시간을 완전히 반영하지 않는다.
→ Nvidia GPU의 경우, Hidden & Embedding dim scailing 정도와 지연시간은 완전히 무관했다.
- 하드웨어마다 다른 트랜스포머 모델 구조에 적합성을 보이기 때문에 실험을 거치지 않은 이론적 성능 척도는 무용하다.
→ Hidden & Embedding dim은 Raspberry Pi Arm CPU, Intel CPU, Nvidia GPU에 따라 지연 시간 측면에서 각각 large, small, no impact를 보였다.
- 4, 5, 6: 주제 제시와 방법론 개략. 상세: 2 Proposed Approaches 참조 Figure 3: HAT Overview
- Hardware-Aware Transformers (HAT) 모델 디자인 loop 단계에서 Latency feedback을 하드웨어로부터 직접적으로 받기 때문에 FLOPs를 latency proxy로 쓰지 않아도 되며, 다양한 하드웨어에 특수화된 모델을 찾을 수 있다. 해당 프레임워크는 다음 세 단계로 구성된다:
-
Constructing a large search space
설명: 임의의 인코더-디코더 어텐션과 heterogeneous transformer layer를 사용하여 서치 스페이스를 구축한다. 이는 모든 디코더 층이 여러/다양한 인코더 층을 참조할 수 있게 하여 인코더의 low-level information을 디코더에서도 사용할 수 있게 한다.
기능: 기존의 인코더-디코더 구조에서 발생하는 information bottleneck 현상 해소. 또한 heterogeneous transformer layer 사용을 통해 상이한 하드웨어 환경에 적합한 모델을 구축할 수 있게 만듦.
-
Training SuperTransformer
설명: 1번에서 생성된 large search space에서 낮은 비용으로 서칭을 하기 위해 SuperTransformer를 학습시키는 것이 필요하다.
기능: 이로부터 생성된 SubTransformer들은 weight를 공유하므로 동시에, 한 번에 evaluating이 가능해진다. (기존의 NAS는 각각의 모델들을 따로 평가하는 것이 필요했었다)
-
Conducting evolutional search
설명: 주어진 하드웨어 제약조건을 고려하여 best SubTransformer 모델을 찾아낸다.
이 과정에서 KD, Quantization과 같은 모델 압축 기법이 자연스럽게 통합된다고 한다.
- 7: 실험 결과. 상세: 3 Experiments 참조 하드웨어: Raspberry Pi ARM CPU, Intel Xeon CPU, and Nvidia TITAN Xp GPU 데이터셋: WMT’14 En-De, WMT’14 En-Fr, WMT’19 En-De, and IWSLT’14 De-En
- 8: Contributions
-
Hardware-Aware and Specialization
모델 디자인 단계에서 직접적으로 하드웨어 피드백을 반영 → FLOPs와 같은 이론적 계산치가 아닌 실제 latency를 반영하여 모델을 설계하는 방법론을 최초 제시.
이를 통해 하드웨어의 특이성을 모델 설계에 반영, 특정 하드웨어에 적합한 모델 설계를 가능케 함.
-
Low-cost Neural Architecture Search with a Large Design Space
Large Design Space: Arbitrary encoder-decoder attention을 통해 information bottleneck 문제 해소, heterogeneous layer를 통해 다른 층간 capacity 변경을 가능케 함
Weight-shared SuperTransformer: SubTransformer모델을 낮은 코스트로 서치할 수 있게 함
-
Design Insights
- Attending to multiple encoder layers is beneficial for the decoder
- ARM CPU는 좁고 깊은 모델을 선호, GPU는 넓고 얕은 모델을 선호
2 Proposed Approaches
2.1 Design Space
아래 두 가지 트랜스포머 디자인 컨벤션을 깨서 large design space를 구축했다고 함
- 모든 디코더 레이어는 오직 마지막 인코더 레이어에만 attending해야 한다.
- 모든 레이어들은 identical하다.
- Arbitrary Encoder-Decoder Attention Figure 4
- 목적: Information bottleneck(디코더 레이어가 오직 마지막 인코더 층만 학습함으로써 발생) 현상을 해소
- 설명: 인코더와 디코더 사이의 가장 적합한 연결을 학습한다. (이때 인코더 레이어의 KV를 sentence length dim으로 concat)
- 추가적인 파라미터가 필요하지 않아서 효율적 ← 이부분 이해가 잘 안돼서 좀 더 찾아봐야 할 것 같음
- 비용: latency overhead도 무시할 만하다.
- Heterogeneous Transformer Layers
- attention layer에서 heterogeneous한 층을 참조한다. 이때 elastic하게 # of head를 조절해서 오버헤드를 줄여야 한다.
- elastic embedding dim of encoder and decoder를 지원한다. 인코더와 디코더 레이어의 수 또한 elastic하게 만든다.
- 이때 QKV벡터 길이 관련으로는 후속 연구를 하겠다고 쓰여있음. 한 번 찾아봐야 할 것 같다.
- 목적: 2.1에서 만들어진 large design space에서 low-cost search를 하기 위해 사용.
- 설명: model performance approximation을 위한 supernet
- SubTransformer는 uniformly sampled from SuperTransformer
weight를 공유하기 때문에 한 번에 training 가능 → fast & low-cost
Training 이후 output: SubTransformers’ performance proxy
- 목적: 실제 하드웨어 조건 하의 latency predictor 기능 제공.
- 측정 방식은 online과 offline 방식 중 후자를 택함. (더 빠르고 정확해서)
- encode the architecture of a SubTransformer into a feature vector, and predict its latency instantly with a multi-layer perceptron (MLP)
- 예측 결과 도출도 빠르고 정확함(본문 figure6)
- evolutionary algorithm을 사용해 서치 프로세스 구축
- latency predictor의 예측을 기반으로 SubTransformer model을 scrach & obtain the final model
3 Experiments
3.1 Datasets
3.2 Experiment Setups
3.3 Implementation Detail
이부분은 논문을 직접 읽어보는 게 나을듯
4 Results
Figure
Figure 7
Lauer #, Dim에 대해 scailing한 Transformer model과 HAT이 달성한 지연시간과 BLEU 스코어를 비교하고 있다.
Raspberry PI ARM CPU에서 모델 크기 축소를 이루어낸 점, Nvidia GPU에서 지연시간 감축을 크게 달성한 점이 특기할 만하다.
Figure 8
latency와 BLEU 간 trade-off를 보여주는 결과치.
Figure 9
Serch 기법의 Validation loss값을 비교한 표다. Evolutionary search가 iter수가 증가함에 따라 기존의 서치 기법(Random search)보다 loss 값이 유의하게 낮아짐을 제시함으로서 프레임워크의 높은 정확도 또한 보장하고 있다.
Table
Table 2, 3, 4
테이블 2는 각기 다른 데이터셋에 대한 성능 측정
테이블 3은 각기 다른 하드웨어에 대한 성능 측정
사용된 모델: Transformer, Levenstein Transformer, Evolved Transformer, Lite Transformer and HAT
비교 결과 HAT이 가장 낮은 지연시간과 높은 BLEU 스코어를 달성했다.
테이블2) 개인적으로, 클라우트 컴퓨팅 비용도 따로 제시한 점이 특기할 만하다고 생각했다. 본문에 AWS 서비스의 cost model에 따른 비용 차이 또한 제시되어 있다.
테이블 4는 HAT에서 가장 큰 SubTransformer와 search된 SubtransFormer을 비교한다.
후자가 더 낮은 지연시간과 작은 사이즈, 높은 BLEU값을 달성했다는 점이 주목할 만하다.
4.2 Analysis
- Design Insights
- Large search space designing(arbitrary encoder-decoder attentions)의 중요성 제시
- 10% of all decoder layers attend to three encoder layers, 40% attend to two encoder layers.
- Ablation Study
- SubTransformer Performance Proxy
- Performance Proxy의 현실성 제시
- All SubTransformers inside the SuperTransformer are uniformly sampled and thus equally trained → traing 시 퍼포먼스 정렬이 잘 제공된다.
- 실험 결과, 이를 통해 얻어낸 모델의 성능 예측치와 실제 성능이 매우 유사했다.
- Low Search Cost
- SuperTransformer의 중요성 제시
- HAT는 모든 모델을 한꺼번에 학습시키고 그들의 성능 프록시를 측정해 제일 나은 것을 골라낸다. (low-cost)
- Finetuning Inherited SubTransformers
- SuperTransformer의 weight를 상속받은 SubTransformer를 파인튜닝 함으로써 성능 향상을 추가로 달성할 수 있었다고 함
- Quantization Friendly
- HAT is orthogonal to Quantization
- Knowledge Distillation Friendly
- Transformer
- Transformer 모델과 관련한 다양한 선행연구 제시
- attention 연산을 conv 연산으로 대체한 모델: HAT framework는 이에 orthogonal하다.
- non- or partially-autoregressive models: 지연시간은 줄었으나 정확도가 낮다. 관련으로 보완한 연구가 있는데(Bapna et al. (2018)) HAT이 더 낫다고 한다.
- multi-branch Lite Transformer: 모델 성능측정 시 FLOPs에 의존한다는 한계가 있다.
- Knowledge Distillation (KD) 적용한 트랜스포머 모델: HAT이 KD에 orthogonal하기 때문에 결부해볼 만한 여지가 있다.
- hardware accelerators (Ham et al., 2020; Zhang et al., 2020) for attention and fully connected layers in the Transformer to achieve efficient processing.
- Neural Architecture Search
- 기본 논문: Neural Architecture Search (NAS) (Zoph and Le, 2017; Zoph et al., 2018; Pham et al., 2018; He et al., 2018)
- black-box optimization
- evolutionary search (Wang et al., 2020b)
- reinforcement learning (Cai et al., 2019b; He et al., 2018; Wang et al., 2018, 2020a; Mao et al., 2019)
- backpropagation with differentiable architecture search (Liu et al., 2019
- hardware constraints into optimizations
- MNasNet (Tan et al., 2019)
- ProxylessNAS (Cai et al., 2019b)
- FBNet (Wu et al., 2019a)
- APQ (Wang et al., 2020b)
- supernet based methods (Pham et al., 2018; Bender et al., 2018; Guo et al., 2019)
- Evolved Transformer to search for architectures under model size constraints and surpassed the original Transformer baselines: 2019에 제시됨. HAT에 비해 컴퓨팅 자원을 너무 많이 요구할 뿐만 아니라 하드웨어의 특이성을 감지하지도 못한다.
- different hardware has distinct architecture and features (Cong et al., 2018)
6 Conclusion
- 주제: Hardware-Aware Transformers (HAT) framework
- 목적: efficient deployments of Transformer models on various hardware platforms
- 방법: 1. large design space, 2. SuperTransformer, 3. Evolutionary search를 통해 high-performance & low-latency model 서치를 가능케 했다.
- 다른 인공지능 경량화 기법과 orthogonal해서 성능 향상을 더 이루어낼 수 있다는 점이 주목할 만하다.
- 다만 다른 인공지능 경량화 기법(특히 Quantization)과 병행될 수 있음을 보여줬음에도 불구하고 NPU 환경에서 실험이 진행되지는 않았다는 부분이 의문점
- 우리 연구는 이 부분에 착안해 해당 논문의 프레임워크가 HAT에서도 유효한지 구현, 검증/NPU 환경에서 선호되는 트랜스포머 모델의 양상 관측하는 것을 목표로 함.