バックナンバーはこちら

today&tomorrow

What's New in DesignWare IP?

2018 vol.111

消費電力に制約のある機器に高性能なディープ・ラーニングを実装する方法

システム消費電力の削減方法

プロセス・ノードが同じなら、まずデザインの動作周波数を下げるのが消費電力削減の最も簡単な方法です。その他の省電力手法としては、ロジックをしきい値付近の低電圧で動作させることでトランジスタのスイッチングに必要な電力を大幅に削減するニア・スレッショルド・ロジックなどがあります。外部バス帯域幅を最小化することも消費電力の削減につながります。外部バスのアクティビティが少ないほど消費電力も少なくなります。エンベデッド・ビジョン・アプリケーションの場合、内部メモリーのサイズを大きくするとデザインの全体的な面積は大きくなりますが、帯域幅が減少して消費電力が削減されます。CNNグラフに圧縮手法を適用して計算量とメモリー使用量を抑えることにより帯域幅を最小化し、消費電力を削減するという方法もあります。

少ない消費電力で高いTMAC/sを達成

低消費電力が求められるのは、小規模なCNNグラフを実行するデザインだけではありません。たとえば自動運転車で8 MP/60 fpsのカメラを1台または複数台搭載している場合、20~30 TMAC/sという非常に高いエンベデッド・ビジョン性能を最小限の消費電力で達成する必要があります。TMAC/sはTOP/s(Tera-Operations Per Second)として表されることもあります。MACサイクルは2回の演算(1回の乗算と1回の加算)で構成されるため、1 MAC/sは2 OP/sに相当します。

このようなアプリケーションでは、単に消費電力が少ないだけでなく、必要に応じて性能レベルを向上できる専用CNNエンジンが求められます。シノプシスのEV6xエンベデッド・ビジョン・プロセッサ・ファミリはこの課題に2つのアプローチで対処します。1つは各CNNエンジンに搭載するMACの数を必要に応じて増減する方法、そしてもう1つはバス・ファブリック(専用のNoCまたは標準AXI)に複数のCNNエンジンをインスタンシエートする方法です。図3の上側に示しているのは、低消費電力のIoTスマート・ホーム機器など小規模なアプリケーション向けに880 MACのCNNエンジンを統合したEV61プロセッサです。EV61には、個々のアプリケーション要件に応じて880 MAC、1760 MAC、3520 MACのCNNエンジンを統合できます。更に高い性能が必要な場合、図3の下側に示すようにAXIバスまたは専用の高性能NoCファブリックに複数のEVプロセッサをインスタンシエートします。こうすると、MACの数を増やして組込みアプリケーションの電力効率を最大限に高めることができます。

画像

図3:シノプシスのDesignWare EV6xプロセッサは、小規模なデザインなら880 MAC CNNエンジン1個で実装できる他、更に高いCNN性能が必要な場合にはAXIバスに多数をインスタンシエートできます。DesignWare EV6xプロセッサは現在、コンシューマ向けの顔認識アプリケーションから大規模な車載アプリケーションまで、高性能と低消費電力の両立が求められる多くのアプリケーションに採用されています。

まとめ

消費電力を最小限に抑えながら畳み込みニューラル・ネットワーク(CNN)グラフの強力な処理性能を達成する手段として、多くのASIC/SoC設計者が専用のCNNエンジンに注目するようになっています。ZeBu Serverのような大規模なプロトタイピング・システムにデザインをインプリメントして消費電力を計算すると、IPベンダから提供される簡易的な見積もりを使用するよりも正確に組込みプロセッサの消費電力を比較できます。DesignWare EV6xエンベデッド・ビジョン・プロセッサ・ファミリーはプロセッサとCNNエンジンを密接に統合しており、その優れた効率、性能、消費電力が実証されています。

カテゴリートップ