我对Parakeet 0.6B进行了医学ASR微调——开放权重,本地运行于Mac/CUDA/CPU
摘要
Omi Health创始人微调了NVIDIA的Parakeet TDT 0.6B用于医学ASR,发布了开放权重的模型Omi Med STT v1,在本地Mac、CUDA或CPU上运行时实现了有竞争力的医学WER。
我对NVIDIA的Parakeet TDT 0.6B v2进行了临床语音微调,并以**Omi Med STT v1**(CC-BY-4.0)开放权重。声明:我本人是Omi Health的创始人,并构建了此模型。我很乐意深入讨论训练数据组合、基准测试、失败案例、量化或其他任何方面。目标很简单:让一个小的本地ASR模型足够接近强大的云端系统,从而患者音频无需离开设备即可进行转录。另外还有适用于Mac、Windows和Linux的运行时。安装与运行:pip install omi-med-stt omi-med-stt consultation.wav 它会根据机器自动选择后端(Apple Silicon使用MLX,CUDA使用NeMo,CPU使用GGUF/parakeet.cpp)。默认使用q8;我还构建了q4版本并进行了基准测试,但**未发布**——药物名称准确度下降太多。基准测试:1,513个片段/7.18小时的保留医疗音频,所有模型使用相同的音频和评分器,按**医学WER**(M-WER = 仅临床术语上的错误)排序,因为这对听写来说至关重要。速度以RTFx(×实时)表示。
**与其他开源/本地模型对比:**
|模型|M-WER|WER|药物|RTFx|
|:-|:-|:-|:-|:-|
|VibeVoice-ASR 9B|1.78%|11.10%|1.36%|11×|
|**Omi Med STT v1 (0.6B)**|**2.37%**|**8.30%**|**4.75%**|**145×**|
|Qwen3 ASR 1.7B|3.13%|10.72%|6.11%|81×|
|Qwen3 ASR 0.6B|3.38%|11.11%|7.92%|110×|
|Whisper Large v3 Turbo|3.93%|11.98%|5.88%|46×|
|Voxtral Mini Transcribe V1|4.53%|13.53%|6.33%|78×|
|Cohere Transcribe 03-2026|5.05%|14.88%|11.09%|143×|
|Parakeet TDT 0.6B v3|8.01%|15.26%|9.50%|160×|
|NVIDIA Canary 1B Flash|8.04%|17.26%|13.12%|61×|
|Parakeet TDT 0.6B v2 (基础模型)|8.36%|16.45%|8.60%|154×|
|Google MedASR|13.86%|35.94%|14.48%|86×|
只有VibeVoice在M-WER上略胜一筹——但它是9B模型(约15倍大小),在我的运行中速度较慢,且整体WER更差(11.10% vs 8.30%)。在我的评估设置中,VibeVoice在H100上运行;Omi在A10上运行(RTFx为145×,在Apple Silicon Mac上约68×)。与我起步的Parakeet基础模型相比:M-WER降低了约3.5倍(8.36 → 2.37),WER大致减半,虚假药物提及从131次降至9次——微调一个小型基础模型效果显著。
**与通用云端API对比:**
|模型|M-WER|WER|药物|RTFx|
|:-|:-|:-|:-|:-|
|ElevenLabs Scribe v2|1.39%|6.53%|0.23%|7.8×|
|Gemini 3.1 Pro Preview †|1.65%|7.13%|0.23%|1.4×|
|Soniox STT Async v4|1.95%|6.99%|3.39%|1.8×|
|**Omi Med STT v1**|**2.37%**|**8.30%**|**4.75%**|**145×** ‡|
|Gemini 3.5 Flash †|2.39%|7.99%|0.45%|3.1×|
|Reson8 Prerecorded|2.58%|6.69%|6.56%|7.4×|
|Voxtral Mini Transcribe v2|2.79%|8.12%|5.66%|15×|
|OpenAI GPT-4o Mini Transcribe|3.55%|10.26%|3.39%|12×|
‡ Omi的RTFx是本地设备计算(A10);云端数据是包含网络和队列的每次请求往返时间,因此不是同等计算速度的对比——Omi只是因为本地运行而具有结构性的延迟优势。
† Gemini的结果排除了其幻觉。两个Gemini模型都有一个其他系统没有的失败模式:在420个良性、非诊断性片段的压力测试中,它们忽略音频并编造出整个虚构的就诊——编造的症状、病史、治疗方案(3.1 Pro在33/420个片段中,3.5 Flash在87/420个片段中;其他所有专用ASR模型均为0)。计入该测试后,它们的实际WER约为14%/24%。否则是很好的转录器,但\"流畅地编造从未说过的临床细节\"是一个非常严重的失败模式。
**与医学专用云服务商对比:**
|模型|M-WER|WER|药物|RTFx|
|:-|:-|:-|:-|:-|
|AssemblyAI Universal-3 Pro Medical|1.81%|6.94%|1.36%|2.1×|
|**Omi Med STT v1**|**2.37%**|**8.30%**|**4.75%**|**145×** ‡|
|Deepgram Nova-3 Medical|2.44%|7.33%|2.26%|7.7×|
|Corti Transcripts|5.12%|9.60%|11.31%|0.9×|
‡ 再次说明,Omi的RTFx是本地设备计算;云端API是网络往返时间(参见上文说明)。在此作为挑战者——在M-WER上领先于Deepgram和Corti,落后于AssemblyAI(以及最强的通用听写工具)。药物名称是最薄弱的方面(4.75%的药物M-WER),也是我在v2中首要改进的内容。总体而言:在此数据集上表现最佳的本地运行开源模型,且与云端模型具有竞争力——同时将音频保留在设备上。
**更多关于训练和评估的信息:**
约127小时的训练音频,约71%真实/29%合成——混合了许可音频、公开可用音频以及我自己的合成数据集,专为难以获取的医疗语音而设计。基准测试是一个锁定的分割,从未在训练中使用过(0训练/测试重叠),由未公开的音频组成,涵盖多种医疗场景(全科对话、听写、用药审查、放射学、手术、长篇内容)。好奇真实使用是否与基准测试结果一致——将非常欢迎反馈。
下一步:流式版本和多语言版本。你们真正需要哪些语言?请在评论中留言。
相似文章
@mudler_it:parakeet.cpp 现已在 OpenAI API 背后运行 NVIDIA Parakeet。将任何 OpenAI 客户端指向本地服务器,发送音频,……
parakeet.cpp 能够在本地的 OpenAI API 背后运行 NVIDIA Parakeet ASR,提供预构建的 Docker 镜像,支持 CPU 和 CUDA(包括 arm64),实现带有词级时间戳的实时转录。
基准测试:仅限CPU硬件上Parakeet TDT 0.6B的ONNX Runtime、HF Transformers与GGUF对比 [D]
一项针对仅CPU硬件上Parakeet TDT 0.6B ASR模型的ONNX Runtime、HF Transformers与GGUF的基准测试显示,ONNX Runtime的推理速度比HF Transformers bfloat16快37%,而GGUF则优先考虑内存效率。
650多个Apache-2.0许可的生物医学NER/去标识化模型,在MLX中设备端运行。相同fp32权重,输出一致:临床NER模型在3年前的M3 Max上比PyTorch-CPU快30-40倍。内部可复现。
650多个Apache-2.0许可的生物医学NER和去标识化模型集合,通过MLX在设备端运行,在M3 Max上实现比PyTorch-CPU快30-40倍的推理速度,且输出一致。
@jun_song:正在尝试将 Kimi-K2.6 (1T) 适配到 128GB Mac 上。目标是达到 40tok/s,并尽可能减少质量损失。
一位开发者正在优化 Kimi-K2.6 (1T) 模型,使其能在 128GB Mac 上高效运行,目标速度为 40 tok/s,同时尽可能降低质量损失。
@tom_doerr: 在 16GB 内存 Mac 上运行 35B 模型 https://github.com/walter-grace/mac-code…
该工具支持通过从 SSD 流式加载模型权重,在 16GB Mac 上运行 Qwen3.5-35B 等大型语言模型,经优化配置后最高可达 30 tok/s。