当前位置: 首页 > news >正文

SALMONN-omni论文阅读

论文链接

项目链接

名词理解:

  1. backchanneling: 指的是听话人在不打断说话人的情况下,用简短的语气词或动作表示“我在听”“我理解了”的反馈。

    常见示例包括:

    “嗯哼”(“uh-huh”)

    “对的”(“yeah”)

    “没错”(“right”)

    点头、微笑(非语言反馈)

  2. Turn-taking: “轮流发言” 或 “话轮转换”,是指在对话中,说话者与听话者之间轮流控制说话权的机制,下文翻译成"换话"。它涵盖:

    开始说话(开始轮次)

    交出说话权(结束轮次)

    接管说话权(接话)

    中断或插话(如 barge-in)

  3. barge-ins: 插话 / 打断发言 / 抢话

0. 论文摘要

为了实现流畅自然的人机语音交互,目前的全双工对话系统通常采用模块化架构,例如语音活动检测器、中断检测、对话状态预测器或多个 LLM,但这些方案存在误差累积问题,难以处理上下文依赖的“插话”(barge‑in)和回声消除等关键挑战。

虽然像 Moshi 这样的系统通过将音频编解码器编码注入单一 LLM 的 token 空间,从而简化了流程,但它们在处理语音输入而非文本时仍导致显著性能退化。

本文提出了 SALMONN‑omni,这是第一个完全独立的全双工语音 LLM,不在其 token 空间中使用任何音频编解码器。它引入了一种新颖的动态“思考”(thinking)机制,让模型学会何时该听、何时该说。

在标准的口语问答和开放域对话任务上,SALMONN‑omni 相对现有开源全双工模型,性能提升至少 30%,并且在训练数据远少于它们的情况下,其性能可媲美半双工或回合制系统。此外,它在实际对话场景中的表现强劲,包括多轮对话接续(turn‑taking)、填充回应(backchanneling)、回声消除、和上下文相关的插话能力,通过强化学习后表现更佳。

1. Introduction

大型语言模型(LLM)已经通过基于文本的交互在问题求解与任务执行方面带来了变革。然而,语音是一种更自然、更直观的交流方式,能够带来更流畅、更以人为中心的人机交互体验。因此,研究者们正不断探索将文本驱动的 LLM 扩展为具备语音处理能力的路径,涉及从高级语音/音频理解,到文本驱动的语音合成,再到交互式语音对话系统等多种方向。

尽管基于轮次的语音 LLM 已经能够支持对话任务中的半双工交互,但自然的人类对话本质上是全双工的,即需要同时具备“听、思考、说”的能力。这种对话特性包括换话、反馈(如“嗯哼”)、语音重叠以及插话,这些行为共同促进了人类交流的流畅性与互动性。因此,全双工语音 LLM 正受到越来越多关注,被视为实现更加自然、响应更及时的人机对话的重要路径。

最近发布的GPT-4o(GPT-4omni)展示了低延迟、情感表达的语音能力,进一步提高了全球对全双工语音技术的兴趣。在开放式研究中,Moshi、SyncLLM和OmniFlatten等模型将离散的音频编解码器 token 注入预训练的LLM骨干网络,并对其进行微调,以支持灵活的语音输入和输出。然而,这些方法通常需要大规模的训练数据来弥合文本和语音之间的模态差距,并减轻对原始LLM文本知识的灾难性遗忘。因此,语音合成器必须仅基于编解码器流来推断是产生语音还是静音。虽然这些模型避免了对会话动态进行注释的需要,但它们经常难以准确把握对话转换的时间。其他方法明确预测说话和非说话状态之间的转换,并集成流式语音编码器和合成器以实现实时交互。然而,这些系统通常依赖于复杂的机制而不是独立的LLM来处理全双工功能,从而增加了系统的复杂性和次优的上下文集成。一些方法,提出了具有语音活动检测(VAD)和对话控制器等外部模块的级联系统来管理会话流,会话流会受到错误传播的影响。其他一些,包括 VITA 和 Freeze Omni,遵循“模型即服务器”的范式,运行两个相互依存的LLM进程,一个专门用于听,另一个用于说,从而引入了额外的计算和内存开销。

