※ 본 포스트는 Coursera 강의인 "Generative AI with Large Language Models"의 Week 1의 내용의 일부를 정리하고 필요한 내용을 추가하여 작성한 글입니다.
순환신경망(RNN)이 처음 등장하였을 때는 시간에 따른 데이터의 패턴을 학습하는 능력으로 인해 매우 유용하게 사용되었습니다. 하지만 RNN이 생성을 잘하기 위해서는 많은 연산량과 메모리를 필요로 한다는 단점이 있었으며, 단순히 이전 몇 개의 단어를 통해 다음 단어를 예측하는 방식은 생성 과제를 제대로 수행하기는 힘들었습니다. 모델은 몇 개의 단어만이 아니라, 전체 문장, 문단, 더 나아가 문서까지도 이해해야하며, 언어는 동음이의어, 구조적 중의성 등의 복잡한 요소들이 많았기 때문에 RNN으로는 한계가 존재하였습니다.
Transformer 구조가 2017년에 등장하면서, Self-attention을 통해 단어 간의 관계를 학습하여 문맥을 이해하는 능력을 갖추게 되고, 효율적인 모델 확장과 병렬 처리가 가능해지면서 Transformer는 언어 모델의 기반이 됩니다. 아래의 그림은 트랜스포머의 상세 내용을 배제하고 인코더-디코더 작동 방식을 보여주고 있습니다.
Transformer는 인코더-디코더 구조로 이루어져 있으며, 인코더는 인풋에 대한 문맥적 이해를 인코딩한 벡터를 만들어내고, 디코더는 인풋을 받아서 이를 기반으로 새로운 토큰을 생성합니다. 이러한 인코더, 디코더 각각 다른 성격으로 인해 이를 활용하여 만들어진 언어 모델들은 크게 인코더만 사용한 모델, 디코더만 사용한 모델, 그리고 트랜스포머의 구조를 그대로 인코더-디코더를 사용한 모델, 이렇게 세가지로 분류해 볼 수 있습니다.
Encoder-only LLM
- Autoencoding models
- Masked Language Modeling: 인풋 시퀀스의 토큰이 랜덤하게 마스크 처리되고, 마스크 토큰을 예측하여 원래 시퀀스로 복구하도록 하는 것이 목표 (Denoising objective)
- 인풋 시퀀스를 양방향으로 표현할 수 있기 때문에, 이전 단어를 기반으로 단어를 예측하는 것이 아니라 전체 문맥을 기반으로 토큰을 예측함
- 문장 분류, 감정 분류, NER, 단어 분류 등에 사용됨
- 대표적으로 BERT, RoBERTa
Decoder-only LLM
- Autoregressive models
- Causal language modeling: 이전 단어 시퀀스에 기반하여 다음 단어를 예측함
- 단방향으로 토큰을 예측하기 때문에, 모델은 언어에 대한 통계적인 표현을 만들어냄
- 텍스트 생성에 사용
- 대표적으로 GPT, BLOOM
Sequence-to-Sequence LLM
- 모델마다 사전 훈련 목표가 다름
- T5 모델은 인풋 토큰의 시퀀스를 랜덤하게 마스크 처리하는 span corruption을 사용하여 인코더를 훈련함
- 마스크된 시퀀스는 Sentinel token으로 대체됨
- Sentinel token은 단어 사전에 추가가 되지만, 텍스트 내 실제 단어는 아님
- 마스크 토큰 시퀀스는 이전 토큰에 기반하여 복원되도록 디코더를 훈련함
- 결과는 Sentinel token에 이어지는 예측된 토큰임
- 번역, 요약, 질의응답에 사용 (텍스트 덩어리가 인풋-아웃풋으로 있는 태스크)
- 대표적으로 T5, BART
생성 모델의 인기가 급상승하면서, 다양한 디코더 기반의 생성 모델이 등장하는 것을 볼 수 있습니다. 인코더 기반 모델은 이에 비해 적지만, 여전히 텍스트 분류 등의 과제에 유용하게 쓰이고 있습니다.
'Research > NLP' 카테고리의 다른 글
LoRA 이해하기(Low-Rank Adaptation of Large Language Models) (0) | 2023.07.16 |
---|---|
Generation Configuration - 생성 인퍼런스에 사용되는 config 이해하기 (0) | 2023.07.16 |
[LLM 모음] Llama와 Alpaca (0) | 2023.06.11 |
[LLM 모음] InstructGPT의 훈련 과정 알아보기 (feat. RLHF) (1) | 2023.06.04 |
강화학습과 InstructGPT - part 1 (0) | 2023.05.28 |