1.Apollo:コンピュータアーキテクチャのために機械学習を活用(3/3)まとめ
・アーキテクチャ探索のための最高の最適化戦略は進化的戦略とP3BO戦略であった
・設計上の制約を厳しくするとP3BO最適化戦略がパフォーマンスの高い解決策を見つける
・P3BOは他のすべての最適化戦略を上回る報酬を見付けつつより堅牢で変動が出力をする
2.制約下でのアーキテクチャ探索
以下、ai.googleblog.comより「Machine Learning for Computer Architecture」の意訳です。元記事の投稿は2021年2月4日、Amir Yazdanbakhshさんによる投稿です。
アイキャッチ画像のクレジットはPhoto by Brian McGowan on Unsplash
ランダムサンプリングアプローチと比較して、Vizierのデフォルトの最適化戦略は、「探索空間の探索」と「より高い報酬を持つ設計ポイントを見つけようとする事」との間でより良いバランス(1.14対0.96)を取ります。ただし、このアプローチは実行不可能な領域で立ち往生する傾向があり、最大の報酬(赤十字マーカーで提示)を持ついくつかのポイントを見つけますが、探索の最後の反復までに実行可能なポイントはほとんど見つけません。
上記では、Vizier(デフォルト)最適化戦略(最大報酬= 1.14)を使用しました。
最大報酬ポイント(赤十字マーカー)は、アニメーションの最後のフレームで強調表示されます。
一方、進化的最適化戦略は、最適化の非常に早い段階で実行可能なソリューションを見つけ、それらの周りに実行可能なポイントのクラスタを組み立てます。そのため、このアプローチは主に実行可能領域(緑色の円)に案内し、実行不可能なポイントを効率的に回避します。更に、進化的検索では、最大の報酬(赤い十字)でより多くのデザイン上の選択肢を見つけることができます。高い報酬を伴うソリューションのこの多様性は、設計者が様々な設計上のトレードオフを持つ様々なアーキテクチャを探索する際の柔軟性を提供します。
上記のように、進化的最適化戦略では(最大報酬= 1.10)になります。最大報酬ポイント(赤十字マーカー)は、アニメーションの最後のフレームで強調表示されます。
最後に、P3BOは、最適なソリューションを見つけるために、よりターゲットを絞った方法(報酬ポイントの高い領域)で設計空間を探索します。P3BO戦略は、制約が厳しい(たとえば、実行不可能なポイントの数が多い)探索空間で報酬が最も高いデザインポイントを見つけ、実行不可能なポイントの数が多い探索空間を探索する際の有効性を示します。
上記では、P3BO最適化戦略(最大報酬= 1.13)を使用しました。
最大報酬ポイント(赤十字マーカー)は、アニメーションの最後のフレームで強調表示されます。
様々な設計上の制約の下でのアーキテクチャの探索
また、6.8mm2、5.8mm2、および4.8mm2のさまざまなエリアサイズ制約の下で、各最適化戦略の利点を調査しました。以下のバイオリン図は、調査した最適化戦略全体で、最適化の終了時(4,000試行でそれぞれ10回実行した後)に達成可能な最大報酬の完全な分布を示しています。幅の広いセクションは、特定の報酬で実行可能なアーキテクチャ構成を観察する可能性が高いことを表しています。これは、報酬が高い(パフォーマンスが高い)ポイントで幅が広くなる最適化アルゴリズムを優先出来る事を意味しています。
アーキテクチャ探索のための2つの最高の最適化戦略は、進化的およびP3BOであり、両方とも、複数回の試行にわたって高い報酬と堅牢性を備えたソリューションを提供します。
様々な設計上の制約を調べると、エリアサイズ制約を厳しくすると、P3BO最適化戦略によってパフォーマンスの高いソリューションが得られることがわかります。
例えば、エリアサイズ制約が5.8mm2に設定されている場合、P3BOは、他のすべての最適化戦略を上回る1.25の報酬(スループット/アクセラレータエリア)を持つ設計ポイントを見つけます。エリアバジェット制約が4.8mm2に設定されている場合にも同じ傾向が見られ、複数の試行にわたってより堅牢で(変動が少ない)、わずかに優れた報酬が見つかります。
6.8 mm2のエリア制限の下での4Kトライアル評価後、最適化戦略全体で10回の実行で達成可能な最大報酬の完全な分布を示すバイオリン図。
P3BOおよびEvolutionaryアルゴリズムは、より多くの高性能設計(より広いセクション)を生成します。x軸とy軸は、それぞれ、調査した最適化アルゴリズムと、ベースラインアクセラレータに対するスピードアップ(報酬)の幾何平均を示しています。
前述と同様、5.8mm2のエリア制限の下
前述と同様、4.8mm2のエリア制限の下
まとめ
Apolloは、アクセラレータの設計スペースをよりよく理解し、より効率的なハードウェアを構築するための第一歩を示していますが、新しい機能を備えた加速器を発明することは、未知の領域であり、新しいフロンティアです。
本研究は、アーキテクチャ設計のためのML主導の手法をさらに探求するための刺激的な道であり、コンピューティングスタック全体での共同最適化(コンパイラ、マッピング、スケジューリングなど)により、次世代のアプリケーション向けの新機能を備えた効率的なアクセラレータの発明に繋がると信じています。
謝辞
本研究は、Amir Yazdanbakhsh, Christof Angermueller, and Berkin Akinによって実行されました。また、Milad Hashemi, Kevin Swersky, James Laudon, Herman Schmit, Cliff Young, Yanqi Zhou, Albin Jones, Satrajit Chatterjee, Ravi Narayanaswami, Ray (I-Jui) Sung, Suyog Gupta, Kiran Seshadri, Suvinay Subramanian, Matthew DentonおよびVizierチームの支援とサポートに感謝します。
3.Apollo:コンピュータアーキテクチャのために機械学習を活用(3/3)関連リンク
1)ai.googleblog.com
Machine Learning for Computer Architecture
2)arxiv.org
Apollo: Transferable Architecture Exploration