《Baichuan-Omni》论文精读:第1个7B全模态模型 | 能够同时处理文本、图像、视频和音频输入

- 技术报告Baichuan-Omni Technical Report
- GitHub仓库地址
文章目录
- 论文摘要
- 1. 引言简介
- 2. 训练
- 2.1. 高质量的多模态数据
- 2.2. 多模态对齐预训练
- 2.2.1. 图像-语言分支
- 2.2.2. 视频语音分支
- 2.2.3. 音频语言分支
- 2.2.4. 图像-视频-音频全方位对齐
- 2.3. 多模态微调监督
- 3. 实验
- 3.1. 语言性能
- 3.1.1. 评估基准
- 3.1.2. 主要性能
- 3.2. 图像理解
- 3.2.1. 评估基准
- 3.2.2. 主要性能
- 3.3. 视频理解
- 3.3.1. 评估基准
- 3.3.2. 主要性能
- 3.4. 音频理解
- 3.4.1. 评估基准
- 3.4.2. 主要性能
论文摘要
论文介绍了一种新的多模态大型语言模型(Multimodal Large Language Model, MLLM),名为Baichuan-Omni。该模型是开源的,并且是首个能够同时处理图像、视频、音频和文本四种模态信息的70亿参数规模的模型。 文章指出了GPT-4o在多模态能力与交互体验方面的突出表现,但指出目前缺乏一个高性能的开源替代品。因此,本文旨在介绍Baichuan-Omni,以填补这一空白。
具体来说,Baichuan-Omni的设计和训练方法包括以下几个关键点:
-
多模态训练框架:Baichuan-Omni提出了一个有效的多模态训练方案,从一个70亿参数的基础模型开始,经过两个阶段的训练:首先是多模态对齐(multimodal alignment),这一步是为了让模型能够理解不同模态之间的关系;其次是跨模态任务微调(multitask fine-tuning),即针对音频、图像、视频和文本等不同模态的任务进行精细化调整,使模型能够在特定任务上表现更佳。
-
多模态处理能力:通过上述训练方法,Baichuan-Omni获得了有效处理视觉和听觉数据的能力,这使得它能够在多种应用场景中提供先进的多模态交互体验。
-
性能展示:该模型在多个全模态(omni-modal)和多模态基准测试中展示了强大的性能,证明了其在实际应用中的潜力。
-
开放贡献:作者希望Baichuan-Omni能够作为开源社区的一个强有力的基础,促进多模态理解和实时交互技术的发展。
总之,Baichuan-Omni是一个重要的里程碑,它不仅为学术界和工业界提供了一个强大的工具来探索多模态学习的可能性,也为开发更加智能、更加互动的应用程序提供了新的机会。
1. 引言简介
人工智能领域正在迅速发展,尤其是在大语言模型(LLMs)的推动下,以及随后多模态大语言模型(MLLMs)的出现,这标志着机器如何理解和与世界的互动方式发生了转变。像GPT-4o这样的MLLM的出现,以其卓越的多模态能力和丰富的交互体验,不仅突显了这些技术在实际应用中的不可或缺性,同时也为人类与计算机交互设立了新的基准。
尽管MLLM取得了显著的进步,但当前的开源解决方案在多模态能力和用户交互体验方面存在明显的缺陷。这些缺陷极大地阻碍了这些模型在各种应用中的更广泛采用和有效性,从自然语言处理到计算机视觉以及更多领域。
针对这些挑战,作者提出了一种全能多模态语言模型 Baichuan-Omni 以及一种多模态训练方案,旨在促进高级多模态处理和自然用户交互。Baichuan-Omni 的架构如图2所示。Baichuan-Omni 的方案基于三个核心组件:

