@Vengineerの戯言 : Twitter
SystemVerilogの世界へようこそ、すべては、SystemC v0.9公開から始まった
Intelのこのブログでは、OpenVINOでBINARY CONVOLUTIONをサポートして、BINARY MODELでもそれなりの精度が出るよというお話
具体的には、Neural Network Compression Framework (NNCF) というものを使ってバイナリ化しているようです。NNCF はバイナリ化だけでなく、量子化(8ビット化)もできるようです。この NNCF って、PyTorchベースのライブラリのようです。
どのように量子化しているかは、下記に説明があります。
この NNCF を使って量子化、バイナリ化した学習済みモデルは、こちら。
- face-detection-adas-binary-0001
- pedestrian-detection-adas-binary-0001
- vehicle-detection-adas-binary-0001
- resnet50-binary-0001
などがありますね。
バイナリ化した場合、popcount をする必要があり、第10世代の Intel Core では下記のように popcount のための命令を持っているようです。これにより、Core i-8700 と Core i7-1065G での popcount のための命令の効果の比較があります。相対的に、Core i7-1065G は速くなっていますね。
10th generation Intel® Core™ processor family introduces support for vectorized popcount operation which makes computation of binary convolution even more efficient.