本论文提出 SALMONN‑omni,这是首个不依赖 codec token 的独立全双工语音 LLM。我们将流式语音编码器、无需音频编解码器注入的一个单一的 LLM 主体和流式语音合成器整合为一个统一框架。为了解决“何时说话、何时倾听”的时序决策问题,我们提出了一种新颖的周期同步机制和动态的“思考”策略,赋予模型时间感知能力,从而实现连贯和响应迅速的实时语音通信。

我们的核心贡献如下:

  • 我们提出了 SALMONN‑omni,这是一个独立的不依赖 codec 的全双工语音 LLM。与之前的型号不同,SALMONN omni直接集成了流式语音编码器、LLM和语音合成器,需要仔细同步才能同时处理输入和输出语音。模型通过生成特殊的 token(如 THINK、START、END)来控制“说话”与“思考”状态,从而实现流畅且同步的人机交互。

  • 在广泛使用的口语问答(QA)和对话基准测试中的实验证明了SALMONN omni的强大性能。在全双工模式下,SALMONN omni 取得了新的SOTA,比以前的最佳结果至少提高了30%。在半双工评估中,与最近的回合制模型相比,它提供了极具竞争力的性能,包括在更大的数据集上训练的模型,其中一些数据集的音频长达1300万小时

  • SALMONN‑omni 是首个在复杂对话场景(包括换话、反馈、插话与回声消除)中表现出强大能力的全双工语音 LLM,并且通过强化学习进一步提升性能。

2 相关工作

2.1 全双工语音大模型

与传统的模块化会话人工智能系统相比,端到端语音交互LLM因其支持流畅、富有表现力和情感丰富的口语交互的能力而受到广泛关注。根据模型是否可以同时听和说,这是人类交流的核心特征,最近的端到端会话人工智能系统可以大致分为两种类型:半双工(基于回合)和全双工语音LLM。

半双工(回合制)

  • GLM-4-Voice, Qwen2.5-Omni
  • miniCPM-o, Baichuan-Audio

全双工

standalone

  • dGSLM, Moshi, SALMONN-omni

non-standalone

  • Freeze-Omni, VITA, MinMo

目前,大多数语音LLM以半双工方式运行,包括GLM-4-Voice、Qwen2.5-Omni和Kimi Audio等型号。虽然这些模型可以进行基于回合的语音对话,但它们缺乏一种内部双工策略来模拟对话动态,如回合转换。相反,他们依靠外部VAD模块在听和说状态之间交替。因此,他们在自然对话的关键方面(例如,插话 barge-ins 和反馈 backchanneling)遇到了困难,这些方面需要同时听和说的能力。

全双工语音LLM可以同时处理流式语音输入和输出,同时还可以确定何时说话以及何时停止。构建此类模型的一种直接方法是将音频编解码器注入LLM词汇表中,Moshi、syncLLM和OmniFlatten采用了这种方法。尽管其概念简单,但这种方法需要大规模的语音-文本配对数据来防止灾难性的遗忘。即便经过大量训练,这些模型在知识和推理能力上通常仍不如体量相近的纯文本 LLM,并且还受到模态差异(modality gap)的影响。另一种策略,如 VITA、Freeze-Omni 和 MinMo 所采用的,是通过嵌入(embedding)方式将 LLM 主干与语音编码器和语音合成器连接,从而避免对 LLM 性能造成显著影响。然而,它们并不是真正的独立全双工系统,因为单个 LLM 实例只能“听”或“说”其中之一;要实现同时听说,仍需两个独立的 LLM 进程分别处理。相比之下,SALMONN-omni 提出了一种全新的双工策略,使得单个 LLM 就能实现独立的全双工语音交互。

2.2 语音LLMs的强化学习(RL)

