Video wird geladen...

Video konnte nicht geladen werden

Zur Startseite

I turned Google Gemma EmbeddingGemma 2, an embedding model, into a speech-to-text model, and it turned out to be one of the fastest STT models you can run on device. On a base M3 MacBook Air it transcribes an hour of audio in about 13 seconds: 288× real time....

295,771 Aufrufe • vor 22 Tagen •via X (Twitter)

59 Kommentare

Profilbild von Shahir
Shahirvor 22 Tagen

How it works: the model stays untouched. A small reader on top takes each slice of audio, finds the nearest of ~229,000 words in the model's own text space, and strings them together. It trained in under two hours on 8×H100, on openly licensed speech. On the same base M3 Air, it runs about twice as fast as IBM's Granite Speech TurboCTC. The table has more Macs and models. Its word error rate is about 5% right now, against 2–3% for leading STT models. The next iteration is to train a better word reader to improve that. Here is a free Mac app you can download to test it. Here's google's post

Profilbild von Shahir
Shahirvor 21 Tagen

You can download the free Mac app here to test it out -

Profilbild von Sagar
Sagarvor 21 Tagen

@googlegemma Yo, what did I just saw! this is crazy fast and that too on m3 air

Profilbild von Shahir
Shahirvor 21 Tagen

@googlegemma Test on yours and let me know. It should be almost twice as fast

Profilbild von Bram van Es
Bram van Esvor 21 Tagen

@googlegemma Can imagine the word-error-rate is pretty high because for the unified embedding they will have used tuples of objects/nouns?

Profilbild von Shahir
Shahirvor 21 Tagen

@googlegemma About 5% WER on LibriSpeech test-clean: 5.18%. On the harder test-it's about 11.5-11.8%.

Profilbild von Bram van Es
Bram van Esvor 21 Tagen

@googlegemma Still very good! If you use e.g. SpaCy to extract the nouns and verbs, how does that compare in WER?

Profilbild von Shahir
Shahirvor 21 Tagen

@googlegemma Embedding gemma 2 can already identify parts of the speech. I have tested it. on WER, it is about 5 on Librispeech easy set.

Profilbild von Ivan Fioravanti
Ivan Fioravantivor 21 Tagen

@googlegemma Amazing, simply amazing! Well done!

Profilbild von Shahir
Shahirvor 21 Tagen

@googlegemma Thank you :D Long-time fan. So, super honored

Profilbild von Monty
Montyvor 21 Tagen

@googlegemma is this sorcery open source? :D

Profilbild von Shahir
Shahirvor 21 Tagen

@googlegemma Soon :D

Profilbild von Imran Qureshi
Imran Qureshivor 21 Tagen

@googlegemma Awesome, I could imagine we can do all sorts of information transformation if we have a set to choose from using embedding Gemma. Although I expect the WR to be pretty high here?

Profilbild von Shahir
Shahirvor 21 Tagen

@googlegemma the WER is currently around 5 for librispeech. But, this is easily finetunable for any domain. I tried it for earnings call recordings. WER moved almost 1.5 hours with a few hours of audio. The reader is just an 87 m model so finetuning happens on the reader.

Profilbild von Allison Smith
Allison Smithvor 21 Tagen

@explorations_iq @googlegemma "WER moved almost 1.5 hours" What were you actually trying to say here? The WER dropped to 1.5?

Profilbild von Shahir
Shahirvor 21 Tagen

@explorations_iq @googlegemma I missed a with there :D WER moved 1.5% with finetuning on a few hours of audio for a specific domain.

Profilbild von RITAV DAS
RITAV DASvor 21 Tagen

@googlegemma Looks great, how good is the accuracy

Profilbild von Shahir
Shahirvor 21 Tagen

@googlegemma About 5% WER on LibriSpeech test-clean: 5.18%. On the harder test-it's about 11.5-11.8%.

Profilbild von Atif Saleem
Atif Saleemvor 21 Tagen

@googlegemma Resource usage?

Profilbild von Shahir
Shahirvor 21 Tagen

Resource use, measured in the app: an hour-long file peaks at about 860-900 MB of memory on a base 8 GB M3 MacBook Air (about 740 MB on an M1 MacBook Pro), and a 3-minute clip at about 630 MB. The models are a 715 MB download at 6-bit. The reading runs on the Neural Engine, with the GPU doing the word lookup.

Profilbild von Cobi Marcheline
Cobi Marchelinevor 21 Tagen

@googlegemma I mean voz by desert ant labs which is just a compressed version of Parakeet TDT 0.6B v3 is still faster, but this is cool.

Profilbild von 程序杨的AI进阶指南 | BASS&SASS
程序杨的AI进阶指南 | BASS&SASSvor 21 Tagen

@googlegemma has download and tried. please support simplified chinese. thanks a lot

