- 论文题目:Dolphin: A Large-Scale Automatic Speech Recognition Model for Eastern Languages
- 论文链接:https://arxiv.org/abs/2503.20212
- Github:https://github.com/DataoceanAI/Dolphin
- Huggingface:https://huggingface.co/DataoceanAI
- Modelscope:https://www.modelscope.cn/organization/DataoceanAI
- OpenI启智社区:https://openi.pcl.ac.cn/DataoceanAI/Dolphin
- 支持的语种:https://github.com/DataoceanAI/Dolphin/blob/main/languages.md
在当今数字化时代,语音识别技术已成为人机交互的关键桥梁,广泛应用于智能客服、语音助手、会议转录等众多领域。然而,对于东方语言的识别如越南语、缅甸语等,现有模型往往表现不佳,难以满足用户的需求。为解决这一难题,海天瑞声携手清华大学电子工程系语音与音频技术实验室,共同推出了Dolphin —— 一款专为东方语言设计的语音大模型。

格式。Dolphin 专注于自动语音识别 (ASR),不支持翻译任务。此外,Dolphin 引入了特定区域的标记,从而支持方言。
Dolphin 是由 Dataocean AI 与清华大学合作开发的多语言、多任务 ASR 模型。它支持东亚、南亚、东南亚和中东地区的 40 种东方语言,同时还支持 22 种中国方言。该模型基于超过 21 万小时的数据进行训练,其中包括 DataoceanAI 的专有数据集和开源数据集。该模型可以执行语音识别、语音活动检测 (VAD)、语音分割和语言识别 (LID)。
二、创新技术架构
- 模型结构
Dolphin网络结构基于CTC-Attention架构,E-Branchformer编码器和Transformer解码器,并引入了4倍下采样层,以实现高效的大规模多语言语音识别模型的训练。CTC-Attention架构结合了CTC的序列建模能力和注意力机制的上下文捕捉能力,能够有效提升模型的识别准确性和效率。E-Branchformer编码器采用并行分支结构,能够更有效地捕捉输入语音信号的局部和全局依赖关系,为模型提供了更丰富的特征表示。解码器部分则采用了在序列到序列任务中表现出色的Transformer,能够生成高质量的文本输出。为了进一步提高训练效率和性能,我们在模型中引入了4倍下采样层。这一层可以减少输入特征的序列长度,从而加速计算过程,同时保留关键的语音信息,确保模型的识别效果不受影响。
- 多任务格式
Dolphin 借鉴了 Whisper 和 OWSM 的创新设计方法,但专注于ASR 进行了若干关键修改。Dolphin 不支持翻译任务,并且去掉了previous text及其相关标记的使用,这简化了输入格式并减少了潜在的复杂性。Dolphin引入了两级语种标签系统,以便更好地处理语言和地区的多样性。第一个标签指定语种(例如: <zh> 、 <ja>),第二个标签指定地区(例如 <CN> 、 <JP>)。这种分层方法使模型能够捕捉同一种语言内不同方言和口音之间的差异,以及同一地区内不同语言之间的相似性,从而提高了模型区分密切相关的方言的能力,并通过在语言和地区之间建立联系增强了其泛化能力。
三、强大的数据基础 Dolphin的训练数据集整合了海天瑞声的专有数据和多个开源数据集,总时长超过20万小时,涵盖40个东方语种。其中,海天瑞声数据集包含137,712小时的音频,覆盖38个东方语种。这些高质量、多样化的数据为模型的训练提供了坚实的基础,使其能够更好地适应不同语言和方言的语音特征。
四、卓越性能表现 通过精心设计的架构和大规模的训练数据,Dolphin在多种语言上的词错误率(WER)显著低于现有开源模型。
例如,在海天瑞声数据集上,Dolphin 模型的平均WER为31.5%,small模型为24.5%,medium模型为22.2%;在CommonVoice数据集上,Dolphin 模型的平均WER为37.2%,small模型为27.4%,medium模型为25.0%。即使与Whisper large-v3模型相比,Dolphin在模型规模更小的情况下,性能也更为出色。以中文为例,Dolphin中模型的WER仅为9.2%,而Whisper large-v3模型为27.9%。 在KeSpeech (包含一个普通话子集和八个中国方言子集)测试集上,Dolphin模型表现出了卓越的效果.

