brunch

You can make anything
by writing

C.S.Lewis

by 알바트로스 Mar 02. 2024

Transformer - 더하기가 아닌 빼기로 혁신하다

Attention is all you need

때로는 더하는 것보다 빼는 것에서 위대한 혁신이 나오죠. 꼭 필요한 기능만 남겨두고 군더더기를 모두 빼버리고 스마트폰 혁신의 아이콘이 된 아이폰처럼, 언어모델 개발에서도 빼기를 통해 혁신을 시도한 이들이 있습니다. 2017년 구글의 엔지니어와 연구자들은 그들이 발표한 논문 'Attention is all you need(어텐션만 있으면 된다)’에서 자연어 텍스트 데이터는 순차적이어야만 한다는 고정관념을 깨버렸습니다.


기존의 seq2seq 모델은 입력되는 텍스트 데이터를 순차적으로 처리한다는 구조적 한계가 있었습니다. 우리는 어텐션 메커니즘이 어떻게 기존의 seq2seq 모델의 문제점을 완화시켜줄 수 있는지 배웠습니다. 트랜스포머는 한발 더 나아가 RNN 계열의 모델에서 seq2seq을 완전히 제거해 버린 것입니다. 기존의 모델이 가진 순차성을 과감히 제거함으로써 인풋 데이터를 병렬화 하여 동시에 처리할 수 있는 기반을 마련한 것이죠.


덕분에 트랜스포머는 기계번역 태스크에서 더 빠른 학습과 더 나은 성능을 달성할 수 있었고, 이러한 트랜스포머의 장점은 이후 BERT와 GPT 등 트랜스포머 계열 기초모델을 기반으로 하는 초거대언어모델(LLM)의 발전으로도 이어지게 되며 자연어처리의 혁신을 이루게 됩니다. 트랜스포머는 최근 각광받고 있는 챗GPT의 근간이 된 GPT-3.5를 비롯한 다양한 LLM의 기초모델로 잘 알려져 있습니다.


트랜스포머 계열의 모델의 활용분야는 LLM에 한정되지 않습니다. 트랜스포머는 빠른 학습 속도와 준수한 성능 덕분에 자연어처리 뿐 아니라 시계열 데이터 분석, 음악 및 작곡과 같은 연속형 데이터(sequential data)뿐만 아니라 이미지 처리 등 다양한 태스크에서 준수한 성능을 보여주며 팔방미인의 면모를 보여주고 있습니다.


1. 트랜스포머(Transformer)는 어떻게 작동할까?



Transformer Architecture(출처 : https://pub.aimind.so/)


트랜스포머(Transformer)는 주로 자연어 처리를 위한 딥러닝 모델로, 기존의 순환 신경망(RNN)이나 장단기 메모리(Long Short-Term Memory, LSTM) 등의 순차적인 처리를 기반으로 하는 모델과는 다르게, 어텐션 메커니즘(Attention Mechanism)을 중심으로 구성됩니다. 트렌스포머는 입력 시퀀스와 출력 시퀀스 간의 관계를 직접적으로 모델링할 수 있도록 설계되어 있습니다. 트렌스포머는 다음과 같은 요소들로 구성되어 있습니다.


어텐션 메커니즘(Attention Mechanism): 지난시간에 배웠던 어텐션 메커니즘은 트랜스포머의 핵심 개념 중 하나로, 입력 시퀀스의 각 단어가 출력 시퀀스의 각 단어에 어떤 정도의 중요성을 가지는지를 계산합니다. 이를 통해 모델이 입력의 각 부분에 직접 주의를 기울일 수 있으며, 번역이나 요약과 같은 작업에서 유용합니다.


셀프 어텐션(Self-Attention): 어텐션 메커니즘의 한 종류로, 입력 시퀀스 내의 단어 간의 상호 작용을 모델링합니다. 이를 통해 트랜스포머는 입력 시퀀스 내에서의 문맥을 파악하고, 번역이나 문장 생성과 같은 작업에서 더욱 효과적으로 문맥을 이해할 수 있습니다.


인코더-디코더 구조(Encoder-Decoder Architecture): 트랜스포머는 주로 인코더와 디코더로 구성됩니다. 인코더는 입력 시퀀스를 임베딩하고, 디코더는 출력 시퀀스를 생성합니다. 이 구조를 통해 번역이나 요약과 같은 시퀀스-투-시퀀스(Seq2Seq) 작업을 수행할 수 있습니다.


포지셔널 인코딩(Positional Encoding): 트랜스포머는 입력 시퀀스의 단어들이 순서를 가지고 있지 않은데, 이를 해결하기 위해 각 단어의 위치 정보를 포지셔널 인코딩을 통해 추가합니다.


멀티 헤드 어텐션(Multi-Head Attention): 어텐션 메커니즘을 여러 개의 헤드로 분할하여 병렬로 계산함으로써 모델의 표현력을 향상시킵니다.  



2. 어텐션(attention mechanism)의 의의


이번 시간에 살펴보았듯이 어텐션 메커니즘의 도입으로 인해, seq2seq 모델은 긴 입력 시퀀스에서도 정보 손실 없이 효과적으로 작동할 수 있게 되었는데요. 특히, 복잡하고 긴 문장도 해당 문장의 중요한 부분에 정확하게 집중하여 번역이나 요약 같은 작업을 수행할 수 있게 되었다는 점에서 그 의의가 큽니다.


그뿐만 아니라 어텐션 메커니즘은 2017년 구글이 발표한 ‘attention is all you need’라는 논문의 주요 개념이 되면서 초거대 언어모델(LLM)을 비롯한 SoTA 모델들의 비약적인 성능 향상을 이루어 내는 발판이 되었습니다. 구글 엔지니어들은 기존의 복잡한 RNN 기반의 딥러닝 언어모델의 거품을 걷어내고 seq2seq 모델에서 탈피하여 오롯이 어텐션 메커니즘만을 사용하자는 과감한 시도 끝에 영어 - 독일어 기계번역에서 믿을 수 없는 성능향상을 이루어 냈습니다.


이처럼 어텐션 메커니즘은 트랜스포머(Transformer) 구조의 핵심 동작 원리로, 기존의 인코더-디코더 구조를 그대로 답습하여 이후의 BERT, GPT와 같은 초거대 언어 모델들을 탄생시키기도 했는데요. 일례로 감정 분석(sentiment analysis)과 문장 분류(classification) 등 다양한 자연어처리 태스크에서 좋은 성능을 보여준 것으로 유명한 버트 (Bidirectional Encoder Representations form Transformer, BERT)는 트랜스포머의 인코더를 여러 겹 쌓아 올린 후 태스크 용도에 맞게 미세조정(fine-tune) 하는 방식으로 작동하는 모델입니다.


마찬가지로 최근 화제가 되는 챗GPT 역시, 어텐션 메커니즘이 적용된 트랜스포머의 디코더를 활용한 GPT(Generative Pre-trained Transformer)에, 방대한 양의 데이터를 사전학습 시킨 GPT-3.5와 GPT-4.0 기반 모델에 지나지 않습니다. 어텐션 메커니즘은 모델의 거대화에도 지대한 영향을 미쳤는데, 대량의 데이터를 빠르게 처리하며 효과적인 학습이 가능해졌기 때문입니다. RNN이나 LSTM의 순환적인 구조와 달리 병렬 처리가 가능해서, 학습 속도나 추론 속도 면에서도 큰 이점을 가지게 된 덕분이죠. 따라서 어텐션 메커니즘의 등장은 현대 자연어처리의 새로운 시대를 열어준 획기적인 발전이라고 할 수 있습니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari