当前位置: 首页 > news >正文

FaceBook叫板OpenAI!开源 Omnilingual ASR:支持1600多种语言的开源多语言语音识别

在这里插入图片描述
在巴基斯坦和利比里亚语料库创建工作中拍摄的照片。

Omnilingual ASR 是一个开源语音识别系统,支持超过 1,600 种语言——其中包括数百种此前任何 ASR 技术都未曾覆盖的语言。该系统以实现广泛可及性为设计理念,仅需少量配对示例即可添加新语言,无需专业经验或庞大数据集。通过将可扩展的零样本学习与灵活的模型家族相结合,Omnilingual ASR 致力于让语音技术更具包容性和适应性,服务于全球社群与研究者。

  • Huggingface Demo
  • Huggingface Dataset
  • Paper
  • Blogpost
  • Code
性能结果表

我们的7B-LLM-ASR系统在1600多种语言上实现了最先进的性能表现,其中78%的语言字符错误率(CER)低于10。

文档

快速入门

  • 安装与基础用法 - 环境配置与首次转录
  • 推理流程 - 包含批量处理、语言条件设置和上下文示例的完整转录指南
  • 支持语言 - 查看1600+种支持语言的完整列表

模型与架构

  • 模型规格 - 可用模型、参数及内存需求
  • 架构概述 - 关于W2V、CTC和LLM模型家族的技术细节
  • 资源管理 - 模型、分词器和数据集的配置系统

训练与数据流程

  • 数据准备 - 多语言数据集准备的端到端指南,包含HuggingFace集成和parquet格式处理
  • 训练方案 - CTC与LLM模型训练的预配置工作流

安装

该模型基于科研级序列建模工具包fairseq2开发。虽然我们提供跨平台的参考推理流程,但音频支持需要libsndfile依赖库(Mac系统:brew install libsndfile;Windows系统可能需要额外配置)。

# using pip
pip install omnilingual-asr# using uv
uv add omnilingual-asr

推断

from omnilingual_asr.models.inference.pipeline import ASRInferencePipelinepipeline = ASRInferencePipeline(model_card="omniASR_LLM_7B")audio_files = ["/path/to/eng_audio1.flac", "/path/to/deu_audio2.wav"]
lang = ["eng_Latn", "deu_Latn"]
transcriptions = pipeline.transcribe(audio_files, lang=lang, batch_size=2)

关于运行特定模型的更多详细信息,请查阅 /src/omnilingual_asr/models/inference 目录。

⚠️ 重要提示: 目前推理仅接受时长少于40秒的音频文件。我们计划很快增加对无限时长音频文件转录的支持。

支持的语言

要查看1600多种支持语言的完整列表,可以通过编程方式访问语言列表。:

from omnilingual_asr.models.wav2vec2_llama.lang_ids import supported_langs# Print all supported languages
print(f"Total supported languages: {len(supported_langs)}")
print(supported_langs)# Check if a specific language is supported
if "eng_Latn" in supported_langs:print("English (Latin script) is supported!")

语言遵循 {语言代码}_{文字} 格式,例如 eng_Latn - 英语(拉丁字母),cmn_Hans - 普通话(简体中文)…

使用 HuggingFace 数据集 🤗

我们在 HuggingFace 上提供了基于 CC-BY-4.0 许可 的大规模多语言语音数据集:facebook/omnilingual-asr-corpus。该数据集可直接用于我们的推理流程进行评估或测试:

pip install "omnilingual-asr[data]"
from datasets import load_dataset
from omnilingual_asr.models.inference.pipeline import ASRInferencePipeline# Load dataset for a specific language (e.g., Ligurian)
omni_dataset = load_dataset("facebook/omnilingual-asr-corpus", "lij_Latn", split="train", streaming=True)
batch = next(omni_dataset.iter(5))# Convert to pipeline input format
audio_data = [{"waveform": x["array"], "sample_rate": x["sampling_rate"]}for x in batch["audio"]]# Run inference
pipeline = ASRInferencePipeline(model_card="omniASR_LLM_7B")
transcriptions = pipeline.transcribe(audio_data, batch_size=2)# Display results
for i, (transcription, original_text) in enumerate(zip(transcriptions, batch["raw_text"]), 1):print(f"\n Sample {i}:")print(f"   Ground Truth: {original_text}")print(f"   Predicted:    {transcription}")

