검수요청.png검수요청.png

트랜스포머

위키원
leejia1222 (토론 | 기여)님의 2024년 8월 28일 (수) 10:51 판
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
이동: 둘러보기, 검색

트랜스포머(Transformer)는 2017년 구글(Google)이 "Attention Is All You Need"라는 논문에서 발표한 딥러닝 모델이다. 주로 자연어 처리 분야에서 혁신을 일으켰지만, 현재는 컴퓨터 비전, 음성 인식 등 다양한 분야에서 활용되고 있다. 기존의 순환 신경망(RNN)이나 장단기 메모리(LSTM), 게이트 순환 유닛(GRU) 모델과 달리, 트랜스포머는 '셀프 어텐션(Self-Attention)'이라는 이름의 메커니즘을 도입했다. 이를 통해 병렬 처리가 가능해졌고, 장거리 의존성(long-range dependency) 문제를 해결할 수 있게 되었다.

쉽게 말해, 트랜스포머는 문장의 의미를 이해하고 생성하는 데 탁월한 능력을 가진 인공지능(AI) 모델이다. 마치 문장을 읽을 때 각 단어의 관계를 파악하고 전체적인 맥락을 이해하는 것처럼, 트랜스포머도 비슷한 방식으로 작동한다고 볼 수 있다. 예를 들어, "나는 은행에 갔다"라는 문장에서 '은행'이 금융기관인지 나무의 열매인지를 구분하는 것처럼, 트랜스포머도 문맥을 고려하여 단어의 의미를 정확히 파악한다.

상세

트랜스포머는 딥러닝 모델로, 주로 어텐션 메커니즘을 활용해 입력 데이터의 중요도를 평가한다. 이 모델은 원래 자연어 처리(NLP) 분야에서 개발되었으나,[1] 최근 비전 트랜스포머(Vision Transformer)의 등장으로 컴퓨터 비전(CV) 분야에서도 활용되고 있다. 트랜스포머의 도입으로 순환 신경망(RNN)의 한계가 극복되었으며, 그 결과 자연어 처리에서 널리 사용되던 장단기 메모리(LSTM) 모델이 점차 트랜스포머로 대체되는 추세다. 오픈AI에서 개발한 GPT 시리즈 또한 트랜스포머 구조를 기반으로 한다.

트랜스포머는 입력 데이터의 각 부분에 대해 차별적으로 가중치를 부여하는 셀프어텐션(Self-Attention) 메커니즘을 특징으로 한다. 이 모델은 자연어 처리와 컴퓨터 비전을 포함한 다양한 분야에서 사용되며, 특히 번역과 텍스트 요약 같은 작업에서 뛰어난 성능을 보인다. 순환 신경망(RNN)과 달리, 트랜스포머는 전체 입력을 한 번에 처리할 수 있어 더 큰 병렬 처리 능력을 제공하며, 이로 인해 훈련 속도가 크게 향상된다.

2017년 구글 브레인 팀에 의해 처음 도입된 트랜스포머는 이후 자연어 처리 문제 해결을 위한 주요 모델로 자리잡았다. 순환 신경망 모델과 비교해 트랜스포머는 병렬 처리에 유리해 대규모 데이터 세트를 더 효과적으로 처리할 수 있다. 이로 인해 버트(BERT)와 GPT 같은 사전 학습된 모델들이 등장했으며, 이러한 모델들은 위키백과와 같은 방대한 텍스트 데이터를 학습해 특정 작업에 맞게 미세 조정된다.[2]

등장배경

딥러닝의 역사는 1950년대 인간의 뉴런에서 영감을 받은 퍼셉트론(Perceptron)으로까지 거슬러 올라갈 수 있지만, 1990년대에서 2000년대에 이르러서는 컴퓨터의 연산 능력 부족과 데이터의 부족으로 인해 2010년대 초반까지 발전이 정체되었다. 그러나 2010년대에 접어들면서 스마트폰과 소셜 미디어의 확산으로 데이터가 폭발적으로 증가했고, 2012년 이미지넷 챌린지 대회에서 딥러닝을 활용한 알렉스넷(AlexNet)이 등장하면서 딥러닝의 활용이 본격화되었다. 알렉스넷은 1,000개의 이미지를 분류하는 대회에서 70-80%였던 이미지 분류 정확도를 단번에 10% 이상 향상시켰다. 알렉스넷은 5개의 합성곱 신경망(CNN) 층과 3개의 완전 연결 층(FC, Fully Connected layer)으로 구성되어 있다. 이후 컴퓨터 비전 분야에서는 주로 CNN을 활용한 모델 개발이 이루어졌고, 2015년에 등장한 레즈넷(ResNet)은 이미지 인식 오류율을 인간과 비슷한 3%대로 낮췄다.

