3月14日,创造出病毒级虚拟助手 Maya 的Sesame团队开源了他们的语音生成模型 CSM-1b,可根据文本和音频输入生成 RVQ 音频代码。这意味着,我们每个人都可以0成本拥有一个真正的AI伴侣了,甚至可以自己动手搭建、测试和改进模型。
模型尺寸:Sesame训练了三种模型大小,由backbone和解码器大小划分:
- Tiny:1B backbone,100M 解码器
- Small:3B backbone,250M 解码器
- Medium:8B backbone,300M 解码器
本次Sesame开源的模型是tiny版本 CSM-1b,开源模型在魔搭社区和HuggingFace都可以下载到。一个微调版的CSM可以在Sesame官网博客文章中展示的交互式语音演示中体验。
模型:
https://www.modelscope.cn/models/sesameAILabs/csm-1b
CSM-1B体验:
https://modelscope.cn/studios/sesameAILabs/csm-1b/summary
微调版CSM体验(Maya效果):
Sesame官网:https://www.sesame.com/research/crossing_the_uncanny_valley_of_voice
01.会话语音模型
模型结构
CSM 是一种直接对 RVQ 标记进行操作的多模态文本和语音模型,使用了两个自回归变换器,在第零个码本处拆分变换器。第一个多模态主干网络处理交错的文本和音频以对第零个码本进行建模。第二个音频解码器对每个码本使用不同的线性头,并对剩余的 N – 1 个码本进行建模,以根据主干网络的表示重建语音。解码器比主干网络小得多,从而能够实现低延迟生成,同时保持模型的端到端。
CSM 模型推理过程
这两个转换器都是 Llama 架构的变体。文本标记通过 Llama 标记器生成,而音频则使用 Mimi(一种 split-RVQ 标记器)进行处理,以 12.5 Hz 的频率每帧生成一个语义码本和 N – 1 个声学码本。训练样本的结构为文本和音频的交替交错模式,说话者身份直接编码在文本表示中。
计算摊销
这种设计在训练过程中带来了巨大的基础设施挑战。音频解码器自回归处理有效批量大小为 B × S 和 N 个码本,即使模型很小,这种高内存负担也会减慢训练速度、限制模型扩展并阻碍快速实验。
为了应对这些挑战,该团队提出一种计算摊销方案,该方案可以缓解内存瓶颈,同时保持完整 RVQ 码本的保真度。音频解码器仅在音频帧的随机 1/16 子集上进行训练,而第零码本则在每个帧上进行训练。使用这种方法时,在训练过程中没有观察到音频解码器损失的明显差异。
摊销训练过程
效果评估
评估套件从四个关键方面衡量模型性能:文本忠实度、上下文利用率、韵律和延迟,从客观和主观指标两个方面进行全面的评估。
客观指标
传统基准,例如词错误率(WER)和说话人相似度(SIM),已经饱和,而包括 CSM 在内的现代模型现在在这些指标上实现了接近人类的表现。
词语错误率(Word Error Rate)和说话人相似度(Speaker Similarity)测试的客观指标结果显示,指标已饱和(与人类表现相匹配)。
为了更好地评估发音和上下文理解,Sesame引入了一套新的基于语音转录的基准。
- 通过同形异义词消歧理解文本: 评估模型是否正确发音具有相同拼写的不同单词(例如,“lead” /lɛd/ 与“lead” /liːd/)。
- 通过发音连续一致性理解音频: 评估模型是否能保持多轮语音中具有多种发音变体的特定单词的发音一致性。一个例子是“route”(/raʊt/ 或 /ruːt/),它会根据说话者所在地区和上下文而变化。
同形异义词消歧(Homograph Disambiguation)和发音一致性(Pronunciation Consistency)测试的客观指标结果,衡量每个模型正确发音的准确率百分比。下图比较了三种模型大小的客观指标结果。从同形异义词准确率和发音一致性的评估结果观察到,模型越大,性能越佳。这个结果支持了我们的假设,即缩放可以增强更真实语音的合成。
主观指标
Sesame团队使用Expresso数据集评估 CSM-Medium 生成的语音的自然度和韵律适宜性。向人类评估者展示成对的音频样本 - 一个由模型生成,另一个是真实的人类录音。听众根据 7 分偏好量表对生成的样本进行评分。
具体来说,在第一个 CMOS 研究中,提供了没有语境的生成音频和人类音频样本,并要求听众“选择哪种演绎更像人类语音”。在第二个 CMOS 研究中,提供了前 90 秒的音频和文本语境,并要求听众“选择哪种演绎更像对话的延续”。八十人受雇参与评估,平均每人对 15 个示例进行评分。
下图为Expresso 数据集上的主观评价结果。
无上下文:听众在不了解上下文的情况下选择“哪种演绎感觉更像人类语音” 。
上下文:听众在了解音频和文本上下文的情况下选择“哪种演绎感觉更适合继续对话”。
50:50 的胜负比表明听众没有明确的偏好。
上图显示了两项研究中真实人类录音与 CSM 生成的语音样本的胜率。在没有对话语境的情况下(顶部),人类评估者对生成的语音和真实语音没有明显的偏好,这表明自然度已经饱和。然而,当包含语境时(底部),评估者始终青睐原始录音。这些发现表明,在对话语音生成中,生成的语音和人类的韵律之间仍然存在明显的差距。
02.最佳实践
魔搭社区开发者第一时间部署体验了这个模型,本部分教你如何一步步在魔搭平台的notebook上运行CSM-1b模型。
step1: 申请魔搭免费实例
notebook地址:https://www.modelscope.cn/my/mynotebook
点击terminal,打开终端
step2:克隆代码
本次拉取的代码为基于gradio开发的版本,模型托管在modelscope上
git clone https://oauth2:Lj_V_qf8NsjT2RoCksjr@www.modelscope.cn/studios/sesameAILabs/csm-1b.git
step3:安装依赖
cd csm-1b pip install -r requirements.txt
step4:运行命令
# 声明两个环境变量 export MS_TOKEN='xxxx' # MS_TOKEN 从https://www.modelscope.cn/my/myaccesstoken 获取 export WATERMARK_KEY="123 234 111 222 11" cd csm-1b python app.py
Github:
https://github.com/SesameAILabs/csm?tab=readme-ov-file
点击链接阅读原文,直达体验