
拓海先生、最近社員に「CNNを専用機で速くする研究が良い」と言われまして、正直何が新しいのか掴めないのです。うちの投資に値する技術でしょうか。

素晴らしい着眼点ですね!大丈夫です、簡潔に整理しますよ。結論から言うと、この論文はCNN(Convolutional Neural Network、畳み込みニューラルネットワーク)の主要負荷である畳み込み演算に対して、柔軟さと効率を両立するプロセッサ設計を提示しているんですよ。

なるほど。ですが世の中には大きなMAC(multiply-and-accumulate、乗算蓄積)アレイを積んだ専用機もあるはずです。それとどう違うのですか。

いい質問です。要点は三点です。第一、既存のMACアレイはスループットやエネルギー効率で強いが、データフローやタイルサイズなどの柔軟性に乏しい。第二、本研究はASIP(Application-Specific Instruction Set Processor、アプリケーション特化命令セットプロセッサ)という設計思想で、ソフト側でデータフローの調整ができるようにしている。第三、VLIW(Very Long Instruction Word、超長命令語)とベクタ命令を組み合わせ、1サイクルあたり多数のMACに相当する並列実行を実現しているのです。

これって要するにハードの固定化を避けて、ソフトで運用や最適化ができるようにした設計ということ? 投資対効果はどう見れば良いですか。

その認識で概ね合っています。投資対効果を見る際の観点も三つに整理できます。ハードウェアのエネルギー効率とレイテンシ、ソフト開発コストの再利用性、そして将来的なアルゴリズム変化への耐性です。本論文の設計はこれらをバランスさせており、特にレイテンシ敏感な組込み用途で差が出る設計です。

具体的にどのくらい速いのでしょう。数字で示してもらえると判断がしやすいのですが。

論文では28nm CMOS技術で動作させた場合、最大で400MHzの目標クロックで1サイクル当たり192相当のMACパフォーマンスを実現するとしています。さらに、16ビット固定小数点でのALU利用率は平均で約72.5%と報告されており、エネルギー効率は最大で497 GOP/s/Wという評価値が示されています。

それは興味深い数値です。ですが現場のソフトエンジニアが扱えるのか心配です。ソフトで最適化するには専門家が大量に必要なのでは。

そこも設計上の配慮があります。本研究ではフル機能のC/C++コンパイラを自動生成しており、計算カーネルはライブラリ化して再利用可能です。現場ではライブラリを組み合わせ、チューニングパラメータを変える運用が主であり、毎回ゼロから書く必要はないのです。要するに開発工数は設計次第で抑えられますよ。

なるほど。これって要するにハードの効率を大きく落とさずに、ソフト側で運用を柔軟に変えられる仕組みを作ったということですね。分かりました、まずは社内の用途に当てはめて評価してみます。

素晴らしい意思決定です。一緒に要件を整理して、ROI(Return on Investment、投資利益率)を短期と中期で試算し、まずはプロトタイプで検証しましょう。大丈夫、一緒にやれば必ずできますよ。

では最後に私の言葉で整理します。要するに、ConvAixはハードの高効率とソフトの柔軟性を両立させるASIP設計で、開発工数を抑えつつレイテンシ敏感な用途で高い実効性能を出せる、ということですね。


