ソフト開発者も自分の半導体チップを持てるようになる
ソフトウエア開発者が自分のチップを持ちたい、と考えてもそう簡単には設計できるものではない。ところが、ソフトウエア開発の要領でチップを作れるようになる。これが、Xilinxが発表したVitis(バイティスと読む)という統合ソフトウエアプラットフォーム(Unified Software Platform)である。作る半導体チップは、プログラム可能なFPGA(Field Programmable Gate Array)という半導体。
FPGAは電子機器やシステム、クラウドそのものでさえも、外から遠隔で回路構成を変えられるようになってきた。2~3年前にXilinxが発表した、SDAccelというソフトウエア開発ツールは、データセンターやクラウド内に設けたFPGAを遠隔地から操作してFPGAのプログラムを書くツールである。FPGAの内容を書き換えられるため、Xilinxは自分らを、FaaS(FPGA as a Service)と呼んできた。
Vitisには、これまでXilinxが開発してきたソフトウエアツールのOSやファームウエア、SDKに加え、組み込み用のSDSoCとSDAccelを統合化し、さらにAI専用の開発ソフトも統合化している。マイコンの統合開発ツールのようなコンパイラやアナライザ、デバッガなども含まれているが、何よりもオープンソースの最適化されたアプリケーションソフトウエアが400以上も揃っている。
Xilinxは昨年発表し今年出荷を開始した最上位のハードウエアである、VERSAL ACAP(Adaptive Compute Acceleration Platform:適応型演算加速プラットフォーム)では、CPUに加えDSPやAIエンジン、そしてFPGAを組み込んでいる。特にAIエンジンはディープラーニングに特化したDNN(ディープニューラルネットワーク)を完全に別回路で用意している。
なぜ、DNNに特化したか。半導体業界ではシリコンサイクルはかつて4年に一度と言われ、最近でも数年ごとに好不況の波がやってきているが、「実はDNNの新しいアルゴリズムの革新は3~4カ月ごとに起きており、シリコンサイクルよりも急速に進化している分野である」とXilinx社ソフトウエア、IP、AIソリューション部門、製品マーケティング担当VPのRamine Roane(ラミーン・ローアン)氏は述べている。AIの応用はさまざまな分野で見られるが、その80~90%はDNNであるという。
精度の高いAIのアルゴリズムは、2012年のAlexNetがきっかけになり、GoogLeNetで飛躍したが、すぐにResNetが登場し、その後さまざまなアルゴリズムが生まれた。学習アルゴリズムはすでにピークを超え、学習データも十分溜まった。しかし推論用では豊富な学習データをいかに短時間で推論用に変換するか、応用ごとに対処していく必要があり、テクノロジーの進化は続いている。推論手法の次々と生まれてくるスピードは、かつての半導体勃興期やムーアの法則が全盛だったころに近い。当初のムーアの法則は、市販のシリコンチップに集積されるトランジスタ数は毎年2倍増えている、というものだった。それが18~24カ月に2倍から、さらに24~36カ月に2倍へと伸びていき、進化のスピードは緩まった。
DNNの学習ではこれまでGPUがこれまで使われてきたが、DNNでは多数のMAC(積和演算)からなるアーキテクチャをGPUも持っていたためだ。しかし、GPUや汎用のMAC演算を揃えた半導体チップだと効率が悪く、推論用には電力をたくさん消費しすぎており、電力効率は20~30%しかないとRoane氏は言う。しかし、DNN専用のアクセラレータを構成するなら効率は80~90%に改善するという。FPGAでDNN専用回路を作るが容易になるのが今回のVitisだ。
Vitisソフトウエアプラットフォームの構造に関しては別の機会に紹介するとして、Xilinxはなぜ、このような統合ソフトウエア開発環境を作ったのか。AIを使おうと思っている企業はDNNを使ったソリューションを外部企業に委託するケースが多い。もし簡単にDNNの推論機能を実現できたら、外部に依頼する必要はなくなる。Vitisには30以上のニューラルネットワークモデルを準備しており、TensorFlowに加え、ビデオエンコーディング、ゲノム解析など今後用意していく。
Vitisは、VitalやVitalityなど活力のあるという意味に加え、Vitesse(フランス語で高速という意味)の意味も含むことから命名した、と元々フランス人のRoane氏は述べている。
(2019/10/02)