

확률부터 LLM까지 — 데이터 사이언스 자기주도 학습 플랫폼
어텐션은 마스킹 방식에 따라 세 형태로 나뉜다. 양방향 self-attention(BERT류)은 문장 전체를 보고, causal self-attention(GPT류)은 하삼각 마스크로 미래 토큰을 가려 다음 토큰을 생성하며, cross-attention(인코더-디코더)은 디코더가 인코더 출력을 참조한다.
이 내용은 넘스탯의 어텐션 시뮬레이터에서 직접 실험으로 확인할 수 있습니다.
각 단계를 클릭하면 해당 학습 내용을 볼 수 있습니다
학습 진도 (완료한 단계)
0%
어텐션이라는 계산 자체는 하나지만, "누구를 볼 수 있는가"를 정하는 규칙에 따라 세 가지 형태로 나뉩니다. 첫째, 양방향 self-attention은 문장 안의 모든 토큰이 서로를 자유롭게 봅니다(BERT류 — 문장 이해에 적합). 둘째, causal self-attention은 각 토큰이 자기보다 앞(왼쪽)의 토큰만 보도록 미래를 가립니다(GPT류 — 다음 토큰 생성에 적합). 셋째, cross-attention은 한 문장(디코더)이 다른 문장(인코더 출력)을 참조합니다(번역 등). 미래를 가리는 장치가 마스크(mask)이며, 마스크가 있느냐 없느냐가 모델의 용도를 결정합니다.
문장: "나는 통계를 배운다" → 토큰 3개 [나는, 통계를, 배운다] causal 마스크 행렬 (행 = 보는 토큰, 열 = 보이는 대상, O = 볼 수 있음, X = 가림): 나는 통계를 배운다 나는 O X X 통계를 O O X 배운다 O O O O가 대각선 아래쪽(하삼각)에만 있습니다. - "나는"은 자기 자신만 봅니다. - "통계를"은 "나는"과 자기 자신을 봅니다. - "배운다"는 세 토큰을 모두 봅니다. 양방향 어텐션이라면 아홉 칸이 전부 O가 됩니다.
정답: 학습 목표가 "지금까지의 토큰만 보고 다음 토큰을 맞히기"이기 때문입니다. 미래 토큰을 볼 수 있으면 정답을 미리 보는 셈이 되어, 학습은 쉽게 되지만 실제 생성 시(미래가 존재하지 않는 상황)에는 쓸모없는 모델이 됩니다.
정답: 대각선을 포함한 아래쪽 삼각형(하삼각)만 볼 수 있는 모양입니다. 첫 토큰은 1칸, 둘째 토큰은 2칸, 셋째 토큰은 3칸을 볼 수 있어 O가 계단식으로 늘어납니다.
정답: self-attention은 한 문장 안의 토큰끼리 서로를 참조하지만, cross-attention은 디코더의 토큰이 인코더가 처리한 다른 시퀀스(예: 번역 원문)를 참조합니다. 보는 대상이 자기 자신이 아니라 외부 시퀀스라는 점이 다릅니다.