「现存问题

这几年,端到端 Speech LLM 进步很快:

  • 语音输入可以直接问答

  • 不再必须“ASR转文字 → 再丢给LLM”

  • 看起来离“直接听懂并推理”已经很近了

但一个很顽固的问题一直存在:

同一道题,文本输入时模型能答对;换成语音输入,准确率就掉。

这就是我们说的 Modality Gap(模态鸿沟)。

而且这个问题不是“没识别出来”那么简单。很多时候模型其实已经把语音内容大致听对了,但一到:

  • 多步推理

  • 知识问答

  • 逻辑判断

  • 复杂选项选择

语音输入的表现还是比文本输入差一截。

传统解释:是不是“speech 和 text 没对齐”?

过去很多工作默认一个思路:

模态鸿沟 = 表征空间分布偏移


只要把 speech embedding 往 text embedding 上拉齐,问题就会解决。

于是主流方法大多在做:

  • 更好的 projector

  • 更强的对比学习

  • 更小的欧式距离

  • 更高的余弦相似度

但我们提出了一个更尖锐的问题:

如果 speech 表示在中间层已经“很像 text 了”,为什么最后还是答错?

也就是说,问题可能不只出在“静态几何对齐”,而是出在推理过程中,语音和文本的内部状态演化方式不一样

论文:

https://arxiv.org/pdf/2603.01502

图片

「解决方案

我们没有再去发明一个“更强的对齐损失”,而是换了个角度:

别只看 speech 和 text 在某一层“像不像”,要看它们在整条推理链路里,是怎么一层层变化的

于是,我们做了两件事:

1)先确认模态鸿沟确实存在

在 4 个开源端到端 Speech LLM 上评测:

  • Qwen2.5-Omni-7B

  • MiniCPM-o 2.6

  • Qwen2-Audio-7B-Instruct

  • LLaMA-Omni

测试任务包括两类:

  • SpeechMMLU:知识问答

  • VoiceBench BBH:更偏逻辑/推理

结果很一致:所有模型都是文本输入更强,语音输入更弱

比如:

  • Qwen2.5-Omni

    SpeechMMLU:掉 6.7%⬇️

    BBH:掉 3.9%⬇️

  • MiniCPM-o

    SpeechMMLU:掉 13.8%⬇️

    BBH:掉 10.2%⬇️

也就是说,模态鸿沟不是个别模型的问题,而是一个普遍现象

图片

图1|四个端到端 Speech LLM 在文本输入(T2T)与语音输入(S2T)下的准确率对比。

2)再把模型“拆开看”

我们做了一套很细的层间诊断

  • 用 DTW 先把长长的语音帧和短短的文本 token 对齐

  • 再用 CKA 去看:
    “speech 的第 i 层,最像 text 的哪一层?”

  • 再结合:

    token norm

    标准化L2距离

    Logit Lens

    probing

    注意力分布

    选项 margin

最终,我们把语音输入的内部处理过程拆成了 三个阶段

图片

图2|基于 CKA 对齐路径提取出的三阶段边界可视化

✅核心发现一:Phase I —— 结构转换(Structural Transformation)

先说第一个结论:

语音输入一开始根本不在“文本那套空间”里。

这意味着什么?

意味着 Speech LLM 的前几层,其实不是在“理解内容”,而是在先做一件基础工作:

把原本偏声学的 speech 表示,慢慢投影到更像 text 的表征空间里。

这也解释了为什么很多人直觉上觉得:

“那我直接把语音特征均值方差调一调,对齐到文本分布,不就好了?”

我们专门测了这个想法,结果很打脸。

在 BBH 上:

  • baseline:62.3%

  • 在输入层直接做 mean/std 校准后:46.8%⬇️

  • 直接掉了 15.5 个点⬇️

图片

表1|在 BBH 上对 speech 表示做均值/方差校准的结果

在 SpeechMMLU 上更夸张:

  • baseline:70.2%

  • 输入层校准后:23.0%⬇️

也就是说:

模态鸿沟不是“简单分布偏移”
不是均值、方差一调就能修好的问题。

相反,前几层必须先完成一个非线性的结构转换
如果你太早强行“校准”,反而会把这个过程直接搞坏。

核心发现二:Phase II —— 语义涂抹(Semantic Smearing)

这是我们最关键的发现之一。

我们观察到:speech 和 text 的层间对齐图,不是“一条清晰对角线”,而是一条很宽的带状区域。

这说明:

文本语义是“紧凑”的,语音语义是“摊开的”。

图片

图3|Speech 与 Text 在不同层之间的跨模态 CKA 相似度热力图

为什么会这样?

因为文本 token 天生信息密度高:一个词、一个子词,通常就承载了比较明确的语义。

而语音不是这样。
语音里的同一段语义,往往会被摊在很多连续帧里:

  • 时长

  • 韵律

  • 冗余发音

  • 声学细节

  • 非语义信息

所以我们把这个现象叫做:

Information Dilution(信息稀释)

也就是:
语义不是没进模型,而是被摊得太散。

有多散?

我们给了一个非常直观的结果:

在 SpeechMMLU 上,一个 speech 层平均会同时对应大约 6 个 text 层。

这就不是“1对1对齐”,而是“语义像奶油般化开”