반면 자연어 처리 분야에서는 텍스트와 같은 순차 데이터를 처리하기 위해 순환 신경망(RNN)이 1980년대에 개발되었고, 이를 개선한 LSTM(Long Short-Term Memory)이 1997년에 등장했지만, 입력 문장이 길어질수록 이전 데이터를 기억하기 어려운 문제(Long-term Dependencies)를 해결하지 못했다. 이 시기에는 CNN을 활용해 문장의 임베딩 벡터를 만들어 긍정과 부정을 분석하려는 시도도 있었다.

2014년에 발표된 시퀀스 투 시퀀스(Seq2Seq, Sequence to Sequence) 언어 모델은 자연어 처리 역사상 큰 혁신 중 하나로 꼽힌다. 이 모델은 기존에 문장을 수치로 변환하는 것뿐만 아니라, 생성된 수치를 활용해 다시 문장을 생성할 수 있었다. 기계 번역(Machine Translation)의 대표적인 예로, 한국어 문장을 입력하면 영어 문장을 생성하는 방식이다. 하지만 Seq2Seq 모델도 입력 문장을 처리하는 인코더와 이를 받아 문장을 생성하는 디코더RNN을 사용했기 때문에, 문장이 길어질수록 이전 정보를 기억하기 어려운 RNN의 한계를 지니고 있었다. 또한, 인코더의 마지막 타임스텝에서 나온 정보만으로 타깃 문장을 생성하려다 보니 정보 손실이 발생하는 문제도 있었다.

이 문제를 해결하기 위해 어텐션(Attention) 메커니즘이 추가되었고, 이를 통해 문장의 길이에 관계없이 번역이 가능해졌다. 어텐션의 기본 아이디어는 인코더의 마지막 타임스텝에서 나온 정보만으로는 부족하므로, 디코더에서 출력 단어를 예측할 때마다 인코더의 전체 입력 문장을 다시 참고하는 것이다. 이때, 전체 입력 문장의 단어를 동일한 비율로 참고하는 것이 아니라, 예측해야 할 단어와 가장 연관이 있는 단어에 더 집중(attention)하는 방식을 사용한다. 이 과정은 수학적으로 디코더의 현재 타임스텝의 출력값(hidden state)에 가중치를 곱해 쿼리를 만들고, 이를 인코더 전체의 타임스텝 출력값과 내적(dot product)하여 예측해야 할 단어를 정확하게 참조할 수 있도록 학습하는 방식으로 이루어진다.

어텐션이 추가되면서 문장 길이에 대한 제약은 어느 정도 해결되었지만, 여전히 RNN 기반 Seq2Seq 모델은 인간의 번역 품질에 미치지 못했다. 그러나 트랜스포머의 등장으로 자연어 처리 분야는 큰 변화를 맞이했다. 2017년 구글(Google)은 "Attention is all you need"라는 논문을 통해 어텐션을 보정하는 용도로 사용하는 것을 넘어서, 인코더와 디코더를 모두 어텐션으로 구성한 트랜스포머 모델을 소개했다. 트랜스포머 모델은 문장 길이의 제약을 해결했을 뿐만 아니라, 인코더가 입력 문장을 보다 잘 이해하고 디코더가 앞서 생성한 단어들을 더 잘 이해할 수 있게 되었다. 이후 등장한 유명한 사전학습 언어 모델(PLM, Pre-trained Language Model)들은 모두 트랜스포머 기반이다. 버트(BERT)는 트랜스포머의 인코더 12개로 구성되어 자연어 이해에 강점을 보이는 모델이고, GPT-1은 트랜스포머 디코더 12개로 구성되어 자연어 생성에 강점이 있다. 이후 언어 모델들은 크기와 데이터셋을 확장하며 발전해 왔으며, GPT-3는 디코더 96개와 1750억 개의 파라미터를 가진 모델이 가장 큰 버전이다. 챗GPT는 이 GPT-3 모델을 기반으로 파인튜닝(fine-tuning)된 모델로, 대화에 특화되어 있다.[3]

기존 모델과의 차이

트랜스포머가 등장하기 전, 자연어 처리(NLP) 분야에서는 주로 RNN, LSTM, GRU와 같은 모델들이 사용되었다. CNNRNN은 트랜스포머가 대체하고 있다. 실제로 지난 2년간 아카이브(arXiv)에 게재된 AI 관련 논문의 70%에 트랜스포머가 등장한다. 2017년 전기전자학회(IEEE) 논문에 패턴 인식 분야의 최고 인기 모델로 RNN과 CNN이 보고됐다는 사실을 감안하면 이는 아주 전위적인 변화이다.[4][5]

이들 모델의 주요 특징과 트랜스포머와의 차이점을 살펴보면, RNN은 순차적 데이터를 처리하기 위해 설계된 신경망으로, 이전 단계의 정보를 현재 단계로 전달하여 계산에 활용한다. 그러나 RNN은 먼 과거의 정보를 효과적으로 다루지 못하는 한계를 가지고 있다. LSTM은 이러한 문제를 해결하기 위해 개발된 모델로, 정보를 선택적으로 기억하고 잊을 수 있는 구조를 갖추어 긴 시계열 데이터의 예측 정확도를 높였다. GRU는 LSTM의 복잡성을 줄이면서도 비슷한 성능을 유지하고 계산 효율성을 향상시킨 모델이다.

