一些随笔….

最近越来越不敢笃定地谈未来。

以前谈职业规划,我至少还能给自己画一条大致的路线:把基础打牢,做几个有代表性的项目,逐渐从业务实现走向模型设计,再从模型设计走向系统架构。努力也许不会立刻兑现,但大方向似乎是清楚的。

现在这条路线开始变得模糊。

AI coding agent 正在越来越熟练地写代码、改代码、查资料、跑测试、定位 bug、读仓库,甚至能够自己拆任务、自己调用工具、自己评估结果。所谓 RSI,也就是 recursive self-improvement,已经不再只是科幻小说里的概念。我们正在亲眼看着一套由人类创造的系统,开始参与改进自己的工具、流程和能力。

而身处这个时代,没有办法假装这些变化与我无关。

我们亲手造出了会替代自己的工具

我们训练模型,设计数据管道,写推理服务,搭评测体系,优化 GPU 利用率,研究 agent 的工具调用和记忆机制。我们把自己的经验拆成代码、文档、流程和规则,再把这些东西交给模型学习。我们希望它更聪明、更便宜、更稳定、更自动化。

然后有一天,我们突然发现:模型正在学习的,正是我们过去赖以谋生的那部分能力。

它会写一个函数,于是初级开发工作减少了;它会完成一个模块,于是一些执行型岗位开始减少了;它能端到端地跑完一个实验,于是过去需要几个人协作的工作变成了一个人加几个 agent。公司看见的不是“技术进步”四个字,而是交付周期缩短、人员数量下降和成本表上的数字变小。

人类创造了 AI,却首先用它来压缩自己的劳动价值。这听起来像背刺,但如果站在企业的财务表上,它又可能被包装成效率提升、组织升级和结构优化。

真正残酷的是,背刺并不来自某个恶意的 AI。它来自我们共同参与建立的激励机制:谁能用更少的人做出更多的事,谁就更有竞争力;谁拒绝使用自动化,谁就可能先被淘汰。

所以我无法背道而驰。

不能因为害怕被替代,就拒绝使用 AI coding agent;不能因为担心岗位消失,就拒绝学习新的模型和工具;不能因为不喜欢这场变化,就假装它不会发生。

只能裹挟着前进。

当下应该如何面对

面对 AI,最容易掉进两个极端:要么把它当成救世主,觉得只要学会几个工具就能解决一切;要么把它当成敌人,拒绝使用,试图用过去的工作方式守住自己的位置。

更愿意把它看成一种新的工作环境。环境已经变了,首先要做的不是表态,而是建立自己的工作方法。

让我在变化发生时更清醒、更有行动能力,而不是完全依赖某个工具或某个岗位定义自己。

“算法工程师”这个身份正在被重新拆解

我以前把算法工程师理解成一个相对完整的角色:理解问题,设计模型,处理数据,训练和调参,部署服务,跟踪指标,最后把效果交付给业务。

但 AI 正在把这个角色拆开。

数据清洗可以被自动化,baseline 可以被快速生成,训练脚本可以由 agent 编写,实验配置可以自动搜索,部署流程可以被模板化,线上日志可以交给模型分析。过去需要工程师亲自完成的许多步骤,正在变成“提出目标—监督执行—验证结果”。

这会让很多人感到失落,因为我们曾经用大量时间换来的熟练度,正在变成工具的一次调用。

但这也逼着我们重新回答一个问题:如果写代码、调参数和跑实验不再构成全部价值,那么算法工程师究竟还剩下什么?

我现在越来越相信,真正难以被替代的,不是某个具体 API,也不是某种模型结构,而是以下几种能力的组合:

第一,定义问题的能力。知道什么值得做,什么指标只是幻觉,什么需求本质上是数据问题、产品问题或组织问题。

第二,判断结果的能力。模型可以生成十个方案,但它不会自动承担错误决策的后果。知道什么时候相信结果,什么时候怀疑结果,什么时候回到原始数据和业务现场,这仍然需要人。

第三,把不确定性变成系统的能力。真正的工程不是让 demo 跑起来,而是让它在脏数据、异常输入、成本约束、延迟要求和业务变化下仍然可控。

第四,理解现实世界的能力。医疗、金融、制造、教育、能源、内容安全,每个领域都有自己的规则和代价。模型知识可以迁移,责任不能凭空迁移。

第五,和人一起做事的能力。算法最终要进入组织、产品和客户的工作流。能不能把复杂问题讲清楚,能不能推动不同角色达成共识,能不能在失败之后继续合作,决定了技术是否真的产生价值。

这些能力听起来不像过去那种容易写进简历的“硬技能”,但它们可能会成为 AI 普及后最重要的部分。

问题在于,环境不会因为这些能力重要,就自动给我们足够时间去培养。我们必须一边完成当下的工作,一边学习新工具,一边重新理解自己的专业价值。

真正身处的困境:未来需要更高阶的能力,但变化本身已经在今天发生。

我不想把“拥抱 AI”说成一句轻松的话

我不太喜欢“拥抱变化”这类过于顺滑的表达。变化不是发布会上的新功能,而是每天都会进入工作流程的新工具、新标准和新期待。说“你要积极拥抱 AI”,有时只是把系统性的压力重新交给个人,让个人为一场并非由自己决定的技术竞赛负责。

使用 AI,是因为我必须参与这场变化;但保持警惕,是因为参与不等于认同所有结果。

我希望把什么留在自己手里

想留下的不是某个项目的名字,而是对问题的理解方式;不是一次性的结果,而是如何做数据分析、如何设计实验、如何评估模型;不是某个框架的熟练度,而是能否快速进入一个陌生系统并找到关键路径。

希望把几个东西握在自己手里:对技术边界的理解,对问题价值的判断,对结果负责的习惯,以及持续学习和独立思考的能力。

这不是为了获得一种永远稳定的状态,而是为了在环境变化时,不至于完全失去方向。

我们可能需要重新定义“前进”

过去的前进,常常意味着更高的职级、更大的团队、更复杂的项目和更高的薪资。

这些当然仍然重要,但在 AI 时代,我希望“前进”还包括另一层含义:让自己的判断、作品、关系和生活,不再全部依附于一个组织的评价。

也许未来一个算法工程师不再需要亲自写完所有代码,但必须比以前更懂系统;不再需要独自完成全部实验,但必须更会设计实验;不再只是训练模型,而要决定模型应该被用来解决什么问题,以及什么时候不应该使用它。

也许我们无法阻止企业用 AI 降低人员需求,但可以尽量避免让自己只剩下可被单价比较的执行能力。

这并不意味着每个人都能轻松转型。现实没有这么公平。有人会因为家庭、年龄、地域、健康或经济压力,无法无缝进入下一个阶段。把一切归因于“学习不够努力”,只是对具体处境的忽视。

我们能做的,是尽量让自己的价值不只存在于某个岗位描述里,让自己的能力可以迁移,让自己的判断不被单一工具代替,让自己的生活仍然保留一点主动性。

我没有答案,但我不想把自己交给答案

我不知道 AI coding agent 最终会改变多少算法工作,也不知道 RSI 会把软件生产推到什么程度。我不知道“算法工程师”这个称呼会不会变成一个过渡性的历史名词。

但我不想用过度乐观来掩盖恐惧,也不想用彻底悲观来提前放弃。

我会继续学习 AI,因为我没有办法背道而驰;我会继续使用 agent,因为停在原地不会让世界停下来;我会继续怀疑这条路,因为技术进步不等于每个人都会因此获益。

人类创造了能够放大生产力的工具,但没有同时解决收益、权力和安全感如何分配的问题。

所以我们面对的,不只是“AI 会不会替代我”这个问题,还包括:当我的工作被重新定义,我希望自己成为什么样的人?当效率不再稀缺,我还能不能保留判断、责任、创造和同理心?当未来越来越不确定,我能不能为自己建立一点不依赖承诺的退路?

我暂时没有答案。

我只是决定,一边害怕,一边继续走;一边使用工具,一边观察工具正在改变什么;一边为最坏的结果做准备,一边不把最坏的结果当成唯一的结局。

这可能不是勇敢。

但至少,这是我在被裹挟着前进时,仍然能够保留的一点主动权。

Nemotron 3.5 Transcribe 深度拆解:Cache-Aware FastConformer-RNNT 与 Granary v2 语音数据工厂

\(P(y_{1:T}\mid x)=\prod_{t=1}^{T}P(y_t\mid y_{<t},x)\)

一、核心结论

  • Nemotron 3.5 ASR Streaming 是约 0.6B 参数的多语言流式 ASR。
  • 核心架构是 24 层 Cache-Aware FastConformer 编码器、RNN-T 解码器和语言 ID Prompt Conditioning。
  • 声学表示维度为 1024,语言向量为 128 维;一个 checkpoint 支持 40 个 language locale。
  • 运行时支持 80 ms、160 ms、320 ms、560 ms、1.12 s 五个 chunk 配置。
  • FLEURS 上,Transcription-ready 19 个 locale 的平均 LangID WER 从 80 ms 的 10.38% 降到 1.12 s 的 8.84%;Auto-detect 从 11.14% 降到 9.21%。
  • 单张 H100 上,80 ms 时约支持 240 路并发流,Parakeet RNNT 1.1B buffered streaming 约 14 路;1.12 s 时约为 2,400 路对 400 路。

设计目标不是只追求离线 WER,而是在准确率、端到端延迟、显存和并发之间提供可调的 Pareto 点。

二、模型架构

2.1 Cache-Aware FastConformer

FastConformer 结合卷积对局部声学模式的建模能力和注意力对长程依赖的建模能力。Nemotron 3.5 使用 24 层 Cache-Aware FastConformer。缓存同时覆盖 self-attention 和 convolution 状态,因此当前 chunk 可以复用上一 chunk 的隐藏状态。

设第 k 个音频块为 x_k,上一步缓存为 C_(k-1):

\((H_k, C_k) = Encoder(x_k, C_(k-1))\)

传统 buffered streaming 会把上一段上下文与当前音频重新拼接,导致重叠帧重复计算;Cache-Aware 方案只计算新到达的帧,缓存负责保留上下文。

