Encoder-Decoder
T5 (Encoder-Decoder 모델):
T5는 입력 데이터를 처리하는 부분과 출력 데이터를 생성하는 부분으로 나뉘어진 encoder와 decoder를 포함하는 모델입니다. T5의 주요 특징은 다양한 텍스트-텍스트 작업을 수행할 수 있는 일반적인 프레임워크를 제공한다는 것입니다.
장점:
- 다양한 텍스트 관련 작업에 적용 가능하며, 하나의 모델로 여러 작업을 처리할 수 있습니다.
- Encoder와 Decoder의 구조로 인해 입력과 출력 사이의 관계를 잘 모델링할 수 있습니다.
- encoder에서는 bidirectional하게 input을 볼 수 있기 때문에 fill in the blank와 같은 문제에 큰 강점이 있을 것
- 특정 task에 맞추어 학습시킬 때는 매우 유리 → input의 분포가 변화하는 것이 적을 경우
단점:
- 복잡한 구조로 인해 모델 학습 및 훈련에 더 많은 계산 자원과 시간이 필요할 수 있습니다.
- Encoder와 Decoder 간의 피드포워드 특성 때문에 문장 길이가 길어질수록 성능이 감소할 수 있습니다.
Decoder-only
GPT (Decoder Only 모델):
GPT는 기본적으로 텍스트 생성 작업을 위해 설계된 디코더만을 가진 모델입니다. 이 모델은 텍스트의 일정 부분을 입력으로 받아 그 다음에 오는 텍스트를 생성합니다. GPT 모델은 단방향 피드포워드 네트워크로서, 텍스트를 한 방향으로 처리하면서 문맥을 이해하고 생성합니다.
장점:
- 생성 작업에 특화되어 있어 문장을 자연스럽게 생성하는 능력이 뛰어납니다.
- 모델 구조가 단순하고 학습이 비교적 빠르며, 작은 데이터셋에서도 좋은 결과를 얻을 수 있습니다.
- 학습을 위한 input ids가 encoder 혹은 decoder 어디에 입력을 해주어야 하는지에 대한 결정이 필요없다
- 이에 따라 prefix를 주고 completion을 하거나 입력과 출력 자체가 모호할 때에도 사용이 가능
단점:
- 텍스트 생성 작업 이외의 작업에 대한 확장성이 제한될 수 있습니다.
- 입력과 출력 사이의 관계를 명시적으로 모델링하지 않기 때문에 특정 작업에 대한 정확도가 다소 떨어질 수 있습니다.
요약하면, T5는 다양한 텍스트 관련 작업에 적합한 encoder-decoder 모델로 다양한 작업을 단일 모델에서 처리할 수 있습니다. GPT는 주로 텍스트 생성 작업에 특화되어 있으며, 단순한 구조로 빠른 학습과 작은 데이터셋에서도 좋은 성능을 발휘할 수 있습니다. 선택은 사용하려는 작업과 요구 사항에 따라 달라질 것입니다.