日本語

ニューラルアーキテクチャサーチとは?AIが自らの脳を設計するとき

モデル設計空間の自動的な探索を示すニューラルアーキテクチャサーチのプロセス

Turn this article into takeaways for your work.

Each assistant summarizes the article only for you and suggests best practices for your work.

ニューラルネットワークの設計には、かつて何年もの経験を持つ専門家が必要でした。層の数は?サイズは?どの接続パターンを使うか?そして、選択が機能したかどうかを確認するために、トレーニングの実行が完了するまで数日間待つ必要がありました。

ニューラルアーキテクチャサーチは、そのプロセスを逆転させます。人間がアーキテクチャを試行錯誤する代わりに、アルゴリズムが何千もの可能なデザインを探索し、それぞれをトレーニングして評価し、個々の設計者が見つけるものよりもパフォーマンスの高い構造に収束します。これは、AIを改善するためにAIが使用されている最も明確な例の一つです。

技術的な核心

ニューラルアーキテクチャサーチ(NAS)は、ニューラルネットワークのアーキテクチャ設計を自動化するMachine Learningの技術です。層の数、接続の種類、活性化関数、層のサイズを人間が指定する代わりに、NASはこれらの設計上の選択を最適化するパラメータとして扱います。

この分野は2016年にGoogle Brainで先駆けられました。Barret ZophとQuoc LeがReinforcement Learningを使用してニューラルネットワークの最適な構造を探索し、画像認識と言語タスクにおいて人間が設計した最先端モデルに匹敵または凌駕するアーキテクチャを生み出しました。問題は計算コストでした。その初期研究は、何週間も稼働する800台のGPUを必要としました。

過去10年間は、NASを実用的にすることに注力してきました。one-shot NASやDARTS(differentiable architecture search)などの現代的な技術は、単一のGPUで数時間以内に堅牢なアーキテクチャを見つけることができます。現在、これらの手法はエンタープライズAutoMLプラットフォームに組み込まれており、ML の深い専門知識を持たないチームでも、自分たちで検索を実行せずにNASの恩恵を受けることができます。

検索の仕組み

すべてのNASシステムは、連携して機能する3つのコンポーネントを持っています。

探索空間は、利用可能なアーキテクチャの選択肢を定義します。大きな探索空間はより多くの可能性をカバーしますが、探索に時間がかかります。適切に設計された探索空間はドメイン知識をエンコードします。画像タスクでは、視覚処理に有効とわかっている畳み込み層と特定の接続パターンに焦点を当て、シーケンスタスクでは注意メカニズムを中心に据えることがあります。

探索戦略は、その空間を効率的に探索する方法を決定します。単純なランダム検索は、何千もの無作為なアーキテクチャを試し、それぞれをゼロから評価することになります。現代的な戦略はより賢明です。Reinforcement Learningは、良い結果をもたらす傾向がある選択を学習するコントローラーをトレーニングします。進化アルゴリズムはアーキテクチャの集団を維持し、より良いパフォーマンスに向けて進化させます。微分可能な手法は、離散的なアーキテクチャの選択を連続パラメータに緩和し、gradient descentが直接最適化できるようにすることで、探索を桁違いに速くします。

性能推定戦略は、各候補を完全にトレーニングするコストなしに、候補アーキテクチャを評価します。単一のアーキテクチャを収束まで訓練するには数日かかることがあります。weight sharing、early stopping、または小さなデータサブセットでのトレーニングなどの性能推定技術により、NASシステムは実用的なコストで何千もの候補を評価できます。

NASが生み出すもの

NASが生成するアーキテクチャは、人間の目には奇妙に見えることがよくあります。人間の設計者が描くような整然とした層-by-層の構造を壊しています。見慣れないskip connections、非対称な層のサイズ、なぜ機能するかを人間が理解せずとも効果的であると検索が発見した繰り返しのマイクロパターンを持っています。

そして、それは非常に効果的に機能します。NASを通じて発見されたEfficientNetは、精度と効率のすべてのトレードオフポイントで手作業で設計されたモデルを凌駕し、数年間にわたって主流の画像分類アーキテクチャとなりました。NASが発見したMobileNetのバリアントは、スマートフォンや組み込みデバイスでの画像理解を支えています。モバイルハードウェア向けに特化して最適化されたMnasNetは、Androidフォン上での画像分類を75msのレイテンシで実行しながら、10倍大きなモデルと同等の精度を達成しています。

ハードウェアへの対応は際立った特徴です。NASは精度だけでなく、特定のハードウェアでのレイテンシ、メモリのフットプリント、消費電力、またはこれらの任意の組み合わせについても最適化することができます。理論的に効率的なモデルが、GPUのメモリ階層にうまくマッピングされないために、実際の推論ハードウェアでは遅く動作することがあります。ハードウェアのベンチマークを直接対象に探索するNASは、紙上だけでなく実際にも高速なアーキテクチャを見つけます。

