트랜스포머 모델이란 무엇인가요?

책을 읽는 젊은 대학생

작성자

Cole Stryker

Staff Editor, AI Models

IBM Think

Dave Bergmann

Senior Staff Writer, AI Models

IBM Think

트랜스포머 모델이란 무엇인가요?

트랜스포머 모델은 순차적 데이터를 처리하는 데 탁월한 신경망 아키텍처 유형으로, 특히 대규모 언어 모델(LLM)과 관련이 깊습니다. 트랜스포머 모델은 컴퓨터 비전, 음성 인식, 시계열 예측 등 인공 지능(AI)의 다른 분야에서도 뛰어난 성능을 보여주고 있습니다.

트랜스포머 아키텍처는 Vaswani 등이 2017년에 발표한 ‘Attention is All You Need’ 논문에서 처음 제시되었으며, 이는 딥 러닝에 있어 전환점으로 간주됩니다.
원래 기계 번역에 사용되는 순환 신경망(RNN) 기반 시퀀스 간 모델의 발전으로 도입된 트랜스포머 기반 모델은 이후 거의 모든 머신 러닝(ML) 분야에 걸쳐 최첨단 발전을 이루었습니다.

다방면에 활용 가능함에도 불구하고, 트랜스포머 모델은 챗봇, 텍스트 생성, 요약, 질의응답, 감정 분석 등 자연어 처리(NLP) 분야에서 가장 많이 언급됩니다.

Google이 2019년에 발표한 BERT는 트랜스포머 기반 인코더-디코더 모델로, 트랜스포머 확립의 중대한 지점이 되었으며, 최신 벡터 데이터베이스부터 Google 검색에 이르기까지 대부분의 현대적 워드 임베딩 애플리케이션의 기반이 됩니다.

GPT-3(Generative Pre-trained 트랜스포머)와 같은 오토리그레시브 디코더 전용 LLM은 OpenAI의 ChatGPT 출시를 지원하며 현대 생성형 AI(gen AI) 시대를 촉진했습니다.

데이터 시퀀스의 각 부분이 다른 부분에 어떻게 영향을 미치고 상호 연관되는지 복잡하게 파악하는 트랜스포머 모델의 능력은 다양한 용도로도 활용할 수 있습니다.

예를 들어, 비전 트랜스포머(ViT)는 이미지 분할 , 객체 감지 및 관련 작업에서 컨볼루션 신경망(CNN)보다 성능이 뛰어난 경우가 많습니다. 트랜스포머 아키텍처는 이미지 생성, 멀티 모달 TTS, 비전 언어 모델(VLM)에 사용되는 여러 확산 모델의 기반이 되기도 합니다.

트랙에서 굴러가는 공의 3D 디자인

최신 AI 뉴스+인사이트


주간 Think 뉴스레터에서 전문가들이 선별한 AI, 클라우드 등에 관한 인사이트와 소식을 살펴보세요. 

트랜스포머 모델이 중요한 이유는 무엇인가요?

트랜스포머 모델의 핵심 기능은 셀프 어텐션 메커니즘이며, 이를 통해 입력 시퀀스의 각 구성 요소 간의 관계(또는 종속성)를 감지하는 놀라운 능력을 얻습니다. 기존 RNN 및 CNN 아키텍처와 달리, 트랜스포머는 오직 어텐션 레이어와 표준 피드포워드 레이어만 사용합니다.

셀프 어텐션의 이점, 특히 트랜스포머 모델이 이를 계산하기 위해 사용하는 멀티헤드 어텐션 기법은 트랜스포머가 이전에 최첨단이었던 RNN 및 CNN의 성능을 능가할 수 있도록 합니다.

트랜스포머 모델이 등장하기 전 대부분의 NLP 작업은 RNN에 의존했습니다. RNN이 순차 데이터를 처리하는 방식은 본질적으로 직렬화되어 있으며, 입력 시퀀스의 요소를 한 번에 하나씩 특정 순서로 수집합니다.

이는 RNN이 장거리 종속성을 캡처하는 능력을 저해하므로 RNN은 짧은 텍스트 시퀀스만 효과적으로 처리할 수 있습니다.
이러한 결함은 장단기 메모리 네트워크(LSTM)의 도입으로 어느 정도 해결되었지만, 여전히 RNN의 근본적인 단점으로 남아 있습니다.

