Back to Blog

AIが牽引するソフトウェア定義のヘテロジニアス・コンピューティング時代

Image of ダスグプタ サキャシンガ 博士
ダスグプタ サキャシンガ 博士
お気に入りのポッドキャストプラットフォームで聴く

人工知能(AI)アプリケーションの急速な発展により、高性能でエネルギー効率の高いコンピューティング・システムの需要がますます高まる

しかし、Von Neumannプロセッサをベースとした従来のホモジニアス・アーキテクチャは、大規模な並列処理、大量のデータ、複雑な計算を伴うことが多いAIワークロードの要件を満たす上で課題に直面しています。ヘテロジニアス・コンピューティング・アーキテクチャは、専門的な能力と機能を持つ多種多様なプロセッシング・ユニットを統合したもので、AIアプリケーションの有望なソリューションとして浮上しています。我々の見解では、AIはソフトウェア定義のヘテロジニアス・コンピューティングの次の時代を牽引し、複雑な問題に対するより良いソリューションを可能にします。

AIの文脈におけるヘテロジニアス・コンピューティング

コンピューティング・アーキテクチャにおけるヘテロジニアス(異種性)とは、汎用プロセッサ、再構成可能なデバイス、アクセラレータ、センサーなど、異なるタイプのコンピューティング・デバイスが、さまざまな方法で統合・相互接続され、複雑なシステムを形成している状況を指します。これらのシステムは、シングルチップからデータセンター、分散処理ネットワークまで、複数の粒度レベルにまたがることができます。異種性には、異なる命令セット、メモリモデル、プログラミングモデル、通信プロトコルが含まれることもあります。

異種性の主な目的は、性能、消費電力、コスト、柔軟性のトレードオフを最適化することです。リアルタイムのビデオ解析や音声認識のようなAIアプリケーションは、高い計算強度と低レイテンシを必要とする場合があります。このような場合、ワットあたりに高い性能を発揮する特定のハードウェア・アクセラレータの利点を生かすことができます。一方、自然言語処理やレコメンデーション・システムなど、AIタスクの中には多様で動的なデータソースやモデルを含むものもあります。これらのタスクは、急速に進化するAIのワークロードやデータの特性に合わせて、再構成可能なプロセッサ・アーキテクチャから恩恵を受けることができます。

ヘテロジニアス・コンピューティングにおけるソフトウェアの課題

しかし、ヘテロジニアス・コンピューティング・アーキテクチャは、ソフトウェア開発と最適化に対して大きな課題をもたらします。

これらの課題には以下のようなものが挙げられます。

  • 異なるプロセッシング・ユニット間でのワークロードの分割と分散
  • 異なるメモリ階層とインターコネクト間でのデータ移動と通信の管理
  • 異なる粒度レベルでの並列性と同時性の利用
  • 性能、エネルギー、精度、信頼性のトレードオフのバランス調整
  • 異なるプラットフォームやデバイス間でのソフトウェアの移植性と拡張性の確保

基礎となるハードウェアの複雑さと異種性を抽象化し、高レベルのプログラミング・モデルとインターフェイスを提供できるソフトウェア・ツールとフレームワークは、これらの課題に対応するために不可欠です。このようなソフトウェア・ツールやフレームワークにおけるAI技術は、特にリソースに制約のあるエッジ・デバイスの性能とエネルギー消費を最適化するために開発されつつあります。例えば、機械学習はさまざまな処理ユニットの動作や特性をモデル化し、最適なシステム構成を予測することができます。AIプランニングは、パラメータ空間を探索し、効率的な実行計画を生成することができます。強化学習はフィードバックを受け取り、ダイナミックな環境や変化する作業負荷に適応することができます。

EdgeCortixのヘテロジニアス・コンピューティング向けMERAソフトウェアとコンパイラ・フレームワーク

EdgeCortixでは、特にエッジAIソリューション用に、ヘテロジニアス・コンピューティング環境向けに設計された機械学習強化ランタイム・アクセラレーション・ソフトウェアとコンパイラフレームワークとしてMERAを開発しました。MERAは、統一されたプログラミング・インターフェイス、プロセッサの組み合わせをターゲットに最適化されたコードを生成できるスマートコンパイラで、異種システムの実行と適応を動的に管理できるランタイムを提供することで、異種システムのソフトウェア開発プロセスを簡素化し、自動化することを目指しています。MERAは、アプリケーションの要求に合わせて、ソフトウェアと基礎となるハードウェアを構成することで、ソフトウェア定義の異種混在コンピューティング・ソリューションを可能にします。

EdgeCortix edge AI inference products and technology include hardware, IP, and software in one workflow for AI developers