ビジネスケース:NASはいつ価値があるか?

NASはAI投資判断の特定のコーナーに位置しています。すべてのチームやプロジェクト向けではありません。

NASが適しているのは次の場合です。

  • 推論コストの20%削減が積み重なって実際の節約になるほど高い量でモデルを展開している場合
  • 既成のアーキテクチャが適合しない制限されたハードウェア(モバイル、エッジデバイス、組み込みシステム)に展開している場合
  • モデルの品質が競争上の差別化要因であり、可能な限り最良のアーキテクチャを見つけることに投資できるプロダクトを構築している場合
  • 多くのプロダクトが使用する基盤的な機能を構築しているプラットフォームプロバイダーである場合

NASが適していないのは次の場合です。

  • 事前学習済みモデルをfine-tuningすれば要件を満たせる場合(通常は最初の正しいステップ)
  • AIのユースケースが頻繁に変わり、今日最適化したアーキテクチャが6ヶ月後には置き換えられる場合
  • 現代の効率的なNASさえも実行するためのインフラや専門知識がない場合

中間の選択肢は、NASを内部に組み込んだAutoMLプラットフォームを使用することです。Google Cloud AutoML、Azure Automated Machine Learning、Amazon SageMaker Autopilotはすべて、NASから派生した技術を内部で使用しており、チームが自分たちで検索を実行せずとも一定の恩恵を得られます。

現代AIにおけるNASの位置づけ

大規模言語モデル基盤モデルの台頭により、NASが最も大きな影響を持つ領域が変化しました。言語タスクでは、事前学習済みLLMをfine-tuningする方が、NASで最適化されたアーキテクチャをゼロから訓練するよりもほぼ常に優れています。基盤モデルには放棄するには多すぎる事前学習済みの知識が含まれています。

しかしNASは次の分野では引き続き非常に重要です。

医療画像、産業センサーデータ、特定の科学データ型など、基盤モデルが存在しないか、適していない専門ドメイン。

エッジ展開では、モデル圧縮とハードウェア対応のNASが組み合わさって、厳しいメモリと計算の制約を持つデバイスに適合するアーキテクチャを生み出します。

チップメーカーが自社のシリコンの特定の特性を活用するアーキテクチャを見つけるために、新しいハードウェア向けの効率的なモデル設計にNASを使用します。

トランスフォーマーアーキテクチャ自体も、NASに似た探索プロセスによって洗練されました。多くの現代的なアーキテクチャの革新(効率的な注意パターン、sparseレイヤー、mixture-of-experts構造)は、研究者がそれをNASと呼ばなかった場合でも、アーキテクチャの選択肢にわたる系統的な探索から生まれました。

関連するAIコンセプト

外部リソース

FAQ

ニューラルアーキテクチャサーチに関するよくある質問

ニューラルアーキテクチャサーチとは何ですか?

ニューラルアーキテクチャサーチ(NAS)は、層の種類、層のサイズ、接続パターンなどの設計上の選択肢を体系的に探索することで、最適なニューラルネットワーク構造を見つける自動化された手法です。人間の設計者がアーキテクチャを指定する代わりに、アルゴリズムが何千もの候補を探索し、特定のタスクとハードウェアターゲットで最もパフォーマンスの高いものを特定します。

事前学習済みモデルを使用している場合、NASは関連しますか?

事前学習済みの基盤モデルをfine-tuningすることがほぼ常に優れた出発点となる言語タスクでは、関連性が低くなります。NASは、適切な基盤モデルのない専門ドメイン、制限されたハードウェアでの展開、およびモデルをゼロから訓練することが正当化されるケースでは引き続き非常に重要です。

NASとAutoMLの違いは何ですか?

AutoMLは、データの前処理、特徴エンジニアリング、モデル選択、ハイパーパラメータ調整など、Machine Learningパイプラインの部分を自動化する技術の広いカテゴリです。NASは特に、モデルのアーキテクチャ設計を自動化することに関するものです。多くのAutoMLプラットフォームは、他の自動化とともにNASをコンポーネントとして含んでいます。

NASにはどれくらいの時間がかかりますか?

大幅に異なります。初期のNASは数週間稼働する800台のGPUを必要としました。DARTSなどの現代の効率的なNAS技術は、単一のGPUで数時間以内に競争力のあるアーキテクチャを見つけることができます。クラウドのAutoMLプラットフォームを使用すると、NAS品質のアーキテクチャの選択肢を数分で得られますが、探索はあなたのインフラストラクチャではなく、プラットフォームのインフラストラクチャで行われます。