Profilbild von Sanjay
Sanjayvor 21 Tagen

@googlegemma This is huge

Profilbild von janxpm
janxpmvor 21 Tagen

@googlegemma Does it produce word timings too? That would ne great.

Profilbild von Shahir
Shahirvor 21 Tagen

@googlegemma Yes. It does

Profilbild von janxpm
janxpmvor 21 Tagen

@googlegemma Hey, we are both on the frontpage today :)

Profilbild von Shahir
Shahirvor 21 Tagen

@googlegemma Damn! I hadn’t known. Thanks for letting me know. Congrats to you too 😀

Profilbild von Mustafa Yusuf
Mustafa Yusufvor 21 Tagen

@googlegemma Fantastic!!

Profilbild von Stefano Fiorucci
Stefano Fioruccivor 21 Tagen

@googlegemma Cool! You plan to share code?

Profilbild von Shahir
Shahirvor 21 Tagen

@googlegemma Yes. Soon

Profilbild von Mike Knapp
Mike Knappvor 21 Tagen

@googlegemma Cool! Have you done any contrastive loss training? I wonder if that could further reduce the error rate.

Profilbild von Shahir
Shahirvor 20 Tagen

@googlegemma Thanks. Will try that

Profilbild von Wallet Trail ES
Wallet Trail ESvor 21 Tagen

@googlegemma converting an embedding model into STT is a weird flex and I mean that as a compliment. 288x on a base Air — what's the WER at that speed? latency numbers without quality metrics are just vibes.

Profilbild von Shahir
Shahirvor 21 Tagen

@googlegemma Around 5 on Librispeech simple. I have mentioned it. This was just the initial training attempt. The WER can come down a lot.

Profilbild von Faisal
Faisalvor 21 Tagen

@googlegemma Hey this is pretty cool. Im assuming this work only for English? How small is the slice of audio ? How did you train it? could u please elaborate on it.

Profilbild von J. Qureshi
J. Qureshivor 21 Tagen

@googlegemma Amazing! These kinds of novel ideas are so fun to follow! Kudos

Profilbild von Aleksey Smolenchuk
Aleksey Smolenchukvor 21 Tagen

@ClementDelangue @googlegemma This is pretty incredible tbh. Im gonna bench it to see how it runs on mobile!

Profilbild von jorn lyseggen
jorn lyseggenvor 21 Tagen

@googlegemma Love this ❤️ Such a simple but clever idea 🏆

Profilbild von Dhanji Bhagat
Dhanji Bhagatvor 22 Tagen

@googlegemma 288× real-time on a base M3 Air, fully on-device? This is the kind of open-source AI innovation that makes local-first apps genuinely exciting.

Profilbild von Matt
Mattvor 21 Tagen

@googlegemma nice trick! how does it do on accents?

Profilbild von Shahir
Shahirvor 21 Tagen

@googlegemma the WER was a little high on my own speech. But, it can be finetuned with about 1 hour of audio. Takes about 6 minutes to finetune, and it drastically improves the quality

Profilbild von The Singularity Project
The Singularity Projectvor 21 Tagen

@googlegemma An hour of audio in 13 seconds on a base MacBook Air, from an open embedding model. This is what the edge looks like now: your voice, your notes, your meetings transcribed without ever leaving your machine. Great hack.

Profilbild von Sabir Khan
Sabir Khanvor 21 Tagen

@googlegemma This is so clever, I am going to try this on linux now.

Profilbild von Shreyas Karnik
Shreyas Karnikvor 21 Tagen

@ClementDelangue @googlegemma This is really cool

Profilbild von inspirebek
inspirebekvor 21 Tagen

@googlegemma hey bro! open-source it! have some cooli ideas ...!!

Profilbild von 1LittleCoder💻
1LittleCoder💻vor 21 Tagen

@googlegemma @pHequals7 fyi

Profilbild von M4rc0z
M4rc0zvor 21 Tagen

@googlegemma Based. Instafollow 👀

Profilbild von Ali Tavallaie
Ali Tavallaievor 21 Tagen

@googlegemma Do you check it on non-english language too? For example in Persian we still lack some good ASR and WER is high

Profilbild von Shahir
Shahirvor 21 Tagen

@googlegemma I am planning on training it on multilingual datasets. It could work. As of now, it is only English

Profilbild von Ali Tavallaie
Ali Tavallaievor 21 Tagen

@googlegemma Ping me if you need any help on Persian and Arabic

Profilbild von Shahir
Shahirvor 21 Tagen

@googlegemma Will do, Thank you

Profilbild von David Tran
David Tranvor 21 Tagen

@googlegemma An hour in about 13 seconds is the part I would notice. Ran Falcon-ASR on TII’s free demo today, so I'm hoping this one ends up less than 5% WER on my voice. Definitely will give this a try.

