Transformer (Basic)

김동준·2025년 9월 16일

LLM

목록 보기
5/50

Transformer 모델은 자연어 처리(NLP)를 비롯한 다양한 시퀀스 처리의 판을 바꾼 딥러닝 아키텍처로, 2017년 구글의 논문 “Attention is All You Need”에서 처음 소개되었습니다[1]. 이 모델의 핵심 개념은 셀프 어텐션(Self-attention), 포지셔널 인코딩(Positional Encoding), 인코더-디코더 구조, 그리고 멀티헤드 어텐션(Multi-Head Attention)입니다. 각각의 개념을 실제 예시와 함께 상세히 설명합니다.


1. 셀프 어텐션 (Self-Attention)

정의: 문장 내 단어(토큰) 간의 관계를 수치적으로 평가해, 각 단어가 문맥 상에서 얼마나 중요하게 연관되어 있는지를 직접적으로 학습하는 메커니즘입니다.
예시:

  • 예시 1: “사자는 동물원에서 뛰어다닌다”에서, 단어 “사자”와 “동물원”은 모두 “뛰어다닌다”에 대한 서술임을 셀프 어텐션이 파악합니다.
  • 예시 2: “나는 은행에 갔다”에서 ‘은행’이 금융기관인지 나무의 열매인지를 인접 단어(은행 앞뒤의 “에”, “갔다”)와의 관계에서 결정합니다[1].
  • 예시 3: “[공지] 학교에서 오후 2시에 집행부를 소집한다”에서 “집행부”가 “소집한다”의 주체임을 셀프 어텐션이 파악합니다.

핵심: 셀프 어텐션은 단어(토큰)의 상대적 중요도를 자동으로 학습해, 장거리 의존성(long-range dependency) 문제를 해결합니다. 즉, 멀리 떨어진 단어 사이의 관계도 직접 모델링할 수 있습니다.


2. 포지셔널 인코딩 (Positional Encoding)

정의: 순차 데이터의 ‘순서’ 정보를 밀착시켜주는 장치로, 각 토큰의 위치 정보를 벡터로 더해줍니다. RNN처럼 순서 정보를 자연스럽게 포함하지 못하는 트랜스포머의 구조적 단점을 보완합니다[2][3].
예시:

  • 예시 1: “나는 학교에 갔다”와 “학교에 나는 갔다”는 단어가 같지만, 순서가 다르므로 의미가 달라집니다. 포지셔널 인코딩은 각 단어의 상대적 또는 절대적 위치를 수치로 더해 이를 구분합니다.
  • 예시 2: 시계 데이터(월, 일, 시, 분)에서 2025년 9월 16일과 2025년 1월 9월 16일은 순서만 바꿔도 완전히 다른 의미가 되는데, 포지셔널 인코딩은 각 값의 위치를 모델이 알아차릴 수 있게 해줍니다.
  • 예시 3: 음악의 코드 진행(예: C, G, Am, F)에서 순서가 바뀌면 곡의 분위기가 달라지는데, 포지셔널 인코딩이 이를 구분할 수 있게 합니다.

3. 멀티헤드 어텐션 (Multi-Head Attention)

정의: 하나의 셀프 어텐션을 여러 개의 독립적인 어텐션으로 나눠, 다양한 시각에서 문맥을 다각도로 파악합니다.
예시:

  • 예시 1: 한 문장(“나는 학교에 갔다”)에서, 한 헤드는 주어(“나”)와 동사(“갔다”)의 관계를, 다른 헤드는 장소(“학교”)와 동사(“갔다”)의 관계를, 또 다른 헤드는 각 단어의 품사 관계 등을 각각 중점적으로 살핍니다.
  • 예시 2: “그는 사과를 좋아합니다”에서 한 헤드는 ‘사과’가 과일인지 사과(謝過)의 의미처럼 다발적 의미를 갖는지 파악하고, 다른 헤드는 ‘좋아합니다’와의 감정적 연관성을 파악합니다.
  • 예시 3: 영어 문장 “I love apples, because they are sweet.”에서, 한 헤드는 “I”와 “love”만의 관계, 한 헤드는 “apples”와 “sweet”, 한 헤드는 전체 문장의 긍정적 맥락을 각각 집중적으로 본다고 볼 수 있습니다[2].

핵심: 멀티헤드 구조는 단어 간의 다양한 관계를 병렬로 학습해, 문맥의 해석 능력을 높입니다.


4. 인코더–디코더 구조 (Encoder-Decoder Architecture)

