上週才寫過 EmbeddingGemma 2 登場,把文字、圖像、音訊、影片收進同一個向量空間。不到十天,就有人拿它做了官方沒打算的事:語音轉文字。
Embedding Gemma Transcribe 是獨立開發者 Shahir(沙希爾)的實驗。EmbeddingGemma 2 的音訊編碼器完全不動,只訓練一個小型 reader,把每段短音訊搬進模型的文字空間,再從約 22.9 萬個英文字裡取最近的那個,拼成逐字稿,最後用一個小模型加上標點和大小寫。整個訓練在 8×H100 上不到兩小時,語料是開放授權英文語音,base 模型本身從未為語音轉文字訓練過。
做法有個巧妙之處。reader 本質是接在音訊編碼器上的 CTC head,但輸出沿用 EmbeddingGemma 自帶文字向量,而不是另學一套詞表。作者也試過純字母級 CTC,乾淨有聲書表現較好,困難音訊反而拼錯字一堆,講座類音檔錯誤率直接翻倍。
速度只是附帶收穫。base M3 MacBook Air(8GB)上,1 小時音訊 12.6 秒轉完,288 倍速。同機的 IBM Granite Speech TurboCTC 約 150 倍速。FluidAudio 的 Parakeet 系列在 M4、M5 Pro 上也有同級數字,但機型和音訊都不同,只能粗略參考。有網友在 M4 Mac Mini 實測,33 分鐘音檔 6.75 秒轉完,比 MacWhisper 配 Parakeet 3 快一點。全程跑在 Mac 的 Neural Engine 上,音檔不離開本機。
三個限制先講清楚。第一,只有英文,中文和中英混音都不行,多語言 reader 還在計畫中。第二,錯誤率約 5%,領先模型約 2% 到 3%,日常夠用,專業用途還不夠穩。第三,App 免費但還沒開源。頁面上的 Apache 2.0,那是 Google base 模型的授權。作者承諾幾天內開源全部程式,TTS 版也快發表。
HN 上這篇衝到 411 分、93 則留言,作者親自下場回文。技術派問字邊界怎麼切,推測是高平行加尾端去重。實測派確認 Apple 內建模型慢三到四倍。許願派要 Hindi 混音、韓文、多語言版。最妙的感嘆是:疫情前自動轉錄還爛到要關掉,現在本地秒轉。
一頁圖解
手機上 iframe 太窄的話,直接開這頁看:https://derek-static.pages.dev/embedding-gemma-transcribe-lazy.html
上手連結
- 官方頁面:https://eg2.haku.sh/
- HN 討論串:https://news.ycombinator.com/item?id=50069971
- Mac 版免費下載,macOS 14 起,Apple Silicon,模型約 715 MB
- 用法:丟入音檔,或按住 Right Option 說話,放開即聽寫到任何 App
我自己的看法:這是小模型時代非常漂亮的示範。不拚參數,換個問法就長出新能力。英文轉錄現在已經快到無感,中文這側就看誰先把 reader 餵出中文詞表。
