全球首个7B全模态模型!阿里Qwen2.5-Omni登顶榜首,实时语音+视频交互开源免费

在人工智能领域,单一模态模型已取得显著成果,但人类智能是多模态的。我们通过视觉、听觉等感官感知世界,并通过语言等方式交流。因此,开发能处理多种模态输入并输出的模型,对实现更接近人类智能的系统至关重要。Qwen2.5-Omni 正是在此背景下诞生,旨在打破模态壁垒,实现更自然、高效的人机交互。本文将详细介绍其技术原理、功能特点、应用场景及快速使用方法。

一、项目概述

Qwen2.5-Omni是阿里巴巴于2025年3月27日发布并开源的端到端全模态大模型,能处理文本、图像、音频和视频等多种输入,并生成文本与自然语音输出Qwen2.5-Omni 的目标是构建一个能够同时处理文本、图像、音频和视频等多种模态输入,并以流式方式生成文本和自然语音响应的端到端多模态大模型。该模型不仅要在多模态任务中表现出色,还要在单模态任务中保持竞争力,同时具备实时交互的能力,为各种应用场景提供强大的技术支持。

图片

二、技术原理

(一)模型架构

Qwen2.5-Omni 采用了创新的 Thinker-Talker 双核架构。Thinker 模块类似于大脑,负责处理文本、音频、视频等多模态输入,生成高层语义表征及对应的文本内容。它基于 Transformer 解码器架构,融合音频和图像编码器进行特征提取。Talker 模块则类似于发声器官,以流式方式接收 Thinker 实时输出的语义表征与文本,流畅合成离散语音单元。Talker 采用双轨自回归 Transformer 解码器设计,在训练和推理过程中直接接收来自 Thinker 的高维表征,并共享全部历史上下文信息,形成端到端的统一模型架构。

(二)技术创新

1. TMRoPETime-aligned Multimodal RoPE):这是一种新的位置编码技术,通过时间轴对齐实现视频与音频输入的精准同步。这对于处理音视频融合任务至关重要,因为它能够确保不同模态的信息在时间上保持一致,从而提高模型的理解和生成能力。

2. 流式交互设计:Qwen2.5-Omni 支持完全实时交互,能够处理分块输入并即时输出。这种设计使得模型可以像人类一样进行连续的、无延迟的对话和响应,大大提升了用户体验。

图片

三、功能特点

(一)全能创新架构

Qwen2.5-Omni 的 Thinker-Talker 架构使其能够同时处理文本、图像、音频和视频等多种模态输入,并生成相应的文本和语音响应。这种架构不仅支持跨模态理解,还能够以流式方式输出结果,使得模型在处理复杂的多模态任务时更加高效和自然。

(二)实时音视频交互

Qwen2.5-Omni 支持实时音视频交互,能够处理分块输入并即时输出。这意味着模型可以在接收到输入数据的同时,立即生成响应,无需等待所有数据输入完成。这种实时性对于需要快速响应的应用场景(如视频会议、实时翻译等)具有重要意义。

(三)自然流畅的语音生成

Qwen2.5-Omni 在语音生成的自然性和稳定性方面表现出色。它能够生成流畅、自然的语音,超越了许多现有的流式和非流式语音生成模型。这种高质量的语音生成能力使得模型在语音交互应用中更具优势。

(四)全模态性能优势

Qwen2.5-Omni 在多模态任务 OmniBench 中达到了 SOTA(State-of-the-Art)表现。此外,在单模态任务中,如语音识别(Common Voice)、翻译(CoVoST2)、音频理解(MMAU)、图像推理(MMMU、MMStar)、视频理解(MVBench)以及语音生成(Seed-tts-eval 和主观自然听感)等多个领域,Qwen2.5-Omni 也表现出色。这表明该模型不仅在多模态任务中表现出色,还在单模态任务中保持了竞争力

(五)卓越的端到端语音指令跟随能力

Qwen2.5-Omni 在端到端语音指令跟随方面表现出色。它能够准确理解和执行语音指令,与文本输入处理的效果相当。这种能力在 MMLU 通用知识理解和 GSM8K 数学推理等基准测试中得到了验证。

