AIチップの仕組みと市場動向、IoTシステムにおける半導体チップの役割〜半導体入門講座(20)

AIチップとは、例えば自動運転において自転車や歩行者など色んな物体を学習し、学習したデータから特定の物体を推定するような、機械学習やディープラーニングを行う仕組みを持つ半導体チップです。一方で、センサー端末から集めたデータをクラウドなどに上げてデータ収集・管理・保存・解析などを行い、欲しい情報に変換するIoTシステムでも多くの半導体チップが使われています。今回は、AIチップの仕組みやその市場動向に触れつつ、IoTシステムにおける半導体チップの役割についてご紹介します。

▽おすすめ関連記事

AIチップとは、機械学習やディープラーニングを行う仕組みを持つ半導体チップ

本講座の冒頭で紹介したように、今世界中でAIチップの開発が進んでいる。今やAIが大流行だが、AIは学習することを基本とした機械学習やディープラーニングのようになにかを覚えさせてデータとして記憶させておく「教師あり学習」が多い。もちろん、教師なし学習もあることはあるが、教師あり学習の方が主流となっている。機械学習では、なにかを入力させた場合、それが何であるかを学習データを使って推察できるようになる。

このような機械学習は、例えばクルマの自動運転での物体認識、すなわち前方の物体が乗用車なのか、トラックなのか、自転車なのか、歩行者なのかを認識することに使われる。機械学習では、すべての乗用車やトラック、自転車等を何千枚、何万枚もコンピュータに覚えさせることでデータとして学習させておく。推論では、これまで学習させたデータからクルマを推定するが、クルマ以外の画像も記憶させておくため、この場合は確率90%でクルマです、というような表現をする。

AIチップは基本的には、ニューラルネットワーク(Neural Network)のモデルを使って物体の画像を推定するものが多い。学習は、これまでのNVIDIA社のGPUなどAIチップを使って行われたデータを使って、それを元に推論する。学習させたデータは結果でありデータ量がそれほど大きくないため、エッジ(端末)側に置いておくことができる。また推論するだけなら、精度の高い演算は必要がないため、1チップに集積することができる。

最初にAIチップとして注目を集めたものは、Google社のTPU(Tensor Processing Unit)と呼ばれたチップだった。学習では自動車の外観を精度よく認識させるため、64ビットのような精密な分解能が必要だと言われているが、推論だけなら32ビットはおろか、16ビット、あるいは8ビットでも十分、とGoogle社はTPU開発した時に述べていた。この講座の最初で述べたように、8ビットにすれば消費電力をケタ違いに低減できる。

しかもGoogle社は学習させるためのさまざまなライブラリを集めたAIライブラリのフレームワークTensorFlow(テンソルフロー)を公開しており、誰でもこのフレームワークを使ってAIのアルゴリズムを開発することができる。そしてチップに落とすことで、AI専用の演算フローをチップ上に実現する。

AIチップの本質は、ニューロンの基本モデルである多入力1出力の演算器が限りなくつながった人間の脳をまねたパーセプトロン(Perceptron)が原型となっている<図1>。1個のニューロンには、数個のデータが入力線につながり、重みを通して演算器に入り、演算結果を1か0で出力する。演算器は、1か0だけを出力するためステップ関数(現実にはステップ関数を近似したシグモイド関数)で表す。

ニューロン1個のレイヤーには何万、何千というニューロンが並列につながっている。<図1>には省略のため描いていないが、最初のニューロンのレイヤーに何千というニューロンが並列につながり、それが何レイヤーにも構成されている。この演算では、重みを0〜1の間の数字をデータ(1か0)に掛け算し、他の演算器でも同様に掛け算して、それを足し合わせて入力された演算器では、ステップ関数で1か0を出力する。つまり、並列に多数のニューロンを同時に演算することになる。図ではわかりやすさを優先してアナログで表現したが、この行動をデジタルで表現すると、並列にずらりと並べた積和演算器で演算することになる。この時、学習は、抵抗で表された重みの数字を変えることに相当する。


