第281回 OpenAIも参入とうわさの「AIチップ」は何を行うチップなのか? その用途は?:頭脳放談
OpenAIが独自のAI(人工知能)チップを開発しているという報道があった。OpenAIが正式に発表したものではないが、かなり確度が高そうだ。AIチップとはどういったものなのか、どういった用途に使うものなのかを簡単に解説しよう。
Copilot in Windowsで生成した「OpenAIのイメージ」
OpenAIの画像生成AI「DALL-E」を採用するCopilot in Windowsを使って「OpenAIをイメージする画像」を生成してみた。こうした画像を生成するための学習にAIチップが求められている。なお生成した画像は、1024×1024ドットなので、これをトリミングして、文字を載せている。
対話型AI(人工知能)の「ChatGPT」や画像生成AI「DALL-E」でおなじみの「OpenAI」が独自半導体開発を検討している、という報道があった。ロイター通信が報じたもので、OpenAIが正式に発表したものではないのだが、報道によれば複数の計画が検討されているようだ(ロイター通信の報道「Exclusive: ChatGPT-owner OpenAI is exploring making its own AI chips」)。
生成AIの大ブレークとともに、再びAIチップの開発に目が向けられている。再び、と書くのは、以前大盛り上がりの時期があったと記憶しているからだ。何十年も前から雌伏を続けてきたニューラルネットワークが、DNN(ディープニューラルネットワーク)の開発で一気にブレーク、これが実用になる、がっぽりともうかりそうだ、ということでみんなが食いついたのは、10年以上前の話だ。
その手のAIチップを手掛けている会社は枚挙に暇(いとま)がないほどであった。その後その手の話題が少なくなっていた。一部の会社やプロジェクトは淘汰されてしまったのではないかと思う。しかし、それはAIチップが廃れたというよりも、AIと呼ばれている技術がより一般化し普及した状態になったがためだと思う。
一般的なAIチップは何を行うチップなのか
背景知識として一般的なAIチップが何を行うチップなのかを簡単に説明しておきたい。AIのアルゴリズムは数々あるが、ほとんどのアルゴリズムで計算のボトルネックとなるのは、大きな行列の積の計算である。
DNNで繰り返される負荷の重い演算はコンボリューション(畳み込み)演算だ。学校では畳み込みを教えるときに積分記号などが登場してくるが、デジタルな計算としては積和算に帰着する。
これを非常に多数の値の組(画像認識であればそのデータの起源は画素であったりするが、途中は画像だろうと音声だろうと関係ない)に対して適用していく。その計算を整理するとメモリの上に置かれた大きな行列同士の積の計算に見えるわけだ。
高校のときに手計算で行列積を求めたことを思い出したら分かるだろう。掛けて足しての連続である。そして、同じ値を何度か読み出す必要もある。よってこれをハードウェア化する場合、掛け算と足し算をいかに並列に高速に行うか、また、巨大な行列になるとそのアクセス時間も問題になるのでいかに効率よく読み出し、結果を格納するのか工夫がいるわけだ。ある意味やることは意外と単純である。
当然、普通のプロセッサを使っても行える計算である。問題はその計算回数の多さだ。計算回数の多さは、イコール「時間」である。時間短縮という目的のために、NVIDIAに代表されるGPUを使うことが多いわけだ。そしてAIチップの目的も同じである。チップにお金を払って時短するのだといってもよい。
スマートフォン向けプロセッサでもAI向けの機能がサポートされている
ここでAIに使われる技術の一般化の一例として、多分全てのスマートフォン(スマホ)が搭載しているArmプロセッサにおける半精度浮動小数点演算のサポート状況を指摘しておきたい。
先ほどのコンボリューション計算であるが、初期のDNNアルゴリズムでは、単精度浮動小数点数(32ビット)として計算されることが多かった。科学技術計算などでは倍精度浮動小数(64ビット)が普通で、グラフィックス計算などでは単精度なので、AI以前には倍精度、単精度のサポートで十分だった。ここで精度が上がれば、一度に計算できる要素の個数は減る関係にあることに注意されたい。
一方、AI分野では、当初は単精度だったが、後に精度を落とした半精度(16ビット)でも十分なアルゴズムが増えた。最近ではFP8と呼ばれる8ビット幅でも可になりつつある。それだけ並列度を上げ、速度を上げることが求められているわけだ。
Armプロセッサの場合、Arm v8とよばれるアーキテクチャでプロセッサとして64ビット化を果たした。その時点では倍精度、単精度浮動小数のサポートはあったが半精度は持っていなかった。ところが Arm v8.2(登場は2017年くらいだったはず)からは、半精度浮動小数点数が標準的にサポートされている。
つまり最近のスマホのプロセッサには、広くAI向けの半精度が装備されているわけだ。それ以前と比べ、ビット幅が半分になった分、一度に2倍の演算ができるようになっている。さらに動作周波数やその他の向上はまた別の話なので、半精度の性能はかなり高くなっているはずだ。
普通のプロセッサでも、可能なラインの数字が年々上昇しているということでもある。それに追従できない専用AIチップなどは、お役御免というわけだ。しかし、「AIチップ、AIチップ」と声高に言っていないが、実質AIチップに相当する組み込み向けのチップは多数存在していると思われる。
末端サイドかサーバ機サイドかで状況は異なる
これには、AIにおけるユースケースの2面性が影響しているように思う。生成AI以前の一般的なAIの場合、学習と推論という2つのフェーズがある。大量のデータを処理して学習するフェーズと、そのデータを使って新たに入力されたデータから推論(例えば画像認識)するようなフェーズだ。
典型的な利用シナリオとして、学習はデータセンターのサーバ機上で行うのに対して、組み込み向け応用での推論フェーズは末端のデバイスで行われることが多い。端的な例でいえば、自動運転である。認識といった処理は既存のデータセットを使って末端サイドのデバイスで高速に処理を行わないといけないのだ。
このため、AIサポート的な機能を搭載した組み込み向けのプロセッサの利用や、数量が少ない応用ではFPGA上にAIサポート機能を集積するといった実装が普通に行われている。
末端サイドでのAI処理は、誰でもできるし、それほど難しくもない、という環境にあるのだ。そして組み込み向けなのであまり目立たないし、詳しいことは公開されていないことも多い。
一方、サーバ機サイドの状況はどうか考えてみよう。10年前にはサーバ機サイドの市場を狙った外販向けのAIチップというものも多数あったと記憶している。しかし、現状はかなりが脱落してしまったのではないだろうか。市場のほとんどはNVIDIAのGPU(一部AMDもあるだろうが)ではないかと思う。それに対抗する位置にいるのはGoogleのTPUくらいだろう。
まずいえることは、サーバ機向けのAIチップは、NVIDIA製GPUのAI性能向上の年々向上するトレンドを上回りつづけないと勝ち目がないということだ。しかし、NVIDIAクラスの性能をマークするために必要な半導体の開発コストはべらぼうだ。チップを外販して設けるビジネスモデルでは、とてもではないが最初の障壁を乗り越えられないだろう。
すると、サーバ機サイドで成り立ちそうなのは、内部に大きな自家消費が見込めるデータセンターを持った最大手のIT企業でしかない。GoogleとかAmazonなどだ。
実際、GoogleはTPUという自社開発の専用プロセッサをAI処理向けに使ってきている(Google TPUについては「Cloud TPUの概要」ページ参照のこと)。TPUの「T」はTensor(多次元配列)の「T」である。先ほどは行列計算と説明したが実際の計算では多次元の配列を使うことが多いからだろう。何世代かの開発を継続しているようだ。
大きな半導体開発コストを負担しつづけてもNVIDIAから高価なGPUを大量に買うよりも効果があれば、OKっていうことだろう。それに自社開発の専用機なら自社開発のアルゴリズムと整合性がよい。他社のハードウェアに依存するようなライブラリを作ってしまうと、自社開発の手が縛られることになりかねない。
OpenAIのAIチップ開発はありか、なしか?
そうして考えてみると、OpenAIが半導体を自社開発という話はあり得ない話ではない。しかし、半導体の開発コスト、とくにそれを継続しないといけないことを考えると、膨大な資金が流入しているであろうOpenAIにとってもそう簡単ではないように思われる。
ただ、OpenAIのチップを使ったデータセンターが今後何十倍、いや何百倍に成長すると考えているのならばあり得る話だ。今の勢いであればそういう未来が描けているのかもしれない。それにOpenAIの後ろには、長期的なパートナーシップを結んでいるMicrosoftもいる。
一方、組み込み向けに生成AI向けのAIチップが現れるかどうかは、現時点ではかなり疑問だ。現時点で、末端側に負荷を担当させることが妥当な生成AIのアプリケーションというものが、考えつかないからだ。凡人が考え付かないだけでどこかで誰かが考えついているのかもしれないが。勝負はサーバ機サイドだろう。
筆者紹介
Massa POP Izumida
日本では数少ないx86プロセッサのアーキテクト。某米国半導体メーカーで8bitと16bitの、日本のベンチャー企業でx86互換プロセッサの設計に従事する。その後、出版社の半導体事業部などを経て、現在は某半導体メーカーでヘテロジニアス マルチコアプロセッサを中心とした開発を行っている。
Copyright© Digital Advantage Corp. All Rights Reserved.