본 논문은 2022 ACL에 실린 논문입니다. 긴 시퀀스를 받는 언어 모델을 만드는 것이 정말 정확도와 효율적인 측면에서 맞는 일인가?에 관한 observation paper입니다. 이 논문은 읽기 전에 longformer, bigbird, summarization task, QA task에 대한 사전 지식이 있으면 이해하기 좋습니다.
본 논문에선, 널리 사용되는 긴 시퀀스의 모델 Longformer-Encoder-Decoder(LED)와 BigBird에 대해 SCROLLS 벤치마크의 4가지 데이터셋에 대해 fine-tuing과 inference를 하며 정확도 대 효율성 trade-off에 관한 구조적 연구를 진행.
실험 결과는 다음과 같다.
Green AI를 시작으로, 연구자에게 에너지와 계산 효율을 고려하는 것이 요구되었다. 그러나 아직까지 efficiency metric이 LRA, SCROLLS 와 같은 제안된 벤치마크들과 통합되지 못했다.
그래서 본 논문에서는 하이퍼파라미터를 선택할 때 정확도와 효율성의 trade-off가 모델 내 비교에도 영향을 미친다고 주장한다.
본 논문에서, 우리는 널리 사용되는 long-context NLP models - BigBird와 LED에 대해 효율성과 정확도의 trade-off에 관한 연구를 수행하였다.
실험한 결과는 다음과 같다.
SuperGLUE와 SQuAd와 같은 벤치마크들은 NLP모델의 발전에서 중요한 기반이 되어왔다. 그러나 이러한 벤치마크들은 많은 NLP task(요약, QA..)의 관심사가 긴 문장을 받는 것임에도 불구하고 짧은 문장에 대한 모델의 성능만 포착한다.
최근에, 여러 효율적인 트랜스포머 모델들은 입력 길이에 대해 sub-quadratic() memory와 time complexity가 요구된다는 것이 밝혀졌다.
==> 결과적으로, 새로운 표준화된 벤치마크들은 특히 긴 시퀀스를 이러한 모델이 모델링할 수 있냐(수용력)에 대해 초점을 맞춰왔다.(Long Range Arena(LRA), SCROLLS)
LRA가 긴 시퀀스의 모델을 평가하지만, 이 평가지표는 오직 byte tokenize를 통해 인공적으로 입력 길이를 연장한 2가지 언어의 데이터셋만 포함하고 있다. 또한, LRA는 다른 하이퍼파라미터는 무시한 채 다른 모델 아키텍처들의 속도만 비교한다.
한편, SCROLLS 벤치마크는 요약, QA, 분류를 포함한 긴 길이의 시퀀스에서부터 자연스럽게 합성한 정보(synthesizing information)을 요구하는 언어 태스크에 초점을 두고 있다. 우리의 분석에서, 우리는 SCROLLS에서부터 3개의 요약 태스크와 1개의 QA 태스크를 활용한다.
딥러닝 모델이 늘어나는 수요를 충족시키기 위해 더 복잡해짐에 따라, 모델을 실행시키는데 드는 계산량은 점진적으로 큰 energy cost를 만들어낸다.
==> 이는 SOTA를 유지하면서도 더 높은 에너지 효율을 요구하는 Green AI 관점을 이끌었다.
AI 성능과 에너지 효율의 벤치마크는, 오직 2-layer LSTM과 vailla Transformers에 대해서만 테스트되었다.
추가적으로, 에너지 효울과 정확도 모두에 대해서 다양한 시퀀스 길이의 효과를 고려하는 벤치마크는 없다. 그러나 우리는 HULK로부터 관찰에서 모델의 사이즈가 커지는 것이 항상 낮은 효율을 암시하지 않는다는 것을 확인했다.
우리의 주된 contribution은 긴 길이의 트랜스포머 모델들이 fine-tuing하고 inference하는 동안 시퀀스의 길이가 정확도, 전력, 속도 사이의 trade-off에 얼마나 많은 영향을 끼치는지에 대한 분석이다.
우리의 초점이 긴 길이의 NLP task에 있기 때문에, 우리는 다음 4개의 입력 시퀀스 길이에 대해 조사했다 : 1024, 2048, 3072, 4096
우리는 SCROLLS 벤치마크에서 4개의 데이터셋에 대한 분석을 실행 : GovRepert, SummScreenFD, QM-Sum, Qasper.
이러한 데이터셋은 2개의 태스크를 포괄한다 : 요약과 QA.
이러한 데이터셋에 대한 요약과 세부 내역을 Table 1과 Appendix A에 있음.
pre-trained model로 시작에서 시작해, fine-tuning과 inference로 실험을 제한했다. 우리의 태스크가 sequence-to-sequence format을 채택하기 때문에, 긴 길이의 NLP에 대해 널리 사용되는 2개의 encoder-decoder model를 선택했다 - Longformer-Encoder-Decoder(LED)와 Big Bird. 전형적인 사용 방법을 따라하기 위해, 우리는 HuggingFace library에서 2개의 사전 학습된 모델을 얻었다. - 그러므로 우리의 분석은 어느 HuggingFace model에 대해서도 쉽게 확장 될 수 있다.
우리는 원래 논문에서 나온 LED의 base와 large버전 모두를 분석했다. LED model의 버전은 Longformer-chunks 구현을 활용한다. 이는 한 번의 행렬곱 연산만 필요하도록 키 및 쿼리 행렬을 chunk하여 더 높은 메모리 비용으로 높은 계산 효율성을 달성한다.
원래 BigBird 논문에서의 encode-decoder setup을 따라, 우리는 PubMed 데이터셋(Pegasus-large에서 시작)에 대해 사전 학습된 BigBird-large버전을 활용했다. 우리는 오직 large viersion에 대해서만 실험을 실행했다.(base는 HuggingFace에 발매 안됐기 때문)
LED-base 모델에 대한 초기 연구는 QA에선 높은 정확도를 얻기 위해 큰 배치 사이즈는 필수적이다, 하지만 요약은 그보다 덜하다는 것을 제안(Table 2).
이렇게 알려진 초기 실험에서 요약 태스크에 대해 fine-tuning과 inference하는 데에 GPU숫자가 accuracy에 긍정적인 영향을 끼치지 않다는 것을 바탕으로 Nvidia RTX A6000 GPU 1대로 자원을 고정하였다.
대신에, QA 태스크에서는 배치가 커질수록 모델 accuracy가 높아졌기 때문에, 8대의 Nvidia RTX A6000 GPU를 사용했다.
3.2에서 언급된 모든 사전 학습 모델들은 수렴할 때 까지 모든 데이터셋에 대해 mixed preicision 또는 gradient checkpointing없이 fine-tuned되었다.
batch size에 대한 자세한 내용은 아래 표와 같다.
(배치를 다 다르게 하면 비교를 어떻게.. LED-large랑 BigBird-large는 배치가 같아야 비교가 되는게 아닌가? 라는 의문이 있음)
우리는 SCROLLS의 테스트셋에서 label을 사용하지 않았기 때문에, inference는 validation set에 대해서만 실행됬다. 모든 inference는 배치 크기를 16으로 두고 실행됨.
각 데이터셋에 대해 모델의 정확도에 대한 우리의 평가 지표는 SCROLLS 논문에서 언급된 것을 따른다.
*SCROLLS에 따르면 ROUGE는 각 단일값으로 제공되는 다른 종류의 rouge(Rouge-1, Rouge-2, Rouge-L)를 기하 평균 냄.
각 효율성 지표에 대해서, 우리는 학습시
학습과 inference 속도는 HuggingFace 라이브러리에 의해, 전력 효율성과 전체 에너지 소비량은 Weights and Biases tool(wandb)에 의해 제공된다.
머신러닝 플랫폼에서 사용되는 중요한 산업 표준 지표중 하나이기 때문에, 우리는 전력 효율성을 우리의 지표중 하나로 선택했다. 클라우드 제공자들은 보통 40-50%의 비용을 전기 뿐만 아니라 서버를 powering and cooling하는데 사용하고, 이 비용은 더 늘어나고 있다. 그러므로, 전력 사용의 유용성을 최대화하는 것(watt당 처리되는 데이터의 수를 늘리는 것)은 NLP 연구에서 탄소 발자국을 줄이는데에 중요하다.
Figure 1은 각 요약 데이터셋 대 이에 상응하는 1024부터 4096까지의 입력 시퀀스 길이에 대한 학습 accuracy를 묘사하고 있다. 다음과 같은 관찰을 할 수 있다.
1. 전력 효율성은 입력 시퀀스 길이와 음의 상관관계를 가진다
2. BigBird-large는 LED-large와 유사한 전력 효율성을 보지만, BigBird의 rouge 점수가 훨씬 낮다.
==> 즉, 요약 태스크를 학습시킬 때 LED를 선택하는게 더 낫다.
Figure2는 3가지 요약 데이터셋 각각을 학습하는데 드는 전체 에너지 소비량을 보여준다.
요약에서 이는 짧은 길이를 가지는 더 큰 모델을 사용하는 것이 더 높은 정확도를 얻으면서 에너지 친화적인 방법이다.
요약 데이터셋에 대한 학습 속도(Figure 3)과 inference 속도(Figure 4)는 유사한 경향을 보인다.
Figure 5는 Qasper QA task에 대해 4개의 효율성 지표를 보여준다.
즉, 이 태스크에선 작은 모델을 사용하는 것이 효율적이고 더 정확하다!
입력 시퀀스 길이를 늘리는 것은 정확도에서는 작은 증가를 가져왔지만, 학습 에너지에선 많은 비용을, 속도 측면에서도 훨씬 느려지는 단점을 보였다.
하드웨어 플랫폼의 에너지 소비를 이해하기 위해, 우리는 GovReport 데이터셋에 대한 더 깊은 분석을 제시한다. 우리는 GPU 활용 정도(average over the entire training run), GPU 메모리 사용(average over the entire training run), 그리고 학습 시간(in seconds)를 Figure 6에 그래프로 표현했다.
우리는 accuracy vs efficiency trade-off에 대한 구조적인 연구를 제시했다. NLP 벤치마크에서 흔하게 사용되는 모델 구조들을 비교했고, 우리는 4개의 다른 시퀀스 길이와 2개의 모델 크기에 따라 모델을 비교하는데 초점을 두었다. 우리는 실무자들이 제한된 자원 환경에서 하이퍼파라미터를 선택하는데 활용될 수 있기 희망하면서 몇가지 키포인트를 강조했다.