魔搭语音更新|七大模型最新开源,推理速度升级,几行代码可实现微调

本文涉及的产品
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: 自ModelScope魔搭社区发布以来,众开发者在ModelScope上传与下载模型,并集成到自己的语音识别服务中。为了方便用户更好地利用ModelScope进行语音识别服务,我们推出了语音识别基础框架FunASR,希望在语音识别的学术研究和工业应用之间架起一座桥梁。FunASR已经集成到ModelScope中,提供的工业级的语音识别模型的推理与微调定制,使得研究人员和开发者可以更加便捷的进行语音识别模型的研究和生产,促进语音识别生态的发展。本次同步迭代发布新版本和升级新功能,可支持用户基于自己的数据进行模型训练和微调,同时发布了语音识别链路上的七大技术模块和模型,来更好地构建面向应用的语音

01

七大模型开源:

语音识别链路全线可选



开源模型1:Paraformer-large长音频模型https://www.modelscope.cn/models/damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorch/summary在此前开源的paraformer-large模型的基础上集成了语音端点检测(VAD)模型, 文本后处理标点模型,音频文本对齐的时间戳模型。从而可以对时长为数小时的音频进行识别,输出带标点的文本,以及输出时间戳用于音字对齐。

开源模型2:语音端点检测VAD模型https://modelscope.cn/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/summary本次开源的VAD模型是达摩院语音实验室提出的基于FSMN-Monophone的高效语音端点检测模型,可以用于检测长音频中有效语音的起止时间点信息。从而可以将有效语音送入后续的语音识别模型,减少无效的噪声和长静音片段对语音识别的影响。

开源模型3:中文标点预测通用模型https://www.modelscope.cn/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/summary本次开源的中文标点预测通用模型是达摩院语音实验室提出的基于Controllable Time-delay Transformer的高效后处理框架中的标点模块。本次开源的中文通用标点模型可以被应用于文本类输入的标点预测,也可应用于语音识别结果的后处理步骤,协助语音识别模块输出具有可读性的文本结果。

开源模型4:5M量级的设备端指令词识别模型https://www.modelscope.cn/models/damo/speech_paraformer-tiny-commandword_asr_nat-zh-cn-16k-vocab544-pytorch/summary
Paraformer-Tiny-CommandWord是基于Paraformer框架的小参数量指令词自由说模型,模型的参数量在5M量级。本模型所建模的词表为智能家居语音交互中的常用指令词,共544个汉字与字母,指令词包括但不限于“打开/关闭/调大/调小 音乐/空调/照明”等。

开源模型5:说话人确认模型https://www.modelscope.cn/models/damo/speech_xvector_sv-zh-cn-cnceleb-16k-spk3465-pytorch/summary本次开源的说话人确认模型(Speaker Verification)基于ResNet34。该模型是达摩院语音团队在常用开源数据集CN-Celeb 1&2和会议场景数据集AliMeeting上预训练得到,可以用于通用任务的说话人嵌入码(speaker embedding)提取,或进行说话人确认任务。 该模型还可以用于说话人日志(speaker diarization)任务,并在callhome和Alimeeting上取得SOTA的识别效果。 具体可以参考我们发表于EMNLP 2022上的论文https://arxiv.org/abs/2211.10243

开源模型6:中文无监督预训练Data2vec模型https://www.modelscope.cn/models/damo/speech_data2vec_pretrain-zh-cn-aishell2-16k-pytorch/summary本次开源的Data2vec预训练模型基于Meta AI在ICML上提出的data2vec实现。预训练采用开源数据集AISHELL-2,微调采用开源数据集AISHELL-1,微调代码开源在FunASR。不同于data2vec论文,我们采用FBANK代替原始音频作为输入,提高了模型训练和推理的效率。开源的预训练模型可以用于各种下游任务进行微调,也可以直接作为特征提取器使用。同时,我们还开源了微调后的语音识别模型。实验结果显示,相比于wav2vec2.0,其在AISHELL-1验证集上,CER相对降低13.6%;在AISHELL-1测试集上,CER相对降低12.8%。后续,我们将开源完整的预训练代码,方便科研人员进行复现与改进。

开源模型7:Paraformer-large-AISHELL1/AISHELL-2微调模型基于之前开源的Paraformer-large模型,进一步分别采用开源的AISHELL-1和AISHELL-2数据进行finetuning,从而在相应的测试集上可以获得进一步的性能提升。模型finetuning的recipe开源在FunASR。

02

功能完善:

代码易用,推理速度UPUP!


