ELECTRA
기존 MASKED 언어모델의 한계
1. 비효율적인 데이터 사용
MLM은 문장에서 일부 단어를 [MASK] 토큰으로 대체하고 이를 예측하는 방식으로 학습한다. 그러나 대부분의 단어는 마스킹되지 않기 때문에 학습 과정에서 문장의 많은 부분이 모델 학습에 활용되지 못한다.
=> 데이터의 비효율적인 사용을 초래
2. 마스크 토큰의 부자연스러움
실제 언어 사용에서는 [MASK] 토큰이 존재하지 않기 때문에, 마스킹된 문장을 학습하는 것은 자연 언어 이해와는 거리가 있을 수 있다. 모델이 [MASK] 토큰을 학습하는 동안 자연스러운 문장 이해에 필요한 문맥을 충분히 배우지 못할 가능성이 있다.
3. 마스킹 비율의 제한
일반적으로 문장의 15% 정도만 마스킹된다. 이에 따라 모델이 충분한 양의 정보를 학습하지 못하게 되어 학습 효율이 떨어진다.
ELECTRA의 특징
1. Replaced Token Detection
단어를 마스킹하는 대신, 원본 단어를 다른 단어로 대체하는 방식을 사용한다. 그런 다음 모델은 각 단어가 원본인지 대체된 것인지 예측하도록 학습한다.
=> 문장의 모든 단어가 학습에 사용될 수 있어 데이터 사용의 효율성이 극대화된다.
2. 생성기와 판별기 구조
ELECTRA는 두 개의 서브 모델인 생성기(generator)와 판별기(discriminator)로 구성된다. 생성기는 원본 문장에서 일부 단어를 대체하여 새로운 문장을 만들고, 판별기는 이 문장에서 대체된 단어를 찾아내는 역할을 한다. 판별기는 [MASK] 토큰을 사용하지 않고도 문장 내 모든 단어에 대해 학습할 수 있다.
3. 효율적인 학습
판별기는 문장의 모든 위치에서 예측을 수행하기 때문에, MLM보다 훨씬 더 많은 양의 정보를 학습하게 된다. 이는 동일한 양의 학습 데이터와 계산 자원을 사용하면서도 더 높은 성능을 달성할 수 있게 한다.
4. 자연스러운 문장 이해
ELECTRA는 실제 언어 사용과 유사한 방식으로 단어 대체를 수행하므로, [MASK] 토큰의 부자연스러움 문제를 해결한다.
RoBERTa
1. 기존 BERT보다 큰 배치사이즈로 더 많은 데이터를 학습시킴
- 데이터 양 증가: BERT는 16GB의 텍스트 데이터를 사용한 반면, RoBERTa는 160GB 이상의 데이터(BOOKCORPUS, English Wikipedia, CC-NEWS, OpenWebText, Stories)를 사용하여 학습했다.
- 배치사이즈 증가: RoBERTa는 학습 시 최대 8192개의 배치사이즈를 사용하여 효율적으로 학습을 진행했다. (배치사이즈를 증가시키면 모델이 한번에 더 많은 샘플을 처리할 수 있어 학습 과정의 변동성을 줄이고 안정적인 수렴을 도모할 수 있다.)
2. NSP (Next Sentence Prediction) 태스크 제거
BERT와 달리 RoBERTa는 NSP 태스크를 제거했다. 이는 전체적인 학습 과정을 간소화하고, 언어 모델이 문장 내부의 관계를 더 깊이 이해하도록 하기 위해서였다. 실험 결과 NSP 태스크를 제거해도 성능이 향상되거나 비슷한 수준을 유지할 수 있음을 보여주었다.
3. Dynamic Masking
RoBERTa는 Dynamic Masking 기법을 도입하여 모델 학습의 다양성과 일반화 능력을 향상시켰다. BERT는 고정된 마스킹 패턴을 사용하여 학습 데이터를 준비한다. 즉, 학습 데이터가 생성될 때 한 번 마스킹된 후, 동일한 마스킹 패턴으로 여러 번 사용된다. 반면, RoBERTa는 각 학습 에포크마다 다른 마스킹 패턴을 적용하는 Dynamic Masking을 사용한다. 이를 통해 모델은 매번 새로운 마스킹 패턴을 학습하게 되어, 더 다양한 문맥 정보를 학습하고 과적합을 방지할 수 있다. 또한, 학습 데이터의 다양성을 높이고, 모델이 특정 마스킹 패턴에 의존하지 않도록 하여 일반화 능력을 향상시킨다.
DeBERTa
DeBERTa(Decoding-enhanced BERT with disentangled attention) 모델은 BERT와 RoBERTa의 한계를 극복하고자 개발된 모델이다.
1. Disentangled Attention Mechanism
DeBERTa는 각 단어의 어텐션 웨이트(attention weight)를 두 개의 독립된 벡터인 content vector와 position vector 로 분리하여 처리한다. 이 두 벡터를 분리함으로써 단어의 의미와 위치를 독립적으로 처리할 수 있어, 더 정교하고 정확한 문맥 이해가 가능해졌다. 이는 특히 문장의 복잡한 구조를 처리할 때 유리하다.
Content Vector: 각 단어의 실제 의미를 나타낸다. 전통적인 어텐션 메커니즘에서의 context와 유사한 역할을 하며, 문맥에서 단어의 의미를 포착한다.
Position Vector: 각 단어의 위치 정보를 나타낸다. 이는 문장 내에서 단어의 순서나 위치를 파악하는 데 중요한 역할을 한다.
2. Enhanced Mask Decoder
DeBERTa는 MLM(Masked Language Modeling)으로 사전 학습을 할 때, 기존의 마스크 예측 방식에 비해 강화된 디코더를 사용한다. 이는 [MASK] 토큰을 예측하는 과정에서 절대적 위치 정보를 추가로 활용하는 방식이다.
Enhanced Mask Decoder: 마스크된 토큰을 예측하는 레이어에서 절대적 위치 정보를 통합한다. 이는 모델이 단순히 문맥적인 의미뿐만 아니라 각 단어의 절대적 위치까지 고려하여 예측할 수 있도록 한다.
이는 BERT의 단점 중 하나였던 마스크 토큰의 위치 정보를 무시하는 문제를 해결한다. 절대적 위치 정보를 포함함으로써, 모델은 문장의 구조와 문맥을 더욱 정확하게 파악할 수 있게 된다.
'Deep Learning > NLP' 카테고리의 다른 글
[강의 정리] CS224n 1. Introduction and Word Vectors (1) | 2024.11.15 |
---|---|
RAG vs. ICL (2) | 2024.10.07 |
BERT 사전학습(3) - 언어 모델링의 종류 (0) | 2024.10.07 |
BERT 사전 학습(2) - BERT의 입력 표현 (1) | 2024.10.07 |
BERT 사전 학습(1) (0) | 2024.10.07 |