全模态数据构造 作者利用大量高质量、全方位的数据,结合开源、合成和内部标注的数据集,训练Baichuan-Omni。在多模态对齐预训练阶段,作者整理了包括图像描述、交错数据、OCR数据和图像文本数据的广泛训练语料库。 对于音频对齐, 作者收集了开源和内部的数据集,用于自动语音识别(ASR)和音频问答(AQA)。在视频对齐领域,作者从开源和内部来源获取视频数据。在多模态监督微调阶段,作者汇编并合成了一个涵盖200多个任务,包括600,000个实例的广泛数据集,涵盖纯文本、音频、图像文本、视频文本和图像音频交互数据。
多模态对齐 在多模态对齐的预训练阶段,作者仔细地将各种模态的编码器和对齐器对齐。最初,作者使用大量的图像文本对齐数据集来训练视觉语言模型。这种基础训练使作者能够利用图像文本训练期间开发的视觉能力来进一步训练视频 Projector 。同时,作者还利用自动语音识别(ASR)数据来训练音频语言模型。在这个坚实的基础之上,作者整合了高质量图像、音频和视频数据,以实现全面的多模态对齐。
多任务微调 在多模态微调阶段,作者利用一个由开源、合成和内部标注数据组合而成的多任务跨模态交互训练语料库。作者根据预训练模型是否已经学习到事实知识的标准选择数据,用于最终的监督微调(SFT)阶段。在此阶段,作者实现了一种打包技术,将多个样本拼接在一起,使用flash-attention2的cq_len进行有效的样本隔离。通过这种技术,多个样本可以在计算过程中正确隔离,防止不同样本之间的数据混淆。这种方法加速了训练过程并优化了内存使用。
本文的贡献如下:
- 介绍了Baichuan-Omni,这是一个开源、高性能的基础性全模态模型,能够同时处理文本、图像、视频和音频输入。它还支持包括英语和汉语在内的多种语言的多语言支持。作者的训练框架包括一个全面的流水线,包括构建全模态训练数据、多模态对齐预训练和多模态监督微调,特别注重增强全模态指令遵循能力。
- 探索了自然多模态人机交互的初期研究。作者的方法从预测音频输入边界开始,同时 streaming 和编码接收到的视觉数据为特征。这些特征由多模态大语言模型(MLLM)进行动态注意计算处理。在音频输入完成后,相应的特征被输入到MLLM进行推理,从而便于处理音频和视频输入。这种集成方法实现了实时处理并增强了系统的交互能力。
- 已将Baichuan-Omni模型、训练代码和评估脚本公开发布,旨在促进研究社区内的进步。作为该领域的先驱,作者仍致力于推动多模态基础模型的开发及其互动。
2. 训练
2.1. 高质量的多模态数据
为了训练具有强大能力的全模态模型,作者构建了一个包含高质量文本、图像文本、视频文本、音频文本及其交互的广泛跨模态数据集。
**图像数据**可分为几种类型:描述符图像、交织图像文本、OCR数据和图表数据。从来源上看,它分为开源数据和合成数据。
- 对于开源数据,作者已经收集了主要的开源数据集,包括PIN-14M,MINT-1T,LAION-5B,OBELIC,等等,用于图像语言分支的第一阶段训练,以及Cauldron,Monkey,ArxivQA,TGDoc,MM-Self-Instruct (Train split) ,MMTable,等等,用于图像语言分支的第二/第三阶段训练。这些公开可用的开源数据集在作者数据 Pipeline 中经过一系列处理步骤和仔细的采样技术。
- 关于合成数据,其目的是获得更高质量的数据以提升模型的性能。其中一部分数据来源于书籍和论文,经过解析生成交错图像-文本、OCR数据和图表数据。这部分数据非常完整和专业,使其成为高质量和高知识密集度的数据。另一部分则涉及训练专门用于生成图像描述的模型。这些描述从不同角度详细描述图像内容,属于高质量描述数据。
**视频数据集**包括一系列公开可用的资源,涵盖了多种任务,如视频分类、行为识别和时间定位等。视频-文本来源可以分为两大类:问答数据(QA)和字幕数据。
- 对于问答数据,作者整合了:NExTVideo,该数据集在LLaVA-NExT中引入,以及ActivityNet-QA(训练拆分)。
- 对于字幕数据,作者的字幕数据来源包括ShareGPT4Video,这是一个利用GPT-4生成丰富、上下文的视频字幕的大规模数据集,以及WebVid 。为了进一步丰富作者的数据集,作者使用了GPT-4o为YouTube上收集的视频生成多样化的字幕。
- 每份数据集在作者的汇编中的采样比例都根据这些数据集的相对大小进行仔细确定。这种战略方法确保了作者在最终数据集中对各种视频类型、任务和领域的平衡表示。
音频数据 考虑到音频数据的多样性,作者从各种媒体模态中提取音频,包括不同的录制环境、语言、口音和说话者。遵循之前工作的原则,作者提出音频质量的差异有助于增强语音理解能力。
- 为了实现更复杂的分类和筛选过程,作者实现了一个数据处理 Pipeline ,包括说话者语音录制、方言识别、口音识别、音效检测和质量评估。
- 为了提高从数据集中生成的音频文本对的质量,作者利用了自家的ASR系统,并结合了多个开源模型来生成多个转录版本。这些生成的数据经过模型集成策略进行有效文本筛选和错误校正后得到进一步优化。
文本语料库 在处理文本语料库时,作者从各种领域收集了数据,如网页、书籍、学术论文、代码等。遵循先前工作中提出的数据处理协议,作者实现了一个选择过程,以提高数据集的多样性和质量。多样性标准确保训练语料库涵盖广泛的话题和语言风格,以适应各种应用。高质量处理可以去除文本数据中的冗余和噪音,提高知识密度。
跨模态交互数据 为了增强模型跨模态交互能力,作者合成了一系列视觉-音频-文本跨模态交互数据,包括图像-音频-文本和视频-音频-文本数据集。对于图像-文本数据,作者将文本数据按1:3比例分割,使用文本转语音(TTS)技术将初始四分之一文本转换为音频描述。作者的音频涵盖44种音色,确保音色丰富多样。这种1:3的设置由任务 Prompt 补充,如“请听以下描述图像内容的音频。您的任务是在听后整合图像补充更多信息”,旨在预测文本描述的后四分之三的内容。对于视频-文本数据,作者直接从视频中提取音频作为跨模态音频组件。
2.2. 多模态对齐预训练
在本节中,作者将进一步阐明图像语言、视频语言和音频语言分支的预训练和对齐过程。

