ニューラルネットワークにおける量子化と蒸留

ニューラルネットワークにおける量子化と蒸留

この記事では、ディープラーニングにおけるモデルを合理化する技術、量子化と蒸留について詳しく説明します。

ディープラーニング モデル、特に多数のパラメータを持つモデルは、リソースが制限された環境に展開することはほぼ不可能です。そのため、量子化と蒸留という 2 つの一般的な手法があり、これらを使用すると、パフォーマンスにあまり影響を与えずにモデルを軽量化できます。しかし、それらは何を意味するのでしょうか、そしてどのように比較されるのでしょうか?

量子化: 効率のために精度を犠牲にする

量子化は数値の精度に関するものです。モデル内の重みとアクティベーションのビット幅を減らすことで、モデルのサイズが縮小され、推論速度が向上する可能性があります。

ニューラル ネットワークには相互接続されたニューロンがあり、それぞれのニューロンの重みとバイアスはトレーニング プロセス中に調整されます。これらのパラメータ値は通常 32 ビットの浮動小数点数で保存され、精度は保証されますが、大量のメモリを消費します。たとえば、50 層の ResNet では、2,600 万個の 32 ビット重み値と 1,600 万個の 32 ビット活性化値を格納するために 168 MB が必要です。

量子化は、重みとアクティベーションを表すために、より少ないビット数 (8 ビット整数など) を使用することで、メモリ使用量を削減することを目的としています。しかし、これによって量子化誤差が発生するため、量子化の目標は精度とメモリ使用量のバランスを取ることです。チャネルごとの量子化、ランダムな丸め、再トレーニングなどの高度な手法により、モデルの精度への影響を最小限に抑えることができます。

最も一般的な量子化のケースは、float32 -> float16 と float32 -> int8 です。

量子化の背後にある数学理論:

上記の式は、実数を量子化された整数に変換するためのシンプルで計算効率の高い方法を提供するため、多くの量子化スキームでよく使用されます。

機械学習モデルを量子化するにはどうすればいいですか?

トレーニング後の量子化: これは、通常のペンで本全体を書き、書き終わった後に、より細いペンで書き直して小さくするようなものです。ストーリーを変更する必要はありません。テキストを小さくするだけです。これは非常に簡単ですが、小さいテキストは読みにくい場合があります (つまり、ニューラル ネットワークの精度が低下する可能性があります)。

量子化を考慮したトレーニング: 最初から良いペンで本を書くようなものです。書きながら、文字をどのくらい小さくすべきかが分かるので、書きながら書き方を調整していきます。この方法では、本の小さいバージョンについて考えていたため、最終的な小さいバージョンは最初から読みやすくなります (つまり、ニューラル ネットワークは、最初から小さい量子化バージョンで適切に動作するようにトレーニングされます)。

どちらの場合も、ストーリーの本質 (またはネットワークの正確さ) を失うことなく、本 (またはニューラル ネットワーク) をより小さく、より効率的にすることが目標です。

アドバンテージ:

  • モデル サイズの縮小: たとえば、32 ビットの浮動小数点数を 8 ビットの整数に変換すると、モデル サイズを 4 分の 1 に縮小できます。
  • 速度とハードウェアの互換性: 低精度のアルゴリズムは、特定のハードウェア アクセラレータでは大幅に高速化されます。
  • メモリ効率: データが少ないということは、メモリ帯域幅の要件も少なくなることを意味します。

欠点

  • 精度のトレードオフ: 精度が低いと、モデルのパフォーマンスに影響する場合があります。
  • 実装の課題: 量子化、特に量子化を考慮したトレーニングは難しい場合があります。

蒸留:教師から生徒への知識の伝達

蒸留では、より小さなニューラル ネットワーク (生徒と呼ばれる) をトレーニングして、より大きな事前トレーニング済みネットワーク (教師と呼ばれる) を模倣します。

以下の例はすべて書籍の執筆に基づいており、より明確になっています。

大まかに言えば、蒸留の分類には 3 つの種類があります。

オフライン蒸留:作家は、すでに出版されている成功した本から学んでいます。出版された本(教師用モデル)が完成し、修正されました。新しい作家(学生モード)はこの本から学び、得られた洞察に基づいて独自の作品を書こうとします。ニューラル ネットワークのコンテキストでは、これは、完全にトレーニングされた複雑なニューラル ネットワークを使用して、より単純で効果的なネットワークをトレーニングするようなものです。生徒のネットワークは、教師の確立された知識を修正することなく学習します。

