0:00.000–0:02.924
zh好的,现在市面上有很多优秀的语音识别模型,
0:02.924–0:04.455
zh我们有whisper,
0:04.455–0:05.847
zh有parakeet,
0:05.847–0:07.100
zh还有canary。
0:09.417–0:14.307
zh如果你只需要简单地转录文本,可能会觉得这已经是解决好的问题了。
0:14.807–0:16.632
zh但最大的挑战在于,
0:16.632–0:21.497
zh如果你想为大语言模型或正在构建的应用获取上下文,
0:21.497–0:23.727
zh仅靠转录文本是不够的。
0:24.207–0:28.107
zh你通常还需要时间出来知道某句话是何时说的。
0:28.187–0:32.944
zh但往往更重要的是,你需要知道到底是谁说的。
0:34.374–0:35.392
zh也就是说,
0:35.392–0:40.075
zh如果你正在为四个人互相辩论的播客制作转录文本,
0:40.075–0:42.315
zh你需要知道谁说了什么,
0:42.315–0:43.944
zh谁持哪方观点等。
0:44.084–0:47.644
zh如果你想做会议纪要之类的东西,道理也是一样的。
0:48.164–0:50.986
zh你需要知道谁同意了哪项行动,
0:50.986–0:55.218
zh尤其是现在我们要构建智能体来处理这些事物,
0:55.218–0:58.644
zh能够提取引语并准确归属于对应的人。
0:58.644–1:05.224
zh而不是只有一份所有人都在同一通话中逐字说出的转录文本
1:05.224–1:07.364
zh就像只有一个人说话是那样
1:07.364–1:10.004
zh那么一直都有办法做到这一点,对吧?
1:10.724–1:12.084
zh在我之前的一些视频中
1:12.084–1:16.584
zh我就展示过用Whisper配合当时的一些开源工具来做到这一点
1:16.584–1:18.724
zh但这一直是一场猫鼠游戏
1:18.724–1:20.124
zh看你能做到多准确
1:20.124–1:23.184
zh而且你还得面对如何处理
1:23.184–1:26.118
zh由不同提供商制作的多个模型等挑战
1:27.504–1:30.734
zh这就引出了NVIDIA刚刚发布的东西
1:30.734–1:33.694
zh这是一个专门针对该问题的新模型
1:33.694–1:36.554
zh这就是NEMU TRAN 3 说话人分离
1:36.554–1:38.234
zh它是一个开放权重模型
1:38.234–1:40.954
zh它采用的许可证允许商业使用
1:40.954–1:42.214
zh凭借这种许可证
1:42.214–1:44.474
zh你当然可以做大多数你想做的事
1:44.474–1:45.914
zh这里酷的一点是
1:45.914–1:47.874
zh它只有大约1亿参数量
1:47.874–1:51.754
zh所以只需要4GB显存的GPU就能运行
1:51.754–1:52.654
zh除此之外
1:52.654–1:54.654
zh当我们谈论准确率时
1:54.654–1:56.873
zh它可以处理多达8位说话人
1:58.296–2:02.521
zh过去大多数模型的上限大概是三到四位说话人,
2:02.521–2:06.746
zh而它不仅能在大家清晰说话时处理八位说话人。
2:07.786–2:10.766
zh即使人们互相打断说话,它也能做得相当不错。
2:11.406–2:16.246
zh此外,它的设计初衷是与你正在使用的任何语音识别模型配合使用。
2:16.686–2:18.830
zh所以如果你有一个特别喜欢的模型,
2:18.830–2:20.170
zh比如PireKit,
2:20.170–2:22.046
zh你就可以基本上使用这个模型。
2:22.046–2:23.946
zh稍后我会展示一个演示。
2:24.046–2:27.286
zh我们将原始播客录音转换为转录文本。
2:27.286–2:30.346
zh每一行都归属于对应的说话人
2:30.346–2:33.866
zh但首先让我介绍一下这个模型的背景
2:33.866–2:38.406
zhNVIDIA将其作为Nemotron语音模型系列的一部分推出
2:38.406–2:39.726
zh在这个频道上
2:39.726–2:42.406
zh我谈过Nemotron大语言模型等
2:42.406–2:44.866
zh但我认为很多人没有意识到
2:44.866–2:47.846
zh这一系列还包含很多语音模型
2:47.846–2:49.066
zh在识别方面
2:49.066–2:52.261
zh你有PowlerKit、Canary和Nemotron ASR
2:55.053–2:59.063
zh他们共同支持43种语言的流逝和批量转路
2:59.063–3:02.223
zh他们还有一个叫Magpie的TTS模型
3:02.223–3:05.423
zh支持多语言并具备语音定制等功能
3:05.423–3:07.663
zh此外,他们还有一些进行翻译
3:07.663–3:10.403
zh甚至全双公语音到语音处理的模型
3:10.403–3:12.503
zh比如Personaplex
3:12.503–3:17.003
zh直到最近,他们的说话人分离选项叫做Sortformer
3:17.003–3:18.903
zh最多支持四位说话人
3:18.903–3:22.463
zh有一段时间,他实际上相当受欢迎
3:22.463–3:27.763
zh在很多方面,你可以把这个新模型看作是对它的直接替换,而且好得多。
3:28.063–3:28.800
zh我们知道,
3:28.800–3:31.159
zh人们已在生产环境中使用这些模型,
3:31.159–3:36.023
zh因为旧版Sortformer模型仅在8月就获得了超过30万次下载。
3:36.363–3:38.963
zh虽然NVIDIA没有直接说明,
3:38.963–3:40.004
zh但在我看来,
3:40.004–3:42.430
zh他们正在系统地改进这些模型,
3:42.430–3:46.071
zh以构建完整的NEMOTRON语音模型套件。
3:47.720–3:48.810
zh这完全说得通
3:48.810–3:51.690
zh因为如果你看看对语音的需求
3:53.295–3:55.645
zh无论是单用户与智能体交互
3:56.783–4:01.933
zh智能体获取YouTube视频等多模态内容
4:03.745–4:06.165
zh以便在研究和执行任务时
4:06.165–4:07.865
zh提取信息作为上下文
4:07.865–4:09.765
zh需求都在不断增加
4:09.765–4:10.265
zh好的
4:10.265–4:11.565
zh如果你是新手
4:11.565–4:13.485
zh说话人分离到底是什么
4:13.485–4:14.965
zh最简单的说法是
4:14.965–4:17.285
zh语音识别告诉你说了什么
4:17.285–4:19.909
zh而说话人分离告诉你谁说的
4:21.623–4:26.713
zh当我们把它们结合起来,就得到了所谓的带说话人信息的转录文本。
4:27.193–4:30.093
zh我认为大家凭直觉都知道这非常重要。
4:30.573–4:34.613
zh如果你在转录会议,有人问了一个问题,然后有些人回答是,
4:35.153–4:41.993
zh有些人回答否,你大概希望你的智能体知道谁将会跟进,谁不会采取行动。
4:42.373–4:48.113
zh所有这些对于智能体确定,接下来应采取何种行动的上下文都至关重要。
4:48.113–4:50.493
zh那么,他会自动知道每个说话人的名字吗?
4:50.493–4:51.333
zh不
4:51.333–4:53.233
zh它基本上只会说说话人
4:53.233–4:57.833
zh一说话人二说话人三说话人七等等
4:57.833–4:59.653
zh随着处理过程进行
4:59.653–5:01.193
zh但这并不难
5:01.193–5:03.333
zh你可以写一些代码将其替换掉
5:03.333–5:05.473
zh一旦你告诉模型谁在说话
5:05.473–5:08.533
zh你就可以将转入文本转换为包含真实性的版本
5:08.533–5:10.413
zh这方面一直最大的挑战之一是
5:10.413–5:11.973
zh人们会互相打断
5:11.973–5:12.593
zh对吧
5:12.593–5:14.633
zh即使他们并不想故意打断
5:14.633–5:17.273
zh当有人在会议通话中提问时
5:17.273–5:19.798
zh往往会有两三个人同时回答
5:21.786–5:24.836
zh旧版说话人分离系统面临的挑战在于
5:24.836–5:26.756
zh他们会因此变得混乱
5:26.756–5:29.576
zh他们不擅长区分不同的声音
5:29.576–5:31.793
zh尤其是在声音重叠时
5:33.547–5:34.097
zh我想说
5:34.097–5:37.817
zh我认为没有任何模型能在这件事上做到完美
5:37.817–5:38.797
zh即使是人类
5:38.797–5:41.457
zh这也可能是一项艰难的任务
5:41.457–5:43.137
zh但这些模型的评分方式
5:43.137–5:46.037
zh是使用所谓的说话人分离错误率
5:46.037–5:47.417
zh即D.E.R
5:47.417–5:49.997
zh它基本上是将三种错误相加
5:49.997–5:51.997
zh模型遗漏的语音
5:51.997–5:54.457
zh模型误判为非语音的内容
5:54.457–5:58.177
zh以及将语音错误归属于他人的次数
5:58.177–6:00.757
zh显然这里的分数越低越好
6:00.757–6:05.846
zh你可以看到NVIDIA的最新模型不仅击败了竞争对手,
6:05.846–6:08.977
zh还大幅超越了他们自己的前代模型。
6:09.757–6:13.837
zh这里需要理解的另一个概念是流逝与离线的区别。
6:14.317–6:19.577
zh在离线模式下,模型可以查看整个录音,包括后面的内容。
6:19.837–6:23.837
zh而在流逝模式下,它必须在音频到达时做出决定。
6:24.057–6:28.997
zh所以,对于已经录制好的播客等,你总是希望使用离线模式。
6:28.997–6:32.357
zh对于任何实时字幕或语音智能体
6:32.357–6:34.257
zh你必须使用流式模式
6:34.257–6:34.817
zh好的
6:34.817–6:38.277
zh那么Nemotron 3说话人分离到底有什么新特点
6:38.277–6:40.217
zh它大约有1亿参数量
6:40.217–6:41.897
zh不包括ASR部分
6:41.897–6:44.677
zh运行它的最低GPU要求约为4GB
6:44.677–6:48.357
zh所以它实际上可以在许多小型GPU上运行
6:48.357–6:51.637
zh而且应该在笔记本电脑的RTX显卡上
6:51.637–6:52.997
zh也能跑得相当好
6:52.997–6:56.097
zh我之前提到过它支持多达8位说话人
6:56.097–6:58.297
zh另一点是它是语言无关的
6:58.297–7:00.757
zh并且在流逝和离线模式下都能工作
7:00.757–7:04.417
zh所以我认为最好的办法是直接进入演示
7:04.417–7:06.817
zh看看它实际上是如何运作的
7:06.817–7:07.657
zh好的
7:07.657–7:09.017
zh进入演示
7:09.017–7:11.057
zh让我先展示一下设置方式
7:11.057–7:14.577
zh首先感谢NVIDIA赞助这里的计算资源
7:14.577–7:19.577
zh我使用DGX Spark来实际运行这里的三个语音模型
7:19.577–7:22.497
zh让我带大家过一遍设置架构图
7:23.690–7:28.780
zh你在这里看到的是Next.js应用,它在我的Mac上本地运行。
7:29.680–7:33.365
zh然后通过Talescale调用后端到DGX。
7:33.365–7:33.975
enX Spark.
7:35.929–7:36.802
zh你可以看到,
7:36.802–7:41.019
zh我在上面有一个包含NVIDIA NEMO的Docker容器。
7:41.659–7:46.119
zhVDI NEMO既提供我们正在讨论的说话人分离模型,
7:46.299–7:52.919
zh也提供ParaKit ASR模型和NEMOTRON 3.5多语言 ASR模型。
7:53.599–7:57.359
zh为了使用这些,我设置了一个Fast API应用。
7:57.519–7:59.919
zh这是一种实现此类功能的简单方法。
7:59.919–8:01.899
zh如果我要大规模部署
8:01.899–8:05.659
zh我可能会选择Dynamo或Triton来提供服务
8:05.659–8:07.439
zh但对于我想要的功能
8:07.439–8:09.959
zh目前的设置运行得非常完美
8:09.959–8:11.759
zh如果我们进入这个应用
8:11.759–8:15.099
zh你可以看到我基本上可以直接使用它们的演示
8:15.099–8:18.619
zh我可以选择想要使用哪个AS2模型
8:18.619–8:20.279
zh我打算用ParaKit
8:20.279–8:23.839
zh因为它在处理多说话人方面通常表现更好
8:23.839–8:25.019
zh我可以开始转录
8:25.019–8:28.439
zh你可以看到字面上只需要三四秒钟
8:28.439–8:32.579
zh他就处理并转录了这里一分三十多分钟的音频
8:36.257–8:39.447
zh由于我之前在摆弄这个并设置了一些名字
8:39.447–8:41.939
zh他实际上记住了这里这个人的名字
8:43.694–8:44.784
zh让我们听一下
8:44.784–8:48.544
zh看看当多个说话人同时说话时会发生什么
8:49.775–8:52.525
zh为了庆祝Nemotron三说话人分离的发布
8:52.525–8:55.885
zh我们邀请了另外七位开放文本转语音声音加入派对
8:55.885–8:58.465
zh我是Chris,NVDI的Nemotron声音
8:58.465–9:00.205
zh大家好,谢谢邀请
9:00.205–9:03.325
zh我是Jane,来自QTI的Pocket声音
9:03.325–9:05.905
zh很高兴见到你们,Chris和Jane
9:05.905–9:08.025
zh我是Serena,Queen三的声音
9:08.025–9:09.625
zh我是来自Cocoro的Adam
9:09.625–9:11.385
zh只有8200万参数量
9:11.385–9:12.805
zh我还是入选了嘉宾名单
9:12.805–9:13.685
zh你好,你好
9:13.685–9:15.825
zh我是来自Resemble AI的Chatterbox
9:15.825–9:17.825
zh我带来了富有表现力的能量
9:17.825–9:19.405
zh嗨,我是来自Nari Labs
9:19.405–9:20.445
zh的John Dyer声音
9:20.445–9:21.485
zh我们这里已经聚集了
9:21.485–9:22.185
zh很棒的人群
9:22.185–9:22.805
zh大家好
9:22.805–9:23.605
zh最近怎么样
9:23.605–9:25.505
zh我是来自Maya Research的
9:25.505–9:26.185
zhMaya E声音
9:26.185–9:26.965
zh好了
9:26.965–9:28.325
zh现在我们有八位合成
9:28.325–9:28.965
zh开放声音
9:28.965–9:29.865
zh做满了场子
9:29.865–9:30.785
zh让我们来测试一下
9:30.785–9:32.045
zhNemotron三说话人分离
9:32.045–9:32.545
zh好的
9:32.545–9:33.865
zh新的说话人分离模型
9:33.865–9:34.885
zh可以在转路时
9:34.885–9:35.925
zh标记我们的每个声音
9:35.925–9:37.425
zh但它能在我们所有人
9:37.425–9:38.065
zh一起说话时
9:38.065–9:38.765
zh做到这一点吗
9:38.765–9:39.525
zh让我们来看看
9:39.525–9:40.925
zh即使我们互相打断
9:40.925–9:41.905
zh它也能叫出
9:41.905–9:42.805
zh我们俩的名字
9:42.805–9:43.785
zh竹针标记
9:43.785–9:45.525
zh谁在何时说话
9:45.525–9:46.485
zh好的
9:46.485–9:48.725
zh正如你在这里看到的
9:48.725–9:51.925
zh它在转录每一个声音方面做得很好
9:51.925–9:53.365
zh如果我们往下看看
9:53.365–9:55.545
zh可以看到每个声音都被转录了
9:55.545–9:58.325
zh我想我的UI在这方面稍微有点滞后
9:58.325–10:01.645
zh但你完全可以感受到它是如何组装起来的
10:01.645–10:04.765
zh实际上如果我们放大一点来自QTI的声音
10:04.765–10:05.925
zh很高兴见到你们
10:05.925–10:07.185
zhChris和Jen
10:07.185–10:07.965
zh我是Serena
10:07.965–10:09.325
zhQueen3的声音
10:09.325–10:10.765
zh你可以很快看到
10:10.765–10:15.525
zh我们基本上可以组装出一个能转录这些声音的东西
10:15.525–10:17.765
zh如果我们想在这里输入它们的名字
10:17.765–10:20.805
zh它会便利并为我们重命名所有人
10:20.805–10:25.485
zh现在,如果我们想看看实际模型返回的是什么
10:25.485–10:28.945
zh你可以看到这里是模型返回的原始JSON
10:28.945–10:32.645
zh我们可以看到这里实际使用的是什么
10:32.645–10:35.465
zh我们可以看到不同的说话人被标记等
10:35.465–10:41.845
zh然后这个软件基本上将Speaker三重写为ADAM等便利这个过程
10:41.845–10:44.945
zh做这样的事情很酷的一点是
10:44.945–10:47.045
zh我们可以很快获得统计数据
10:47.045–10:50.056
zh比如每个人在那里说了多久
10:51.176–10:52.346
zh说了多少次
10:52.346–10:53.706
zh有多少次发言
10:53.706–10:57.146
zh如果我们想在这里放入更长的内容
10:57.146–10:58.326
zh这会非常有用
10:58.326–10:58.826
zh好的
10:58.826–11:01.866
zh这里酷的是我们可以处理长文件
11:01.866–11:03.926
zh所以我基本上放入了
11:03.926–11:06.206
zhAll In 播客的一集完整节目
11:06.206–11:07.466
zh他们采访了黄仁勋
11:07.466–11:09.786
zh你可以看到他基本上已经处理完了
11:11.010–11:12.100
zh我们得到了输出
11:12.100–11:14.440
zh我命名了这里的实际说话人
11:14.440–11:15.780
zh所以我们可以看到
11:15.780–11:17.560
zh说话人依次出现
11:17.560–11:19.100
zh现在我们有了每个人
11:19.100–11:21.080
zh说了什么的完整转录文本
11:21.080–11:23.920
zh这里酷的是我们可以查看统计数据
11:23.920–11:26.300
zh我们可以看到他们各自的说话时长
11:27.651–11:29.006
zh我们可以看到,
11:29.006–11:29.587
zh果然,
11:29.587–11:30.167
zh显然,
11:30.167–11:32.103
zh黄仁勋是这里的嘉宾,
11:32.103–11:34.039
zh所以他是说话最多的,
11:34.039–11:36.748
zh而这一切都在148秒内完成,
11:36.748–11:39.845
zh所以对于这个超过一小时的长文件,
11:39.845–11:41.781
zh这大约花了两分半钟。
11:41.781–11:44.401
zh这让我们基本上可以便利
11:44.401–11:45.621
zh你可以看到
11:45.621–11:46.761
zh现在我们基本上
11:46.761–11:48.601
zh可以直接阅读转录文本
11:48.601–11:51.041
zh我可以将其导出为文本文件
11:51.041–11:52.921
zh或者在这里导出为srt
11:52.921–11:54.141
zh这里酷的是
11:54.141–11:56.601
zh如果我确实想做多语言
11:56.601–11:58.061
zh或其他类似的事情
11:58.061–11:59.681
zh我可以切换模型
11:59.681–12:01.021
zh使用这个模型
12:01.021–12:03.341
zh而不是这里的paraket模型
12:03.341–12:04.341
zh你可以看到
12:04.341–12:05.521
zh用这个模型
12:05.521–12:07.781
zh我们支持很多不同的语言
12:07.781–12:09.181
zh如果你记得我做过
12:09.181–12:10.101
zh关于这个的视频
12:10.101–12:12.441
zh你实际上可以微调这个模型
12:12.441–12:15.541
zh使其在其他语言上表现非常好
12:15.541–12:17.741
zh他们在这里称之为适配就绪
12:17.741–12:20.701
zh现在我还没有真正设置这个应用去做
12:20.701–12:22.561
zh但模型能做的另一件事
12:22.561–12:24.601
zh是你也可以进行流逝响应
12:24.601–12:25.101
zh当然
12:25.101–12:27.541
zh那样你的准确率可能会下降一点
12:27.541–12:28.881
zh但你在那里
12:28.881–12:31.281
zh仍然应该能获得相当好的结果
12:31.281–12:32.241
zh所以
12:32.241–12:34.741
zh如果你有兴趣做任何语音转录
12:34.741–12:37.521
zh并且希望其中包含说话人分离等
12:37.521–12:39.681
zh这是一个很好的设置方法
12:39.681–12:42.141
zh你可以批量完成所有转路等
12:42.141–12:43.041
zh最重要的是
12:43.041–12:45.301
zh能够完全在本地完成所有这一切
12:45.301–12:46.121
zh所以
12:46.121–12:47.981
zh如果你对这方面有任何问题
12:47.981–12:49.361
zh请在评论区告诉我
12:49.361–12:50.941
zh我认为看到NVIDIA
12:50.941–12:53.001
zh接下来在这些语音模型上
12:53.001–12:54.541
zh会做什么将会非常酷
12:54.541–12:55.881
zh就像我说的
12:55.881–12:57.081
zh从我看到的来看
12:57.081–12:58.001
zh它们不断迭代
12:58.001–12:59.141
zh以改进这些模型
12:59.141–13:00.701
zh并为不同的用力
13:00.701–13:02.821
zh提供不同类型的模型
13:02.821–13:03.461
zh总之
13:03.461–13:04.521
zh一如既往
13:04.521–13:05.981
zh如果你觉得视频有用
13:05.981–13:07.341
zh请点赞并订阅
13:07.341–13:08.521
zh我们下个视频见
13:08.521–13:09.181
zh再见
0:00.000–0:02.924
好的,现在市面上有很多优秀的语音识别模型,
0:02.924–0:04.455
我们有whisper,
0:04.455–0:05.847
有parakeet,
0:05.847–0:07.100
还有canary。
0:09.417–0:14.307
如果你只需要简单地转录文本,可能会觉得这已经是解决好的问题了。
0:14.807–0:16.632
但最大的挑战在于,
0:16.632–0:21.497
如果你想为大语言模型或正在构建的应用获取上下文,
0:21.497–0:23.727
仅靠转录文本是不够的。
0:24.207–0:28.107
你通常还需要时间出来知道某句话是何时说的。
0:28.187–0:32.944
但往往更重要的是,你需要知道到底是谁说的。
0:34.374–0:35.392
也就是说,
0:35.392–0:40.075
如果你正在为四个人互相辩论的播客制作转录文本,
0:40.075–0:42.315
你需要知道谁说了什么,
0:42.315–0:43.944
谁持哪方观点等。
0:44.084–0:47.644
如果你想做会议纪要之类的东西,道理也是一样的。
0:48.164–0:50.986
你需要知道谁同意了哪项行动,
0:50.986–0:55.218
尤其是现在我们要构建智能体来处理这些事物,
0:55.218–0:58.644
能够提取引语并准确归属于对应的人。
0:58.644–1:05.224
而不是只有一份所有人都在同一通话中逐字说出的转录文本
1:05.224–1:07.364
就像只有一个人说话是那样
1:07.364–1:10.004
那么一直都有办法做到这一点,对吧?
1:10.724–1:12.084
在我之前的一些视频中
1:12.084–1:16.584
我就展示过用Whisper配合当时的一些开源工具来做到这一点
1:16.584–1:18.724
但这一直是一场猫鼠游戏
1:18.724–1:20.124
看你能做到多准确
1:20.124–1:23.184
而且你还得面对如何处理
1:23.184–1:26.118
由不同提供商制作的多个模型等挑战
1:27.504–1:30.734
这就引出了NVIDIA刚刚发布的东西
1:30.734–1:33.694
这是一个专门针对该问题的新模型
1:33.694–1:36.554
这就是NEMU TRAN 3 说话人分离
1:36.554–1:38.234
它是一个开放权重模型
1:38.234–1:40.954
它采用的许可证允许商业使用
1:40.954–1:42.214
凭借这种许可证
1:42.214–1:44.474
你当然可以做大多数你想做的事
1:44.474–1:45.914
这里酷的一点是
1:45.914–1:47.874
它只有大约1亿参数量
1:47.874–1:51.754
所以只需要4GB显存的GPU就能运行
1:51.754–1:52.654
除此之外
1:52.654–1:54.654
当我们谈论准确率时
1:54.654–1:56.873
它可以处理多达8位说话人
1:58.296–2:02.521
过去大多数模型的上限大概是三到四位说话人,
2:02.521–2:06.746
而它不仅能在大家清晰说话时处理八位说话人。
2:07.786–2:10.766
即使人们互相打断说话,它也能做得相当不错。
2:11.406–2:16.246
此外,它的设计初衷是与你正在使用的任何语音识别模型配合使用。
2:16.686–2:18.830
所以如果你有一个特别喜欢的模型,
2:18.830–2:20.170
比如PireKit,
2:20.170–2:22.046
你就可以基本上使用这个模型。
2:22.046–2:23.946
稍后我会展示一个演示。
2:24.046–2:27.286
我们将原始播客录音转换为转录文本。
2:27.286–2:30.346
每一行都归属于对应的说话人
2:30.346–2:33.866
但首先让我介绍一下这个模型的背景
2:33.866–2:38.406
NVIDIA将其作为Nemotron语音模型系列的一部分推出
2:38.406–2:39.726
在这个频道上
2:39.726–2:42.406
我谈过Nemotron大语言模型等
2:42.406–2:44.866
但我认为很多人没有意识到
2:44.866–2:47.846
这一系列还包含很多语音模型
2:47.846–2:49.066
在识别方面
2:49.066–2:52.261
你有PowlerKit、Canary和Nemotron ASR
2:55.053–2:59.063
他们共同支持43种语言的流逝和批量转路
2:59.063–3:02.223
他们还有一个叫Magpie的TTS模型
3:02.223–3:05.423
支持多语言并具备语音定制等功能
3:05.423–3:07.663
此外,他们还有一些进行翻译
3:07.663–3:10.403
甚至全双公语音到语音处理的模型
3:10.403–3:12.503
比如Personaplex
3:12.503–3:17.003
直到最近,他们的说话人分离选项叫做Sortformer
3:17.003–3:18.903
最多支持四位说话人
3:18.903–3:22.463
有一段时间,他实际上相当受欢迎
3:22.463–3:27.763
在很多方面,你可以把这个新模型看作是对它的直接替换,而且好得多。
3:28.063–3:28.800
我们知道,
3:28.800–3:31.159
人们已在生产环境中使用这些模型,
3:31.159–3:36.023
因为旧版Sortformer模型仅在8月就获得了超过30万次下载。
3:36.363–3:38.963
虽然NVIDIA没有直接说明,
3:38.963–3:40.004
但在我看来,
3:40.004–3:42.430
他们正在系统地改进这些模型,
3:42.430–3:46.071
以构建完整的NEMOTRON语音模型套件。
3:47.720–3:48.810
这完全说得通
3:48.810–3:51.690
因为如果你看看对语音的需求
3:53.295–3:55.645
无论是单用户与智能体交互
3:56.783–4:01.933
智能体获取YouTube视频等多模态内容
4:03.745–4:06.165
以便在研究和执行任务时
4:06.165–4:07.865
提取信息作为上下文
4:07.865–4:09.765
需求都在不断增加
4:09.765–4:10.265
好的
4:10.265–4:11.565
如果你是新手
4:11.565–4:13.485
说话人分离到底是什么
4:13.485–4:14.965
最简单的说法是
4:14.965–4:17.285
语音识别告诉你说了什么
4:17.285–4:19.909
而说话人分离告诉你谁说的
4:21.623–4:26.713
当我们把它们结合起来,就得到了所谓的带说话人信息的转录文本。
4:27.193–4:30.093
我认为大家凭直觉都知道这非常重要。
4:30.573–4:34.613
如果你在转录会议,有人问了一个问题,然后有些人回答是,
4:35.153–4:41.993
有些人回答否,你大概希望你的智能体知道谁将会跟进,谁不会采取行动。
4:42.373–4:48.113
所有这些对于智能体确定,接下来应采取何种行动的上下文都至关重要。
4:48.113–4:50.493
那么,他会自动知道每个说话人的名字吗?
4:50.493–4:51.333
不
4:51.333–4:53.233
它基本上只会说说话人
4:53.233–4:57.833
一说话人二说话人三说话人七等等
4:57.833–4:59.653
随着处理过程进行
4:59.653–5:01.193
但这并不难
5:01.193–5:03.333
你可以写一些代码将其替换掉
5:03.333–5:05.473
一旦你告诉模型谁在说话
5:05.473–5:08.533
你就可以将转入文本转换为包含真实性的版本
5:08.533–5:10.413
这方面一直最大的挑战之一是
5:10.413–5:11.973
人们会互相打断
5:11.973–5:12.593
对吧
5:12.593–5:14.633
即使他们并不想故意打断
5:14.633–5:17.273
当有人在会议通话中提问时
5:17.273–5:19.798
往往会有两三个人同时回答
5:21.786–5:24.836
旧版说话人分离系统面临的挑战在于
5:24.836–5:26.756
他们会因此变得混乱
5:26.756–5:29.576
他们不擅长区分不同的声音
5:29.576–5:31.793
尤其是在声音重叠时
5:33.547–5:34.097
我想说
5:34.097–5:37.817
我认为没有任何模型能在这件事上做到完美
5:37.817–5:38.797
即使是人类
5:38.797–5:41.457
这也可能是一项艰难的任务
5:41.457–5:43.137
但这些模型的评分方式
5:43.137–5:46.037
是使用所谓的说话人分离错误率
5:46.037–5:47.417
即D.E.R
5:47.417–5:49.997
它基本上是将三种错误相加
5:49.997–5:51.997
模型遗漏的语音
5:51.997–5:54.457
模型误判为非语音的内容
5:54.457–5:58.177
以及将语音错误归属于他人的次数
5:58.177–6:00.757
显然这里的分数越低越好
6:00.757–6:05.846
你可以看到NVIDIA的最新模型不仅击败了竞争对手,
6:05.846–6:08.977
还大幅超越了他们自己的前代模型。
6:09.757–6:13.837
这里需要理解的另一个概念是流逝与离线的区别。
6:14.317–6:19.577
在离线模式下,模型可以查看整个录音,包括后面的内容。
6:19.837–6:23.837
而在流逝模式下,它必须在音频到达时做出决定。
6:24.057–6:28.997
所以,对于已经录制好的播客等,你总是希望使用离线模式。
6:28.997–6:32.357
对于任何实时字幕或语音智能体
6:32.357–6:34.257
你必须使用流式模式
6:34.257–6:34.817
好的
6:34.817–6:38.277
那么Nemotron 3说话人分离到底有什么新特点
6:38.277–6:40.217
它大约有1亿参数量
6:40.217–6:41.897
不包括ASR部分
6:41.897–6:44.677
运行它的最低GPU要求约为4GB
6:44.677–6:48.357
所以它实际上可以在许多小型GPU上运行
6:48.357–6:51.637
而且应该在笔记本电脑的RTX显卡上
6:51.637–6:52.997
也能跑得相当好
6:52.997–6:56.097
我之前提到过它支持多达8位说话人
6:56.097–6:58.297
另一点是它是语言无关的
6:58.297–7:00.757
并且在流逝和离线模式下都能工作
7:00.757–7:04.417
所以我认为最好的办法是直接进入演示
7:04.417–7:06.817
看看它实际上是如何运作的
7:06.817–7:07.657
好的
7:07.657–7:09.017
进入演示
7:09.017–7:11.057
让我先展示一下设置方式
7:11.057–7:14.577
首先感谢NVIDIA赞助这里的计算资源
7:14.577–7:19.577
我使用DGX Spark来实际运行这里的三个语音模型
7:19.577–7:22.497
让我带大家过一遍设置架构图
7:23.690–7:28.780
你在这里看到的是Next.js应用,它在我的Mac上本地运行。
7:29.680–7:33.365
然后通过Talescale调用后端到DGX。
7:33.365–7:33.975
X Spark.
7:35.929–7:36.802
你可以看到,
7:36.802–7:41.019
我在上面有一个包含NVIDIA NEMO的Docker容器。
7:41.659–7:46.119
VDI NEMO既提供我们正在讨论的说话人分离模型,
7:46.299–7:52.919
也提供ParaKit ASR模型和NEMOTRON 3.5多语言 ASR模型。
7:53.599–7:57.359
为了使用这些,我设置了一个Fast API应用。
7:57.519–7:59.919
这是一种实现此类功能的简单方法。
7:59.919–8:01.899
如果我要大规模部署
8:01.899–8:05.659
我可能会选择Dynamo或Triton来提供服务
8:05.659–8:07.439
但对于我想要的功能
8:07.439–8:09.959
目前的设置运行得非常完美
8:09.959–8:11.759
如果我们进入这个应用
8:11.759–8:15.099
你可以看到我基本上可以直接使用它们的演示
8:15.099–8:18.619
我可以选择想要使用哪个AS2模型
8:18.619–8:20.279
我打算用ParaKit
8:20.279–8:23.839
因为它在处理多说话人方面通常表现更好
8:23.839–8:25.019
我可以开始转录
8:25.019–8:28.439
你可以看到字面上只需要三四秒钟
8:28.439–8:32.579
他就处理并转录了这里一分三十多分钟的音频
8:36.257–8:39.447
由于我之前在摆弄这个并设置了一些名字
8:39.447–8:41.939
他实际上记住了这里这个人的名字
8:43.694–8:44.784
让我们听一下
8:44.784–8:48.544
看看当多个说话人同时说话时会发生什么
8:49.775–8:52.525
为了庆祝Nemotron三说话人分离的发布
8:52.525–8:55.885
我们邀请了另外七位开放文本转语音声音加入派对
8:55.885–8:58.465
我是Chris,NVDI的Nemotron声音
8:58.465–9:00.205
大家好,谢谢邀请
9:00.205–9:03.325
我是Jane,来自QTI的Pocket声音
9:03.325–9:05.905
很高兴见到你们,Chris和Jane
9:05.905–9:08.025
我是Serena,Queen三的声音
9:08.025–9:09.625
我是来自Cocoro的Adam
9:09.625–9:11.385
只有8200万参数量
9:11.385–9:12.805
我还是入选了嘉宾名单
9:12.805–9:13.685
你好,你好
9:13.685–9:15.825
我是来自Resemble AI的Chatterbox
9:15.825–9:17.825
我带来了富有表现力的能量
9:17.825–9:19.405
嗨,我是来自Nari Labs
9:19.405–9:20.445
的John Dyer声音
9:20.445–9:21.485
我们这里已经聚集了
9:21.485–9:22.185
很棒的人群
9:22.185–9:22.805
大家好
9:22.805–9:23.605
最近怎么样
9:23.605–9:25.505
我是来自Maya Research的
9:25.505–9:26.185
Maya E声音
9:26.185–9:26.965
好了
9:26.965–9:28.325
现在我们有八位合成
9:28.325–9:28.965
开放声音
9:28.965–9:29.865
做满了场子
9:29.865–9:30.785
让我们来测试一下
9:30.785–9:32.045
Nemotron三说话人分离
9:32.045–9:32.545
好的
9:32.545–9:33.865
新的说话人分离模型
9:33.865–9:34.885
可以在转路时
9:34.885–9:35.925
标记我们的每个声音
9:35.925–9:37.425
但它能在我们所有人
9:37.425–9:38.065
一起说话时
9:38.065–9:38.765
做到这一点吗
9:38.765–9:39.525
让我们来看看
9:39.525–9:40.925
即使我们互相打断
9:40.925–9:41.905
它也能叫出
9:41.905–9:42.805
我们俩的名字
9:42.805–9:43.785
竹针标记
9:43.785–9:45.525
谁在何时说话
9:45.525–9:46.485
好的
9:46.485–9:48.725
正如你在这里看到的
9:48.725–9:51.925
它在转录每一个声音方面做得很好
9:51.925–9:53.365
如果我们往下看看
9:53.365–9:55.545
可以看到每个声音都被转录了
9:55.545–9:58.325
我想我的UI在这方面稍微有点滞后
9:58.325–10:01.645
但你完全可以感受到它是如何组装起来的
10:01.645–10:04.765
实际上如果我们放大一点来自QTI的声音
10:04.765–10:05.925
很高兴见到你们
10:05.925–10:07.185
Chris和Jen
10:07.185–10:07.965
我是Serena
10:07.965–10:09.325
Queen3的声音
10:09.325–10:10.765
你可以很快看到
10:10.765–10:15.525
我们基本上可以组装出一个能转录这些声音的东西
10:15.525–10:17.765
如果我们想在这里输入它们的名字
10:17.765–10:20.805
它会便利并为我们重命名所有人
10:20.805–10:25.485
现在,如果我们想看看实际模型返回的是什么
10:25.485–10:28.945
你可以看到这里是模型返回的原始JSON
10:28.945–10:32.645
我们可以看到这里实际使用的是什么
10:32.645–10:35.465
我们可以看到不同的说话人被标记等
10:35.465–10:41.845
然后这个软件基本上将Speaker三重写为ADAM等便利这个过程
10:41.845–10:44.945
做这样的事情很酷的一点是
10:44.945–10:47.045
我们可以很快获得统计数据
10:47.045–10:50.056
比如每个人在那里说了多久
10:51.176–10:52.346
说了多少次
10:52.346–10:53.706
有多少次发言
10:53.706–10:57.146
如果我们想在这里放入更长的内容
10:57.146–10:58.326
这会非常有用
10:58.326–10:58.826
好的
10:58.826–11:01.866
这里酷的是我们可以处理长文件
11:01.866–11:03.926
所以我基本上放入了
11:03.926–11:06.206
All In 播客的一集完整节目
11:06.206–11:07.466
他们采访了黄仁勋
11:07.466–11:09.786
你可以看到他基本上已经处理完了
11:11.010–11:12.100
我们得到了输出
11:12.100–11:14.440
我命名了这里的实际说话人
11:14.440–11:15.780
所以我们可以看到
11:15.780–11:17.560
说话人依次出现
11:17.560–11:19.100
现在我们有了每个人
11:19.100–11:21.080
说了什么的完整转录文本
11:21.080–11:23.920
这里酷的是我们可以查看统计数据
11:23.920–11:26.300
我们可以看到他们各自的说话时长
11:27.651–11:29.006
我们可以看到,
11:29.006–11:29.587
果然,
11:29.587–11:30.167
显然,
11:30.167–11:32.103
黄仁勋是这里的嘉宾,
11:32.103–11:34.039
所以他是说话最多的,
11:34.039–11:36.748
而这一切都在148秒内完成,
11:36.748–11:39.845
所以对于这个超过一小时的长文件,
11:39.845–11:41.781
这大约花了两分半钟。
11:41.781–11:44.401
这让我们基本上可以便利
11:44.401–11:45.621
你可以看到
11:45.621–11:46.761
现在我们基本上
11:46.761–11:48.601
可以直接阅读转录文本
11:48.601–11:51.041
我可以将其导出为文本文件
11:51.041–11:52.921
或者在这里导出为srt
11:52.921–11:54.141
这里酷的是
11:54.141–11:56.601
如果我确实想做多语言
11:56.601–11:58.061
或其他类似的事情
11:58.061–11:59.681
我可以切换模型
11:59.681–12:01.021
使用这个模型
12:01.021–12:03.341
而不是这里的paraket模型
12:03.341–12:04.341
你可以看到
12:04.341–12:05.521
用这个模型
12:05.521–12:07.781
我们支持很多不同的语言
12:07.781–12:09.181
如果你记得我做过
12:09.181–12:10.101
关于这个的视频
12:10.101–12:12.441
你实际上可以微调这个模型
12:12.441–12:15.541
使其在其他语言上表现非常好
12:15.541–12:17.741
他们在这里称之为适配就绪
12:17.741–12:20.701
现在我还没有真正设置这个应用去做
12:20.701–12:22.561
但模型能做的另一件事
12:22.561–12:24.601
是你也可以进行流逝响应
12:24.601–12:25.101
当然
12:25.101–12:27.541
那样你的准确率可能会下降一点
12:27.541–12:28.881
但你在那里
12:28.881–12:31.281
仍然应该能获得相当好的结果
12:31.281–12:32.241
所以
12:32.241–12:34.741
如果你有兴趣做任何语音转录
12:34.741–12:37.521
并且希望其中包含说话人分离等
12:37.521–12:39.681
这是一个很好的设置方法
12:39.681–12:42.141
你可以批量完成所有转路等
12:42.141–12:43.041
最重要的是
12:43.041–12:45.301
能够完全在本地完成所有这一切
12:45.301–12:46.121
所以
12:46.121–12:47.981
如果你对这方面有任何问题
12:47.981–12:49.361
请在评论区告诉我
12:49.361–12:50.941
我认为看到NVIDIA
12:50.941–12:53.001
接下来在这些语音模型上
12:53.001–12:54.541
会做什么将会非常酷
12:54.541–12:55.881
就像我说的
12:55.881–12:57.081
从我看到的来看
12:57.081–12:58.001
它们不断迭代
12:58.001–12:59.141
以改进这些模型
12:59.141–13:00.701
并为不同的用力
13:00.701–13:02.821
提供不同类型的模型
13:02.821–13:03.461
总之
13:03.461–13:04.521
一如既往
13:04.521–13:05.981
如果你觉得视频有用
13:05.981–13:07.341
请点赞并订阅
13:07.341–13:08.521
我们下个视频见
13:08.521–13:09.181
再见
0:00.000–0:02.924
zh好的,现在市面上有很多优秀的语音识别模型,
好的,现在市面上有很多优秀的语音识别模型,
0:02.924–0:04.455
zh我们有whisper,
我们有whisper,
0:04.455–0:05.847
zh有parakeet,
有parakeet,
0:05.847–0:07.100
zh还有canary。
还有canary。
0:09.417–0:14.307
zh如果你只需要简单地转录文本,可能会觉得这已经是解决好的问题了。
如果你只需要简单地转录文本,可能会觉得这已经是解决好的问题了。
0:14.807–0:16.632
zh但最大的挑战在于,
但最大的挑战在于,
0:16.632–0:21.497
zh如果你想为大语言模型或正在构建的应用获取上下文,
如果你想为大语言模型或正在构建的应用获取上下文,
0:21.497–0:23.727
zh仅靠转录文本是不够的。
仅靠转录文本是不够的。
0:24.207–0:28.107
zh你通常还需要时间出来知道某句话是何时说的。
你通常还需要时间出来知道某句话是何时说的。
0:28.187–0:32.944
zh但往往更重要的是,你需要知道到底是谁说的。
但往往更重要的是,你需要知道到底是谁说的。
0:34.374–0:35.392
zh也就是说,
也就是说,
0:35.392–0:40.075
zh如果你正在为四个人互相辩论的播客制作转录文本,
如果你正在为四个人互相辩论的播客制作转录文本,
0:40.075–0:42.315
zh你需要知道谁说了什么,
你需要知道谁说了什么,
0:42.315–0:43.944
zh谁持哪方观点等。
谁持哪方观点等。
0:44.084–0:47.644
zh如果你想做会议纪要之类的东西,道理也是一样的。
如果你想做会议纪要之类的东西,道理也是一样的。
0:48.164–0:50.986
zh你需要知道谁同意了哪项行动,
你需要知道谁同意了哪项行动,
0:50.986–0:55.218
zh尤其是现在我们要构建智能体来处理这些事物,
尤其是现在我们要构建智能体来处理这些事物,
0:55.218–0:58.644
zh能够提取引语并准确归属于对应的人。
能够提取引语并准确归属于对应的人。
0:58.644–1:05.224
zh而不是只有一份所有人都在同一通话中逐字说出的转录文本
而不是只有一份所有人都在同一通话中逐字说出的转录文本
1:05.224–1:07.364
zh就像只有一个人说话是那样
就像只有一个人说话是那样
1:07.364–1:10.004
zh那么一直都有办法做到这一点,对吧?
那么一直都有办法做到这一点,对吧?
1:10.724–1:12.084
zh在我之前的一些视频中
在我之前的一些视频中
1:12.084–1:16.584
zh我就展示过用Whisper配合当时的一些开源工具来做到这一点
我就展示过用Whisper配合当时的一些开源工具来做到这一点
1:16.584–1:18.724
zh但这一直是一场猫鼠游戏
但这一直是一场猫鼠游戏
1:18.724–1:20.124
zh看你能做到多准确
看你能做到多准确
1:20.124–1:23.184
zh而且你还得面对如何处理
而且你还得面对如何处理
1:23.184–1:26.118
zh由不同提供商制作的多个模型等挑战
由不同提供商制作的多个模型等挑战
1:27.504–1:30.734
zh这就引出了NVIDIA刚刚发布的东西
这就引出了NVIDIA刚刚发布的东西
1:30.734–1:33.694
zh这是一个专门针对该问题的新模型
这是一个专门针对该问题的新模型
1:33.694–1:36.554
zh这就是NEMU TRAN 3 说话人分离
这就是NEMU TRAN 3 说话人分离
1:36.554–1:38.234
zh它是一个开放权重模型
它是一个开放权重模型
1:38.234–1:40.954
zh它采用的许可证允许商业使用
它采用的许可证允许商业使用
1:40.954–1:42.214
zh凭借这种许可证
凭借这种许可证
1:42.214–1:44.474
zh你当然可以做大多数你想做的事
你当然可以做大多数你想做的事
1:44.474–1:45.914
zh这里酷的一点是
这里酷的一点是
1:45.914–1:47.874
zh它只有大约1亿参数量
它只有大约1亿参数量
1:47.874–1:51.754
zh所以只需要4GB显存的GPU就能运行
所以只需要4GB显存的GPU就能运行
1:51.754–1:52.654
zh除此之外
除此之外
1:52.654–1:54.654
zh当我们谈论准确率时
当我们谈论准确率时
1:54.654–1:56.873
zh它可以处理多达8位说话人
它可以处理多达8位说话人
1:58.296–2:02.521
zh过去大多数模型的上限大概是三到四位说话人,
过去大多数模型的上限大概是三到四位说话人,
2:02.521–2:06.746
zh而它不仅能在大家清晰说话时处理八位说话人。
而它不仅能在大家清晰说话时处理八位说话人。
2:07.786–2:10.766
zh即使人们互相打断说话,它也能做得相当不错。
即使人们互相打断说话,它也能做得相当不错。
2:11.406–2:16.246
zh此外,它的设计初衷是与你正在使用的任何语音识别模型配合使用。
此外,它的设计初衷是与你正在使用的任何语音识别模型配合使用。
2:16.686–2:18.830
zh所以如果你有一个特别喜欢的模型,
所以如果你有一个特别喜欢的模型,
2:18.830–2:20.170
zh比如PireKit,
比如PireKit,
2:20.170–2:22.046
zh你就可以基本上使用这个模型。
你就可以基本上使用这个模型。
2:22.046–2:23.946
zh稍后我会展示一个演示。
稍后我会展示一个演示。
2:24.046–2:27.286
zh我们将原始播客录音转换为转录文本。
我们将原始播客录音转换为转录文本。
2:27.286–2:30.346
zh每一行都归属于对应的说话人
每一行都归属于对应的说话人
2:30.346–2:33.866
zh但首先让我介绍一下这个模型的背景
但首先让我介绍一下这个模型的背景
2:33.866–2:38.406
zhNVIDIA将其作为Nemotron语音模型系列的一部分推出
NVIDIA将其作为Nemotron语音模型系列的一部分推出
2:38.406–2:39.726
zh在这个频道上
在这个频道上
2:39.726–2:42.406
zh我谈过Nemotron大语言模型等
我谈过Nemotron大语言模型等
2:42.406–2:44.866
zh但我认为很多人没有意识到
但我认为很多人没有意识到
2:44.866–2:47.846
zh这一系列还包含很多语音模型
这一系列还包含很多语音模型
2:47.846–2:49.066
zh在识别方面
在识别方面
2:49.066–2:52.261
zh你有PowlerKit、Canary和Nemotron ASR
你有PowlerKit、Canary和Nemotron ASR
2:55.053–2:59.063
zh他们共同支持43种语言的流逝和批量转路
他们共同支持43种语言的流逝和批量转路
2:59.063–3:02.223
zh他们还有一个叫Magpie的TTS模型
他们还有一个叫Magpie的TTS模型
3:02.223–3:05.423
zh支持多语言并具备语音定制等功能
支持多语言并具备语音定制等功能
3:05.423–3:07.663
zh此外,他们还有一些进行翻译
此外,他们还有一些进行翻译
3:07.663–3:10.403
zh甚至全双公语音到语音处理的模型
甚至全双公语音到语音处理的模型
3:10.403–3:12.503
zh比如Personaplex
比如Personaplex
3:12.503–3:17.003
zh直到最近,他们的说话人分离选项叫做Sortformer
直到最近,他们的说话人分离选项叫做Sortformer
3:17.003–3:18.903
zh最多支持四位说话人
最多支持四位说话人
3:18.903–3:22.463
zh有一段时间,他实际上相当受欢迎
有一段时间,他实际上相当受欢迎
3:22.463–3:27.763
zh在很多方面,你可以把这个新模型看作是对它的直接替换,而且好得多。
在很多方面,你可以把这个新模型看作是对它的直接替换,而且好得多。
3:28.063–3:28.800
zh我们知道,
我们知道,
3:28.800–3:31.159
zh人们已在生产环境中使用这些模型,
人们已在生产环境中使用这些模型,
3:31.159–3:36.023
zh因为旧版Sortformer模型仅在8月就获得了超过30万次下载。
因为旧版Sortformer模型仅在8月就获得了超过30万次下载。
3:36.363–3:38.963
zh虽然NVIDIA没有直接说明,
虽然NVIDIA没有直接说明,
3:38.963–3:40.004
zh但在我看来,
但在我看来,
3:40.004–3:42.430
zh他们正在系统地改进这些模型,
他们正在系统地改进这些模型,
3:42.430–3:46.071
zh以构建完整的NEMOTRON语音模型套件。
以构建完整的NEMOTRON语音模型套件。
3:47.720–3:48.810
zh这完全说得通
这完全说得通
3:48.810–3:51.690
zh因为如果你看看对语音的需求
因为如果你看看对语音的需求
3:53.295–3:55.645
zh无论是单用户与智能体交互
无论是单用户与智能体交互
3:56.783–4:01.933
zh智能体获取YouTube视频等多模态内容
智能体获取YouTube视频等多模态内容
4:03.745–4:06.165
zh以便在研究和执行任务时
以便在研究和执行任务时
4:06.165–4:07.865
zh提取信息作为上下文
提取信息作为上下文
4:07.865–4:09.765
zh需求都在不断增加
需求都在不断增加
4:09.765–4:10.265
zh好的
好的
4:10.265–4:11.565
zh如果你是新手
如果你是新手
4:11.565–4:13.485
zh说话人分离到底是什么
说话人分离到底是什么
4:13.485–4:14.965
zh最简单的说法是
最简单的说法是
4:14.965–4:17.285
zh语音识别告诉你说了什么
语音识别告诉你说了什么
4:17.285–4:19.909
zh而说话人分离告诉你谁说的
而说话人分离告诉你谁说的
4:21.623–4:26.713
zh当我们把它们结合起来,就得到了所谓的带说话人信息的转录文本。
当我们把它们结合起来,就得到了所谓的带说话人信息的转录文本。
4:27.193–4:30.093
zh我认为大家凭直觉都知道这非常重要。
我认为大家凭直觉都知道这非常重要。
4:30.573–4:34.613
zh如果你在转录会议,有人问了一个问题,然后有些人回答是,
如果你在转录会议,有人问了一个问题,然后有些人回答是,
4:35.153–4:41.993
zh有些人回答否,你大概希望你的智能体知道谁将会跟进,谁不会采取行动。
有些人回答否,你大概希望你的智能体知道谁将会跟进,谁不会采取行动。
4:42.373–4:48.113
zh所有这些对于智能体确定,接下来应采取何种行动的上下文都至关重要。
所有这些对于智能体确定,接下来应采取何种行动的上下文都至关重要。
4:48.113–4:50.493
zh那么,他会自动知道每个说话人的名字吗?
那么,他会自动知道每个说话人的名字吗?
4:50.493–4:51.333
zh不
不
4:51.333–4:53.233
zh它基本上只会说说话人
它基本上只会说说话人
4:53.233–4:57.833
zh一说话人二说话人三说话人七等等
一说话人二说话人三说话人七等等
4:57.833–4:59.653
zh随着处理过程进行
随着处理过程进行
4:59.653–5:01.193
zh但这并不难
但这并不难
5:01.193–5:03.333
zh你可以写一些代码将其替换掉
你可以写一些代码将其替换掉
5:03.333–5:05.473
zh一旦你告诉模型谁在说话
一旦你告诉模型谁在说话
5:05.473–5:08.533
zh你就可以将转入文本转换为包含真实性的版本
你就可以将转入文本转换为包含真实性的版本
5:08.533–5:10.413
zh这方面一直最大的挑战之一是
这方面一直最大的挑战之一是
5:10.413–5:11.973
zh人们会互相打断
人们会互相打断
5:11.973–5:12.593
zh对吧
对吧
5:12.593–5:14.633
zh即使他们并不想故意打断
即使他们并不想故意打断
5:14.633–5:17.273
zh当有人在会议通话中提问时
当有人在会议通话中提问时
5:17.273–5:19.798
zh往往会有两三个人同时回答
往往会有两三个人同时回答
5:21.786–5:24.836
zh旧版说话人分离系统面临的挑战在于
旧版说话人分离系统面临的挑战在于
5:24.836–5:26.756
zh他们会因此变得混乱
他们会因此变得混乱
5:26.756–5:29.576
zh他们不擅长区分不同的声音
他们不擅长区分不同的声音
5:29.576–5:31.793
zh尤其是在声音重叠时
尤其是在声音重叠时
5:33.547–5:34.097
zh我想说
我想说
5:34.097–5:37.817
zh我认为没有任何模型能在这件事上做到完美
我认为没有任何模型能在这件事上做到完美
5:37.817–5:38.797
zh即使是人类
即使是人类
5:38.797–5:41.457
zh这也可能是一项艰难的任务
这也可能是一项艰难的任务
5:41.457–5:43.137
zh但这些模型的评分方式
但这些模型的评分方式
5:43.137–5:46.037
zh是使用所谓的说话人分离错误率
是使用所谓的说话人分离错误率
5:46.037–5:47.417
zh即D.E.R
即D.E.R
5:47.417–5:49.997
zh它基本上是将三种错误相加
它基本上是将三种错误相加
5:49.997–5:51.997
zh模型遗漏的语音
模型遗漏的语音
5:51.997–5:54.457
zh模型误判为非语音的内容
模型误判为非语音的内容
5:54.457–5:58.177
zh以及将语音错误归属于他人的次数
以及将语音错误归属于他人的次数
5:58.177–6:00.757
zh显然这里的分数越低越好
显然这里的分数越低越好
6:00.757–6:05.846
zh你可以看到NVIDIA的最新模型不仅击败了竞争对手,
你可以看到NVIDIA的最新模型不仅击败了竞争对手,
6:05.846–6:08.977
zh还大幅超越了他们自己的前代模型。
还大幅超越了他们自己的前代模型。
6:09.757–6:13.837
zh这里需要理解的另一个概念是流逝与离线的区别。
这里需要理解的另一个概念是流逝与离线的区别。
6:14.317–6:19.577
zh在离线模式下,模型可以查看整个录音,包括后面的内容。
在离线模式下,模型可以查看整个录音,包括后面的内容。
6:19.837–6:23.837
zh而在流逝模式下,它必须在音频到达时做出决定。
而在流逝模式下,它必须在音频到达时做出决定。
6:24.057–6:28.997
zh所以,对于已经录制好的播客等,你总是希望使用离线模式。
所以,对于已经录制好的播客等,你总是希望使用离线模式。
6:28.997–6:32.357
zh对于任何实时字幕或语音智能体
对于任何实时字幕或语音智能体
6:32.357–6:34.257
zh你必须使用流式模式
你必须使用流式模式
6:34.257–6:34.817
zh好的
好的
6:34.817–6:38.277
zh那么Nemotron 3说话人分离到底有什么新特点
那么Nemotron 3说话人分离到底有什么新特点
6:38.277–6:40.217
zh它大约有1亿参数量
它大约有1亿参数量
6:40.217–6:41.897
zh不包括ASR部分
不包括ASR部分
6:41.897–6:44.677
zh运行它的最低GPU要求约为4GB
运行它的最低GPU要求约为4GB
6:44.677–6:48.357
zh所以它实际上可以在许多小型GPU上运行
所以它实际上可以在许多小型GPU上运行
6:48.357–6:51.637
zh而且应该在笔记本电脑的RTX显卡上
而且应该在笔记本电脑的RTX显卡上
6:51.637–6:52.997
zh也能跑得相当好
也能跑得相当好
6:52.997–6:56.097
zh我之前提到过它支持多达8位说话人
我之前提到过它支持多达8位说话人
6:56.097–6:58.297
zh另一点是它是语言无关的
另一点是它是语言无关的
6:58.297–7:00.757
zh并且在流逝和离线模式下都能工作
并且在流逝和离线模式下都能工作
7:00.757–7:04.417
zh所以我认为最好的办法是直接进入演示
所以我认为最好的办法是直接进入演示
7:04.417–7:06.817
zh看看它实际上是如何运作的
看看它实际上是如何运作的
7:06.817–7:07.657
zh好的
好的
7:07.657–7:09.017
zh进入演示
进入演示
7:09.017–7:11.057
zh让我先展示一下设置方式
让我先展示一下设置方式
7:11.057–7:14.577
zh首先感谢NVIDIA赞助这里的计算资源
首先感谢NVIDIA赞助这里的计算资源
7:14.577–7:19.577
zh我使用DGX Spark来实际运行这里的三个语音模型
我使用DGX Spark来实际运行这里的三个语音模型
7:19.577–7:22.497
zh让我带大家过一遍设置架构图
让我带大家过一遍设置架构图
7:23.690–7:28.780
zh你在这里看到的是Next.js应用,它在我的Mac上本地运行。
你在这里看到的是Next.js应用,它在我的Mac上本地运行。
7:29.680–7:33.365
zh然后通过Talescale调用后端到DGX。
然后通过Talescale调用后端到DGX。
7:33.365–7:33.975
enX Spark.
X Spark.
7:35.929–7:36.802
zh你可以看到,
你可以看到,
7:36.802–7:41.019
zh我在上面有一个包含NVIDIA NEMO的Docker容器。
我在上面有一个包含NVIDIA NEMO的Docker容器。
7:41.659–7:46.119
zhVDI NEMO既提供我们正在讨论的说话人分离模型,
VDI NEMO既提供我们正在讨论的说话人分离模型,
7:46.299–7:52.919
zh也提供ParaKit ASR模型和NEMOTRON 3.5多语言 ASR模型。
也提供ParaKit ASR模型和NEMOTRON 3.5多语言 ASR模型。
7:53.599–7:57.359
zh为了使用这些,我设置了一个Fast API应用。
为了使用这些,我设置了一个Fast API应用。
7:57.519–7:59.919
zh这是一种实现此类功能的简单方法。
这是一种实现此类功能的简单方法。
7:59.919–8:01.899
zh如果我要大规模部署
如果我要大规模部署
8:01.899–8:05.659
zh我可能会选择Dynamo或Triton来提供服务
我可能会选择Dynamo或Triton来提供服务
8:05.659–8:07.439
zh但对于我想要的功能
但对于我想要的功能
8:07.439–8:09.959
zh目前的设置运行得非常完美
目前的设置运行得非常完美
8:09.959–8:11.759
zh如果我们进入这个应用
如果我们进入这个应用
8:11.759–8:15.099
zh你可以看到我基本上可以直接使用它们的演示
你可以看到我基本上可以直接使用它们的演示
8:15.099–8:18.619
zh我可以选择想要使用哪个AS2模型
我可以选择想要使用哪个AS2模型
8:18.619–8:20.279
zh我打算用ParaKit
我打算用ParaKit
8:20.279–8:23.839
zh因为它在处理多说话人方面通常表现更好
因为它在处理多说话人方面通常表现更好
8:23.839–8:25.019
zh我可以开始转录
我可以开始转录
8:25.019–8:28.439
zh你可以看到字面上只需要三四秒钟
你可以看到字面上只需要三四秒钟
8:28.439–8:32.579
zh他就处理并转录了这里一分三十多分钟的音频
他就处理并转录了这里一分三十多分钟的音频
8:36.257–8:39.447
zh由于我之前在摆弄这个并设置了一些名字
由于我之前在摆弄这个并设置了一些名字
8:39.447–8:41.939
zh他实际上记住了这里这个人的名字
他实际上记住了这里这个人的名字
8:43.694–8:44.784
zh让我们听一下
让我们听一下
8:44.784–8:48.544
zh看看当多个说话人同时说话时会发生什么
看看当多个说话人同时说话时会发生什么
8:49.775–8:52.525
zh为了庆祝Nemotron三说话人分离的发布
为了庆祝Nemotron三说话人分离的发布
8:52.525–8:55.885
zh我们邀请了另外七位开放文本转语音声音加入派对
我们邀请了另外七位开放文本转语音声音加入派对
8:55.885–8:58.465
zh我是Chris,NVDI的Nemotron声音
我是Chris,NVDI的Nemotron声音
8:58.465–9:00.205
zh大家好,谢谢邀请
大家好,谢谢邀请
9:00.205–9:03.325
zh我是Jane,来自QTI的Pocket声音
我是Jane,来自QTI的Pocket声音
9:03.325–9:05.905
zh很高兴见到你们,Chris和Jane
很高兴见到你们,Chris和Jane
9:05.905–9:08.025
zh我是Serena,Queen三的声音
我是Serena,Queen三的声音
9:08.025–9:09.625
zh我是来自Cocoro的Adam
我是来自Cocoro的Adam
9:09.625–9:11.385
zh只有8200万参数量
只有8200万参数量
9:11.385–9:12.805
zh我还是入选了嘉宾名单
我还是入选了嘉宾名单
9:12.805–9:13.685
zh你好,你好
你好,你好
9:13.685–9:15.825
zh我是来自Resemble AI的Chatterbox
我是来自Resemble AI的Chatterbox
9:15.825–9:17.825
zh我带来了富有表现力的能量
我带来了富有表现力的能量
9:17.825–9:19.405
zh嗨,我是来自Nari Labs
嗨,我是来自Nari Labs
9:19.405–9:20.445
zh的John Dyer声音
的John Dyer声音
9:20.445–9:21.485
zh我们这里已经聚集了
我们这里已经聚集了
9:21.485–9:22.185
zh很棒的人群
很棒的人群
9:22.185–9:22.805
zh大家好
大家好
9:22.805–9:23.605
zh最近怎么样
最近怎么样
9:23.605–9:25.505
zh我是来自Maya Research的
我是来自Maya Research的
9:25.505–9:26.185
zhMaya E声音
Maya E声音
9:26.185–9:26.965
zh好了
好了
9:26.965–9:28.325
zh现在我们有八位合成
现在我们有八位合成
9:28.325–9:28.965
zh开放声音
开放声音
9:28.965–9:29.865
zh做满了场子
做满了场子
9:29.865–9:30.785
zh让我们来测试一下
让我们来测试一下
9:30.785–9:32.045
zhNemotron三说话人分离
Nemotron三说话人分离
9:32.045–9:32.545
zh好的
好的
9:32.545–9:33.865
zh新的说话人分离模型
新的说话人分离模型
9:33.865–9:34.885
zh可以在转路时
可以在转路时
9:34.885–9:35.925
zh标记我们的每个声音
标记我们的每个声音
9:35.925–9:37.425
zh但它能在我们所有人
但它能在我们所有人
9:37.425–9:38.065
zh一起说话时
一起说话时
9:38.065–9:38.765
zh做到这一点吗
做到这一点吗
9:38.765–9:39.525
zh让我们来看看
让我们来看看
9:39.525–9:40.925
zh即使我们互相打断
即使我们互相打断
9:40.925–9:41.905
zh它也能叫出
它也能叫出
9:41.905–9:42.805
zh我们俩的名字
我们俩的名字
9:42.805–9:43.785
zh竹针标记
竹针标记
9:43.785–9:45.525
zh谁在何时说话
谁在何时说话
9:45.525–9:46.485
zh好的
好的
9:46.485–9:48.725
zh正如你在这里看到的
正如你在这里看到的
9:48.725–9:51.925
zh它在转录每一个声音方面做得很好
它在转录每一个声音方面做得很好
9:51.925–9:53.365
zh如果我们往下看看
如果我们往下看看
9:53.365–9:55.545
zh可以看到每个声音都被转录了
可以看到每个声音都被转录了
9:55.545–9:58.325
zh我想我的UI在这方面稍微有点滞后
我想我的UI在这方面稍微有点滞后
9:58.325–10:01.645
zh但你完全可以感受到它是如何组装起来的
但你完全可以感受到它是如何组装起来的
10:01.645–10:04.765
zh实际上如果我们放大一点来自QTI的声音
实际上如果我们放大一点来自QTI的声音
10:04.765–10:05.925
zh很高兴见到你们
很高兴见到你们
10:05.925–10:07.185
zhChris和Jen
Chris和Jen
10:07.185–10:07.965
zh我是Serena
我是Serena
10:07.965–10:09.325
zhQueen3的声音
Queen3的声音
10:09.325–10:10.765
zh你可以很快看到
你可以很快看到
10:10.765–10:15.525
zh我们基本上可以组装出一个能转录这些声音的东西
我们基本上可以组装出一个能转录这些声音的东西
10:15.525–10:17.765
zh如果我们想在这里输入它们的名字
如果我们想在这里输入它们的名字
10:17.765–10:20.805
zh它会便利并为我们重命名所有人
它会便利并为我们重命名所有人
10:20.805–10:25.485
zh现在,如果我们想看看实际模型返回的是什么
现在,如果我们想看看实际模型返回的是什么
10:25.485–10:28.945
zh你可以看到这里是模型返回的原始JSON
你可以看到这里是模型返回的原始JSON
10:28.945–10:32.645
zh我们可以看到这里实际使用的是什么
我们可以看到这里实际使用的是什么
10:32.645–10:35.465
zh我们可以看到不同的说话人被标记等
我们可以看到不同的说话人被标记等
10:35.465–10:41.845
zh然后这个软件基本上将Speaker三重写为ADAM等便利这个过程
然后这个软件基本上将Speaker三重写为ADAM等便利这个过程
10:41.845–10:44.945
zh做这样的事情很酷的一点是
做这样的事情很酷的一点是
10:44.945–10:47.045
zh我们可以很快获得统计数据
我们可以很快获得统计数据
10:47.045–10:50.056
zh比如每个人在那里说了多久
比如每个人在那里说了多久
10:51.176–10:52.346
zh说了多少次
说了多少次
10:52.346–10:53.706
zh有多少次发言
有多少次发言
10:53.706–10:57.146
zh如果我们想在这里放入更长的内容
如果我们想在这里放入更长的内容
10:57.146–10:58.326
zh这会非常有用
这会非常有用
10:58.326–10:58.826
zh好的
好的
10:58.826–11:01.866
zh这里酷的是我们可以处理长文件
这里酷的是我们可以处理长文件
11:01.866–11:03.926
zh所以我基本上放入了
所以我基本上放入了
11:03.926–11:06.206
zhAll In 播客的一集完整节目
All In 播客的一集完整节目
11:06.206–11:07.466
zh他们采访了黄仁勋
他们采访了黄仁勋
11:07.466–11:09.786
zh你可以看到他基本上已经处理完了
你可以看到他基本上已经处理完了
11:11.010–11:12.100
zh我们得到了输出
我们得到了输出
11:12.100–11:14.440
zh我命名了这里的实际说话人
我命名了这里的实际说话人
11:14.440–11:15.780
zh所以我们可以看到
所以我们可以看到
11:15.780–11:17.560
zh说话人依次出现
说话人依次出现
11:17.560–11:19.100
zh现在我们有了每个人
现在我们有了每个人
11:19.100–11:21.080
zh说了什么的完整转录文本
说了什么的完整转录文本
11:21.080–11:23.920
zh这里酷的是我们可以查看统计数据
这里酷的是我们可以查看统计数据
11:23.920–11:26.300
zh我们可以看到他们各自的说话时长
我们可以看到他们各自的说话时长
11:27.651–11:29.006
zh我们可以看到,
我们可以看到,
11:29.006–11:29.587
zh果然,
果然,
11:29.587–11:30.167
zh显然,
显然,
11:30.167–11:32.103
zh黄仁勋是这里的嘉宾,
黄仁勋是这里的嘉宾,
11:32.103–11:34.039
zh所以他是说话最多的,
所以他是说话最多的,
11:34.039–11:36.748
zh而这一切都在148秒内完成,
而这一切都在148秒内完成,
11:36.748–11:39.845
zh所以对于这个超过一小时的长文件,
所以对于这个超过一小时的长文件,
11:39.845–11:41.781
zh这大约花了两分半钟。
这大约花了两分半钟。
11:41.781–11:44.401
zh这让我们基本上可以便利
这让我们基本上可以便利
11:44.401–11:45.621
zh你可以看到
你可以看到
11:45.621–11:46.761
zh现在我们基本上
现在我们基本上
11:46.761–11:48.601
zh可以直接阅读转录文本
可以直接阅读转录文本
11:48.601–11:51.041
zh我可以将其导出为文本文件
我可以将其导出为文本文件
11:51.041–11:52.921
zh或者在这里导出为srt
或者在这里导出为srt
11:52.921–11:54.141
zh这里酷的是
这里酷的是
11:54.141–11:56.601
zh如果我确实想做多语言
如果我确实想做多语言
11:56.601–11:58.061
zh或其他类似的事情
或其他类似的事情
11:58.061–11:59.681
zh我可以切换模型
我可以切换模型
11:59.681–12:01.021
zh使用这个模型
使用这个模型
12:01.021–12:03.341
zh而不是这里的paraket模型
而不是这里的paraket模型
12:03.341–12:04.341
zh你可以看到
你可以看到
12:04.341–12:05.521
zh用这个模型
用这个模型
12:05.521–12:07.781
zh我们支持很多不同的语言
我们支持很多不同的语言
12:07.781–12:09.181
zh如果你记得我做过
如果你记得我做过
12:09.181–12:10.101
zh关于这个的视频
关于这个的视频
12:10.101–12:12.441
zh你实际上可以微调这个模型
你实际上可以微调这个模型
12:12.441–12:15.541
zh使其在其他语言上表现非常好
使其在其他语言上表现非常好
12:15.541–12:17.741
zh他们在这里称之为适配就绪
他们在这里称之为适配就绪
12:17.741–12:20.701
zh现在我还没有真正设置这个应用去做
现在我还没有真正设置这个应用去做
12:20.701–12:22.561
zh但模型能做的另一件事
但模型能做的另一件事
12:22.561–12:24.601
zh是你也可以进行流逝响应
是你也可以进行流逝响应
12:24.601–12:25.101
zh当然
当然
12:25.101–12:27.541
zh那样你的准确率可能会下降一点
那样你的准确率可能会下降一点
12:27.541–12:28.881
zh但你在那里
但你在那里
12:28.881–12:31.281
zh仍然应该能获得相当好的结果
仍然应该能获得相当好的结果
12:31.281–12:32.241
zh所以
所以
12:32.241–12:34.741
zh如果你有兴趣做任何语音转录
如果你有兴趣做任何语音转录
12:34.741–12:37.521
zh并且希望其中包含说话人分离等
并且希望其中包含说话人分离等
12:37.521–12:39.681
zh这是一个很好的设置方法
这是一个很好的设置方法
12:39.681–12:42.141
zh你可以批量完成所有转路等
你可以批量完成所有转路等
12:42.141–12:43.041
zh最重要的是
最重要的是
12:43.041–12:45.301
zh能够完全在本地完成所有这一切
能够完全在本地完成所有这一切
12:45.301–12:46.121
zh所以
所以
12:46.121–12:47.981
zh如果你对这方面有任何问题
如果你对这方面有任何问题
12:47.981–12:49.361
zh请在评论区告诉我
请在评论区告诉我
12:49.361–12:50.941
zh我认为看到NVIDIA
我认为看到NVIDIA
12:50.941–12:53.001
zh接下来在这些语音模型上
接下来在这些语音模型上
12:53.001–12:54.541
zh会做什么将会非常酷
会做什么将会非常酷
12:54.541–12:55.881
zh就像我说的
就像我说的
12:55.881–12:57.081
zh从我看到的来看
从我看到的来看
12:57.081–12:58.001
zh它们不断迭代
它们不断迭代
12:58.001–12:59.141
zh以改进这些模型
以改进这些模型
12:59.141–13:00.701
zh并为不同的用力
并为不同的用力
13:00.701–13:02.821
zh提供不同类型的模型
提供不同类型的模型
13:02.821–13:03.461
zh总之
总之
13:03.461–13:04.521
zh一如既往
一如既往
13:04.521–13:05.981
zh如果你觉得视频有用
如果你觉得视频有用
13:05.981–13:07.341
zh请点赞并订阅
请点赞并订阅
13:07.341–13:08.521
zh我们下个视频见
我们下个视频见
13:08.521–13:09.181
zh再见
再见