MoshiRAG: Asynchronous Knowledge Retrieval for Full-Duplex Speech Language Models
📄 MoshiRAG: Asynchronous Knowledge Retrieval for Full-Duplex Speech Language Models #语音对话系统 #语音大模型 #流式处理 #实时处理 🔥 评分:8.5/10 | arxiv 👥 作者与机构 第一作者:Chung-Ming Chien(推断,基于论文作者顺序) 通讯作者:Alexandre Défossez(推断,作为Moshi原始模型的主要作者及本研究的资深作者) 其他作者:Manu Orsini, Eugene Kharitonov, Neil Zeghidour, Karen Livescu 机构:论文未在提供节选中明确列出所有作者机构。根据领域常识和致谢推断,主要作者可能来自 Meta FAIR(Alexandre Défossez, Manu Orsini, Eugene Kharitonov, Neil Zeghidour)和 Google(Karen Livescu)。Chung-Ming Chien可能为学生或合作研究员。 💡 毒舌点评 亮点:巧妙地利用了语音对话中“开口说废话”到“讲重点”之间的时间差(关键词延迟),塞进了一个异步检索过程,让全双工模型能“一边应付你一边查资料”,这个工程巧思是本文最大的智慧。槽点:整个系统严重依赖合成的“完美”对话数据来训练检索触发和整合,到了真实世界用户结结巴巴、ASR错误百出的场景,那个精巧的时间差和触发机制会不会立刻失灵?这可能是未来最大的挑战。 🔗 开源详情 代码:论文提到代码在GitHub开源,地址为 https://github.com/kyutai-labs/moshi-rag。 模型权重:论文未明确说明是否开源MoshiRAG的模型权重。原始Moshi模型权重可能已开源。 数据集:论文详细描述了合成数据生成流程,但未提及是否公开生成的语音或文本数据集。 在线Demo:论文提到“Moshi RAG demo”,但未提供具体链接。 依赖的开源工具:论文引用了多个开源项目,包括Moshi模型、Mimi编码器、ARC-Encoder、Gemma模型、Tavily搜索API(商业)、HaluEval数据集、CommonVoice数据集等。 📌 核心摘要 本文旨在解决全双工语音语言模型(如Moshi)事实性不足的核心问题,同时不牺牲其高交互性。问题:全双工模型能实时打断和回应,但因训练数据规模远小于文本,其知识储备和事实准确性较弱。方法:提出了MoshiRAG,一个模块化框架。它在Moshi模型中引入一个特殊的<ret>检索触发令牌。当模型预测到用户提出知识密集型问题时,会生成<ret>,并异步调用外部检索后端(如LLM或搜索引擎)。利用模型生成回答时从“开场白”到“核心信息”之间的自然延迟(关键词延迟),在后台完成检索,并将检索到的文本参考信息编码后注入模型,用于生成后续基于事实的回答。效果:在多个语音问答基准上,MoshiRAG的事实性显著超越原始Moshi及其他多数公开的语音语言模型,接近GPT-4o Audio的水平,同时其端到端关键词延迟(E2EKD)保持较低水平,并在全双工交互基准上表现优异。局限性:系统性能依赖于流式ASR的准确性和检索延迟;当前检索触发完全基于训练数据模式,缺乏动态决策能力;主要使用合成数据训练,真实场景泛化性待验证。 🏗️ 模型架构 MoshiRAG是一个由三个主要组件构成的模块化系统: 前端:增强的Moshi全双工模型 (7B参数) - 输入:用户语音(经Mimi编码器编码为语音令牌 s^u)。 - 输出:自回归地生成两个并行流:模型语音令牌 s^m 和模型文本转写令牌 t^m(带填充)。 - 核心修改: - 引入特殊文本令牌 <ret> 作为检索触发信号。 - 增加了一个参考文本编码器(采用预训练的ARC-Encoder,压缩比4:1),用于将检索到的文本参考文档编码为嵌入序列 emb^ref。 - 信息注入机制(加法注入):当<ret>在时间步 i_ret 被预测后,等待检索延迟 d 秒。之后,参考文档的编码嵌入通过一个可训练的线性层投影,并以流式方式(逐时间步)加到Moshi主干Transformer的输入嵌入 h_i 上,形成 h'_i。公式为:h'_i = h_i + proj(emb^ref_{i-(i_ret + d/f_r)}),其中 f_r 是Moshi的帧率(12.5Hz)。 前端:流式ASR模型 (1B参数) - 功能:独立于Moshi,实时接收用户语音流并转写为文本,为检索后端提供对话上下文。 - 特点:低延迟(0.5秒),参数量小,计算开销低。 后端:异步检索系统 - 触发:在<ret>被预测后,系统收集ASR和Moshi输出的文本转写,形成对话上下文。 - 处理:将上下文发送给检索后端。后端可以是基于LLM的检索(如Gemma 3 27B,根据上下文生成参考文本)或基于搜索的检索(如Tavily API,获取网页摘要)。 - 输出:返回一段文本参考文档。 - 时序:设计目标是在2秒内完成检索,以确保在Moshi说出关键词(核心信息)前将信息注入。 ...