2.2 语言 ID Prompt Conditioning

编码器输出 H_a 的形状是 (1024,T)。语言 ID 被编码为 128 维向量 e_lang,沿时间轴广播为 H_l,二者拼接后经过投影层送入 RNNT:

\(H_a = FastConformer(x_1:T), H_a in R^(1024 x T)\) \(H_l = Broadcast(e_lang,T), e_lang in R^128\) \(H_f = Proj([H_a;H_l]), [H_a;H_l] in R^(1152 x T)\)

已知语言时可以输入 en-US、de-DE、zh-CN 等 locale;未知语言时使用 auto 模式。语言向量是每个时间帧都可见的条件信号,而不是附加在最终文本后的标签。

2.3 RNN-T

RNN-T 用 prediction network 建模已输出的 token 历史,用 joint network 融合声学状态与标签状态:

\(z_(t,u) = f_joint(h_t,g_u), P(y_(t,u)|x,y_<u) = softmax(z_(t,u))\)

它能在音频流持续到达时逐步发射 token,比必须等待整段音频的离线 encoder-decoder 更适合实时语音代理。

三、创新点

  • 缓存级流式计算,减少 buffered streaming 的重叠重算。
  • 语言提示让一个共享 checkpoint 覆盖多语言 locale。
  • chunk size 可在推理时切换,不需要重新训练。
  • 原生支持 punctuation 和 capitalization。
  • 0.6B 参数配合缓存式推理,在 H100 上获得高并发。

四、训练数据:规模、来源与标签

官方模型卡给出的训练数据范围是 10,000 到 1,000,000 小时,覆盖 40 个 language locale。来源包括 NVIDIA Riva multilingual ASR training set(专有)、NVIDIA Granary、Multilingual LibriSpeech、Mozilla Common Voice、FLEURS、VoxPopuli 和 Europarl-ASR。

训练标签包括人工标签和合成标签。合成 ASR 标签来自 Canary、Parakeet Multilingual 1.1B RNNT、Parakeet CTC 1.1B、Whisper large-v3 与 FunASR 的模型集成;标点和大小写由 Qwen3-32B 生成:

\(y_hat_i = Consensus(Canary(x_i), Parakeet(x_i), Whisper(x_i), FunASR(x_i))\) \(y_PnC_i = Qwen3-32B(y_hat_i, language_i)\)

Consensus 不能被擅自解释为简单多数投票,因为官方没有披露集成规则。工程上还应结合语言一致性、字符速率、重复检测、空输出和长度比过滤。

4.1 Granary 数量级

Granary 覆盖 25 种欧洲语言,聚合规模约 1M 小时;ASR 侧约 643,238 小时,AST 侧约 351,000 小时。

来源语言数过滤后小时数格式
YODAS-Granary23192,17216 kHz WAV
VoxPopuli24206,116FLAC
YouTube-Commons24122,475WAV
LibriLight英语约 23,500FLAC
ASR 合计25643,238混合格式

Granary 主要提供 NeMo JSONL manifest 和元数据,部分来源需要另行下载音频。典型字段包括 audio_filepath、text、source_lang、target_lang、original_source_id 和 dataset_source。

五、训练阶段

  • 阶段 A:收集和统一 manifest。保留路径、时长、采样率、语言、来源、许可证和原始 ID。
  • 阶段 B:切分、VAD、说话人和语言质检。检查时长、静音比例、字符速率、语言一致性、空文本和异常重复。
  • 阶段 C:多模型伪标注与 PnC。生成候选、做一致性筛选,再用 Qwen3-32B 统一标点和大小写。
  • 阶段 D:流式多语言 ASR 训练。使用 Cache-Aware FastConformer-RNNT、语言 ID 条件和混合多语言数据。
  • 阶段 E:多延迟点评测。以 80 ms 为基本帧,测试 80 ms、160 ms、320 ms、560 ms、1.12 s。
\(D_train = Filter(Normalize(D_public union D_private))\) \(theta* = argmin_theta E[-log P_theta(y | x, language)]\)

六、Granary v2 流水线

Granary v2 把原始录音加工成带元数据、可追溯、可继续处理的训练数据。官方教程包括 Metadata extraction、Indic ASR、Qwen Omni ASR 和 Text pipeline。

6.1 Metadata extraction

  • 读取 recording manifest,重采样到单声道 16 kHz WAV。
  • Sortformer 做说话人分离并输出 RTTM。
  • Silero TensorRT VAD 切分语音段。
  • CNN14 TensorRT 预测声音事件。
  • SpeechBrain、Indic Canary、Whisper 做多级语言识别。
  • 根据一致性选择 source_lang,保留拒绝原因。
  • 片段编码为 Opus,并写出 JSONL metadata。

没有语音的录音保留 vad_empty 审计行;语言意见不一致时保留 skip 标记和预测结果,避免把“无语音”和“文件缺失”混为一谈。

6.2 Indic ASR

Hindi 示例有 11 个阶段:读取 manifest;准备单声道 16 kHz 音频;Canary 主转写;主结果 hallucination 检查;Parakeet 恢复候选;恢复结果检查;选择最佳预测;正则清洗;缩写合并;计算 WER;写回 JSONL。两个 ASR 模型会对每个有效片段都运行。

示例限制 0.5 到 40 秒;最终字段包括 primary_model_prediction、fallback_model_prediction、best_prediction、cleaned_text、abbreviated_text 和 wer_pct。

6.3 Qwen Omni ASR 与 Text pipeline

Qwen3-Omni 生成主转写,已有 transcript 只作为回退文本,不发送给 Qwen。随后执行规则型 hallucination 检查、最佳预测选择、标点和空白清理、缩写合并。Text pipeline 不读取音频,负责实体恢复、PnC、语言识别与验证、逆文本规范化、captioning、code switching 和 speech QA。

6.4 Xenna 与 Ray Data 吞吐

管道基准数据XennaRay Data
Metadata30,631 录音 / 107.76357 小时472.309 audio-hours/hour166.251
Indic ASR216,164 Hindi 片段 / 531.75763 小时3,604.471387.649
Qwen Omni ASR22,710 英语片段 / 80.61259 小时406.615228.424
Text pipeline14,290 行 transcript30.283 rows/s12.217 rows/s

官方对比使用 8 张 H100 80 GB GPU、相同 cohort、镜像、模型和 stage 设置。音频管道吞吐包含模型启动时间;Text pipeline 复用了已启动的模型服务器。

七、实验对比:FLEURS 与流式延迟

分组模式80 ms160 ms320 ms560 ms1.12 s
Transcription-ready 19 localesLangID 平均 WER10.3810.009.499.128.84
Transcription-ready 19 localesAuto-detect 平均 WER11.1410.6710.059.639.21
Broad-coverage 13 localesLangID 平均 WER25.8625.1424.1123.0922.13
Broad-coverage 13 localesAuto-detect 平均 WER27.6226.6525.4124.4423.09

在 1.12 s、LangID 条件下,官方表中英语 WER 为 7.91%,西班牙语 4.11%,意大利语 4.25%,葡萄牙语 5.48%,Hindi 6.81%,德语 8.31%,法语 9.03%,俄语 9.17%,乌克兰语 13.07%。Hindi 在 80 ms 下 LangID 为 8.13%,Auto-detect 为 11.47%;1.12 s 下分别为 6.81% 和 8.23%。日语、韩语和普通话使用 CER。

chunk 增大通常带来更多右侧上下文,平均 WER 下降但等待时间上升:

\(WER(c_1) >= WER(c_2), c_1 < c_2\)

八、吞吐对比与系统意义

配置Nemotron 3.5 ASRParakeet RNNT 1.1B优势
80 ms约 240 路约 14 路约 17 倍
1.12 s约 2,400 路约 400 路约 6 倍

优势来自参数规模、缓存复用、chunk 粒度和 H100 推理实现的共同作用,而不是单纯参数更小:

\(Cost_per_stream proportional to GPU_hourly_cost / sustainable_concurrent_streams\)

WenetSpeech-Min:用于方言语音处理的大规模闽南语语音语料库及双重转写

  • paper: https://arxiv.org/abs/2609.36834
  • code: https://github.com/ASLP-lab/WenetSpeech-Min-Repo

WenetSpeech-Min 是一个开源的大规模闽南语语音语料库,来自不同的在线媒体来源。该语料库包含约 10,000 小时的真实语音数据。每一条语音记录都配有闽南语和普通话的转录文本,这使得系统能够同时实现保留方言特征的识别功能,以及输出清晰的普通话文本功能。

  • 在现实世界中,语音数据来自多个来源,涵盖了各种说话风格、应用场景以及声音条件。
  • 双重转录方式:闽南方言保留了当地的口语表达形式;而普通话则提供了与闽南方言相对应的书面表达形式。
  • 公开基准数据:包括人工验证的闽南语语音识别、普通话语音识别以及闽南语语音合成评估数据。

数据构建流程

该流程由两个主要部分组成:音频处理和配对转写生成。第一部分对音频进行分段,并依据语音内容和声学质量对所得片段进行过滤。第二部分结合多个闽南语 ASR 系统获得方言转写,然后生成对应的普通话转写。

音频处理: 从各种在线媒体来源收集闽南语语音,VAD切分,计算信噪比(SNR)和时长,计算WV-MOS来描述片段的声学质量,预测AED (声学事件检测) , 估计片段包含语音的置信度,并移除低于预定义阈值的片段,最后使用 pyannote 估计每个保留片段中的说话人数;

文本标注工具:使用人工转写的闽南语语音构建专用标注模型,使用 1,600 小时带有人工核验闽南语转写的语音,对 Qwen3-ASR、FireRedASR2-AED 和 Fun-ASR-Nano进行微调,用于生成方言转写候选结果。对一个 600 小时的子集进行标注,并人工核验配对的闽南语和普通话转写,使用 LoRA 对 Qwen3-8B进行微调,从而得到专用的闽南语到普通话翻译模型,用于生成普通话转写。

