Google Researchの科学者は、AIアクセラレータチップの設計を最適化するためのフレームワークであるAPOLLOを発表した。APOLLOは、チップ面積を最小限に抑えながら、深層学習の推論待ち時間を最小限に抑えるチップパラメータを選択するために進化的アルゴリズムを使用する。APOLLOを使用することで、研究者は、ベースラインアルゴリズムによって選択されたものよりも24.6%の高速化を達成する設計を発見した。
研究科学者のAmir Yazdanbakhsh氏は、最近のブログ投稿でシステムの大まかな概要を説明した。APOLLOは、特定の深層学習モデルに最高の推論パフォーマンスを提供する、メモリサイズ、I/O帯域幅、プロセッサユニットなどのハードウェアパラメータのセットを検索する。進化的アルゴリズムと転移学習を使用することにより、APOLLOはパラメータ空間を効率的に探索し、設計を生成する全体的な時間とコストを削減できる。Yazdanbakhsh氏によると、
この研究は、次世代アプリケーションの新機能を備えた効率的なアクセラレータを発明するために、コンピューティングスタック全体でアーキテクチャ設計と共同最適化 (コンパイラ、マッピング、スケジューリングなど) のためのML駆動の手法をさらに探求するための刺激的な道であると信じています。
深層学習モデルは、コンピュータビジョン (CV) から自然言語処理 (NLP) まで、さまざまな問題に対して開発されてきた。ただし、これらのモデルでは、推論時にエッジデバイスとモバイルデバイスのハードウェアの制約に引っ張られる大量のコンピューティングリソースとメモリリソースが必要になることが多い。Edge TPUなどのカスタムアクセラレータハードウェアは、モデルの推論待ち時間を改善できるが、多くの場合、パラメータの量子化やモデルのプルーニングなど、モデルの変更が必要になる。Googleのチームを含む一部の研究者は、AutoMLを使用して特定のアクセラレータハードウェアを対象とした高性能モデルを設計することを提案している。
APOLLOチームの戦略は、対照的に、特定の深層学習モデルのパフォーマンスを最適化するようにアクセラレータハードウェアをカスタマイズすることだ。アクセラレータは、処理要素 (PE) の2Dアレイに基づいており、各PEには、多数の単一命令マルチデータ (SIMD) コアが含まれている。この基本パターンは、PEアレイのサイズ、PEあたりのコア数、コアあたりのメモリ量など、いくつかの異なるパラメータの値を選択することでカスタマイズできる。全体として、設計スペースには5億近くのパラメータの組み合わせがある。提案されたアクセラレータの設計はソフトウェアでシミュレートする必要があるため、深層学習モデルでのパフォーマンスの評価に時間と計算が集中する。
APOLLOは、Google社内の「ブラックボックス」最適化ツール Vizier に基づいて構築されており、Vizierのベイズ最適化法がAPOLLOのパフォーマンスを評価するためのベースライン比較に使用される。APOLLOフレームワークは、ランダム検索、モデルベース最適化、進化的検索、および母集団ベースのブラックボックス最適化 (P3BO) と呼ばれるアンサンブル手法を含むいくつかの最適化戦略をサポートする。Googleチームは、3つの異なるチップ面積の制約について、MobileNetV2やMobileNetEdgeなどの一連のCVモデルに最適なアクセラレータパラメータを検索するいくつかの実験を実行した。彼らは、P3BOアルゴリズムが最良の設計を生み出し、利用可能なチップ面積が減少するにつれて、Vizierと比較してそのパフォーマンスが向上することを発見した。手動の徹底的なガイドまたは「ブルートフォース」検索と比較して、P3BOは、36%少ない検索評価を実行しながら、より良い構成を発見した。
AI推論を改善するためのアクセラレータハードウェアの設計は、活発な研究分野だ。Appleの新しいM1プロセッサは、AI計算を高速化するように設計されたニューラルエンジンが含まれている。スタンフォードの研究者は最近、Natureに、より小さなチップのネットワークを使用して単一の大きなアクセラレータをエミュレートするIllusionと呼ばれるシステムについて説明する論文を公開した。Googleでは、科学者がチップの平面設計を最適化する作業を公開して、物理チップ上の集積回路コンポーネントの最適な配置を見つけている。