Nerva: a Truly Sparse Implementation of Neural Networks

要約

C++ で開発中の高速ニューラル ネットワーク ライブラリである Nerva を紹介します。
Intel のマス カーネル ライブラリ (MKL) のスパース行列演算を使用してスパース性をサポートするため、バイナリ マスクが不要になります。
Nerva は、PyTorch と同等の精度を達成しながら、トレーニング時間とメモリ使用量を大幅に削減することを示します。
CIFAR-10 上の MLP を使用して静的スパース実験を実行します。
$99\%$ のような高いスパース性レベルでは、マスクを使用した PyTorch モデルと比較して、実行時間は $4\times$ の係数で短縮されます。
PyTorch や Keras などの他の一般的なフレームワークと同様に、Nerva はユーザーが操作できる Python インターフェイスを提供します。

要約(オリジナル)

We introduce Nerva, a fast neural network library under development in C++. It supports sparsity by using the sparse matrix operations of Intel’s Math Kernel Library (MKL), which eliminates the need for binary masks. We show that Nerva significantly decreases training time and memory usage while reaching equivalent accuracy to PyTorch. We run static sparse experiments with an MLP on CIFAR-10. On high sparsity levels like $99\%$, the runtime is reduced by a factor of $4\times$ compared to a PyTorch model using masks. Similar to other popular frameworks such as PyTorch and Keras, Nerva offers a Python interface for users to work with.

arxiv情報

著者 Wieger Wesselink,Bram Grooten,Qiao Xiao,Cassio de Campos,Mykola Pechenizkiy
発行日 2024-07-24 17:13:31+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.LG パーマリンク