配对转写生成:三个 ASR 标注模型产生互补的候选结果;随后使用ROVER 对这些结果进行对齐和组合。组合结果被保留为方言转写。普通话转写通过两条路径之一获得。对于带有内嵌字幕的媒体,用 OCR提取字幕文本,并直接使用归一化后的字幕文本。对于其他媒体,则由微调后的 Qwen3-8B 翻译模型将 ROVER 组合得到的方言转写转换为书面普通话。随后对候选转写进行归一化,并对每个音频—文本对执行一致性检查。对于分段不可靠或内容置信度较低的样本,会将其删除或退回修正。

Dataset

WenetSpeech-Min 涵盖了大约 10,000 小时的语音数据。平均语音持续时间为 7.24 秒;中位数则在 5 到 7.5 秒之间,语料库以短话语为主,同时包含少量更长的连续语音片段。其中,约 8,500 小时的语音数据来源于不同来源:戏剧类内容占 54.7%,有声书占 19.8%,而娱乐类内容占 13.9%。

该语料库特意包含了相对清晰的语音记录以及具有挑战性的档案式电视素材。这样可以保留自然的多语言交互场景、富有情感的表达方式,以及多种多样的真实录音环境。

SNR 分布分布主要集中在 10 至 40 dB 之间,占总时长的 73.8%。按时长加权的平均 SNR 为 21.3 dB,中位数落在 19–20 dB 区间,表明所发布的语料库总体具有中等到较高的声学质量,同时保留了相当范围的录音条件

基准

ASR 基准:WS-Min-Eval-ASR,每个话语都配有两份人工核验的参考文本:一份闽南语转写和一份普通话转写。这种配对设计使得两种转写目标能够使用相同的音频片段和标注协议进行评估。所有系统都遵循统一的文本归一化和评分流程。对于闽南语转写,我们针对闽南语参考文本报告方言字符错误率(D-CER)。对于普通话转写,我们针对普通话参考文本报告普通话双语评估替补(M-BLEU)和普通话字符错误率(M-CER)。当有效的普通话表达在措辞上可能不同时,M-BLEU 作为 n-gram 重叠的补充度量;M-CER 则衡量字符级准确率。

TTS 基准:由 LLM 生成、并经过自然度和方言真实性优化的专家核验闽南语文本组成。Easy 子集包含 500 条日常话语,Hard 子集包含 250 条具有挑战性的文本:其中 46 条为 161–270 字的长文本,189 条为包含五至七次重复的高重复文本,15 条为绕口令。我们根据声学质量和方言真实性,从内部闽南语语料库中选取 9 名参考说话人。对于客观评估,使用 Qwen3-ASR-WSM-Min 模型生成的转写,通过 CER 衡量可懂度;说话人相似度(SIM)则计算合成语音与参考语音的 WavLM [2] 嵌入之间的余弦相似度。对于主观评估,23 名以闽南语为母语的听众对 40 个随机选取的测试案例进行评估,指标包括可懂度(I-MOS)、说话人相似度(S-MOS)和口音真实性(A-MOS);其中每个子集抽取 20 个案例。

ASR Leaderboard

 D-CER 和 M-CER 来说,数值越低越好;而对于 M-BLEU 则相反,数值越高越好。†符号表示使用的是商业 API。

闽南语:

ModelD-CER (%) ↓
Hy-ASR-3.0-Preview†32.78
CN-MultiDialect-ASR18.59
Qwen3-ASR34.61
Qwen3-ASR-WSM-Min17.59
Qwen3-ASR-WSM-Min + internal data15.21
FireRedASR2-AED43.39
FireRedASR2-AED-WSM18.95

普通话转录:

Each entry reports M-BLEU ↑ / M-CER ↓; GigaSpeech denotes GigaSpeechBench.

ModelWS-MinGigaSpeechMinSpeechAvg.
FunASR-Realtime†39.09/45.4153.37/32.6228.22/63.2340.23/47.09
SeedASR2.0†38.91/47.5855.32/32.5068.53/26.2154.25/35.43
Qwen3-ASR-MinSpeech20.34/60.5712.39/71.2667.94/23.9333.56/51.92
Qwen3-ASR-WSM-Mandarin42.93/42.5651.20/34.0159.82/29.4251.32/35.33
Qwen3-ASR-WSM-Mandarin
+ internal data
49.39/36.8147.65/36.6665.69/26.2154.24/33.05
FireRedASR2-AED18.05/64.4036.91/49.3513.60/85.0222.85/66.26
FireRedASR2-AED-WSM46.06/39.5357.73/28.6157.73/31.8553.73/33.33

TTS Leaderboard

Lower CER is better; higher is better for all other metrics. † indicates a commercial API. ‡ denotes a single-fixed-speaker API, for which SIM and S-MOS are not evaluated.

WS-Min-Eval-TTS Easy

ModelCER (%) ↓SIM ↑I-MOS ↑S-MOS ↑A-MOS ↑
QwenAudio-3.0-TTS†19.900.6723.883.853.62
Qwen3TTS-Flash†‡24.44–3.93–3.93
FireRedTTS333.760.7473.303.323.13
VoxCPM228.160.7073.453.543.38
MERaLiON-TTS21.250.6223.833.733.65
CosyVoice363.690.6542.132.131.49
CosyVoice3-WSM20.260.6783.853.753.65

WS-Min-Eval-TTS Hard

ModelCER (%) ↓SIM ↑I-MOS ↑S-MOS ↑A-MOS ↑
QwenAudio-3.0-TTS†35.090.6853.753.733.70
Qwen3TTS-Flash†‡38.02–3.75–3.73
FireRedTTS355.330.7313.153.393.04
VoxCPM240.500.6813.173.483.36
MERaLiON-TTS37.280.6223.583.733.63
CosyVoice360.350.6102.002.401.43
CosyVoice3-WSM35.980.6693.653.853.70

Fish Audio Drama 3 技术报告详解:面向导演式语音生成的 35B -A3B MoE 架构、训练数据与工程优化

一、论文要点与模型定位

Drama 3 是一个开放权重语音生成模型,总参数量约 35B,但采用稀疏混合专家结构,每个 Token 实际激活约 3B 参数。模型主干由 Qwen3.5-35B-A3B 初始化,采用 40 层混合架构:每四层包含三层 Gated DeltaNet 线性注意力和一层 Gated Full Attention。语音部分沿用 Fish Audio S2 的离散音频 Tokenizer,每个音频帧由 10 个 Codebook 表示;模型主干预测语义 Codebook,新的 Codebook-MTP Decoder 在同一时间位置并行预测其余 9 个声学 Codebook。

论文把创新概括为三点:

  • Hybrid Backbone + Codebook-MTP Decoder:用线性注意力处理长上下文,同时用少量 Full Attention 保留远距离检索能力,并将 S2 的逐 Codebook Fast AR 替换成一次运行 13 层的多 Token 预测解码器。
  • 一个模型统一多任务:多参考音色克隆、自然语言控制、多角色场景、多轮导演式修改、Speech Infilling、长文本合成和 Streaming Text Input 使用同一种交错文本—音频 Token 流表示。
  • 单一人类偏好奖励:RL 不再把 ASR WER、音质模型和 Speaker Similarity 作为规则奖励,而是训练一个小型 Speech Language Model 作为人类偏好 Reward Model。

二、总体架构

Drama 3 没有额外的音频编码器。参考音频、提示音频和生成音频都先通过离散 Audio Tokenizer 转换成 Codebook 序列,之后与文本 Token 交错输入语言模型。每一个音频帧只占用一个 Backbone 序列位置,因此一秒语音约占 21.5 个位置,与该帧包含多少个 Codebook 无关。

2.1 音频 Tokenizer

  • 基于 Descript Audio Codec,输入采样率为 44.1 kHz。
  • 约每秒 21.5 个音频帧,每帧 10 个 Codebook。
  • Codebook 0 是语义码,Codebook 1–9 是逐级增加细节的残差声学码。
  • 编码和解码完全因果,可以流式运行。
  • 参考音频以离散 Token 进入上下文,因此参考音频的细粒度声学信息可以被后续 Decoder 直接访问。

2.2 Hybrid Backbone 与 MoE

主干初始化自 Qwen3.5-35B-A3B,仅使用其语言模型部分。40 层结构由三层 Gated DeltaNet 加一层 Gated Full Attention 组成周期。DeltaNet 使用近似常数大小的状态保存历史,只有每四层中的 Full Attention 保留随上下文增长的 KV Cache;Full Attention 用来精确检索长上下文中的参考音色、早先台词和场景信息。

每一层的前馈网络都是 MoE:共有 256 个 Routed Experts,每个 Token 路由到 8 个专家,并额外经过一个 Shared Expert。总参数约 35B,但每个 Token 约激活 3B 参数。MoE Router 在预训练和 SFT 阶段都加入负载均衡损失,避免大多数 Token 集中到少数专家。

2.3 Partial Codebook Fusion

S2 将 10 个 Codebook 全部反馈给 Backbone。Drama 3 只把语义码和第一层声学码反馈给 Backbone,Codebook 2–9 绕过 Backbone,作为 Decoder 的侧输入。这样既保留参考音频和已生成语音的粗粒度声学线索,也减少模型暴露在自身采样细节上的误差累积。

设第 t 帧的语义码和第一层声学码分别为 \(q_t^{(0)}\) 和 \(q_t^{(1)}\),则 Backbone 的音频输入为:

\( \mathbf{x}_{t}=\frac{1}{\sqrt{2}}\left(\mathbf{E}^{\mathrm{LM}}\left[s\left(q_t^{(0)}\right)\right]+\mathbf{E}^{(1)}\left[q_t^{(1)}\right]\right) \)

其中 \(s(\cdot)\) 把语义码映射到新增的 4096 个语义 Token,\(\mathbf{E}^{\mathrm{LM}}\) 是语言模型词嵌入,\(\mathbf{E}^{(1)}\) 是第一声学 Codebook 的嵌入表。文本位置只使用语言模型嵌入;Codebook 2–9 不进入 Backbone。

2.4 Codebook-MTP Decoder

在第 t 个位置,Backbone 预测下一帧的语义码 \(q_{t+1}^{(0)}\);Decoder 在同一位置预测下一帧的 9 个声学码 \(q_{t+1}^{(1)},\ldots,q_{t+1}^{(9)}\)。Decoder 共有 13 层:前 4 层是共享层,后 9 层分别对应声学 Codebook 1–9。每一层沿完整时间序列做因果注意力,所以每一个声学 Codebook 都能看到参考音频和此前所有帧的声学细节。