<図1>ニューロンのパーセプトロンモデル。ニューロンのレイヤーが多数並列に並んでつながっている。
<図1>ニューロンのパーセプトロンモデル。ニューロンのレイヤーが多数並列に並んでつながっている。


AIアクセラレータとは、そしてAIチップの市場動向

積和演算器で計算した出力は、いったんメモリに蓄えて、次のニューロンに入ることになる。このフローを表現するIC上では、多数の積和演算器と、データメモリ、重みを与える重みメモリ、そしてコントローラを備えた回路が基本的なAIアクセラレータとなる。積和演算器やメモリの規模、コントローラなどは、各社が開発しているAIアクセラレータチップによって異なる。

単にAIチップという場合、従来のCPUでもソフトウエアベースで演算できるが、他のジョブができなくなるほど負荷が重くなるため、CPUとは別チップでアクセラレータとして構成することが多い。ただ、特にGPUは積和演算器を大量に並べた構造を持っているため、AI専用の回路を作らなくても同じ並列積和演算を実行できる。NVIDIA 社はまさにこの利点を生かしAIで断トツのリードを実現した。AIチップと称されるAIアクセラレータには、積和演算器とメモリを多数集積したICやIP(Intellectual Property、半導体集積回路上にある一部の回路で、知的財産の価値のある回路)がある。

AIアクセラレータでは、欧米、中国などの海外製品が多かったが、日本でもDMP(Digital Media Professionals)社やLeapMind社などのファブレス半導体メーカーが登場している。AIライブラリのフレームワークで活躍したPreferred Networks社もAI専用チップを開発している。

海外でも半導体事業として展開している米国Gyrfalcon Technology社がAIチップ開発ツールと一緒に提供しており、AIビジネスの本格的な産業としての立ち上げを狙っている。これまでのAIは顧客ごとに要望がまったく違うため、顧客ごとにコンサルティングを伴うビジネス形態をとっていた。半導体では、顧客ごとに作り直すような事業ではビジネスにならないため、どのような顧客にも対応できるような開発ツールが必要だった。この開発ツールでは、AI開発に普及しているフレームワーク(TensorFlowやPyTorch、Caffe)を用意しており、ほとんどの顧客にも対応できるようにしている。

このような開発ツールがなければ、顧客ごとになにをAIにやらせたいのか、コンサルティングしながらチップレベルに落とすことになる。これでは、顧客はノウハウをAIエンジニア側に渡さなければならないというリスクを伴う。例えば、外観キズ検査をAIで判定させたい場合などは、どのようなキズが不良品となり、どの程度のキズなら良品なのかという判定は顧客企業独自のものが多い。どのようなキズが顧客企業には多いのかも知られてしまう。しかし、顧客がAIの知識を学び、この開発ツールを使えるレベルになれば、自分でAIを作り込むことができるようになる。ノウハウの流出はなくなる。

これからのAIチップ競争は、Gyrfalcon Technology社の開発ツールのように、AIチップで自分の欲しい演算を行うためのソフトウエア開発ツールの競争になるだろう。現場で自由に用途によってプログラムできるFPGA(Field Programmable Gate Array)ビジネスがプログラムしやすい開発環境を競争力としたように、AIチップ開発では使いやすい開発ツールとセットで販売することがAIチップを制する企業となるに違いない。


IoTシステムの仕組みと、そこで用いられる半導体チップの役割

IoTシステムにもチップが当然必要になる。IoTシステム全体は<図2>のようになる。この概念図は最近ではDigital Transformation(DX)という言い方に代わってきたが、基本的にはIoTシステムそのものである。

<図2>IoTシステムから見る半導体チップの必要性
<図2>IoTシステムから見る半導体チップの必要性



IoTシステムでは、センサー端末(IoTデバイスあるいはIoTセンサーともいう)から集めたデータは、直接あるいはゲートウェイを通して、インターネットを経由してクラウドなどのコンピュータにアップロードされる。そこで、データ収集・管理・保存・解析などを行い、欲しい情報に変換する。それをスマートフォンやPCなどで可視化すると、センサーのある場所でなにがどうなっているのか状況を把握することができる。

