引言
随着人工智能技术的飞速发展,多模态大模型逐渐成为研究和应用中的热点。Qwen2VL-7B,作为一个强大的多模态模型,具备理解和生成文本、图像以及视频等多种数据类型的能力。本文将详细介绍如何在CUDA 12.1和Python 3.11环境下,使用RTX 3090显卡部署Qwen2VL-7B多模态大模型。
环境准备
1. 硬件与软件要求
- 显卡:NVIDIA RTX 3090(实测7B量化模型需要16G以上显存)
- CUDA版本:CUDA 12.1
- Python版本:Python 3.11
2. 下载模型文件
首先,需要从魔搭社区下载Qwen2VL-7B多模态大模型的文件。使用以下Python脚本可以方便地下载模型:
from modelscope import snapshot_download model_dir = snapshot_download('Qwen/Qwen2-VL-7B-Instruct-GPTQ-Int4')该脚本会将模型文件下载到指定的目录,便于后续使用。
3. 创建虚拟环境并安装依赖
使用Conda创建一个新的虚拟环境,并安装所需的依赖库:
conda create --name qwen2_vl python=3.11 conda activate qwen2_vl pip install -U vllm -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple pip install -U --force git+https://github.com/huggingface/transformers pip install qwen-vl-utils -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple这些依赖库包括vllm、transformers和qwen-vl-utils,它们对模型的运行至关重要。
模型部署
1. 导入必要的库
在部署模型之前,需要导入相关的Python库:
from PIL import Image from transformers import AutoProcessor from vllm import LLM, SamplingParams from qwen_vl_utils import process_vision_info2. 初始化模型
通过以下代码初始化Qwen2VL-7B多模态大模型:
MODEL_PATH = 'qwen/Qwen2-VL-7B-Instruct-GPTQ-Int4' llm = LLM( model=MODEL_PATH, limit_mm_per_prompt={'image': 10, 'video': 10}, )这里设置了每个提示中图像和视频的最大数量。
3. 设置采样参数
设置生成文本的采样参数,以控制生成文本的质量和多样性:
sampling_params = SamplingParams( temperature=0.1, top_p=0.001, repetition_penalty=1.05, max_tokens=256, stop_token_ids=[], )4. 准备输入数据
构建包含图像和文本输入的消息:
IMAGE_PATH = '1.jpg' VIDEO_PATH = '/path/to/video.mp4' messages = [ {'role': 'system', 'content': 'You are a helpful assistant.'}, {'role': 'user', 'content': [ { 'type': 'image', 'image': IMAGE_PATH, 'max_pixels': 12845056, }, # { # 'type': 'video', # 'video': VIDEO_PATH, # } { 'type': 'text', 'text': 'What does this diagram illustrate?', }, ]}, ]5. 处理输入数据
使用AutoProcessor和process_vision_info函数处理输入数据:
processor = AutoProcessor.from_pretrained(MODEL_PATH) prompt = processor.apply_chat_template( messages, tokenize=False, add_generation_prompt=True, ) image_inputs, video_inputs = process_vision_info(messages) mm_data = {} if image_inputs is not None: mm_data['image'] = image_inputs if video_inputs is not None: mm_data['video'] = video_inputs6. 生成输出文本
最后,将处理后的数据输入模型,并生成输出文本:
llm_inputs = { 'prompt': prompt, 'multi_modal_data': mm_data, } outputs = llm.generate([llm_inputs], sampling_params=sampling_params) generated_text = outputs[0].outputs[0].text print(generated_text)总结
本文详细介绍了如何在CUDA 12.1和Python 3.11环境下,使用RTX 3090显卡部署Qwen2VL-7B多模态大模型。通过详细的步骤和代码示例,读者可以轻松实现模型的下载、依赖安装、初始化、数据准备和文本生成。希望本文能为你在多模态大模型的研究和应用中提供帮助。
大模型算是目前当之无愧最火的一个方向了,算是新时代的风口!有小伙伴觉得,作为新领域、新方向人才需求必然相当大,与之相应的人才缺乏、人才竞争自然也会更少,那转行去做大模型是不是一个更好的选择呢?是不是更好就业呢?是不是就暂时能抵抗35岁中年危机呢?
答案当然是这样,大模型必然是新风口!
那如何学习大模型 ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。但是具体到个人,只能说是:
最先掌握AI的人,将会比较晚掌握AI的人有竞争优势。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
但现在很多想入行大模型的人苦于现在网上的大模型老课程老教材,学也不是不学也不是,基于此我用做产品的心态来打磨这份大模型教程,深挖痛点并持续修改了近100余次后,终于把整个AI大模型的学习路线完善出来!
在这个版本当中:
您只需要听我讲,跟着我做即可,为了让学习的道路变得更简单,这份大模型路线+学习教程已经给大家整理并打包分享出来, 😝有需要的小伙伴,可以扫描下方二维码领取🆓↓↓↓
👉CSDN大礼包🎁:全网最全《LLM大模型学习资源包》免费分享(安全咨料,放心领取)👈
一、大模型经典书籍(免费分享)
AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。
二、640套大模型报告(免费分享)
这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)
三、大模型系列视频教程(免费分享)
四、2025最新大模型学习路线(免费分享)
我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。
L1阶段:启航篇丨极速破界AI新时代
L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。
L2阶段:攻坚篇丨RAG开发实战工坊
L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。
L3阶段:跃迁篇丨Agent智能体架构设计
L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。
L4阶段:精进篇丨模型微调与私有化部署
L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。
L5阶段:专题集丨特训篇 【录播课】
全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方二维码,免费领取
👉CSDN大礼包🎁:全网最全《LLM大模型学习资源包》免费分享(安全资料,放心领取)👈