AI Engineer의 '사부작' 공간

마스킹(Masking): 트랜스포머 어텐션 메커니즘을 완성하는 핵심 기술 본문

Theory/LLM Architectures

마스킹(Masking): 트랜스포머 어텐션 메커니즘을 완성하는 핵심 기술

ChoYongHo 2025. 6. 20. 08:09
728x90

마스킹(Masking): 트랜스포머 어텐션 메커니즘을 완성하는 핵심 기술

대규모 언어 모델(LLM)의 세계는 복잡하고 정교한 기술들의 집합체입니다. 그중에서도 트랜스포머(Transformer) 아키텍처는 현대 LLM의 근간을 이루고 있으며, 어텐션(Attention) 메커니즘은 그 핵심이라 할 수 있습니다. 하지만 어텐션이 제 역할을 다하도록 뒤에서 묵묵히 돕는 필수적인 기술이 있으니, 바로 마스킹(Masking)입니다마스킹은 특정 값을 가려 연산에서 제외함으로써 모델이 불필요하거나 보아서는 안 될 정보에 영향을 받지 않도록 하는 기법입니다. 이는 LLM의 성능과 생성 품질을 결정짓는 매우 중요한 요소로, 어텐션 메커니즘의 효과적인 작동을 위한 핵심 구성 요소입니다. 이번 글에서는 LLM의 심장부에서 작동하는 두 가지 핵심 마스킹 기법, '패드 마스킹(Pad Masking)''룩어헤드 마스킹(Look-ahead Masking)'에 대해 심층적으로 파헤쳐 보겠습니다.


패드 마스킹 (Pad Masking): 각기 다른 문장 길이를 맞추는 지혜

모델을 학습시킬 때는 보통 여러 문장을 한 번에 묶어 처리(배치 처리)하는데, 이때 문장들의 길이는 제각각 다릅니다. 하지만 모델은 고정된 크기의 행렬 연산을 해야 하므로, 가장 긴 문장을 기준으로 길이를 통일시키는 과정이 필요합니다. 이때 짧은 문장의 남는 공간에는 아무 의미 없는 값, 즉 '패딩(padding)' 토큰(주로 숫자 0: 제로 패딩)을 채워 넣습니다.

패드 마스킹은 바로 이 의미 없는 패딩 토큰이 어텐션 계산에 포함되지 않도록 막는 역할을 합니다. 만약 패딩 토큰까지 실제 단어처럼 어텐션 점수를 계산하게 되면, 모델은 가짜 정보에 현혹되어 문맥을 잘못 파악할 수 있기 때문입니다.

  • 개념: 입력된 문장에서 실제 의미를 가진 단어와 의미 없는 패딩 토큰을 구분하여, 패딩 토큰에 대해서는 어텐션 점수 계산을 무시하도록 만드는 기법입니다.
  • 비유: 여러 학생이 각자 다른 개수의 과목 시험을 봤다고 상상해 보세요. 성적표를 만들 때, 어떤 학생은 5과목, 어떤 학생은 3과목만 봤다면 공정한 비교를 위해 3과목만 본 학생의 비어있는 성적란을 '0점'으로 채울 수 있습니다. 하지만 이 학생의 평균 점수를 계산할 때 이 '0점'을 포함하면 평균이 왜곡되겠죠. 패드 마스킹은 이렇게 점수가 없는 과목(패딩)을 평균 계산에서 제외하는 것과 같습니다.
  • 예시 및 구현: 패드 마스킹은 어텐션 마스크를 통해 구현됩니다. 실제 단어 위치는 1, 패딩 위치는 0으로 표시된 마스크를 만듭니다 (예: [1][1][1]). 이후 어텐션 점수 행렬에서 패딩에 해당하는 위치(마스크 값이 0인 위치)에 아주 작은 음수 값(-무한대)을 더해줍니다. 이 행렬이 소프트맥스(Softmax) 함수를 통과하면 -무한대 값은 0에 가까운 값으로 변환되어, 최종적으로 패딩 토큰의 어텐션 가중치가 0이 되어 계산에서 무시됩니다.

