지난 블로그 포스팅에서는 트랜스포머의 개념과 구조, 그리고 장점에 대해서 이야기해 보았습니다.
트랜스포머 (인코더-디코더) 개념, 구조, 장점
요즘은 ChatGPT를 비롯한 생성 AI가 주목을 받고 있습니다. ChatGPT는 높은 자연어 처리 능력이 강점인데, 이를 뒷받침하는 것은 트랜스포머(Transformer)라는 기술입니다. 이번 포스팅에서는 AI를 보다
hope2solveproblems.com
그렇다면 이 트랜스포머의 파생 모델로는 어떤 것들이 있을까요? 이번 포스팅에서는 트랜스포머의 파생 모델에 대해서 집중적으로 탐구해 보도록 하겠습니다.
GPT, BERT - 트랜스포머와 파인튜닝
트랜스포머의 등장 이후 이를 기반으로 한 다양한 모델이 등장하여 널리 이용되고 있습니다.
특히 자연어 처리에서는 GPT나 BERT가 그 선구자라고 할 수 있습니다. GPT는 트랜스포머의 디코더 부분만을 이용하고 있고, 한편으로 BERT는 인코더 부분만을 이용하고 있습니다.
GPT와 같이 디코더를 기반으로 한 모델은 요약, 대화, 번역 등 계열 생성으로 간주할 수 있는 작업에 적용하기 쉬운 모델입니다.
이에 반해 BERT와 같이 인코더를 베이스로 한 모델은 벡터를 문서 분류에 이용하는 사용법이 일반적입니다. 그 밖에 고유 표현 추출 등의 계열 라벨링이나 문간 추론 관계를 예측하는 자연어 추론 등의 작업에도 BERT를 적용할 수 있습니다.
이러한 모델들은 후속 단어의 예측이나 단어의 보충 문제와 같은 추상적인 태스크를 통해 모델을 미리 훈련합니다. 그리고 그 후에 구체적인 태스크(문서 분류 등) 용으로 재학습하는 방법을 사용하고 있습니다.
미리 해두는 학습을 사전 학습(pre-training)라고 부르며 이후의 재학습을 파인 튜닝(fine-tuning)라고 부릅니다.
파인 튜닝 없이 특정 작업용으로 모델을 만드는 경우, 모델의 파라미터를 랜덤 한 값으로 초기화하여 해당 작업용으로 조정해 나가게 됩니다.
이에 반해 파인 튜닝은 모델의 초기값으로 사전 학습 후 파라미터를 이용함으로써 구체적인 작업을 위한 학습을 효율화할 수 있습니다.
BERT 모델
BERT 모델에 대해서 조금 더 자세하게 설명해 보도록 하겠습니다.
입력된 텍스트는 형태소 해석에 따라 토큰으로 나눌 수 있는데 토큰 안에는 CLS와 SEP라는 특수 토큰이 포함됩니다. CLS는 입력 텍스트의 선두에 놓이는 토큰으로, 이 토큰에 대응하는 매립 벡터를 분류를 위한 특징량으로 이용하는 것이 일반적입니다.
즉, CLS 토큰의 임베딩 벡터는 입력 텍스트 전체의 특징을 집약한 벡터가 되도록 하고 있습니다. SEP는 여러 문장이 입력되었을 때의 경계를 나타내는 토큰으로 위 그림과 같이 입력이 단문인 경우 끝에 놓입니다.
BERT의 구조를 알아두면, 이후에 소개할 Vision Transformer의 구조가 매우 이해하기 쉬워집니다.
ViT - 화상계의 트랜스포머 모델
트랜스포머의 가능성은 자연어 처리 이외의 영역에서도 나타나고 있습니다. 여기에서는 대표적으로 Vision Transformer (ViT) 을 소개합니다. ViT는 트랜스포머의 인코더를 기반으로 한 화상 분류 모델입니다.
ViT는 이미지를 여러 패치로 나누고 그것들을 자연어 토큰처럼 취급합니다. 이로 인해 화상 데이터의 형식과 트랜스포머 인코더가 상정하는 데이터의 형식을 정합시키고 있습니다.
BERT의 경우에서 말하는 형태소 해석이 ViT에서는 이미지 분할 해당하게 됩니다. 또한 ViT에서도 입력 계열의 시작 부분에 특수 토큰이 놓여 특수 토큰에 대응하는 임베딩 벡터가 이미지 분류에 이용됩니다.
ViT 등장 전의 화상 처리 뉴럴 네트워크의 주류는 중첩 뉴럴 네트워크(CNN)이며, 현재도 특히 학술적인 문맥에서는 자주 사용되고 있습니다.
ViT 제안 논문에서는 학습용 데이터를 충분히 준비하면 ViT는 CNN에 버금가는 성능을 달성할 수 있다고 보고되어 있습니다.
ViT 등장 후, 다양한 개량이 제안되고 있습니다. 예를 들어 Swin 트랜스포머는 학습의 효율화 및, 이미지 분류 이외의 태스크로의 확장을 실시하고 있고 Vivit은 ViT로 동영상을 처리하기 위한 방법을 제안하고 있습니다.
ViT의 발전형은 이들 이외에도 다수 제안되고 있으니 앞으로도 기대해 보아도 좋을 것 같습니다.
이번 블로그 포스팅에서는 트랜스포머를 사용하는 파생 모델에 대해서 알아보았습니다. 새로운 기술들을 사용해서 점점 고성능 언어들이 많이 출시되고 있습니다.
그래서 다음 블로그 포스팅에서는 대규모 언어 모델의 구조와 ChatGPT와의 차이로는 어떤 점들이 있는지에 대해서 탐구해 보도록 하겠습니다.
'인공지능 (AI)' 카테고리의 다른 글
LLM(대규모 언어 모델)과 ChatGPT의 관계 및 차이 2 (0) | 2025.02.16 |
---|---|
LLM(대규모 언어 모델)과 ChatGPT의 관계 및 차이 1 (2) | 2025.02.15 |
트랜스포머 (인코더-디코더) 개념, 구조, 장점 (0) | 2025.02.13 |
Encoder-Decoder 네트워크의 활용 사례 (0) | 2025.02.12 |
생성 AI/LLM 성능 평가 지표 (벤치마크) 활용과 문제 (0) | 2025.02.11 |