从0到1本地部署2025年3月27日阿里开源的新一代旗舰多模态大模型Qwen2.5-Omni,实现无缝处理包括文本、图像、音频和视频在内的各种输入,同时支持流式的文本生成和自然语音合成输出

官方文档地址:

https://github.com/QwenLM/Qwen2.5-Omni/blob/main/README_CN.md#-docker

  1. 检查是否安装了 Anaconda/Miniconda

    • 打开 Anaconda Prompt(如果安装了 Anaconda)。

    • 如果没有安装,请访问 Anaconda 官方网站Miniconda 官方网站 下载并安装。

    • miniconda里只有conda和python,而anaconda里则集成了更多的科学计算库,这里我们已anaconda为例(请注意Anaconda下载包大约5G,接受不了就去下载miniconda,真的推荐Anaconda,因为后续你的miniconda里没的还是要下)

  2. 下载安装Anaconda

然后去你的邮箱里点击下载

https://www.anaconda.com/download/success

选择对应你操作系统的版本

下一步下一步

这里红线注意下!他不推荐我们在安装过程中,自动添加环境变量!但是我太懒了,所以我勾上

最后两个选项你没关,会出现这个,这个其实就是python生态的应用商店,关了就行了

安装完成后重新打开一个shell窗口,执行

conda --version

看到

就说明安装成功了!

创建conda环境

conda create -n Qwen2.5-Omni python=3.12

会看到这么一大坨,不要被吓到,下载依赖而已,输入y就完事了,虚拟环境,别担心

等待安装完成,其实他已经提示你怎么进入这个虚拟环境了

激活

conda activate Qwen2.5-Omni

验证环境激活情况

conda info --envs

在我们虚拟环境中开始安装相关依赖包

记得临时禁用下git的ssl,不然会报错

git config --global http.sslVerify false
pip uninstall transformers
pip install git+https://github.com/huggingface/transformers@f742a644ca32e65758c3adb36225aef1731bd2a8
pip install accelerate

pip install qwen-omni-utils[decord]
pip install modelscope

这里会用到git,没的话自己下个安装,下一步下一步就完事了,年轻人胆子大一点儿

https://git-scm.com/

记得红线里勾上,省的配环境变量了

等待都安装完毕即可!

下载模型

 modelscope download 'Qwen/Qwen2.5-Omni-7B' --local_dir 'D:\model\Qwen2.5-Omni'

等待下载完成

记得安装ffmpeg,不管是大模型还是其他视频,音频转文本程序都需要

https://ffmpeg.org/download.html

安装请参考

https://blog.csdn.net/Natsuago/article/details/143231558

执行官方演示代码

import soundfile as sf

from transformers import Qwen2_5OmniModel, Qwen2_5OmniProcessor
from 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")

# We recommend enabling flash_attention_2 for better acceleration and memory saving.
# 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 inference
text = 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 audio
text_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,
)

这个阶段是下载和读代码

下载完成,cpu开始启动模型分析视频

因为内存不足报错了!其实是c盘也快满了!

### 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、付费专栏及课程。

余额充值