开源语音大语言模型来了!阿里基于Qwen-Chat提出Qwen-Audio!
论文链接:https://arxiv.org/pdf/2311.07919.pdf
开源代码:https://github.com/QwenLM/Qwen-Audio
引言
大型语言模型(LLMs)由于其良好的知识保留能力、复杂的推理和解决问题能力,在通用人工智能(AGI)领域取得了重大进展。然而,语言模型缺乏像人类一样感知非文本模态(如图像和音频)的能力。作为一种重要模态,语音提供了超越文本的多样且复杂的信号,如人声中的情感、语调和意图,自然声音中的火车汽笛、钟声和雷声,以及音乐中的旋律。使LLMs能够感知和理解丰富的音频信号以进行音频交互引起了广泛关注。
以前关于遵循指令的工作主要是通过继承大型(多模态)LLMs的能力,采用轻量级的监督微调来激活模型的能力以与用户意图对齐。然而,由于缺乏能够处理各种音频类型和任务的预训练音频语言模型,大多数工作在音频交互能力上受到限制。现有的代表性音频语言多任务语言模型,如SpeechNet、SpeechT5、VIOLA 、Whisper和Pengi,仅限于处理特定类型的音频,如人声或自然声音。
简介
为了促进音频-文本多模态社区的增长和发展,我们引入了Qwen-Audio,一个大规模音频语言模型。Qwen-Audio是一个以音频和文本输入为条件的多任务语言模型,扩展了Qwen-7B语言模型,通过连接单个音频编码器有效地感知音频信号。与以往主要迎合单一类型的音频(如人声)的工作不同,或者专注于特定任务(如语音识别和字幕),或者将模型限制在单一语言上,我们扩大了训练规模,涵盖了超过30个任务、八种语言和各种音频类型,以推进通用音频理解能力的发展。
多任务和多数据集共同训练面临的一个重要挑战是不同数据集关联的文本标签的相当大的变化。这种变化源于任务目标、语言、注释粒度和文本结构(结构化或非结构化)的差异。为了解决这个一对多的挑战,我们精心设计了一个多任务训练框架,将解码器的输出条件为一系列分层标签。这种设计鼓励知识共享,并通过共享和指定标签来减少干扰。此外,我们还将语音识别与基于字级时间戳预测(SRWT)的任务结合起来进行训练,这在以前的多任务学习研究中通常被忽视。我们发现这个任务不仅在超越语音信号的基于语音的问题回答任务(如声音和音乐)方面改进了接地任务,还改善了ASR的性能。

方法与模型
本文介绍了Qwen-Audio和Qwen-Audio-Chat的详细信息,这两个系统旨在实现基于人类指令的通用音频理解和灵活交互。我们的模型训练过程包括两个阶段:多任务预训练和监督微调。

Qwen-Audio模型的结构如图所示。Qwen-Audio包含一个音频编码器和一个大型语言模型。给定成对数据(a, x),其中a和x表示音频序列和文本序列,训练目标是最大化下一个文本标记的概率。