2.2.1. 图像-语言分支
作者使用Siglip-384px作为视觉编码器,该编码器处理一个384x384的图像输入并生成182个 Token ,通过一个由两个层MLP和2x2卷积层组成的视觉 Projector 实现。为了在保持高分辨率图像复杂细节的同时,将输入图像扩展到任意分辨率,作者采用AnyRes ,该方法将图像分割成网格,并将下采样图像的特征拼接在一起以提供全局上下文。
作者的图像语言分支训练分为三个阶段:
- 第一阶段:作者通过图像描述生成任务,使
视觉 Projector在图像表示和文本之间建立初始对齐。在这一阶段,作者冻结了语言模型和视觉编码器,只以1e-3的学习率训练视觉 Projector。 - 第二阶段:作者冻结LLM模型,并以1e-5较小的学习率分别训练
视觉Projector和视觉编码器(visual encoder)。除了通用的VQA任务外,作者还针对OCR和图表任务专门合成了130k高质量问答数据,以增强模型对抽象视觉理解的把握。此外,作者还引入了交错数据和图像描述数据,有助于保持并促进图像与文本表示之间的更好对齐,减轻在解冻视觉编码器后,由于图像特征空间变化而产生的对齐偏移。 - 第三阶段: 在第二阶段的基础上,作者解冻了LLM,并继续以1e-5的学习率更新所有模型组件的参数,以进一步提高视觉语言性能。除了VQA和图像-描述对,作者还引入了交错数据和纯文本数据,以更好地保持LLM的原有能力。
2.2.2. 视频语音分支
基于从图像语言分支预训练中获得的视觉能力,作者使用冻结的视觉编码器(Siglip-384px,与图像语言分支中使用的一致)和语言模型(LLM) Backbone 进行视频 Projector 的训练。这种训练过程采用4e-6低学习率以细化与语言模态的对齐。
在训练阶段,输入视频帧以每秒1帧的速度进行采样,最多为每视频48帧。每个输入帧都被重新缩放到最大分辨率为384x768像素,以保持最佳的质量和细节。此外,在视频 Projector 之前应用了一个2x2卷积层。这个卷积步骤有助于调节视频 Token 序列的长度,确保至少182个 Token ,最多546个 Token 。这种深思熟虑的配置在性能和效率之间取得了平衡,有助于有效地进行模型训练,同时管理计算负载。
而非立即使用纯视频-文本对进行视频语言分支的预训练,作者选择了一种更为精细的两阶段方法。首先,作者利用图像-文本预训练数据来增强模型的视觉理解能力。在建立了一个坚实的基础之后,作者逐步将混合图像-文本对和视频-文本对引入训练体系。这种策略已经证明可以获得更好的结果。通过逐渐增强模型的视觉能力,作者为视频预训练流程提供了有价值的指导,使模型更好地理解和整合视频数据的语言复杂性。这种方法强调了采用综合训练策略的重要性,该策略结合了多种数据模式以提高对齐和性能。
2.2.3. 音频语言分支
音频语言分支通过结合来自Whisper-large-v3模型的音频编码器和新引入的音频 Projector ,扩展了一个在视觉和视频数据上预训练的LLM。
音频编码器将音频信号(30s,128 Mel-spectrum)处理成1280个通道的特征表示,而音频 Projector (通常为线性 Projector或MLP)将其映射到LLM的嵌入空间。在投影之前,传统上使用步长为n的池化操作将音频表示降采样为更少的 Token (即帧)。然而,当作者激进地减少音频 Token 的数量时,这种简单的池化方法会导致音频信息损失。在作者的方法中,作者用卷积-门控MLP(Conv-GMLP)替代池化,利用卷积层进行降采样以保留更多的音频信息。