트랜스포머와 기존 모델 간의 주요 차이점은 여러 가지가 있다. 첫째, 순차적 처리와 병렬 처리의 차이다. 기존 모델인 RNN, LSTM, GRU는 데이터를 순차적으로 처리하므로, 마치 책을 한 단어씩 읽는 것과 같다. 반면 트랜스포머는 문장 내 모든 단어를 동시에 처리할 수 있어, 전체 페이지를 한 번에 훑어보는 것과 유사하다. 둘째, 장거리 의존성 문제의 해결 방법이 다르다. 기존 모델에서는 문장이 길어질수록 먼 거리에 있는 단어 간의 관계를 파악하기 어려운 반면, 트랜스포머는 셀프 어텐션 메커니즘을 통해 문장 내 모든 단어 간의 관계를 직접적으로 계산할 수 있다. 이를 통해 장거리 의존성 문제를 효과적으로 해결할 수 있다.

셋째, 계산 복잡도 차이가 있다. 기존 모델은 순차적 처리로 인해 문장 길이에 따라 계산 복잡도가 증가하며, 문장이 길어질수록 처리 시간이 크게 늘어난다. 트랜스포머는 병렬 처리가 가능하여 문장 길이에 덜 민감하지만, 셀프 어텐션 연산의 복잡도는 문장 길이의 제곱에 비례한다. 넷째, 메모리 사용 방식도 다르다. 기존 모델은 이전 상태를 기억하기 위한 내부 메모리를 사용하는 반면, 트랜스포머는 별도의 메모리 구조 없이 어텐션 메커니즘만으로 정보를 처리한다.

예를 들어, "나는 어제 친구와 함께 본 영화가 정말 재미있었다"라는 문장에서 기존 RNN 모델은 '나는'과 '재미있었다' 사이의 관계를 이해하기 어려울 수 있다. LSTM이나 GRU는 이를 개선하지만 여전히 한계가 있다. 반면 트랜스포머는 장거리 관계를 쉽게 이해할 수 있으며, 긴 문장에서도 효과적으로 작동한다. 이러한 차이점 덕분에 트랜스포머는 기존 모델들의 한계를 극복하고 더 뛰어난 성능을 발휘하게 되었다.[6]

특징

트랜스포머의 가장 큰 특징은 '셀프 어텐션' 메커니즘이다. 셀프 어텐션의 구조를 살펴보면, 각 단어는 쿼리(Query), (Key), (Value)라는 세 가지 벡터로 변환된다. 쿼리 벡터는 단어가 무엇을 찾고 있는지, 키 벡터는 어떤 정보를 가지고 있는지, 값 벡터는 실제로 어떤 정보를 전달하는지를 나타낸다. 어텐션 점수는 각 단어의 쿼리 벡터와 다른 모든 단어의 키 벡터 간의 내적을 계산하여, 이 점수는 해당 단어가 다른 단어들에 얼마나 '어텐션'해야 하는지를 수치적으로 나타낸다. 계산된 점수에 소프트맥스 함수를 적용하여 확률 분포로 변환하면, 중요한 관계는 강조되고 덜 중요한 관계는 약화된다.

최종적으로, 이 확률을 각 단어의 값 벡터와 곱하고 모두 더하여 최종 출력을 만든다. 이 과정 덕분에 트랜스포머는 각 단어의 문맥적 의미를 파악하고, 전체 문장이나 문서의 의미를 더 정확하게 이해할 수 있다. 예를 들어, "은행"이라는 단어가 '돈'이나 '계좌'와 함께 사용되면 금융기관으로서의 의미가 강조되지만, '나무'나 '공원'과 함께 사용되면 나무로서의 의미가 강조된다.

셀프 어텐션의 장점으로는 문장 내 모든 단어 쌍 간의 관계를 직접 계산할 수 있으며, 모든 단어를 동시에 처리할 수 있어 계산 속도가 빠르다. 또한, 어텐션 가중치를 시각화하여 모델의 동작 과정을 이해할 수 있어 해석 가능성이 높다. 예를 들어, "나는 맛있는 사과를 먹었다"라는 문장에서 '맛있는'이라는 단어는 '사과'와의 관계가 가장 깊다고 판단되어, 전체 문장의 의미를 정확히 이해할 수 있다.