반대로 어텐션 메커니즘은 전체 시퀀스를 동시에 검토하고 해당 시퀀스의 특정 시간 단계에 집중하는 방법과 시기를 결정할 수 있습니다.

트랜스포머의 이러한 특성은 장기적인 종속성 이해 능력을 크게 향상시킬 뿐 아니라, 일련의 단계가 아닌 여러 계산 단계를 동시에 수행할 수 있는 병렬화를 가능하게 합니다.

병렬 처리에 적합하다는 점에서 트랜스포머 모델은 학습과 추론 모두에서 GPU가 제공하는 성능과 속도를 최대한 활용할 수 있습니다. 이러한 가능성은 자기 지도 학습을 통해 전례 없이 방대한 데이터 세트에 대해 트랜스포머 모델을 학습시킬 수 있는 기회를 열어주었습니다.

특히 시각적 데이터의 경우, 트랜스포머는 합성곱 신경망(CNN)보다 몇 가지 이점을 제공합니다. CNN은 본질적으로 지역적이며, 입력 데이터를 작은 단위로 나누어 하나씩 처리하기 위해 합성곱을 사용합니다

따라서 CNN 역시 서로 인접하지 않은 단어(텍스트 내) 또는 픽셀(이미지 내) 간의 상관관계와 같은 장기적인 종속성을 식별하는 데 어려움을 겪습니다. 어텐션 메커니즘은 이러한 제약을 받지 않습니다.

Mixture of Experts | 8월 28일, 에피소드 70

AI 디코딩: 주간 뉴스 요약

세계적인 수준의 엔지니어, 연구원, 제품 리더 등으로 구성된 패널과 함께 불필요한 AI 잡음을 차단하고 실질적인 AI 최신 소식과 인사이트를 확인해 보세요.

셀프 어텐션이란 무엇인가요?

어텐션, 특히 자기어텐션의 수학적 개념을 이해하는 것은 트랜스포머 모델이 여러 분야에서 성공한 이유를 이해하는 데 필수적입니다. 어텐션 메커니즘은 본질적으로 AI 모델이 특정 시점에 어떤 데이터 시퀀스의 부분에 “주의를 기울여야 할지” 판단하도록 설계된 알고리즘입니다.

언어 모델이 영어 문장on Friday, the judge issued a sentence”를 해석한다고 가정해 보겠습니다. "

  • 앞에 나오는 단어 “judge” 는 “judge”가이러한 재판을 주재하는 사람이라는judge 명사로 사용되었음을 시사하며, 평가하거나 의견을 내리다라는 동사로서의 의미는 아닙니다.
  • 이러한 문맥에서judge 재판을 주재하는 사람이라는sentence “sentence”는 문법적인 “문장”이 아니라 법적 처벌을 의미하는 것으로 해석됩니다.
  • “issued”라는 단어 또한발행 “sentence”가sentence 문법적 개념이 아닌 법적 개념을 의미한다는 점을 더욱 명확히 해 줍니다.
  • 따라서 “sentence” 라는 단어를 해석할 때,sentence 모델은 “judge”와judge “issued”에특히 주의를 기울여야 하며, “Friday”에도 어느 정도 주의를 기울일 수 있습니다.이러한 나머지 단어들은 대부분 무시해도 됩니다.

셀프 어텐션은 어떻게 작동하나요?