图5说明了Conv-GMLP架构,其功能类似于gated MLP,但用卷积层替代了线性层。这两个卷积层将音频表示的序列长度减少了一个因子n,同时按比例扩展了特征空间。在作者的 Projector 中,与Conv-GMLP一起使用的是残差快捷方式,以实现更高效的梯度反向传播。第4.5.3节的结果证明了,当设置下采样率3n时,在音频性能方面具有强大的鲁棒性。在训练过程中,LLM保持冻结,仅音频编码器和解码器使用音频文本序列(最多长达4K Token )进行训练。为了提高性能,采用余弦学习率调度器。
2.2.4. 图像-视频-音频全方位对齐
图4的右侧部分说明了“Omni-Alignment”阶段,该阶段遵循了图像语言、视频语言和音频语言分支的个体训练。在这个阶段,所有模块在混合高质量图像文本、视频文本和音频文本对的情况下一起进行训练,以发展全面的多模态理解。
2.3. 多模态微调监督
在本节中,作者描述了旨在提高模型在各种任务上遵循复杂、多模态指令能力的多模态监督微调过程。作者利用了一个多样化的开源、合成和内部标注数据集,涵盖超过200个不同的任务,总计约60万个对,涉及文本、音频、图像文本、视频文本和图像音频模态。
文本数据。文本数据涵盖广泛的任务,包括知识问答、数学、逻辑推理、代码生成、文本创作、信息处理、基于人格的任务和安全相关数据。为了进一步强化模型处理复杂、多步骤任务的能力,作者包括了具有复杂指令的专门数据集,其中一些数据集包含一个系统消息,用于构建更复杂的场景。
图像理解数据。对于涉及图像理解的任务,作者主要使用了vFLAN数据集,重点关注其指令遵循数据。鉴于部分样本存在质量问题,作者采用基于损失的过滤方法来清理数据集:作者使用预训练模型计算了所有vFLAN英语指令样例的损失,并将计算出的值拟合到高斯分布中。
如果样本的损失值超出 均值+-方差 的范围,则会被移除。1. 损失值小于 均值-方差 的样本通常包含一些简单的问题,例如 Prompt 和回复内容几乎相同的情况。2. 损失值大于 均值+方差 的样本往往存在严重问题,例如 Prompt -回复对被颠倒或者回复中存在错觉。
经过清理的vFLAN指令数据部分被翻译成中文,然后进行手动重新标注以确保高质量的配对。同时,作者还将一些其他开源数据集集成到vFLAN中,包括synthdog-en/zh,手写OCR,街景OCR,参考地面和基于地面的描述对齐任务,以及ImageInWords。这些数据集大部分已经被翻译成中文。对于ImageInWords,作者确保如果图像包含可识别的实体,相应的描述会明确引用该实体的名称(例如,通过品种识别萨摩耶狗,而不仅仅是将其 Token 为“狗”)。
尽管vFLAN涵盖了191项任务,但作者发现它在与指令类型的多样性方面存在不足。为了解决这个问题,作者从作者的文本SFT数据集中采样数据,并将一些 Prompt 渲染成图像,以增加基于图像的指令的多样性。此外,为了增强模型与图像的数学推理能力,生成了一大批涉及图像的多模态数学问题数据集。
在实验中,作者发现向模型中添加过多的外部世界知识,这些知识模型本身并不知道,会导致性能回报下降。为了缓解这一问题,从构建的SFT数据集中排除未知数据。
视频理解数据。视频-文本数据主要来源于VideoInstruct100K数据集。尽管该数据集中的每个视频包含多个指令,但指令往往相对同质,通常专注于简单的视频描述。为了增强基于视频的任务的多样性,作者对每个视频的指令进行语义去重,并将数据集翻译成中文,从而丰富了模型基于视频的任务的种类。
音频理解数据。大部分音频数据是通过TTS 4生成的, Prompt 来自纯文本、图像文本和视频文本的数据集。为了确保合成的音频质量,作者使用ASR模型转录生成的音频,并将转录与原始 Prompt 进行比较。只保留那些准确转录的音频样本作为最终音频 Prompt 。为了进一步丰富音频数据,作者还包括人类录制的音频样本,这些样本捕捉了各种方言、口音和背景噪音。
除了一般的QA任务外,作者还构建了一个特定的ASR数据集,该数据集来源于开源数据和内部日志。为了提高训练效率,作者过滤掉了容易识别的样本,而是专注于更具有挑战性的音频数据进行有监督的微调。
3. 实验
3.1. 语言性能
3.1.1. 评估基准
作者在4个全面的基准测试上进行了评估,包括MMLU,CMMLU,AGIEval和C-Eval。
MMLU包括57个独特的任务,包括不同领域的选择题,包括人文科学、社会科学和硬科学。CMMLU代表了一个广泛的评估框架,旨在评估LLM在汉语和文化背景下的复杂知识和推理能力。AGIEval是一个以人为中心的基准,用于评估基础模型的通用认知和问题解决能力,这些测试是根据为人类参与者设计的官方、公共和资格考试设计的。C-EVAL提供了一个全面的中文评估工具集,用于评估LLM在汉语背景下的高级知识和推理技能,涵盖52个不同学科的13,948个选择题,从人文科学到工程。作者使用零样本测量进行了所有评估。
3.1.2. 主要性能
作者将Baichuan-Omni与最先进的专有多模态模型进行了比较,如Gemini 1.5 Pro,GPT-4o,以及一系列具有竞争力的开源LLM和MLLM,如VITA,MAP-Neo,Qwen1.5-Chat,Llama3-Instruct和OLMo。作者在下表表1中列出了在全面基准测试上的主要结果。