이외에도 트랜스포머는 여러 가지 혁신적인 특징을 가지고 있다. 첫째, 병렬 처리 능력으로 문장의 모든 단어를 동시에 처리할 수 있어 학습 속도가 매우 빠르다. 이는 대규모 데이터셋에서의 학습을 가능하게 하여 모델의 성능 향상으로 이어진다. 둘째, 장거리 의존성 문제를 해결할 수 있는 셀프 어텐션 메커니즘 덕분에 문장 내 멀리 떨어진 단어들 간의 관계를 효과적으로 모델링할 수 있다. 셋째, 트랜스포머는 인코더디코더라는 두 가지 주요 구성 요소로 이루어져 있다. 인코더는 입력 데이터를 변환하여 컴퓨터가 이해할 수 있는 형태로 만들고, 디코더는 이 정보를 바탕으로 원하는 출력을 생성한다. 트랜스포머의 큰 장점 중 하나는 인코더와 디코더의 수를 조절할 수 있는 유연성이다. 이를 통해 버트(인코더만 사용)나 GPT(디코더만 사용)와 같은 다양한 모델들이 발전할 수 있었다.

넷째, 전이 학습의 용이성으로 대규모 데이터로 사전 학습된 모델을 다양한 하위 태스크에 쉽게 적용할 수 있다. 이는 자연어 처리 분야에서 전이 학습의 확산을 가져왔고, 적은 데이터로도 높은 성능을 달성할 수 있게 했다. 다섯째, 셀프 어텐션 가중치를 시각화하여 모델의 결정 과정을 이해할 수 있어, AI의 처리 과정을 확인하거나 '블랙박스' 문제를 일부 해결하고 모델의 신뢰성을 높인다. 이러한 특징 덕분에 트랜스포머는 법률 문서 분석에서 긴 계약서를 한 번에 처리하고, 멀리 떨어진 조항들 간의 관계를 파악할 수 있다. 또한, 의료 분야에서는 환자의 긴 병력을 분석하여 현재 증상과 과거 병력 사이의 연관성을 찾아낼 수 있다.[6][7]

구조 및 원리

트랜스포머의 내부 구조는 크게 인코더 블록과 디코더 블록으로 나뉜다. 인코더 블록은 두 개의 층으로 구성되며, 멀티 헤드 어텐션과 피드 포워드 신경망으로 이루어져 있다. 디코더 블록은 세 개의 층으로 나뉘며, 마스크드 멀티 헤드 어텐션, 기본 멀티 헤드 어텐션, 그리고 피드 포워드 신경망으로 구성된다.

트랜스포머 구조1.png
  • 위치 인코딩(Positional Encoding)
RNN은 입력 단어들을 순차적으로 처리하지만, 트랜스포머는 단어들을 순차적으로 처리하지 않는다. 따라서, 각 단어의 임베딩 벡터에 위치 정보를 추가하여 모델에 입력하는 방식인 위치 인코딩(Positional Encoding)을 사용한다.
트랜스포머 구조2.png
  • 셀프 어텐션(Self Attention)
셀프 어텐션 메커니즘은 디코더에서 출력 단어를 예측할 때마다 인코더의 전체 입력 문장을 다시 참조하는 방식이다. 예측하는 단어와 관련 있는 단어에 더 집중하여 참조한다. 먼저, 입력된 문장은 워드 임베딩을 통해 벡터로 변환되며, 인코더 블록의 어텐션 레이어로 전달된다. 이후, 학습할 가중치 벡터를 곱하여 쿼리(Query), 키(Key), 값(Value)라는 세 가지 새로운 벡터를 생성한다.[8]
트랜스포머 구조3.png
각 쿼리 벡터는 다른 단어들의 키 벡터와 곱해져서 각 단어의 중요도를 점수화한다. 이렇게 얻어진 값들은 계산의 편의를 위해 키 벡터의 크기의 제곱근으로 나누어지고, 소프트맥스(Softmax) 함수를 통해 합이 1이 되도록 한다. 이후 각 단어의 값 벡터와 곱하고 모두 더하면 셀프 어텐션 값이 생성된다.
트랜스포머 구조4.png
이 출력은 입력된 단어의 의미뿐만 아니라 문장 내 다른 단어와의 관계도 포함된다. 기존 NLP 알고리즘들은 문맥을 이해하기 어렵거나 단어 간 거리가 짧을 때만 이해할 수 있었지만, 셀프 어텐션는 쿼리와 키 벡터의 연산을 통해 먼 거리의 단어 간 관계도 계산할 수 있어, 모델이 문장을 어떻게 해석하는지 시각적으로 파악하기 용이하다.
  • 다중 헤드 어텐션(Multi-Head Attention)
단일 어텐션을 사용하는 것보다 여러 번의 어텐션을 병렬로 수행하면 다양한 관점에서 정보를 수집할 수 있으며 문맥을 더 잘 이해할 수 있다. 따라서 트랜스포머는 다중 헤드 어텐션 구조를 활용한다. 병렬로 수행된 어텐션 연산을 통합한 후 가중치 행렬을 곱하여 최종 행렬을 생성한다.
트랜스포머 구조5.png
  • 피드 포워드(Feed Forward)
피드 포워드 신경망은 인코더와 디코더에서 공통적으로 포함된 서브 층으로, 완전 연결층(Fully connected layer)으로 구성된 신경망이다. 어텐션의 결과를 집계하여 전달하는 역할을 수행한다.[9]

등장 이후의 변화

