DeeepSeekが最近話題になっています。このDeepSeekの開発に使われた手法の一つに「蒸留」という言葉があります。英語ではDistillingあるいはDistillationと表されているようです。
以前から、「大規模な機械学習モデルを小規模なモデルに圧縮する」ということに関しては、AIの分野においては、必須のものだと考えられていました。というのは、AIでの回答を得るのに、何時間もかけていてはだめで、即座に回答を抽出する必要があること、高速のエンジンや膨大なメモリ量がない場合にAIを適用する必要があるなどの理由があるからです。
従って、大規模な機械学習モデルを小規模なモデルに圧縮するアイデアは以前からありましたが、それをニューラルネットワークに本格適用したのが、ディープラーニングの父として知られるGeoffrey Hinton(ジェフリー・ヒントン)氏です。
当時米Google(グーグル)に所属していたヒントン氏らの研究チームは2015年、ニューラルネットワークが出力する確率分布を使ってモデルを圧縮する新手法を示しました。同氏は論文「Distilling the Knowledge in a Neural Network」の中で、この手法を「蒸留(Distillation)」と表現しました。
ヒントン氏が提案した手法のポイントは、AIモデルが出力する単一の「正解」のみを活用するのではなく、どの選択肢が正解らしいかを確率で示した確率分布全てを活用する点にありました。そこで、この確率分布を模倣するよう小規模モデルを学習させる手法を考案し、それを「蒸留」と命名しました。
その後、従来の蒸留手法に加え、敵対的蒸留(Adversarial Distillation)やグラフ蒸留(Graph Distillation)など、様々な手法が提案されています。
教師モデルと生徒モデルを同一のモデルとし、学習過程で教師モデルの出力を生徒モデルの学習に利用する自己蒸留(Self-Distillation)も登場しています。
また、多様な濃縮手法として、 k-means法やクラスタリングを用いた手法、教師あり学習、半教師あり学習、強化学習など、様々な学習フレームワークで深層相互学習が利用されています。
また、 複数のモデルを同時に学習させ、互いに知識を共有する深層相互学習(Deep Mutual Learning)も、モデルの精度向上に貢献しています。
蒸留の応用としては、画像認識、自然言語処理、音声認識など様々なタスクで利用されており、濃縮されたデータは、モデル学習だけでなく、データ可視化や分析にも利用されています。
今後も、より高度な蒸留・濃縮手法の開発が行われ、より効率的に知識を転送・抽出する手法や、多様なデータ形式に対応できる手法の開発が行われることが期待されます。
0 件のコメント:
コメントを投稿