Skip to main content
QUICK REVIEW

[論文レビュー] Adapting to a Cambrian AI/SW/HW explosion with open co-design competitions and Collective Knowledge

Grigori Fursin|arXiv (Cornell University)|Sep 14, 2017
Parallel Computing and Optimization Techniques被引用数 2
ひとこと要約

本論文は、自動チューニングと知識共有を通じて継続的でコミュニティ主導のパフォーマンスおよびコストに配慮したソフトウェア工学を実現する、共同で開発されるオープンソースフレームワークであるCollective Mind (cM) を提案する。ソフトウェアに軽量なラッパーを組み込み、それらをパブリックリポジトリに接続することで、Paretoフロンティア分析を用いて多様なハードウェアにおける最適化のトレードオフを追跡し、リアルタイムで複数の目的を満たすチューニングを可能にし、コンパイラの効率性とアプリケーションの移植性を向上させる。

ABSTRACT

The original presentation was shared via SlideShare. Slides from the ARM's Research Summit'17 about the "Community-Driven and Knowledge-Guided Optimization of AI Applications Across the Whole SW/HW Stack": cKnowledge.org cKnowledge.org/repo cKnowledge.org/repo-beta cKnowledge.org/android-apps.html cKnowledge.org/ai developer.arm.com/research/summit Co-designing the whole AI/SW/HW stack in terms of speed, accuracy, energy consumption, size, costs, and other metrics has become extremely complex, long and costly. With no rigorous methodology for analyzing performance and accumulating optimisation knowledge, we are simply destined to drown in the ever growing number of design choices, system<br> features and conflicting optimisation goals.<br> <br> We present our novel community-driven approach to solve the above problems. Originating from natural sciences, this approach is embodied in Collective Knowledge (CK), our open-source cross-platform workflow framework and repository for automatic, collaborative and reproducible experimentation. CK helps organize, unify and share representative workloads, data sets, AI frameworks, libraries, compilers, scripts, models and other artifacts as customizable and reusable components with a common JSON API.<br> <br> CK helps bring academia, industry and end-users together to gradually expose optimisation choices at all levels (e.g. from parameterized models and algorithmic skeletons to compiler flags and hardware configurations) and autotune them across diverse inputs and platforms. Optimization knowledge gets continuously aggregated in public or private repositories such as cKnowledge.org/repo in a reproducible way, and can be then mined and extrapolated to predict better AI algorithm choices, compiler transformations and hardware designs.<br> <br> We also demonstrate how we use this approach in practice together with ARM and other companies to adapt to a Cambrian AI/SW/HW explosion by creating an open repository of reusable AI artifacts, and then collaboratively optimising and co-designing the whole deep learning stack (software, hardware and models).

研究の動機と目的

  • 急速に進化する異種ハードウェアプラットフォームにわたるソフトウェア最適化の増大する課題に対処すること。
  • 膨大で未探索の設計空間のため、従来のコンパイラが最適化の機会を活用できないという限界を克服すること。
  • ソフトウェアおよびハードウェアの構成にわたる最適化知識の共有と再利用を可能にする、スケーラブルでコミュニティ主導のインfrastrutureを構築すること。
  • 継続的なベンチマークと共同実験を通じて、実用的で再現可能かつ持続可能なパフォーマンス工学を実現すること。
  • 実世界のデータと機械学習を活用して最適な構成を予測し、自己チューニングシステムを支援すること。

提案手法

  • コンパイルフラグ、スレーディングモデル、アルゴリズム的バリアントなどの最適化パラメータを露出するように、ソフトウェアコンponent(「計算的種」)に軽量ラッパーを適用する。
  • パブリックなCollective Mind (cM) 自動チューニングインfrastrutureおよびリポジトリにラッパーを統合し、実際のハードウェア上でパフォーマンスおよびコストメトリクスを収集する。
  • Androidデバイスおよび一般ハードウェアでのクラウドソーシング実行を活用し、現実的な条件下でソフトウェアを継続的にベンチマークおよびチューニングする。
  • 実行時間、エネルギー、メモリ、コードサイズなどの複数の目的における最適なトレードオフを特定するためにParetoフロンティア分析を適用する。
  • 手動および自動で最適化ソリューションをソフトウェアの特徴、入力、ハードウェア特性と分類・剪定・相関づける。
  • JSONベースのAPIおよびビッグデータ分析を活用して、拡張可能で再利用可能かつ相互運用可能なパフォーマンス追跡および知識共有を支援する。

実験結果

リサーチクエスチョン

  • RQ1ソフトウェア工学は、自然科学に類似した継続的でデータ駆動のプロセスにどのように変革できるか?
  • RQ2コミュニティ主導でオープンなインfrastrutureは、多様なハードウェアおよび構成にわたるソフトウェアパフォーマンスの追跡と最適化を効果的に実現できるか?
  • RQ3現代のシステムの複雑性が増す中で、複数目的の自動チューニングをどのようにスケーリングおよび自動化できるか?
  • RQ4共同での知識共有と機械学習は、コンパイラ最適化とシステム信頼性の向上にどのような役割を果たせるか?
  • RQ5実世界の巨大なスケールのパフォーマンスデータを活用して最適な構成を予測し、チューニング作業を削減できるか?

主な発見

  • Collective Mindフレームワークは、多様なハードウェアプラットフォームにわたって15,000件以上のデータセットと300種類以上のソフトウェア種の収集に成功し、スケーラビリティと実世界への適用可能性を実証した。
  • 産業パートナーは、ARMおよびIntelプロセッサ向けのGCCコンパイラ最適化ヒューリスティクスに顕著な改善を報告し、ハードウェア検証中にアーキテクチャエラーの検出にも寄与した。
  • 静的コンパイルされた画像処理アプリケーションが、リアルタイム制約を満たし、エネルギー、メモリ、開発コストを最小限に抑える自己チューニングシステムに成功に変換された。
  • フレームワークは継続的で再現可能なベンチマークをサポートし、研究者が大規模で現実的かつ代表的なハードウェア・ソフトウェア基盤上で新しい最適化技術を検証できる。
  • Docker、Phoronix、Eclipseなどのツールとの統合により、自動化と導入が促進され、依存関係の追跡およびプラグイン統合がスムーズに実現された。
  • アーティファクト評価を促進し、非代表的または合成的なベンチマークに依存するのを減らすことで、ソフトウェア工学の長期的持続可能性を支援する。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。