일반적으로 트랜스포머 모델의 어텐션 레이어는 다음 네 단계로 데이터 시퀀스의 각 부분에 대한 구체적인 문맥을 평가하고 활용합니다.

  1. 모델은 원시 데이터 시퀀스를 “읽고,” 각 시퀀스 요소를 의미론적 특성과 같은 속성을 수치적으로 반영하는 고유한 특성 벡터로 표현하는 벡터 임베딩으로 변환합니다.

  2. 모델은 각 벡터 간의 유사성, 상관관계 및 기타 종속성(또는 그 부재)을 판단합니다. 대부분의 트랜스포머 모델에서는 각 벡터 간의 내적(dot product)을 계산하여 한 벡터가 다른 벡터에 대해 가지는 상대적 중요도를 결정합니다. 벡터가 잘 정렬되어 있다면 곱셈 결과는 큰 값을 나타냅니다. 정렬되어 있지 않으면 내적 결과는 작거나 음수가 됩니다.

  3. 이러한 '정렬 점수'는 어텐션 가중치로 변환됩니다.이는 정렬 점수를 소프트맥스 활성화 함수에 입력하여, 모든 값을 0에서 1 사이로 정규화하고 그 합이 1이 되도록 하는 방식으로 이루어집니다. 예를 들어, “벡터 A”와 “벡터 B” 사이의 어텐션 가중치가 0이라면, 벡터 A에 대한 예측 시 벡터 B는 무시되어야 한다는 뜻입니다. 반대로 어텐션 가중치가 1이라면, 벡터 A에 대한 결정에서 벡터 B가 모델의 주의를 100% 받아야 한다는 의미입니다.

  4. 이 어텐션 가중치는 특정 시점에서 특정 입력 요소의 영향을 강조하거나 약화하는 데 사용됩니다. 즉, 어텐션 가중치는 트랜스포머 모델이 특정 순간에 특정 정보에 집중하거나 무시할 수 있도록 도와줍니다.

학습 이전에는 트랜스포머 모델이 최적의 벡터 임베딩과 정렬 점수를 어떻게 생성할지 “모릅니다.” 학습 중 모델은 학습 데이터에서 추출한 수백만 개의 예시를 기반으로 예측을 수행하며, 손실 함수는 각 예측의 오차를 정량화합니다.

예측을 수행하고 역전파경사 하강법을 통해 모델 가중치를 업데이트하는 반복적인 사이클을 거쳐, 모델은 정확한 출력을 생성하는 벡터 임베딩, 정렬 점수, 어텐션 가중치를 “학습”하게 됩니다.

트랜스포머 모델은 어떻게 작동하나요?

관계형 데이터베이스와 같은 트랜스포머 모델은 데이터 시퀀스의 각 부분에 대한 쿼리, 키 및  값 벡터를 생성하고, 이를 사용하여 일련의 행렬 곱셈을 통해 어텐션 가중치를 계산합니다.

관계형 데이터베이스는 관련 데이터의 저장 및 검색을 간소화하도록 설계되었습니다. 각 데이터에 고유 식별자("키")를 할당하고 각 는 해당 과 연결됩니다. 논문 “Attention is All You Need”는 이 개념적 프레임워크를 텍스트 시퀀스 내 각 토큰 간의 관계를 처리하는 데 적용했습니다.

  • 쿼리 벡터는 특정 토큰이 “찾고자 하는” 정보를 나타냅니다. 즉, 특정 토큰의 쿼리 벡터는 다른 토큰들이 그 토큰의 의미, 활용형, 또는 문맥적 뉘앙스에 어떻게 영향을 줄지를 계산하는 데 사용됩니다.
  • 키 벡터는 각 토큰에 포함된 정보를 나타냅니다. 쿼리와 키의 정렬 정도는 해당 텍스트 시퀀스의 문맥에서 얼마나 관련성이 있는지를 반영하는 어텐션 가중치를 계산하는 데 사용됩니다.
  • (또는 값 벡터)은 각 키 벡터의 정보를 해당 어텐션 가중치에 의해 조정된 "반환"합니다. 쿼리와 밀접하게 연관된 키의 기여도는 더 큰 가중치를 부여합니다. 쿼리와 관련이 없는 키의 기여도는 0에 가깝게 가중치가 적용됩니다.

대규모 언어 모델(LLM)에게 있어 모델의 “데이터베이스”는 학습 데이터의 텍스트 샘플에서 학습한 토큰의 어휘입니다. 이 어텐션 메커니즘은 이 “데이터베이스”에서 얻은 정보를 바탕으로 언어의 문맥을 이해합니다.

토큰화 및 입력 임베딩

