‹ Lecture 4 04 / 20

ELECTRA

MLM은 선택된 15% positions에서 원래 token을 예측한다. 나머지 tokens도 context로 계산에 참여하지만 직접 채점되는 targets는 아니다. ELECTRA는 문제를 “어떤 token이었나”에서 “지금 token이 원래 것인가, 교체된 것인가”로 바꾸어 모든 positions에 binary training signal을 준다. 이는 모든 positions에서 Vocabulary 전체를 생성하도록 학습한다는 뜻은 아니다.

  1. Masked input
  2. small MLM Generator
  3. replacements
  4. Discriminator RTD
  5. Generator 제거 / Discriminator fine-tune

Generator & Discriminator

Generator는 작은 MLM으로 masked positions를 채우고 Discriminator는 모든 위치의 token이 original인지 replaced인지 판단한다. Generator가 원래 token을 맞힌 position은 original label이다. 학습 후 Generator를 버리고 Discriminator를 ELECTRA backbone으로 쓴다. LL=L_MLM+λL_Disc이며 Generator는 maximum likelihood로 학습하므로 GAN과 동일하지 않다.

Training Signal

MLM은 15% positions에 token prediction loss, RTD는 100% positions에 binary loss를 준다. 동일 14M parameters / 1.4×10181.4\times 10^{18} FLOPs에서 ELECTRA-Small 79.9 vs BERT-Small 75.1 GLUE dev(+4.8)다. 대규모 예시는 RoBERTa-500K 3.2×10213.2\times 10^{21} FLOPs/88.9, ELECTRA-400K 7.1×10207.1\times 10^{20} FLOPs/89.0이다. 효율 비교 조건을 함께 읽는다.

Following a Replacement

the / chef / [MASK] / the / meal을 작은 MLM Generator가 채운 결과가 the / chef / ate / the / meal이라고 하자. Discriminator는 [MASK]가 아닌 완성된 corrupted sequence를 읽고 각 position이 original인지 replaced인지 판단한다. Ate가 원래 token과 다르다면 그 위치만 replaced이고 나머지는 original이다.

중요한 것은 replacement를 시도했는지와 실제 token이 바뀌었는지를 나누는 것이다. Generator가 원래 token을 맞혔다면 그 position의 target도 original이다. 무조건 선택된 15%를 replaced로 표시하면 학습 정답이 달라진다.

Generator는 말이 되는 오답 후보를 제공한다. 너무 약하면 쉽게 구분되지만, 너무 강해 원래 답만 만들면 교체된 examples가 부족해질 수 있다. 교수님은 Discriminator 대비 대략 1/4–1/2 크기의 Generator에서 좋았던 보고를 소개했으며, 이는 해당 recipe의 관찰이다.

Two Losses, Two Roles

Discriminator에서 ri=1r_i=1을 original label, DiD_i를 original일 확률이라고 적으면 token별 binary loss를 다음과 같이 표현할 수 있다.

ℓi=−[rilog⁡Di+(1−ri)log⁡(1−Di)]\ell_i=-\big[r_i\log D_i+(1-r_i)\log(1-D_i)\big]

Original이면 첫 항, replaced이면 둘째 항이 채점한다. 전체 pre-training에서는 Generator의 MLM loss와 λ\lambda로 가중한 Discriminator loss를 함께 쓴다. Generator는 최대 likelihood로 원래 token을 예측하는 것이므로, 이름이 Generator/Discriminator라고 GAN과 같은 adversarial objective인 것은 아니다.

학습이 끝나면 Generator를 버리고 Discriminator backbone을 task head와 함께 fine-tune한다. 이후 task 사용 때에도 항상 Generator가 오답을 만드는 pipeline을 유지하는 것이 아니다. DeBERTaV3는 RTD를 채택한 후속 사례다.

효율은 같은 budget에서 비교해야 한다. 위 Small 결과는 동일 14M parameters와 FLOPs에서 +4.8 GLUE dev였고, 큰 scale의 결과는 더 적은 pre-training FLOPs로 비슷한 GLUE 값을 얻은 사례다. “100%의 loss positions”가 모든 task에서 같은 폭의 향상을 보장하는 법칙으로 읽히지 않도록 비교 조건을 함께 둔다.

L=LMLM+λLDiscL=L_{\mathrm{MLM}}+\lambda L_{\mathrm{Disc}}

Check

Generator가 정답 token을 sample한 위치의 RTD label은 무엇이며 fine-tuning 때 무엇을 남기는가?

Answer

Original이다. Pretraining 후 Generator를 제거하고 Discriminator를 fine-tune한다.

RTD의 더 많은 학습 신호가 next-token generation이라는 뜻이 아닌 이유는?

Answer

RTD의 각 position task는 original/replaced binary classification이다. Vocabulary의 next token을 생성하는 objective와 다르다.

Generator를 거친 position을 전부 replaced로 표시하면 왜 RTD 정답이 틀리는가?

Answer

Generator가 원래 token을 맞힐 수도 있기 때문이다. RTD는 교체 시도 여부가 아니라 실제 corrupted token이 original과 같은지를 분류한다. 올바르게 sample된 token은 original이고, 학습 후에는 Discriminator를 fine-tune한다.

Small MLM이 채운 sequence의 모든 position을 original/replaced로 판별하는 objective는?

Answer

Replaced Token Detection (RTD), ELECTRA. Correctly sampled token은 original이다.

ELECTRA pretraining부터 downstream fine-tuning까지 흐름을 복원하라.

Answer

Masked input → small Generator MLM → corrupted sequence → Discriminator가 모든 position RTD → joint loss → Generator 제거 → Discriminator fine-tune.

Contents