Maia 200: A Software Defined Dataflow System for Large-scale AI Acceleration
本論文は、スレッド中心からデータ移動中心のコンピューティングへと転換するために、新規のソフトウェア定義型局所アクセス・データフロー・アーキテクチャ(SDLA)を活用した、高性能かつ高エネルギー効率なAIアクセラレータであるMaia 200を紹介しており、それによって大規模なAI推論ワークロードに対して膨大な並列性と大幅なコスト削減を実現している。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
コンピューティングの世界は現在、詩を書き、複雑な数学の問題を解き、単純な記述から画像を生成できる新しい種類のソフトウェアによって、大規模な転換期を迎えています。これらのシステムは「大規模言語モデル」として知られており、実行するために膨大な量の計算能力を必要とします。長年、業界は、データを中央の脳によって処理されるのを待つ命令のストリームとして扱う、特定のチップ構成方法に依存してきました。しかし、これらのモデルがより大きく、より複雑になるにつれ、この伝統的な手法は限界に達しつつあります。チップは実際に計算を行うよりも、データが到着するのを待っている時間に多くの時間を費やしており、その結果、構築と運用に莫大な費用がかかり、膨大な電力を消費するシステムを生み出しています。核心となる課題は、もはや単に計算を速くすることではなく、データそのものをいかに効率的に移動させるかという点にあります。
マイクロソフトの研究チームは、「Maia 200」と名付けられたチップを用いて、この問題を解決するための新しいアプローチを導入しました。彼らは、古い考え方を無理に機能させようとするのではなく、コンピュータチップが情報を処理する方法の根本的なルールを変える設計を行いました。彼らはこの新しい設計を「ソフトウェア定義型局所アクセス・データフロー(Software Defined Locally Accessed Dataflow)」アーキテクチャと呼んでいます。簡単に言えば、これは、中央のコマンドが次に何をすべきかを指示するのを待つことなく、チップがデータを必要な場所に、必要な時に、正確に移動させるように作られていることを意味します。研究者たちは、この手法によって、チップが従来の設計よりもはるかに高い速度とエネルギー効率で計算を実行できることを証明しました。これは、現在業界を制限している莫大なコストとエネルギーのペナルティを伴うことなく、次世代の人工知能を動かすためのソリューションを提供します。
なぜこれが重要なのかを理解するには、現代のコンピュータが通常どのように動作しているかを見る必要があります。数十年にわたり、標準的な設計は、中央のプロセッサが大規模で共有されたメモリバンクからデータを取得し、それに対して作業を行い、その後データを送り返すというものでした。これは多くのタスクには適していますが、人工知能に必要な大規模で反復的な計算においては、ボトルネックを生み出します。プロセッサは、データがチップ上を移動してくるのを待つ間、しばしばアイドル状態になります。マイクロソフトのチームは、このような特定のワークロードに対しては、最も効率的な経路は単一の中央司令官を持つことではなく、データ自体に独自の命令を与えることであると気づきました。彼らは、データの移動が明示的にプログラムされ、チップの異なる部分が独立して並列に動作できるシステムを作り上げました。これにより、焦点は実行のスレッドを管理することから、情報の流れそのものを管理することへと移行しました。
Maia 200チップは、この概念を物理的に具現化したものです。これは1,400億個以上のトランジスタを含む巨大なシリコンの塊であり、学習済みモデルを使用して回答を生成するプロセスである「AI推論」の重労働を処理するために特別に設計されています。このチップは、メモリを計算を行う部分のすぐ隣にある、多くの小さく特化したポケットに分割するというユニークな内部構造を備えています。これは、一つの巨大なメモリプールを持つという伝統的な設計からの意図的な脱却です。データを使用される場所の近くに保持することで、チップはシリコン上を長距離移動することに伴うエネルギーの浪費と時間の遅延を回避します。研究者たちは、この設計により、チップがその電力制限内で以前は不可能と考えられていたパフォーマンスレベルを達成し、750ワットのエネルギー予算内に収めながら、膨大な計算能力を提供できることを見出しました。
Maia 200を真に際立たせているのは、データの移動をどのように扱うかという点です。古いシステムでは、コンピュータは多くの場合、「キャッシュ」と呼ばれる、プロセッサが次に必要だと判断したデータを自動的に保存する小さな高速メモリに依存しています。これは汎用的なコンピューティングには適していますが、マイクロソフトのチームは、人工知能の予測可能で反復的なパターンにおいては、自動的なキャッシングは実際には非効率的であることを発見しました。それは複雑さとオーバーヘッドを加え、処理を遅らせます。代わりに、Maia 200は、プログラマーがどこにいつデータを移動すべきかをチップに明示的に指示するシステムを使用しています。これはプログラミングを難しくするように聞こえるかもしれませんが、研究者たちは、専門家が最大限の速度を必要とする際にデータの移動を完全に制御できる一方で、一般的なタスクにはよりシンプルなツールも提供できる新しいソフトウェア層を設計しました。このアプローチにより、チップは自動システムが到底及ばないレベルの精密さを実現し、プロセッサのあらゆる部分をフル稼働させ、常に全力で働かせることが可能になります。
このチップはまた、大規模なクラスター内の他のチップともシームレスに連携するように設計されています。人工知能モデルは非常に巨大であることが多いため、単一のチップには収まりきらず、数千のチップが共同で動作する必要があります。Maia 200は、チップ内に直接組み込まれた高度なネットワークを備えており、チップ内部でデータを移動させるのと同じくらい容易に、他のチップとデータの送受信を行うことができます。研究者たちは、このシステムが数千のチップを接続し、毎秒クインティリオン単位の計算を実行できるスーパーコンピュータを構築できることを実証しました。彼らは、数十億のパラメータを持つ大規模言語モデルを含む実世界の人工知能モデルを用いてこのシステムをテストし、ハードウェアの理論上の最大値の70パーセントを超える速度でテキストを生成できることを見出しました。これは、新しいアーキテクチャが単に理論上で機能するだけでなく、実用的で複雑なシナリオにおいても効果的に動作することを示す、重要な成果です。
研究における最も重要な発見の一つは、コストとエネルギーへの影響です。チームは、この新しい設計を使用することで、大規模な人工知能システムにおける総所有コスト(TCO)を、他の利用可能なアクセラレータと比較して30パーセント削減し、エネルギー消費を15パーセント削減できると算出しました。エネルギー料金が主要な懸念事項となり、計算能力への需要が指数関数的に増加している業界において、これらの節約は極めて大きな意味を持ちます。研究者たちは、チップを小型化したり製造コストを下げたりすることによってではなく、システム全体をその仕事に対してより効率的にすることによって、これを達成しました。不要なデータの移動に費やされる無駄な時間とエネルギーを排除することで、チップはより少ない電力でより多くの仕事をこなしているのです。
Maia 200は、将来のコンピュータをどのように構築すべきかについての重要な一歩を示しています。それは、すべてを管理する単一の中央の脳という古い概念から離れ、データが専門化されたワーカーのネットワークを通じて自由かつ効率的に流れるモデルを受け入れています。研究者たちは、データの移動を制御し、メモリを必要な場所に配置することで、より高速で、より安価で、よりエネルギー効率の高いシステムを構築できることを示しました。彼らの研究は、高性能コンピューティングの未来が、単に計算を速くすることではなく、データそのものをいかに管理し、移動させるかという再考にあることを証明しています。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。