문자, 숫자, 구두점과 같은 글자 단위는 인간이 언어를 표현하는 기본 단위이지만, AI 모델이 사용하는 언어의 최소 단위는 큰(token)입니다. 각 토큰은 고유한 ID 번호를 부여받으며, LLM은 단어 자체나 토큰 자체가 아니라 이 ID 번호를 통해 어휘 “데이터베이스”를 탐색합니다. 이러한 언어의 토큰화는 텍스트를 처리하는 데 필요한 계산량을 크게 줄여줍니다.

트랜스포머의 어텐션 레이어에 입력할 쿼리 및 키 벡터를 생성하기 위해, 모델은 각 토큰에 대한 초기 문맥 없는 벡터 임베딩이 필요합니다. 이러한 초기 토큰 임베딩은 학습 중에 새롭게 학습되거나, 사전학습된 단어 임베딩 모델에서 가져올 수 있습니다.

위치 인코딩

단어의 순서와 위치는 그 의미론적 의미에 큰 영향을 미칠 수 있습니다. RNN의 직렬적 구조는 각 토큰의 위치 정보를 자연스럽게 보존하지만, 트랜스포머 모델은 어텐션 메커니즘이 이를 고려할 수 있도록 명시적으로 위치 정보를 추가해야 합니다.

위치 인코딩을 사용하면 모델은 입력이 어텐션 메커니즘에 들어가기 전에 상대적 위치에서 파생된 각 토큰의 임베딩에 값 벡터를 추가합니다. 두 토큰이 가까울수록 포지션 벡터는 더 유사해지고, 그에 따라 위치 정보 추가로 인해 정렬 점수가 더 높아집니다. 이렇게 하여 모델은 인접한 토큰에 더 많은 주의를 기울이도록 학습하게 됩니다.

쿼리, 키 및 값 벡터 생성

위치 정보가 추가되면, 갱신된 각 토큰 임베딩은 세 개의 새로운 벡터를 생성하는 데 사용됩니다. 이 쿼리, 키, 벡터는 최초의 어텐션 레이어 전에 존재하는 세 개의 병렬 피드포워드 신경망 레이어를 통해 원래의 토큰 임베딩을 통과시켜 생성됩니다. 해당 선형 레이어의 각 병렬 서브셋은 고유한 가중치 행렬을 가지며, 이는 대규모 텍스트 데이터 세트를 이용한 자기지도 사전 학습을 통해 학습됩니다.

  • 임베딩은 가중치 행렬 WQ와 곱해져 쿼리 벡터(Q)를 생성하며, 이 벡터들은 dk 차원을 가집니다.
  • 임베딩은 가중치 행렬 WK와 곱해져 키 벡터(K)를 생성하며, 이 역시 dk 차원을 가집니다.
  • 임베딩은 가중치 행렬 WV와 곱해져 값 벡터(V)를 생성하며, 이 값 벡터는 dv 차원을 가집니다.

셀프 어텐션 컴퓨팅

트랜스포머의 어텐션 메커니즘 주요 기능은 각 토큰의 쿼리 벡터를 시퀀스 내 다른 모든 토큰의 키 벡터와 매칭하여 정확한 어텐션 가중치를 할당하는 것입니다. 정확히 수행될 경우, 각 토큰을 다음과 같이 생각할 수 있습니다.x 이제 각 토큰은 해당 어텐션 가중치 벡터가 있다는 것을 의미합니다. 여기서 해당 벡터의 각 요소는 다른 토큰이 영향을 미치는 정도를 나타냅니다.

  • 이제 각 토큰의 가치 벡터에 각각의 어텐션 가중치가 곱해집니다.
  • 이러한 어텐션 가중치가 적용된 값 벡터들은 모두 합산됩니다. 결과 벡터는 시퀀스 내의 다른 모든 토큰들로부터 x해당 토큰에 제공되는 집약된 문맥 정보를 나타냅니다.
  • 마지막으로, 각 토큰으로부터의 어텐션 가중치가 적용된 변화 벡터가 해당 토큰의 x원래 위치 인코딩 이후 벡터 임베딩에 더해집니다.

기본적으로 x의 벡터 임베딩은 시퀀스 내 다른 토큰들이 제공하는 문맥을 더 잘 반영하도록 업데이트되었습니다.

멀티 헤드 어텐션

토큰들이 서로 관계를 맺는 다양한 다면적인 방식을 포착하기 위해, 트랜스포머 모델은 여러 어텐션 블록에 걸쳐 멀티 헤드 어텐션을 구현합니다.

