语音大模型为什么“听懂了”却还是答不对?
「现存问题」
这几年,端到端 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 在语音输入时也能稳定发生
-
如何把“识别正确”真正推进到“推理正确”
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)