📄 Spoken Function Calling: A New Perspective on Spoken Language Understanding for Large Audio Language Models

标签:#音频理解 #Transformer #模型评估

6.7/10 | 创新 1.3/2 | 严谨 1.1/1.5 | 实验 1.2/1.5 | 清晰 0.9/1 | 影响 1/1.5 | 开源 0/1.5 | 复现 0.1/0.5 | 工程 1.1/1.5

6.7/10 | 前50% | 文档类型:数据集与基准 | 评分置信度:中 | #音频理解 | #Transformer | #模型评估 | arxiv

👥 作者与机构

Yuezhang Peng(上海交通大学;Token Foundry, Alibaba Group)
Yuxin Liu(上海交通大学)
Changfeng Gao(Token Foundry, Alibaba Group)
Zhifu Gao(Token Foundry, Alibaba Group)
Xiangang Li(Token Foundry, Alibaba Group)
Xie Chen(上海交通大学;上海创新研究院)

💡 毒舌点评

论文把传统 SLU 的“意图+槽位”改写成“函数名+参数”的 JSON 形式,就称之为新范式 Spoken Function Calling。实验确实证明 SFC 比 SLU 在相同模型上更稳、准确率更高,但这种提升更多来自结构化输出约束,而不是对语音语义理解本质的突破。更尴尬的是,即使强如 GPT-4o-Audio,在 Level 3 多意图/多轮任务上的总体准确率也只有 35.96% 和 30.31%,说明所谓“函数调用范式”并没有真正解决语音歧义和缺失参数补全问题。数据集靠 Gemini 生成、IndexTTS-2 合成语音,离真实口音、噪声和对话场景还有不小距离;开放链接只有一个 GitHub 路径,模型权重、数据集独立页面、完整训练配置均未披露。

📌 核心摘要

本文提出 Spoken Function Calling(SFC),将传统 SLU 的 closed-set 意图分类与槽位填充重构为基于函数定义的开放式语音语义理解任务。作者基于已有 SLU 数据集整理出 300 个 spoken functions,覆盖 5 个领域、21 个场景,并划分为 232 个 in-distribution(ID)函数与 68 个 out-of-distribution(OOD)函数;再通过 GPT-OSS-120B 驱动的多智能体系统生成查询、标签和口语化表达,结合 IndexTTS-2 与 LibriSpeech 音色合成语音,构建 SFC-Bench 数据集。SFC-Bench 共包含 7,078 条有效数据:训练集 4,499 条,Test-ID 1,986 条,Test-OOD 593 条,并划分为 L1、L2、L3-1、L3-2 四个难度级别,对应单意图、多意图、多轮、多意图+多轮等组合。

作者进一步采用 GRPO 与细粒度奖励对 Qwen2.5-Omni-7B 进行后训练,得到 SpokenFC-7B。实验表明,SFC 在 Intent/Slot/Overall 三项指标上普遍优于传统 SLU;SpokenFC-7B 在 SFC Test-ID 上达到 74.15% Overall Accuracy,在 SFC Test-OOD 上达到 75.10%,超过 GPT-4o-Audio 的 68.30% 与 68.09%,也超过 Gemini-2.5-Pro 的 69.00% 与 71.60%。同时,模型在 CommonVoice15 的 WER 为 8.30%,在 MMSU 上的准确率为 62.58%,在 API-Bank 上的 Overall 为 64.52%,表明 SFC 后训练没有显著破坏通用语音与工具调用能力。主要实验结果如下表所示:

模型SFC Test-ID OverallSFC Test-OOD OverallCV15 WER (↓)MMSU Acc (↑)API-Bank Overall (↑)
Qwen2.5-Omni-7B48.8056.168.4462.5454.84
GPT-4o-Audio68.3068.09
Gemini-2.5-Pro69.0071.60
SpokenFC-7B(Proposed)74.1575.108.3062.5864.52

🔗 开源详情

  • 论文声明的代码与数据集地址:https://github.com/QwenAudio/FunResearch/tree/main/SpokenFC
  • 论文摘要明确写道“The code and dataset are available at”,即可用代码和数据集均在该 GitHub 路径下。
  • SFC-Bench 未提供独立的 HuggingFace/ModelScope 数据集页面,也未提供单独的数据卡链接。
  • SpokenFC-7B 模型权重未披露独立下载链接。
  • 训练脚本、评测脚本、环境配置、README 是否已完整公开,论文正文未披露。
  • 论文引用的第三方项目/工具名称包括 Whisper、Llama-3、Qwen、vLLM、IndexTTS-2、LibriSpeech、BFCL、API-Bank、ToolBench、ToolACE 等,但论文正文未逐一给出官方仓库链接或具体版本号。

