Research / 基盤技術 · モデルの適応

DistilBERTは事前学習の段階でBERTを小さくした

DistilBERTは大きなBERTを教師に、層を半分にした生徒モデルを事前学習する。GLUEでの性能、CPUの推論時間、質問応答で失う精度を固定版論文の表から分けて読む。

論文初公開(arXiv)
参照版
v1
TRAIL公開
  • DistilBERTは大きなBERTを教師に、一般用途の小さな言語理解モデルを事前学習で作った。
  • 論文のGLUE開発集合の平均はBERT-baseが77.6、DistilBERTが76.8だった。
  • モデルは小さくCPU測定で速い一方、課題ごとの成績低下は一様ではない。

何を確かめた研究か

言語理解モデルを携帯端末や低予算のサーバーで使うには、必要なメモリと応答時間が問題になる。特定の課題を学んだ後でモデルを圧縮すると、別の課題へ転用しづらくなることもある。DistilBERTの初版論文は、事前学習の段階で大きな教師モデルの知識を小さな生徒へ移し、一般用途の表現モデルを作れるかを調べた。

生徒モデルはBERTと同じTransformer系だが、層を半分にして一部の構成を省く。教師の各層から一層おきに重みを取り、生徒の初期値とする。学習では正解の隠された語を当てるだけでなく、教師と生徒の予測分布を近づけ、隠れた表現の向きも合わせる。三種類の損失を併用する設計だ。

どう検証したか

研究チームは、英語WikipediaとBooksCorpusを使って事前学習した後、GLUEの九つの言語理解課題で評価した。さらに映画レビューの感情分類IMDbと、文章から答えを抜き出すSQuAD 1.1で比較する。モデルの大きさと推論時間は、CPUでSTS-B開発集合をバッチサイズ1で一巡する条件でも測定した。

表1のGLUE開発集合の平均はBERT-baseが77.6、DistilBERTが76.8だった。論文が「97%の能力を維持」と述べるのは、この種の集約評価についての表現で、すべての課題で同じ比率を保つ意味ではない。例えばRTEは71.3対62.9と差が大きい一方、MRPCやSST-2は生徒が上回る。

何が分かったか

表3でパラメータ数はBERT-baseの110百万に対しDistilBERTは66百万で、約40%少ない。同じCPU測定の一巡時間は668秒に対し410秒だった。したがって、この条件では小型化と速度向上を両立した。ただし「60%速い」は論文の表現であり、全ての端末と入力で一定の倍率が得られるわけではない。

表2のIMDb正答率はBERT-base 93.46%、DistilBERT 92.82%と近い。SQuADの完全一致は81.2対77.7、F1は88.5対85.8で、質問応答ではもう少し差がある。さらに下流課題の調整時にも教師を使う別条件は結果が異なるため、普通のDistilBERTの成績と混同しない。

限界は何か

教師BERTを作る費用は、生徒だけを見たモデルの大きさに含まれない。公開済みの教師を使えるなら負担は変わるが、一から再現するなら学習費用も評価すべきだ。評価の大半は英語の公開課題で、日本語や専門語が多い文書での差は測っていない。

速度も測定環境に依存する。本文のCPU比較は特定のIntel製CPUとバッチサイズ1、STS-Bの入力を使う。異なる端末、長い文章、並列処理では実測値が変わる。精度の低下が許されるかは、対象業務の失敗費用によっても違う。

仕事との接点

分類や検索用の言語モデルを端末で動かすなら、DistilBERTを基準モデルの一つとし、実際の機器で遅延とメモリを測る。同じ業務データで見逃しや誤分類を比べれば、小型化の利益と精度低下の費用を判断できる。これは論文の比較方法を応用するTRAIL編集部の提案であり、個別の導入効果を論文が保証するものではない。

01

出典

Research の一覧へ戻る