人工知能(AI)用コンピューター分野のスタートアップであるGraphcoreの最高経営責任者(CEO)Nigel Toon氏は、「よく誤解されているのだが、これはハードウェアの問題であるのと同じくらいソフトウェアの問題でもある」と語る。
![Nigel Toon氏](/storage/2022/06/21/aeae9fc626abafe4c10bdf85fc9f0209/dp3q2814_333x500.jpg)
提供:Tiernan Ray for ZDNet
Graphcoreは、AI処理のために設計された、1つのチップに1000基以上のプロセッサーコアを搭載している「インテリジェンスプロセッシングユニット」(IPU)を使用したシステムを開発していることで有名だ。
同社の最新のマシンには、2つのダイを上下に重ねた「Bow」と呼ばれるIPUチップが採用されている。
ところが、先週まで英国のブリストルにあるGraphcore本社にいたToon氏は、米ZDNetの取材に対して、AIが処理する問題はますます大規模になっているが、その課題の中心にあるのはソフトウェアであり、ハードウェアの影響は、もちろん小さいわけではないにせよ、ある意味では二次的なものだと主張した。
同氏は、マンハッタンのユニオンスクエアの近くにあるThe Grey Dogと呼ばれるカフェでランチを取りながら、「いろいろと変わったハードウェアを作ることができても、もし人間の能力をハードウェアで実行できる非常にシンプルなレベルで説明できるものに変換できるソフトウェアを作れなければ、実際のソリューションを生み出すことはできない」と語った。
Toon氏は、コロナ禍によるロックダウンが終わってから何度も出張しており、今回の渡米もそうした出張の1つだった。顧客とまた直接会えるようになったことを喜ぶ同氏は、また出張ができるようになり、顔を突き合わせて話ができるようになったのは良いことだと話した。
Toon氏が今回の米国出張で特に強調したことの1つが、ソフトウェアの要素だった。具体的には、「PyTorch」や「TensorFlow」などのAIフレームワークを使って書かれたプログラムを、効率的な機械語に変換する同社のソフトウェア「Poplar」の機能についてだ。
実際、この変換作業はAIにとって非常に重要だとToon氏は言う。どんなハードウェアを作った場合でも、PyTorchやTensorFlowのプログラマーがやりたいことを、プロセッサーで処理できる形に変換することは難しい課題だ。
一般に、AIのハードウェアに一番求められるのは、ニューラルネットワークの重みを更新する作業の構成要素である、行列演算を高速化することだと考えられている。しかし、根本的な部分ではそうではないとToon氏は言う。
「行列演算だけが重要なわけでも、畳み込みだけが重要なわけでもない。では、他に必要な演算にはどんなものがあるだろうか」とToon氏は問いかけた。
実際には、データの複雑さの方がはるかに重要な問題だと同氏は言う。
Toon氏によれば、GPT-3のような大規模なニューラルネットワークは、実際には連想記憶のようなものであり、必要不可欠なデータ間の結合や、メモリからの情報の出し入れがコンピューティングのボトルネックになるという。
Toon氏は、そうした結合に関する問題について熟知している。同氏は、後にIntelに買収されたプログラム可能なプロセッサーのメーカーであるAlteraで14年間働いていたことがあるからだ。同社が生産していたプログラム可能なロジックデバイス(FPGA)は、セルと呼ばれる論理ブロックを持っており、タスクに応じてセルの間のヒューズを焼き切って相互にリンクする仕組みになっている。