🏗️ 方法概述和架构

SFC 将传统 SLU 的语义解析任务重新定义为“从语音中生成可执行的结构化函数调用”。传统 SLU 的映射可写成:

下图以一段真实语音查询为例,直观对比了传统 SLU 与本文提出的 SFC 在输入、候选空间和输出表示上的差异。

Figure 1. Comparison of traditional SLU and proposed SFC. SFC resolves parameter ambiguity through a precise and structured function definition.

传统 SLU 在开放的意图/槽位池中容易把 “July 20th at 3 PM” 同时映射到 timestart_time 等重叠槽位,而 SFC 通过显式的函数定义将参数精确绑定到 add_schedule(content, time, location) 的对应键上。

F_SLU: (A, S_int, S_slot) -> Y_SLU

其中 A 是输入语音信号,S_intS_slot 是预定义的意图标签集与槽位标签集,输出为语义框架集合:

Y_SLU = {I_1, ..., I_n, (s_1, v_1), ..., (s_m, v_m)}

该范式要求模型预先知道所有意图与槽位模式,只能通过 SFT 记忆固定 schema,难以在开放域任务中依靠 ICL 泛化。

SFC 的映射定义为:

F_SFC: (A, E, D_func) -> Y_SFC

其中 E 是显式引入的环境上下文,用于补偿口语中常见的语义省略;D_func 是遵循 OpenFunction protocol 的函数定义 schema。输出为结构化函数调用集合:

Y_SFC = { f_i(k_{i,1}=v_{i,1}, k_{i,2}=v_{i,2}, ..., k_{i,m_i}=v_{i,m_i}) }

如果某个参数缺失,则赋值为 NAN,触发后续补全机制。

SFC 相对于传统 SLU 的两个核心机制优势是:

  1. 结构化约束带来的鲁棒性。函数定义中强制规定参数名、参数类型和边界,缓解了传统 SLU 在复杂参数抽取时面临的边界模糊问题。
  2. 意图与槽位的耦合解析。函数名同时约束意图识别,参数键值对同时约束槽位填充,二者不再像传统 SLU 那样割裂。

后训练方面,论文采用 Group Relative Policy Optimization(GRPO)作为核心强化学习算法,避免训练独立的价值模型,降低显存与计算开销。GRPO 对每个语音查询采样一组输出 {o_1, ..., o_G},其目标函数包含策略比率裁剪项与 KL 散度约束项:

J_GRPO(θ) = E[ 1/G Σ_i ( min(r_i A_i, clip(r_i, 1-ε, 1+ε) A_i) - β D_KL(π_θ || π_ref) ) ]

其中 r_i = π_θ(o_i|q) / π_θ_old(o_i|q)

为了提供更密集的奖励信号,作者提出 Fine-Grained Reward,将 SFC 任务分解为三个子任务:

  • 函数名识别奖励:计算生成函数名与 ground truth 的匹配比例;
  • 参数键匹配奖励:使用生成键集合与真实键集合的 Jaccard 相似度;
  • 参数值准确率奖励:对键交集部分计算归一化编辑距离。

最终奖励为三个维度得分的算术平均并归一化到 [-1, 1]

R_Fine-Grained = 2 * (r_name + r_keys + r_values)/3 - 1

整体架构可概括为“传统 SLU 数据集 -> 人工筛选与函数化改写 -> 多智能体数据合成 -> SFC-Bench -> 基座 LALM -> GRPO + 细粒度奖励 -> SpokenFC-7B”。该流程既服务基准评测,也可用于模型后训练。

💡 核心创新点

  1. 提出 Spoken Function Calling(SFC)视角,将传统 closed-set SLU 的意图分类与槽位填充重构为开放域、基于函数定义的语音语义抽取任务。
  2. 构建 SFC-Bench,据论文描述为第一个大规模口语函数调用基准,涵盖 300 个 spoken functions、5 个领域、21 个场景、多意图与多轮任务。
  3. 采用多智能体数据生成系统,由 Query Agent、Label Agent、Speech Agent 和 Validator 自动合成查询、函数调用标签、口语化改写与 TTS 语音,并做严格 speaker isolation。
  4. 提出基于 GRPO 的 RL 后训练方案,并设计细粒度奖励函数,将函数名、参数键、参数值三个子任务的奖励信号解耦,提升训练密度。
  5. 训练得到 SpokenFC-7B,在 SFC Test-ID/Test-OOD 上超越 GPT-4o-Audio 与 Gemini-2.5-Pro,同时保持语音识别、音频理解和通用工具调用能力不显著退化。