如上表表1所示,Baichuan-Omni在综合基准上显著优于开源的、通用的纯文本LLMs。与开源的多模态模型VITA相比,Baichuan-Omni在中文基准测试上取得了显著优势,例如CMMLU(72.2% vs 46.6%)和C-Eval(68.9% vs 56.7%),并且在AGIEval上(47.7% vs 46.2%)略胜一筹。
3.2. 图像理解
3.2.1. 评估基准
作者在13个代表性的视觉语言基准测试上评估Baichuan-Omni,包括MMBench-EN,MMBench-CN,M3GIA,SEEDBench,RealWorldQA,MMMU,MathVista,MME,MMVet,TextVQA,OCRBench,ChartQA,以及HallusionBench。为了确保可重复的评估结果,作者使用VLMEvalKit对所有评估进行统一。所有评估都采用零样本方式进行,遵循模型的原始设置以确保所有模型和基准之间的公平和一致比较。
3.2.2. 主要性能
作者将Baichuan-Omni与最先进的专有多模态模型(如Gemini 1.5 Pro,以及GPT-4o)以及一系列具有竞争力的开源多模态模型(如VITA和Qwen2-VL)进行比较。

作者在表2和表3中列出了在VQA(视觉问答)基准测试上的主要结果和在MCQ(多选题和是非题)基准测试上的结果。

如表2和表3所示,Baichuan-Omni在多个视觉任务上全面超过了VITA-8x7B,后者具有12B激活参数。除了在VQA基准测试和MCQ基准测试上表现出色外,作者还展示了与开源图像专业模型(如MiniCPM-Llama3-V 2.5)相当甚至更好的性能。
具体来说,Baichuan-Omni在大多数VQA任务上超过了MiniCPM-Llama3-V 2.5,包括MMBench-CN, SEED-IMG, MME, HallusionBench和MMMU,这些任务需要专家级的感知和推理。然而,尽管在将额外音频模式集成方面具有相对于Qwen2-VL的优势,但Baichuan-Omni在图像任务上的性能与Qwen2-VL之间仍然存在明显的差距。此外,值得注意的是,除了Qwen2-VL之外,开源和闭源模型的巨大差异仍然存在。
3.3. 视频理解
3.3.1. 评估基准
作者对通用视频理解任务(通用VQA)和开放式视频问答(开放式VQA)进行了全面的评估,以全面评估Baichuan-Omni的视频理解能力。
对于一般的视频理解任务,选择Perception-Test,MVBench,VideoMME;并且使用EgoSchema用于长篇视频-语言理解。作者对所有基准测试报告了top-1准确率。对于VideoMME,作者在"w/o subs"设置下报告了结果。对于开放式视频问答部分,作者选择ActivityNet-QA和MSVD-QA作为评估基准。作者使用GPT评估回答片段的质量。具体来说,使用GPT-3.5-Turbo对答案的正确性进行"Yes-or-No"决策,并从0到5提供一个评分。作者报告"Yes"响应的百分比作为Accuracy,并报告平均评分作为Score。
作者在进行所有评估时采用零样本方法,避免使用复杂的 Prompt 。此外,作者遵循原始模型的设置,关于(最大)帧数、帧采样率等,以实现对所有模型和基准的公平、一致的比较。
3.3.2. 主要性能
作者将Baichuan-Omni与最先进的多模态专有模型进行了比较,例如Gemini 1.5 Pro,GPT 4V和GPT 4o,以及一系列具有竞争力的开源多模态模型,如VITA,Qwen2-VL,AnyGPT,VideoLLaMA 2,VideoChat2,LLaVA-NeXT-Video,以及Video-LLaVA。

