Tech Explorer Logo

搜索内容

Ivy-VL重磅发布:3B参数制霸端侧视觉AI,超越Qwen/InternVL等主流模型

6 min read
Cover image for Ivy-VL重磅发布:3B参数制霸端侧视觉AI,超越Qwen/InternVL等主流模型

AI Safeguard联合CMU与斯坦福大学共同开发的轻量级多模态模型Ivy-VL正式发布,该模型以其精简的参数量和出色的性能引起业界关注。

背景介绍

随着人工智能的快速发展,多模态大模型(MLLMs)在计算机视觉、自然语言处理和多模态任务中扮演着重要角色。然而,受限于硬件资源和能效需求,将这些模型部署到移动设备和边缘设备上一直是一个巨大挑战。在这一背景下,Ivy-VL凭借卓越的性能,成为面向移动端多模态模型的新标杆。

核心特点

Ivy-VL具备以下显著优势:

  • 极致轻量化:仅使用3B参数,远低于7B到几十B的主流多模态模型,可高效运行于AI眼镜、智能手机等资源受限设备
  • 卓越性能:在OpenCompass榜单上实现4B以下开源模型第一,超越Qwen2-VL-2B、InternVL2-2B、InternVL2.5-2B、SmolVLM-Instruct等顶尖端侧模型
  • 低延迟响应:3B的模型大小确保实时推理能力,在生成速度、能效比和准确率之间达到完美平衡
  • 强大跨模态理解:在视觉问答、图像描述、复杂推理等任务中表现优异

技术架构

Ivy-VL采用先进的技术方案:

  • 基础架构:基于LLaVA-One-Vision
  • 语言模型:使用Qwen/Qwen2.5-3B-Instruct
  • 视觉编码器:采用google/siglip-so400m-patch14-384
  • 训练优化:针对性能和效率进行特殊优化

应用场景

该模型特别适用于以下场景:

  • 智能穿戴设备:支持AI眼镜实现实时视觉问答,辅助增强现实(AR)体验
  • 手机端智能助手:提供更智能的多模态交互能力,实现自然AI服务
  • 物联网设备:助力智能家居和IoT场景实现高效的多模态数据处理
  • 移动端教育与娱乐:增强教育软件的图像理解与交互能力,推动移动学习与沉浸式娱乐体验

性能评测

在多个权威评测中,Ivy-VL展现出优异表现:

  • 在OpenCompass榜单上获得4B以下开源模型第一
  • 超越多个顶尖端侧SOTA模型:
    • Qwen2-VL-2B
    • InternVL2-2B
    • InternVL2.5-2B
    • SmolVLM-Instruct
    • Aquila-VL-2B
    • PaliGemma 3B

开源与获取

模型已在Hugging Face平台开放获取:

  • 完整开源代码和权重
  • Apache 2.0许可证
  • 支持学术研究和商业应用
  • 提供详细的部署文档

未来规划

开发团队计划在以下方向持续优化:

  • 推出不同规模的模型版本
  • 加强视频模态处理能力
  • 扩展更多应用场景支持
  • 优化模型部署效率

使用方法

1. 安装

通过pip安装模型:

   pip install git+https://github.com/LLaVA-VL/LLaVA-NeXT.git

2. Python代码示例

基础使用示例:

   from llava.model.builder import load_pretrained_model
from llava.mm_utils import process_images, tokenizer_image_token
from llava.constants import IMAGE_TOKEN_INDEX, DEFAULT_IMAGE_TOKEN
from llava.conversation import conv_templates
from PIL import Image
import requests
import copy
import torch
import warnings

warnings.filterwarnings("ignore")

# 加载预训练模型
pretrained = "AI-Safeguard/Ivy-VL-llava"
model_name = "llava_qwen"
device = "cuda"
device_map = "auto"

# 初始化模型和tokenizer
tokenizer, model, image_processor, max_length = load_pretrained_model(
    pretrained, 
    None, 
    model_name, 
    device_map=device_map
)

model.eval()

# 加载图片(支持URL或本地图片)
# 方式1:从URL加载
url = "https://example.com/image.jpg"
image = Image.open(requests.get(url, stream=True).raw)

# 方式2:从本地加载
# image = Image.open("./local_image.jpg")

# 处理图片
image_tensor = process_images([image], image_processor, model.config)
image_tensor = [_image.to(dtype=torch.float16, device=device) for _image in image_tensor]

# 设置对话模板和问题
conv_template = "qwen_1_5"
question = DEFAULT_IMAGE_TOKEN + "\n请描述这张图片的内容"
conv = copy.deepcopy(conv_templates[conv_template])
conv.append_message(conv.roles[0], question)
conv.append_message(conv.roles[1], None)
prompt_question = conv.get_prompt()

# 生成回答
input_ids = tokenizer_image_token(
    prompt_question, 
    tokenizer, 
    IMAGE_TOKEN_INDEX, 
    return_tensors="pt"
).unsqueeze(0).to(device)

image_sizes = [image.size]

response = model.generate(
    input_ids,
    images=image_tensor,
    image_sizes=image_sizes,
    do_sample=False,
    temperature=0,
    max_new_tokens=4096,
)

# 解码输出
output_text = tokenizer.batch_decode(response, skip_special_tokens=True)
print(output_text)

3. 重要参数说明

   # 模型配置参数
model_args = {
    "device_map": "auto",    # 设备映射方式
    "dtype": torch.float16,  # 模型精度
    "max_length": 4096,      # 最大token长度
}

# 生成参数
generate_args = {
    "do_sample": False,      # 是否使用采样
    "temperature": 0,        # 生成温度
    "max_new_tokens": 4096,  # 最大新token数
}

4. 注意事项

  • 需要CUDA环境支持
  • 建议使用16GB以上显存的GPU
  • 支持的图片格式:jpg、png、webp
  • 建议图片分辨率:224x224 到 1024x1024
  • 支持批量处理多张图片
  • 确保网络环境稳定以下载模型权重

获取方式

开发者可以通过pip安装并快速开始使用,详细使用说明请参考官方文档。如有技术问题,可联系开发团队获取支持。

未来展望

Ivy-VL的诞生标志着轻量级多模态模型在端侧设备上的重要突破。AI Safeguard计划在以下方向持续优化:

  • 进一步提升视频模态任务表现
  • 探索更多行业应用场景
  • 优化模型部署效率
  • 推动移动设备AI应用普及
Share