在给定音频表示和之前的文本序列x<t的条件下,θ和ϕ分别表示llm(large language model,大语言模型)和音频编码器的可训练参数。
1 音频编码器
Qwen-Audio采用单个音频编码器来处理各种类型的音频。音频编码器的初始化基于Whisper-large-v2模型 ,这是一个包含两个卷积下采样层作为起始层的32层Transformer模型。音频编码器由640M个参数组成。虽然Whisper是针对语音识别和翻译进行监督训练的,但它的编码表示仍然包含丰富的信息,如背景噪音,甚至可以用于恢复原始语音。为了预处理音频数据,Whisper将其重新采样为16kHz的频率,并使用25ms的窗口大小和10ms的跳跃大小将原始波形转换为80通道的Mel频谱图。此外,还加入了一个步幅为2的池化层以减少音频表示的长度。因此,编码器输出的每一帧大约对应于原始音频信号的40ms片段。在训练时应用了SpecAugment作为数据增强方法。
2 大语言模型
Qwen-Audio采用了一个大语言模型作为其基础组件。该模型使用从Qwen-7B导出的预训练权重进行初始化。Qwen-7B是一个32层Transformer解码模型,隐藏大小为4096,总共有77亿个参数。
3 多任务预训练
受Whisper的启发 ,为了将不同类型的音频结合起来,我们提出了一个多任务训练格式框架,如下所示:
• 转录标签:使用转录标签表示预测的开始。<|startoftranscripts|>用于指示任务涉及对口语的准确转录和捕获语音记录的语言内容,例如语音识别和语音翻译任务。对于其他任务,使用<|startofanalysis|>标签。
• 音频语言标签:然后,我们引入了一个语言标签,用于指示音频中的口语语言。该标签使用一个唯一的令牌来表示训练集中存在的每种语言,总共有八种语言。在音频片段不包含任何语音的情况下,例如自然声音和音乐,模型被训练来预测一个 <|unknown|> 令牌。
• 任务标签:接下来的标记指定了任务类型。我们将收集到的音频任务分为五种类别:<|transcribe|>(转录)、<|translate|>(翻译)、<|caption|>(字幕)、<|analysis|>(分析)和 <|question-answer|>(问答)任务。对于问答(QA)任务,我们在标签后添加相应的问题。
• 文本语言标签:标签令牌指定输出文本序列的语言。
• 时间戳标记:存在一个<|timestamps|>或<|notimestamps|>的标记决定模型是否需要预测时间戳。与Whisper中使用的句级时间戳不同,<|timestamps|>标记的包含需要模型进行细粒度的词级时间戳预测,简称为SRWT(带有词级时间戳的语音识别)。这些时间戳的预测与转录单词交叉进行:每个转录单词之前预测开始时间标记,而每个转录单词之后预测结束时间标记。根据我们的实验,SRWT提高了模型对音频信号与时间戳对齐的能力。这种改进的对齐有助于模型对语音信号进行全面理解,从而在诸多任务中取得显著进展,如语音识别和音频问答任务。
• 最后,我们提供输出说明,以进一步明确不同子任务的任务和所需格式,然后文本输出开始。我们框架的指导原则是通过共享标签来最大化类似任务之间的知识共享,从而提高它们的性能。同时,我们确保可以区分不同的任务和输出格式,以避免模型中的一对多映射问题。

4 监督微调
多任务模型的广泛预训练使其具备了广泛的音频理解能力。在此基础上,我们采用基于指示的微调技术来提高模型与人类意图的对齐能力,从而得到一个交互式聊天模型,命名为Qwen-Audio-Chat。
为了实现这一目标,我们为每个任务手动创建演示。这些演示包括原始文本标签、问题和答案。然后,我们利用GPT-3.5 根据提供的原始文本标签生成更多的问题和答案。此外,我们还通过手动注释、模型生成和策略串联的方式创建了一个音频对话数据集。这个数据集帮助我们将推理、故事生成和多图像理解能力融入到我们的模型中。
为了有效处理多音频对话和多个音频输入,我们引入了使用 "Audio id:" 标记不同音频的约定,其中 id对应音频输入对话的顺序。在对话格式方面,我们使用ChatML (Openai)格式构建我们的指示微调数据集。在这个格式中,每个交互的陈述都用两个特殊标记(和)标注,以便促进对话的终止。
为了在多轮对话中实现对音频和纯文本模态的灵活输入,我们在训练过程中使用了上述提到的音频为中心的指令数据和纯文本指令数据的组合。这种方法使模型能够无缝处理多种形式的输入。指令调整数据的总量为20k。

实验与结果
对于多任务预训练,我们冻结LLM的权重,只优化音频编码器。我们将训练得到的模型称为Qwen-Audio。在随后的监督微调阶段,我们固定音频编码器的权重,只优化LLM。得到的模型被标记为Qwen-Audio-Chat。

为了评估Qwen-Audio的普适理解能力,我们进行了全面评估,包括自动语音识别(ASR)、语音到文本翻译(S2TT)、自动音频字幕生成(AAC)、声场分类(ASC)、语音情绪识别(SER)、音频问答(AQA)、声音分类(VSC)和音符分析(MNA)等多个任务。该评估在12个数据集上进行,为避免数据泄露,评估数据集严格排除训练数据。
12个数据集测评结果

我们首先检查其英文自动语音识别(ASR)结果,其中Qwen-Audio在与前期多任务学习模型相比表现出更好的性能。具体而言,它在librispeech测试集的test-clean和test-other数据集上分别实现了2.0%和4.2%的词错误率(WER)。类似地,中文普通话ASR的结果显示Qwen-Audio在与之前的方法相比具备竞争力的性能。据我们所知,Qwen-Audio在Aishell1 dev和test数据集上取得了最先进的结果。此外,我们评估了Qwen-Audio在CoVoST2数据集上的语音翻译性能。
Qwen-Audio-Chat 的对话示例