첫 번째 피드포워드 레이어에 입력되기 전에, 각 원본 입력 토큰 임베딩은 동일한 크기의 h개의 부분 집합으로 분할됩니다. 임베딩의 각 부분은 h개의 병렬 행렬 중 하나인 Q, KV 가중치에 입력되며, 각각은 쿼리 헤드, 키 헤드, 값 헤드라고 불립니다. 이 병렬 쿼리, 키, 값 헤드 3개의 벡터 아웃풋은 다음 어텐션 층의 해당 부분 집합에 입력되며, 이를 어텐션 헤드라고 합니다.

각 어텐션 블록의 마지막 층에서는 이 h개의 병렬 회로 아웃풋이 결국 다시 결합되어 다음 피드포워드 층으로 전달됩니다. 실제로 모델 학습은 각 회로가 의미적 의미의 개별적인 측면을 포착하는 다른 가중치를 학습하는 결과를 낳습니다.

잔여 연결 및 레이어 정규화

어떤 상황에서는, 어텐션 블록에서 출력된 문맥적으로 업데이트된 임베딩을 전달하는 것이 원래 시퀀스의 정보 손실을 초래할 수 있습니다.

이를 해결하기 위해, 트랜스포머 모델은 종종 어텐션 메커니즘이 제공하는 문맥 정보와 각 토큰의 원래 의미적 의미를 균형 있게 조절합니다. 어텐션으로 업데이트된 토큰 임베딩의 모든 부분 집합이 다시 하나로 결합된 후, 업데이트된 벡터는 토큰의 원래 (위치 인코딩된) 벡터 임베딩에 더해집니다. 원래 토큰 임베딩은 해당 레이어와 네트워크의 이전 레이어 사이의 잔여 연결에 의해 제공됩니다.

결과 벡터는 또 다른 선형 피드포워드 레이어에 입력되며, 여기서 다음 어텐션 블록으로 전달되기 전에 일정한 크기로 정규화됩니다. 이러한 조치들은 학습의 안정성을 유지하는 데 도움을 주고, 데이터가 신경망 깊숙이 전달될 때 텍스트의 원래 의미가 손실되지 않도록 보장합니다.

아웃풋 생성

결국, 모델은 최종 아웃풋에 반영할 충분한 문맥 정보를 갖추게 됩니다. 아웃풋 레이어의 성격과 기능은 트랜스포머 모델이 설계된 특정 작업에 따라 달라집니다.

자동 회귀 LLM에서는 최종 레이어가 소프트맥스 함수를 사용하여 다음 단어가 어휘 “데이터베이스” 내 각 토큰과 일치할 확률을 결정합니다. 특정 샘플링 하이퍼파라미터에 따라 모델은 그 확률들을 이용해 아웃풋 시퀀스의 다음 토큰을 결정합니다.

자연어 처리(NLP)의 트랜스포머 모델

트랜스포머 모델은 원래 기계 번역 용도로 개발되어 NLP와 가장 밀접한 관련이 있습니다. 특히, 트랜스포머 아키텍처는 생성형 AI의 도래를 촉진한 대형 언어 모델(LLM)의 기반이 되었습니다.

일반 대중이 가장 잘 아는 대부분의 대형 언어 모델(LLM)은, OpenAI의 GPT 시리즈와 Anthropic의 Claude 모델과 같은 폐쇄형 소스 모델부터 Meta Llama 또는 IBM® Granite®를 포함한 오픈 소스 모델에 이르기까지, 모두 자동 회귀 디코더 전용 LLM입니다.

자동 회귀 LLM은 텍스트 생성용으로 설계되었으며, 요약 및 질문 응답 같은 인접 작업에도 자연스럽게 확장됩니다. 이들은 자기 지도 학습을 통해 훈련되며, 텍스트 구절의 첫 단어를 제공받고 시퀀스 끝까지 다음 단어를 반복적으로 예측하는 임무를 수행합니다.
셀프 어텐션 메커니즘이 제공하는 정보는 모델이 입력 시퀀스에서 문맥을 추출하고 아웃풋의 일관성과 연속성을 유지하도록 합니다.