作者在表4中列出了在通用视频理解基准测试上的主要结果,并在表5中列出了在开放式视频问答上的结果。

通用视频理解基准测试上的主要结果
表4显示,Baichuan-Omni在Egoschema和MVBench等专有模型上展现了与竞争对手相当的结果,同时在开源多模态模型上实现了强大的性能,这表明Baichuan-Omni具有全面的视频理解能力。与VITA相比,具有约12亿激活参数的MoE全模态LLM Baichuan-Omni(7B)在所有通用视频问答基准测试上均优于它,平均提高了约4%。此外,Baichuan-Omni在VideoLLaMA 2、VideoChat2、LLaVA-NeXT-Vide和Video-LLaVA等开源模型上也表现出色。值得注意的是,Baichuan-Omni还在MVBench(43.7%)和Egoschema(55.6%)上超过了专有模型GPT 4V。
关于开放式视频问答基准测试的结果
Open-ended VQA上的性能如表5所示。Baichuan-Omni在ActivityNet-QA和MSVD-QA的所有开源模型上(包括最新的多模态模型VITA和Qwen2 VL)都展示了最先进的性能(准确率和分数),并击败了专有模型Gemini 1.5 Pro(56.7%)在ActivityNet-QA上的表现。这些出色的结果表明,Baichuan-Omni在开放式问题回答方面也有效,即Baichuan-Omni更擅长生成有信息和描述性的回答。
3.4. 音频理解
3.4.1. 评估基准
为了验证Baichuan-Omni在音频理解能力方面的表现,作者在三个任务上的基准测试评估结果如下:
自动语音识别(ASR)。这是音频语言模型预训练的基本任务,它直接将音频转换为文本。在ASR的一般场景下,作者在Fleurs中文(zh)和英语(en)测试集,以及WenetSpeech test_net数据集上报告结果。为了评估在更具挑战性的ASR场景中的性能,作者还包括WenetSpeech test_meeting数据集和KeSpeech测试集的结果,这些数据集评估模型在’会议’和’中文方言’环境下的ASR能力。对于WenetSpeech,作者使用Word Error Rate(WER)和Character Error Rate(CER)作为评估指标,而对于其他数据集,只使用WER。
语音转文本(S2TT) 的任务是将源语言的音频信号翻译成目标语言。作者使用Covost2数据集的zh2en和en2zh子集,以BLEU分数作为评估指标,来评估模型在中文和英文之间的S2TT性能。
AIR-Bench 的目标是评估AI在遵循给定音频指令方面的对话能力。作者在聊天基准测试集(测试集)上评估聊天性能,使用评分作为指标。
3.4.2. 主要性能
对比了Baichuan-Omni与最先进的 Baseline ,包括ASR、S2TT和SER任务,包括最近最先进的音频语言模型Qwen2-Audio-Instruct和大型多模态语言模型VITA。此外,还展示了经典预训练音频语言模型Whisper-large-v3在ASR任务上的性能,以及SALMONN在S2TT任务上的性能。
在ASR基准测试上的结果。 Baichuan-Omni在表6中展示了强大的音频转录能力。Baichuan-Omni主要针对中文语料库。