强化学习长期以来一直被应用于推进语音任务,例如,最大限度地减少自动语音识别(ASR)的单词错误,优化面向任务的口语对话过程,并增强语音合成中的情感表达。对于语音LLM,最近的RL方法,如近端策略优化(PPO)和直接偏好优化(DPO),已被Qwen2 Audio和StepAudio等语音理解模型采用,以使语音LLM行为与人类偏好相一致。然而,在全双工语音LLM的背景下,RL仍未得到探索。据我们所知,SALMONN omni是第一个应用强化学习来改进全双工语音LLM对话动态建模的工作。

3. 方法

要实现一个全双工语音大语言模型(full-duplex speech LLM),必须解决四个关键挑战。为了构建 SALMONN‑omni 成为一个无需 codec 注入的独立全双工模型,我们提出了一种新颖的 “无 codec(即 LLM 词表中不包含音频 codec)” 的全双工语音对话框架。

  1. 该模型必须支持流式语音输入和输出。在不依赖 codec 的前提下,SALMONN‑omni 通过“隐藏层嵌入”(hidden embeddings)将 LLM 主体与流式语音编码器和流式语音合成器集成起来,从而实现了实时语音交互。
  2. 模型必须同时处理环境声音和助手的语音。在全双工对话中,语音 LLM 一方面要生成助手语音(即 assistant stream),另一方面还要同时处理所有输入声音(如背景音、用户语音、助手回声等),即环境流(environment stream)。SALMONN‑omni 通过将文本响应 token、环境流嵌入和助手流嵌入交错排列为一个统一序列,使得 LLM 主体可以以自回归方式联合建模这些信息。值得注意的是,Moshi 也对这两个流进行了联合建模,但其目的与设计方案与我们不同。
  3. 模型必须具备对“时间”的感知,以对齐语音模态与文本模态。SALMONN‑omni 采用周期同步机制:在每个时间块中,处理固定时长的输入语音,同时生成对应时长的语音响应,以实现交互的平滑连续性。
  4. 模型必须能应对自然对话过程中的动态行为,例如话轮交替(turn-taking)与插话(barge-ins)。为此,模型需要具备对上下文的理解能力,从而能自主判断何时开始说话、何时停止说话。

SALMONN‑omni 通过一种新颖的 “思考(thinking)策略” 学习对话状态的切换。我们没有引入一个独立的全双工状态预测器,而是提出一个新的观点:你的 LLM 本身就可以作为一个“隐式的全双工预测器”——我们通过训练它在常规输出中生成状态切换 token,让它“顺便”学会听说切换的时机。

值得注意的是,文中所提到的后三个关键能力(如状态控制、流式对齐、联合输入输出)正是 SALMONN‑omni 与其他模型(如 VITA、Freeze‑Omni 和 MinMo)之间的重要区别。这些模型的 LLM 解码器无法同时听和说,因此也无法以独立方式实现真正的全双工对话。SALMONN‑omni 的整体结构如图 1 所示,其核心组件将在接下来的子章节中详细说明。

图1:SALMONN‑omni 的架构:系统接收两个输入流:环境流(environment stream) 和 助手流(assistant stream),它们共同被输入到流式语音编码器中进行处理。来自这两个语音流的语音嵌入(speech embeddings),以及文本嵌入(textual embeddings),会以交错的方式(interleaved manner)送入 LLM 主体网络(backbone)中。当系统处于“说话状态”时,**流式语音合成器(streaming speech synthesizer)**会将来自 LLM 主干网络生成的文本嵌入作为输入,进而生成语音响应。

3.1 Mamba流式语音编码器

研究表明,可以通过来自多个非流式预训练编码器的知识蒸馏,有效地训练出一个通用型流式编码器。按照这一思路,SALMONN‑omni 采用了一个流式语音编码器,其设计目标是为了增强模型在长对话上下文中的泛化能力,其中使用 Whisper-large-v3 作为教师模型(teacher model)。具体而言:首先从音频中提取 log-Mel 滤波器组特征,帧率为 100Hz;然后通过两个卷积层将其下采样到 50Hz;接着将两个相邻的嵌入向量拼接成一个单独的嵌入;然后将其输入到若干个 Mamba 语言模型块中进行建模。最后,使用 L1 损失函数(L1 loss),将流式编码器的输出特征与教师模型的输出特征进行对齐,以实现知识蒸馏。

