AI Engineer 공간 "사부작 사부작"

트랜스포머(Transformer): 한계와 극복 전략 본문

Theory/Transfomer

트랜스포머(Transformer): 한계와 극복 전략

ChoYongHo 2025. 5. 17. 12:23
728x90

표준 트랜스포머의 보이지 않는 벽: 계산량 한계와 극복 전략

자연어 처리(NLP) 분야에 혁명을 가져온 트랜스포머(Transformer)는 놀라운 성능으로 GPT, BERT와 같은 거대 언어 모델(LLM)의 핵심 아키텍처로 자리매김했습니다. 하지만 이 강력한 모델도 피해 갈 수 없는 그림자가 있었으니, 바로 입력 시퀀스 길이가 길어질수록 기하급수적으로 증가하는 '계산량'이라는 보이지 않는 벽입니다. 마치 강력한 엔진을 가졌지만 연료 탱크가 작아 멀리 가지 못하는 자동차와 같다고 할 수 있습니다.

이번 글에서는 표준 트랜스포머(Vanilla Transformer)가 마주한 계산적 한계의 본질을 파헤치고, 이 벽을 넘어서기 위한 다양한 혁신적인 접근 방식들을 알기 쉽게 살펴보겠습니다.

셀프 어텐션의 양날의 검: O(N^2) 복잡도의 함정

표준 트랜스포머의 핵심 메커니즘인 '셀프 어텐션(Self-Attention)'은 문장 내 모든 단어 쌍 간의 관계를 동시에 파악하여 문맥을 이해하는 데 탁월한 능력을 보입니다. 하지만 이 과정에서 입력 시퀀스 길이(N)가 늘어날 때마다 계산량과 메모리 요구량이 제곱(O(N^2))으로 증가하는 문제가 발생합니다.

개념: 셀프 어텐션은 각 단어가 문장 내 다른 모든 단어와 얼마나 관련되어 있는지 점수를 매기고, 이 점수를 바탕으로 각 단어의 중요도를 가중 평균하여 새로운 표현을 만듭니다. 즉, N개의 단어가 있다면, 각 단어는 나머지 N-1개 단어와의 관계를 모두 계산해야 합니다.

비유: 큰 사교 파티에 참석한 N명의 사람들을 상상해 보세요. 모든 사람이 다른 모든 사람과 한 번씩 대화를 나눠야 한다고 가정해 봅시다. 사람이 10명일 때는 총 45번(10×9/2)의 대화가 필요하지만, 100명으로 늘어나면 4,950번의 대화가 필요하게 됩니다. 참석자 수가 늘어날수록 필요한 대화의 수는 훨씬 더 빠르게 증가하는 것과 같습니다. 이처럼 시퀀스 길이가 수만 토큰 이상으로 길어지면, 트랜스포머는 계산 비용을 감당하기 어려워집니다. 이러한 계산적 병목 현상은 트랜스포머가 매우 긴 문서나 고해상도 이미지를 처리하는 데 제약으로 작용합니다.

계산의 벽을 허무는 다양한 망치들: 한계 극복 전략

다행히도 이 계산량의 벽을 허물기 위한 다양한 '망치'들이 개발되고 있습니다. 주요 접근 방식들은 다음과 같습니다.

1. 희소 어텐션 (Sparse Attention): "모든 사람과 대화할 필요는 없어!"

모든 토큰 쌍 간의 관계를 계산하는 대신, 각 토큰이 미리 정의된 특정 패턴에 따라 제한된 수의 다른 토큰에만 주목(attention)하도록 하는 방식입니다. 이를 통해 계산 복잡도를 O(Nlog⁡N) 또는 O(N) 수준으로 크게 낮출 수 있습니다.

  • 개념: 전체 어텐션 행렬에서 일부 중요한 연결(sparse connections)만을 선택적으로 계산합니다. 마치 파티에서 모든 사람과 이야기하는 대신, 나와 가장 관련 있는 몇몇 사람(예: 바로 옆자리 사람, 특정 주제에 관심 있는 사람)하고만 깊은 대화를 나누는 것과 같습니다.
  • 예시: 희소 어텐션에는 다양한 패턴이 사용됩니다. 
    • 글로벌 어텐션 (Global Attention, 그림 (a)): 모든 토큰이 소수의 '글로벌' 토큰(예: 문장의 시작이나 중요한 키워드)에 주목하고, 이 글로벌 토큰들은 다시 모든 다른 토큰에 주목합니다.
    • 밴드 어텐션 (Band/Sliding Window Attention, 그림 (b)): 각 토큰은 자신 주변의 고정된 범위(window) 내에 있는 토큰에만 주목합니다. 마치 옆자리 사람들과만 대화하는 것과 같습니다. FlashAttention에서도 슬라이딩 윈도우 로컬 어텐션을 지원합니다.
    • 확장된/격자 어텐션 (Dilated/Strided Attention, 그림 (c)): 일정한 간격(stride)을 두고 떨어진 토큰들에 주목하여 좀 더 넓은 범위의 문맥을 효율적으로 파악합니다.
    • 랜덤 어텐션 (Random Attention, 그림 (d)): 각 토큰이 무작위로 선택된 일부 토큰들에 주목합니다.
    • 블록 로컬 어텐션 (Block Local Attention, 그림 (e)): 시퀀스를 여러 블록으로 나누고, 각 블록 내부에서만 어텐션을 수행하거나 특정 블록 간의 어텐션만 허용합니다.
      CoTr 모델에서는 3D 의료 영상 분할 시 고해상도 특징 맵 처리를 위해 변형 가능한 셀프 어텐션(deformable self-attention)을 사용하여 소수의 주요 위치에만 주목하는 효율적인 트랜스포머를 구현했습니다. 비전 트랜스포머(ViT)에서도 이미지 검색 효율성을 높이기 위해 중요하지 않은 토큰을 점진적으로 제거하는 토큰 가지치기(token pruning) 기법을 사용하는데, 이 또한 희소성의 아이디어를 활용한 것입니다.

