aspireai.
PUBLIC EDITION

A 65.7M-parameter speech model ran streaming ASR on an ESP32-P4 microcontroller with no neural accelerator, at 4.34 percent word error rate

AspireAI community · arXiv
Kroko is a 65.7M-parameter streaming Zipformer2 transducer for English, run on an ESP32-P4 - a microcontroller with two 400 MHz RISC-V cores, a 128-bit SIMD extension and 32 MB of PSRAM, but no neural accelerator at all. Without any training, the encoder's 290 matrices are stored at 2 or 4 bits per weight in Hadamard-rotated groups: each matrix's width comes from its measured sensitivity, and each is first corrected toward the original model's output, then rounded with GPTQ and a search over group norms. The released 71 MB of int8 weights become a 26.65 MB file. A C engine with hand-written PIE kernels processes each 1.28-second audio chunk in 0.90 seconds on both cores, beam search included, and its PC build computes the same bits as the chip so accuracy is measured on whole test sets. LibriSpeech WER is 4.34% on test-clean and 10.26% on test-other, against 3.94% and 9.17% for the released model; on FLEURS and Common Voice the gap grows to 2.3 and 1.1 points. The honest limitation is in the abstract itself: the quantization costs real accuracy, and the authors did not measure energy. The inference engine, firmware and 2/4-bit weights are released on GitHub and Hugging Face.
Read the story and explore more from the AspireAI community.
Discover more stories
Stay curious.
THE BIG PICTURE
A FRESH PERSPECTIVE
Research
One distance function matched sparse-autoencoder features across layers and compressed feature circuits into supernodes
Two sparse-autoencoder analyses have resisted scaling: matching semantically similar features across layers, and compressing large feature circuits into interpretable supernodes. This paper argues both are the same underlying problem, estimating semantic distances between SAE features that sit on different activation manifolds. Its representation treats each feature not as a single decoder vector but as an activation-weighted distribution over the hidden states expressing it, projects those distributions into a shared reference space, and compares them with Wasserstein distance. The representation is proved invariant to activation rescaling and stable under perturbation, and recovers true matches under finite-sample margin conditions. Empirically it outperformed decoder-vector and LLM-based baselines and captured subtle functional distinctions between related features, and it compressed large feature circuits into interpretable supernodes automatically. The limitation is that this is interpretability tooling: the paper demonstrates better feature matching and circuit compression, not that downstream interpretability claims become more accurate.
Swipe into something new
01 / 1729
The conversation continues
Explore Builds — projects by Kiran Adimatyam ↗
A fresh perspective changes everything.
ASPIREAI — STAY CURIOUS.