3.2 流式语音合成器

我们的流式语音合成器是在 CosyVoice2 的基础上构建的,并采用了其固定长度交错语音生成策略(fixed-length interleaved speech generation strategy)。在这种方法中,输入文本与输出语音 token 被交错排列:也就是说,每生成 N 个文本 token,模型就顺序生成 M 个语音 token。为了实现与 LLM 的端到端集成,我们将合成器原本的文本输入,替换为 LLM 主干网络输出的嵌入表示(output embeddings)。随后,通过一系列线性变换(linear transformations),将这些 LLM 嵌入对齐到流式语音合成器所需的输入空间。

3.3 全双工策略

将多个语音流交错为一个统一序列。LLMs(大语言模型)通常以自回归的方式对单一序列进行建模。为了使预训练的 LLM 主体能够有效处理自然对话中的多个并发语音流,我们提出了一种方法:将这些语音流交错为一个统一的“软 token 序列(soft token sequence)”。具体而言,我们将对话划分为两个主要的语音流:助手流(assistant stream):代表模型生成的响应;环境流(environment stream):包含所有输入音频,例如用户语音、背景噪音,以及助手自身语音的回声等。一个全双工模型必须能够以自回归方式生成助手流,同时持续关注(attend to)环境流。为实现这一点,我们将对话分割成固定时长的时间块(time blocks)。在每个时间块内,SALMONN‑omni 首先处理来自环境流的语音嵌入,然后再生成相应的助手响应。为了稳定训练过程并提升模型性能,我们还引入了一种双通道输入机制(dual-channel input mechanism):在每个时间块内,模型除了接收当前的环境语音嵌入之外,还会接收自身先前生成的助手语音输出的语音嵌入(包括回声信息),再生成下一个文本响应。

图2:“隐式”与“显式”思考策略的示意图。LLM 顶部的 token 是由语音嵌入(speech embeddings)预测得到的,
而底部的 token 是由文本嵌入(textual embeddings)预测的,
这些底部 token 会被反馈(feed back)到 LLM 的输入序列中,作为后续推理的参考。

用于处理自然对话动态的 “思考” 策略。轮次式(turn-based)与全双工语音对话模型之间的关键区别,在于后者具备动态判断何时开始说话、何时停止说话的能力。为实现这一目标,我们提出了一种新颖的 “思考(thinking)” 策略,使 SALMONN‑omni 能够学习“倾听状态”与“说话状态”之间的切换。在每一个时间块(time block)中,模型都必须自行决定是否进行状态切换。我们探索了该策略的两种变体,依据是:输入序列中是否包含显式的状态切换 token:

隐式 “thinking”(Implicit Thinking) 在输入序列中不包含 <listen> 和 <speak> 等状态 token。在每个时间块中,模型需根据语音嵌入(speech embeddings)预测出一个特殊 token(表明当前状态)。只有在模型生成文本响应的时间块中,才会包含文本嵌入(textual embeddings)。

显式 “thinking”(Explicit Thinking) 在 LLM 的输入序列中显式加入两个特殊 token:<think> 和 <shift>。<think> token 用于两个场景:当模型处于“倾听状态”时,应在每个时间块生成 <think>,模拟人类在对话中“思考何时插话”的过程;由于文本模态与语音模态帧率差异较大,在生成完文本响应之后、等待从“说话”过渡到“倾听”的这段时间里,模型也会持续生成 <think>。<shift> token 用来标记状态切换的发生,包括:“倾听 → 说话” 和 “说话 → 倾听”

我们在第 5.1 节对这两种策略进行了对比,结果表明:显式 “thinking” 策略能带来更优的性能,说明将“普通响应 token”与“状态切换相关 token”整合为一个完整序列进行训练,更自然地契合了 LLM 的内部建模机制。换句话说:你的 LLM 本质上就是一个“隐藏的全双工预测器”。

3.4 训练计划

