본문으로 이동

트랜스포머

Conaonda Wiki
Admina7ec671ac513 (토론 | 기여)님의 2026년 8월 20일 (목) 13:19 판 (migrate: import legacy Wiki content to Vultr)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

트랜스포머(transformer)는 어텐션(attention) 메커니즘을 중심으로 하는 인공신경망 구조이다. 2017년 논문 "Attention Is All You Need"에서 제안되었으며, 이후 대규모 언어 모델(LLM)을 비롯한 많은 최신 모델의 표준 기반이 되었다.

개요

순환 신경망은 시퀀스를 순서대로 처리해야 해서 병렬화가 어렵고, 먼 거리의 정보를 전달하는 데 한계가 있었다. 트랜스포머는 순환 구조 없이 어텐션만으로 시퀀스 내 모든 위치 간의 관계를 직접 계산한다. 위치 간 의존성 계산이 병렬로 이루어지므로 대규모 데이터로 효율적으로 학습할 수 있다.

원래 기계 번역을 위한 인코더-디코더 구조로 제안되었지만, 이후 인코더 전용 구조(BERT 계열)와 디코더 전용 구조(GPT 계열)로 나뉘어 발전했다. 디코더 전용 트랜스포머는 대규모 언어 모델의 표준 구조가 되었으며, Llama.cppGGUF 같은 로컬 추론 생태계도 이 구조를 기반으로 한다.

핵심 개념

어텐션

어텐션은 입력 시퀀스의 각 위치가 다른 위치의 정보를 얼마나 참고할지 가중치로 표현하는 메커니즘이다. 각 위치는 쿼리(query), 키(key), 값(value) 벡터를 만들고, 쿼리와 키의 유사도에 따라 값의 가중합을 계산한다.

셀프 어텐션

셀프 어텐션은 시퀀스 내부의 위치들 사이에서 수행되는 어텐션이다. 각 토큰이 문장 안의 다른 토큰들과의 관계를 직접 학습할 수 있으며, 멀리 떨어진 토큰 사이의 의존성도 한 단계에 포착할 수 있다.

멀티헤드 어텐션

여러 개의 어텐션을 병렬로 수행하여 서로 다른 관점의 관계를 학습한다. 각 헤드는 서로 다른 표현 공간에서 의존성을 포착하며, 그 결과를 합쳐 다음 계층으로 전달한다.

위치 인코딩

어텐션 자체에는 순서 정보가 없으므로, 각 위치에 순서를 나타내는 위치 인코딩을 더해 시퀀스의 순서를 모델에 알려준다.

계층 구성

트랜스포머 계층은 어텐션과 피드포워드 계층으로 구성되며, 각 부분에 잔차 연결과 층 정규화를 사용한다. 디코더는 미래 토큰을 보지 못하게 하는 인과적 마스크를 적용해 자기회귀(autoregressive) 생성에 맞춘다.

변형과 활용

  • GPT 계열: 디코더 전용 구조로, 다음 토큰을 예측하는 방식으로 학습된 생성 모델. 대규모 언어 모델의 기반.
  • BERT 계열: 인코더 전용 구조로, 문장 표현을 학습하는 데 사용된다.
  • 비전 트랜스포머(ViT): 이미지를 패치로 나누어 트랜스포머에 입력하는 구조로, 컨볼루션 신경망 기반 비전 모델을 대체하는 추세.
  • 멀티모달: 이미지, 음성, 텍스트를 함께 다루는 모델에도 널리 사용된다.

함께 보기

출처