Week 2 of Inference knowledge 🧵👇
You often see those terms when talking about AI models, but how does it work, and when is a model memory or compute bound?
I've run the same depth model on the NPU and the CPU of a Galaxy S25: 27 ms per frame vs 550 ms :D
If the phone has an NPU, use it. Kudos to @Qualcomm for this chip, the 8 Elite even beats the iPhone 16 Pro's Neural Engine (~90 ms). In the next react-native-executorch release most of our models run on the NPU on Snapdragon devices. Android isn't a second-class citizen anymore.
Finally I can share with you a thing I was working on for a past few months.
It's called Velonos and in a few words, it's a privacy gateway that filters the traffic that goes to chatGPT, Claude and Gemini, scans the documents and prompts and hides a sensitive information and restores it in the answer when it comes back.
Most important part is that everything happens on the device.
Here's a link and I will share some more details in thread.
https://t.co/6htN0mXbXR
Searching a 54-min podcast by meaning, in any language, fully local in the browser.
EmbeddingGemma 2 matches your question straight to the audio, no transcription. Ask in Italian or Chinese, it still finds the right moment.
Runs on your GPU with ruNNtime (WebGPU)
ruNNtime v0.2.0 just got a huge performance boost 🚀
We integrated a lot of findings from @huggingface kernels library into ruNNtime, speeding inference up significantly. huge thanks for your help on this @nicodotdev@xenovacom 🤗
LFM3-Audio-2B running fully local on an M4 Pro and it's pretty bonkers.
I talk → the model hears the raw audio (no speech-to-text step) → it picks a tool and writes the call → the Mac acts → it talks back.
can't wait to make this thing go brr on webgpu
soon in runntime 👀
Week 1 of inference knowledge 🧵 👇
Ever heard of operator fusion?
It's one of the simplest tricks that makes AI models run faster.
But what does it even mean?
Just ported Phonon by @GradiumAI to runntime 🔊
31M-param open TTS, running fully in the browser on WebGPU at half-precision.
💻 M4 Pro: ~47× real time, first audio in ~20 ms
📱 Phone 13 Pro: 7× real time, first audio in 87 ms
expect some cool things next week 👀 👇
47 minutes since the release of d1 omni by @liquidai
me and my friend Claude already made it run in the browser using ruNNtime.
this is one of our main goals - to make porting AI models to browsers hassle-free and agent-friendly
EmbeddingGemma 2 by @googlegemma was released yesterday, and I already got it running in WebGPU via ruNNtime.
The model lets you capture multimodal data as vectors, such as voice, photos, or text. It will soon be released in the runntime zoo package.
links 👇🏻
Tried porting Laya to ruNNtime. Took about an hour, all from existing core ops, no new kernels. Works in the browser in real time.
We want porting models like this to be that simple.
Live chat moderation, fully on-device. Core package coming soon.
a simple football analysis tool running in the browser via runntime
this demo is using 2 separate vision models, which are running together at over 30fps.
this is the kind of performance you'd want for offline-first coaching apps, for pretty much any sport
we just shipped ruNNtime, a library for running neural networks in browsers, built on top of TypeGPU
this demo show’s how fast it is. it is speech-to-text + a privacy filter model running together on an M4 Pro. i say my email and it's blacked out before it hits the screen
🧵👇
I've built Apple's Spatial Scenes in React Native, running on iPhone and Android :D
Depth Anything V2 + segmentation + MI-GAN inpainting run once (~1s on-device), then a TypeGPU shader does the parallax from the gyroscope at 60fps. The person's background is fully hallucinated, those pixels don't exist in the photo.
stack: @swmansion's react-native-executorch + typegpu
i was wondering what would it take to reimplement the same model Konrad uses here in our TypeGPU based kernel library and it took around an hour
it still needs a bit polishing, but already works in real time
we're working on porting such models as easy as possible
Talking to the Moonshine v2 speech-to-text model running on-device in the browser
It works at 350+ tokens/sec, which is so fast that you can transcribe an hour-long podcast in under a minute! Currently working on open-sourcing this project, so expect news soon 👀
More context 👇🏻