四、应用场景

(一)智能语音助手

Qwen2.5-Omni 的实时音视频交互能力和自然流畅的语音生成能力使其成为理想的智能语音助手。它可以处理用户的语音指令,实时生成语音回应,为用户提供更加自然和便捷的交互体验。

(二)多模态内容创作

在内容创作领域,Qwen2.5-Omni 可以同时处理文本、图像和视频输入,并生成相应的文本或语音描述。这使得创作者能够更加高效地生成多模态内容,如视频字幕、图像描述等。

(三)教育与培训

Qwen2.5-Omni 可以用于教育和培训领域,通过处理多种模态的输入,为学生提供更加丰富和个性化的学习体验。例如,它可以实时生成语音讲解,帮助学生更好地理解复杂的概念。

(四)智能客服

在智能客服领域,Qwen2.5-Omni 可以实时处理客户的语音或文本问题,并生成准确的回应。这种能力可以提高客服效率,改善客户体验。

五、性能表现

(一)多模态任务

Qwen2.5-Omni 在多模态任务 OmniBench 中达到了 SOTA 表现。这表明该模型在处理多模态输入和输出方面具有显著优势。

(二)单模态任务

在单模态任务中,Qwen2.5-Omni 也表现出色。例如,在语音识别(Common Voice)、翻译(CoVoST2)、音频理解(MMAU)、图像推理(MMMU、MMStar)、视频理解(MVBench)以及语音生成(Seed-tts-eval 和主观自然听感)等多个领域,Qwen2.5-Omni 都取得了优异的成绩。

(三)实时性

Qwen2.5-Omni 支持完全实时交互,能够处理分块输入并即时输出。这种实时性使得模型在需要快速响应的应用场景中具有显著优势。

图片

六、使用指南

(一)在线快速体验

访问下面在线地址,即可在线快速体验Qwen2.5-Omni-7B-Demo模型

体验地址:https://huggingface.co/spaces/Qwen/Qwen2.5-Omni-7B-Demo

图片

在线体验了 Qwen2.5-Omni 之后,我必须说,它的表现简直超出了我的预期,整体使用效果令人印象深刻。无论是处理复杂的多模态输入,还是生成流畅自然的语音和文本输出,Qwen2.5-Omni 都展现出了卓越的性能。特别是它的实时交互能力,让我感觉就像在和一个真正的人类进行对话一样,毫无延迟和卡顿,这种流畅的交互体验让人感觉非常棒。

(二)本地部署推理(transformers)

在开始使用 Qwen2.5-Omni 之前,需要确保你的环境满足以下要求:

  • Python 版本:推荐使用 Python 3.9 或更高版本。

  • PyTorch:安装 PyTorch 2.0 或更高版本,确保支持 CUDA 运算。

  • Transformers:安装 Hugging Face 的 Transformers 库,版本建议为 4.36.0 或更高。

  • 其他依赖:安装 accelerate 和 qwen-omni-utils 库,用于加速训练和处理多模态数据。

