AI・機械学習
中級

DistilBERT(蒸留BERT)(ディスティルバート)

HuggingFaceが2019年に提案したBERTの知識蒸留版。BERTの層数を6層(原型12層の半数)に削減しながら97%のNLP性能を維持、推論速度60%向上・モデルサイズ40%削減を達成した代表的蒸留モデル。

0 回閲覧
0 いいね
2026/6/6 更新
関連タグ
DistilBERT
BERT蒸留
HuggingFace
NLPモデル圧縮
Transformer

DistilBERT とは

DistilBERT(2019)はHugging FaceのVictor Sanh等が発表したBERTの知識蒸留版。「大型Transformerモデルを実用的なサイズに圧縮できる」ことを示した先駆的成果として、NLP研究・実応用の両面で大きな影響を与えた。

アーキテクチャと削減内容

比較項目BERT-baseDistilBERT削減率
Transformerレイヤー数12層6層50%削減
パラメータ数110M66M40%削減
推論速度基準60%高速1.6倍
GLUEスコア(平均)100%97%3%損失
モデルサイズ440MB265MB40%削減

訓練の3要素損失関数

DistilBERTは3種類の損失を組み合わせて訓練される:

  1. 蒸留損失: 教師BERTのソフトラベルとのKLダイバージェンス(温度T=4)
  2. コサイン埋め込み損失: 生徒の隠れ状態が教師の対応する層と同方向を向くよう学習
  3. MLM損失: 通常のBERT訓練と同じMasked LMタスクの損失

層の初期化戦略

教師の12層を2層おきに取り(2・4・6・8・10・12層目)生徒の6層を初期化。ランダム初期化より大幅に収束が速く最終性能も向上する。

主なタスク別性能

タスクBERT-baseDistilBERT差異
SST-2(感情分析)93.591.3-2.2
SQuAD v1.1(QA)88.5/81.285.8/79.1-2.7/-2.1
MNLI(推論)84.682.2-2.4

DistilBERT以降の発展

  • TinyBERT(2019, Huawei): 4層・14.5Mパラメータ、中間層蒸留を強化
  • MobileBERT(2020, Google): ボトルネック構造で4.3Mパラメータ
  • DistilRoBERTa: DistilBERT手法をRoBERTaに適用

活用ケース

  • エッジデバイス: Raspberry Pi・スマートスピーカーでのオフラインNLP
  • リアルタイム処理: チャットbotの応答速度改善
  • 大量バッチ処理: コスト削減を優先する企業ユースケース
この記事について
カテゴリーAI・機械学習
難易度中級
作成日2026/6/6