읽게 된 계기
환자별로 데이터의 양이 다를 수 있다. 어떤 환자는 짧은 입원으로 데이터가 별로 없는 반면, 어떤 환자는 긴 입원으로 데이터가 굉장히 많을 수 있다. LLM Finetuning에 있어서 학습할 컨텍스트 길이에 있어 차이가 나는 것은 문제가 될 수 있다. 데이터 양이 많은 환자에 치중되어 학습할 수 있으며, 일정 토큰(컨텍스트)를 넘어버리면 그냥 잘라버리는 Truncation 방법이 있지만 최적의 방법은 아니다. 이 논문에선 긴 컨텍스트를 효율적으로 학습할 수 있게 하는 Sparse Attention Mechanism들에 대해 설명한다.
Sparse Attention Mechanism은 관여하는 토큰 수에 따라 Global Attention, Local Attention, 그리고 두가지를 결합한 방식으로 나뉜다.
1. Global Approximation Model : Reformer
글로벌 어텐션은 모든 토큰을 대상으로 하지만, 해시 기반으로 일부만 상호작용하는 Locally Sensitive Hashing과 같은 기법을 사용하여 실제 상호작용하는 토큰 수는 제한한다. 자세히 알아보자면
왼쪽 그림은 Reformer가 어떻게 연산되는지를 나타낸 것이고, 오른쪽 그림은 왼쪽 그림을 행렬로 표현한 것이다.
(오른쪽 이해하면 왼쪽도 이해됨)
(a)는 기존 트랜스포머의 형태로, 모든 q와 k가 어텐션 계산을 한다.
(b)는 Locally Sensitive Hashing을 적용하여 Bucketing(유사한 토큰들끼리 같은 그룹으로 묶은) 한 것이다. 같은 bucket에 있는 토큰들끼리만 어텐션 계산을 한다.
(c)는 query와 key를 공유하여 어텐션 계산 범위를 더욱 좁힐 수 있다. ( 우측 사진을 보면 k가 없어지고 q로 대체되었다)
(d)는 Chunk 단위로 또 나누어 상호작용한다. 대개 자신의 청크 내에서만 어텐션을 계산하고, 일부는 이전 청크와도 연결된다.
이를 통해 시간복잡도가 O(L**2) -> O(LlogL)로 줄어든다. 모든 토큰을 고려하지만 계산량을 줄이기 위해 일부만 상호작용하도록 제한하는 것이다.
2. Local Approximation Model : Longformer
longformer는 일부 토큰만을 대상으로 하여 시간 복잡도를 O(L**2) 에서 O(L) 까지 줄일 수 있다. Sliding Window Attention과 Dilated Sliding Window Attention이 있다.
(b) Sliding Window Attention
각 토큰이 일정 범위 내의 이웃 토큰들과만 어텐션을 수행하는 것이다. 윈도우 크기 내에서만 상호작용한다. 따라서 긴 문서 처리에 용이하지만 이웃하지 않은 토큰들과는 의존성이 약하다.
(c) Dilated(확장된) Sliding Window Attention
Sliding Window Attention보다 윈도우의 크기가 커졌다. 한 윈도우에서 더 넓은 컨텍스트를 다룬다. 일정한 간격을 두어 일부의 먼 토큰들과도 어텐션을 수행한다. 중복되는 정보가 캡처( 윈도우에 계속 들어오는 것 )되는 것을 방지하고 문맥 범위를 확장한다.
(d) 는 Sliding Window Attention 방식을 기반으로 하되, 특정 중요한 토큰은 Global Attention 방식을 병합하여 사용하는 것 같다.
'독서 목록' 카테고리의 다른 글
[논문 리뷰] LLM-Select: Feature Selection with Large Language Models (0) | 2025.03.24 |
---|---|
[논문 정리] LLMs-based Few-Shot Disease Predictions using EHR: A Novel Approach Combining Predictive Agent Reasoning and Critical Agent Instruction (0) | 2025.03.10 |
딥러닝 이론 공부 기록 (0) | 2023.09.23 |
밑바닥부터 시작하는 데이터 과학 (0) | 2023.03.06 |