每层先把注入的 Codebook 嵌入与上一层隐藏状态合并:

\(\mathbf{u}^{(\ell)}_t=\mathbf{W}^{(\ell)}\left[\operatorname{RMSNorm}\left(\mathbf{e}^{(\ell)}_t\right);\operatorname{RMSNorm}\left(\mathbf{h}^{(\ell-1)}_t\right)\right]\)

随后经过因果 Transformer Block:

\(\mathbf{h}^{(\ell)}_t=\operatorname{RMSNorm}\left(\operatorname{Block}^{(\ell)}\left(\mathbf{u}^{(\ell)}_{1:t}\right)\right)\)

第 k 个 Codebook 的输出分布可以写为:

\(q_{t+1}^{(k)}\sim\operatorname{softmax}\left(\mathbf{W}_{\mathrm{out}}^{(k)}\mathbf{h}^{(4+k)}_t\right),\qquad k=1,\ldots,9\)

相较于 S2 的 4 层 Fast AR 重复运行 10 次,Drama 3 的 13 层 Decoder 每帧只运行一次,因而大幅缩短顺序路径。

三、训练数据与三阶段预训练

数据由完成转录的语音和文本文档组成;所有语音在进入训练前先经过质量控制;文本文档用于保持 Backbone 的语言建模能力;总体训练规模为数千亿 Token;语言覆盖沿用 S2,约 80 种语言和方言。

3.1 Stage 1:基础文本到语音映射

  • 最大序列长度 8K Token。
  • 训练样本包括纯文本文档和多轮 TTS 对话。
  • 目标是学习文本到音频 Token 的映射、普通 TTS 和零样本音色克隆。
  • System 轮保存任务指令和参考音频,User 轮保存待合成文本,Assistant 轮保存目标音频 Token。
  • 损失只计算在 Assistant 的音频输出、必要的分隔符和结束 Token 上。

3.2 Stage 2:降低梯度噪声

Stage 2 继续使用 Stage 1 的序列格式和任务分布,主要变化是 Batch Size 翻倍,从而降低梯度噪声;学习率衰减留到 Stage 3。它并非独立的新任务阶段,而是让基础语音建模能力在更稳定的优化条件下继续收敛。

3.3 Stage 3:长音频、流式和编辑

  • 最大序列长度提升到 16K Token。
  • 加入整段录音合成:参考音频来自同一录音的后部,目标是前部,避免参考片段和监督目标重叠。
  • 加入逐行合成,用 \(<|audio_separator|>\) 对齐输入文本行和输出音频段。
  • 加入 Streaming Interleave:每个 User 轮包含当前文本块和一个前瞻文本块,模型边生成当前块边知道后续内容。
  • 加入 Speech Infilling:保留原音频编辑窗口前后的 Token,只生成窗口内部的新内容。
  • 样本使用 Document Masking 打包成每行 128K Token,优化器为 Muon。

3.4 预训练目标

令 \(\mathcal{T}\) 为需要监督的文本位置(包括结束 Token 和逐行分隔符),\(\mathcal{S}\) 为语义 Codebook 监督位置,则:

\(\mathcal{L}_{\mathrm{text}}=-\frac{1}{|\mathcal{T}|}\sum_{t\in\mathcal{T}}\log p_{\theta}(x_t\mid x_{<t})\) \(\mathcal{L}_{\mathrm{sem}}=-\frac{1}{|\mathcal{S}|}\sum_{t\in\mathcal{S}}\log p_{\theta}\left(q_t^{(0)}\mid x_{<t}\right)\) \(\mathcal{L}_{\mathrm{cb}}=\frac{1}{9}\sum_{k=1}^{9}\left(-\frac{1}{|\mathcal{S}|}\sum_{t\in\mathcal{S}}\log p_{\phi}\left(q_t^{(k)}\mid\mathbf{h}_{<t},\mathbf{q}_{<t},q_t^{(<k)}\right)\right)\)

总损失为:

\(\mathcal{L}=\mathcal{L}_{\mathrm{text}}+0.5\mathcal{L}_{\mathrm{sem}}+0.5\mathcal{L}_{\mathrm{cb}}\)

文本、语义码和声学码各自按自己的监督桶取平均,避免一个 Batch 中文本和语音比例变化导致损失权重漂移;声学 Codebook 损失会反向传播到 Backbone。预训练和 SFT 同时加入 MoE Router 负载均衡损失。

四、Instruction SFT 阶段:如何让模型学会“听懂导演指令”

SFT 从 Stage 3 Checkpoint 开始,最大序列长度为 32K Token,使用 Indexed Reference Layout。SFT 的目标不是重新学习基础发音,而是把已经具备 TTS 和克隆能力的模型转化为能够遵循复杂自然语言指令、处理对话和场景的生成器。

4.1 SFT 数据类型

  • 普通音色克隆:一段或多段参考音频 + 待合成文本。
  • Point Tags:在文本位置插入 [laughs]、[pause]、[coughs] 等局部事件。
  • Scoped Tags:用 <whisper>...</whisper> 只控制被包围的词或短语。
  • Style Prefix:控制整句的情绪、语速、表达方式。
  • Director’s Note:用自然语言描述意图、节奏、重音和表演方式。
  • 多说话人对话:每个角色绑定一个或多个参考音频,通过 speaker Token 切换角色。
  • 多角色场景:一次提供所有台词,并使用显式分隔符,使当前句能够利用后续台词和场景上下文。
  • 多轮修改:保留旧参考和上一版生成结果,下一轮用“更柔和、更温暖”“比上一版更快”等相对指令生成新版本。
  • 长文本、Speech Infilling 和 Text-only Chat:继续混入训练,防止 SFT 破坏 Stage 3 已学能力。

4.2 SFT 样本如何组织

训练序列采用 ChatML 风格。System 轮包含“把给定文本转换成语音”的任务说明、参考文本和参考音频;User 轮包含目标文本、说话人标记、控制标签和语言/时长提示;Assistant 轮以 \(<|voice|>\) 开始,输出目标音频的 10 个 Codebook。对于多轮修改,旧的 Assistant 音频保留在上下文中,下一轮 User 给出相对上一版的修改意见。

损失只作用于模型自己的 Assistant 输出:语音帧的 10 个 Codebook、需要学习的音频分隔符和 \(<|im_end|>\)。参考音频只提供上下文,不直接产生生成损失。Speech Infilling 额外对编辑窗口两侧的接缝加大监督,使新旧音频能够自然拼接。

五、RL:从可控生成到符合人类偏好的表演

RL 从 SFT Checkpoint 开始。S2 使用 ASR 转录错误、语音质量和 Speaker Similarity 三类规则奖励;Drama 3 去掉它们,因为笑声和长停顿会改变 ASR 结果,耳语和喊叫会降低与中性参考的相似度,而整句质量模型无法评价某个词是否按指令变得更柔和或更有情绪。

5.1 人类偏好 Reward Model

Reward Model 是一个较小的 Speech Language Model,使用相同的 Audio Tokenizer 和序列格式预训练到 Stage 2,并在每条 Take 的结束 Token 上增加 Scalar Head。它直接读取完整 Prompt 和生成音频 Token,不需要额外运行 ASR、Tokenizer Decoder 或 Speaker Model,因此参考音色、文本内容和表演风格都能在同一奖励路径中被判断。

对两条 Take 的人类偏好使用 Bradley–Terry 损失:

\(\mathcal{L}_{\mathrm{RM}}=-\left[y\log\sigma(s_a-s_b)+(1-y)\log\sigma(s_b-s_a)\right]+10^{-3}(s_a^2+s_b^2)\)

5.2 GRPO 配置

  • 每个 Prompt 采样 \(G=8\) 条 Take,温度为 1,不使用 Top-p 或 Top-k 截断。
  • 每条 Take 最长约为期望时长的 2.5 倍,且不超过 4096 帧,约 190 秒。
  • 组内 Reward 标准差低于 0.05 的组丢弃。
  • 使用 Group Relative Policy Optimization,采用均值中心化优势,不使用 KL Penalty 和 Reference Model。
  • 每一步使用 1536 个 Prompt × 8 条 Take,采用大 Batch、少步骤、恒定 Muon 学习率和无 Weight Decay。
  • RL 时 Codebook-MTP Decoder 保持冻结,只更新 Backbone 的语义 Token 策略。
  • Rollout 使用块缩放 FP8 专家权重;训练器使用 BF16,并通过路由回放减少训练和推理路由不一致。

奖励标准化与组内相对比较可写为:

\(z_i=\operatorname{clip}\left(\frac{s_i-\mu_0}{\sigma_0},-3,3\right),\qquad R_i=\frac{1}{n-1}\sum_{j\ne i}\sigma(z_i-z_j)\)

论文强调,大 Batch、少更新步可以让策略朝向更广泛的人类偏好移动,并减少小 Batch、多步训练出现的 Reward Over-optimization。

六、推理引擎与吞吐优化

线上请求分为 Prefill 和 Decode 两阶段:Prefill 一次读取文本与参考音频,Decode 每帧执行一步。单 GPU 同时服务多个流,按轮次执行新请求 Prefill 或所有运行中流的一步 Decode。

