sonos/tract

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

해결하는 문제

tract는 ONNX, TensorFlow Lite, NNEF 등의 형식에서 모델을 특화된 중간 표현(tract-OPL)으로 변환함으로써, 실행 시에 무거운 학습 프레임워크 로더나 protobuf가 필요 없도록 하여 매우 작은 런타임 풋프린트를 제공하는 신경망 추론 엔진입니다. 임베디드 ARM CPU, 브라우저 내 WebAssembly, NVIDIA 및 Apple GPU에 이르기까지 다양한 하드웨어에서 AI 모델을 실행하는 것을 목표로 합니다.

작동 방식

ONNX, NNEF, TFLite 등의 형식에서 모델을 로드하고, 타겟 하드웨어에 최적화한 후 실행합니다. TypedModel IR(중간 표현)을 사용하여 한 플랫폼에서 최적화된 모델을 다른 플랫폼으로 이동할 수 있습니다. 웨이크워드 감지나 스트리밍 음성 인식과 같은 실시간, 저지연 워크로드의 경우, 일반적으로 전체 시퀀스를 처리하는 네트워크를 각 단계에서 고정 크기의 데이터 펄스를 처리하는 네트워크로 변환하는 '펄시스피케이션(pulsification)'이라는 프로세스를 사용합니다.

대상 사용자

임베디드 시스템, 브라우저 기반 AI, 또는 워크스테이션용 AI 애플리케이션을 개발하고, 다양한 하드웨어 타겟에 모델을 배포하기 위해 고성능이고 가벼운 런타임이 필요한 개발자들.

주요 특징

  • 다중 플랫폼 지원: x86, ARM(SVE 포함), Apple Metal, NVIDIA CUDA, WebAssembly에서 실행 가능.
  • 광범위한 모델 지원: ONNX, NNEF, TFLite와 호환되며, torch-to-nnef를 통해 PyTorch에서 NNEF로의 직접 경로 제공.
  • 작은 런타임 풋프린트: tract-OPL을 사용하여 필요한 런타임 구성 요소만 배포하여 무거운 로더를 피함.
  • 스트리밍 추론: 실시간, 저지연 오디오/음성 워크로드를 위한 펄시스피케이션 추론에 대한 1등급 지원.
  • 언어 바인딩: Rust 및 Python 모두에서 사용 가능.

관련

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