robertknight/rten

ONNX neural network inference engine

해결하는 문제

RTen은 Python(예: PyTorch)에서 훈련된 모델을 Rust 애플리케이션 내에서 실행할 수 있도록 설계된 머신러닝 런타임입니다. 복잡한 C++ 종속성을 제거하고, 빌드 및 배포 과정을 다양한 플랫폼에서 간소화하기 위해 엔드투엔드 Rust 구현을 제공합니다.

작동 방식

RTen은 ONNX 형식을 지원하여 Python 프레임워크에서 모델을 내보내고 Rust 환경에 로드할 수 있습니다. SIMD(AVX2, AVX-512, Arm Neon, WebAssembly SIMD)를 사용한 CPU 기반 추론을 통해 성능을 최적화합니다. 엔진은 단정밀도 부동소수점(f32)과 양자화된 int8 가중치를 지원하며, f16 가중치는 f32로 업컨버전을 통해 부분적으로 지원합니다.

대상 사용자

Rust 애플리케이션에 머신러닝 모델을 통합하거나 WebAssembly를 통해 모델을 웹에 배포하고자 하는 개발자. 무거운 외부 C++ 런타임에 의존하지 않고도 가능합니다.

주요 특징

  • 배포를 간소화하는 엔드투엔드 Rust 구현.
  • 대부분의 표준 ONNX 연산자와 일부 ONNX Runtime "contrib" 연산자 지원.
  • 멀티스레딩과 SIMD 가속을 갖춘 CPU 전용 추론.
  • WebAssembly에 대한 최고 수준의 지원으로 JavaScript 애플리케이션에서 ML 추론 가능.
  • 일반적인 전처리 및 후처리 작업을 위한 보조 라이브러리 포함.

관련

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