트랜스포머의 등장은 인공지능, 특히 자연어 처리 분야에 큰 변화를 가져왔다. 먼저, GPT, 버트, T5 등 트랜스포머 기반의 대규모 언어 모델들이 등장하였고, 이들 모델은 다양한 자연어 처리 태스크에서 인간 수준의 성능을 달성하거나 그 이상을 보여주었다. 또한, 사전 학습된 대규모 모델을 다양한 하위 태스크에 적용하는 방식이 일반화되었으며, 이는 적은 양의 데이터로도 높은 성능을 달성할 수 있게 해, 인공지능 기술의 접근성을 크게 높였다. 트랜스포머의 개념은 이미지, 비디오, 음성 등 다양한 데이터 유형에도 적용되기 시작했으며, 달리(DALL-E), 스테이블디퓨전(Stable Diffusion) 같은 텍스트-이미지 생성 모델이나 위스퍼AI(WhisperAI) 같은 음성 인식 모델이 등장하였다. GPT와 같은 모델들은 글쓰기, 코딩, 창의적 문제 해결 등에서 놀라운 능력을 발휘했으며, 이는 AI가 단순 작업 자동화를 넘어 창의적 영역으로 확장될 수 있음을 시사한다. 트랜스포머 기반 모델의 뛰어난 성능은 다양한 산업 분야에서 AI 도입을 가속화했으며, 고객 서비스, 콘텐츠 생성, 데이터 분석 등 여러 영역에서 AI의 활용이 크게 증가하였다.[6]

응용 분야

트랜스포머는 자연어 처리, 대화 시스템, 컴퓨터 비전, 음성 처리, 생물정보학, 추천 시스템, 시계열 예측 등의 분야에서 활용될 수 있다.

주요 응용 분야 설 명
자연어 처리
  • 기계 번역 : 구글 번역 등의 서비스에서 번역 품질을 크게 향상시켰다.
  • 텍스트 요약 : 긴 문서를 간결하게 요약하는 데 사용된다.
  • 질의응답 시스템 : 주어진 질문에 대해 적절한 답변을 찾거나 생성한다.
  • 감성 분석 : 텍스트의 감정이나 의견을 분석한다.
대화 시스템
  • 챗GPT와 같은 대화형 AI의 기반 기술로 활용된다.
  • 고객 서비스 챗봇, 가상 비서 등에 사용된다.
컴퓨터 비전
  • 이미지 캡션 생성 : 이미지를 설명하는 문장을 자동으로 생성한다.
  • 객체 검출 및 세그멘테이션 : 이미지 내 객체를 식별하고 분할한다.
  • 이미지 생성 : 텍스트 설명을 바탕으로 이미지를 생성한다.
음성 처리
  • 음성 인식 : 음성을 텍스트로 변환한다.
  • 텍스트 음성 변환 : 텍스트를 자연스러운 음성으로 변환한다.
생물정보학
  • 단백질 구조 예측 : 트랜스포머를 사용하여 단백질 구조를 예측한다.
  • 유전체 분석 : DNA 서열 분석에 활용된다.
추천 시스템
  • 사용자의 행동 시퀀스를 분석하여 개인화된 추천을 제공한다.
시계열 예측
  • 금융 시장 추이, 기상 환경 변화 등 복잡한 조건을 예측하는 데 활용된다.

이미지 처리

트랜스포머는 자연어 처리 분야에 그치지 않고 최근에는 이미지 처리 분야에서도 두각을 나타내고 있다. 이러한 트랜스포머 기반 이미지 처리 기술 중 하나가 비전 트랜스포머(Vision Transformer, ViT)이다. ViT는 기존의 CNN(Convolutional Neural Network) 기반 기술과는 다른 접근 방식을 채택하고 있다. 이 기술은 이미지를 패치(patch) 단위로 나누고 이를 행렬 형태로 변환하여 트랜스포머의 인코더에 입력하는 방식이다. 이 과정에서 트랜스포머의 어텐션 메커니즘을 활용하여 이미지 내 다양한 위치 간의 상호 의존성과 전체적인 글로벌 특징을 효과적으로 포착할 수 있다. CNN 기반 기술과 비교할 때, ViT는 입력 이미지의 크기와 관계없이 일관된 성능을 유지하며, 적은 수의 파라미터로도 높은 정확도를 보인다. ViT의 기술적 발전은 이미지 분류, 객체 검출, 분할 등 여러 이미지 처리 작업에서 큰 영향을 미치고 있다. 앞으로 트랜스포머를 활용한 이미지 처리 기술의 발전은 더욱 향상된 이미지 인식 및 분류 기술 개발에 기여할 것으로 기대된다.