我们为 SALMONN‑omni 提出了一种三阶段的训练流程,如图 3 所示:

图3:SALMONN-omni的三阶段训练策略

第一阶段:连接流式编码器(Streaming Encoder)。在第一阶段,我们的重点是赋予模型流式语音理解能力,即将 Mamba 流式编码器 与 LLM 连接起来。流式编码器与 LLM 之间的连接器是一个多层感知机(MLP)。在该阶段,只训练连接器和 LLM 上的 LoRA 模块,用于语音识别(ASR)和问答(QA)任务;而编码器和 LLM 主干部分则保持冻结(不更新参数)。

第二阶段:连接流式语音合成器(Streaming Synthesizer)。在第二阶段,SALMONN‑omni 被赋予语音生成能力,并且整个模型以端到端方式进行训练。此阶段中,编码器和 LLM 主干仍保持冻结。将训练以下组件:编码器和合成器的连接器(Connector);LLM 上的 LoRA 模块;流式语音合成器本身。训练任务包括语音识别(ASR)、问答(QA)、多轮对话(multi-turn dialogue),其中也包括对**上下文相关的插话(context-dependent barge-in)和反馈语(backchanneling)**的训练样本。

第三阶段:用于全双工建模的强化学习(RL)。在前两个阶段的训练完成后,SALMONN‑omni 已具备处理自由形式对话中复杂动态行为的能力,尤其是在处理具有上下文感知的插话和反馈语方面表现出色。然而,在上述有监督微调(SFT) 之后,模型仍然表现出明显倾向于被打断的偏差,且在对话语义理解方面仍显不足。因此,我们在第三阶段引入强化学习(Reinforcement Learning),以进一步提升其全双工建模能力。具体做法是:在插话(barge-in)和反馈语(backchanneling)任务上应用 DPO(Direct Preference Optimization)方法;同时保留一部分来自其他任务的 SFT 数据,以维持模型的整体性能表现。

4. 实验步骤

4.1 模型规格

SALMONN‑omni 中的 Mamba 流式编码器由 32 个 Mamba 语言模型块组成,隐藏状态维度为 2048。该编码器以 25Hz 的帧率生成语音嵌入,因此需要将 Whisper-large-v3 的嵌入从 50Hz 下采样至 25Hz。具体方法是:将每两个相邻的嵌入拼接为一个新的嵌入向量。为了在应用 L1 损失前保证两个模型嵌入的维度一致,我们引入了一个线性层(linear layer) 对嵌入维度进行对齐。我们使用 Llama-3-8B-Instruct 作为 LLM 主干网络,并在微调时应用 LoRA,其中秩(rank)为 32,缩放因子(scaling factor)为 1.0。

我们的流式语音合成器是在 CosyVoice2‑0.5B 的基础上进行微调的。我们将时间块大小(time block size)设定为 80 毫秒(ms),模型每“听”完 80ms 的音频后会生成 1 个文本 token。一旦 LLM 主干网络生成了 4 个文本 token,流式语音合成器就会生成 12 个语音 token,即对应 480ms 的语音输出。因此,从模型开始“说话”到实际音频播放之间会产生 320 毫秒的延迟。当前的设计在响应延迟与语音生成质量之间实现了良好的平衡。

4.2 训练任务

SALMONN‑omni 在自动语音识别(ASR),口语问答(spoken QA)和多轮对话(multi-round conversation)三类任务上进行训练。在自动语音识别(ASR)任务训练中我们使用了 LibriSpeech-960h 和 GigaSpeech-M 语音语料库,合计约 48 万条训练样本。在口语问答(Spoken QA)任务训练中,我们从多个来源收集问答数据,包括:Alpaca-52k 、Web Questions、TriviaQA、SQuAD、Natural Questions、VoiceAssistant-400K(来自 Mini-Omni)、UltraChat(来自 SLAM-Omni),总计大约包含 73 万条问答样本。在多轮对话任务(Multi-round Conversation)训练中我们通过以下流程生成多轮对话数据:先由 Llama-3-8B-Instruct 基于 TriviaQA 和 Natural Questions 中选定的话题生成对话内容;再用 CosyVoice2-0.5B 将这些对话文本转为语音。最终得到约 8 万条多轮对话样本