룩어헤드 마스킹 (Look-ahead Masking): 미래를 훔쳐보지 못하게 막는 장치

OPENAI의 o3와 같은 생성 모델은 다음에 올 단어를 예측하는 방식으로 작동합니다. 이런 모델을 자기회귀(autoregressive) 모델이라고 부르는데, 이는 마치 우리가 글을 쓸 때 앞에서 쓴 내용을 바탕으로 다음 단어를 이어가는 것과 같습니다문제는 학습 과정에서 발생합니다. 학습 시에는 모델에 전체 문장이 한 번에 입력되는데, 만약 아무런 제약이 없다면 모델은 예측해야 할 단어 뒤에 오는 '미래'의 단어들, 즉 정답을 미리 훔쳐보고 예측하는 '커닝'을 할 수 있습니다. 룩어헤드 마스킹(Look-ahead Masking)은 이러한 문제를 방지하기 위해 사용됩니다.

  • 개념: 디코더(Decoder)에서 현재 위치의 단어를 예측할 때, 그보다 뒤에 있는 미래 위치의 단어들을 참고할 수 없도록 정보를 가리는 기법입니다.
  • 비유: 미스터리 소설을 읽는 즐거움은 범인이 누구일지 추리하는 과정에 있습니다. 만약 책의 맨 마지막 장을 먼저 읽어버린다면 모든 재미가 사라지겠죠. 룩어헤드 마스킹은 독자가 다음 페이지를 미리 넘겨보지 못하도록 책의 뒷부분을 가려두는 것과 같습니다. 모델이 한 단어 한 단어 순서대로 정보를 파악하며 예측 능력을 기르도록 강제하는 것입니다.
  • 예시 및 구현: 룩어헤드 마스킹은 자기 자신과 자신보다 앞에 있는 단어들만 볼 수 있도록 삼각형 형태의 마스크를 생성합니다. 예를 들어, "나는 행복을 찾고 있다"라는 문장에서 '행복을'이라는 단어의 어텐션을 계산할 때는 '나는'과 '행복을'까지만 참고할 수 있고, '찾고', '있다'는 볼 수 없도록 마스킹 처리됩니다. 구현 시에는 어텐션 점수 행렬에서 미래에 해당하는 위치(행렬의 대각선 윗부분)에 -무한대 값을 더하여 소프트맥스 함수 통과 후 해당 위치의 어텐션 가중치가 0이 되도록 만듭니다.

마무리하며

마스킹은 트랜스포머 아키텍처에서 성능과 안정성을 보장하는 핵심적인 안전장치로, 패드 마스킹을 통해 가변 길이 데이터를 효율적으로 처리하고 룩어헤드 마스킹을 통해 모델이 정직하게 다음 단어를 예측하는 능력을 학습하도록 돕습니다. 이 두 가지 마스킹 기법 덕분에 거대 언어 모델들은 방대한 데이터 속에서 의미 있는 패턴을 효과적으로 학습하고 놀라운 수준의 문장 생성 능력을 발휘할 수 있으며, 눈에 잘 띄지는 않지만 모델의 올바른 학습을 유도하고 결과물의 품질을 좌우하는 '보이지 않는 영웅'이라 할 수 있습니다.


[2104.02205] Attention Head Masking for Inference Time Content Selection in Abstractive Summarization

 

Attention Head Masking for Inference Time Content Selection in Abstractive Summarization

How can we effectively inform content selection in Transformer-based abstractive summarization models? In this work, we present a simple-yet-effective attention head masking technique, which is applied on encoder-decoder attentions to pinpoint salient cont

arxiv.org

[2505.18948] Exact Expressive Power of Transformers with Padding

 

Exact Expressive Power of Transformers with Padding

Chain of thought is a natural inference-time method for increasing the computational power of transformer-based large language models (LLMs), but comes at the cost of sequential decoding. Are there more efficient alternatives to expand a transformer's expr

arxiv.org

 

728x90