또한, 최근에는 텍스트를 입력하여 이미지를 생성하는 모델들인 달리2(DALL·E 2)와 스테이블디퓨전(Stable Diffusion)에서도 트랜스포머가 사용되고 있다. 이들 모델은 기본적으로 이미지에 노이즈를 추가한 후, 이를 복원하는 과정에서 최적의 가중치를 학습한다. 복원 과정에서 단순히 이미지를 복원하는 것이 아니라, 주어진 텍스트 정보를 바탕으로 해당 이미지를 복원하는 방향을 찾아가는 방식을 채택한다. 여기서 트랜스포머는 텍스트의 의미를 이해하고, 텍스트와 이미지 간의 상호작용을 모델링하는 데 중요한 역할을 한다. 이로 인해, 텍스트 기반의 이미지 생성에서 뛰어난 성과를 거두고 있다.[10][11]

한계

트랜스포머는 본래 오픈AI비디오 생성 모델 소라(Sora)의 기반이 될 만큼 최첨단 모델로 알려져 있다. 또한 앤트로픽(Anthropic)의 클로드(Claude), 구글(Google)의 제미나이(Gemini), 그리고 GPT-4와 같은 텍스트 생성 모델의 핵심 기술이기도 하다. 하지만 트랜스포머는 점차 기술적 한계와 연산 문제에 직면하게 되었다. 특히, 트랜스포머는 기존 하드웨어 기술 한계 내에서는 방대한 양의 데이터를 효율적으로 처리하는 데 어려움을 겪고 있다.

구체적으로 트랜스포머의 핵심 구성 요소인 셀프 어텐션 메커니즘은 입력 시퀀스의 모든 단어 쌍 간의 관계를 계산하는 방식으로 동작한다. 이 과정에서 발생하는 계산 복잡도는 입력 시퀀스 길이에 대해 제곱에 비례한다. 즉, 시퀀스 길이가 길어질수록 계산량이 급격히 증가하게 된다. 셀프 어텐션의 시간 복잡도는 O(n²)이며, n은 시퀀스의 길이이다. 긴 시퀀스를 처리할 때는 이로 인해 모델의 학습과 추론 시간이 상당히 늘어나게 된다. 또한 셀프 어텐션 메커니즘은 입력 시퀀스의 모든 쌍에 대해 어텐션 점수를 계산하고 이를 저장해야 한다. 이로 인해 메모리 사용량이 급격히 증가할 수 있다. 특히 긴 문서나 긴 시퀀스를 처리할 때는 메모리 요구량이 큰 문제가 될 수 있다.

트랜스포머 모델은 대규모 데이터와 많은 학습 자원을 필요로 한다. 이는 모델이 높은 성능을 발휘하기 위해서는 대량의 데이터와 강력한 컴퓨팅 파워가 필수적이라는 것을 의미한다. 트랜스포머 모델은 일반적으로 대규모 데이터셋에서 학습되며, 이는 모델의 성능을 향상시키기 위해 필요하다. 그러나, 데이터 수집과 전처리는 비용이 많이 들고, 데이터의 품질과 양이 모델의 성능에 직접적인 영향을 미친다. 더불어 대규모 트랜스포머 모델을 학습시키는 데는 상당한 계산 자원이 필요하다. 최신 트랜스포머 모델은 수백만에서 수십억 개의 파라미터를 가지며, 이를 학습시키기 위해서는 강력한 GPU 또는 TPU 클러스터가 필요하다. 이러한 자원은 비용이 많이 들며, 연구자와 개발자들에게 부담이 될 수 있다.

결과적으로 고성능 연산을 위해 트랜스포머가 점점 더 많은 자원을 요구하면서 전력 수요 또한 급증하고 있는 상황이다. 이런 이유로, 트랜스포머만으로는 앞으로의 생성형 AI 발전을 지속하기 어렵다는 우려가 제기되고 있다. 이러한 상황에서 대안으로 떠오른 것이 바로 TTT와 SSM이다.

대안 기술

TTT

TTT스탠포드, UC 샌디에고, UC 버클리, 그리고 메타(Meta) 연구진이 1년 반에 걸쳐 공동 개발한 결과물이다. 연구진은 TTT 모델이 트랜스포머보다 훨씬 더 많은 데이터를 처리할 수 있으며, 컴퓨팅 성능의 소모도 훨씬 적다고 주장한다.

트랜스포머의 핵심 구성 요소는 '숨겨진 상태'라고 불리는 긴 데이터 목록이다. 트랜스포머는 데이터를 처리할 때 이 '숨겨진 상태'에 정보를 추가해가며 작업을 수행한다. 예를 들어, 모델이 책을 읽을 때 단어 또는 단어의 일부 표현을 '숨겨진 상태'에 저장하는 방식이다. 이와 관련해 연구진은 트랜스포머의 '숨겨진 상태'를 중첩된 AI 인형이나 '모델 내의 모델'과 같은 기계 학습 모델로 대체하는 아이디어를 제시했다. 이로 인해 전체 조회 테이블을 모두 스캔하지 않고도 일부 분리된 테이블만으로도 원하는 값을 연산할 수 있게 된 것이다. 이는 신경망 안에 또 다른 신경망을 추가하는 방식으로 비유될 수 있다. 이렇게 TTT 모델의 중첩된 '내부 기계 학습 모델' 덕분에, 기존 트랜스포머와 달리 TTT는 더 많은 데이터를 처리하면서도 전체 조회 테이블이 커지지 않는다. 처리된 데이터는 '가중치'라는 대표 변수로 인코딩되기 때문이다. 이러한 특성 덕분에 TTT 모델의 성능이 향상될 수 있다. TTT는 처리하는 데이터 양에 상관없이 내부 모델의 크기가 변하지 않는 원리로 동작한다.

