AI VIDEO BRIEFING

트랜스포머 완전정복: 어텐션·셀프어텐션·인코더·디코더 한 번에 이해하기

챗GPT와 구글 번역의 바탕이 된 트랜스포머 구조를 RNN의 한계부터 어텐션, 셀프어텐션, 쿼리·키·값, 멀티헤드 어텐션, 위치 인코딩, 인코더·디코더까지 초보자 눈높이로 설명한다.

트랜스포머란 무엇인가: 챗GPT를 떠받치는 핵심 구조를 초보자 눈높이로 영상 대표 이미지

핵심 메시지

  • 트랜스포머는 2017년 논문 '어텐션 이즈 올 유 니드'에서 소개된 딥러닝 구조로, 현대 AI 언어 모델의 토대가 됐다.
  • 핵심 아이디어는 '어텐션'으로, 단어를 하나씩 읽던 RNN과 달리 문장의 모든 단어를 동시에 보고 어떤 단어가 중요한지 학습한다.
  • 셀프 어텐션은 각 단어에 쿼리·키·값 벡터를 만들어 단어들 사이의 관계에 집중하게 한다.
  • 위치 인코딩으로 단어의 순서 정보를 저장해 '개가 사람을 문다'와 '사람이 개를 문다'를 구분한다.
  • 인코더는 입력을 이해하고 디코더는 출력을 생성하며, 챗GPT·구글 번역·클로드·라마 등 거의 모든 최신 모델이 이 구조를 쓴다.

쉽게 이해하기

트랜스포머는 단어들 사이의 관계를 '어텐션'이라는 방법으로 이해하는 딥러닝 구조다. 구글 연구진이 2017년 '어텐션 이즈 올 유 니드' 논문에서 발표했고, 오늘날 챗GPT 같은 언어 모델의 기반이 됐다.

트랜스포머 이전의 RNN은 단어를 하나씩 순서대로 읽어 속도가 느렸고, 앞쪽 단어를 잊어버리는 문제가 있었다. LSTM이 기억 문제를 어느 정도 풀었지만 여전히 문장을 순차적으로 처리해야 해 긴 문서에 약했다. 트랜스포머는 문장 전체를 한꺼번에 처리해 이 한계를 해결하고 학습 속도도 크게 높였다.

어텐션은 트랜스포머의 심장이다. '동물이 피곤해서 길을 건너지 않았다'라는 문장에서 '그것(it)'이 가리키는 대상이 길인지 동물인지 판단할 때, 트랜스포머는 '동물'에 더 큰 주의를 둔다. 어텐션은 모델이 어떤 단어에 집중해야 하는지를 알려준다.

셀프 어텐션에서는 모든 단어가 쿼리·키·값 벡터를 만든다. 구글 검색에 비유하면 쿼리는 '내가 찾는 것', 키는 '내가 가진 정보의 색인', 값은 '담고 있는 실제 정보'에 해당한다. 멀티헤드 어텐션은 하나가 아니라 여러 개의 어텐션을 동시에 적용해 한 문장에서 주어·목적어·동사 등 서로 다른 관계를 풍부하게 포착한다.

인코더는 입력을 이해하고 디코더는 출력을 생성한다. 인코더 블록은 임베딩, 위치 인코딩, 멀티헤드 어텐션, 정규화, 피드포워드 신경망으로 이뤄져 보통 6번이나 12번 반복된다. 디코더에는 마스크드 멀티헤드 어텐션이 추가돼, 문장을 생성할 때 아직 등장하지 않은 단어를 미리 보지 못하도록 막는다.

주요 인사이트

  • RNN과 LSTM의 순차 처리 한계를 트랜스포머는 '문장 전체 동시 처리'로 극복했고, 이것이 학습 속도와 긴 문맥 이해를 크게 끌어올렸다.
  • 쿼리·키·값 메커니즘은 트랜스포머에서 가장 중요한 부분으로, 단어들 사이의 관련도를 계산해 어디에 집중할지 정한다.
  • 위치 인코딩은 같은 단어라도 위치에 따라 의미가 달라지는 점을 다루기 위해 단어의 순서 정보를 저장한다.
  • 트랜스포머의 학습 목표는 단순히 '다음 단어 예측' 하나이며, 수십억 개의 문장으로 가중치를 갱신하는 과정을 반복한다.
  • 트랜스포머는 챗GPT, 구글 번역, 제미나이, 클로드, GPT, 라마 등 광범위한 모델과 의료 AI·OCR·이미지 캡셔닝·음성 인식·코드 생성 등 다양한 분야에 쓰인다. 파이썬에서는 허깅페이스 transformers 라이브러리로 쉽게 사용할 수 있다.

자주 묻는 질문

트랜스포머는 언제, 어디서 처음 소개됐나요?

트랜스포머는 2017년 구글 연구진이 발표한 논문 '어텐션 이즈 올 유 니드(Attention Is All You Need)'에서 처음 소개됐습니다. 단어들 사이의 관계를 어텐션으로 이해하는 딥러닝 구조입니다.

어텐션과 셀프 어텐션은 무엇인가요?

어텐션은 모델이 문장에서 어떤 단어에 집중해야 하는지를 알려주는 메커니즘입니다. 셀프 어텐션은 각 단어가 쿼리·키·값 벡터를 만들어 문장 안 단어들 사이의 관계를 계산하고, 관련이 강한 단어에 더 큰 주의를 둡니다.

인코더와 디코더는 각각 어떤 역할을 하나요?

인코더는 입력 문장을 이해하는 역할을, 디코더는 출력을 생성하는 역할을 합니다. 디코더에는 마스크드 멀티헤드 어텐션이 추가돼 문장을 생성할 때 아직 나오지 않은 단어를 미리 보지 못하게 막습니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식