Apollo:コンピュータアーキテクチャのために機械学習を活用(1/3)

モデル

1.Apollo:コンピュータアーキテクチャのために機械学習を活用(1/3)まとめ

・最近の機械学習の進歩の要因の1つにTPUなどのカスタムアクセラレータの開発がある
・急速に進化するMLモデルに順応するためにアーキテクチャの革新を続ける必要がある
・本研究ではMLをシステム仕様とアーキテクチャ設計に融合することに焦点を当てた

2.コンピュータアーキテクチャのための機械学習

以下、ai.googleblog.comより「Machine Learning for Computer Architecture」の意訳です。元記事の投稿は2021年2月4日、Amir Yazdanbakhshさんによる投稿です。

アイキャッチ画像のクレジットはPhoto by Brian McGowan on Unsplash

最近の機械学習(ML:Machine Learning)の進歩の主な要因の1つは、Google TPUsEdge TPUsなどのカスタムアクセラレータの開発です。これにより、利用可能な計算能力が大幅に向上し、AlphaGo、RankBrain、WaveNets、会話型エージェントなどの様々な事が実現出来るようになりました。この計算能力の向上により、ニューラルネットワークのトレーニングと推論のパフォーマンスが向上し、視覚言語理解、自動運転車などの幅広いアプリケーションで新しい可能性が生まれます。

これらの進歩を維持するには、ハードウェアアクセラレータのアーキテクチャ設計に関する革新を続け、急速に進化するMLモデルとアプリケーションに順応する必要があります。

これには、多くの異なるアクセラレータの設計上の特質を評価する事が必要であり、それぞれが計算能力を向上させるだけでなく、新しい機能を解明する可能性があります。

これらの設計上の特質は、一般に、さまざまなハードウェアおよびソフトウェア要因(メモリ容量、様々なレベルの計算ユニットの数、並列処理、相互接続ネットワーク、パイプライン、ソフトウェアマッピングなど)によってパラメータ化されます。

これは困難な最適化タスクです。探索スペースが指数関数的に大きくなる一方で、目的関数(たとえば、より低い待ち時間および/またはより高いエネルギー効率)は、シミュレーションまたは合成を通じて評価するために計算コストが高く、実行可能なアクセラレータ構成の識別が困難になります。

論文「Apollo:Transferable Architecture Exploration」では、カスタムアクセラレータをML駆動型で設計する研究の進捗状況を紹介します。

最近の研究では、MLを活用して低レベルのフロアプランプロセス(ハードウェアコンポーネントが空間的に配置されフロアでシリコンを接続する作業)を改善するという有望な結果が示されています。

しかし、本研究ではMLを高レベルのシステム仕様とアーキテクチャ設計段階に融合することに焦点を当てます。チップでは高レベルの機能を制御する設計要素が確立されるため、全体的なパフォーマンスに重要な要因となります。

私達の研究は、MLアルゴリズムがアーキテクチャの探索をどのように促進できるかを示しています。また、画像分類、オブジェクト検出、OCR、セマンティックセグメンテーションなど領域に適用可能な、様々なディープニューラルネットワークにわたる高性能なアーキテクチャを提案します。

アーキテクチャの探索スペースとワークロード

アーキテクチャ探索の目的は、ワークロードのセットに対して実行可能なアクセラレータパラメータのセットを検出することです。オプションとして設定可能なユーザー定義制約のセットの下で、目標の目的関数(実行時間の加重平均など)が最小化されるようにします。

ただし、アーキテクチャ探索は多様であり、一般に、ソフトウェアからハードウェアへの実行可能なマッピングがない多くのポイントが含まれています。これらの設計ポイントの一部は事前にわかっており、ユーザーが最適化制約として定式化(例えば、エリアバジェット制約の場合、合計メモリサイズが事前定義された制限を超えてはなりません)することで迂回できます。

しかし、アーキテクチャとコンパイラの相互作用と探索スペースの複雑さのために、一部の制約が最適化に適切に定式化されない可能性があり、コンパイラはターゲットハードウェアの実行可能なソフトウェアマッピングを見つけられない可能性があります。

これらの実行不可能な点は、最適化問題で定式化するのは簡単ではなく、コンパイラパス全体が実行されるまで一般的に不明です。そのため、アーキテクチャ探索の主な課題の1つは、最小限のサイクル精度のアーキテクチャシミュレーションで、検索スペースを効率的に探索するために実行不可能なポイントを効果的に回避することです。

3.Apollo:コンピュータアーキテクチャのために機械学習を活用(1/3)関連リンク

1)ai.googleblog.com
Machine Learning for Computer Architecture

2)arxiv.org
Apollo: Transferable Architecture Exploration

タイトルとURLをコピーしました