AI 트렌드 & 활용

트랜스포머(Transformers), LLM(Large Language Model), 자연어 처리 기반 모델

azzaman 2023. 8. 29. 10:51

트랜스포머는 AI 및 머신러닝, 자연어처리 분야에서 많은 것을 가능케 하는 모델입니다. 트랜스포머는 텍스트를 번역하고, 시를 쓰고, 사설이나 논문을 작성하며 심지어 컴퓨터 코드를 생성할 수 있게 하는 기반 모델입니다. 이 모델은 GPT-3, BERT, T5, Switch, Meena 등 강력한 자연어 처리(NLP) 모델의 기반 모델입니다. 

트랜스포머란?
트랜스포머는 신경망 아키텍처(neural network architecture) 의 한 종류입니다. 신경망은 이미지, 비디오, 음성 및 텍스트와 같은 복잡한 데이터 유형을 분석하는 데 효과적인 모델입니다. 하지만 데이터 유형에 따라 최적화된 다양한 유형의 신경망이 있습니다. 예를 들어 이미지 분석에는 *컨볼루션 신경망(CNN)을 주로 사용합니다. 하지만 오랜 기간 동안 언어 작업(번역, 텍스트 요약, 텍스트 생성, 개체명 인식 등)에 대해 유용한 모델이 없었습니다. 인간이 의사 소통하는 주요 방법인 언어에 대한 좋은 솔루션이 잘 만들어지지 않았던 것이죠.
 (*컨볼루션은 하나의 함수를 다른 함수와 겹치게 하여 새로운 함수를 생성하는 작업)

기존 모델: 순환 신경망(RNN)
트랜스포머가 2017년에 등장하기 전까지 텍스트 이해에 사용되던 모델은 순환 신경망(RNN)이었습니다. RNN은 단어를 한 번에 하나씩 처리하여 문장을 번역하는 모델이었습니다. 하지만 RNN은 긴 단락이나 에세이와 같은 긴 텍스트 시퀀스를 처리하는 데 어려움이 있었습니다. 또한 학습과 병렬화에도 잘 맞지 않았습니다. 

트랜스포머의 등장
트랜스포머는 2017년 Google과 토론토 대학의 연구원들에 의해 개발되었습니다. 트랜스포머는 기존 모델과 달리 병렬화가 효율적으로 이루어질 수 있는 구조를 가졌습니다. 이를 통해 큰 규모의 모델을 효과적으로 학습시킬 수 있었습니다. 거의 사람과 같게 텍스트를 생성할 수 있게 된 GPT-3 같은 대규모 모델은 거의 모든 공개 웹 데이터를 포함한 약 45TB의 텍스트 데이터로 훈련되었습니다.

트랜스포머 작동 방식
위치 부호화(Positional Encodings): 아래의 예와 같이, 텍스트 번역 시 단어의 순서를 이해하기 위해 입력 시퀀스에 각 단어의 위치 정보를 부여합니다. 이를 통해 트랜스포머는 단어 순서를 데이터 자체에 저장하고 이를 학습합니다.
 

[("Dale", 1), ("says", 2), ("hello", 3), ("world", 4)]

 
어텐션(Attention): 어텐션은 단어를 번역할 때 텍스트 모델이 원본 문장의 모든 단어를 보고 집중할 지 즉 "Attending"할지를 고려하도록 만든 메커니즘입니다. 어텐션은 모델이 입력 문장 내 모든 단어를 살펴보며 각 단어의 중요도를 계산합니다. 예를 들어 트랜스포머가 "européenne"이라는 단어를 출력할 때 "European"과 "Economic" 단어에 집중하여 이를 번역합니다. (아래 이미지 참고)


셀프 어텐션(Self-Attention): 셀프 어텐션은 트랜스포머 모델의 핵심 개념 중 하나로, 입력 문장 내에서 각 단어가 다른 단어와 어떻게 상호작용하는지를 이해하는 방법입니다. 어텐션은 주어진 문장의 주변 단어를 고려하여 의미와 패턴을 이해합니다. 이를 통해 모델은 문맥 속에서 단어의 의미를 파악하며, 특정 작업에 적합한 내부 표현을 학습합니다.

트랜스포머의 활용
트랜스포머를 기반으로 한 모델 중 하나는 BERT입니다. BERT는 "Bidirectional Encoder Representations from Transformers"의 약자로, 구글 연구원들에 의해 개발되었습니다. BERT는 주로 자연어 처리 프로젝트에 사용되며, 텍스트 요약, 질문 응답, 분류, 개체명 인식 등 다양한 작업을 해결할 수 있습니다. GPT-3(OpenAI)와 Meena(by Google Research)는 텍스트 생성 및 대화 기능을 갖춘 모델로 성능면에서 큰 주목을 받았습니다.
Transformers는 또한 음악을 작곡하고, 텍스트 설명에서 이미지를 생성하고, 단백질 구조를 예측하는 등, 자연어 처리(Natural Language Processing, NLP) 이외의 영역에서도 큰 파장을 일으키고 있습니다.

트랜스포머의 활용 방법
트랜스포머를 자신의 애플리케이션에서 사용하려면 TensorFlow Hub에서 BERT와 같은 모델을 다운로드하거나, HuggingFace가 제공하는 "Transformers" 라이브러리를 활용할 수 있습니다. 이 라이브러리를 사용하면 BERT, Roberta, T5, GPT-2와 같은 다양한 NLP 모델을 쉽게 훈련하고 사용할 수 있습니다.


이 내용은 아래 아티클의 요약입니다. 2021년 기준 정보이나 핵심적인 내용이 잘 포함되어 있습니다.
Transformers, Explained: Understand the Model Behind GPT-3, BERT, and T5
 
관련 참고 자료
The Illustrated Transformer

The Illustrated Transformer

Discussions: Hacker News (65 points, 4 comments), Reddit r/MachineLearning (29 points, 3 comments) Translations: Arabic, Chinese (Simplified) 1, Chinese (Simplified) 2, French 1, French 2, Italian, Japanese, Korean, Persian, Russian, Spanish 1, Spanish 2,

jalammar.github.io

YouTube - Transformers, explained: Understand the model behind GPT, BERT, and T5