📊 实验结果

模型任务设置Test-ID IntentTest-ID SlotTest-ID OverallTest-OOD IntentTest-OOD SlotTest-OOD Overall
Qwen3-8B, Text InputICL SLU96.0185.2069.7397.2092.5283.80
Qwen3-8B, Text InputICL SFC97.5691.8385.7099.0795.8391.90
Qwen3-8B, Text InputSFT SLU96.7484.2670.4496.8890.2482.24
Qwen3-8B, Text InputSFT SFC97.6792.6887.0399.0794.4890.03
Qwen2.5-7B, Text InputICL SLU93.9078.7361.8693.1582.7170.57
Qwen2.5-7B, Text InputICL SFC91.5785.4173.9593.4687.5875.70
Qwen2.5-7B, Text InputSFT SLU95.7984.9468.6393.7787.4277.00
Qwen2.5-7B, Text InputSFT SFC96.7890.9783.1599.3894.4889.72
Qwen2.5-Omni-7B, Speech InputICL SLU94.4668.0653.8895.6469.1250.16
Qwen2.5-Omni-7B, Speech InputICL SFC93.0279.6963.8697.2080.4368.54
Qwen2.5-Omni-7B, Speech InputSFT SLU98.5685.5075.6196.5774.7957.01
Qwen2.5-Omni-7B, Speech InputSFT SFC99.4587.8080.71100.079.5267.29
任务Test-ID ConfidenceTest-OOD Confidence
SFC Confidence-1.62-1.57
SLU Confidence-1.87-1.72
类别模型L1-IL1-SL1-OL2-IL2-SL2-OL3-1-IL3-1-SL3-1-OL3-2-IL3-2-SL3-2-OAvg-IAvg-SAvg-O
LLMLlama-3.1-8B-Instruct68.4056.7834.4857.1744.587.5950.7952.849.4652.6155.525.2364.7150.5220.86
LLMQwen2.5-7B91.5785.4173.9587.9787.0261.8185.1777.0227.4479.0980.5819.8689.5578.8754.89
LLMQwen3-8B97.5692.9987.6994.0993.6380.3995.2780.9931.3483.6280.5622.9594.4283.7762.83
LLMQwen3-32B94.0191.2481.7192.4193.9281.2292.4381.4437.3387.1182.3026.0492.9784.4264.02
ASR + LLMLlama-3.1-8B-Instruct68.5145.2927.6156.9637.475.9149.8445.425.9944.9549.531.7463.8842.9715.90
ASR + LLMQwen2.5-Omni93.0279.6963.8682.4976.7447.0580.4473.0718.6140.0766.767.3284.0273.8548.80
ASR + LLMQwen3-8B97.6778.7768.0792.8376.5849.5894.6473.9517.9886.4174.4013.9494.2972.9747.27
ASR + LLMQwen3-32B94.9078.9064.6392.1977.9451.2791.1778.4923.7786.7678.7016.6392.6676.0148.96
LALMQwen2.5-Omni93.4681.6765.1980.3876.4547.6873.5069.5617.3546.6968.358.0183.5973.8449.03
LALMQwen3-Omni86.4781.6972.0686.0882.7060.5549.2171.308.2046.3473.7613.2478.8377.2355.07
LALMGemini-2.5-Flash98.5685.6177.1790.7280.8155.9181.0782.0435.0267.9481.8025.0991.4582.6064.40
LALMGemini-2.5-Pro95.2387.1278.0590.0883.2463.2988.6485.0647.9573.5281.6235.1991.2584.2169.00
LALMGPT-4o-Audio98.8988.1280.2792.8384.8464.5689.2784.1235.9677.0083.5330.3194.0885.4068.30
Model / VariantID L1ID L2ID L3-1ID L3-2ID OverallOOD L1OOD L2OOD L3-1OOD L3-2OOD OverallCV15 WER (↓)MMSU Acc (↑)API-Bank Overall (↑)
Qwen2.5-Omni-7B63.8647.0518.617.3248.8068.5451.0624.603.8556.168.4462.5454.84
GPT-4o-Audio80.2764.5635.9730.3168.3071.6564.8949.2126.9268.09
Gemini-2.5-Pro78.0563.2947.9535.1969.0073.5267.0257.1438.4671.60
SpokenFC-7B (Proposed)81.6071.1049.2140.4274.1576.9569.1565.0538.4675.108.3062.5864.52
Ablation: SFT80.3866.6747.9536.9371.9074.4562.7765.0846.1573.938.4962.5055.58
Ablation: RL w/ EM Reward81.4270.2347.2536.6773.0876.3468.2164.4236.9773.248.3562.3063.85
Ablation: RL w/ BF1681.3769.4144.7937.2872.8376.9567.0263.4936.5474.328.3262.4463.97
Ablation: RL w/ N=877.1260.3340.5027.1567.4067.1060.4552.2024.1566.808.3562.2060.50
Ablation: RL w/ N=1680.3166.2744.0933.2171.2473.5365.4259.7830.6771.448.3062.3862.14
Ablation: RL w/ N=6481.3770.2550.4742.5174.3876.3268.0966.4640.1875.038.2962.5064.43

