목차
오늘은 트랜스포머 모델 쉽게 설명 시간을 갖도록 한다. 자연어처리 분야에서 트랜스포머 모델은 아주 자주 쓰이며, 자주 쓰일 수 밖에 없다. 데이터를 모으는 것도, 빅데이터를 처리하는 것도 개인으로서는 아주 힘든 일이기 때문에 전이학습의 일종인 트랜스포머 모델을 쓸 수밖에 없다. 트랜스포머 모델 쉽게 설명하여 어떤 과정으로 언어를 이해하고, 생성해내고 판별하는지 확인해보자.
1. 트랜스포머 모델 아키텍처
트랜스포머 transformer를 언어를 이해하고 변환하는 로봇이라고 생각하자. 이 로봇은 두 가지 중요한 도구를 가지고 있다. 인코더와 디코더. 이 두 가지를 이용해 문장을 읽고, 이해하며, 새로운 문장으로 변환한다.
1) encoder
- 로봇의 귀와 같은 역할이다. 우리가 평상시 쓰는 언어, 즉 자연어는 로봇의 귀를 통해 입력했을 때 인코더를 통해 숫자로 변환해서 기억하게 된다. 로봇의 뇌가 이해할 수 있도록 말이다.
- 입력 토큰의 시퀀스를 hidden state 또는 context라 부르는 임베딩 벡터의 시퀀스로 변환
2) decoder
- 로봇의 입과 같은 역할이다. 인코더가 이해한 내용으로 새로운 문장을 변환한다.
- 예를 들어 인코더가 로봇이 입력된 한국어 문장을 이해하도록 만들어주고나면, 디코더가 영어로 번역해 주는거다.
- 인코더의 hidden state를 사용해 출력 토큰의 시퀀스를 한 번에 하나씩 반복적으로 생성
3) attention
★ attention : 중요한 단어에 집중하여 문장 안에서 단어들의 관계를 파악하는 기능
- 기억을 잘 돕는 기능
- 트랜스포머는 로봇이 어떤 단어가 중요한지 집중하여 기억하도록 도와준다.
- 예를 들어 새가 나무에 올라가 있어요 라는 문장에서 새, 나무는 서로 중요한 관계에 있다는 것을 attention을 통해 찾아내고, 각 단어들이 서로 어떤 영향을 미치는지 계산하여 문장 전체의 의미를 더 정확하게 이해할 수 있음
4) embedding
★ embedding : 단어를 숫자로 변환하는 과정
- 해당 숫자는 단순한 숫자가 아니라, 그 단어의 의미와 위치를 잘 담고 있어서 다른 단어들과의 관계도 표현할 수 있음
- Token embedding : 단어를 숫자로 바꾸는 것 ( 숫자는 단어의 의미를 담고 있음)
- Position Embedding : 단어의 순서를 기억하는 법( 단어가 몇 번째에 있는지)
5) hidden state
★ hidden state: 단어 정보를 임시로 저장하고 문장 처리하는 동안 계속 업데이트됨
- 문장을 처리할 때 그때그때 단어들에 대한 정보를 임시로 저장할 공간이 필요함. 이러한 임시 장소를 hidden state라고 함.
- 인코더와 디코더는 문장을 처리하는 동안 각 단어에 대해 계속해서 업데이트되는 정보를 hidden state에 담아둠.
- hidden state가 단어들이 어떻게 연결되고 어떤 의미를 가지는지 계속해서 추적함
6) context
★ context : 각 단어가 문장 속에서 어떤 의미를 가지는지 알아냄
- 각 단어가 context에서 어떤 의미를 가지는지 잘 이해함
- 각 단어가 다른 단어들과 어떤 관계를 가지는지 파악하여 문장의 전체적인 문맥을 이해할 수 있음
7) 분류헤드
★ classification head : 최종 답을 내놓는 부분
- 트랜스포머가 얻은 정보를 바탕으로 최종 답을 결정하는 역할
2. 트랜스포머 모델 대표적인 유형
1) 인코더 유형
- 텍스트 시퀀스 입력을 풍부한 수치 표현으로 변환함
- BERT , DistilBERT, RoBERTa, XLM, XLM-RoBERTa, ALBERT, ELECTRA, DeBERTa
2) 디코더 유형
- OpenAI의 등장으로 디코더 모델 발전
- 다음 단어를 예측하는데 뛰어나기에 대부분 텍스트생성 작업에 사용
- GPT, GPT-2, CTRL, GPT-3, GPT-Neo / GPT-J-6B
3) 인코더-디코더 유형
- T5, BART, M2M-100, BigBird
트랜스포머 모델 쉽게 설명, transformer, 인코더, 디코더, 어텐션, hidden state, context, 분류헤드, embedding, 임베딩
'머신러닝 > 자연어처리' 카테고리의 다른 글
허깅페이스 트랜스포머 NLP 클래스 (1) | 2024.11.14 |
---|---|
자연어처리, 트랜스포머, 허깅페이스 토큰 로그인 모델 가져오기 저장하기, 미세튜닝, AutoTokenizer, transformer, confusionmatrixdisplay, 혼동행렬 시각화, trainer, trainingArguments (0) | 2024.08.25 |
자연어처리, 트랜스포머, 구글 코랩 GPU 사용 방법, T4GPU TPUv2, cls토큰 (0) | 2024.08.22 |
허깅페이스, 트랜스포머, 자연어처리, 데이터셋로드, 문자, 단어, 토큰화, AutoTokenizer (0) | 2024.08.22 |
트랜스포머, 자연어처리, pipeline, 감정분류, 개체명인식, 질문답변, 요약, 생성 (0) | 2024.08.22 |