spikingjelly: 대규모 스파이킹 신경망 훈련 및 추론을 위한 PyTorch‑네이티브 프레임워크
spikingjelly: 대규모 스파이킹 신경망 훈련 및 추론을 위한 PyTorch‑네이티브 프레임워크
해결하는 문제
SpikingJelly는 스파이킹 신경망(SNN) 개발, 훈련 및 배포를 간소화하도록 설계된 PyTorch‑네이티브 프레임워크입니다. 전통적인 인공 신경망(ANN)과는 다른 스파이킹 뉴런의 고유한 시간 역학을 처리하기 위한 인프라를 제공하면서 PyTorch 생태계와의 호환성을 유지합니다.
작동 방식
이 프레임워크는 스파이킹 뉴런 모델(예: LIFNode)과 대리 그래디언트를 통합하여 표준 그래디언트 기반 최적화로 SNN을 훈련할 수 있게 합니다. torch, cupy, triton 등 여러 가속 백엔드를 지원해 뉴런 커널 실행을 최적화합니다. 기존 AI 환경에서 전환하는 사용자를 위해 ANN2SNN 변환 도구를 제공하여 기존 인공 신경망을 스파이킹 버전으로 변환할 수 있습니다.
대상 사용자
신경형 컴퓨팅, 스파이크 기반 인텔리전스, 에너지 효율 AI 분야의 연구자 및 개발자와 이벤트 기반 데이터셋을 머신러닝 워크플로에 통합하려는 사람들을 위한 프레임워크입니다.
주요 특징
- PyTorch‑네이티브 API: 익숙한 PyTorch
nn.Sequential및 모듈 패턴으로 SNN 정의 - 고성능 백엔드:
cupy와triton을 지원해 뉴런 실행 속도 향상 - 신경형 데이터 지원: ASL‑DVS, N‑MNIST 등 다양한 이벤트 기반 데이터셋에 대한 내장 접근성
- 배포 준비: NIR, Lava, Lynxi를 통한 신경형 하드웨어 모델 내보내기 인터페이스
- 스케일링 도구: 메모리 효율적인 훈련(
memopt) 및 다중 GPU 작업을 위한 분산 실행 지원
Sources
- undefinedfangwei123456/spikingjelly