富士通研究所は、深層学習(ディープラーニング)技術を使ったディープニューラルネットワーク(DNN)の学習を低消費電力で実行できる回路技術を発表した(発表資料)。ネットワークの構造や学習方法は変えずに、数値を8ビットで表現して処理することで、32ビットの浮動小数点で実行する場合と比べて消費電力を約75%削減できるという。 2017年4月24~26日開催の「xSIG 2017 The 1st. cross-disciplinary Workshop on Computing Systems, Infrastructures, and Programming」で発表した。

 開発した技術では、32ビット浮動小数点で与えた入力データやニューラルネットの重みを、一括で16ビットや8ビットの値に変換して学習処理を進める。一般に、演算に用いる数値のビット数を減らすほど消費電力は下がるが、演算精度は劣化する。8ビットの演算でも学習後のDNNの性能が落ちないように、富士通研は独自の数値表現を用いた。この表現で表せる範囲内に演算結果がなるべく収まるように、演算器の出力をリアルタイムで解析し、小数点の位置を決めているという(図1、2)。小数点の位置は層ごと、パラメーターごとに調整できるとした。また、演算を整数演算器で実行することで、さらに電力削減を図っている。学習結果の重みの値は、16ビットまたは8ビットの整数になる。

図1 演算中のデータを解析・保存して演算設定に反映
[画像のクリックで拡大表示]
図1 演算中のデータを解析・保存して演算設定に反映
図2 表現範囲にデータが収まるように小数点の位置を調整
[画像のクリックで拡大表示]
図2 表現範囲にデータが収まるように小数点の位置を調整