Mini-InternVL:轻量级多模态大模型,4B 参数量媲美 InternVL2-76B

简介: Mini-InternVL 是上海AI Lab联合清华等机构推出的轻量级多模态大模型,支持高效推理、跨领域适应和动态分辨率输入,适用于多种场景。

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 高效推理:Mini-InternVL 通过动态分辨率输入策略和像素洗牌操作,显著减少视觉标记数量,提升处理效率。
  2. 跨领域适应:基于知识蒸馏和转移学习技术,Mini-InternVL 能够快速适应不同领域的任务需求。
  3. 轻量级设计:Mini-InternVL 在保持较小模型参数量的同时,实现了与大型模型相近的性能,适合资源受限的环境。

正文(附运行示例)

Mini-InternVL 是什么

Mini-InternVL

Mini-InternVL 是上海AI实验室与清华大学、南京大学等机构联合推出的轻量级多模态大型语言模型系列。它包含 1B、2B 和 4B 三个参数版本,能够在较小的参数量下实现较高的性能。其中,Mini-InternVL-4B 仅用 5% 的参数量就达到了 InternVL2-76B 约九成的性能。

Mini-InternVL 使用 InternViT-300M 作为视觉编码器,并结合不同的预训练语言模型,通过动态分辨率输入策略和像素洗牌操作来减少视觉标记数量,从而提高处理效率。该模型在多个多模态基准测试中表现出色,并且能够通过简单的转移学习框架适应特定领域的下游任务。

Mini-InternVL 的主要功能

  • 多模态理解与推理:在给定图像和文本输入的情况下,理解和推理其中的语义关系。
  • 跨领域适应性:基于知识蒸馏和转移学习技术,适应不同的领域和任务。
  • 轻量级与高效性:Mini-InternVL 在保持较小模型参数量的同时,实现与大型模型相近的性能,适合在资源受限的环境中运行。
  • 视觉指令调优:具备根据视觉指令进行调优的能力,更好地理解和执行用户基于图像的指令。
  • 动态分辨率输入:支持动态分辨率输入策略,根据图像的长宽比将其分割成不同大小的瓦片,并进行相应的处理。

Mini-InternVL 的技术原理

  • 视觉编码器(InternViT-300M):作为模型的核心部分,视觉编码器负责将输入图像转换为模型能理解的特征表示。InternViT-300M 是轻量级的视觉模型,基于知识蒸馏从更强大的 InternViT-6B 模型中继承丰富的视觉知识。
  • 知识蒸馏:将大型教师模型的知识转移到小型学生模型中,让学生模型能继承教师模型的性能。
  • MLP 投影器:将视觉编码器输出的特征向量投影到一个适合语言模型处理的空间中,使得视觉信息和文本信息能有效地融合和交互。
  • 预训练语言模型(LLMs):Mini-InternVL 结合不同的预训练语言模型,如 Qwen2-0.5B、InternLM2-1.8B 和 Phi-3mini。
  • 动态分辨率输入策略:根据图像的长宽比将其分割成 448×448 大小的瓦片,将瓦片组合成固定序列,最终生成一个 2688×896 分辨率的图像表示。
  • 像素洗牌操作:将图像的分辨率降低到原来的四分之一,减少视觉标记的数量。

如何运行 Mini-InternVL

1. 安装依赖

首先,确保你已经安装了必要的依赖库:

pip install torch transformers

2. 加载模型

使用 HuggingFace 提供的预训练模型进行推理:

import torch
from transformers import AutoModel, AutoTokenizer

model = AutoModel.from_pretrained(
    'OpenGVLab/InternVL2_5-8B',
    torch_dtype=torch.bfloat16,
    low_cpu_mem_usage=True,
    trust_remote_code=True).eval().cuda()

tokenizer = AutoTokenizer.from_pretrained(
    'OpenGVLab/InternVL2_5-8B', trust_remote_code=True, use_fast=False)