此外,我们还在多轮对话场景中考虑了包含插话(barge-ins)和反馈语(backchanneling) 的情况。

插话方面,数据集包含两种类型: 一是上下文无关的插话(Context-independent barge-ins)我们使用 GPT‑4o 生成了 10 条直接打断说话的句子,例如:“请你现在立刻闭嘴。”(“Please stop talking right now.”);而是上下文相关的插话(Context-dependent barge-ins)我们设计了一个任务,用来评估模型是否能够基于上下文线索判断是否应该停止说话。具体方法是使用 Llama‑3‑8B‑Instruct 生成一些问题,这些问题要么与当前对话内容高度相关(作为有意义的插话),要么完全无关(作为干扰项,用于干扰测试)。

反馈语(Backchanneling):我们在训练数据中加入了 7 条常见的反馈词/短语,例如:“嗯哼”(“Uh-huh.”)等。

值得注意的是,我们的实验还特别考虑了多说话人插话(multi-speaker barge-in) 的场景。有关训练数据的更多细节,请参见附录 A。

4.3 测评

我们在四个常用的数据集上评估 SALMONN-omni 的语音交互能力,包括 Llama Questions、Web Questions、TriviaQA 和来自 Voicebench 的 AlpacaEval 。其中,Web Questions 中的问题通过火山引擎提供的商用 TTS 模型转换为语音;TriviaQA 则使用来自 OpenAudioBench 中的一个包含 1000 条样本的子集。

对于知识问答类数据集(Llama Questions、Web Questions 和 TriviaQA),我们采用准确率(accuracy)作为评估指标。而对于口语对话数据集 AlpacaEval,我们使用 GPTScore 评估答案的恰当性和合理性,该分数由 GPT-4.1-2025-04-14 模型打分,范围为 1 到 5 分,其中 1 表示最差,5 表示最佳。评估既涵盖文本答案(S2T),也涵盖语音答案(S2S)。在 S2S 评估中,回答语音首先通过 Whisper-large-v3 转写为文本。

为评估模型的全双工建模能力,我们考察两个关键指标:一是话轮切换时机预测的成功率,用于衡量模型判断“何时开始说话”的能力;二是模型判断自己是否应当被打断的能力,使用 F1 分数进行评估。在上下文无关的场景下,我们收集了 100 条直接打断句子作为正样本,其中 50 条由用户说出,另外 50 条由第三说话人说出;同时选取 100 条由用户说出的反馈语作为干扰项。在上下文相关场景下,我们收集了 100 条与当前语境紧密相关、意图打断模型的问题(同样为用户与第三方说话人各 50 条),并以 50 条由第三方说出但与上下文无关的问题和 50 条静音片段作为负样本。值得注意的是,这些用于评估的句子与训练过程所使用的句子是不同的。

在基线比较中,我们选取了一批性能优良的开源半双工或全双工语音大模型作为对照,包括 Moshi、Freeze-Omni、GLM-4-Voice、Qwen2.5-Omni、VITA 1.5、miniCPM-o、Kimi-Audio 和 Baichuan-Audio。所有模型都在一种被称为“理想话轮切换(oracle turn-taking)”的设定下进行测试,在该设定中,模型被强制在提问结束后立即开始作答(Moshi 除外,因为它不易被强制控制说话时机)。此外,我们还进行了更接近真实使用场景的“预测话轮切换(predicted turn-taking)”测试,在该设定中,模型需要自主判断何时开始说话,这只有全双工模型才能实现。在这一设定下,我们选择 Moshi 和 Freeze-Omni 作为对照基线模型。

5. 实验结果

5.1 隐式思考和显式思考的比较

我们首先对比了在第 1 阶段中分别采用隐式(implicit)和显式(explicit)“thinking”策略训练的模型。如表 2 所示,显式“thinking”在各项任务中始终优于隐式“thinking”。我们认为,原因在于:将普通回答与状态切换相关的特殊 token 一起作为输出序列进行训练,更符合 LLM 的自回归建模机制。相比之下,隐式“thinking”策略缺乏从输出端到输入端的完整反馈路径,限制了模型学习状态切换逻辑的能力。