BERT와 그 파생 모델 같은 인코더-디코더 마스킹 언어 모델(MLM)은 트랜스포머 기반 LLM의 또 다른 주요 진화 분기를 대표합니다. 훈련 중 MLM은 일부 토큰이 마스킹(숨김)된 텍스트 샘플을 제공받아 누락된 정보를 완성하는 임무를 수행합니다.
이 훈련 방법론은 텍스트 생성에는 덜 효과적이지만, 번역, 텍스트 분류, 임베딩 학습 등 견고한 문맥 정보를 필요로 하는 작업에서 MLM이 뛰어나도록 돕습니다.

다른 분야의 트랜스포머 모델

트랜스포머 모델은 원래 자연어 처리용으로 설계되었으며 지금도 가장 두드러지게 자연어와 관련되지만, 시퀀스 데이터를 포함하는 거의 모든 상황에서 사용할 수 있습니다. 이로 인해 멀티 모달 시스템으로 LLM 미세 조정, 전용 시계열 예측 모델, 컴퓨터 비전용 ViT 등 다른 분야의 트랜스포머 기반 모델 개발로 이어졌습니다.

어떤 데이터 양식은 트랜스포머 친화적인 시퀀스 표현에 더 자연스럽게 적합합니다. 시계열, 오디오, 비디오 데이터는 본질적으로 순차적이지만, 이미지 데이터는 그렇지 않습니다. 그럼에도 불구하고 ViT와 기타 어텐션 기반 모델은 이미지 캡션 생성, 객체 탐지, 이미지 분할, 시각적 질문 응답 등 많은 컴퓨터 비전 작업에서 최첨단 결과를 달성했습니다.

전통적으로 “순차적”으로 간주되지 않는 데이터를 트랜스포머 모델에 사용하려면, 그 데이터를 시퀀스로 표현하는 개념적 우회가 필요합니다. 예를 들어, 시각 데이터를 이해하기 위해 어텐션 메커니즘을 사용하려면, ViT는 패치 임베딩을 활용해 이미지 데이터를 시퀀스로 해석 가능하게 만듭니다.

  • 우선, 이미지를 여러 패치로 분할합니다. 예를 들어, 224x224 픽셀 이미지는 256개의 14x14 픽셀 패치로 세분화되어 이미지 처리에 필요한 계산 단계를 크게 줄입니다.
  • 다음으로, 선형 투영 레이어가 각 패치를 벡터 임베딩으로 매핑합니다.
  • 앞서 설명한 위치 인코딩과 유사하게, 각 패치 임베딩에 위치 정보가 추가됩니다.
  • 이제 이러한 패치 임베딩은 본질적으로 토큰 임베딩 시퀀스로 작동하여 이미지가 어텐션 메커니즘으로 해석될 수 있게 합니다.
관련 솔루션
IBM watsonx.ai

AI 빌더를 위한 차세대 엔터프라이즈 스튜디오인 IBM watsonx.ai로 생성형 AI, 파운데이션 모델 및 머신 러닝 기능을 학습, 검증, 조정 및 배포하세요. 적은 데이터로 짧은 시간 내에 AI 애플리케이션을 구축하세요.

watsonx.ai에 대해 알아보기
인공 지능 솔루션

업계 최고의 AI 전문성과 솔루션 포트폴리오를 보유한 IBM과 함께 AI를 비즈니스에 활용하세요.

AI 솔루션 살펴보기
AI 컨설팅 및 서비스

AI 추가를 통해 중요한 워크플로와 운영을 혁신함으로써 경험, 실시간 의사 결정 및 비즈니스 가치를 극대화합니다.

AI 서비스 살펴보기
다음 단계 안내

AI 개발 라이프사이클 전반에 걸친 기능에 원스톱으로 액세스하세요. 사용자 친화적인 인터페이스, 워크플로, 업계 표준 API 및 SDK에 대한 액세스를 통해 강력한 AI 솔루션을 제작할 수 있습니다.

watsonx.ai 살펴보기 라이브 데모 예약하기
각주

1 Google의 BERT, 전 세계적으로 출시(IBM.com 외부 링크), 검색 엔진 저널, 2019년 12월 9일