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 を定義できます。torchcupytriton といった複数のアクセラレーションバックエンドをサポートし、パフォーマンスを最適化します。システムには ANN から SNN への変換ツール、トレーニング用のサロゲート勾配、そして大規模モデルのメモリ効率的なトレーニングのためのスパイク圧縮(memopt)が含まれています。

対象者

主に神経形態コンピューティング、スパイクベースのインテリジェンス、エネルギー効率の高い AI モデルに取り組む研究者や開発者を対象としています。

ハイライト

  • PyTorch-native:初心者に優しい API を使用し、PyTorch エコシステムとシームレスに統合できます。
  • High Performancecupytriton バックエンドをサポートし、実行を高速化、torch.compile とも互換性があります。
  • Neuromorphic Datasets:N-MNIST や DVS-Lip など、さまざまなイベントベースデータセットを組み込みでサポートします。
  • Hardware Deployment:NIR、Lava、Lynxi などのフレームワークや神経形態ハードウェアとのインターフェース交換を提供します。
  • Large-Scale Support:分散トレーニング、精度制御(例:fp8)およびスパイクトランスフォーマーコンポーネントを備えています。