스탠포드 연구팀은 TTT 모델이 단어, 이미지, 오디오, 비디오 등 수십억 개의 데이터를 효율적으로 처리할 수 있을 것이라고 전망하며, 이는 오늘날의 트랜스포머 모델을 능가하는 성능을 발휘할 것이라고 언급했다. TTT 모델이 트랜스포머를 대체할 수 있을지에 대해서는 아직 연구가 더 필요하다. 연구팀은 현재 TTT를 대형 트랜스포머와 직접 비교할 수 없는 소규모 연구용 모델로만 개발했기 때문에, 당장 트랜스포머를 대체하기는 어렵다고 보고 있다. 그러나 이들은 TTT가 데이터 연산 효율성을 높일 수 있는 혁신적인 아이디어라는 점에서 기대를 걸고 있다. 트랜스포머의 대안을 찾기 위한 연구가 활발해지면서 이러한 혁신적 기술들이 더욱 발전할 것으로 보인다.[12]

SSM

연구자들 사이에서 트랜스포머를 대신할 새로운 패러다임으로 상태 공간 모델(SSM, State Space Model)이 주목받고 있다. SSM은 원래 제어공학과 신호처리 분야에서 사용되던 모델로, 다변수 입력과 출력을 다룰 수 있으며 행렬로 표현 가능하다는 특징을 가지고 있다. 스탠포드 대학교의 크리스토퍼 리(Christopher Re) 교수팀이 SSM을 딥러닝에 접목시키는 연구를 주도하고 있다. SSM을 딥러닝에 적용하려면 연속형 변수를 이산형으로 변환하는 과정이 필요하다. 이를 위해 오일러 방법(Euler's Method), 이중선형 방법(Bilinear Method), ZOH 방법(ZOH Method) 등 다양한 이산화 기법이 활용되고 있다. 성공적으로 이산화된 SSM 모델은 트랜스포머에 비해 여러 가지 장점을 제공할 수 있다. 예를 들어, SSM은 장거리 의존성 문제를 효과적으로 해결할 수 있는데, 이는 모델 내 정보의 흐름이 시간에 따라 연속적으로 이루어지기 때문이다. 이로 인해 계산 효율성이 개선되고, 메모리 사용량도 크게 줄일 수 있다.

알버트 구(Albert Gu)는 고차 다항식 투영 연산자(HiPPO, High-order Polynomial Projection Operator) 행렬을 활용해 SSM 모델의 장거리 의존성 처리 능력을 크게 향상시켰다. 벤치마크 테스트(benchmark test)에서 트랜스포머의 어텐션 메커니즘보다 더 우수한 성능을 보였다고 한다. 또한, SSM은 순환 모드(Recurrent Mode)와 컨볼루션 모드(Convolution Mode) 두 가지 작동 모드를 지원한다. 순환 모드는 추론 시 빠른 속도를 제공하며, 컨볼루션 모드는 학습 시 병렬 처리에 최적화되어 있어, 두 모드를 선택적으로 사용함으로써 속도와 효율성을 동시에 극대화할 수 있다. SSM은 메모리 사용량 측면에서도 트랜스포머에 비해 큰 이점을 가지고 있다. 트랜스포머는 입력 시퀀스 길이의 제곱에 비례하는 O(N^2) 메모리 복잡도를 가지는 반면, SSM은 O(N+L) 수준으로 훨씬 적은 메모리를 사용한다. 여기서 N은 상태 차원(state dimension), L은 시퀀스 길이(sequence length)를 의미한다.

하지만 SSM이 만능은 아니다. 선형 시간 불변(LTI, Linear Time Invariant) 기반으로 학습한 SSM 모델들의 성능은 아직 트랜스포머를 뛰어넘지 못하고 있다. LTI는 모든 토큰을 빠짐없이 읽어야 하며, 한 번 읽은 내용을 잊지 못한다는 특성 때문에 비효율이 발생할 수 있다. 예를 들어, 웹 문서의 불필요한 부분을 건너뛰지 못하고 문맥이 바뀌어도 이전 내용을 계속 기억해야 하는 상황이 발생할 수 있다. 이러한 문제를 해결하기 위해 최근에는 LTI를 과감히 포기하고 순환 모드(Recurrent Mode)에 집중하는 연구가 이루어지고 있다. 또한 SSM 학습 방법 자체를 개선하려는 노력도 계속되고 있다. 연관 스캔(Associate Scan)이라는 병렬 계산 기법을 활용해 Recurrent Mode에서도 병렬 처리가 가능하도록 하는 시도가 대표적이다. Associate Scan은 프리픽스 합(prefix-sum) 연산을 이진 트리 구조(binary tree structure)로 구현해 병렬화를 달성한다. 트리의 루트(root)에서 리프(leaf)까지 값들이 전파되면서 중간 노드(nodes)들의 부분합(partial sum)이 동시다발적으로 계산되는 방식이다.

그리핀 아키텍처(Griffin architecture)는 선형 스캔(Linear Scan)이라는 기법으로 숨겨진 상태(hidden state)를 가상 메모리(virtual memory)에 저장하고, 청크 크기(chunk size)를 늘려 성능을 끌어올렸다고 한다. 이는 잭스-트리톤(Jax-triton)을 기반으로 한 커스텀 팔라스 커널(custom Pallas Kernel)을 통해 구현되었다고 한다. 최근에는 렛넷(RetNet)이나 맘바(Mamba)와 같은 혁신적인 SSM 아키텍처들이 등장하고 있다. 이들은 SSM의 장점을 유지하면서도 트랜스포머의 강점을 흡수하려고 노력하고 있다. 렛넷은 선형 어텐션(Linear Attention)을 SSM에 결합한 형태로, 기존 SSM과 트랜스포머 모델의 장점을 결합한 것이다. 맘바는 ZOH 기법으로 이산화하면서도 연속적 요소를 일부 남겨두는 독특한 아키텍처를 채택했으며, 플래쉬어텐션(FlashAttention)에서 영감을 받아 파라미터(parameters)는 고대역폭 메모리(HBM, High-Bandwidth Memory)에, 히든 스테이트는 GPU 온칩 메모리(on-chip memory)에 저장하는 메모리 최적화 기법도 도입했다.

그럼에도 불구하고, 현재까지는 대부분의 태스크(task)에서 트랜스포머가 우위를 점하고 있다. 특히 시퀀스의 특정 부분을 정확히 복사하거나 검색하는 능력, 문맥 내 언어 이해력 측면에서는 SSM이 트랜스포머를 따라잡기 어려운 상황이다. 트랜스포머는 어텐션 메커니즘을 통해 이전 토큰들의 조합을 고려하며, 이를 바탕으로 문맥에 적합한 표현(representation)을 학습할 수 있기 때문이다. 하지만 SSM의 빠른 발전 속도와 잠재력을 고려하면, 가까운 미래에 트랜스포머를 대체할 가능성도 충분히 예상할 수 있다. 현재도 많은 연구자들이 새로운 아키텍처를 개발하기 위해 노력하고 있으며, 앞으로 트랜스포머와 SSM, 그리고 새로운 모델들 간의 경쟁은 더욱 치열해질 것이다.[13]

각주

  1. 인공 지능에서 트랜스포머란 무엇인가요?〉, 《AWS》
  2. 트랜스포머 (기계 학습)〉, 《위키백과》
  3. 체리비, 〈Transformer 모델이란? : AI 혁신을 주도하는 트랜스포머 알고리즘〉, 《슈퍼비AI》, 2023-07-15
  4. 정한영 기자, 〈(스페셜리포트) 트랜스포머 모델, 다양한 산업에서 인공지능 혁신!...‘트랜스포머 AI' 시대로〉, 《인공지능신문》, 2022-04-06
  5. NVIDIA Korea, 〈트랜스포머 모델이란 무엇인가? (1)〉, 《엔비디아》, 2022-04-01
  6. 6.0 6.1 6.2 <지식 사전> 트랜스포머(Transformer)가 뭔데? AI 혁명의 핵심 모델, 알기 쉽게 들여다보기〉, 《카클로그》, 2024-07-03
  7. NVIDIA Korea, 〈트랜스포머 모델이란 무엇인가? (2)〉, 《엔비디아 블로그》, 2022-04-01
  8. 딥 러닝을 이용한 자연어 처리 입문 - 16-01 트랜스포머(Transformer)〉, 《위키독스》
  9. 고려대학교 IT경영학회 ITS, 〈트랜스포머(Transformer) 알고리즘〉, 《브런치스토리》, 2023-03-20
  10. 박경아, 〈AI 혁신을 주도하고 있는 트랜스포머 알고리즘 - 트랜스포머(Transformer) 알고리즘이란?〉, 《브런치스토리》, 2023-08-17
  11. 뉴디라, 〈트랜스포머(Transformer)란? 트랜스포머 쉬운 설명〉, 《티스토리》, 2023-03-30
  12. 전윤미 기자, 〈‘TTT’, SSM이 곧 기존 트랜스포머 대체?〉, 《애플경제》, 2024-07-18
  13. 트랜스포머는 대체될 수 있는가 (feat. SSM)〉, 《모두의연구소》, 2024-04-19

참고자료

같이 보기


  검수요청.png검수요청.png 이 트랜스포머 문서는 인공지능 기술에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.