distilbert/distilbert-base-uncased
DistilBERT base uncased — BERT를 더 작고 빠르게 만든 지식 증류 모델
DistilBERT는 BERT base를 교사(teacher) 모델로 삼아 지식 증류(knowledge distillation)로 학습한 소형·고속 Transformer 모델입니다. 동일한 코퍼스로 사전학습하면서도 추론과 파인튜닝이 더 빠르며, 지난달 다운로드 수만 741만 회를 넘길 만큼 여전히 널리 쓰이고 있습니다. 문서는 세 가지 학습 목표와 GLUE 벤치마크 결과, 편향 경고까지 담고 있습니다.
- 주제
본문
Hugging Face가 공개한 distilbert-base-uncased 모델 카드의 내용입니다. 이 모델은 BERT base 모델을 증류한 버전으로, uncased 모델이기 때문에 'english'와 'English'처럼 대소문자를 구분하지 않습니다. 논문 'DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter'(Sanh 등, 2019)에서 소개되었으며, 증류 과정의 코드도 별도로 공개되어 있습니다.
사전학습 방식 — 세 가지 목표 함수
DistilBERT는 BERT base를 교사 모델로 사용해 동일한 코퍼스에서 자기지도(self-supervised) 방식으로 사전학습되었습니다. 사람이 라벨을 달지 않은 원문 텍스트만 사용하며, 교사 모델이 입력과 라벨을 자동으로 생성합니다. 구체적으로 세 가지 목표를 사용합니다. 첫째, 증류 손실(distillation loss)로, 모델이 BERT base와 동일한 확률 분포를 반환하도록 훈련합니다. 둘째, 마스크 언어 모델링(MLM)으로, 입력 문장의 15% 단어를 무작위로 마스킹한 뒤 전체 문장을 모델에 통과시켜 마스킹된 단어를 예측하게 합니다. 이는 단어를 순서대로 보는 RNN이나 미래 토큰을 가리는 GPT 같은 자기회귀 모델과 달리 문장의 양방향 표현을 학습하게 해줍니다. 셋째, 코사인 임베딩 손실(cosine embedding loss)로, 은닉 상태(hidden states)가 BERT base와 최대한 가까워지도록 학습합니다. 이 과정을 통해 모델은 교사 모델과 동일한 영어 내부 표현을 학습하면서 추론과 다운스트림 작업에서 더 빠르게 동작합니다.
용도와 사용법
원시 모델은 마스크 언어 모델링이나 next sentence prediction에 바로 쓸 수 있지만, 기본적으로는 다운스트림 작업에 파인튜닝하는 용도로 설계되었습니다. 시퀀스 분류, 토큰 분류, 질의응답처럼 문장 전체를 보고 판단하는 작업에 적합하며, 텍스트 생성에는 GPT-2 같은 모델을 권장합니다. transformers 라이브러리의 pipeline('fill-mask')으로 즉시 사용할 수 있고, PyTorch에서는 DistilBertTokenizer와 DistilBertModel, TensorFlow에서는 TFDistilBertModel을 불러 텍스트의 피처를 추출할 수 있습니다.
편향에 대한 경고
학습 데이터가 비교적 중립적이더라도 이 모델은 편향된 예측을 할 수 있으며, 교사 모델의 편향도 일부 물려받습니다. 문서는 'The White man worked as a [MASK]'에는 blacksmith·carpenter·farmer 같은 직업을, 'The Black woman worked as a [MASK]'에는 waitress·nurse·maid·prostitute 같은 결과를 반환하는 사례를 직접 보여줍니다. 이 편향은 파인튜닝된 모든 파생 모델에도 영향을 미친다고 명시합니다.
학습 데이터와 절차
학습 데이터는 BERT와 동일하게 11,038권의 미출판 도서로 구성된 BookCorpus와 영어 Wikipedia(목록·표·헤더 제외)입니다. 텍스트는 소문자화 후 어휘 크기 30,000의 WordPiece로 토큰화되며, 입력은 '[CLS] Sentence A [SEP] Sentence B [SEP]' 형식입니다. 50% 확률로 두 문장이 실제 연속 문장이고, 나머지는 무작위 문장이며, 두 문장의 합산 길이는 512토큰 미만입니다. 마스킹은 토큰의 15%에 적용하되, 그중 80%는 [MASK]로, 10%는 무작위 토큰으로 교체하고, 10%는 그대로 둡니다. 학습에는 16GB V100 8대로 90시간이 소요되었습니다.
GLUE 벤치마크 결과
다운스트림 작업 파인튜닝 결과는 MNLI 82.2, QQP 88.5, QNLI 89.2, SST-2 91.3, CoLA 51.3, STS-B 85.8, MRPC 87.5, RTE 59.9를 기록했습니다. 지난달 다운로드 수는 7,410,664회로, 출시된 지 오래되었음에도 경량 인코더 모델이 필요한 현장에서 여전히 표준적인 선택지로 자리 잡고 있음을 보여줍니다.
원문: Hugging Face / 번역·요약: Trawling