AI & GPU

슬라이딩 윈도우 메커니즘

Tech Crunchy 2025. 5. 4. 14:15
728x90

개요

LLM에서 슬라이딩 윈도우 메커니즘(Sliding Window Mechanism)은 긴 시퀸스(문장, 문서 등)를 효율적으로 처리하기 위해 사용되는 기법을 의미합니다. 트랜스포머 기반 모델의 어텐션 계산 비용과 메모리 사용량을 줄이기 위해 도입됩니다.

 

내용

아래 이미지는 셀프 어텐션과 슬라이딩 윈도우를 비교합니다. "The cat is on a chair"라는 시퀸스에 대한 Q, K 값을 매트릭스로 비교했을 때, 셀프 어텐션은 모든 단어(토큰)에 대한 값을 계산하지만 슬라이딩 윈도우는 입력된 윈도우 값 만큼만 계산합니다.

 

 

트랜스포머의 셀프 어텐션 메커니즘은 입력 시퀸스의 모든 토큰 쌍에 대해 어텐션을 계산합니다. 입력된 문장 또는 데이터의 각 단어(토큰)가 자기 자신을 포함한 모든 단어들과의 관계(연관성, 중요도)를 일일히 계산한다는 의미입니다. 각 단어가 문장 내 다른 모든 단어와 얼마나 관련이 있는지를 숫자로 표현하고, 이 정보를 바탕으로 문맥을 더 잘 이해할 수 있도록 합니다.

 

셀프 어텐션 메커니즘에는 Query, Key, Value의 3가지 벡터 값이 사용됩니다. 이 값들은 내적하여 각 단어 쌍의 유사도(어텐션 스코어)를 구하고, 이를 기반으로 중요한 단어에 더 집중할 수 있도록 가중치를 부여합니다.

 

 

셀프 어텐션 메커니즘은 입력 시퀸스의 모든 토큰 쌍에 대해 어텐션을 계산하기 때문에, 시퀸스 길이가 길어질수록 계산량이 급격히 증가합니다.

 

 

슬라이딩 윈도우 메커니즘은 LLM이 긴 시퀸스를 효율적으로 처리할 수 있도록 합니다. 토큰이 제한된 범위 내에서만 어텐션을 수행하도록 하여 계산 효율성과 메모리 사용량을 크게 개선합니다. 예를 들어, 윈도우 크기가 5라면, 각 토큰은 자신과 앞뒤로 2개씩 총 5개의 토큰에 대해서만 어텐션을 계산합니다.

 

 

슬라이딩 윈도우 메커니즘을 사용하면 효율성을 높이고 메모리를 절약할 수 있습니다. 다만, 윈도우 범위 밖 토큰과는 상호작용 하지 못하기 때문에 장기 의존성 정보가 일부 손실될 수 있고, 전체 문맥 파악에 한계가 발생할 수 있습니다. 추가적으로 동일한 토큰이 중복 포함되어 여러번 평가될 수 있다는 단점도 있습니다.

728x90

'AI & GPU' 카테고리의 다른 글

RFE  (0) 2025.05.04
SMOTE  (0) 2025.05.04
Word2Vec  (0) 2025.04.26
Tensor Parallelism과 Pipeline Parallelism  (0) 2025.04.20
MCP  (0) 2025.04.20