ハードウェア構築言語 Chisel がアツい(かもしれない)
いきなりタイトルと関係なさそうな話題からスタートしますが、今週1番のトピックは、なんと言ってもEdge TPUがオフィシャルに発売されたことでしょう。 しかもUSB接続のアクセラレータがたった80ドル弱ですよ。日本だとMouserで8800円ほど。 こいつをいち早く入手できたIdein社内でのお試し結果がこちら。 Edge TPU(USB版)Mobilenet v2 1.0 224×224 ImageNetRaspberry Pi 3 Model B v1.2で10msちょっとでした pic.twitter.com/BOfSAgUewJ— Koichi Nakamura (@9_ties) 2…
GoogleのEdge TPUの論理回路がChiselという言語で開発されたという内容。AIとは直接関係ない話なんですが、FPGAやASICの論理設計といえば、もう20年前からずっとVerilog-HDLかVHDLという言語と相場が決まっていたもので、Chiselが使われたということは(ごく一部では)驚きをもって迎えられています。
もちろんC言語およびその派生言語による高位合成の使用率は徐々に高まっていましたが、高位合成元年と何度も言われながらもなかなか普及していない状況です。
それが、AIというアプリケーションをターゲットにした今、急に高位合成やChisel(Chiselは高位合成ではなく「ハードウェア構築言語」らしいですが)といったHDL以外の言語による設計が脚光を浴びてきたように思います。DeepLearningのFrameworkでPythonが一躍メジャーになったのと似てますね。
Chiselについては私も詳しくないので紹介先のblogにおまかせするとして、AI開発で高位合成が使われるようになったのは以下の理由が想定されます。
・AIは進歩が激しく、開発サイクルも早くなるため、実装に高い生産性が必要
・ニューラルネットワークはブラックボックスのため、ソフトウェアベースのモデル開発から一気にHW化する手法が馴染みやすい
・ニューラルネットワークの演算は高位合成で実現しやすく、HDL実装に比べてもパフォーマンス・実装効率が遜色ない
新しいアプリケーションが開発手法を変えていくというのは、ハードウェア開発の現場ではあまり無いことなので、興味深いところです。