Core Concepts
대형 언어 모델을 무한 길이의 입력 텍스트에 효율적으로 적용할 수 있는 StreamingLLM 기술을 제안한다. 이를 통해 기존 모델의 성능 저하 없이 안정적이고 효율적인 언어 모델링을 가능하게 한다.
Abstract
이 논문은 대형 언어 모델(LLM)을 무한 길이의 입력 텍스트에 효율적으로 적용하는 방법을 제안한다.
LLM의 성능이 입력 길이가 증가함에 따라 크게 저하되는 문제를 분석한다. 이는 모델이 학습 시 고정된 길이의 입력 텍스트만을 처리하도록 훈련되었기 때문이다.
이 문제를 해결하기 위해 "attention sink" 개념을 도입한다. LLM은 초기 토큰에 과도한 주의를 기울이는데, 이를 활용하여 안정적인 성능을 유지할 수 있다.
StreamingLLM 기술을 제안한다. 이는 초기 토큰의 Key-Value 상태를 유지하면서 최근 토큰들의 sliding window를 활용하는 방식이다. 이를 통해 입력 길이가 증가해도 안정적인 성능을 보인다.
또한 사전 훈련 시 전용 "sink token"을 추가하는 방법을 제안한다. 이를 통해 단일 sink token만으로도 안정적인 스트리밍 성능을 달성할 수 있다.
다양한 LLM 모델군(Llama-2, MPT, Falcon, Pythia)에 대해 실험을 진행하였으며, 4백만 토큰 이상의 긴 입력 텍스트에서도 안정적인 성능을 보였다. 또한 기존 방식 대비 최대 22.2배 빠른 속도를 달성했다.
Stats
대형 언어 모델은 입력 길이가 증가할수록 성능이 크게 저하된다.
초기 토큰에 과도한 주의를 기울이는 현상이 관찰된다.
StreamingLLM은 4개의 초기 토큰만으로도 안정적인 성능을 보인다.
StreamingLLM은 기존 방식 대비 최대 22.2배 빠른 속도를 달성했다.
Quotes
"LLMs are constrained by the attention window during pre-training. Despite substantial efforts to expand this window size, the acceptable sequence length remains intrinsically finite, which doesn't allow persistent deployments."
"We observe an interesting phenomenon, namely attention sink, that keeping the KV of initial tokens will largely recover the performance of window attention."
"StreamingLLM simply keeps the attention sink tokens' KV (with just 4 initial tokens sufficing) together with the sliding window's KV to anchor the attention computation and stabilize the model's performance."