表2:隐式思考和显式思考的比较

一个有趣的观察是:在第 1 阶段训练后,模型在 AlpacaEval 数据集上的话轮切换成功率仅约为 70%。但在第 2 阶段引入助手语音流(assistant stream) 后,成功率提升至约 90%,这突显出在全双工建模中引入助手流对实现更稳健的换话预测具有重要作用。

基于上述结果,本研究在后续所有实验中均采用“显式thinking”作为全双工建模策略。事实上,从这两种基本策略还可以衍生出多个变体,我们在附录 C 中对此进行了进一步分析。

5.2 不同语音LLM之间语音交互能力的比较

语音交互能力评估的主要结果如表 3 所示。在“预测话轮切换”(predicted turn-taking)设置下,SALMONN‑omni 在所有数据集上均取得了当前最先进(SOTA)的性能,相较于此前的开源全双工语音交互大模型,平均相对提升达 35.9%。

表3:不同语音交互大语言模型的性能对比如下:对于 Llama Questions、Web Questions 和 TriviaQA,评估指标为 准确率(Acc.%);
对于 AlpacaEval,评估指标为 GPTScore。其中,S2T 表示语音转文本(speech-to-text)性能,S2S 表示语音转语音(speech-to-speech)性能。

这一显著的提升凸显了 SALMONN‑omni 在应对多种对话场景方面的强大能力,无论是一般性的知识问答,还是日常闲聊。在“理想话轮切换”(oracle turn-taking)设置下,我们进一步将 SALMONN‑omni 与近期发布的轮次式语音交互大模型进行了比较。如表 3 所示,SALMONN‑omni 在所有模型中总体表现最佳,在 4 个数据集上取得了最优的语音转文本(S2T)结果,并在 Web Questions 和 TriviaQA 数据集上取得了最优的语音转语音(S2S)表现。这些结果表明,SALMONN‑omni 不仅在语音理解方面表现卓越,还能保持极其稳定且连贯的语音生成能力。

5.3 全双工建模能力评估

5.3.1 话轮切换预测(Turn-taking prediction)

不同全双工语音交互大语言模型在话轮切换任务中的表现如表 4 所示。结果显示,SALMONN‑omni 在多个数据集上始终实现了最高的话轮预测成功率,平均表现优于其他模型。值得注意的是,即使在处理语速较快、语句较短的输入场景(如 TriviaQA 和 AlpacaEval)时,SALMONN‑omni 仍保持了出色的表现,而在这些场景下,Moshi 和 Freeze‑Omni 等模型的性能则出现了明显下降。

表4:全双工语音交互大语言模型的话轮切换成功率(%)

5.3.2 区分真实插话(true barge-ins)、伪插话(false barge-ins)以及反馈语(backchanneling)

不同模型在上下文无关场景下的对比如表 5 所示。结果显示,SALMONN‑omni 在处理上下文无关的插话(barge-in)和反馈语(backchanneling)方面表现出更强的稳健性。此外,当模型需要同时监听自身语音回声时,SALMONN‑omni 和 Moshi 都能保持良好表现,而 Freeze‑Omni 的性能则出现了明显下降,这突显了非独立实现的全双工模型所存在的局限。由于 Freeze‑Omni 依赖于额外的 语音活动检测(VAD)模块,当该模块无法提供准确的语音分割时,其整体性能会受到严重影响。

表5:不同模型在上下文无关的插话(barge-in)和反馈语(backchanneling)任务中的对比。其中,“Echo factor” 表示模型能够听到自身语音的 ×n 倍回声。