指标Drama 3Fish Audio S2
Backbone 后的顺序层数1340
每帧读取权重约 6.0 GB约 15.6 GB
其中 Backbone(不含 Routed Experts)2.9 GB7.3 GB
Codebook-MTP / Fast AR2.1 GB8.3 GB
上下文 KV Cache 增长的层数2336
单 H200 单流速度271 frames/s177 frames/s
  • 减少顺序路径:Codebook-MTP 13 层每帧运行一次;S2 的 Fast AR 需要 10 次、共 40 层顺序 Pass。
  • FP8 Routed Experts:专家使用块缩放 FP8,每个专家参数约 1 Byte。Drama 3 每帧读取约 6.0 GB 权重,不到 S2 的五分之二。
  • 删除 CUDA Graph 之外的 Kernel:辅助 Decode Kernel 从 1429 个降到 1278 个,B300、并发 32 时提升 1.7%;融合 Gated DeltaNet Decode 和采样器计数器后减少 100 个 Kernel,单流提升 4.2%。
  • Prefill Graph:Gated DeltaNet Prefill 每层 Kernel 从 23 个降为 13 个;首帧采样的 Host 时间从 30.9 ms 降至 14.7 ms,早期开发模型在 H200 并发 32 时提升 15.3%。
  • 按线上 Shape 优化 Kernel:从真实服务日志抓取矩阵形状、Batch 和并发分布,再做 Nsight Profiling、算子级验证、引擎内 Token/WER 验证和同机 A/B 测试。FP8 MoE Kernel 在 \(M=256\) 时将 MoE 层耗时降低 19.2%。
  • Prefill–Decode 解耦:新请求的 Prefill 不再阻塞正在播放的 Decode 流,降低高并发下的流式卡顿。

七、实验设置与结果

实验统一使用论文附录中的 Prompt 格式,采样温度 0.7、Top-p 0.7、Top-k 30。静音、语音过短、长度失控、长段噪声或长段静音的输出会被重新生成并重新计分。中文使用 Paraformer-zh 转录,其余语言使用 Whisper-large-v3;Speaker Similarity 使用 WavLM-large + ECAPA-TDNN 说话人嵌入余弦相似度。

7.1 Preference Reward 对表达性的影响

在 Expresso 中,将同一说话人同一句话的中性读法与风格读法配对。耳语相对中性读法的 SIM 下降 0.310,笑声使 WER 上升 0.79 个百分点;因此相似度奖励在耳语样本中 99.7% 偏好中性读法,在笑声样本中 93.9% 偏好中性读法。Drama 3 的 Preference RM 在提示中明确写出风格后,偏好耳语的比例为 62.2%,偏好笑声的比例为 64.4%;不写方向时分别只有 10.6% 和 27.1%。

在 Seed-TTS-Eval 上,RL 后 Drama 3 的首轮中文 CER 从 SFT 的 1.66 降到 1.00,英文 WER 从 3.49 降到 2.20;信号检查失败率从中文 2.82% 降到 1.24%,英文 3.40% 降到 1.84%。重生成异常样本后,中文 CER 为 0.83,英文 WER 为 1.54。

7.2 多参考零样本音色克隆

论文在 LibriSpeech-PC test-clean 上扩展多参考测试集:1127 句、39 位说话人,每个目标说话人额外提供两段不包含目标句的参考音频。Drama 3 使用一段参考时 WER 1.85%、SIM 0.605、UTMOS 4.31;使用三段参考时 WER 仍为 1.85%,SIM 提升到 0.633,UTMOS 仍为 4.31。单参考时,UTMOS 4.31 高于 OmniVoice 的 4.28 和 CosyVoice 3 的 4.28;Qwen3-TTS 为 4.41,但其 WER 和 SIM 分别为 1.60 和 0.704。

7.3 MiniMax 多语言克隆

MiniMax Multilingual Testset 覆盖 24 种语言。Drama 3 相比 OmniVoice 在 15 种语言上错误率更低,相比 FireRedTTS3-Base 在 17 种语言上更低;在阿拉伯语、中文、荷兰语、英语、芬兰语、法语、德语、波兰语、葡萄牙语、土耳其语和越南语 11 种语言上同时低于 OmniVoice、FireRedTTS3-Base 和 Fish Audio S2。与实际通过 API 运行的商业系统比较时,Drama 3 低于 Inworld TTS-2 的语言数为 18,低于 Soniox TTS RT v2 的语言数为 21/23,低于 ElevenLabs v4 的语言包括中文、荷兰语、英语、德语、韩语、俄语、西班牙语、泰语和土耳其语。

语言指标Drama 3OmniVoiceFireRedTTS3Fish Audio S2
中文CER0.631.010.910.73
荷兰语WER0.591.361.150.99
英语WER1.131.562.121.62
芬兰语WER3.093.753.103.33
法语WER2.683.352.642.86
德语WER1.081.501.931.46
土耳其语WER1.622.932.472.25

7.4 Streaming Synthesis

在 1088 条 Seed-TTS-Eval 英文测试句上,流式输出 WER 为 1.86,非流式输出 WER 为 1.83;两者 SIM 都为 0.640。结果说明把音频边生成边发送不会带来明显质量损失。

7.5 Speech Infilling 编辑

在 Ming-Freeform-Audio-Edit 中,先用 Qwen3-ForcedAligner-0.6B 将源音频和转录对齐,再把从第一个不同词到最后一个不同词的区域作为编辑窗口。删除操作还会包含相邻未改变词,以保证窗口有可学习的边界。模型保留窗口前后源音频 Token,只生成窗口内部的目标文本,然后整体解码,避免把源波形直接贴回造成拼接痕迹。

系统英文插入 WER / SIM / MAE英文删除英文替换
Drama 33.03 / 0.905 / 0.2085.79 / 0.838 / 0.1742.08 / 0.866 / 0.181
VoiceCraft-X5.74 / 0.85 / 0.1669.71 / 0.80 / 0.1727.29 / 0.81 / 0.155
LEMAS-Edit6.04 / 0.81 / 0.1589.29 / 0.80 / 0.1676.09 / 0.80 / 0.167
CosyEdit21.90 / 0.93 / 0.1075.52 / 0.90 / 0.1311.43 / 0.89 / 0.137

中文结果中,Drama 3 在插入和替换上的 SIM 分别为 0.909 和 0.898,高于专用编辑模型 CosyEdit2 的 0.89;删除 WER 为 7.82,低于 CosyEdit2 的 8.23。与 Cartesia Sonic-3 的 Infill API 比较,Drama 3 在 Ming-Freeform 基础集/完整集上的英文 WER 为 3.49/3.43,中文为 3.69/2.35;Cartesia 对应为英文 4.58/4.68、中文 8.64/6.53。

7.6 多轮导演式修改

Step-Audio-Edit 要求模型先克隆声音,再通过最多三轮指令逐步靠近目标情绪或风格。Drama 3 在每轮中保留原始参考和上一版 Take,并以 [happier versus previous] 一类相对指令重生成。情绪准确率从第 0 轮的 55.5% 提升到第 3 轮的 58.2%,风格准确率从 76.5% 提升到 81.8%。使用 [coughs] 等 Point Tag 进行局部插入并 Infilling 后,拟声事件评分从 1.32 提升到 2.32。

指标第 0 轮第 1 轮第 2 轮第 3 轮
Drama 3 情绪准确率55.557.257.558.2
Drama 3 风格准确率76.579.480.581.8
Drama 3 拟声事件评分1.322.32––
Step-Audio-EditX 情绪准确率53.666.868.769.3
Step-Audio-EditX 风格准确率45.662.764.263.8

八、工程实现启示

  • 长上下文语音模型可以采用“多数线性注意力 + 少量 Full Attention”,在降低 KV Cache 成本的同时保留参考音频和早期台词的精确检索。
  • 多 Codebook 音频生成不必让主干逐一预测所有声学码;将粗语义信息反馈给 Backbone,把细节留给时间因果 MTP Decoder,可以同时降低曝光偏差和推理顺序长度。
  • 如果训练目标是表现力,WER、SIM 和整句音质分数不宜直接作为唯一奖励。更合理的做法是让 Reward Model 读取“指令 + 参考音频 + 生成音频 Token”的完整上下文。
  • SFT 数据应把多轮对话、参考音频索引、Point/Scoped Tag、分隔符和编辑窗口作为一等数据结构,而不是只把音频和文本做成单句配对。
  • 线上性能主要受权重搬运、Kernel Launch 和 Prefill 阻塞影响。需要从真实服务 Shape 出发做算子优化,并将 Prefill 与 Decode 分离。

九、结论

Drama 3 的关键不只是把模型扩大到 35B,而是把模型、数据格式、SFT 任务和 RL 奖励统一到“导演式表演”这一目标上。Hybrid Backbone 解决长上下文,Partial Codebook Fusion 控制反馈复杂度,Codebook-MTP Decoder 直接利用参考音频的细粒度声学信息;三阶段预训练建立基础语音能力,32K Token 的 Instruction SFT 教会模型遵循指令和维护多轮上下文,单一人类偏好 Reward Model 则让笑声、耳语、停顿和情绪表达不再被传统规则奖励压制。

从实验结果看,Drama 3 在多参考克隆、多语言识别准确率、流式生成、语音编辑和多轮修改上都表现出统一模型的优势;从工程结果看,它在单 H200 上达到 271 frames/s,高于参数量小得多的 Fish Audio S2。论文没有公开完整数据来源和样本规模,这一限制需要在复现或二次训练时单独补齐。

Qwen-Audio-Jev 技术报告详解:用一个决策头统一音频选择、二元判断与质量评分

论文的核心问题是:很多音频理解任务最终只需要一个有限答案,例如从几个候选项中选一个、判断一个命题是否成立,或者给语音质量打分。如果仍然让大型音频语言模型逐字生成答案,就会产生额外的解码延迟、格式解析和结果校验成本。

Qwen-Audio-Jev 保留 Qwen-Audio-3.1-ASR-Flash-Next 的音频编码器、音频到语言适配器和 MoE 语言解码器,在“答案开始之前”的隐藏状态上增加一个专用决策头。模型通过自然语言问题和显式答案规范理解任务,然后直接输出概率分布或数值分数,不再自回归生成答案文本。论文在 18 个标注配置上评测:MMAU-mini 准确率 78.70%,MMSU 准确率 84.06%,VoxCeleb1-O 说话人验证 EER 为 6.50%,NISQA overall 质量评分归一化 MAE 为 0.1062,Pearson 为 0.8210,Spearman 为 0.8074;在论文给定的推理设置下,速度约为原始 Qwen-Audio-3.1-ASR-Flash-Next 的 20 倍。

一、论文要解决的实际问题

