AnyAudio-Judge Bench and AnyAudio-Judge Corpus
收藏资源简介:
AnyAudio-Judge 是一个基于动态评分标准的音频指令跟随基准和评估器。它包含两个核心数据集:AnyAudio-Judge Bench 是一个双语(英文/中文)多领域基准数据集,每个语言有7,920个样本,覆盖7个子集(speech、speech_gen、sound、sound_gen、music、music_gen、mix),并包含精心构建的困难负样本;AnyAudio-Judge Corpus 是一个包含105K样本的SFT训练集,带有明确的思维链推理和每个评分的二元标签。
AnyAudio-Judge is an audio instruction-following benchmark and evaluator based on dynamic scoring criteria. It consists of two core datasets: AnyAudio-Judge Bench is a bilingual (English/Chinese) multi-domain benchmark dataset with 7,920 samples per language, covering 7 subsets including speech, speech_gen, sound, sound_gen, music, music_gen, and mix, and includes carefully curated hard negative samples; AnyAudio-Judge Corpus is an SFT training set containing 105K samples, and is equipped with explicit chain-of-thought reasoning and binary labels for each scoring criterion.
数据集概述:AnyAudio-Judge
AnyAudio-Judge 是一个基于**动态评分标准(Dynamic Rubric)**的音频指令遵循能力评测基准与评估器。它旨在替代传统单一的整体匹配/不匹配判断,通过将指令分解为多个独立、可验证的二元评分项,汇总各项概率,最终生成可解释的对齐分数。
核心组成
该仓库包含以下四个主要部分:
-
AnyAudio-Judge Bench(评测基准)
- 一个双语(英文/中文)多领域基准测试集。
- 每种语言包含 7,920 个样本,分为
speech,speech_gen,sound,sound_gen,music,music_gen,mix共 7 个子集。 - 刻意构建了困难负样本(hard negatives),正负样本比例严格为 1 : 1。
- 负样本通过指令交换和属性扰动两种方式构造。
-
AnyAudio-Judge Corpus(训练语料库)
- 一个包含 105K 样本的 SFT(监督微调)训练集。
- 每个样本附带显式的思维链(Chain-of-Thought)推理过程和每条评分标准的二元标签。
-
AnyAudio-Judge Models(评估模型)
- 提供两个训练好的评估模型:
AnyAudio-Judge-7B:基于 Qwen2.5-Omni-7B 初始化。AnyAudio-Judge-30B:基于 Qwen3-Omni-30B-A3B-Captioner 初始化(论文中报告的模型)。
- 提供两个训练好的评估模型:
-
推理与评估代码
- 提供可复现评分标准分解、评估和基准测试评分的脚本。
关键资源链接
| 资源 | HuggingFace 链接 |
|---|---|
| 基准测试集 (en + zh) | https://huggingface.co/datasets/cucl2/AnyAudio-Judge-Bench |
| 训练语料库 | https://huggingface.co/datasets/cucl2/AnyAudio-Judge-Corpus |
| 评估模型 (7B) | https://huggingface.co/cucl2/AnyAudio-Judge-7B |
| 评估模型 (30B) | https://huggingface.co/cucl2/AnyAudio-Judge-30B |
动态评分标准范式(Dynamic Rubric Paradigm)
对于给定的音频-指令对 (a, i),评估流程分三步:
- 分解:使用大语言模型(论文中使用 Qwen3-30B-A3B-Instruct-2507)将指令
i分解为n个原子化的、可验证的“是/否”评分项{p_1, ..., p_n}。 - 评估:使用音频-语言模型评估每个评分项
p_j。通过读取“yes”和“no”答案标记的 logits 值,计算软满足概率p_j^yes。 - 聚合:将所有评分项的软概率取平均值,得到整体对齐分数
s = (1/n) * sum_j p_j^yes。
每个评分项还附带简短的理由(evidence),提供可解释的、细粒度的诊断结果。
基准测试子集详情
| 子集 | 样本数(每种语言) | 描述 |
|---|---|---|
speech |
1,200 | 真实语音,从 InstructTTSEval 中筛选 |
speech_gen |
2,000 | 由 Qwen3-TTS / MOSS-VoiceGen / MiMo-Audio 合成 |
sound |
1,000 | 来自 Clotho v2 的真实音效 |
sound_gen |
1,200 | 由 AudioGen / AudioLDM2 / Stable Audio 合成 |
music |
720 | 来自 Song Describer 的真实音乐 |
music_gen |
800 | 由 MusicGen / ACE-Step / Stable Audio 合成 |
mix |
1,000 | 约1分钟的真实电影混合音频 |
| 总计 | 7,920 ×2 (en/zh) |
基准测试中每行数据包含:uuid(唯一ID)、audio(音频)、caption(指令)、label(标签“yes”/“no”)、type(类型)、subset(子集)、rubric(评分标准列表,包含维度、问题、依据)。
主要结果(AnyAudio-Judge Bench 上的准确率)
| 模型 | 英文平均准确率 | 中文平均准确率 |
|---|---|---|
| AnyAudio-Judge (本文) | 84.45 | 85.26 |
| Gemini-2.5-Pro | 77.72 | 80.01 |
| Qwen3-Omni-30B-A3B-Instruct | 77.34 | 76.82 |
| Kimi-Audio-7B-Instruct | 70.81 | 70.84 |
安装与使用
-
环境要求:Python ≥ 3.10。
-
安装命令: bash git clone https://github.com/CuCl-2/AnyAudio-Judge.git cd AnyAudio-Judge pip install -r requirements.txt
-
快速开始:提供了一个三阶段流水线(分解、清理、评估),可通过
anyaudio_judge库调用。decompose_instruction()函数用于将指令分解为评分项。AnyAudioJudge类用于评估音频。支持logits(默认,输出连续分数,适合作为RL奖励)和generate(输出离散“是/否”答案及证据)两种模式。
许可证
- 代码:Apache-2.0。
- 评估基准和语料库:音频数据源自公开数据集,使用前请查阅上游许可证。
- 模型权重:Apache-2.0,继承自基础 Qwen 模型。