DPO 进一步增强了模型的全双工建模能力。我们在上下文无关与上下文相关两种设置下对 SALMONN‑omni 进行了训练,结果表明模型在这两类场景中都能有效应对,说明我们提出的框架能够处理自由对话中复杂的上下文感知动态行为。然而,在经过前两个阶段的有监督微调(SFT)后,模型的精确率偏低,显示出 SALMONN‑omni 有被打断的倾向,这反映出模型对上下文理解能力仍有所不足。因此,我们引入 DPO(直接偏好优化) 方法对模型进行后训练(post-training)。从整体性能提升结果来看,这一方法确实有效,如图 4 和表 6 所示。在 DPO 训练过程中,我们观察到一个有趣的现象:模型初期变得极为保守,几乎不会被打断。但随着训练的深入,模型的能力逐渐恢复,最终超越了仅通过 SFT 训练得到的模型。

图4:在 DPO 阶段使用不同批大小(batch size)训练时,SALMONN‑omni 的整体 F1 分数表现对比如下。

表6:在 DPO 训练阶段,将批大小设置为 256 时,SALMONN‑omni 在上下文相关与上下文无关设置下的性能表现。

6. 总结

在本研究中,我们提出了 SALMONN‑omni,这是首个无需将音频编解码器 token 注入词表、即可独立运行的全双工语音大语言模型。SALMONN‑omni 通过无缝集成流式语音编码器、统一的 LLM 主干网络以及流式语音合成器,并引入一种新颖的显式“思考”(thinking)策略来预测对话状态的切换,从而使模型能够自主学习何时该倾听、何时该说话。在标准的口语问答和开放领域对话基准测试中,大量实验证明:在“预测话轮切换”场景下,SALMONN‑omni 相较于现有开源全双工模型,平均准确率相对提升达 35.9%,同时在与使用大规模训练数据的半双工模型对比中仍具有极强的竞争力。此外,SALMONN‑omni 能够稳健建模全双工对话中的多种动态行为,包括话轮切换、反馈语、回声消除以及上下文相关的插话。引入强化学习(RL)后,模型在处理实时对话行为时的流畅性与响应性进一步提升。

http://www.lryc.cn/news/571420.html

相关文章:

  • Datawhale YOLO Master 第1次笔记
  • 利用Enigma Virtual Box将QT生成的软件打包成一个exe可执行文件
  • 第100+42步 ChatGPT学习:R语言实现阈值调整
  • uniapp + vite + ts出现红色波浪线,各种ts报错
  • LeetCode--33.搜索旋转排序数组
  • 探秘KingbaseES在线体验平台:技术盛宴还是虚有其表?
  • List、Queue、Deque、Stack常用方法总结
  • 论文笔记:Trajectory generation: a survey on methods and techniques
  • DELL R730XD服务器调整风扇转速
  • python+uniapp微信小程序的共享雨伞租赁系统
  • [特殊字符]华为总部参观预约|企业通道揭秘
  • MySQL 中 DISTINCT 去重的核心注意事项详解
  • MSPM0G3507学习笔记(二) 超便捷配置led与按键
  • ffmpeg webm 透明通道视频转成rgba图片
  • 基于最新豆包大模型1.6实现 ArXiv Paper Reading MCP与Agent构建
  • C++ map代码练习 1、2、priority_queue基础概念、对象创建、数据插入、获取堆顶、出队操作、大小操作,自定义结构、代码练习 1 2
  • 电机及驱动器的安全、性能和能效认证
  • 02 ( chrome 浏览器插件, 立马翻译), 搭建本地 api
  • c++学习-多态
  • MacOS上MySQL的安装以及使用
  • 【编译工具】CodeRider 2.0:驭码 CodeRider 2.0 产品功能分析
  • 【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(软件篇)(二)
  • RK 安卓10/11平台 HDMI-IN 调试
  • RAG轻松通-P1:分块
  • 爬虫技术:数据获取的利器与伦理边界
  • 输电线路电缆护层环流在线监测装置:原理、优势与应用解析
  • Elasticsearch/OpenSearch MCP Quickstart
  • 日本生活:日语语言学校-日语作文-沟通无国界(2):回忆深刻的生日
  • threejs webVR获取相机正前方向量
  • 【保姆级】讯飞ROS智能车 Debian系统 U盘克隆/恢复教程