传统大模型适合生成开放式文本,但在音频筛选、批量质检、说话人验证和数据标注中,输出空间往往是有界的。比如“这段音频属于哪种声学场景”“两个录音是否来自同一说话人”“这段语音的噪声等级是多少”,都可以表示为有限类别、真假概率或有序评分。自回归文本生成会带来三类问题:

  • 需要逐 Token 解码,短答案也要承担语言模型生成的时间开销。
  • 生成结果还要经过字符串解析、候选映射和格式校验,工程链路更长。
  • 文本答案的概率不一定等于任务本身的类别概率,难以直接做校准和阈值控制。

Jev 的思路是将问题、答案空间和输出类型显式写入接口。模型仍然可以使用自然语言描述音频任务,但最后由固定维度的决策读出完成选择、判断或打分。

二、模型总体设计

2.1 Qwen-Audio-3.1-ASR-Flash-Next 基座

基座模型包含三个主要表示模块:

  • Audio Encoder:从波形中提取声学、说话人、环境声音和韵律等表示。
  • Audio-to-Language Adaptor:对相邻编码帧做时间下采样,并将结果投影到语言解码器的隐藏维度。
  • MoE Language Decoder:把音频表示与文本指令、问题和上下文融合,形成问题条件的隐藏状态。

论文实验使用的解码器为 40 层 MoE,隐藏维度为 2048,共 256 个 Routed Experts,每个 Token 选择 8 个专家。原始模型通过自回归概率生成文字答案:

\(p_{\theta}(y\mid x,u)=\prod_{\ell=1}^{L}p_{\theta}\left(y_{\ell}\mid y_{<\ell},\mathbf{a},u\right)\)

其中 \(x\) 是输入音频,\(\mathbf{a}\) 是音频编码和适配后的表示,\(u\) 是文本指令和上下文。Qwen-Audio-Jev 保留这个音频条件表示通路,但把最终答案从“生成文本”改成“读取决策状态”。

2.2 Jev 决策头插入位置

设 \(q\) 为自然语言问题,设 \(c\) 为答案规范。答案规范规定使用哪一种决策原语、合法答案空间是什么,以及候选项或评分等级的含义。问题和规范被序列化为文本前缀,与音频表示一起送入共享解码器:

\(\mathbf{H}=D_{\theta}\left(\operatorname{Fuse}\left(\mathbf{a},\operatorname{Embed}\left(\operatorname{Serialize}(q,c)\right)\right)\right)\)

决策状态取问题前缀最后一个 Token 的隐藏向量:

\(\mathbf{h}_{\star}=\mathbf{H}_{t_{\star}}\)

\(t_{\star}\) 位于目标答案 Token 之前,因此因果注意力无法读取训练样本中的正确答案,避免标签泄漏。决策头包含三个独立的仿射投影:

\(\mathbf{z}^{\mathrm{Choice}}=\mathbf{W}_{C}\mathbf{h}_{\star}+\mathbf{b}_{C}\) \(z^{\mathrm{Noul}}=\mathbf{W}_{N}\mathbf{h}_{\star}+b_{N}\) \(\mathbf{z}^{\mathrm{Score}}=\mathbf{W}_{S}\mathbf{h}_{\star}+\mathbf{b}_{S}\)

当前实现中,决策头维度分别为 \(\mathbf{W}_{C}\in\mathbb{R}^{64\times d}\)、\(\mathbf{W}_{N}\in\mathbb{R}^{1\times d}\)、\(\mathbf{W}_{S}\in\mathbb{R}^{10\times d}\),其中 \(d=2048\)。Choice 和 Score 只对当前问题实际提供的候选或评分等级做归一化,未使用的位置不参与 Softmax。

2.3 三种类型化输出

统一接口可以写成:

\(f_{\theta}(x,q,c)\longrightarrow r_{\tau},\qquad \tau\in\{\mathrm{Choice},\mathrm{Noul},\mathrm{Score}\}\)

Choice:从候选项中选择

Choice 适用于声学场景、乐器、人类非语音声音、性别、情绪和音频问答。当前实现支持 2 到 64 个候选项。候选项的语义由问题中的描述决定,而不是绑定到一个固定的全局类别 ID:

\(p_{ik}=\frac{\exp(z^{\mathrm{Choice}}_{ik})}{\sum_{j\in\mathcal{C}_{i}}\exp(z^{\mathrm{Choice}}_{ij})},\qquad \hat{k}=\arg\max_{k\in\mathcal{C}_{i}}p_{ik}\)

训练时会随机打乱 Choice 候选项,同时同步打乱候选描述和标签概率,防止模型记住“第一个位置通常是正确答案”。

Noul:二元命题的真实性概率

Noul 适用于“两个录音是不是同一个说话人”“这段音频是否包含讽刺”“音频是否为深度伪造”等二元问题。输出是命题为真的概率:

\(p_{i}=\sigma(z^{\mathrm{Noul}}_{i})=\frac{1}{1+\exp\left(-z^{\mathrm{Noul}}_{i}\right)}\)

Score:有序等级上的分布与期望分数

Score 适用于 NISQA、VoiceMOS 和 BVCC 等主观质量评估。评分等级从 \(0\) 到 \(K_i-1\),模型不只输出一个回归数,还输出完整的等级概率分布。预测期望和目标期望分别为:

\(\hat{s}_{i}=\sum_{k=0}^{K_i-1}k p_{ik},\qquad s_i^{\star}=\sum_{k=0}^{K_i-1}k t_{ik}\)

这种设计同时保留分类分布、评分顺序和原始 MOS 尺度,适合需要概率校准的质量控制系统。

2.4 推理过程

推理时输入音频、自然语言问题和答案规范,模型只执行一次共享解码器前向计算,再读取被请求的输出头。Choice 和 Score 对有效候选或等级做 Softmax;Noul 对单个 Logit 做 Sigmoid。无需生成“答案是……”“评分为……”之类的文本,也不需要后处理字符串。

三、训练数据:

3.1 任务数据

决策类型论文涉及的数据集/配置监督信号典型任务
ChoiceCochlScene、NSynth、NonSpeech7k、DiDiSpeech、MELD、MMAU、MMSU、MMAR类别标签或多选答案声学场景、乐器、咳嗽/笑声等非语音声音、性别、情绪、音频问答
NoulVoxCeleb1-O、Clotho-AQA、PodSarc、In-the-Wild二元真假标签说话人验证、二元音频问答、讽刺检测、音频深度伪造检测
ScoreNISQA overall/noise/coloration/discontinuity/loudness、VoiceMOS有序等级或 MOS 评分噪声、染色、断续、响度、整体语音质量

论文将每条训练样本统一成“音频—问题—答案规范—目标”的格式。一个音频不需要同时拥有 Choice、Noul 和 Score 三类标注;样本只对已有且可靠的目标计算损失,缺失标注不产生 Loss。这是论文处理异构数据的关键。

四、SFT:异构音频任务的联合监督

SFT 阶段联合优化 Audio Encoder、Audio-to-Language Adaptor、语言模型 Backbone 和 Jev 决策头。每条样本只激活其请求的决策原语,另外两个读出头不接受该样本的任务损失。论文没有把训练拆成多个串行阶段,而是把三类任务放入同一个监督微调流中;因此这里的“训练阶段”主要是 SFT 和后续 RLCD-inspired 强化学习两个阶段。

4.1 Choice 损失

对有效候选集合 \(\mathcal{C}_i\),候选概率为:

\(p_{ik}=\frac{\exp(z_{ik})}{\sum_{j\in\mathcal{C}_i}\exp(z_{ij})},\qquad k\in\mathcal{C}_i\)

交叉熵为:

\(\ell_i^{\mathrm{choice}}=-\sum_{k\in\mathcal{C}_i}t_{ik}\log p_{ik}\)

硬标签是 One-hot 分布;当数据提供人工标注分布时,使用 Soft Target。Choice 的候选随机排列是论文中特别强调的抗位置偏置增强。

4.2 Noul 损失

二元标签 \(y_i\in\{0,1\}\) 经过 Sigmoid 得到真值概率,使用 Binary Cross Entropy:

\(p_i=\sigma(z_i),\qquad \ell_i^{\mathrm{noul}}=-y_i\log p_i-(1-y_i)\log(1-p_i)\)

论文同时允许 \(y_i\in[0,1]\) 的软二元标注。这样可以用于多人标注后的概率标签,而不是强行压缩为单一真假值。

4.3 Score 损失

Score 同时使用等级分布交叉熵、累计分布误差和期望分数的 SmoothL1。预测和目标的累计概率分别为:

\(P_{im}=\sum_{k=0}^{m}p_{ik},\qquad T_{im}=\sum_{k=0}^{m}t_{ik}\)

三项损失为:

\(C_i=-\sum_{k=0}^{K_i-1}t_{ik}\log p_{ik}\) \(D_i=\frac{1}{K_i-1}\sum_{m=0}^{K_i-2}(P_{im}-T_{im})^2\) \(H(e)=\begin{cases}\frac{1}{2}e^2,&|e|<1,\\ |e|-\frac{1}{2},&|e|\ge 1\end{cases}\) \(\ell_i^{\mathrm{score}}=C_i+\lambda_{\mathrm{cdf}}D_i+\lambda_{\mathrm{mean}}H(\hat{s}_i-s_i^{\star})\)

论文固定使用 \(\lambda_{\mathrm{cdf}}=0.25\) 和 \(\lambda_{\mathrm{mean}}=0.10\)。这比单一 MSE 回归更适合有序评分:交叉熵约束等级分布,CDF 项惩罚等级距离,SmoothL1 约束原始评分尺度上的期望值。

4.4 SFT 总目标

每条样本只计算其激活原语的损失:

\(\mathcal{L}_{\mathrm{dec}}=\ell_i^{t_i}\)

完整 SFT 目标为:

\(\mathcal{L}_{\mathrm{SFT}}=\mathcal{L}_{\mathrm{dec}}+\lambda_{\mathrm{lb}}\mathcal{L}_{\mathrm{lb}}^{\mathrm{base}}+\mathcal{L}_{\mathrm{rz}}\)

其中 \(\mathcal{L}_{\mathrm{lb}}^{\mathrm{base}}\) 是语言模型 Backbone 的 MoE 负载均衡损失,\(\mathcal{L}_{\mathrm{rz}}\) 是 Router z-loss。论文明确指出,SFT 不包含下一 Token 或多 Token 预测目标。