相关文章:
开源语音大语言模型来了!阿里基于Qwen-Chat提出Qwen-Audio!
论文链接:https://arxiv.org/pdf/2311.07919.pdf 开源代码:https://github.com/QwenLM/Qwen-Audio 引言 大型语言模型(LLMs)由于其良好的知识保留能力、复杂的推理和解决问题能力,在通用人工智能(AGI&am…...
缓存雪崩、击穿、穿透及解决方案_保证缓存和数据库一致性
文章目录 缓存雪崩、击穿、穿透1.缓存雪崩造成缓存雪崩解决缓存雪崩 2. 缓存击穿造成缓存击穿解决缓存击穿 3.缓存穿透造成缓存穿透解决缓存穿透 更新数据时,如何保证数据库和缓存的一致性?1. 先更新数据库?先更新缓存?解决方案 2…...
仿 美图 / 饿了么,店铺详情页功能
前言 UI有所不同,但功能差不多,商品添加购物车功能 正在写,写完会提交仓库。 效果图一:左右RecyclerView 联动 效果图二:通过点击 向上偏移至最大值 效果图三:通过点击 或 拖动 展开收缩公告 效果图四&…...
Redis Cluster主从模式详解
在软件的架构中,主从模式(Master-Slave)是使用较多的一种架构。主(Master)和从(Slave)分别部署在不同的服务器上,当主节点服务器写入数据时,同时也会将数据同步至从节点服…...
Linux技能篇-非交互式修改密码
今天的文章没有格式,简单分享一个小技能,就是标题所说–非交互式修改密码。 一、普通方式修改用户密码 最普通的修改密码的命令就是passwd命令 [rootlocalhost ~]# passwd root Changing password for user root. New password: Retype new password:…...
记一次docker服务启动失败解决过程
环境:centos 7.6 报错:start request repeated too quickly for docker.service 由于服务器修复了内核漏洞,需要重启,没想到重启后,docker启动失败了 查看状态 systemctl status docker如下图 里面有一行提示&…...
npm ERR! node-sass@4.13.0 postinstall: `node scripts/build.js`
npm ERR! node-sass4.13.0 postinstall: node scripts/build.js npm config set sass_binary_sitehttps://npm.taobao.org/mirrors/node-sass npm install npm run dev Microsoft Windows [版本 10.0.19045.2965] (c) Microsoft Corporation。保留所有权利。C:\Users\Administr…...
Java定时任务 ScheduledThreadPoolExecutor
ScheduledThreadPoolExecutor 的创建 ScheduledThreadPoolExecutor executorService new ScheduledThreadPoolExecutor(1, // 核心线程数new BasicThreadFactory.Builder().namingPattern("example-schedule-pool-%d") // 线程命名规则.daemon(true) // 设置线程为…...
Android Studio 显示build variants工具栏
工具栏: 如下图所示 依次点击View-->ToolWindows-->Build Variants。 在此记个笔记...
c++八股文记录
八股文 1.类和结构体的区别 在 C 中,类(class)和结构体(struct)在语法上几乎是相同的,唯一的区别是默认的访问权限。在结构体中,默认的访问权限是公有的(public)&#x…...
C++ 指针进阶:动态分配内存
工作原理 malloc 是 stdlib.h 库中的函数,声明为 void *__cdecl malloc(size_t _Size); 原理: malloc 函数沿空闲链表(位于内存 堆空间 中)申请一块满足需求的内存块,将所需大小的内存块分配给用户剩下的返回到链表上; 并返回指向该内存区的首地址的指针,意该指针的类型…...
点大商城V2.5.3分包小程序端+小程序上传提示限制分包制作教程
这几天很多播播资源会员反馈点大商城V2.5.3小程序端上传时提示大小超限,官方默认单个包都不能超过2M,总分包不能超20M。如下图提示超了93KB,如果出现超的不多情况下可采用手动删除一些images目录下不使用的图片,只要删除超过100KB…...
AUTOSAR汽车电子嵌入式编程精讲300篇-基于机器学习的车载 CAN 网络入侵检测
目录 前言 国内外研究现状 CAN 总线概述及其安全分析 2.1 CAN 总线相关概念 2.1.1...
Jetson orin(Ubuntu20.04)不接显示器无法输出VNC图像解决办法以及vnc安装记录
sudo apt install vino 好像Jetpack 5.0中已经自带了。。 配置VNC server: gsettings set org.gnome.Vino prompt-enabled false gsettings set org.gnome.Vino require-encryption false 编辑org.gnome,增加一个“enabled key”的参数: cd /usr/share/glib-2…...
LeetCode Hot100 108.将有序数组转为二叉搜索树
题目: 给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。 高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。 方法: class Solution {public…...
微机原理_3
一、单项选择题(本大题共15小题,每小题3分,共45分。在每小题给出的四个备选项中,选出一个正确的答案,请将选定的答案填涂在答题纸的相应位置上。) 在 8086 微机系统中,完成对指令译码操作功能的部件是()。 A. EU B. BIU C. SRAM D. DRAM 使计算机执行某…...
4.操作系统常见面试题(2)
3.4 虚拟内存 直接使⽤物理内存会产⽣⼀些问题 1. 内存空间利⽤率的问题:各个进程对内存的使⽤会导致内存碎⽚化,当要⽤ malloc 分配⼀块很⼤的内存空间时,可能会出现虽然有⾜够多的空闲物理内存,却没有⾜够⼤的连续空闲内存这种…...
springboot 开启和关闭kafka消费
关闭kafka自动消费 配置自定义容器工厂 import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.kafka.config.C…...
org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder
密码,加密,解密 spring-security-crypto-5.7.3.jar /** Copyright 2002-2011 the original author or authors.** Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance with t…...
系统安全测试要怎么做?
进行系统安全测试时,可以按照以下详细的步骤进行: 1、信息收集和分析: 收集系统的相关信息,包括架构、部署环境、使用的框架和技术等。 分析系统的安全需求、威胁模型和安全策略等文档。 2、威胁建模和风险评估: …...
从‘猜’到‘懂’:用LIME和SHAP给你的机器学习模型做一次‘可解释性体检’(对比与选型指南)
从‘猜’到‘懂’:用LIME和SHAP给你的机器学习模型做一次‘可解释性体检’(对比与选型指南) 在医疗诊断中,医生往往需要借助X光、CT等影像学检查来了解患者体内的情况。类似地,当我们面对一个表现优异但内部机制复杂的…...
抖音下载器终极指南:一键批量下载视频、音乐和图片的免费方案
抖音下载器终极指南:一键批量下载视频、音乐和图片的免费方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallbac…...
【哈工大 哈理工主办】第六届电子、信息与计算技术前沿国际会议(ICFEICT 2026) 诚邀您共聚哈尔滨
ICFEICT 2026 定于2026 年 7 月 17 日 —19 日在中国哈尔滨召开,由哈尔滨工业大学、哈尔滨理工大学主办,哈尔滨工程大学、黑龙江大学等单位协办,旨在为国内外高校、科研院所及企事业单位搭建高水平学术交流平台,聚焦电子、信息与计…...
如何优雅地绕过网盘下载限制:一个完全在本地运行的解决方案
如何优雅地绕过网盘下载限制:一个完全在本地运行的解决方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 /…...
10分钟深度解析:FigmaCN如何实现专业级界面本地化
10分钟深度解析:FigmaCN如何实现专业级界面本地化 【免费下载链接】figmaCN 中文 Figma 插件,设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 对于中文设计师来说,Figma英文界面常常是工作效率的隐形障碍。…...
Harness:揭秘智能体从Demo走向生产的核心支撑
最近在智能体(Agent)领域,Harness 成为高频热词,但行业内对它的理解始终模糊且碎片化:有人将其简单等同于工具系统,有人视其为提示词(Prompt)的外层封装,还有人把它当作多…...
LM惊艳效果展示:LM_20.safetensors生成的写实人像与未来感服装作品
LM惊艳效果展示:LM_20.safetensors生成的写实人像与未来感服装作品 1. 效果概览 LM_20.safetensors作为LM系列的最新checkpoint,在写实人像和未来感服装生成方面展现出惊人的表现力。这个基于Tongyi-MAI/Z-Image底座的文生图模型,能够将简单…...
Agent 工具一多就变慢?真正的瓶颈不是上下文窗口,而是工具路由失真
🧠 工具越多,为什么任务反而越慢 不少 Agent 团队在工具还少时,任务表现往往不差:读文件、查网页、跑命令三五个动作就能闭环。可一旦把浏览器、终端、搜索、代码执行、委派子代理都接进来,延迟和失败率常常一起上升。…...
AtCoder Beginner Contest 443
atcoder abc443 题解 https://www.bilibili.com/video/BV1rFZQB4Em4/ 【做题录制】Denso Create Programming Contest 2026(AtCoder Beginner Contest 443) https://www.bilibili.com/video/BV1di6nBSEet/ AtCoder-ABC443题解 https://www.bilibili.com/…...
MelonLoader终极指南:15分钟解锁Unity游戏Mod无限可能
MelonLoader终极指南:15分钟解锁Unity游戏Mod无限可能 【免费下载链接】MelonLoader The Worlds First Universal Mod Loader for Unity Games compatible with both Il2Cpp and Mono 项目地址: https://gitcode.com/gh_mirrors/me/MelonLoader 还在为Unity游…...