五、开源与社区贡献 为促进语音识别技术的进一步发展,Dolphin的训练模型和推理源代码已公开发布。这一举措不仅为研究人员提供了宝贵的研究基础,也为开源社区注入了新的活力,鼓励更多创新与合作。通过共享技术成果,我们希望能够吸引更多的开发者和研究机构参与到东方语言语音识别的研究中来,共同推动技术的进步。
支持的语言列表:
Language code
Language Code | English Name | Chinese Name |
---|---|---|
zh | Mandarin Chinese | 中文 |
ja | Japanese | 日语 |
th | Thai | 泰语 |
ru | Russian | 俄语 |
ko | Korean | 韩语 |
id | Indonesian | 印度尼西亚语 |
vi | Vietnamese | 越南语 |
ct | Yue Chinese | 粤语 |
hi | Hindi | 印地语 |
ur | Urdu | 乌尔都语 |
ms | Malay | 马来语 |
uz | Uzbek | 乌兹别克语 |
ar | Arabic | 阿拉伯语 |
fa | Persian | 波斯语 |
bn | Bengali | 孟加拉语 |
ta | Tamil | 泰米尔语 |
te | Telugu | 泰卢固语 |
ug | Uighur | 维吾尔语 |
gu | Gujarati | 古吉拉特语 |
my | Burmese | 缅甸语 |
tl | Tagalog | 塔加洛语 |
kk | Kazakh | 哈萨克语 |
or | Oriya / Odia | 奥里亚语 |
ne | Nepali | 尼泊尔语 |
mn | Mongolian | 蒙古语 |
km | Khmer | 高棉语 |
jv | Javanese | 爪哇语 |
lo | Lao | 老挝语 |
si | Sinhala | 僧伽罗语 |
fil | Filipino | 菲律宾语 |
ps | Pushto | 普什图语 |
pa | Panjabi | 旁遮普语 |
kab | Kabyle | 卡拜尔语 |
ba | Bashkir | 巴什基尔语 |
ks | Kashmiri | 克什米尔语 |
tg | Tajik | 塔吉克语 |
su | Sundanese | 巽他语 |
mr | Marathi | 马拉地语 |
ky | Kirghiz | 吉尔吉斯语 |
az | Azerbaijani | 阿塞拜疆语 |
Language Region Code
Language Region Code | English Name | Chinese Name |
---|---|---|
zh-CN | Chinese (Mandarin) | 中文(普通话) |
zh-TW | Chinese (Taiwan) | 中文(台湾) |
zh-WU | Chinese (Wuyu) | 中文(吴语) |
zh-SICHUAN | Chinese (Sichuan) | 中文(四川话) |
zh-SHANXI | Chinese (Shanxi) | 中文(山西话) |
zh-ANHUI | Chinese (Anhui) | 中文(安徽话) |
zh-TIANJIN | Chinese (Tianjin) | 中文(天津话) |
zh-NINGXIA | Chinese (Ningxia) | 中文(宁夏话) |
zh-SHAANXI | Chinese (Shaanxi) | 中文(陕西话) |
zh-HEBEI | Chinese (Hebei) | 中文(河北话) |
zh-SHANDONG | Chinese (Shandong) | 中文(山东话) |
zh-GUANGDONG | Chinese (Guangdong) | 中文(广东话) |
zh-SHANGHAI | Chinese (Shanghai) | 中文(上海话) |
zh-HUBEI | Chinese (Hubei) | 中文(湖北话) |
zh-LIAONING | Chinese (Liaoning) | 中文(辽宁话) |
zh-GANSU | Chinese (Gansu) | 中文(甘肃话) |
zh-FUJIAN | Chinese (Fujian) | 中文(福建话) |
zh-HUNAN | Chinese (Hunan) | 中文(湖南话) |
zh-HENAN | Chinese (Henan) | 中文(河南话) |
zh-YUNNAN | Chinese (Yunnan) | 中文(云南话) |
zh-MINNAN | Chinese (Minnan) | 中文(闽南语) |
zh-WENZHOU | Chinese (Wenzhou) | 中文(温州话) |
ja-JP | Japanese | 日语 |
th-TH | Thai | 泰语 |
ru-RU | Russian | 俄语 |
ko-KR | Korean | 韩语 |
id-ID | Indonesian | 印度尼西亚语 |
vi-VN | Vietnamese | 越南语 |
ct-NULL | Yue (Unknown) | 粤语(未知) |
ct-HK | Yue (Hongkong) | 粤语(香港) |
ct-GZ | Yue (Guangdong) | 粤语(广东) |
hi-IN | Hindi | 印地语 |
ur-IN | Urdu | 乌尔都语(印度) |
ur-PK | Urdu (Islamic Republic of Pakistan) | 乌尔都语 |
ms-MY | Malay | 马来语 |
uz-UZ | Uzbek | 乌兹别克语 |
ar-MA | Arabic (Morocco) | 阿拉伯语(摩洛哥) |
ar-GLA | Arabic | 阿拉伯语 |
ar-SA | Arabic (Saudi Arabia) | 阿拉伯语(沙特) |
ar-EG | Arabic (Egypt) | 阿拉伯语(埃及) |
ar-KW | Arabic (Kuwait) | 阿拉伯语(科威特) |
ar-LY | Arabic (Libya) | 阿拉伯语(利比亚) |
ar-JO | Arabic (Jordan) | 阿拉伯语(约旦) |
ar-AE | Arabic (U.A.E.) | 阿拉伯语(阿联酋) |
ar-LVT | Arabic (Levant) | 阿拉伯语(黎凡特) |
fa-IR | Persian | 波斯语 |
bn-BD | Bengali | 孟加拉语 |
ta-SG | Tamil (Singaporean) | 泰米尔语(新加坡) |
ta-LK | Tamil (Sri Lankan) | 泰米尔语(斯里兰卡) |
ta-IN | Tamil (India) | 泰米尔语(印度) |
ta-MY | Tamil (Malaysia) | 泰米尔语(马来西亚) |
te-IN | Telugu | 泰卢固语 |
ug-NULL | Uighur | 维吾尔语 |
ug-CN | Uighur | 维吾尔语 |
gu-IN | Gujarati | 古吉拉特语 |
my-MM | Burmese | 缅甸语 |
tl-PH | Tagalog | 塔加洛语 |
kk-KZ | Kazakh | 哈萨克语 |
or-IN | Oriya / Odia | 奥里亚语 |
ne-NP | Nepali | 尼泊尔语 |
mn-MN | Mongolian | 蒙古语 |
km-KH | Khmer | 高棉语 |
jv-ID | Javanese | 爪哇语 |
lo-LA | Lao | 老挝语 |
si-LK | Sinhala | 僧伽罗语 |
fil-PH | Filipino | 菲律宾语 |
ps-AF | Pushto | 普什图语 |
pa-IN | Panjabi | 旁遮普语 |
kab-NULL | Kabyle | 卡拜尔语 |
ba-NULL | Bashkir | 巴什基尔语 |
ks-IN | Kashmiri | 克什米尔语 |
tg-TJ | Tajik | 塔吉克语 |
su-ID | Sundanese | 巽他语 |
mr-IN | Marathi | 马拉地语 |
ky-KG | Kirghiz | 吉尔吉斯语 |
az-AZ | Azerbaijani | 阿塞拜疆语 |