更直观的证据:最后做决定时,语音注意力比文本分散得多

我们继续追踪了最终决策 token的注意力往前看到了哪里。

结果很直观:

  • 文本输入时,模型的注意力能快速收缩到少数关键 token

  • 语音输入时,注意力还在大面积铺开

论文给出的统计尤其有代表性:

  • 要覆盖 90% 决策注意力

    文本只需要 8 个 token

    语音却需要 101 个 token

这几乎就是在说:

文本在最后选答案时,是“盯着重点看”;
语音在最后选答案时,还是“看得太散”。

因果验证:只要人为制造“冗余”,文本也会变笨

为了证明“冗余”不是巧合,我们还做了一个干预实验:

把原本正常的文本输入,人工重复每个词 2 次、4 次、8 次。

结果:

在 SpeechMMLU 上,准确率从:

  • 正常:73.9%

  • 重复 8 次后:51.2%⬇️

在 BBH 上,也从:

  • 正常:62.4%

  • 重复 8 次后:53.5%⬇️

图片

表3|在文本输入中人为注入 token 冗余后的性能变化

也就是说:

光是把信息弄得冗余、重复、拉长,就足以让文本推理能力下降。

这直接支持了我们的核心观点:

语音的问题,不只是“模态不同”,更是“信息密度太低、冗余太高”。

✅核心发现三:Phase III —— 决策不稳定(Decision Instability)

接下来是最重要的一步:

语音为什么在后几层还是答不对?

我们发现,问题不是“信息丢了”。

我们训练了线性 probe 和 MLP probe 去读各层隐藏状态,结果发现:

即使最终 S2T 答错了,中后层里其实仍然能读出相当多正确信息

这说明:

信息还在,但模型没把它稳定地用出来。

图片

表2|最终决策 token 的注意力分散程度对比

那问题出在哪?

我们又看了两个东西:

1)整体熵(entropy)

speech 和 text 的 projected-logit entropy 曲线其实差不多。

所以不能简单说“语音更不确定、更噪”。

2)真正的关键:正确选项和竞争选项的 margin

我们看的是:

正确答案的 logit - 最强错误选项的 logit

如果这个值变成正的,而且越来越大,说明模型在“收敛到正确答案”。

图片

图6|按答题正确性分组的逐层 logit margin 变化

结果发现:

对于 text correct, speech wrong 的样本,文本输入在后几层,margin 会明显转正

语音输入的 margin 却经常一直是负的

翻成人话就是:

文本到了最后几层,能把正确答案从竞争者里“拎出来”;

语音到了最后几层,虽然也知道一些相关信息,但就是收不住、压不倒竞争项。

这就是我们说的:

Late-layer sharpening 失败了。                

一句话总结这三阶段」                 

论文的核心机制,其实可以非常通俗地总结成一句话:

文本输入:

一开始就很紧凑

中间处理高效

最后能快速把正确答案“收尖”

语音输入:

先得花几层把声学信号“翻译”成模型认得的东西

然后语义还被摊在很多 token 上

到最后该收尖的时候,每个 token 的信号都不够强,结果答案迟迟收不稳。

补充观察

除了主线结论,我们还发现了两个很值得注意的补充点。

1)不是所有模型都只是“最后一步收不稳”

对于 Qwen2-Audio 这种在 SpeechMMLU 上接近随机水平的模型,问题更严重:

它不是“最后没收好”,而是从头到尾都没真正进入 text-like 的表示空间。

我们把这种情况叫做:

Representation Failure(表征失败)

也就是说,强模型和弱模型的模态鸿沟,机制可能还不完全一样。

2)简单做 token merging,确实有一点帮助

我们还试了一个很朴素的方向:

对中间层里相似的 speech token 做合并(KV token merging)

结果提升不算大,但方向是对的:

两个 benchmark 上大多能带来 +0.1 到 +0.5 个点的小提升⬆️

这说明:

“压缩语音冗余”这条路值得继续走

只是简单合并还不够,未来可能需要更聪明的做法,比如:

  • adaptive token merging

  • hierarchical pooling

  • learned abstractor

  • 更强的语义压缩器

总结

本篇论文真正的目的,不是又提出了一个“更强对齐模块”,而是想把一个行业里经常被模糊处理的问题说清楚:

Speech LLM 的模态鸿沟,不只是几何没对齐,更不是简单分布偏移。 

主要原因在于:语音语义太冗余、太分散,并且最后一步决策缺少文本那种“高密度、可收尖”的信号,而我们进一步量化并分析了这样的结构

所以它给未来方法的启发也很明确:

不是只做 feature matching

而是要想办法把语音变成更像文本那样的高信息密度单元

不是只缩短序列长度

而是要真正提升每个 token 的有效语义浓度

不是只解决“听见”

而是要解决“最后能不能稳定地做出正确决定”

如果用一句更口语的话收尾,这篇论文的结论就是:

语音大模型的问题,不是没听见,而是“听见了,但最后一跳收不住”。

未来真正可能有效的方向,很可能不是继续死磕“speech embedding 和 text embedding 贴得有多近”,而是:

  • 如何把很多冗余 speech frame 压成更少、更准、更密的语义 token

  • 如何让 late-layer sharpening 在语音输入时也能稳定发生

  • 如何把“识别正确”真正推进到“推理正确

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