据 MarkTechPost 报道,9 月 27 日发布的一篇编程指南展示了如何使用 Google Research 的 MSEB(Massive Sound Embedding Benchmark):按框架约定的接口自行编写声音编码器,并让同一批嵌入结果依次通过分类、聚类、检索和分割四类评估器。指南给出的对比结果是,两个侧重点不同的编码器会随所问评估器的不同而互换优劣名次。

指南以 mseb 0.1.0 版本为例,安装后先梳理框架的三层结构。types 层规定各项任务通用的数据形状,包括 Sound、SoundEmbedding、Score 和 TaskMetadata;encoder 层的 MultiModalEncoder 是使用者自己的模型必须实现的抽象基类;evaluators 包按任务家族分模块,涵盖分类、聚类、检索、重排序、转写和分割等。指南称,一次基准测试就是沿着这三层逐级向下执行。

为了让整个过程不需要下载数据集、也不占用加速器,指南在笔记本内自行合成音频,以 16 kHz 采样率生成一段 440 赫兹正弦波,并为其填写编号、采样率、长度、语言和文本等上下文参数。SoundEmbedding 由 (N, D) 的嵌入向量和 (M, 2) 的时间戳组成,时间戳以秒为单位记录起止位置:当 M 等于 N 时为帧对齐,M 为 1 时则属于整段话语级别;嵌入部分也可以存放 N 个字符串而非向量。框架通过 EncodingStats 记录输入字节数、嵌入字节数和两者的压缩比。

指南只载入分类、聚类、检索和分割四个评估器,理由是这四个模块除 NumPy 与 scikit-learn 外不依赖更重的库;重排序与转写评估器会引入 Whisper,任务运行器还会引入 TensorFlow 和 apache-beam。

两个编码器被有意设计成不同路线,一个按时间测量响度,另一个测量音色。二者编码同一批合成语音后,分别送入上述四类评估器,指南也直接调用指标函数,观察每个指标实际奖励什么,并在最后组装一次真实提交所需的 TaskMetadata。

据该指南的说明,两个编码器在不同评估器下各有胜负,没有一方全面占优。文章据此认为,这正是用数字而非文字来论证多任务基准必要性的方式。