sonos/tract

Tiny, no-nonsense, self-contained, Tensorflow and ONNX inference

해결하는 문제

tract는 다양한 하드웨어에서 AI 모델을 실행할 수 있도록 설계된 신경망 추론 엔진으로, 최소한의 런타임 크기를 갖습니다. 이는 무거운 학습 프레임워크나 큰 로더를 배포할 필요 없이, 임베디드 ARM CPU와 GPU(NVIDIA/Apple)부터 WebAssembly를 통해 웹 브라우저에 이르기까지 다양한 환경에 모델을 배포하는 문제를 해결합니다.

작동 방식

tract는 ONNX, NNEF, TFLite와 같은 형식에서 모델을 로드한 후 특정 런타임에 최적화하고 컴파일합니다. NNEF 기반의 특수한 중간 표현인 tract-OPL을 사용하여 '한 번 번역하고, 작고 가벼운 런타임을 배포하는' 워크플로우를 가능하게 하며, 모델은 빌드 시점에 컴팩트한 형식으로 변환되어 최종 배포 시에는 작은 핵심 라이브러리 세트만 필요합니다.

또한 '펄스화(pulsification)' 기능을 제공하여, 전체 시퀀스로 학습된 모델을 고정 크기의 '펄스' 데이터를 처리할 수 있는 버전으로 변환하여, 웨이크워드 감지와 같은 작업에 대해 저지연, 실시간 스트리밍 추론을 가능하게 합니다.

대상 사용자

자원 효율성이 중요한 생산 환경에 AI 모델을 배포하는 개발자를 위한 것입니다. 예를 들어 임베디드 장치, 브라우저 기반 애플리케이션, 그리고 Linux, macOS, Windows에서 작동하는 워크스테이션 등입니다.

주요 특징

  • 다중 플랫폼 지원: x86, ARM(SVE 포함), Apple Metal, NVIDIA CUDA, WebAssembly에서 실행 가능합니다.
  • 광범위한 모델 호환성: ONNX, NNEF, TFLite 및 구형 TensorFlow 1 동결 그래프를 지원합니다.
  • 스트리밍 추론: 펄스화된 네트워크에 대한 1등급 지원으로 실시간, 저지연 처리를 가능하게 합니다.
  • 최소한의 크기: 번역 과정을 실행 엔진에서 분리함으로써 작고 최적화된 런타임 크기를 목표로 합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트