模型概述
模型特點
模型能力
使用案例
🚀 R1 - AQA --- 強化學習在音頻問答任務中超越監督微調:案例研究
R1 - AQA 是一個音頻問答(AQA)模型,它基於 Qwen2 - Audio - 7B - Instruct
,並使用分組相對策略優化(GRPO)算法通過強化學習進行了優化。該實現僅使用 38k 個後訓練樣本就在 MMAU 基準測試中取得了最先進的性能。更多詳細信息,請參考我們的 Github 和 技術報告。
🚀 快速開始
R1 - AQA 是一個基於 Qwen2 - Audio - 7B - Instruct
的音頻問答模型,通過強化學習優化,在 MMAU 基準測試中表現出色。下面將為你介紹該模型的相關信息及使用示例。
✨ 主要特性
- 算法有效性:GRPO 算法可直接且有效地應用於音頻模態,即使是參數僅 82 億的
Qwen2 - Audio - 7B - Instruct
模型也適用。 - 數據高效性:僅使用 38k 個後訓練樣本,強化學習就超越了監督微調,表明基於強化學習的方法在沒有大型數據集的情況下也能有效。
- 推理研究:顯式推理過程對 AQA 任務未顯示出顯著益處,如何有效利用“深度思考”或逐步推理仍是待研究的開放問題。
- 發展空間:大型音頻語言模型(LALMs)在聽覺 - 語言推理方面仍遠落後於人類,基於強化學習的方法值得進一步探索。
📚 詳細文檔
介紹
R1 - AQA 是基於 Qwen2 - Audio - 7B - Instruct
的音頻問答(AQA)模型,通過分組相對策略優化(GRPO)算法進行強化學習優化。該實現僅用 38k 個後訓練樣本就在 MMAU 基準測試中達到了最先進的性能。
我們的主要發現如下:
- GRPO 算法可直接且有效地應用於音頻模態,甚至適用於參數僅 82 億的
Qwen2 - Audio - 7B - Instruct
。 - 僅 38k 個後訓練樣本,強化學習就超越了監督微調,說明基於強化學習的方法無需大型數據集也能有效。
- 顯式推理過程對 AQA 任務未顯示出顯著益處,如何有效利用“深度思考”或逐步推理仍是待研究的開放問題。
- 大型音頻語言模型(LALMs)在聽覺 - 語言推理方面仍遠落後於人類,基於強化學習的方法值得進一步探索。
額外說明
- AVQA 訓練集原本約有 40k 個樣本,但由於部分數據源失效,我們僅使用了約 38k 個樣本。其他使用 YouTube 源的數據集(如 AudioSet)也面臨類似問題。我們認為缺失的 2k 個樣本對訓練結果影響不大。
- 關於 82 億參數的表述基於《Qwen2 - Audio 技術報告》。
表格:MMAU 基準測試的準確率(%)
模型 | 方法 | Test - mini | Test | Test - mini | Test | Test - mini | Test | Test - mini | Test |
---|---|---|---|---|---|---|---|---|---|
- | 人類* | 86.31 | - | 78.22 | - | 82.17 | - | 82.23 | - |
Gemini Pro 2.0 Flash | 直接推理* | 56.46 | 61.73 | 58.68 | 56.53 | 51.65 | 61.53 | 55.60 | 59.93 |
Audio Flamingo 2 | 直接推理* | 61.56 | 65.10 | 73.95 | 72.90 | 30.93 | 40.26 | 55.48 | 59.42 |
GPT4o + 強能力 | 直接推理* | 57.35 | 55.83 | 49.70 | 51.73 | 64.86 | 68.66 | 57.30 | 58.74 |
Llama - 3 - 8B - Instruct + 強能力 | 直接推理* | 50.75 | 49.10 | 48.93 | 48.93 | 55.25 | 62.70 | 52.10 | 53.57 |
Qwen2 - Audio - 7B - Instruct | 直接推理* | 54.95 | 45.90 | 50.98 | 53.26 | 42.04 | 45.90 | 49.20 | 52.50 |
SALAMONN | 直接推理* | 41.00 | 40.30 | 34.80 | 33.76 | 25.50 | 24.24 | 33.70 | 32.77 |
Qwen2 - Audio - 7B - Instruct | CoTA [1] | 60.06 | - | 64.30 | - | 60.70 | - | 61.71 | - |
Qwen2 - Audio - 7B - Instruct | Zero - Shot - CoT [2] | 61.86 | - | 56.29 | - | 55.26 | - | 57.80 | - |
Qwen2 - Audio - 7B - Instruct | GRPO(我們的方法)1️⃣ | 69.37 | - | 66.77 | - | 57.36 | - | 64.50 | - |
Qwen2 - Audio - 7B - Instruct | GRPO(我們的方法)2️⃣ | 68.77 | 69.76 | 64.37 | 61.40 | 63.66 | 62.70 | 65.60 | 64.36 |
註釋
* 數據來源於 MMAU 排行榜。
[1] Xie, Zhifei 等人的論文 "Audio - Reasoner: Improving Reasoning Capability in Large Audio Language Models." arXiv 預印本 arXiv:2503.02318 (2025)。
[2] Ma, Ziyang 等人的論文 "Audio - CoT: Exploring Chain - of - Thought Reasoning in Large Audio Language Model." arXiv 預印本 arXiv:2501.07246 (2025)。
1️⃣ 這是原始模型,與 Hugging Face 上的模型相同,在我們的技術報告中有描述。
2️⃣ 這是提交到 MMAU 排行榜 的模型,經過多次訓練以獲得平衡的結果。
💻 使用示例
基礎用法
import torch
import torchaudio
from transformers import Qwen2AudioForConditionalGeneration, AutoProcessor
# 加載模型
model_name = "mispeech/r1-aqa"
processor = AutoProcessor.from_pretrained(model_name)
model = Qwen2AudioForConditionalGeneration.from_pretrained(model_name, torch_dtype=torch.bfloat16, device_map="auto")
# 加載示例音頻
wav_path = "test-mini-audios/3fe64f3d-282c-4bc8-a753-68f8f6c35652.wav" # 來自 MMAU 數據集
waveform, sampling_rate = torchaudio.load(wav_path)
if sampling_rate != 16000:
waveform = torchaudio.transforms.Resample(orig_freq=sampling_rate, new_freq=16000)(waveform)
audios = [waveform[0].numpy()]
# 生成提示文本
question = "Based on the given audio, identify the source of the speaking voice."
options = ["Man", "Woman", "Child", "Robot"]
prompt = f"{question} Please choose the answer from the following options: {str(options)}. Output the final answer in <answer> </answer>."
message = [
{"role": "user", "content": [
{"type": "audio", "audio_url": wav_path},
{"type": "text", "text": prompt}
]}
]
texts = processor.apply_chat_template(message, add_generation_prompt=True, tokenize=False)
# 處理
inputs = processor(text=texts, audios=audios, sampling_rate=16000, return_tensors="pt", padding=True).to(model.device)
generated_ids = model.generate(**inputs, max_new_tokens=256)
generated_ids = generated_ids[:, inputs.input_ids.size(1):]
response = processor.batch_decode(generated_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)
print(response)
📄 許可證
本項目採用 Apache - 2.0 許可證。
📚 引用
@article{li2025reinforcement,
title={Reinforcement Learning Outperforms Supervised Fine-Tuning: A Case Study on Audio Question Answering},
author={Li, Gang and Liu, Jizhong and Dinkel, Heinrich and Niu, Yadong and Zhang, Junbo and Luan, Jian},
journal={arXiv preprint arXiv:2503.11197},
year={2025},
url={https://github.com/xiaomi-research/r1-aqa; https://huggingface.co/mispeech/r1-aqa}
}