可以通过以下命令安装必要的依赖:

    pip install transformers#  由于Qwen2.5-Omni的代码在Hugging Face transformers中目前处于未合并阶段,尚未并入主分支,官方建议从源代码构建:#  pip uninstall transformers#  pip install git+https://github.com/huggingface/transformers@3a1ead0aabed473eafe527915eea8c197d424356pip install accelerate# 安装qwen-omni相关依赖工具包pip install qwen-omni-utils[decord]

    以下是一个使用Qwen2.5-Omni 模型的代码示例:

      import soundfile as sf
      from transformers import Qwen2_5OmniModel, Qwen2_5OmniProcessorfrom qwen_omni_utils import process_mm_info
      # default: Load the model on the available device(s)model = Qwen2_5OmniModel.from_pretrained("Qwen/Qwen2.5-Omni-7B", torch_dtype="auto", device_map="auto")
      # 我们建议启用 flash_attention_2 以获取更快的推理速度以及更低的显存占用.# model = Qwen2_5OmniModel.from_pretrained(#     "Qwen/Qwen2.5-Omni-7B",#     torch_dtype="auto",#     device_map="auto",#     attn_implementation="flash_attention_2",# )
      processor = Qwen2_5OmniProcessor.from_pretrained("Qwen/Qwen2.5-Omni-7B")
      conversation = [    {        "role": "system",        "content": "You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of perceiving auditory and visual inputs, as well as generating text and speech.",    },    {        "role": "user",        "content": [            {"type": "video", "video": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen2.5-Omni/draw.mp4"},        ],    },]
      # Preparation for inferencetext = processor.apply_chat_template(conversation, add_generation_prompt=True, tokenize=False)audios, images, videos = process_mm_info(conversation, use_audio_in_video=True)inputs = processor(text=text, audios=audios, images=images, videos=videos, return_tensors="pt", padding=True)inputs = inputs.to(model.device).to(model.dtype)
      # Inference: Generation of the output text and audiotext_ids, audio = model.generate(**inputs, use_audio_in_video=True)
      text = processor.batch_decode(text_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)print(text)sf.write(    "output.wav",    audio.reshape(-1).detach().cpu().numpy(),    samplerate=24000,)

      官方推荐的最小GPU资源:

      图片

      (三)本地部署推理(vLLM)

      安装qwen-omni-utils和vllm相关依赖

        pip install git+https://github.com/huggingface/transformers@1d04f0d44251be5e236484f8c8a00e1c7aa69022pip install acceleratepip install qwen-omni-utilsgit clone -b qwen2_omni_public_v1 https://github.com/fyabc/vllm.gitcd vllmpip install .

        以下是一个使用vLLM 的代码示例:

          import osimport torch
          from transformers import Qwen2_5OmniProcessorfrom vllm import LLM, SamplingParamsfrom qwen_omni_utils import process_mm_info
          # vLLM engine v1 not supported yetos.environ['VLLM_USE_V1'] = '0'
          MODEL_PATH = "Qwen/Qwen2.5-Omni-7B"
          llm = LLM(    model=MODEL_PATH, trust_remote_code=True, gpu_memory_utilization=0.9,    tensor_parallel_size=torch.cuda.device_count(),    limit_mm_per_prompt={'image': 1, 'video': 1, 'audio': 1},    seed=1234,)
          sampling_params = SamplingParams(    temperature=1e-6,    max_tokens=512,)
          processor = Qwen2_5OmniProcessor.from_pretrained(MODEL_PATH)
          messages = [    {        "role": "system",        "content": "You are Qwen, a virtual human developed by the Qwen Team, Alibaba Group, capable of perceiving auditory and visual inputs, as well as generating text and speech.",    },    {        "role": "user",        "content": [            {"type": "video", "video": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen2.5-Omni/draw.mp4"},        ],    },]
          text = processor.apply_chat_template(    messages,    tokenize=False,    add_generation_prompt=True,)
          audios, images, videos = process_mm_info(messages, use_audio_in_video=True)
          inputs = {    'prompt': text[0],    'multi_modal_data': {},    "mm_processor_kwargs": {        "use_audio_in_video": True,    },}
          
          if images is not None:    inputs['multi_modal_data']['image'] = imagesif videos is not None:    inputs['multi_modal_data']['video'] = videosif audios is not None:    inputs['multi_modal_data']['audio'] = audios
          outputs = llm.generate(inputs, sampling_params=sampling_params)print(outputs[0].outputs[0].text)

          (四)本地网页对话

          1、克隆代码安装依赖

          在开始之前,请确保已安装所需的依赖项,可以通过运行以下命令来安装:

            git clone https://github.com/QwenLM/Qwen2.5-Omni.gitpip install -r requirements_web_demo.txt

            2、启动Web服务

            安装所需的依赖项,我们就可以使用以下命令启动网页演示

              python web_demo.py

              在运行这个命令之后, 您将会在终端中看到类似的输出:

              Running on local: http://127.0.0.1:7860/

              输入到浏览器中,即可访问网页演示,在网页中您可以输入文本、上传音频、图像和视频,以及切换输出音色类型等功能。

              注意:基于FlashAttention-2 启动演示为了获得更好的性能和效率,尤其是处理大量图像和视频的场景下,官方建议使用 FlashAttention-2。FlashAttention-2 提供了显存使用和速度的显著改进,因此对于处理大型模型和数据处理的场景,它非常合适;命令启动如下:

                python web_demo.py --flash-attn2

                七、结语

                Qwen2.5-Omni 是阿里巴巴开源的全能多模态大模型,采用创新的 Thinker-Talker 架构,具备强大的多模态处理能力,在多模态和单模态任务中均表现出色。其实时交互和自然语音生成能力使其在智能语音助手、内容创作、教育和智能客服等领域应用前景广阔。随着技术发展和场景拓展,Qwen2.5-Omni 将为人工智能带来更多创新突破。

                 

                 如何学习AI大模型?

                我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

                我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

                第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

                第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

                第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

                第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

                第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

                第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

                第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。


                👉学会后的收获:👈
                • 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

                • 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

                • 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

                • 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。


                1.AI大模型学习路线图
                2.100套AI大模型商业化落地方案
                3.100集大模型视频教程
                4.200本大模型PDF书籍
                5.LLM面试题合集
                6.AI产品经理资源合集

                👉获取方式:
                😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

                ### Qwen2.5-Omni-7B 模型介绍 Qwen2.5-Omni-7B 是通义千问系列中的多模态大模型之一,具有强大的跨领域理解和生成能力。该模型支持多种任务场景,包括但不限于文本生成、图像理解、语音处理以及复杂逻辑推理等[^1]。 #### 主要特性 1. **大规模参数量**:Qwen2.5-Omni-7B 的参数规模达到 70亿级别,能够更好地捕捉复杂的模式并提供高质量的结果。 2. **多模态融合**:除了传统的自然语言处理外,还集成了视觉和音频等多种感知技术,使得它可以应对更加丰富的应用场景。 3. **高效推理性能**:针对实际应用需求优化后的架构设计,在保持高精度的同时降低了计算资源消耗,适合部署于不同硬件环境之中。 4. **广泛的适配性**:无论是云端服务器还是边缘设备上都能实现良好运行效果;同时也提供了灵活易用接口供开发者快速集成到各自项目当中去[^2]。 #### 下载方式 对于希望获取此版本模型文件的用户来说,可以通过以下两种途径完成下载操作: ##### 方法一 使用 ModelScope 平台命令行工具 通过 pip 安装 modelscope 工具包之后执行如下指令即可获得对应权重数据: ```bash pip install modelscope modelscope download --model Qwen/Qwen2.5-Omni-7B ``` ##### 方法二 利用 Ollama 实现本地化加载 如果倾向于采用更轻量化解决方案,则可以考虑借助开源框架 Ollama 来管理整个流程。具体而言只需访问其官网页面找到名为 `qwen2.5-omni` 的选项(注意区分大小写),接着按照提示完成必要的配置步骤便能顺利取得目标资产了。需要注意的是,由于此类大型预训练模型通常占据较多存储空间,因此提前确认剩余容量是否充足显得尤为重要——以当前为例大约需要预留至少 8GB 可用磁盘位置来容纳部组件[^3]。 ```python import torch from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-Omni-7B") model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen2.5-Omni-7B", device_map="auto", torch_dtype=torch.float16) input_text = "请介绍一下量子计算机的工作原理" inputs = tokenizer(input_text, return_tensors="pt").to('cuda') outputs = model.generate(**inputs, max_new_tokens=50) print(tokenizer.decode(outputs[0], skip_special_tokens=True)) ```
                评论
                添加红包

                请填写红包祝福语或标题

                红包个数最小为10个

                红包金额最低5元

                当前余额3.43前往充值 >
                需支付:10.00
                成就一亿技术人!
                领取后你会自动成为博主和红包主的粉丝 规则
                hope_wisdom
                发出的红包
                实付
                使用余额支付
                点击重新获取
                扫码支付
                钱包余额 0

                抵扣说明:

                1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
                2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

                余额充值