エッジ・デバイスや実世界のアプリケーションでより高速で効率的なパフォーマンスを実現するためにモデルを圧縮することで、Knowledge DistillationがどのようにAIを最適化するかをご覧ください。
知識ディスティレーションは、大規模で複雑なモデル(しばしば「教師」と呼ばれる)から、より小規模で単純なモデル(「生徒」と呼ばれる)への知識移転に焦点を当てた機械学習手法である。このアプローチにより、生徒モデルは教師と同等のパフォーマンスを達成しながら、計算リソースの点でより効率的になり、モバイルデバイス、IoTデバイス、エッジコンピューティングシステムなど、リソースに制約のある環境での展開に理想的となる。
知識蒸留のプロセスでは、教師モデルの振る舞いを再現するように生徒モデルを訓練する。元のラベル付きデータだけに頼るのではなく、異なるクラス間の関係に関するより豊富な情報を含む「ソフトラベル」または教師の確率的出力から学習します。この追加的な知識は、少ないパラメータでも生徒がより良く汎化するのに役立ちます。
例えば、画像の分類タスクでは、教師モデルは "cat "を90%、"dog "を8%、"rabbit "を2%の確率で出力するかもしれない。これらのソフトな確率は、クラスの類似性に関する洞察を提供し、生徒モデルはその予測を改良するために使用します。
知識蒸留は、人工知能や機械学習のさまざまな領域で広く使われている:
医療画像診断では、X線やMRIの異常を検出するために訓練された大規模なモデルを、より迅速でリアルタイムの診断のために、より小さなモデルに抽出することができる。例えば Ultralytics YOLO例えば、物体検出の効率で知られるモデルは、ヘルスケア機器へのスピードと展開性を高めるために、蒸留の恩恵を受けることができます。ヘルスケアにおけるAIの詳細については、こちらをご覧ください。
自律走行車は、リアルタイムの意思決定のために物体検出と分類モデルに依存している。精度を維持しながら推論時間を短縮するため、ここでは蒸留モデルが重要です。自動運転におけるAIが、輸送の安全性と効率性をどのように変革するかをご覧ください。
自然言語処理では、BERTのような大きな変換器ベースのモデルが、DistilBERTのような小さなバージョンに蒸留され、エッジデバイス上でより高速なテキスト分類、翻訳、および質問応答タスクを可能にします。変換器とNLPの詳細については、こちらをご覧ください。
小売業や製造業のような業界では、知識蒸留は在庫管理や欠陥検出のようなタスクのための軽量モデルを展開するために使用される。例えば、Ultralytics 、蒸留によって最適化されたコンピュータ・ビジョン・モデルは、AI主導の製造における効率を高めることができる。
ナレッジ・ディスティレーションとモデル・プルーニングはどちらもモデルの最適化に焦点を当てているが、プルーニングは重要度の低いパラメータを削除することでモデルの複雑さを軽減する。
モデルの量子化は、モデルのパラメーターの精度を下げる(例えば、32ビットの浮動小数点数を8ビットの整数に変換する)のに対し、蒸留は精度を維持したまま、知識をより小さなアーキテクチャに移す。
知識蒸留を使用することで、YOLO の大きなモデルが、ビデオストリーム中の物体を高精度で、かつ低遅延で検出するための小さなモデルを訓練することができる。これは、リアルタイム処理が重要なセキュリティ監視のようなアプリケーションでは特に価値があります。YOLO のリアルタイム推論機能の詳細については、こちらをご覧ください。
精密農業では、複雑なデータセットで訓練された大規模なAIモデルを、ドローンやフィールドセンサーに展開するためのコンパクトなバージョンに抽出することができ、害虫検出や作物の健康モニタリングなどのタスクを可能にする。AIが農業にどのような変革をもたらすかをご覧ください。
いくつかのフレームワークがKnowledge Distillationをサポートしており、機械学習の実践者がKnowledge Distillationを利用しやすくなっている:
ナレッジ・ディスティレーションは、AIシステムを進化させる上で極めて重要な役割を果たし続け、実世界のアプリケーションのための強力かつ効率的なモデルを可能にします。正確さと効率性のギャップを埋めることで、AIがより多くのデバイス、産業、そして世界中のユーザーに到達できるようにします。