3. 图像处理

使用动态分辨率输入策略处理图像:

from PIL import Image

image = Image.open('path_to_image.jpg').convert('RGB')
pixel_values = load_image(image, max_num=12).to(torch.bfloat16).cuda()

4. 进行推理

进行多模态对话推理:

question = '<image>\nPlease describe the image in detail.'
response = model.chat(tokenizer, pixel_values, question, generation_config)
print(f'User: {question}\nAssistant: {response}')

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日分享大模型与 AI 领域的最新开源项目和应用,提供运行实例和实用教程,帮助你快速上手AI技术,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
2月前
|
存储 人工智能 NoSQL
AI大模型应用实践 八:如何通过RAG数据库实现大模型的私有化定制与优化
RAG技术通过融合外部知识库与大模型,实现知识动态更新与私有化定制,解决大模型知识固化、幻觉及数据安全难题。本文详解RAG原理、数据库选型(向量库、图库、知识图谱、混合架构)及应用场景,助力企业高效构建安全、可解释的智能系统。
|
3月前
|
人工智能 Java API
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
本文介绍AI大模型的核心概念、分类及开发者学习路径,重点讲解如何选择与接入大模型。项目基于Spring Boot,使用阿里云灵积模型(Qwen-Plus),对比SDK、HTTP、Spring AI和LangChain4j四种接入方式,助力开发者高效构建AI应用。
1730 122
AI 超级智能体全栈项目阶段一:AI大模型概述、选型、项目初始化以及基于阿里云灵积模型 Qwen-Plus实现模型接入四种方式(SDK/HTTP/SpringAI/langchain4j)
|
2月前
|
机器学习/深度学习 人工智能 人机交互
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
400 121
|
2月前
|
数据采集 人工智能 搜索推荐
智能新纪元:多模态大模型如何重塑人机交互
智能新纪元:多模态大模型如何重塑人机交互
260 113
|
2月前
|
人工智能 人机交互 知识图谱
当AI学会“融会贯通”:多模态大模型如何重塑未来
当AI学会“融会贯通”:多模态大模型如何重塑未来
309 114
|
2月前
|
人工智能 安全 搜索推荐
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
当AI学会“看”和“听”:多模态大模型如何重塑人机交互
286 117
|
4月前
|
数据采集 机器学习/深度学习 编解码
小红书 hi lab开源最强多模态大模型dots.vlm1,性能对标闭源 Gemini 2.5 Pro 和 Seed-VL1.5
小红书 hi lab开源最强多模态大模型dots.vlm1,性能对标闭源 Gemini 2.5 Pro 和 Seed-VL1.5
607 0
小红书 hi lab开源最强多模态大模型dots.vlm1,性能对标闭源 Gemini 2.5 Pro 和 Seed-VL1.5
|
4月前
|
机器学习/深度学习 人工智能 算法
GSPO:Qwen让大模型强化学习训练告别崩溃,解决序列级强化学习中的稳定性问题
这是7月份的一篇论文,Qwen团队提出的群组序列策略优化算法及其在大规模语言模型强化学习训练中的技术突破
1304 0
GSPO:Qwen让大模型强化学习训练告别崩溃,解决序列级强化学习中的稳定性问题
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
AI Compass前沿速览:Qwen3-Max、Mixboard、Qwen3-VL、Audio2Face、Vidu Q2 AI视频生成模型、Qwen3-LiveTranslate-全模态同传大模型
AI Compass前沿速览:Qwen3-Max、Mixboard、Qwen3-VL、Audio2Face、Vidu Q2 AI视频生成模型、Qwen3-LiveTranslate-全模态同传大模型
718 13
AI Compass前沿速览:Qwen3-Max、Mixboard、Qwen3-VL、Audio2Face、Vidu Q2 AI视频生成模型、Qwen3-LiveTranslate-全模态同传大模型

热门文章

最新文章