全5154文字
PR

工夫なしには成立しない

 もっとも、こうしたメリットは2015年のBNNの初登場当初から知られていた。にもかかわらず、BNNが表舞台に出てこなかったのは、低ビット化による推論精度の大幅低下という大きな代償があったからである。

 従来の32ビットの浮動小数点演算を8ビットの整数演算にするまでは、推論精度の低下は目立たない。ところが、8ビットより少ないビット数、例えば4ビットで特に工夫もなければ推論精度は一気にゼロに近づいてしまう。ましてや1ビットへの単純な低ビット化は、ニューラルネットワークとして成立しない。初登場から約5年間、さまざまな工夫や対処技術が積み重ねられてきたことで、実用化のメドが立ちつつあるのである。

調査項目数は2~3倍に増やす

 推論精度低下の課題に対する対処では、2017年にIntelが発表した「Wide Reduced-Precision Networks:WRPN)法」が大きな役割を果たした(図5)。WRPN法は、CNNのビット数を減らす代わりに、画像の調査項目数に相当するチャネル数を2~3倍に増やす方法である。

図5 ビット数低減の代わりにチャネル数を増やす
図5 ビット数低減の代わりにチャネル数を増やす
BNNで推論精度を下げない手法を示した。Intelが開発した、チャネル数を倍増させるWRPN(Wide Reduced-Precision Networks)法では、演算コストは4~5倍に増えるものの、推論精度はビット数を減らす前の水準に近づく。LeapMindの「極小量子化技術」の例ではResNet-18でデータにCIFAR-10を用いた場合で、WRPNを使う前の0.9ポイント増(b)、データセットにImageNetを用いた場合で同8.9ポイント増(c)といずれも推論精度が大きく向上した。(図:LeapMind)
[画像のクリックで拡大表示]

 Intelによれば、チャネル数を2倍に増やすと演算コストは5倍に増えるものの、1ビット化することで演算コストは1/33になるため、トータルではビット数を減らす効果が残る。

 LeapMindによる「極小量子化技術」の実装でも、WRPNの効果は大きいという。具体的には、ビット数が多い演算との比較でデータセットがCIFAR-10の場合にWRPNなしでは1.4ポイント低下した推論精度が、WRPNありでは0.5ポイント差まで向上した。データセットがImageNetの場合は、WRPNなしでは低ビット化しない実装に対して推論精度が10.9ポイントも低下したのに対し、WRPNありでは2ポイント差にまで差を縮めた。

極小量子化技術=LeapMindが開発したCNNの低ビット化技術。重みを1ビット化する点はBNNと同じだが、活性化関数の出力は2ビット3値にする。「1ビット2値では精度が大きく低下する」(同社の徳永氏)からだという。2020年3月には、台湾Alchip Technologyと共同で台湾TSMCの12nm世代のプロセスでASICを試作し、電力性能として27.7TOPS/Wを確認。2020年6月末には知的財産(IP)のサンプル的なライセンスを「Efficiera」という名で始めたとする。