[Microsoft Research]
dilated attention을 적용하여 computation complexity를 quadratic → linear 줄임.
엄청나게 긴 입력(1B token)을 처리할 수 있으면서도 성능을 잘 유지할 수 있는 모델 LONGNET을 제시.
- 배경
transformer 기반의 모델들이 좋은 성능을 보이는 것 이면에는, 엄청나게 많은 자원을 필요로 한다는 문제점이 존재하고 있습니다.
self-attention 방식을 생각해보면 하나의 Key가 모든 Query, Value와 연산을 수행하게 되면서 quadratic한 시간 복잡도를 갖게 되기 때문이죠.
(쉽게 표현하면 O(N^2)라고 할 수 있겠네요)
결국 모델이 처리할 수 있는 입력의 길이가 상당히 제한되고, 이것이 지금까지도 많은 연구자들이 극복하고자 하는 문제점입니다.
본 논문에서는 이런 문제점을 극복하고, 무려 최대 10억(1B) 개의 토큰을 한 번에 처리할 수 있는 모델을 개발했다고 합니다.
- 특징 : dilated attention
지금까지 attention 기법의 효율을 높이기 위해 여러 시도가 있었습니다.
가장 대표적으로는 sliding window를 적용하는 방식이 있는데요, 본 논문에서는 이것보다도 더 적은 시간복잡도로 연산을 수행하는 방식을 택했습니다.
수식적인 부분에 대해 깊은 이해가 필요하신 분들은 이 논문을 직접 한 번 공부해보시는 걸 추천드립니다.
이미지를 보시면 dilated rate에 따라 연산을 수행하는 대상들의 간격이 넓어지고 있다는 것을 알 수 있습니다.
덕분에 모델의 사이즈를 키울수록 모델 성능이 지속적으로 상승하는 결과를 확인할 수 있습니다.
Sparse Transformer와 비교했을 때, Sparse Transformer는 사이즈와 perplexity의 반비례 관계가 유지되지 않습니다.
(scaling law)
- 개인적 감상
ChatGPT, GPT API가 엄청난 인기를 끌게 되면서 항상 아쉽게 느껴지는 것이 입력 길이의 제한일 것입니다.
저도 논문을 자주 읽으면서 이런 논문을 깔끔하게 정리하고 요약해줄 수 있는 방식에 대해 고민을 해본 적이 있는데 입력 길이 제한 때문에 뭘 제대로 하기가 어려웠거든요.
이 논문 뿐만 아니라 여러 연구자분들이 모델 입력 길이 제한을 기존 대비 향상시킬 수 있는 방법에 대해 많이 연구중인 것으로 알고 있는데 시의 적절한 연구 결과라는 생각이 들었습니다.
그러나 모델 성능을 검증하는 방식에 대해 의문이 듭니다.
결국 실질적으로 활용되었을 때 10억 개나 되는 토큰을 입력으로 받아 명령을 제대로 수행할 수 있을지에 대해서는 의문이 듭니다.
단순히 perplexity(PPL)이 감소했다고 해서 우리가 일반적으로 생각할 수 있는 태스크들에 대해서 문제를 잘 처리할 수 있을지는 잘 모르겠습니다.
문장을 입력으로 받는다면 텍스트에 대해 전부 살펴보는 방식과 그렇지 않은 것은 분명 성능에서 차이를 보일 수 밖에 없는데 말이죠.
따라서 실질적인 모델 성능에 대한 연구 결과도 함께 제시되었다면 정말 좋았을 것 같습니다.