No.015 特集:5Gで変わる私たちのくらし
連載02 あらゆるモノに知性を組み込むAIチップ
Series Report

もう1つは、積和演算が得意な半導体チップを利用するアプローチである。パソコン用3Dゲームのアクセラレータ*1として利用されているGPU*2や、プログラムを書き換えて専用演算回路を自由に構成できるFPGA*3が、積和演算を高速実行するために活用されている(図2)。正確に言うとAIチップの明確な定義はまだないが、本連載のテーマであるAIチップは、このアプローチの延長線上にある技術のことである。

AI関連処理に向いた半導体チップの進化の系譜
[図2] AI関連処理に向いた半導体チップの進化の系譜
出典:チップ写真は、各社のニュースリリース
マイクロプロセッサはIntel、GPUはNVIDIA、FPGAはXilinx、第1世代AIチップはGoogle、第2世代AIチップはIBM製

このうちGPUは、演算器を多数並べた超並列処理に向いた内部構造を取っているため、積和演算を高速化することができる。いわば、小さなデータセンターである。最大手GPUメーカーであるNVIDIA製チップは、今ではAI関連処理の業界標準チップになっている。一方FPGAは、AI関連処理に適した構成の演算器をGPUよりも高い並列度で並べることができるため、高い電力効率のチップを作ることができる。これはMicrosoftなどが自社のデータセンター向けサーバーに採用している。

これら2つのアプローチは、併用してより演算性能の高いコンピューティング環境を用意するために使われることが多い。これまでデータセンターでは、様々な仕事をこなせる汎用性の高いマイクロプロセッサを搭載したサーバーを利用することが多かった。しかし近年では、AIの活用事例と応用範囲が広がったため、GPUやFPGAを搭載したAI特化のサーバーを設置する例が増えてきている。

データセンターだけでは応用は広がらない

スマートフォンでのアシスタントや自動翻訳などにAIを使う場合には、クラウド上のデータセンターでAI関連処理をしたとしても、大きな支障はない。音声をデータセンターに送り、処理して送り返すのに時間が掛かっても、人間が不自然さを感じるような遅れにはならないからだ。

ところが、工場の生産ライン上で、作っている製品の映像をカメラで撮り、AIを使った品質管理システムで生産条件を調整するといったリアルタイム性が求められる応用では、クラウド上のAIに判断を仰いではいられない場合も多い。自動運転車で、走行環境にある物体や周りにいる人を認識する処理も同様である。時速100キロメートルで走行している自動車は、1秒間に28メートルも進む。万一の事故を避けるためには、AI関連の処理に要する時間を加えても数十ミリ秒で終える必要があるという。クルマとデータセンターの間の通信を携帯電話のインフラで行うと、少容量のデータならば要求を満たす場合もあるだろう。しかし、大容量データを伝送する場合やインフラの整備状況や通信環境が悪い場合には、要求を満たすことができない。つまり人命にかかわる自動運転車では、AI関連処理のすべてをクラウドにおくことはできない。

こうした処理速度が求められる用途では、負荷の大きい学習処理はクラウド側で実行するが、負荷の小さい推論処理は工場やクルマなど現場にAIのコピーを置き、そこで実行するシステム構成を採ることになる(図3)。AIのコピーは、GPUやFPGAのような積和演算の並列処理に向いた半導体チップの中に収めればよく、実際に現在開発が進められている自動運転車の多くは、推論処理はクルマの中で、学習処理はクラウドで実行するシステムの利用を想定している。

学習処理はデータセンター、推論処理は現場の機器でAI関連処理を分担
[図3] 学習処理はデータセンター、推論処理は現場の機器でAI関連処理を分担
出典:筆者が作成

[ 脚注 ]

*1
アクセラレータ: 3次元グラフィックス処理や動画処理など、膨大なデータを対象にした負荷の大きい演算処理を、パソコンの頭脳であるマイクロプロセッサに代わって実行するチップをアクセラレータと呼ぶ。近年では、マイクロフプセッサのチップ内に、アクセラレータ機能を標準搭載している例が当たり前になっているが、より高性能な外付けチップのことを通常アクセラレータと呼んでいる。
*2
GPU: GPUとは、Graphics Processing Unitの略。グラフィックス処理や画像処理に特化した、専用の演算器と内部構造を持つプロセッサ。マイクロプロセッサのように、様々な命令を効率よく処理することはできないが、大量のデータを対象にして同じ演算を同時実行する並列処理に向いた内部構成を取っている。近年では、その優れた演算能力を生かして、科学計算などに活用するようにもなってきた。こうしたGPUの利用法を特に「GP(General Purpose)GPU」と呼んでいる。
*3
FPGA: FPGAとは、Field Programmable Gate Arrayの略。プログラムを書き込むことで、思い通りの専用回路を自由に実現できるチップ。LUT(Look Up Table)と呼ぶ、自由に書き込める数値や論理の対応表(掛け算九九の表のようなもの)を多数並べて、それを複雑な配線でつなぎ、様々な演算回路を実現する。必要な回路を必要な分だけ作り込むことができるため、プロセッサに比べて演算時に消費する電力を削減することができる。

Copyright©2011- Tokyo Electron Limited, All Rights Reserved.