オンライン蒸留:作家と経験豊富な作家が同時に本を書いているところを想像してください。経験豊富な著者が新しい章を開発する(教師モデルを更新)と、新しい著者も自分の章を書き(生徒モデルを更新)、その過程で経験豊富な著者から学びます。この2冊の本は同時期に執筆され、2人の著者の作品は互いにインスピレーションを与え合いました。ニューラル ネットワークでは、これは教師モデルと生徒モデルの両方を同時にトレーニングし、一緒に学習して適応できるようにすることで、生徒モデルの学習プロセスを強化することを意味します。

自己蒸留:著者が教師であり生徒でもある本。彼は現在のスキルレベルで本を書き始めました。彼は新たな洞察を得て文章力を向上させるにつれて、以前の章を改訂します。これは、著者が理解を深めるにつれて作品を継続的に改良していく自己学習モデルです。ニューラル ネットワークでは、このアプローチには単一のネットワークの学習と自己改善が含まれ、より高度なレイヤーまたは後のトレーニング段階を使用して、より初期のレイヤーまたは初期段階を強化し、より効率的で正確になるように効果的に自己学習します。

蒸留の背後にある数学:

蒸留の目的は、教師の予測と生徒の予測の差を最小限に抑えることです。この乖離を測る最も一般的に使用される指標は、Kullback-Leibler 乖離です。

アドバンテージ

  • サイズの柔軟性: 学生モデルのアーキテクチャまたはサイズをカスタマイズして、サイズとパフォーマンスのバランスをとることができます。
  • 精度の向上: 十分に訓練された生徒モデルは、教師のパフォーマンスに近いパフォーマンスを達成でき、サイズも小さくなります。

欠点

  • 再トレーニングが必要: 量子化とは異なり、蒸留では学生モデルの再トレーニングが必要である。
  • トレーニングのオーバーヘッド: 学生モデルのトレーニングには時間とコンピューティング リソースが必要です。

要約する

量子化は通常、ハードウェア固有の展開で使用されますが、蒸留は、大規模なモデルに近いパフォーマンスを備えた軽量モデルが必要な場合に必要なアプローチです。多くの場合、この 2 つを組み合わせて、モデルを改良してから定量化することで、両方のアプローチの利点を生かすことができます。選択は、展開要件、利用可能なリソース、精度と効率の許容可能なトレードオフに合わせて調整することが重要です。

<<: 

>>:  今後のAIの5大発展トレンドとは?2024年は「意味のある人工知能時代」の到来を告げる

ブログ    
ブログ    

推薦する

...

ルカン氏の論文は「盗作」と非難されたのか? LSTMの父は怒りの投稿を投稿しました:私をコピーした人はオリジナルにもマークを付けてください

チューリング賞を受賞したヤン・ルカンは、AI分野の三大巨頭の一人です。当然ながら、彼が発表した論文は...

2021年のAIチップの在庫:「2つの壁」を破り、ストレージとコンピューティングを統合することがトレンドに

​​著者: 張傑【51CTO.comオリジナル記事】 AI チップはなぜ必要なのでしょうか?新しいイ...

中国チームが最優秀論文賞と最優秀システム論文賞を受賞し、CoRLの受賞論文が発表されました。

CoRL は 2017 年に初めて開催されて以来、ロボット工学と機械学習の交差点における世界トップ...

ビッグニュース! Meta が「次世代」の大型モデル Llama 2 をオープンソース化、Zuckerberg: 無料かつ商用利用可能!

今朝早く、私たちがまだ寝ている間に、海の向こうの Meta が大きなことをしました。Llama 2 ...

マイクロソフト、学習者の読解力向上を支援する独立AIツール「リーディングコーチ」を発表

IT Homeは1月19日、マイクロソフトが最近、学生向けの新しい生成AIツール「Reading C...

GitHub のホット プロジェクト: 実稼働レベルのディープラーニング プロジェクトを構築するには?

ディープラーニング モデルを本番環境に導入することは、優れたパフォーマンスのモデルをトレーニングする...

...

今後の展望:自動運転におけるビッグモデル技術の応用と影響

この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...

調査によると、ChatGPTが提供するアドバイスは専門家が提供するアドバイスよりも包括的で役立つことがわかっています。

12月26日、専門家が実施した最近の調査では、ChatGPTが提供する提案は、人間の専門家が提供す...

...

ガートナー: 2023 年の機械学習の主要トレンド

今週オーストラリアのシドニーで開催されたガートナー・データ&アナリティクス・サミットで、この調査・ア...

画像認識AIは敵対的な画像に遭遇すると「盲目」になり、精度が90%低下する

[[271243]]視覚に関して、AIと人間の間にはどれくらいのギャップがあるのでしょうか?カリフォ...

顔認識の「レッドライン」と「ボトムライン」を理解していますか?

顔認識技術の応用を標準化するため、2023年8月8日、中国サイバースペース管理局が起草した「顔認識技...