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

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

ModelScope魔搭社区发布以来,众开发者在ModelScope上传与下载模型,并集成到自己的语音识别服务中。为了方便用户更好地利用ModelScope进行语音识别服务,我们推出了语音识别基础框架FunASR,希望在语音识别的学术研究和工业应用之间架起一座桥梁。FunASR已经集成到ModelScope中,提供的工业级的语音识别模型的推理与微调定制,使得研究人员和开发者可以更加便捷的进行语音识别模型的研究和生产,促进语音识别生态的发展。本次同步迭代发布新版本和升级新功能,可支持用户基于自己的数据进行模型训练微调,同时发布了语音识别链路上的七大技术模块和模型,来更好地构建面向应用的语音识别服务。新版本[funasr-0.1.6, modelscope-1.2.0]更新地址ModelScope:https://www.modelscope.cn/home FunASR:https://github.com/alibaba-damo-academy/FunASR*(本文链接均推荐复制地址后在浏览器中打开)

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


联系我们

使用中如遇到任何问题,欢迎通过ModelScope社区与我们互动。https://developer.aliyun.com/community/modelscope

也欢迎语音开源和语音应用感兴趣的研究人员和开发人员加入魔搭语音服务社区FunASR社区

ModelScope与FunASR区别与联系:

ModelScope提供模型托管服务,同时通过集成高层API的方式对FunASR进行封装,提供方便快捷的统一接口,进行模型推理与微调功能,用户容易上手。

FunASR作为基础框架,可以独立于ModelScope提供模型推理与微调服务以及学术模型的训练能力。由于ModelScope封装较深,对于定制化需求较高的专业人士,可以通过修改FunASR源码的方式来满足自己的实际需求。

相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
3月前
魔塔社区的模型支持使用DJL 进行推理吗?
想使用DJL 加载魔塔社区的模型并进行推理
|
3月前
|
人工智能 物联网 PyTorch
SCEdit:轻量级高效可控的AI图像生成微调框架(附魔搭社区训练实践教程)
SCEdit是一个高效的生成式微调框架,由阿里巴巴通义实验室基础视觉智能团队所提出。
|
18天前
|
人工智能 自然语言处理 API
AI大模型 智能AI开源模型与大模型接口整理(8个开源模型+7个大模型接口)
AI大模型 智能AI开源模型与大模型接口整理(8个开源模型+7个大模型接口)
143 5
|
16天前
|
人工智能 开发工具 git
尝试一下,在本地使用 ChatGLM3 模型搭建离线 AI 聊天系统
尝试一下,在本地使用 ChatGLM3 模型搭建离线 AI 聊天系统
28 0
|
2月前
|
机器学习/深度学习 人工智能 PyTorch
人工智能平台PAI产品使用合集之Alink是否加载预训练好的pytorch模型
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
3月前
|
机器学习/深度学习 人工智能 算法
仅靠开源数据复刻出LLaMA3指令学习效果,在线迭代RLHF全流程解决方案来了
【5月更文挑战第27天】在线迭代RLHF方案使用开源数据复现LLaMA3指令学习效果,提供了一种动态收集和更新模型的新方法,提升大型语言模型的性能。通过代理偏好模型模拟人类反馈,降低训练成本,促进技术民主化。虽然面临数据利用、探索与利用平衡等挑战,且需解决长尾分布数据处理问题,该方案已在多基准测试中展现优秀性能,为LLM训练提供高效途径。论文链接:https://arxiv.org/pdf/2405.07863
40 1
社区供稿 | XTuner发布LLaVA-Llama-3-8B,支持单卡推理,评测和微调
日前,XTuner 团队基于 meta 最新发布的 Llama-3-8B-Instruct 模型训练并发布了最新版多模态大模型 LLaVA-Llama-3-8B, 在多个评测数据集上取得显著提升。
|
3月前
|
数据可视化 物联网 测试技术
零一万物Yi-1.5系列模型发布并开源!34B/9B/6B 多尺寸魔搭社区推理微调最佳实践教程来啦!
Yi-1.5是Yi的升级版本。 它使用 500B tokens的高质量语料库在 Yi 上持续进行预训练,并在 3M 个多样化的微调样本上进行微调。
|
3月前
|
存储 自然语言处理 负载均衡
元象开源首个MoE大模型:4.2B激活参数,效果堪比13B模型,魔搭社区最佳实践来了
近日,元象发布其首个Moe大模型 XVERSE-MoE-A4.2B, 采用混合专家模型架构 (Mixture of Experts),激活参数4.2B,效果即可媲美13B模型。该模型全开源,无条件免费商用,支持中小企业、研究者和开发者可在元象高性能“全家桶”中按需选用,推动低成本部署。
|
数据采集 机器学习/深度学习 人工智能
用ChatGPT训练羊驼:「白泽」开源,轻松构建专属模型,可在线试玩
用ChatGPT训练羊驼:「白泽」开源,轻松构建专属模型,可在线试玩
461 0