JavaScriptが無効になっています。
このWebサイトの全ての機能を利用するためにはJavaScriptを有効にする必要があります。
企業価値を表す時価総額において、半導体メーカーの中で初めてアメリカのGAFAM(Google、Amazon、Facebook(現Meta)、Apple、Microsoft)を抜き、2024年6月に世界企業のトップに立ち、10月にも再び返り咲いたNVIDIA(アメリカ)。NVIDIAの得意とするGPU(Graphic Processor Unit)はグラフィックスチップであるが、時には画像処理チップとも言われる。いったいどのような処理を行っているのか、解説した記事は極めて少ない。ここでは、GPUとはいったい何をするものか、なぜAIにも使えるのかを解説する。
2024年のノーベル物理学賞、ノーベル化学賞ともAI関係者が受賞した。物理学賞では今日のAIブームのきっかけを作った、AlexNetを開発したカナダのトロント大学ジェフリー・ヒントン教授と、アメリカのプリンストン大学のジョン・ホップフィールド教授が受賞した。ホップフィールド教授は、1980年代に、人間の脳の働きを模したニューラルネットワークを連想メモリCAM(Content Addressable Memory)へと発展させた。
ヒントン教授は、ニューラルネットワークの手法によって機械学習させた画像認識モデルを用いて、画像認識コンテストで優勝した。その際、NVIDIAのGPUと、それを並列動作させやすいCUDA(クーダと読む:Compute Unified Device Architecture)のソフトウエアを用いた。GPUとCUDAを提供したNVIDIAは、ニューラルネットワークモデルを使った機械学習の研究を進め、その後、会社の方針をAI志向へと変えた。
NVIDIAのCEOであるジェンスン・フアン氏は、「2012年がAIのビッグバンだった」と話す。フアン氏と共にNVIDIAを創業したクリス・マルコウスキー氏は、フアン氏を「10年先が見える人」と述べている。とはいえ、ゲーム機用のGPUを開発していた時は、まさかAIに使えるとは誰も思わなかったと述懐している。
「ゲームオタクがノーベル賞を受賞」という誤解したタイトルの記事もある。当初、GPUはゲーム機に使われていたからだ。
NVIDIAは1993年、LSI Logic(アメリカ)にいたフアン氏と、サンマイクロシステムズ(アメリカ)にいたマラコウスキー氏、それにカーティス・プリエム氏の3人で創業し、ゲームソフトの絵をどうやってもっと写実的に描くかを議論していた。議論の場所はシリコンバレーの中心にあるサンノゼのコーヒーショップのデニーズだ。それまでゲームの絵は、イラストで簡単に描いたものにすぎなかった。
GPUとは絵を描くための半導体チップである。ポリゴン(多角形)と呼ばれる基本単位を作り、それらをつなぎ合わせて、ややカクカクした曲線を表現する(図1)。三角形を基本単位とすると、それらの場所を、座標を使って特定できる。このようにして三角形で構成されたイルカの絵が図1である。図1では三角形に白黒の濃淡をつけて光の反射などの明るさを表現している。三角形に色を付けるとカラー画像を作ることができる。最近建てたNVIDIAの本社ビルの屋根にはポリゴンを基調とした模様が描かれている(図2)。
立体的な絵を描く場合には、x、y、zの3次元座標を用いればよいし、絵を見る人の視点を極座標に変換して変えることもできる。細かく表現する場合には三角形を細かく、その必要がない時には三角形を大きくすればよい。
そして1枚の絵を描く時間はできるだけ短くしたい。動画を見せるために通常は1秒間に30枚の絵を「パラパラ漫画」のようにめくっていくように表現する。すなわち30フレーム/秒の絵を描いていくわけだ。このような工程では1枚の絵を超高速に描かなければならない。
そこでコンピュータのディスプレイで表される1枚の絵を100~200のブロックに分け、これを100~200ブロックの演算器(正確には積和演算器)で全て同時に動かせば1枚の絵を描くスピードは上がる。すなわち、GPUは100以上のブロックを同時に、超並列積和演算を行うのである。
そのためにGPUには100個以上の積和演算器が集積されている。こういった超並列に動作させる積和演算器があれば、高速で絵を描くことが可能だ。実はスーパーコンピュータやサーバーなど高速性を必要とする計算機にも積和演算器が多く使われている。
2次元、3次元の偏微分方程式のような複雑な関数計算は解析的な解を求められないことが多い。このため、ある範囲で収束させることができるという条件で、積和演算で近似することができる。級数展開である。
積和演算とは、文字通り、掛け算と、足し算を合わせる計算のことだ。例えば、a1×b1+a2×b2+・・・・・an×bn、というような演算を行う回路を積和演算器と呼ぶ。この演算は行列演算でも表現できるため、行列演算、あるいはベクトル演算とも言われる。CPUとは違い、GPUはあくまでも計算専用に作られたプロセッサであるため、アクセラレータと呼ばれることも多い。
現実のスーパーコンピュータにもGPUはたくさん使われている。TOP500というスーパーコンピュータの性能ランキングでは、上位10のコンピュータの内、9つのコンピュータがGPUを使っている(図3)。日本の富岳は現在4位だが、唯一GPUを使っていない。
GPUに集積されている大量の小さな積和演算器は、実はAIにも有効であることを見出した人物が、ノーベル賞受賞者であるジェフリー・ヒントン教授の研究室にいたアレックス・クリゼウスキー氏だった。当時はAIという言葉を使わなかった。ニューラルネットワークのモデルを使って画像認識技術のコンテストに参加したところ、画像認識の誤認識率が他の研究者の技術よりも圧倒的に低いという結果を示したのだ。他の研究者は25〜30%程度の誤認識率だったが、このAlexNetはわずか16%という結果だった(図4)。その後の追試で、百度やGoogle、Microsoftなどがやってみると、さらに低い一桁台%という数字の誤認識率が得られるようになった。
これ以来、ニューラルネットワークを使った研究が盛んになり今日のAIブームとなった。
なぜ、GPUがニューラルネットワーク(AI)に有効なのか。それを知るには、ニューラルネットワークが図5のような構造を持っていることを理解する必要がある。
ここで、1層の演算は、図6のようなパーセプトロンのモデルで表される。ここでは1個のニューロン(神経細胞)のモデルしか描かれていないが、このニューロンが1層につき数千、数万個、並列に並んでいるものだと想像してほしい。1個のニューロンには十数個のデータが入ってくるという、多入力1出力の積和演算器で出来たニューロンのモデルである。
ニューロンの出力は1個だが、この出力データが次のレイヤーでは多数のニューロンに入力されると考えられている。これらが何層にもわたって構成されているのが人間の脳を模したニューラルネットワーク(図5)のモデルである。
ニューロン1個の演算は、データa1と重みb1を掛けた信号と、データa2と重みb2を掛けた信号、さらに次々とデータと重みが加わり、データanと重みbnを掛けた信号がニューロンに入り、ニューロンは1か0の信号を出力する。これを数式で表現すると次のようになる。
出力=a1×b1+a2×b2+・・・・・・・+an×bn
これは積和演算そのものに他ならない。つまりGPUそのものなのだ。
ヒントン教授らは、GPUが積和演算器を多数集積したICであることを知っていたため、NVIDIAのGPUと、その積和演算器を並列動作させるためのソフトウエアCUDAを用いて画像認識に挑戦してみたのである。追試した研究者もNVIDIAのGPUとCUDAを用いてニューラルネットワークモデルで演算した。
人間の脳を模したニューラルネットワークモデルを使って学習(training)させ、その学習データを参照させて推論(inference)させることで、予測したり新たな知見を得たりするというAIの時代がやってきた。AIの最大のポイントは、これまで気が付かなかった知見が得られるということであり、産業や企業の生産性を上げたり、効率を高めたりするなどメリットは大きい。このため世界各国でAIの応用が進んでいる。
AIブームになってからは、GPU以外にもデータメモリや重みメモリ、コントローラなども集積したAIチップが登場してきた。それもGAFAMのようなインターネットサービス業者までがAIチップを設計している。GPUだけでは性能と消費電力を満足できなくなってきたためだ。
GAFAMの狙いは明確だ。彼らが運営するデータセンターにAIの能力を持たせるためだ。データセンターはクラウドコンピュータとして大量のコンピュータを持ち、それらをつなげて多数のユーザーにコンピューティング能力を提供している。例えばMicrosoftは世界各国54カ所にデータセンターを持ち、それらを光ファイバでつなげている。データセンター間をつなぐ光ファイバの距離は、地球64周分の257万kmにも及ぶという。日本にも東日本と西日本の2カ所にデータセンターを持っている。この巨大なクラウドコンピュータを世界140カ国に提供しているのだ。
そして2022年には生成AIが生まれた。生成AIは、巨大な学習データをコンピュータに読み込ませることによって、さまざまなことを聞いても答えてくれる。チャットGPT はNVIDIAのGPUを数千個使い、約300日かけて学習させたと言われている。実は2018年頃からなんでも答えてくれるAIを作りたいと思ってたAI研究者はOpenAIだけではなく、他にも複数いた。しかし、学習時間がとてつもなく長く、何年もかかるのならそのような膨大なデータを学習させることをあきらめてしまうAIソフト開発者が多かった。半導体チップの性能が低かったからだ。ところがOpenAIだけがあきらめずに300日(ほぼ1年)かけて学習させた。
その結果、NVIDIAにはもっと高性能、低消費電力のGPUを開発してくれという要望が相次いだ。性能が10倍上がれば学習時間は1/10で済むからだ。このように、AIの開発、普及が進む中で、生成AIの学習と推論に大きな効果があるGPUの需要が爆発した。
ただ、生成AIは学習データが巨大すぎるため、自然言語処理の部分にトランスフォーマーと呼ばれる技術を使っている。文章の次にくる言葉を絞り込み、処理する言葉の数を大幅に減らしたことで、巨大な学習データに対処することができた。
生成AIのインパクトは半導体産業にも大きな影響を及ぼすことになった。なぜならAIチップの開発には単なるチップの製造技術だけではなく、設計手法とシステムアーキテクチャの考え方も求められるようになるからだ。
半導体を進化させてきた微細化技術は、ほぼ止まりつつあり、最先端の2nmといっても実際の寸法は11〜12nm程度ある。トランジスタや配線などの3次元化によって、2nm相当のプロセスノードだと言っているのにすぎない。一方で、生成AIに見られるようなコンピュータ演算能力をもっと上げてほしいという要求は加速・増加している。このギャップを埋めるような半導体技術が求められているのである。
AIチップはもっと高性能に、もっと低消費電力に、という技術が必要になってくる。そこで、半導体のプロセス技術だけではなく、チップレットや2.5D/3D-IC技術が求められるようになってきた。従来の後工程ではなく、前工程との中間になる中工程の重要性がTSMC(台湾)などのファウンドリが認識し、手がけるようになってきた。
さらにコンピュータアーキテクチャを見直し、従来のフォンノイマン型アーキテクチャからデータフロー型アーキテクチャへの流れも出てきた。もはやハード(チップ)とソフト、さらにはシステムアーキテクチャの3つを把握することが新しいAIチップにとって重要になることがわかってきた。NVIDIAのフアンCEO(図7)は「2012年のAlexNetがAIのビッグバンとなり、10年後の生成AIが第2のイノベーションとなった。次の10年後にはDNN(ディープニューラルネットワーク)が再発明されるだろう」と予見している。
津田 建二(つだ けんじ)
国際技術ジャーナリスト、技術アナリスト。
現在、英文・和文のフリー技術ジャーナリスト。
30数年間、半導体産業を取材してきた経験を生かし、ブログ(newsandchips.com)や分析記事で半導体産業にさまざまな提案をしている。セミコンポータル(www.semiconportal.com)編集長を務めながら、マイナビニュースの連載「カーエレクトロニクス」のコラムニストとしても活躍。
半導体デバイスの開発等に従事後、日経マグロウヒル社(現在日経BP社)にて「日経エレクトロニクス」の記者に。その後、「日経マイクロデバイス」、英文誌「Nikkei Electronics Asia」、「Electronic Business Japan」、「Design News Japan」、「Semiconductor International日本版」を相次いで創刊。2007年6月にフリーランスの国際技術ジャーナリストとして独立。著書に「メガトレンド 半導体2014-2025」(日経BP社刊)、「知らなきゃヤバイ! 半導体、この成長産業を手放すな」、「欧州ファブレス半導体産業の真実」(共に日刊工業新聞社刊)、「グリーン半導体技術の最新動向と新ビジネス2011」(インプレス刊)などがある。