MERAのプログラミング・インターフェースを活用することで、機械学習の開発者は、各ターゲット・プロセッサやデバイスの詳細を気にすることなく、PythonやC++などの高位言語でアプリケーション・コードを書くことができます。その後、MERAコンパイラはコードを解析し、追加デバイスにまたがり、または、追加デバイスと組み合わせて実行できるように、異なるセグメントに自動的に分割します。コンパイラは、ループのアンローリング、ベクトル化、タスクの並列化、メモリ管理、データレイアウトの変換など、さまざまな最適化技術を適用して、各デバイスに対して効率的なコードを生成します。

MERAのコンパイラとランタイムは、混合されたヘテロジニアス(異種)・プロセッサに実行ファイルを展開し、実行する役割を担い、CPU、ネットワーク・プロセッサ・ユニット(NPU)、あるいはプログラマブル・ロジックなど、各アプリケーションに最適なデバイスの組み合わせを選択します。コンパイラはまた、モデルタイプ、INT8やFP16などのモデル精度、データサイズや解像度、消費電力などのワークロードや環境条件を監視し、それに応じて異種システム間の構成や動作を動的に調整することができます。例えば、コンパイラとランタイムは、モデルの精度や性能基準に基づいて、異なるデバイスやコードセグメントを切り替え、ディープニューラルネットワークモデルや複数のモデルを、利用可能な異種プロセッサに分散するための最適な演算グループに分割することができます。

MERAはまた、あらかじめ最適化されたカーネルのライブラリと、標準的なAI操作(畳み込み、プーリング、活性化、マスクまたはマルチヘッドアテンションなど)から認識したパターンのセットを提供し、異種プロセッサに対応するコンピューティングエンジンで最適に実行できます。MERAライブラリは、さまざまなスケジューリングとメモリ割り当てのテクニックを利用し、コンパイル時に、与えられたコンフィギュレーションにおけるレイテンシや計算利用率など、ターゲット・メトリックを繰り返し最適化することができます。

MERAソフトウェアとコンパイラ・フレームワークは、幅広いソフトウェア定義のヘテロジニアス・コンピュート・エンジンをサポートしています。その一例として、EdgeCortix SAKURA-Iエッジ推論プロセッサは、推論実行時にランタイムで再構成可能な専用NPU(EdgeCortix Dynamic Neural Accelerator技術に基づく)を備えており、汎用ホストプロセッサ(Arm、x86、またはRISC-Vコア)や、追加のディスクリートFPGAアクセラレータ等と組み合わせることができます。MERAは、機械学習ベースのエンド・アプリケーションを、パフォーマンスを最大化しながら、低消費電力条件下で、この混合処理エンジン全体で高速化することを可能にします。

EdgeCortix MERAソフトウェアを使用して開発する設計者は、低レベルのコードを書いたりハードウェアパラメータを手動で調整したりすることなく、EdgeCortix SAKURA-IエッジAIプロセッサ上で高性能かつ省電力のAI推論を実現できます。さらに、サポートされているインターフェイスを持つ新しいタイプのプロセッサやその他のサードパーティ製のデバイスを追加する場合、既存のMERAライブラリは新しい命令セットアーキテクチャをサポートするように簡単に拡張が可能です。

ソフトウェア定義のヘテロジニアス・コンピューティングのために開発

ムーアの法則が崩壊するにつれ、トランジスタの微細化による性能向上は減少しており、ホモジニアス・マルチコア・ソリューションは、特に効率性が決定基準となる場合、すべてのコンピューティング問題を解決するわけではありません。半導体エンジニアはアーキテクチャの改善にますます注力し、複数のプロセッサ(CPU、GPU、ASIC、FPGA、NPU)が連携して性能を向上させるヘテロジニアス・コンピューティングへと移行しています。

AIのパフォーマンスを加速するためには、新しいタイプのソフトウェアとコンパイラが不可欠です。 このような背景から、リアルタイムかつ高性能なエッジAIソリューションを展開するために開発されたEdgeCortixのMERAソフトウェアとコンパイラフレームワークを紹介しました。 ソフトウェアで定義されたヘテロジニアス・コンピューティングの新時代において、このようなソフトウェアは、AIアプリケーションを大規模に開発・展開するために必要かつ柔軟なツールとなるでしょう。

MERAについての詳細はこちら

時代を先取り: 最新のエッジAIテクノロジーの動向について知るには、ぜひ、当社のブログを購読してください!


エネルギー効率に優れたエッジプロセッサー上のマルチモーダル生成AI

Image of ダスグプタ サキャシンガ 博士
ダスグプタ サキャシンガ 博士
{% module_block module "widget_1688060947752" %}{% module_attribute "child_css" is_json="true" %}{%...
READ MORE
Edge AI software workflows can start with PyTorch, TensorFlow, or ONNX models, and MERA automatically converts them to code for EdgeCortix DNA IP with no hardware-specific knowledge required

PyTorch、TensorFlow Lite、ONNXモデルでエッジAIソフトをつなぐ|EdgeCortix

Image of Antonio Nevado
Antonio Nevado
READ MORE