Meta悄然发布了一套全新的自动语音识别系统Omnilingual ASR,它支持超过1600种语言,其中数百种语言此前从未被任何ASR技术覆盖过。
巴基斯坦和利比里亚的语料收集工作现场照片
技术突破:从零样本到少样本学习
Omnilingual ASR的核心创新在于其零样本和少样本学习能力。传统的语音识别要支持一门新语言,你得准备几千小时的标注语料,组织一大批人做转录工作。Omnilingual ASR大幅降低门槛,给它几个音频片段和对应的文字,模型就能自动学习特定语言或口音的特征,无需完整的微调训练。
这意味着什么?那些只有几万人使用的小语种,那些濒危语言,甚至是某个地区特有的方言,都有机会拥有自己的语音识别系统。不需要大公司的资源,不需要专业团队,几个当地人录几段话就够了。甚至脑洞的看,用它来做宠物交流或许可行。
系统提供了三个模型系列:
- SSL模型 (自监督学习):用于特征提取
- CTC模型 :传统ASR架构,速度最快
- LLM模型 :基于大语言模型的架构,支持语言条件输入
7B-LLM-ASR系统在1600+语言上的性能表现,78%的语言字符错误率低于10
模型规格:从300M到7B参数
项目提供了从3亿到70亿参数的不同规模模型,每种架构都有对应的性能数据:
CTC模型系列 (速度最快):
-
300M模型:推理显存需求~2GB,速度比基准快96倍
-
7B模型:推理显存需求~15GB,速度比基准快16倍
LLM模型系列 (精度最高):
-
300M到7B模型的推理速度基本一致(约1倍基准速度)
-
最大的7B零样本模型需要约20GB显存
模型会在首次使用时自动下载,存储在~/.cache/fairseq2/assets/目录。
实际使用体验
安装过程简单直接:
pip install omnilingual-asr
基本调用也很简洁:
from omnilingual_asr.models.inference.pipeline import ASRInferencePipeline
pipeline = ASRInferencePipeline(model_card="omniASR_LLM_7B")
transcriptions = pipeline.transcribe(audio_files, lang=["eng_Latn", "deu_Latn"], batch_size=2)
语言代码采用{language_code}_{script}格式,比如eng_Latn代表拉丁文字的英语,cmn_Hans代表简体中文。
不过系统目前有个限制:只支持40秒以内的音频文件,团队表示很快会支持无限长度音频。
数据集和开放性
Meta同时在HuggingFace上发布了大规模多语言语音数据集,采用CC-BY-4.0许可证。整个项目使用Apache 2.0许可证开源,包括代码和预训练模型。
地址:https://github.com/facebookresearch/omnilingual-asr
关注公众号回复“进群”入群讨论。