模型架构

模型名称特征参数量下载大小(FP32)推理显存¹实时系数¹ (相对速度)²
omniASR_W2V_300MSSL317_390_5921.2 GiB
omniASR_W2V_1BSSL965_514_7523.6 GiB
omniASR_W2V_3BSSL3_064_124_67212.0 GiB
omniASR_W2V_7BSSL6_488_487_16825.0 GiB
omniASR_CTC_300MASR325_494_9961.3 GiB~2 GiB0.001 (96x)
omniASR_CTC_1BASR975_065_3003.7 GiB~3 GiB0.002 (48x)
omniASR_CTC_3BASR3_080_423_63612.0 GiB~8 GiB0.003 (32x)
omniASR_CTC_7BASR6_504_786_13225.0 GiB~15 GiB0.006 (16x)
omniASR_LLM_300MASR with optional language conditioning1_627_603_5846.1 GiB~5 GiB0.090 (~1x)
omniASR_LLM_1BASR with optional language conditioning2_275_710_5928.5 GiB~6 GiB0.091 (~1x)
omniASR_LLM_3BASR with optional language conditioning4_376_679_04017.0 GiB~10 GiB0.093 (~1x)
omniASR_LLM_7BASR with optional language conditioning7_801_041_53630.0 GiB~17 GiB0.092 (~1x)
omniASR_LLM_7B_ZSZero-Shot ASR7_810_900_60830.0 GiB~20 GiB0.194 (~0.5x)
omniASR_tokenizerTokenizer for most of architectures (except omniASR_LLM_7B)-100 KiB-
omniASR_tokenizer_v7Tokenizer for omniASR_LLM_7B model-100 KiB-

¹ (batch=1, audio_len=30s, BF16, A100)

² Relative speed to omniASR_LLM_7B

模型下载与存储

  • 自动下载:模型会在首次训练或推理时自动下载
  • 存储路径:模型默认保存在~/.cache/fairseq2/assets/目录

架构文档

我们已在模型目录(src/omnilingual_asr/models)中提供高层架构概览,各模型系列的独立配置存放在对应子目录:

  • SSL模型src/omnilingual_asr/models/wav2vec2_ssl
  • CTC模型src/omnilingual_asr/models/wav2vec2_asr
  • LLM模型src/omnilingual_asr/models/wav2vec2_llama

训练指南

若需基于自有数据微调已发布的检查点,请先查阅数据准备指南,再参照微调配方指南进行操作。

许可协议

Omnilingual ASR代码及模型基于Apache 2.0协议开源。

http://www.dtcms.com/a/604926.html

相关文章:

  • 分享一个MySQL万能备份脚本
  • 大模型数据洞察能力方法调研
  • 32位MCU芯片国产品牌(32系列单片机常用型号有哪些)
  • 网站底部留言代码赤峰建设淘宝网站
  • 方特网站是谁做的照片做视频的网站
  • Java 9 新特性详解
  • Spring boot 3.3.1 官方文档 中文
  • Sora 2——开启 AI 视频创作新时代
  • 异世界网络:BGP联邦的建立
  • PHP客户端调用由Go服务端GRPC接口
  • Java 开发 - 粘包处理器 - 基于消息头 + 消息体
  • dify零基础入门示例
  • 跨语言智能再升级!Multi-LMentry 打造多语理解新基准;Nemotron-Personas-USA重塑虚拟人画像生成
  • 门户网站建设项目书免费拒绝收费网站
  • 研发管理知识库(13)阿里云的DevOps工具介绍
  • WPF 使用UserControl / ContentControl显示子界面
  • Docker 的底层工作原理
  • 互联网门户网站是什么意思网站建设 源美设计
  • 重庆商业网站有哪些产品网站建设方案
  • C基础学习过程02
  • 视频矩阵哪个品牌好 十大视频矩阵品牌
  • 电子书《21天学通Java(第5版)》
  • maven 私服上传jar
  • 从自动驾驶到智能辅导:人工智能如何重塑商业与生活
  • Hadess入门到精通 - 如何管理通用Generic制品
  • 万物互联时代,如何选择合适的时序数据库?
  • 集团门户网站建设做国外网站要注意什么
  • 软件设计模式-适配器模式
  • 软件工程(速成笔记)
  • 深圳苏州企业网站建设服务公司网站建设很难吗