2. 효율적/선형화 어텐션 (Efficient / Linearized Attention): "대화 내용을 스마트하게 요약하자!"

커널(kernel) 기법이나 저차원 근사(low-rank approximation)와 같은 수학적 방법을 사용하여 전체 어텐션 행렬을 직접 계산하지 않고 어텐션 결과를 근사적으로 계산합니다. 목표는 계산 복잡도를 선형 또는 거의 선형(near-linear) 수준으로 낮추는 것입니다.

  • 개념: 모든 개별 대화의 내용을 일일이 기록하고 분석하는 대신, 수학적인 '필터'(커널)를 통과시켜 전체적인 분위기를 파악하거나, 비슷한 관심사를 가진 사람들끼리 그룹(저차원 근사)으로 묶어 대표적인 의견을 추출하는 방식과 유사합니다.
  • 장점 및 한계: 계산량을 크게 줄일 수 있지만, 때로는 표준 트랜스포머에 비해 성능이 다소 저하될 수 있으며, 특정 시퀀스 생성 작업에서는 기대만큼의 계산 이득을 얻지 못할 수도 있습니다. 하지만 꾸준한 연구를 통해 성능 격차를 줄여나가고 있습니다.

3. 하드웨어 최적화: "대화 장소를 효율적으로 바꾸자!"

어텐션 계산 방식 자체를 바꾸기보다는, GPU와 같은 하드웨어의 특성을 최대한 활용하여 실제 연산 속도를 높이는 데 초점을 맞춥니다.

  • 개념: 파티 참석자들이 나누는 대화의 수는 그대로 두되, 대화 장소의 동선을 최적화하고, 필요한 정보를 주고받는 방식을 개선하여 전체적인 파티 진행 속도를 높이는 것과 같습니다.
  • 예시: FlashAttention이 대표적인 예입니다. 이 기술은 GPU 메모리 접근(읽기/쓰기) 병목 현상을 최소화하도록 연산 순서를 재구성하여, 정확한 어텐션 계산을 유지하면서도 속도를 크게 향상시킵니다.

4. 대안 아키텍처: "아예 새로운 방식의 소통을 고안하자!"

트랜스포머와는 다른 확장성 특성을 가진 새로운 시퀀스 모델링 아키텍처에 대한 연구도 활발하게 진행 중입니다.

  • 개념: 기존의 대규모 파티 방식(트랜스포머)이 갖는 근본적인 비효율성을 해결하기 위해, 아예 다른 형태의 정보 교류 방식(예: 상태 공간 모델, State Space Models, SSM)을 고안하는 것입니다. 예를 들어, 여러 개의 소규모 워크숍을 동시에 진행하고 각 워크숍의 결과를 종합하는 방식일 수 있습니다.
  • 의의: 이러한 접근법들은 트랜스포머가 더 긴 시퀀스를 효율적으로 처리하고 대규모 문제에 적용될 수 있도록 확장성을 개선하는 데 중요한 기여를 할 수 있습니다. 실제로 트랜스포머 아키텍처가 특정 유형의 함수 구성(composition)이나 일부 수학적 작업에 대해 근본적인 한계를 가질 수 있다는 연구도 있어, 새로운 아키텍처의 필요성이 대두되기도 합니다.

한계를 넘어 미래로 나아가는 트랜스포머

표준 트랜스포머는 셀프 어텐션의 O(N^2) 계산 복잡도라는 명확한 한계를 가지고 있지만, 인공지능 연구자들은 이에 굴하지 않고 희소 어텐션, 효율적 어텐션, 하드웨어 최적화, 그리고 새로운 아키텍처 탐색 등 다각적인 노력을 통해 이 벽을 허물고 있습니다. 이러한 노력 덕분에 트랜스포머는 점점 더 긴 시퀀스를 처리하고, 더 복잡한 문제를 해결하며, 다양한 분야로 그 영향력을 확장해나가고 있습니다. 


https://arxiv.org/abs/1904.10509

 

Generating Long Sequences with Sparse Transformers

Transformers are powerful sequence models, but require time and memory that grows quadratically with the sequence length. In this paper we introduce sparse factorizations of the attention matrix which reduce this to $O(n \sqrt{n})$. We also introduce a) a

arxiv.org


https://blog.newcast.ai/evolution-of-fast-and-efficient-transformers-ec0378257994

 

Evolution of Fast and Efficient Transformers

An overview of Transformer optimization and acceleration

blog.newcast.ai

https://arxiv.org/abs/2205.14135

 

FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness

Transformers are slow and memory-hungry on long sequences, since the time and memory complexity of self-attention are quadratic in sequence length. Approximate attention methods have attempted to address this problem by trading off model quality to reduce

arxiv.org

 

728x90