沐神B站更新了

李沐 老师终 于带着他的 手搓语音大模型教程回归了 ….

沐神B站更新了-2

本期视频不讲论文,李沐老师来手把手教大家怎样玩转他们团队最新研发的 Higgs Audio V2模型 ,不仅能处理文本,还能同时理解并生成语音。

除了一些常规语音任务外,这个模型还具备一些较为罕见的能力,比如生成多种语言的自然多说话人对话、旁白过程中的自动韵律调整、使用克隆声音进行旋律哼唱以及同时生成语音和背景音乐。

整个过程堪称 “大力出奇迹” ,直接将 1000万小时 的语音数据整合到LLM的文本训练,让它能听也能说。 (当然还有亿点点细节)

沐神B站更新了-3

粗暴,但有效!

鬼畜视频?人力手搓已经OUT了,李沐老师直接用算力帮大伙搞定,效果be like:

沐神教你手搓语音大模型

传统的语音和文本模型之间相互独立,李沐老师就想,欸,能不能将两者结合起来,直接让LLM用语音进行沟通。

那么首先就要知道文本语言模型的本质是用给定的一段指令去生成预测结果,就是将任务先拆解为 系统指令 (system) 、 用户输入 (user) 、 模型回复 (assistant) 三个部分。

system告诉模型,需要做什么事情,例如回答该问题、写一段文字或者其他,user就是告知事情的详细内容,例如问题具体是什么、文字要什么风格。

所以如果要让模型支持语音,就需要为模型增加一个系统命令,在user里输入要转录为语音的文字,让模型从system里输出对应语音数据。

这样语音任务就能转换成相同的处理格式,直接打通语音和文本之间的映射,通过追加更多的数据和算力,直接 scaling law “大力出奇迹”。

沐神B站更新了-4

这就引出了新的问题, 语音信号本质是连续的,要如何才能在离散的文本token中表示呢?

现有的方法是将一秒的语音信号裁切成多段 (如100毫秒一段) ,为每一段匹配最相似的预定义模板 (如45个模板) ,然后将其表示为长度为10的编号序列,也就是一个个token。

但这样做,虽然可以将一小时的音频从60兆压缩到0.16兆,但质量相当糟糕,所以需要 优先保留语音的语义信息 ,而声学信号只保留少量部分,后续再通过其他手段还原。

于是他们训练了一个统一的离散化音频分词器,以每秒25帧的速度运行,同时保持甚至提高音频质量,以捕获语义和声学特征。

沐神B站更新了-5

然后要让模型很好地理解和生成声音,就需要利用模型的文本空间,将语音的语义尽量地映射回文本,当中需要大量的数据支持。

由于版权问题,沐导没有使用B站或YouTube这类公开视频网站数据,而是购买或从允许抓取的网站获取。

这样得到的数据质量参差不齐,需要删除其中的90%才能满足 1000万小时 的训练数据需求。

其次,将语音对话表示为相应的system (场景描述、声学特征、人物特征等) 、user (对话文本) 、assistant (对应音频输出) 的形式。

由于OpenAI和谷歌一向禁止使用他们的模型输出再训练,且训练成本过高,为了实现这种标注,他们利用相同的模型架构额外训练出一个语音模型 AudioVerse 。

该模型接收用户语音输入,分析并输出场景、人物、情绪、内容等信息,再将输出反过来作为生成模型的system提示和user输入,实现模型的共同进步。

举个例子就是,如果想要教一个徒弟同时会拳脚功夫,但师傅一次又教不了,那就同时教两个徒弟,一个学打拳,一个学踢腿,然后让他们俩天天互相打,打着打着两个就都会拳脚功夫了。

最终,这个多模态模型就完成了,不仅可以完成简单的文本转语音,还能实现更复杂的任务,比如让它写一首歌并唱出来,再加上配乐。

还能根据语音分析场景、人物 (性别、年龄、情绪状态) 、环境音 (室内外) ,并进行复杂的理解和推理。

在实时语音聊天上,还可实现低延迟、理解情绪并表达情绪的自然语音交互,而不仅仅是机械的问答。

在 EmergentTTS-Eval 基准上,相较于其他模型,性能可以说是遥遥领先,尤其是在“情绪”和“问题”类别中,相比 GPT-4o-mini-tts 高出了75.7%和55.7%的胜率。

此外,它在Seed-TTS Eval和情感语音数据集 (ESD) 等传统TTS基准测试中也取得了最佳性能。

沐神B站更新了-6

那么,我们能玩吗? 相信同学们都已经跃跃欲试了。

放心,沐导都包圆了,模型代码都已全部发布在 GitHub 上 (可点击文末链接获取~) ,并提供了在线试玩平台和Hugging Face版本。

想要安装在自己电脑上的同学,需要准备好 GPU版Pytorch ,或使用media驱动提供的 Docker 简化安装,readme里还有一些语音样例 (包含文本和对应的音频) ,大家可以自行体验学习。

尤其是喜欢搞搞鬼畜视频、虚拟主播的同学们,这个模型一定要试试,它可以直接复制特定人物的声音。

不过温馨提醒,生成特定场景的文本时,最好提供类似场景中人物说话的语音信息 (例如吵架、放松、大笑的语音) ,可以更好地进行声纹克隆嗷~

视频教程: https://www.bilibili.com/video/BV1LGbozkEDY

模型代码:https://github.com/boson-ai/higgs-audio

给沐神 “ 点 赞 ” 三连 ↓

THE END
分享
二维码
< <上一篇
下一篇>>