米Lattice Semiconductorは5月21日(米国時間)、同社のFPGA「iCE40 UltraPlus」および「ECP 5」上で稼動するBNN/CNN用のIPと、これを利用するための開発環境をパッケージ化した「sensAI」を無償提供することを発表した。このsensAIについて、同社は5月25日に都内で記者説明会を実施し、詳細を明らかにした。(Photo01)。
今回発表されたsensAIは、2018年2月に開催されたBillerbeck元CEOの説明会で示されたAIベースの顔追跡技術や、AIベースの顔認証、あるいは2017年11月に開催されたGlen Hawk元COO(2018年5月時点では暫定CEO)の説明会におけるエッジコンピューティングで実現可能な低消費電力ニューラルネットワークアクセラレーションの話そのものであって、その意味では目新しさそのものは無い。ただし、今回はその内部の詳細が語られたこと(Photo02)、ならびに対応したソフトウェアツールといった点で更新がなされた(Photo03)。
いささか話が逸れるが、もともと同社はスモールビジネス志向を貫くのが戦略であり、積極的にグルーロジック向け用途に入り込む方向性をとっていた。ただし、そうなると必然的にRTL(というか、HDL)を使ってコードを記述する必要がある。ところが今回の特徴は、RTLを得意としない(というか、書けない)エンジニアが同社のFPGAをアクセラレータとして利用するためのツールとして構成されていることだ(Photo03)。
これは同社としてはある意味、初の試みである。このあたりを端的に示したのが以下の図(Photo04)で、従来の様にLattice DiamondあるいはLattice Radiantを使ってRTLで記述したものをビットストリーム化してFPGAにロードするという開発手順とまったく異なる、学習済みネットワークを(Photo03に出てきた)ニューラルネットワークコンパイラに掛けて、そこからFPGAのビットストリームを生成するという新たな開発パスを提供するという話である。
こうした方向性の転換は他のFPGAベンダも同じであり、XilinxはSDxxxシリーズ、Intel(旧Altera)はFPGA SDK for OpenCLやSoC EDS(Embedded Design Suite)が、それに相当する。ただし、FPGA SDK for OpenCLはともかくその他のソリューションが大体有償提供なのに対し、sensAIは無償で提供されるというスタンスを採用したあたり、これまで同社のFPGAを使ってこなかった開発者にリーチするための手段、という位置づけが強いようだ。つまりグルーロジックから専用アクセラレータへの転換、という戦略のための呼び水とでも言うべきであろう。
もちろんそうなると、開発力が十分でない顧客(つまりこれまでFPGAを扱ってこなかった開発者)もターゲットとなるし、また逆にFPGAには慣れているがBNN/CNNには不慣れ、という開発者も考えられる。そうした開発者向けに、認定パートナー5社によるカスタムデザインサービスも提供するとする(Photo05)。
このほか、説明会ではiCE40 UltraPlusとECP5の両方のデモも行われた(Photo06~10)。
FPGAを活用するのにRTLが不要な時代が到来
さてこのソリューションだが、Photo02にもあるようにあくまでもアクセラレータである。そのため、実際にはこのほかにホストとなるMCUなりMPUが必要になるのだが、このあたりが現状ちょっとうまく行ってないのが気になるところだ。
LUT数にゆとりがあるECP5はともかく、iCE40 UltraPlusの方は結構ぎりぎり(BNN AcceleratorのIPだけで3KほどLUTを消費するので、2800LUTのUP3Kでは乗り切らず、5280LUTのUP5Kが必須になる)となる。それでも2000LUTほど余る計算にはなるのだが、この程度のLUTではCPUを載せることが出来ない(同社のMico32はそもそもiCE40に載らないので、載せるとなるとRISC-Vになるのだが、これがぎりぎりLUTが足りないという話。そのためMCU+FPGAという2チップ構成になるか、もしくはsensAI以外の部分はRTLで記述して載せるということになる。前者は当然BOMコストや実装面積、消費電力の増大につながるし、後者はsensAIの存在意義が問われかねない。解決策はLUTの数を増やすことだが、これは以前アナウンスのあったSamsungの28nm FD-SOIプロセスを使った製品になる模様。もっともこのときの話では2018年中に出荷予定だったのが、直近で言えば2019年以降の出荷予定へとずれ込んでいるそうだ。いっそCortex-M0でも何でもいいから汎用のMCUコアをHard IPの形で搭載してくれれば話は楽なのだろうが、そうすると規模的にはMicrosemiのSmartFusion 2並になりかねないので、低コストを狙う同社としては難しいのだろう。
なお、今回の試みは同社としても初のものであり、顧客の反応を見て今後の方向性をまた検討していくようなので、このあたりは今後また違った展開になっていく可能性もある。なんにせよ、LatticeですらRTLを書く以外のFPGA開発手段を提供する時代になってきた、という意味で象徴的なソリューションと言えるだろう。