정의: 트랜스포머는 인코더와 디코더로 구성된 쌓아 올린 구조(stacked architecture)를 가집니다. 인코더는 입력 문장을 집중적으로 분석(문맥 이해)하고, 디코더는 인코더의 분석 결과를 바탕으로 출력 문장을 생성(생성/번역)합니다.
예시:

  • 예시 1: 기계 번역(영→한)에서, 인코더는 “I love dogs.”를 분석해 문맥을 추출(파악)하고, 디코더는 “나는 개를 좋아한다.”라는 한글 문장을 생성합니다.
  • 예시 2: 문서 요약에서, 인코더는 원문 전체를 읽고 각 문장의 중요도를 평가, 디코더는 핵심 문장만 뽑아 요약문을 만듭니다.
  • 예시 3: 챗봇에서, 인코더는 질문을 이해(“오늘 점심 뭐 먹을까?”)하고, 디코더는 그에 맞는 답변(“샐러드 먹는 건 어때?”)을 생성합니다[1].

5. 종합: 트랜스포머의 특징과 혁신성

  • 병렬 처리: RNN과 달리 전체 문장을 한 번에 처리해 학습 속도가 빠릅니다[1].
  • 빠른 장거리 의존성 파악: 문맥의 앞뒤 관계를 모두 동시에 봐서, 단어가 아무리 멀리 떨어져 있어도 중요한 문맥적 연결을 바로 찾아낼 수 있습니다.
  • 유연한 구조: 인코더, 디코더, 또는 둘 다를 쌓아 다양한 작업(이해, 생성, 번역 등)에 최적화할 수 있습니다. BERT(이해), GPT(생성), T5(생성+이해)가 대표적입니다[4].
  • 레이어 정규화, 나머지 연결, 피드포워드 신경망: 각 레이어에 규칙성(정규화), 잔차 연결, 다층 신경망을 두어 안정적이고 깊은 학습을 가능하게 합니다.

실생활 응용 예시

  • 변역: 구글 번역, Papago 등에서 실시간으로 자연스러운 번역문을 만들어냅니다.
  • 챗봇: ChatGPT, Bard 등에서 인간과 유사한 대화를 가능하게 합니다.
  • 이미지/영상 분석: 사진 속 사물 인식, 동영상 자막 생성, 자동 요약 등에서도 활용됩니다.
  • 기업 문서 자동분류, 추천 시스템, 음성 인식 등 다양한 분야로 확장되고 있습니다[5][4].

요약

트랜스포머는 셀프 어텐션, 포지셔널 인코딩, 멀티헤드 어텐션, 인코더-디코더 구조라는 4가지 핵심을 바탕으로, 문맥을 효과적으로 이해하고 생성하는 모델입니다. 각 개념은 실제 문장의 구조와 의미, 순서, 다양한 관계 등 ‘인간의 언어 이해’를 수치적으로 구현한 혁신적 장치입니다.
이 구조 덕분에 트랜스포머는 빠른 학습, 정확한 문맥 파악, 다양한 태스크 확장성을 갖춘 AI 시대의 핵심 기술로 자리잡았습니다.


참고: 논문을 여러 번 읽어도 이해가 잘 안 된다면, “Attention이란 무엇인가?”, “인코더와 디코더가 각각 하는 역할”, “멀티헤드 어텐션의 필요성”, “포지셔널 인코딩의 존재 이유”를 하나씩 예제와 연결해 생각해 보세요. 각 부분이 실제 문장 처리에서 어떻게 적용되는지 상상을 하면, 논문의 수식과 구조가 더 친숙해질 것입니다.
더 깊은 학습을 원한다면, 각 레이어별 연산 흐름(예: 입력 임베딩 → 어텐션 → 정규화 → 피드포워드 → 출력 임베딩 등)을 코드로 직접 구현해 보는 것도 큰 도움이 됩니다.

출처
[1] <지식 사전> 트랜스포머(Transformer)가 뭔데? AI 혁명의 핵심 ... https://blog.kakaocloud.com/91
[2] 135. Transformer Model과 GPT: AI 혁신을 이끄는 모델의 구조 ... https://guguuu.com/entry/135-gpt-transformer-model-explained
[3] Transformer Model 개념 및 모델 구조 - 컴퓨터하는 상어 https://csshark.tistory.com/134
[4] 트랜스포머 모델이란? | 용어 해설 https://www.hpe.com/kr/ko/what-is/transformer-model.html
[5] 트랜스포머 모델이란 무엇인가요? https://www.ibm.com/kr-ko/think/topics/transformer-model
[6] 트랜스포머 모델이란 무엇인가? (1) | NVIDIA Blog https://blogs.nvidia.co.kr/blog/what-is-a-transformer-model/
[7] 16-01 트랜스포머(Transformer) - 딥 러닝을 이용한 자연어 ... https://wikidocs.net/31379
[8] Transformer 정리 - No regret Just Lesson - 티스토리 https://ahnjg.tistory.com/57
[9][딥러닝] Transformer 모델 정리(LLM 모델 이해, Multi Head ... https://railly-linker.tistory.com/165
[10] Transfomer 기본 개념 정리 - 벌꿀오소리의 공부 일지 https://yeong-jin-data-blog.tistory.com/entry/Tranfomer

profile
Story Engineer

0개의 댓글