ニュースの「AIチップ」とは? ふつうのプロセッサとどう違うのか
ニュースでよく見る「AIチップ」は、AIを動かすためのチップの総称です。いちばん得意なのは、とても単純な掛け算と足し算を、大量に同時にこなすことです。ふつうのプロセッサ(CPU)は、これがずっと遅くなります。データセンターで使われるGPU(画像処理用のプロセッサ)、AI専用に設計されたアクセラレータ、スマホの中の小さなAIアクセラレータ(NPUと呼ばれることが多い)は、どれもニュースではAIチップと呼ばれます。AI半導体と呼ぶ人もいます。違いを知るには、まずAIが何を計算しているのかから話しましょう。
AIは、いったい何を計算しているの?
AIのモデルの中には、数字がたくさん入っています。使うときにしていることは、レジの会計によく似ています。品物ごとに数量と単価を掛けて、全部を足すのです。
写真を見分ける場合で考えてみましょう。コンピュータにとって写真は、点ごとの明るさや色を記録した、長い数字の列です。モデルは点ごとの数字に自分の数字を1つずつ掛け、全部を足して点数を出します。別の組の数字を使えば、また別の点数が出ます。次の層は、その点数を新しい「数量」として、また掛けて足します。層を重ねていくと、最後の点数が「この写真がネコである見込み」になります。
この計算には、3つの特徴があります。
- 1つ1つはとても単純:掛けて、足すだけです。
- 回数がとても多い:大きなモデルには数十億個以上の数字が入っています。チャットボットが短い文字を1つ出すたびに、大量の数字を1回ずつ掛けて足します。
- ほとんどが互いに関係しない:ある伝票の計算は、別の伝票が終わるのを待たなくてよく、同時に計算できます。
つまりAIに必要なのは、「1つの計算をとても速く」ではなく、「たくさんの計算をいっぺんに」です。
ふつうのプロセッサ(CPU)は何が得意? なぜAIは遅いの?
CPUは中央処理装置のことで、パソコンやスマホの中で、プログラムのとおりに仕事をする部分です。「コア」がふつう数個から数十個あり、それぞれが独立して仕事をこなせて、しかも強力です。プログラムが「もし〜なら〜」の分かれ道に来ると、次の一歩を先回りして予測します。手元にはキャッシュという小さなメモリもあり、必要なデータにすぐ手が届きます。どんな帳簿もこなせる、ベテランの会計士が数人いるようなものです。アプリを開く、ウェブページを読み込むといった、次の一手がよく変わる仕事に向いています。
ところがCPUは、1つの手順ごとに、まず命令を読み、何をするかを判断し、それから数字を取りに行きます。この準備に使う電気は、掛け算そのものより多いことがよくあります。数十億回の掛け算と足し算を前にすると、数十個のコアでは長い行列ができてしまいます。そのため、AIのシステムでもCPUは主に仕事の段取りを受け持ち、掛け算と足し算はほかに任せます。
画像処理用のプロセッサ(GPU)は、どうやって「いっぺんにたくさん」こなすの?
GPUは、もともと画面の絵を描くためのものです。よくある画面には200万を超える点があり、どの点の色も同じ計算方法で1つずつ求め、しかも1秒間に何十回も描き直します。そこでGPUはCPUと逆のつくりになっています。比較的単純な計算ユニットを数百から数千個並べ、1つの命令で大きなグループのユニットをいっせいに動かして、それぞれ別の数字を計算させます。
講堂いっぱいの人が、1人1台ずつ電卓を持ち、合図でいっせいにキーを押すようなものです。AIの掛け算と足し算も「同じことをたくさんの数字にする」計算なので、GPUはやがてAIに大量に使われるようになりました。新しい世代のGPUには、掛け算と足し算を専門にするユニットも加わっています。
AI専用のアクセラレータとは?
AIのほとんどが掛け算と足し算なら、チップの面積をもっと多く、掛け算と足し算のユニットにあてればいい、という考え方です。よくある並べ方は碁盤の目です。数字を左と上から1マスずつ送り込み、各マスが1回掛けて足してから、となりのマスへ渡します。バケツリレーのように、一度運び込んだ数字を、碁盤の中で何度も使い回せます。この並べ方は、1970年代の終わりに大学の研究で提案されました。
もう1つの工夫は、桁を減らすことです。コンピュータの中の数字は0と1の列で、その1つ1つをビットと呼びます。ビットが多いほど、数字を細かく表せます。AIは、16ビットや8ビット、あるいはもっと少ないビットで足りることがよくあります。掛け算の回路の大きさは、ビット数のほぼ2乗に比例します。ビットを半分にすれば回路はおよそ4分の1になり、同じ面積にもっとたくさん入り、電気も少なくてすみます。
その代わり、ほかの仕事には向かず、融通がききません。GPUがジェネラリストなら、アクセラレータはスペシャリストです。
AIチップは、なぜメモリをたくさん使うの?
掛け算と足し算のユニットをいくら増やしても、数字が届かなければ役に立ちません。モデルの数字は多すぎてチップに入りきらないので、大部分はとなりのメモリに置き、必要なときに運んできます。データを運ぶほうが、計算そのものより時間も電気もかかることがよくあります。だからAIチップのすぐとなりには、HBMという、積み重ねた特別なメモリがいくつも置かれていることが多いのです(ニュースの「HBM」とは? AIが特別なメモリを必要とする理由)。プロセッサとメモリの役割分担は「メモリとプロセッサは何が違う?」へ。
なぜ、最先端のプロセスとパッケージを使うの?
掛け算と足し算のユニットは、トランジスタでできています。トランジスタは、電気で切り替える小さなスイッチです(トランジスタとは?)。新しい世代のプロセスほど、同じ面積にたくさんのトランジスタが入り、1回の切り替えに使う電気も少なくなります(ニュースの「2ナノ」、ムーアの法則とは?)。AIチップは掛け算と足し算のユニットをたくさん詰めたいうえに、電気もたくさん使うので、どちらの面でも最新の世代が必要です。
ただ、チップはいくらでも大きくできるわけではありません。大きなAIチップの中には、すでに露光装置が一度に焼ける広さの上限近くまで来ているものもあります。チップが大きいほど、歩留まりも下がります。計算とメモリをさらに増やすには、いくつものチップを横に並べたり積み重ねたりして、1つのパッケージに入れます。これがニュースの「先端パッケージ」です。
「学習」用と「推論」用のチップは、どう違うの?
学習は、モデルに教えることです。最初、モデルの中の数字はでたらめです。例を1つ見せて答えを計算させ、正しい答えと比べてから、逆向きにたどって、それぞれの数字をどちらへ少し動かすかを計算します。これを、ものすごい回数くり返します。例1つあたりの計算は、答えを1回出すだけの場合のおよそ3倍で、数字ごとに「どう動かすか」も覚えておく必要があります。そのため学習には、大きなチップをたくさんつないで、何日から何週間も計算し続けることがよくあり、数字も細かく表す必要があります。
推論は、学習ずみのモデルを使って質問に答えることです。数字はもう決まっていて、前から1回計算するだけです。1回あたりの計算はずっと少ないのですが、だれかが使うたびに計算が発生し、しかも速さが求められます。8ビットのような粗めの数字で足りることも多くあります。そのため推論用のチップは、省電力と応答の速さをより重視します。どちらもできるチップも多く、違いは設計のときにどちらを重く見るかです。
スマホにもAIチップは入っているの?
入っています。ただ、別のチップではなく、スマホのメインのチップの一部であることがふつうです。スマホのメインのチップは、CPU、GPU、そのほか多くの部分を1つのチップにまとめています(SoCとは?)。その中でAIの掛け算と足し算を専門にする部分が、よくNPU(ニューラルプロセッシングユニット)と呼ばれます。受け持つのは推論で、たとえば写真の整理、顔の認識、話した言葉の文字起こしなどです。スマホが長い時間使い続けられる電気は数ワットほどしかないので、この部分はなによりも省電力を重視してつくられます。大きすぎるモデルは、いまもデータセンターへ送って計算します。
次にニュースで見たら、こう読める
- 「AIチップが品薄」:データセンターで使う大きなチップが、つくっても足りていないということです。足りないのは、となりのメモリやパッケージのほうかもしれません。
- 「学習用チップ」「推論用チップ」:前者はモデルに教えるため、後者は学習ずみのモデルで質問に答えるためのチップで、後者はより省電力を重視します。
- 「NPU内蔵のスマホ」「オンデバイスAI」:スマホのメインのチップに、AIの掛け算と足し算を専門にする部分があり、一部のAIの機能をスマホの中で計算するということです。
- 「カスタムAIチップ」「ASIC」:ある1つの仕事のために専用に設計したチップ(特定用途向け集積回路)です。その仕事しかできませんが、汎用のチップより少ない電気でこなせます。
fab24hrでは
ゲームにはAIチップも、積み重ねたパッケージも出てきません。メインストーリー「チップの一生」の「Glowmere」は架空の補聴器用チップで、いちばん大事なのは待機中の省電力です。つくり方は、成熟した世代のプロセスです。
それでも、どのチップも同じ道のりを通ります(半導体チップとは?)。工場では、ウェーハの上に1層ずつつくり込みます。リソグラフィでパターンを焼き、エッチングで削り、線幅を測ります。後工程工場では、まずウェーハテストで1個ずつテストし、ダイシングのあと良品だけをパッケージングに回し、パッケージに入れたあとでファイナルテストをします。「出勤」を押して「工場の一日」を選び、「今日のあなたは」カードで「量産工場」か「後工程工場」を押し、プロセスエンジニア(名前の下の「リソグラフィ」か「エッチング」も押します)、テストエンジニア、組立プロセスエンジニアまで左右にスワイプすると、これらの工程を受け持てます。メインストーリーの第10章「待機電流」と第11章「ボールが浮いた」も、テストとパッケージの話です。
ゲームに出てくる会社・チップ・人物は架空です。AIチップについては、公開されている一般的な資料をもとに書き、決まった数字がないところは、おおよその大きさだけを書いています。ほかの用語は「半導体工場の業界用語を、やさしく解説」へ。
ゲームのどこで出会うかゲームにAIチップは出てきません。メインストーリー「チップの一生」の「Glowmere」は、架空の補聴器用チップです。それでも、パターンを焼き、エッチングし、テストし、パッケージに入れる道のりはどのチップも同じで、「工場の一日」で量産工場のプロセスエンジニア、後工程工場のテストエンジニアや組立プロセスエンジニアを選ぶと体験できます。
fab24hrにAIチップはありませんが、パターンを焼き、削り、テストし、包む工程はどのチップも通ります。ゲームでは、どの工程にも担当者がいます。
出勤して、チップが1工程ずつできていくのを見る先生へ:この記事は「授業でfab24hrを遊ぶ」と組み合わせて授業で使えます。
ほかの記事
ニュースの「2ナノ」、いったい何が2ナノなのか?
ニュースの「歩留まり」とは? 1%の差がなぜ大きいのか
ニュースの「先端パッケージ」とは? チップを横に並べたり積み重ねたりする理由
ニュースの「HBM」とは? AIが特別なメモリを必要とする理由
このサイトのほかのページ
- fab24hrとは?:2つの遊び方、4つのシフト、よくある質問、参考にした資料
- チップの一生:1個のチップの一生:テープアウト、試作、量産、ウェーハテスト、パッケージ、出荷、それぞれの段階でしていること
- 半導体工場エンジニアの一日:PE・EE・PIE・製造部の役割分担と、一日のタイムライン
- 半導体工場には誰がいる:技術員、製造部、プロセス、装置、ファシリティ、インテグレーション、品質保証、生産管理、マスク、開発、課長、メーカー、後工程のテストと組立:それぞれの一日
- 半導体工場の業界用語を、やさしく解説:MO、ホールド、Qタイム、OCAPなどの業界用語を、ひとことでやさしく
- 半導体工場の装置を、分解して見る:31種類の半導体製造装置(エッチング、露光装置、CMP、拡散炉、後工程…)が何をしているか。どれも3Dモデルで分解して見られます
- 授業でfab24hrを遊ぶ:半導体の授業・教材:20/40分の流れ、1章1コマと1エリア1コマ(3D装置・ゲーム・記事)、話し合いのテーマ、ワークシート、よくある質問
- 紹介とメディア素材:プロモーション動画、ゲーム画面、紹介文と基本情報