五、RLCD-inspired 强化学习:优化概率校准

强化学习从 SFT Checkpoint 开始,把每个类型化决策视为一步 Contextual Bandit。它不是为了让模型生成更长的解释,而是让概率分布同时具备正确性和校准性。论文使用基于 Brier Score 和 Ranked Probability Score 的组奖励,并通过采样动作做 REINFORCE 更新。

5.1 探索策略

对于第 \(i\) 个问题,Choice 和 Score 从候选或有序等级分布中采样,Noul 视为 False/True 两类策略。每个问题独立采样 \(M=32\) 个动作,探索行为策略为:

\(\mu_{\theta,i}(a)=(1-\epsilon)p_{\theta,i}(a)+\frac{\epsilon}{K_i},\qquad \epsilon=0.05\)

重要性权重为:

\(w_{ir}=\frac{p_{\theta,i}(a_{ir})}{\mu_{\theta,i}(a_{ir})}\)

5.2 校准导向的组奖励

对真实答案 \(y_i\),Brier 误差为:

\(B_i=\sum_{k=0}^{K_i-1}\left(p_{\theta,i}(k)-\mathbf{1}[k=y_i]\right)^2\)

Score 任务额外加入累计概率误差:

\(D_i=\frac{1}{K_i-1}\sum_{h=0}^{K_i-2}\left(\sum_{k=0}^{h}p_{\theta,i}(k)-\mathbf{1}[y_i\le h]\right)^2\)

论文构造的采样组奖励期望满足:

\(\mathbb{E}[\widehat{J}_i]=-B_i-\lambda_iD_i\)

其中 Score 任务使用 \(\lambda_i=0.25\),Choice 和 Noul 不使用有序等级项。该奖励不只奖励“猜对”,还奖励把概率质量放在正确等级附近,并减少过度自信。

5.3 策略梯度更新

论文使用 Leave-one-out Baseline,构造每个采样动作的 Return 和 Advantage,最终的策略梯度损失为:

\(\ell_i^{\mathrm{PG}}=-\frac{1}{M}\sum_{r=1}^{M}\operatorname{sg}\left[w_{ir}A_{ir}\right]\log p_{\theta,i}(a_{ir})\)

\(\operatorname{sg}\) 表示 Stop-gradient;采样动作、奖励、Baseline 和重要性权重视为常量,梯度只通过动作概率流动。这个阶段的重点是校准概率,而不是增加新的标签类型。

六、评测设置与数据集

论文共评测 18 个标注配置:8 个 Choice、4 个 Noul、6 个 Score。评测覆盖分类、音频问答、说话人验证、讽刺和深度伪造检测,以及语音质量评分。论文重点报告模型自身在这些任务上的结果,而不是逐任务与所有原始基座模型做完整消融对比。

6.1 Choice 任务

Benchmark任务Accuracy (%)
CochlScene声学场景分类77.8717
NSynth instrument乐器识别72.2900
NonSpeech7k sound人类非语音声音识别92.6897
DiDiSpeech gender说话人性别分类100.0000
MELD emotion对话情绪识别57.3072
MMAU多模态音频问答78.7000
MMSU语义、韵律和副语言理解84.0568
MMAR复杂混合音频问答69.9000

Choice 结果显示,性别分类和人类非语音声音识别超过 90%,而 MELD 情绪识别只有 57.31%,是最弱配置。模型对说话人属性和明显的副语言事件更容易判断,对对话情绪这种依赖上下文、语气和角色关系的任务仍有明显提升空间。三个音频问答数据集中,MMSU 最好,MMAU 居中,MMAR 最低,说明复杂混合音频问答比基础类别识别更难。

6.2 Noul 二元判断

ConfigurationAccuracy (%)EER (%)AUCBrierFPR (%)FNR (%)
VoxCeleb1-O93.54416.49800.9822670.0486957.32145.5901
Clotho-AQA79.890119.82510.8786520.14639114.412124.4898
PodSarc98.26511.44270.9952300.0164062.17251.2149
In-the-Wild76.323220.94690.8763180.1581123.782257.2867

PodSarc 和 VoxCeleb1-O 同时具备较高 AUC 和较低阈值错误,说明模型在说话人验证和讽刺检测上的概率排序、二元决策与概率误差都较稳定。In-the-Wild 与 Clotho-AQA 的 AUC 接近,但 In-the-Wild 在 0.5 阈值下 FNR 达到 57.29%,说明它不是不能排序,而是在当前阈值下漏掉了大量正样本。实际部署时应根据业务成本重新选择阈值,而不能只看默认 0.5。

6.3 Score 质量评分

ConfigurationMOS MAEMOS RMSENormalized MAENormalized RMSEPearsonSpearman
NISQA overall0.4246420.5463440.1061600.1365860.8210020.807382
NISQA noise0.5844990.7388430.1461250.1847110.7360520.722851
NISQA coloration0.3453700.4319120.0863420.1079780.8098830.808054
NISQA discontinuity0.4305620.5397930.1076400.1349480.8009400.725388
NISQA loudness0.4369850.5230980.1092460.1307750.7282350.689991
VoiceMOS0.8134971.0040480.2033740.2510120.7230590.753843

NISQA overall 和 coloration 的 MOS 误差较低且相关性接近 0.8;loudness 的平均误差与 overall 接近,但 Pearson 较低,说明“平均偏差小”和“随样本质量变化的趋势一致”是两个不同维度。VoiceMOS 的 Pearson 和 Spearman 都为正,但原始 MOS MAE 为 0.813,高于 NISQA 各维度,说明跨数据集评分尺度和主观一致性仍是难点。

七、对 ASR 和音频理解系统的工程启示

  • 把“识别”和“决策”分开:ASR、说话人验证、质量审核和音频筛选常常只需要结构化结果,直接读出比生成解释文本更适合高吞吐服务。
  • 使用问题条件化的候选空间:同一个输出位置可以在一个问题中表示场景,在另一个问题中表示情绪,候选语义放在问题中,比固定分类头更容易扩展新任务。
  • 把概率校准作为一等目标:线上系统通常需要阈值、置信度和风险排序,Brier、CDF 和概率分布损失比只优化准确率更贴近实际。
  • 允许部分标注:不同音频数据集的标签互不相同,统一“音频—问题—规范—目标”格式,可以在不强行补全标签的情况下联合训练。
  • 对 Score 保留有序结构:语音质量的 2 分和 3 分比 2 分和 5 分更接近,CDF 损失可以把这种等级距离纳入训练。
  • 部署时重新选阈值:In-the-Wild 结果说明 AUC 相近的系统,在固定 0.5 阈值下可能出现完全不同的 FNR,生产系统应根据漏检和误报成本选择 operating point。

Qwen-Audio-Jev 的主要价值在于重新定义音频语言模型的输出接口:输入仍然是音频、自然语言问题和答案规范,输出则从开放式文本改为三种类型化决策。Choice 负责有限候选选择,Noul 负责二元命题概率,Score 负责有序质量分布和期望分数。模型通过共享的 Qwen-Audio-3.1-ASR-Flash-Next 表示通路和一个决策头覆盖多个数据集,再用异构标签的 SFT 和面向校准的 RLCD-inspired 训练统一优化。

论文结果说明,这种设计在音频筛选、说话人验证、深度伪造检测、语音质量评估和批量音频问答中具有工程潜力;但它还不是完整的端到端复现方案,因为训练数据总量、数据配比、完整消融和统一速度基准仍未公开。对于 ASR 团队,最值得借鉴的是:把高频、有限答案的后处理任务从“生成式问答”改造成“问题条件化决策”,并把概率校准、候选重排和缺失标签处理直接纳入训练接口。

Index-Translate 深度解析:从 150 语种翻译到语音、可控配音与长文档的一体化模型家族

摘要:哔哩哔哩 Index LLM 团队在 2026 年 9 月发布了 Index-Translate。它不是单一的“文本翻译模型”,而是以 Qwen3.5 为基础,向文本、语音翻译、音节可控配音和原生长文档翻译扩展的模型家族。

Index-Translate 35B-A3B preview、9B 与 2B 文本模型的七维翻译能力对比

一、项目定位:把“翻译质量”扩展为可交付能力

传统机器翻译通常优化句子级质量,但真实内容生产还需要保留 JSON、CSV、Markdown、变量占位符和术语;字幕要适配时长;社区文本要翻出梗意;书籍翻译要维持人物、术语和概念层级。Index-Translate 的核心判断是:翻译模型应当同时优化语义、约束、模态和上下文,而不是只追求一个 BLEU 或 COMET 分数。

模型家族目前包含五类成员:

  • Index-Translate:文本、结构化内容、指令翻译与社区表达,覆盖 150 种语言,提供 2B、9B 和 35B-A3B(preview)。
  • Index-Echo:语音到文字(S2TT)和语音到语音(S2ST),支持目标语言字幕、配音与说话人声音条件。
  • Index-Homura:接收目标音节数,在保持语义的同时重组译文长度。
  • Index-NativeLong:输入完整文档并连续生成译文,面向书籍、网文和长篇资料的一致性。

二、统一基础模型:多语种中训 + 专家融合

1. 多语言 Mid-training

技术报告将训练拆成 constant 和 decay 两阶段。constant 阶段混合通用文本、平行语料和单语文本,采样比例为 1:1:1,7,000 步、117.44B tokens;decay 阶段使用通用文本、pivot-20 与 pivot-148 数据,比例为 1:4:2,3,000 步、50.33B tokens。总预算约 167.77B tokens,序列长度通常为 4,096,随后为长文档任务增加更长上下文。

这里的 pivot 组织不是简单地把双语句对堆在一起,而是通过英文锚点把多个语言版本连接起来。例如:

\(x_{zh}\leftrightarrow x_{ja}\) 表示普通平行数据;\(x_{zh}\leftrightarrow x_{en}\leftrightarrow x_{ja}\) 表示 pivot 数据。报告中的消融显示,多语言覆盖能明显提升非核心语言表现,同时仍需控制对通用能力的损耗。

2. 专家训练与融合

