flashlight/flashlight
A C++ standalone library for machine learning
What it solves
Flashlight은 C++로 완전히 작성되어 빠르고, 유연하며, 가벼운 프레임워크를가 필요로 하는 연구자들을 위해 설계된 고성능 머신러닝 라이브러리입니다. C++의 효율성과 규모를 유지하면서도 새로운 실험적인 알고리즘과 설정을 빠르게 반복할 수 있는 능력을 희생하지 않고 이러한 도구의 필요성을 해결합니다.
How it works
Flashlight은 tape-based 자동 미분 시스템 (Variable 추상화 방식)과 고성능 기본값 및 JIT 커널 컴파일을 위해 ArrayFire 텐서 라이브러리를 기반으로 구축된 핵심 텐서 인터페이스를 사용합니다. 구조는 핵심 신경망 라이브러리 (fl), 독립형 유틸리티 (lib), 도메인 특화 패키지 (pkg), 그리고 바로 사용할 수 있는 애플리케이션 (app)으로 구성됩니다.
Who it’s for
주로 최대 성능, 작은 메모리 사용량, 그리고 텐서 연산의 내부 API를 수정할 수 있는 능력을 요구하는 AI 연구자 및 개발자들을 위한 것입니다.
Highlights
- C++ Native: C++로 완전히 작성되어 완전한 내부 수정 가능성과 작은 코어 풋프린트 (10 MB 미만)를 제공합니다.
- High Performance: ArrayFire를 사용하여 JIT 커널 컴파일을 수행하며, CUDA와 CPU 백엔드를 모두 지원합니다.
- Automatic Differentiation: 단순한 tape-based autograd 시스템을 통해 경사도를 계산합니다.
- Multi-Domain Support: 자동 음성 인식 (ASR), 이미지 분류, 객체 탐지, 언어 모델링을 위한 내장 애플리케이션을 포함합니다.