🔬 细节详述

SFC-Bench 的构建流程采用多智能体系统。首先从 ATIS、SNIPS、FSC、SLURP、MAC-SLU 等 SLU 基准中聚合场景,再使用 Gemini-2.5 Pro 将场景转化为标准化函数定义,并参考 BFCL、ToolACE 等函数调用基准提升多样性与复杂度,最后进行人工过滤和修正。函数集合涵盖 5 个领域、21 个场景,共 300 个 spoken functions,其中 232 个用于 in-distribution(ID),68 个用于 out-of-distribution(OOD)。所有训练数据只由 ID 函数集合生成,测试则同时覆盖 ID 与 OOD。

下图以旭日图形式呈现了 SFC-Bench 的函数领域分布与各场景数量。

Figure 4. Sunburst chart of the five SFC-Bench domains and their 21 scenarios, with each sector labeled by its number of spoken functions.

图中 5 大领域(如 Personal Assistant、Travel & Transport、Communication 等)共覆盖 21 个场景,每个扇区标注了该场景对应的 spoken function 数量,体现了数据集的领域广度。

数据生成由 GPT-OSS-120B 驱动的三个主要 agent 完成:

  • Query Agent:基于预选函数和环境上下文生成文本查询;对 Level 3 数据会额外进行模糊改写。
  • Label Agent:根据函数、上下文和查询生成准确函数调用;对模糊 Level 3 查询生成含 NAN 参数的调用,用于考察模型幻觉。
  • Speech Agent:为查询加入冗余、自我修正等口语特征,并将技术格式口语化,例如将 abc@gmail.com 转写为 “abc at gmail dot com”;随后使用 IndexTTS-2 与 LibriSpeech 说话人音色合成语音。

下图给出了 SFC-Bench 多智能体数据合成与校验的完整流程。

Figure 3. Multi-Agent System for Data Construction.

流程从已有 SLU 数据集出发,先由多智能体生成函数元数据,再由 Query、Label、Speech Agent 分别产出查询、函数调用标签和口语化语音,最终通过 Validator Agent 与人类评估划分训练集与测试集。

数据划分严格隔离说话人。训练、验证和测试集使用不同 speaker identities,避免同一音色跨集合泄漏。SFC-Bench 的样本分布为:L1 训练 2,647 / Test-ID 902 / Test-OOD 321;L2 训练 817 / Test-ID 480 / Test-OOD 94;L3-1 训练 447 / Test-ID 317 / Test-OOD 126;L3-2 训练 588 / Test-ID 287 / Test-OOD 52。总数据量为训练 4,499、Test-ID 1,986、Test-OOD 593。随着难度从 L1 到 L3-2,平均答案长度从约 20 tokens 增加到 70 tokens 以上,平均音频时长从约 7 秒增加到 13 秒。

评测设置方面,开源模型使用 vLLM 加速推理;ASR + LLM 管线统一使用 Whisper-Large-V3-Turbo 作为 ASR 模块,其 WER 为 13.69%。指标包括 Intent(Function Name)准确率、Slot(Parameter Value)F1 Score,以及 Overall Accuracy。

定性错误分析显示,GPT-4o-Audio 在 Level 3 任务上存在两类显著问题:

  1. 模型幻觉。当用户说“this Friday”时,模型没有按要求为缺失参数生成 NAN,而是自行补出 2025-12-12 00:00:00 这类具体时间。
  2. 指令遵循失败。当需要补全关键缺失参数(如 order ID)时,模型退回传统聊天机器人模式,要求用户提供订单号,而不是输出含 NAN 的函数调用。