さらに自律的に動作させようとすれば、解析して得られた情報をセンサーのある現場に送り、現場のアクチュエータが最適化された情報を元に、現場での製品が理想に近づくように自動的にマシンを調整する。そうすれば常に最適な製品が出来上がるようになる。

こういった仕組みに使われる半導体は、まずIoTデバイス、ゲートウェイ、あるいはクラウドの物理的システムであるデータセンターなどに使われている。

IoTシステムは、センサー、アナログ、A/Dコンバータ(Analog-to-Digital Converter, ADC)、D/Aコンバータ(Digital-to-Analog Converter, DAC)、センサーフュージョン、組み込みシステム、送信機などがある。これらの回路ブロックにはすべて必要な半導体が組み込まれている。

センサーでは、MEMSやCMOSイメージセンサーのように生のデータが流れてくる。温度や圧力、振動などを感知する電圧はそれほど高くなく、数mV~数十mVといったケースが多い。センサーデバイスとしては、温度センサーや湿度センサー、圧力センサー、加速度センサー(力を検出)、ジャイロセンサー(回転を検出)などがある。これらは半導体技術を使ったものが多い。特にMEMSはシリコンをくりぬいて加工したデバイスである。

電圧が低いような高インピーダンス環境ではノイズを拾いやすいため、インピーダンス変換したり、すぐアナログ回路(アンプやフィルタ)で増幅したりすることによって扱いやすい3.3Vや5Vなどの電圧に変換し、さらにA/D コンバータによってデジタルに変換する。デジタルになれば、標準的なプロトコルを持つインターフェイスでマイコンやCPUと通信できる。

この組み込みシステムで、温度や湿度、圧力などいろいろなデータを、例えば装置の健康状態と紐づけして装置の状態を見える化できるようにデータを管理・メモリに保存する。このためにCPUとメモリなどからなるマイコンやSoCで制御に加え演算も行うことができる。それ以上の解析などの重い演算機能はクラウドコンピュータやイントラネットのコンピュータを利用する。

整理されたデータをクラウドにも蓄えておく場合には、Wi-FiやBluetoothなどの通信を経て通信回線を通してインターネットに接続し、クラウドのあるデータセンターにつなげる。このため、Wi-FiやBluetoothの通信機能、あるいはIoT専用の低データレートの回線であるLPWA(Low Power Wide Area、省電力・長距離での無線通信が可能な通信技術)回線を使うような通信機能を搭載する。

データがあまりに多種多様に及ぶ場合は、エッジ(ゲートウェイを含む端末)側である程度データ処理をしておく。IoT端末が多い場合は、ゲートウェイの中のSoCやCPUで、データ解析やある程度の処理をする。この場合は演算能力の高いCPUやSoCを選ぶ。

IoT端末はやはり電源なしでは動作しないため、パワーマネジメントIC(電源IC)も必要である。それも4Vのリチウムイオン電池1個で動作するIoT端末なら、センサー用の5V電圧、センサー電圧の昇圧回路、3.3Vあるいは7V、12Vなどに変換するDC/DCコンバータが複数必要になる。

IoTではこのように、センサーからアナログIC、マイコン、通信用IC、パワーマネジメントICなど広い範囲で半導体ICが必要になる。



著者:津⽥建二(つだ・けんじ)
技術ジャーナリスト。東京⼯業⼤学理学部応⽤物理学科卒業後、⽇本電気(NEC)⼊社、半導体デバイスの開発等に従事。のち、⽇経マグロウヒル社(現在⽇経BP 社)⼊社、「⽇経エレクトロニクス」、「⽇経マイクロデバイス」、英⽂誌「Nikkei Electronics Asia」編集記者、副編集⻑、シニアエディター、アジア部⻑、国際部⻑など歴任。

▽半導体入門講座

▽おすすめ関連記事

こちらの記事もおすすめ(PR)