[AI] NLP_ BERT vs. GPT

JAsmine_log·2024년 6월 7일
0

BERT에서 GPT로 언어 모델의 패러다임이 바뀌면서 엄청 난 발전이 이루어졌다. 그러면 BERT와 GPT의 차이점은 무엇일까?

BERT vs. GPT

Pre-train 방향

BERT는 양방향(bidirectional)로, 문장 중간에 빈칸을 만들도록 마스킹처리하고 앞뒤 문맥을 통해서 시퀀스를 추론한다. 이에 반해 GPT는 일방향(unidirectional) 모델로, 왼쪽에서 오른쪽으로 순차적으로 문맥을 파악하는 모델이다.

  • 예시
    • BERT : 어제 영화관 갔었어 →( )← 사람 많더라
    • GPT : 어제 영화관 갔었어 거기 사람→( )

Model Structure(Encoder or Decoder)

BERT는 문장의 의미를 추출하는데 강점이 있고, Transformer의 인코더(encoder)만을 사용하는 모델이다. 반대로 GPT는 문장 생성에 강점을 지니며, Transformer의 디코더(decoder) 기법만을 적용한 모델이다.

  • BERT

  • GPT

Model Training

  • BERT
  • [Mask]와 대응하는 출력에 선형변환과 softmax(step function)를 적용한다. 어휘 수(dd개) 만큼의 차원의 수를 가진 벡터를 만들어 다음 차례에 올만한 어휘의 확률을 높여 학습하도록 모델을 업데이트한다. 여기서 [Mask]한 곳이 앞의 문맥과 두의 문맥에 영향을 받아서 학습하도록 모델을 업데이트한다.어제/영화관/갔었어→거기, 거기← 사람/많더라
  • Q. 어제 영화관 갔었어 ( ) 사람 많더라
QueryKey특징
어제어제
영화관영화관
갔었어갔었어
[Mask][Mask]→거기
사람사람
많더라많더라
  • GPT
    • 어제와 대응하는 출력에 선형변환과 softmax(step function)를 적용한다. 어휘 수(dd개) 만큼의 차원의 수를 가진 벡터를 만들어 다음 차례에 올만한 어휘의 확률을 높여 학습하도록 모델을 업데이트한다. 이런식으로 마스킹은 줄이고, 다음 시퀀스를 계속 예측하도록 모델을 업데이트한다. 어제→영화관, 영화관→ 갔었어, ...
    • Q. 어제 ( ) 갔었어 거기 사람 많더라
QueryKey특징
어제어제→영화관
영화관영화관마스킹
갔었어갔었어마스킹
거기거기마스킹
사람사람마스킹
많더라많더라마스킹

Reference
[1] 김기훈, Do it!, BERT와 GPT로 배우는 자연어 처리, 이지스퍼블리싱, 2021.

profile
Everyday Research & Development

0개의 댓글

관련 채용 정보