Skip to content

Releases: software-mansion/runntime

Release list

v0.1.0 🏃

Choose a tag to compare

@chmjkb chmjkb released this 16 Sep 14:04
82736ee

Announcing ruNNtime zoo v0.1.0: very fast on-device AI for the web 🏃

ruNNtime zoo runs AI models on the user's own GPU, in the browser, Electron and React Native. It is built on top of TypeGPU, so the kernels ship as WGSL shaders instead of a WASM binary.

It provides a set of ready-to-use, highly optimized AI models. The models are composed out of bare ML primitives from runntime/core, the engine we're building underneath (expect it soon 👀)

const detector = await createObjectDetector(models.objectDetection.YOLO26.DEFAULT);
const objects = await detector.detectObjects(image);

Model coverage

Task Factory Models
Text embedding createTextEmbedder all-MiniLM-L6-v2, 384 dims
Speech to text createSpeechToText Moonshine tiny, base, streaming tiny
Privacy filter createPrivacyFilter OpenAI privacy-filter, int8
Object detection createObjectDetector YOLO26 n, s, m (COCO-80)
Instance segmentation createInstanceSegmenter YOLO26-seg n, s, m
Pose and keypoints createKeypointDetector YOLO26-pose n, s, m (17 landmarks)
Depth estimation createDepthEstimator DepthART s, b
Image classification createImageClassifier MobileNetV4-Conv-S (ImageNet-1k)

Performance

Full methodology and more benchmarks are available on the benchmarks page.

Workload ruNNtime transformers.js
Moonshine tiny, speech to text 89x realtime 33x (fp32), 34x (q4)
all-MiniLM-L6-v2, batch of 32 2.7 ms per paragraph 11.3 ms (fp32), 8.3 ms (fp16)
MobileNetV4, classification 2.4 ms per image 10.9 ms (fp32)

A new backend for transformers.js

transformers.js executes its models on ONNX Runtime. ruNNtime registers as a second backend alongside it, so the library stays in charge: your pipeline() calls, model ids, tokenizers and pre and post processing are untouched, and supported models simply execute on ruNNtime kernels instead. For more information, see the docs section.

await initRunntimeBackend({ fallbackToOnnx: true });
const pipe = await pipeline('feature-extraction', 'Xenova/all-MiniLM-L6-v2');