Profilbild von Shahir
Shahirvor 21 Tagen

@googlegemma The WER might be higher on your own voice becayse 5% is on synthetic voice. But, I will release the model and a method to train it soon. It can improve accuracy on your own voice with just 1 hour of recorded audio and transcript.

Profilbild von David Tran
David Tranvor 21 Tagen

@googlegemma Okay, good to know and looking forward to it.

Profilbild von jrubiosainz
jrubiosainzvor 21 Tagen

@ClementDelangue @googlegemma This is a smart idea! Congrats! The efficiency seems really amazing. Will give it a try too!

Profilbild von Gaurav
Gauravvor 21 Tagen

@googlegemma what about decision models which responds in microseconds. have a look

Profilbild von Dynamics_01(大冰美式版
Dynamics_01(大冰美式版vor 21 Tagen

@googlegemma 288× real time on a base Air broke my brain. I tried the same embedding-to-STT trick last month and got garbage from quantizing too aggressively, your writeup just cost me my weekend.

Profilbild von CrossProduct
CrossProductvor 21 Tagen

@googlegemma whats the accuracy ? WER?

Profilbild von Shahir
Shahirvor 21 Tagen

@googlegemma At the moment, it is around 5% on the librispeech easy set. On my own recordings it is around 10. But, it is easily finetunable since the reader is only 87m. So, around 1-2 hours of your recording can improve the accuracy a lot

Ähnliche Videos

Google just proved that bigger isn't always better. Their 308M parameter model is outperforming models 2x its size. Google just released 𝗘𝗺𝗯𝗲𝗱𝗱𝗶𝗻𝗴𝗚𝗲𝗺𝗺𝗮, and it's proving that lightweight embedding models can punch way above their weight class. At just 308M parameters (578MB), it's the new state-of-the-art for models under 500M parameters across MTEB multilingual, English, and code benchmarks. But the really impressive part is that it ranks 8th overall on MTEB(Multilingual, v2) - that's 𝟭𝟳 𝗽𝗹𝗮𝗰𝗲𝘀 above the second-best sub-500M model, and it's delivering performance 𝗰𝗼𝗺𝗽𝗮𝗿𝗮𝗯𝗹𝗲 𝘁𝗼 𝗺𝗼𝗱𝗲𝗹𝘀 𝗻𝗲𝗮𝗿𝗹𝘆 𝗱𝗼𝘂𝗯𝗹𝗲 𝗶𝘁𝘀 𝘀𝗶𝘇𝗲. There are three key parts of their training recipe that sets it apart: 𝟭. 𝗘𝗻𝗰𝗼𝗱𝗲𝗿-𝗗𝗲𝗰𝗼𝗱𝗲𝗿 𝗜𝗻𝗶𝘁𝗶𝗮𝗹𝗶𝘇𝗮𝘁𝗶𝗼𝗻 Instead of starting from a decoder-only Gemma 3 model, they first adapted it to encoder-decoder, then used just the encoder. By basing EmbeddingGemma off an LLM that already has world and language understanding, it gives it a stronger starting point. 𝟮. 𝗧𝗵𝗿𝗲𝗲-𝗟𝗼𝘀𝘀 𝗧𝗿𝗮𝗶𝗻𝗶𝗻𝗴 They combine three different loss functions, instead of just having one: • Contrastive loss (NCE) with in-batch negatives and hardness weighting • Spread-out regularization to ensure embeddings utilize the full space (for quantization and ANN retrieval) • Embedding matching distillation from Gemini Embedding - not just learning from relevance scores, but directly aligning the embedding space with the teacher model 𝟯. 𝗠𝗼𝗱𝗲𝗹 𝗦𝗼𝘂𝗽𝗶𝗻𝗴 Rather than just averaging checkpoints from the same training run, they use optimization techniques to find multiple specialized training mixtures. Each mixture creates an "expert" model in different domains, and averaging all their parameters creates a final model that's actually better than individual models. Extras: • Matryoshka embeddings supporting 768, 512, 256, and 128 dimensions • Quantization-aware training - maintains quality even at int4 precision • 100+ languages from Gemma 3 pretraining • Exceptional performance on low-resource languages (check their XTREME-UP results) Is it the absolute best embedding model? No - Gemini Embedding still leads overall. But that's not really the point. EmbeddingGemma proves you can achieve state-of-the-art performance in a small package that's actually deployable on-device, in low-latency applications, and in resource-constrained environments. This makes good embeddings accessible for use cases that I'm seeing more and more: offline applications, privacy-sensitive deployments, and high-throughput scenarios where inference cost actually matters. Full paper: Shoutout to the EmbeddingGemma team at Google DeepMind for this awesome open source work 💙 and to Daniel Williams for helping me with this video! 🫶

Victoria Slocum

21,610 Aufrufe • vor 11 Monaten