知識蒸留
知識蒸留とは、小さな「生徒」モデルに、大きな「先生」モデルの出力をまねるよう学習させることです。生徒は、ずっと小さなサイズで先生の力の多くを受けつぎます。
生徒は、先生のいちばんの答えだけを学ぶわけではありません。「たぶんネコ、少しイヌっぽい、車ではない」のような確率の広がりをまるごと学びます。そこには、正解1つよりも多くの情報が入っています。
この考え方は2015年の論文で広まりました。有名な例のDistilBERTは、学んだもとのモデルより40%小さく60%速いのに、言葉を理解する力の97%を保ちました。
いまの小さくて速い言語モデルの多くは、大きなモデルが書いた答えでも学習しています。蒸留は、スマホやノートパソコンに収まるよう、量子化と組み合わせることがよくあります。
6分のレッスンで学ぶモデルを小さくする蒸留と量子化