fangwei123456/spikingjelly
SpikingJelly is an open-source deep learning framework for Spiking Neural Network (SNN) based on PyTorch.
解決する課題
SpikingJelly は PyTorch ネイティブのフレームワークで、スパイキングニューラルネットワーク(SNN)の開発、トレーニング、デプロイを簡素化することを目的としています。離散的なスパイクで情報を処理する、生物学的にインスパイアされた大規模 SNN を扱うために必要なインフラを提供し、エネルギー効率が高い可能性があります。
仕組み
PyTorch 上に構築されたこのフレームワークは、馴染みのある API を用いて SNN を定義できます。torch、cupy、triton といった複数のアクセラレーションバックエンドをサポートし、パフォーマンスを最適化します。システムには ANN から SNN への変換ツール、トレーニング用のサロゲート勾配、そして大規模モデルのメモリ効率的なトレーニングのためのスパイク圧縮(memopt)が含まれています。
対象者
主に神経形態コンピューティング、スパイクベースのインテリジェンス、エネルギー効率の高い AI モデルに取り組む研究者や開発者を対象としています。
ハイライト
- PyTorch-native:初心者に優しい API を使用し、PyTorch エコシステムとシームレスに統合できます。
- High Performance:
cupyとtritonバックエンドをサポートし、実行を高速化、torch.compileとも互換性があります。 - Neuromorphic Datasets:N-MNIST や DVS-Lip など、さまざまなイベントベースデータセットを組み込みでサポートします。
- Hardware Deployment:NIR、Lava、Lynxi などのフレームワークや神経形態ハードウェアとのインターフェース交換を提供します。
- Large-Scale Support:分散トレーニング、精度制御(例:
fp8)およびスパイクトランスフォーマーコンポーネントを備えています。