在整体的中文ASR场景中,与Qwen2-Audio-Instruct相比,Baichuan-Omni在Fleurs测试-zh子集上具有2.0%的WER(2.6%的CER)优势,并在与Qwen2-Audio-Instruct的WenetSpeech测试的比较中,实现了4.1%的WER(4.2%的CER)提升。WenetSpeech上的评估结果持续表明,Baichuan-Omni在VITA之上具有优势。Baichuan-Omni在VITA的CER性能上实现了近50%的改进,无论是测试(7.1% v.s 12.2%),还是测试_meeting(8.9% v.s 16.5%)子集。
在更具挑战性的中文方言基准,KeSpeech上,Baichuan-Omni保持全面领先,平均CER为所有方言的6.7%,优于其他方言。值得注意的是,尽管Baichuan-Omni在中文音频转录方面表现出色,但Baichuan-Omni在英语ASR上也保持了强大的通用性能。作者实现了4.7%的WER,比Qwen2-Audio-Instruct高出11%的WER。
S2TT和AIR-Bench基准上的结果。除了ASR之外,Baichuan-Omni在S2TT和SER任务上都表现出色。评估结果汇总在表7中。

值得注意的是,在从英语到中文的Covost-2 en2zh测试集上翻译时,Baichuan-Omni相对于Qwen2-Audio-Instruct大约提高了7个BLEU分。对于反向翻译,即从中文到英语,作者在Covost-2 zh2en测试集上的性能与Qwen2-Audio-Instruct相当,展示了Baichuan-Omni生成逼真人类语音和声音的优越能力。在AirBench上,Baichuan-Omni在语音和声音方面分别获得了7.42和7.26分,优于Qwen2-Audio-Instruct,显示出Baichuan-Omni在生成逼真人类语音和声音方面的优势。
相关文章:
《Baichuan-Omni》论文精读:第1个7B全模态模型 | 能够同时处理文本、图像、视频和音频输入
技术报告Baichuan-Omni Technical ReportGitHub仓库地址 文章目录 论文摘要1. 引言简介2. 训练2.1. 高质量的多模态数据2.2. 多模态对齐预训练2.2.1. 图像-语言分支2.2.2. 视频语音分支2.2.3. 音频语言分支2.2.4. 图像-视频-音频全方位对齐 2.3. 多模态微调监督 3. 实验3.1. 语…...
YOLOv6-4.0部分代码阅读笔记-common.py
common.py yolov6\layers\common.py 目录 common.py 1.所需的库和模块 2.class SiLU(nn.Module): 3.class ConvModule(nn.Module): 4.class ConvBNReLU(nn.Module): 5.class ConvBNSiLU(nn.Module): 6.class ConvBN(nn.Module): 7.class ConvBNHS(nn.Module): …...
移植 AWTK 到 纯血鸿蒙 (HarmonyOS NEXT) 系统 (4) - 平台适配
在移植 AWTK 到 HarmonyOS NEXT 系统之前,我们需要先完成平台适配,比如文件、多线程(线程和同步)、时间、动态库和资源管理。 1. 文件 HarmonyOS NEXT 支持标准的 POSIX 文件操作接口,我们可以直接使用下面的代码&am…...
Java 多线程(八)—— 锁策略,synchronized 的优化,JVM 与编译器的锁优化,ReentrantLock,CAS
前言 本文为 Java 面试小八股,一句话,理解性记忆,不能理解就死背吧。 锁策略 悲观锁与乐观锁 悲观锁和乐观锁是锁的特性,并不是特指某个具体的锁。 我们知道在多线程中,锁是会被竞争的,悲观锁就是指锁…...
【项目分享】法拉利中控台模拟 html+css+js
引入: 制作一个模拟法拉利中控台的网页是一个有趣且富有挑战性的项目。为了简化这个任务,我们可以使用一些HTML、CSS和JavaScript来实现一个基本的界面。以下是一个简单的示例,展示了如何创建一个基本的法拉利中控台模拟网页。 效果展示&…...
Rust 力扣 - 2461. 长度为 K 子数组中的最大和
文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 我们遍历长度为k的窗口,用一个哈希表记录窗口内的所有元素(用来对窗口内元素去重),我们取哈希表中元素数量等于k的窗口总和的最大值 题解代码 use std::collecti…...
stm32103c8t6 pwm驱动舵机(SG90)
本方法采用通用定时器(TIM2、TIM3、TIM4、TIM5)实现 代码: PWM.h #ifndef __PWM_H // 防止头文件重复包含 #define __PWM_H#include "stm32f10x.h" // 包含STM32F10x系列的设备头文件// 函数声明 void TIM2_PWM_In…...
Python For循环
Python 的 for 循环是自动化重复任务的强大工具,可以使代码更高效、更易于管理。本教程将解释 for 循环的工作原理,探讨不同的应用场景,并提供大量实用示例。无论你是初学者还是希望提升技能的开发者,这些示例都将帮助你更好地在 …...
C++入门——“C++11-右值引用和移动语义”
C11相比于C98增加以许多新特性,让C语言更加灵活好用,但是貌似也增加了许多学习的难度,现在先看第一部分。 一、右值引用和移动语义 1.右值引用和左值引用 在C中,值可以大致分为右值和左值,左值大概是哪些已经被定义的变…...
timm使用笔记
timm(Timm is a model repository for PyTorch)是一个 PyTorch 原生实现的计算机视觉模型库。它提供了预训练模型和各种网络组件,可以用于各种计算机视觉任务,例如图像分类、物体检测、语义分割等等。timm(库提供了预训…...
android浏览器源码 可输入地址或关键词搜索 android studio 2024 可开发可改地址
Android 浏览器是一种运行在Android操作系统上的应用程序,主要用于访问和查看互联网内容。以下是关于Android浏览器的详细介绍: 1. 基本功能 Android浏览器提供了用户浏览网页的基本功能,如: 网页加载:支持加载静态…...
贪心算法入门(一)
1.什么是贪心算法? 贪心算法是一种解决问题的策略,它将复杂的问题分解为若干个步骤,并在每一步都选择当前最优的解决方案,最终希望能得到全局最优解。这种策略的核心在于“最优”二字,意味着我们追求的是以最少的时间和…...
C# ref和out 有什么区别,分别用在那种场景
在C#中,ref和out都是用于按引用传递参数的关键字,但它们有一些细微的差别和使用场景。 ref 关键字 ref 关键字用于按引用传递参数。这意味着当你将一个变量作为参数传递给一个方法时,你不是传递变量的值,而是传递变量的引用。因…...
TikTok直播专线:提升直播效果和体验
作为当今全球最受欢迎的社交媒体平台之一,TikTok为商家提供了无限的商机和市场。然而,商家在使用TikTok时也面临着许多挑战,如网络延迟、直播中断以及账号被封等问题。TikTok直播专线旨在为商家提供高速稳定的网络连接,助力他们在…...
由浅入深逐步理解spring boot中如何实现websocket
实现websocket的方式 1.springboot中有两种方式实现websocket,一种是基于原生的基于注解的websocket,另一种是基于spring封装后的WebSocketHandler 基于原生注解实现websocket 1)先引入websocket的starter坐标 <dependency><grou…...
1-petalinux 问题记录-根文件系统分区问题
在MPSOC上使用SD第二分区配置根文件系统的时候,需要选择对应的bootargs,但是板子上有emmc和sd两个区域,至于配置哪一种mmcblk0就出现了问题,从vivado中的BlockDesign和MLK XCZU2CG原理图来看的话,我使用的SD卡应该属于…...
微信小程序的上拉刷新与下拉刷新
效果图如下: 上拉刷新 与 下拉刷新 代码如下: joked.wxml <scroll-view class"scroll" scroll-y refresher-enabled refresher-default-style"white" bindrefresherrefresh"onRefresh" refresher-triggered&qu…...
【大语言模型】ACL2024论文-05 GenTranslate: 大型语言模型是生成性多语种语音和机器翻译器
【大语言模型】ACL2024论文-05 GenTranslate: 大型语言模型是生成性多语种语音和机器翻译器 GenTranslate: 大型语言模型是生成性多语种语音和机器翻译器 目录 文章目录 【大语言模型】ACL2024论文-05 GenTranslate: 大型语言模型是生成性多语种语音和机器翻译器目录摘要研究背…...
KPRCB结构之ReadySummary和DispatcherReadyListHead
ReadySummary: Uint4B DispatcherReadyListHead : [32] _LIST_ENTRY 请参考 _KTHREAD *__fastcall KiSelectReadyThread(ULONG LowPriority, _KPRCB *Prcb)...
批处理之for语句从入门到精通--呕血整理
文章目录 一、前言二、for语句的基本用法三、文本解析显神威:for /f 用法详解四、翻箱倒柜遍历文件夹:for /r五、仅仅为了匹配第一层目录而存在:for /d六、计数循环:for /l后记 for语句从入门到精通 一、前言 在批处理中&#…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)
文章目录 1.什么是Redis?2.为什么要使用redis作为mysql的缓存?3.什么是缓存雪崩、缓存穿透、缓存击穿?3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
【第二十一章 SDIO接口(SDIO)】
第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