团队分别训练通用翻译专家、指令翻译专家和 MEME(社区文化表达)专家。指令专家使用约 104.5 万条、覆盖十类真实场景的样本;训练目标既包括术语、格式和结构保护,也包括风格、上下文消歧和跨句一致性。通用翻译和指令翻译使用 GRPO,MEME 使用参考引导的 LLM judge。

融合不是简单拼接多个 LoRA,而是先做参数插值:

\(\theta_{merge}=w_G\theta_G+w_I\theta_I+w_M\theta_M,\quad w_G+w_I+w_M=1\)

发布模型使用的代表性权重为 \(w_G:w_I:w_M=0.8:0.1:0.1\),之后用针对弱项的多教师 on-policy distillation(MOPD)修补融合后的能力缺口。这种设计的价值在于:通用质量、指令遵循和文化适配可以共享底座,但不必强行用一个训练目标解决所有任务。

三、三项关键扩展:语音、音节与长文档

1. Index-Echo:从“翻译文本”到“翻译声音”

Index-Echo S2TT 将 Qwen3-Omni AuT 音频编码器与 Index-Translate 解码器连接起来,直接从源音频生成目标语言文字。S2ST 则在 S2TT 基础上增加约 3,000 万参数的 Hidden2CV 映射器,把翻译器隐藏状态映射到 CosyVoice3 的语义层,并使用 DiffRO 通过 Gumbel-Softmax 语音 token 优化内容一致性;源音频还提供说话人 embedding 与声音提示。

任务/模型MT judgeASR/WER 中位误差起始时间 MAE
Index-Echo-2B S2TT0.8250.0880.395 s
Index-Echo-9B S2TT0.8570.1020.488 s
Qwen3.8-Omni-Flash0.8870.1121.004 s
SeamlessM4T-v20.0601.000—

报告还比较了 pipeline 与端到端 S2ST。以中文到日语为例,9B 端到端方案的内容错误率均值/中位数为 0.0436/0.021,音色相似度 Spk 为 0.782;这说明语音翻译的评价不能只看文本,还要同时考察内容、时间轴和说话人条件。

2. Index-Homura:把音节预算写进优化目标

HOMURA 论文指出,大语言模型翻译存在跨语言“冗长偏置”:译文往往比时间预算允许的长度更长。它提出 Sand-Glass 基准,用真实视频转写、停顿分段和信息密度校准构造音节级时长约束。中文到英文、德文、西班牙文的理论扩展约为 1.03、1.19、1.49 倍,但未经约束的 LLM 平均扩展可达到 1.35、1.59、1.84 倍。

HOMURA 的基本长度比定义为:

\(\rho(x,y)=\frac{\sigma(y)}{\max(\sigma(x),1)}\)

其中 \(\sigma(\cdot)\) 是音节数。模型使用动态区间 \([L(x),R(x)]\),短句会适当放宽下界,长度奖励采用区间内满分、区间外指数衰减;质量奖励则由回译语义相似度、流畅性判定和可选的 GenRM 组成。整体目标可写为:

\(R(x,c,y)=\lambda_{len}R_{len}(x,y)+\lambda_{qual}R_{qual}(x,y)\)

在 3,600 条 Sand-Glass 测试案例中,Index-Homura-9B 的输出有 81.92% 与目标音节数偏差不超过 10%,明显高于普通模型的约 13%–48%。代价是:当约束越来越紧时,COMET 等质量指标会下降,模型必须在信息密度与自然度之间做可解释的折中。

模型Quality偏差≤1 音节偏差≤10%长度拟合斜率
Index-Homura-9B(RL)0.786374.42%81.92%0.968
Index-Homura-9B(SFT)0.858141.39%45.75%0.680
GPT-5.6-Sol(low)0.871542.53%47.64%0.891
Qwen3.5-9B0.718315.61%16.39%0.430

3. Index-NativeLong:原生长文档而不是“分块 + 词表”

NativeLong 的关键假设是:书籍翻译中的人物身份、术语层级和叙事关系,不能完全依靠分块翻译后再拼接。2B/9B 模型通过约 4K–64K 中文侧 token 的双向文档监督进行全参数 SFT,并在 mid-training decay 阶段使用 128K 序列实验。报告显示,Index-NativeLong-9B 在 GuoFeng、BWB、General Books 上的平均得分分别为 0.7891、0.7683、0.8848。

案例中,32K token 奇幻文本里的“王妃”在原生全文翻译的三个位置都保持为 Wang Fei,而同一 9B 模型使用分块和自动词表时,后文变成 the Dean、The Queen Consort。冰川史案例也显示,原生全文能够区分 ice age(冰河时代)、glacials(冰期)和 interglacials(间冰期),避免把上下位概念压成同一个词。

四、RIVAL 与 HOMURA:两条强化学习技术线

Index-Translate 技术报告明确吸收了 RIVAL 的训练思想。RIVAL 发现,传统 RLHF 中离线 reward model 会因为策略分布不断变化而失配,模型可能通过“奖励投机”获得高分,却生成不存在于原文的内容。因此 RIVAL 把 reward model 与翻译模型写成迭代的 min–max 对抗过程:

\(\min_{r_\phi}\max_{\pi_\theta}\;\mathbb{E}[r_\phi(x,\pi_\theta(y|x))]-\mathbb{E}_{y\sim P_{strong}}[r_\phi(x,y)]\quad\text{s.t.}\quad D_{KL}(\pi_\theta\|\pi_{ref})<\eta\)

RIVAL 的 reward model 同时学习定性偏好和定量偏好:前者用强/弱翻译排序,后者用 BLEU 的 MAE 近似。实验中,MAE 的定量误差为 0.19、定性准确率为 99.5%,优于 MSE 的 0.93 和 97.0%。在中文到英文的口语字幕任务上,RIVAL-Iter1 的 GPT-4o 平均评分为 3.68,优于 Qwen2.5-7B-SFT 的 3.46;WMT 中文到英文在 Iter2 达到 BLEU 33.42、COMETKiwi 73.61。

两条技术线各自解决不同问题:RIVAL 解决 reward model 与策略分布漂移,HOMURA 解决时长约束下的质量—压缩折中。Index-Translate 则把这些训练方法组合到通用翻译、指令翻译、MEME 和字幕任务中。

五、实验对比:质量、约束遵循与小语种不能混成一个分数

技术报告使用 FLORES-200、FLORES 低资源对、WMT24++、WMT26、instTrans、IFMTBench、MEME、OPUS-Books、Biomedical、MTNT、MuST-Cinema 和 GuoFeng-Webnovel 等数据。需要注意:COMET-22、XCOMET-XXL、WMT judge、IFscore 和 MEME 分数的量纲不同,不能直接横向相加。

模型FLORES COMET-22WMT26 JudgeinstTrans IFscoreMEME
Index-Translate-35B-A3B(preview)0.879476.760.83360.7405
Index-Translate-9B0.878975.350.82090.7387
Index-Translate-2B0.865560.260.75690.6443
Hy-MT2-7B0.874760.510.60790.5139
GPT-5.6-Sol0.865089.100.76240.7194

低资源结果更能体现项目的训练取向:35B-A3B 在 FLORES_minor_pair 上取得 COMET-22 0.8168、XCOMET-XXL 0.7164,off-target 仅 2.4%;9B 在 instTrans_minor 上取得 IFscore 0.7725,且 off-target 为 3.47%。指令基准 instTrans 包含 3,000 条中文到 20 种语言任务,低资源扩展另有 2,793 条;MEME 则包含 3,638 条中译英社区表达,覆盖 703 个词语和 857 个词义。

通用能力方面,Index-Translate-9B 的 C-Eval、GPQA-Diamond、INCLUDE、MMMLU 分数分别为 69.6、36.3、63.1、66.6;这说明专家融合后仍保留一定基础模型能力,但它的主要优势仍在翻译与约束任务,而非通用问答榜单。

六、最值得关注的创新点

  • 能力边界被显式建模:把“格式是否保留、术语是否一致、目标语言是否正确、音节是否命中、长文身份是否稳定”作为可测量目标,而不是只看译文流畅度。
  • 多语基础与专门模型分工:150 语种共享基础模型,语音、音节、长文档采用专门训练,避免一个模型在所有约束上互相牺牲。
  • 奖励函数更接近生产需求:通用翻译使用 XCOMET、目标语言 gate 和 adequacy;指令翻译加入硬约束 gate;HOMURA 加入动态音节奖励;RIVAL 用迭代 reward model 缓解 reward hacking。
  • 参数融合后再定向蒸馏:先用 0.8/0.1/0.1 融合通用、指令和 MEME 专家,再通过 MOPD 修复融合造成的局部退化。
  • 从句子级走向内容生产级:语音输出、时间轴、声音条件、结构化数据和全篇一致性都进入同一产品路线。

七、局限与使用建议

第一,35B-A3B 仍是 preview,论文与 README 的部分评测使用不同解码和汇总口径;引用数据时应注明模型版本和指标。第二,音节数只是语音时长代理,真实配音还受语速、停顿、音素时长和声码器影响。第三,NativeLong 对超长文档的显存、吞吐和错误恢复要求较高,生产部署仍要评估上下文窗口与并发成本。第四,LLM judge、回译和 XCOMET 都可能存在偏差,官方也记录了引用后缀、终止标记等 judge failure cases。

如果你的任务是结构化资料、社区内容或多语言产品文本,优先选择 Index-Translate-9B;如果是低延迟或资源受限场景,可从 2B 开始。如果是视频字幕和配音,建议使用 Index-Echo + Index-Homura 的组合,并把实际音频时长作为最终验收标准;如果是书籍、网文或技术报告,优先测试 NativeLong 的全篇一致性,再决定是否采用分块流程。

八、结语

Index-Translate 的价值不只在于“多翻几种语言”,而在于重新定义翻译模型的交付指标:能否保留结构、接住语境、压进时长、维持音色,并在一整本书里保持同一个人物和概念。它的工程路线也很清晰:共享多语底座,专家化训练,参数融合与定向蒸馏,再为语音、长度和长文档建立专门接口。对于希望把翻译直接接入内容生产流程的团队,这种模型家族式设计比单一榜单分数更值得关注。

参考资料