后训练消融的主要结论包括:FP16 优于 BF16,作者认为更高尾数精度缓解了长 JSON 序列生成中的训练-推理不一致;GRPO 的 rollout 数 N 从 8 增大到 64 能持续提升 SFC 表现,但边际收益递减;细粒度奖励优于 EM Reward,因为它能在完整函数调用合成前逐步强化函数名、参数键、参数值三个子能力。

下图对比了 GRPO 后训练中使用 EM 奖励与细粒度奖励时的平均奖励变化曲线。

Figure 5. Ablation study on reward types.

在约 200 个训练步内,Fine-grained 奖励曲线始终高于 EM 奖励且收敛更快,说明将函数名、参数键、参数值三个子任务解耦能够提供更密集的训练信号。

⚖️ 评分理由

  • 创新性 (1.3/2):提出将传统SLU重构为Spoken Function Calling,并构建首个大规模口语函数调用基准SFC-Bench,覆盖300个函数、5领域21场景和多级难度[A_SUMMARY][S_3];但其核心差异集中在输出表示与schema约束,对语音语义理解的深层建模增量有限[A_LIMITS],故未给满分。

  • 技术严谨性 (1.1/1.5):数据集构建采用多智能体生成+Validator过滤,测试集额外人工校验,并对训练/验证/测试做speaker isolation,协议较规范[S_11][S_12];但查询、标签和语音均由大模型与TTS合成,缺少真实用户口语、口音与噪声覆盖,生态效度受限[A_LIMITS]。

  • 实验充分性 (1.2/1.5):基准评测覆盖LLM、ASR+LLM、LALM三类代表,按四档难度报告Intent/Slot/Overall,并有SLU对照、后训练与消融实验[A_RESULTS][S_13][S_15];但ASR仅用单一Whisper-Large-V3-Turbo,OOD仅68个函数且难度偏低,削弱了语音误差与泛化结论的支撑强度[A_LIMITS]。

  • 清晰度 (0.9/1):任务从SLU到SFC的映射、GRPO目标、细粒度奖励公式以及数据统计表均以公式和图表清晰呈现[A_METHOD][S_9][S_12],阅读定位成本低,未发现影响理解的写作硬伤。

  • 影响力 (1.0/1.5):SFC-Bench直接面向大音频语言模型与口语语义理解,语音/音频是核心模态而非附带实验,能为语音助手和工具调用评测提供新参照[S_1][S_3];但任务范式刚提出,后续影响仍需社区进一步验证。

  • 开源 (0.0/1.5):论文未发布核心代码、模型权重或数据资源,也未给出明确的后续开源承诺。

  • 可复现性 (0.1/0.5):GRPO、细粒度奖励、FP16、rollout数量等有描述,但训练轮数、学习率、RL采样温度、集群/硬件等关键复现配置大量缺失[A_LIMITS],复现门槛较高,给0.1。

  • 工程/实践价值 (1.1/1.5):数据合成采用多智能体+IndexTTS-2管线,后训练产出SpokenFC-7B,在SFC Test-ID/OOD达到74.15/75.10,且CV15/MMSU/API-Bank未明显退化[A_SUMMARY][S_16];但Level 3-2 Overall仍仅40.42,复杂多轮场景工程余量有限[A_RESULTS]。

🚨 局限与问题

  1. SFC 与传统 SLU 的差异主要集中在输出表示和 schema 约束上,缺少对语音语义理解本身更深层的建模,作为“新范式”略显微薄。
  2. 数据集由 Gemini 生成、TTS 合成,Query 和 Label 均非真实用户语音数据,口语性仍偏模拟,领域迁移到真实语音助手时可能显著掉点。
  3. Level 3 任务整体表现很低,即使 GPT-4o-Audio 的 Overall 也仅 35.96% 和 30.31%,说明多意图、多轮、NAN 参数补全仍是当前模型瓶颈。
  4. ASR+LLM 管线揭示 ASR 错误是主要瓶颈,但论文仅使用单一 Whisper-Large-V3-Turbo,未比较不同 ASR 系统对 SFC 的影响。
  5. SpokenFC-7B 在 MMSU 上的准确率与基线几乎一致(62.58 vs 62.54),说明 SFC 后训练对通用音频理解能力的提升有限,主要收益集中在任务格式本身。
  6. 论文未披露训练轮数、学习率、RL 采样温度、集群配置等关键复现信息;开源仓库是否存在可用代码、数据拆分文件、模型权重和评测脚本,仅凭论文摘要无法确认。
  7. OOD 设置仅覆盖 68 个函数,且难度略低,OOD 泛化结论的证据强度不足。

← 返回 2026-08-06 语音/音乐/音频论文速递