Pipeline更新

  • 基于Modelscope模型推理pipeline,新增加多种输入音频方式,如wav.scp、音频bytes、音频采样点pcm格式、wav格式等。
  • Paraformer与ParaformerBert模型新增加batch级解码,加快推理速度。
  • 新增基于ModelScope微调训练定制模型,可通过调用modelscope.trainers快速实现模型微调训练。
  • 优化pipeline推理速度,对于单条音频输入,推理速度提升显著。


基于ModelScope进行推理

推理支持音频格式如下:

  • wav文件路径例如:data/test/audios/asr_example.wav
  • wav文件url,例如:https://isv-data.oss-cn-hangzhou.aliyuncs.com/ics/MaaS/ASR/test_audio/asr_example_zh.wav
  • wav二进制数据,格式bytes,例如:用户直接从文件里读出bytes数据或者是麦克风录出bytes数据。
  • 已解析的audio音频,例如:audio, rate = soundfile.read("asr_example_zh.wav"),类型为numpy.ndarray或者torch.Tensor。
  • wav.scp文件,需符合如下要求:
cat wav.scpasr_example1  data/test/audios/asr_example1.wavasr_example2  data/test/audios/asr_example2.wav

以输入格式为文件wav.scp(注:文件名需要以.scp结尾), 通过output_dir 参数指定识别结果写入路径(其他格式不需要指定output_dir参数),具体api调用方式可参考如下范例:

from modelscope.pipelines import pipelinefrom modelscope.utils.constant import Tasks
inference_pipeline = pipeline(    task=Tasks.auto_speech_recognition,    model='damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch',    output_dir='./output_dir')
inference_pipeline("wav.scp")

识别结果输出路径output_dir结构如下

tree output_dir/output_dir/└── 1best_recog    ├── rtf    ├── score    └── text1 directory, 3 files

其中,rtf:计算过程耗时统计;score:识别路径得分;text:语音识别结果文件。

基于ModelScope进行微调

大数据训练的通用领域识别模型,开发者可以基于此模型利用ModelScope的微调功能进一步进行模型的领域定制化。

>>以下演示基于私有数据集进行微调的操作过程:

私有数据集格式按如下准备:

tree ./example_data/./example_data/├── validation│   ├── text│   └── wav.scp└── train    ├── text    └── wav.scp2 directories, 4 files


其中,text文件中存放音频标注,wav.scp文件中存放wav音频绝对路径,样例如下:

cat ./example_data/textBAC009S0002W0122 而 对 楼 市 成 交 抑 制 作 用 最 大 的 限 购BAC009S0002W0123 也 成 为 地 方 政 府 的 眼 中 钉
cat ./example_data/wav.scpBAC009S0002W0122 /mnt/data/wav/train/S0002/BAC009S0002W0122.wavBAC009S0002W0123 /mnt/data/wav/train/S0002/BAC009S0002W0123.wav


训练私有数据代码范例如下:

import osfrom modelscope.metainfo import Trainersfrom modelscope.trainers import build_trainerfrom funasr.datasets.ms_dataset import MsDataset
def modelscope_finetune(params):    if not os.path.exists(params.output_dir):        os.makedirs(params.output_dir, exist_ok=True)    # dataset split ["train", "validation"]    ds_dict = MsDataset.load(params.data_path)    kwargs = dict(        model=params.model,        model_revision=params.model_revision,        data_dir=ds_dict,        dataset_type=params.dataset_type,        work_dir=params.output_dir,        batch_bins=params.batch_bins,        max_epoch=params.max_epoch,        lr=params.lr)    trainer = build_trainer(Trainers.speech_asr_trainer, default_args=kwargs)    trainer.train()
if __name__ == '__main__':    from funasr.utils.modelscope_param import modelscope_args    params = modelscope_args(model="damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch")    params.output_dir = "./checkpoint"              # m模型保存路径    params.data_path = "./example_data/"            # 数据路径    params.dataset_type = "small"                   # 小数据量设置small,若数据量大于1000小时,请使用large,加快训练速度    params.batch_bins = 2000                        # batch size,如果dataset_type="small",batch_bins单位为fbank特征帧数,如果dataset_type="large",batch_bins单位为毫秒    params.max_epoch = 50                           # 最大训练轮数    params.lr = 0.00005                             # 设置学习率        modelscope_finetune(params)


若使用多卡进行训练,可将上述代码保存为py文件(如finetune.py)后,执行如下命令:


CUDA_VISIBLE_DEVICES=1,2 python -m torch.distributed.launch --nproc_per_node 2 finetune.py > log.txt 2>&1




