语音和决策都能换引擎,Hugging Face给苹果开发者装了插座
做过语音功能的开发者都懂那种别扭:苹果给了一套顺手的接口,可背后只有苹果自家一个引擎。想换个更准的,对不起,代码得推倒重来。
10 月 29 日,Hugging Face 在官方博客上宣布了两个 Swift 开源包:AnySpeechRecognizer 和 AnyDecisionModel。前者保留苹果 macOS 26、iOS 26 新增的语音识别接口 SpeechAnalyzer,只把引擎换成 NVIDIA 的 Parakeet 或阿里的 Qwen3-ASR。后者让 App 直接读模型对各个选项给出的概率,来回答是非题、选择题和打分题,不再让模型写一段话再去解析。我们 AI主线 的看法是:这两个包的价值在于统一接口、自由换引擎,而不是又带来了一个新模型。它们是接线板,不是发电厂。
改一行 import 就能换引擎,靠谱吗?
接口这一层是靠谱的。AnySpeechRecognizer 照着苹果的 SpeechAnalyzer、SpeechTranscriber 这一套做了镜像,默认引擎还是苹果自家的。你的代码如果只用这套共有接口,把 import Speech 改成 import AnySpeechRecognizer 就行。想换成 Parakeet,只改创建转写器的那一处,装资源、跑分析、读结果的步骤原样不动。
引擎本身呢?Parakeet v3 是 NVIDIA 的 0.6B 模型,能识别 25 种欧洲语言,还会自己判断听到的是哪一种。Hugging Face 在 M4 Max 的 Mac Studio 上拿 LibriSpeech 测,读文件时词错误率是 1.55%,苹果自家转写器是 2.12%。翻成人话:每一百个词,前者错一个半,后者错两个出头。转一小时音频,Parakeet 只要 20 到 40 秒。
这组数字有几个前提得先说清:是 Hugging Face 自己测的,只用了一台机器和几个数据集,只在 macOS 27 上跑过,iPhone 还没测。更扎心的是会议场景:在人们互相插话的 AMI 录音上,所有引擎的词错误率都高于 23%。跑分党看到 1.55% 先别急着欢呼,真实会议室可不是朗读录音。
另一块是苹果没有的能力:说话人分离,也就是搞清楚“谁在什么时候说话”。这个包用 NVIDIA 的 Streaming Sortformer 补上了,最多追踪四个人,抢话也能跟。做会议纪要、客服质检的人,这块比换个更准的引擎更解渴。
中文用户该看谁,Parakeet 还是 Qwen3-ASR?
Parakeet 管不了中文,它覆盖的是欧洲语言。中文这边得看阿里的 Qwen3-ASR,有 0.6B 和 1.7B 两个尺寸,Apache 2.0 协议。按 Hugging Face 的说法,它支持 30 种语言和 22 种汉语方言,普通话、粤语、日语、韩语都在其中,能自动判断语种,也能手动指定。
代价也摆在明面上。Qwen3-ASR 每段最长 40 秒出一次最终结果,没有边说边出的临时结果,没有逐词时间,也没有置信度。它跑在 GPU 上,比 Parakeet 慢得多,下载体积在 0.9 到 2.4 GB 之间,内存也得占几个 GB。所以它适合转录录好的访谈和会议,想做实时字幕就别指望了。
还有一点得留心:Hugging Face 公布的词错误率全是英文数据,Qwen3-ASR 在中文上到底多准,还得靠自己的音频去验。协议也不统一,Parakeet v3 和 Ultra 是 CC BY 4.0,Qwen3-ASR 是 Apache 2.0,英文版 Parakeet Unified 和 Sortformer v2.1 走的是 NVIDIA 开放模型协议。商用上架前,条款自己过一遍。
让模型做选择题,这路子怎么突然扎堆了?
AnyDecisionModel 的逻辑很直白:问一道题,不让模型生成文字,直接读它对每个选项的概率。返回的是带类型的结果,比如枚举里的某个部门,外加每个选项的概率和置信度。工单该转给账单组还是技术组,这条消息急不急,都是这种活。
这个方向最近挺热闹。9 月 15 日,TypeSafe AI 带着 4000 万美元种子轮发布了 Jev,自称“System One 模型”,按厂商自己的说法,比大模型快 20 到 200 倍、便宜 40 到 400 倍。10 月 1 日,Cloudflare 开源了 27B 的 Clef 和 9B 的 Clef-flash,协议是 Apache 2.0。Cloudflare 自家测试里,Clef-flash 的中位延迟是 38.8 毫秒,Jev 是 524.1 毫秒。创业公司、云大厂、开源工具链,一个半月就凑齐了。赛道是真起来了,不过擂台上的数字目前都是各家自说自话。
AnyDecisionModel 干的事,说白了就是抄 AnyLanguageModel 的作业:一套会话接口,背后挂六种后端。本机的有 MLX、Core AI、llama.cpp,托管的有 Jev 和 Ollama,还有专门读决策头的 Clef-Flash。Clef-Flash 的 4-bit 版要下 6.2 GB,模型卡建议 16 GB 以上内存的 Mac。
演示 App Emoji Magnet 把差别摆得很清楚:343 个 emoji,每个问一道是非题。接托管的 Jev,约半秒全部落定。在 M4 Max 上本地跑 Qwen3 4B,完整一轮要 10 秒左右。拿通用小模型读概率,更像是“凑合能用”,专门训练过决策头的模型才像这条路的正路。Hugging Face 自己也承认,通用语言模型没被训练去做决策,原始概率常常过度自信,所以包里配了校准和选项轮换去偏。
现在该上手吗?
看你是谁。写 Swift 的开发者,尤其是做会议录音、访谈转写的,这个周末就能试,前提是 Swift 6.2、macOS 26 或 iOS 26 以上,Parakeet 和 Sortformer 还得是 Apple 芯片。别的圈子的朋友看个热闹就行,接口全是 Swift 的。
版本号也得看一眼:AnySpeechRecognizer 从 0.1.0 起步,AnyDecisionModel 是 0.6.0,都还在 0.x。AnyDecisionModel 的 Core AI 选项暂时没法和 AnySpeechRecognizer 一起用,原因是两边依赖的 swift-huggingface 版本对不上。
我们 AI主线 接下来盯三件事:iPhone 上的实测结果,Core AI 在 macOS 27 和 iOS 27 上接进来后的速度,还有有没有人拿真实业务数据,把 Jev 和 Clef 放在同一套问题上对打一轮。最后这个,比任何一家的榜单都值钱。