【マウイ(米国)】Qualcommは23日(現地時間)、6月に買収したModularのAIソフトウェア基盤を全製品群に展開する方針を明らかにした。AIハードウェアの多様化で、チップごとに個別のソフトウェアを開発する負担が増していることを踏まえ、単一スタックによる統合を進める。Snapdragonもその対象に含まれる。
同社のクリス・ラトナー上級副社長(先端AIソフトウェア・プラットフォーム担当)は、Snapdragon Summitの基調講演で、Modularのソフトウェアスタックが現在、6社の6アーキテクチャを単一基盤でサポートしていると説明した。
ラトナー氏は、AI産業のボトルネックの1つとしてソフトウェアを挙げた。AIモデルをチップ上で動かすには、言語、コンパイラ、ライブラリなどで構成されるソフトウェアスタックが必要になるが、従来はハードウェアごとに別々のスタックを構築する必要があったという。
同氏は「業界は多様なハードウェアに莫大な資本を投じてきたが、最大の課題は常にソフトウェアだった」と述べた。そのうえで、「ハードウェアチームごとにスタックをゼロから作らなければならなかった」と指摘した。
従来は、似た機能を持つチップであっても、開発者は複数の異なるスタックを使い分ける必要があり、バグの出方もスタックごとに異なっていたという。AIモデル自体も多層にまたがる分散システムとして複雑化しており、どこか1層でも弱ければ競争力を損ないやすい構造になっているとした。
こうした課題への対応策として、Qualcommは6月にModularを買収した。狙いは、デバイス、エッジ、データセンターをまたいで、特定のチップに依存しないAIコンピューティング基盤を整備することにある。
Modularは、ラトナー氏が共同創業し、最高経営責任者(CEO)を務めていた企業だ。過去4年半にわたり、複数のハードウェアで動作する統合AIスタックを開発してきた。ラトナー氏は買収に伴いQualcommに加わった。
Modularのスタックは、「Mojo」「MAX」「Modular Cloud」の3層で構成される。最下層のMojoは、AIハードウェア向けの高性能プログラミング言語だ。Pythonの文法を維持しながらハードウェアを直接制御できるため、同じ処理を高水準言語と低水準言語で重複実装する必要を減らせるとしている。
従来、多くのAI開発者はPythonでモデルを作成してきたが、Pythonはハードウェア上での高効率な実行に向かず、高い性能を引き出すにはC++やCUDAなど低レベル言語への書き換えが必要だった。Modularは先月、Mojo 1.0を公開し、ソースコードをApache 2.0ライセンスで提供した。
その上位に位置するMAXは、AIモデルの設計、構築、サービングを担うフレームワークだ。学習済みモデルを実運用環境でユーザー要求に応じて動作させるサービングまでをカバーし、研究者が作成したモデルを対象チップ上で高性能に実行できるよう支援する。データセンターとローカルPCの双方で動作し、モデル作成から実行までを同一スタック内で扱えるという。
最上位のModular Cloudは、大規模な計算資源を使うAI導入企業向けのレイヤーとなる。サーバーのプロビジョニングやスケジューリング、スケール、最適化、稼働率管理をModular側が担い、利用者は既存のAPIやツールをそのまま使えるとしている。
Modularは最近、対応範囲をGPUからデータセンター向け専用アクセラレーターへ広げ、6つのアーキテクチャをサポートするようになった。アクセラレーターごとにコードを書き直す必要がない点が特徴だ。
Qualcommのデータセンター向けアクセラレーターも対応対象の1つで、Modularは同社のNPUソフトウェアにスタックを統合し、このアクセラレーターに適用したという。
Microsoftは現在、QualcommのModularチームと連携し、MojoをWindowsでネイティブにサポートする取り組みを進めている。Windows開発者が使い慣れたPython文法のままシステムレベルのプログラミングを行い、最適な性能を引き出せるようにするのが狙いだ。
Qualcommは今後、Modularのスタックをデータセンター以外の製品群にも拡大する。ラトナー氏は「Qualcommはマイクロワット級からキロワット超までをカバーするプラットフォームを持つ」と述べたうえで、「Modularのソフトウェアプラットフォーム全体をQualcommの全製品群に展開しており、その中にはSnapdragonも含まれる」と語った。