相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
6月前
|
人工智能 自然语言处理 算法
谷歌推出”自我发现“框架,极大增强GPT-4等大模型推理能力
【4月更文挑战第20天】谷歌DeepMind团队推出了SELF-DISCOVER框架,让大型语言模型能自我发现并构建推理结构,提升在复杂任务中的性能。该框架模仿人类解决问题方式,分两阶段选择和适应原子推理模块,以解决挑战。在多任务测试中,SELF-DISCOVER相比传统方法表现出色,性能提升42%,计算量减少10至40倍。它具有跨模型应用的普适性,并与人类思维方式相通。然而,它在某些任务类型上仍有优化空间,且需解决计算成本问题。论文链接:https://arxiv.org/abs/2402.03620
93 1
|
6月前
魔塔社区的模型支持使用DJL 进行推理吗?
想使用DJL 加载魔塔社区的模型并进行推理
|
2月前
|
文字识别 自然语言处理 数据可视化
Qwen2.5 全链路模型体验、下载、推理、微调、部署实战!
在 Qwen2 发布后的过去三个月里,许多开发者基于 Qwen2 语言模型构建了新的模型,并提供了宝贵的反馈。在这段时间里,通义千问团队专注于创建更智能、更博学的语言模型。今天,Qwen 家族的最新成员:Qwen2.5系列正式开源
Qwen2.5 全链路模型体验、下载、推理、微调、部署实战!
|
3月前
|
人工智能 内存技术
通义语音AI技术问题之预训练模型的推理与微调如何解决
通义语音AI技术问题之预训练模型的推理与微调如何解决
38 4
|
3月前
|
人工智能 自然语言处理 API
AI大模型 智能AI开源模型与大模型接口整理(8个开源模型+7个大模型接口)
AI大模型 智能AI开源模型与大模型接口整理(8个开源模型+7个大模型接口)
404 5
|
5月前
|
人工智能 JSON 自然语言处理
智谱AI GLM4开源!支持多模态&长序列,魔搭推理、微调最佳实践来啦!
GLM-4-9B是智谱AI推出的新一代预训练模型GLM-4系列的开源版本,它在多个数据集上的测试中表现出高绩效,包括语义理解、数学问题解决、推理和代码理解等方面。GLM-4-9B模型有四个变体:基础版GLM-4-9B(8K)、对话版GLM-4-9B-Chat(128K)、超长上下文版GLM-4-9B-Chat-1M(1M)和多模态版GLM-4V-9B-Chat(8K)。用户可以通过魔搭社区提供的链接体验这些模型,包括在CPU上运行的版本和支持vLLM推理的版本。
智谱AI GLM4开源!支持多模态&长序列,魔搭推理、微调最佳实践来啦!
|
6月前
|
机器学习/深度学习 人工智能 算法
仅靠开源数据复刻出LLaMA3指令学习效果,在线迭代RLHF全流程解决方案来了
【5月更文挑战第27天】在线迭代RLHF方案使用开源数据复现LLaMA3指令学习效果,提供了一种动态收集和更新模型的新方法,提升大型语言模型的性能。通过代理偏好模型模拟人类反馈,降低训练成本,促进技术民主化。虽然面临数据利用、探索与利用平衡等挑战,且需解决长尾分布数据处理问题,该方案已在多基准测试中展现优秀性能,为LLM训练提供高效途径。论文链接:https://arxiv.org/pdf/2405.07863
64 1
社区供稿 | XTuner发布LLaVA-Llama-3-8B,支持单卡推理,评测和微调
日前,XTuner 团队基于 meta 最新发布的 Llama-3-8B-Instruct 模型训练并发布了最新版多模态大模型 LLaVA-Llama-3-8B, 在多个评测数据集上取得显著提升。
|
6月前
|
JSON 自然语言处理 API
【LLM落地应用实战】LLM + TextIn文档解析技术实测
文档解析技术是从这些海量且复杂的数据中高效准确地提取有价值信息的关键。它从输入文档图像开始,经过图像处理、版面分析、内容识别和语义理解等流程,最终输出结构化电子文档或语义信息。通过文档解析技术,我们能够深入理解文档的结构、内容和主题,使得信息更易于检索、分析和利用。
|
6月前
|
存储 自然语言处理 负载均衡
元象开源首个MoE大模型:4.2B激活参数,效果堪比13B模型,魔搭社区最佳实践来了
近日,元象发布其首个Moe大模型 XVERSE-MoE-A4.2B, 采用混合专家模型架构 (Mixture of Experts),激活参数4.2B,效果即可媲美13B模型。该模型全开源,无条件免费商用,支持中小企业、研究者和开发者可在元象高性能“全家桶”中按需选用,推动低成本部署。

热门文章

最新文章