性能评测第一,阿里开源可商用AI模型Ovis 1.6使用指南,AI多模态大模型首选

什么是 Ovis 1.6 Gemma 2 9B?

Ovis 1.6 Gemma 2 9B 是阿里国际AI团队推出的最新多模态大模型(Multimodal Large Language Model,MLLM)。该模型旨在结构化地对齐视觉和文本嵌入,能够处理和理解多种不同类型的数据输入,如文本和图像。Ovis 1.6 Gemma 2 9B 模型已经开源,其权重和代码可供开发者和企业自由使用和修改。

性能评测

Ovis 1.6 Gemma 2 9B 模型在多个基准测试中表现出色,并在30B参数以下的多模态大模型中取得了综合排名第一的成绩
。具体来说,它在数学推理问答、物体识别、文本提取和复杂任务决策等方面展现了出色的表现
。例如,该模型能够准确回答数学问题,识别花的品种,支持多种语言的文本提取,甚至可以识别手写字体和复杂的数学公式
。此外,Ovis-1.6在幻觉等任务中的错误率显著低于同级别的模型,展现了更高的生成文本质量和准确性

功能特色

Ovis 1.6 Gemma 2 9B 具有以下主要功能和特色:

  • 高分辨率图像处理:支持处理极端长宽比的图像,兼容高分辨率图像,展现出色的图像理解能力。
  • 多模态数据覆盖:全面覆盖Caption、VQA、OCR、Table、Chart等多模态数据方向,显著提升多模态问答、指令跟随等任务表现。
  • 卓越模型性能:在多模态权威综合评测OpenCompass上,Ovis1.6-Gemma2-9B在30B参数以下的模型中取得了综合排名第一,超过了Qwen2-VL-7B、MiniCPM-V-2.6等模型。
  • 创新架构设计:引入可学习的视觉嵌入词表,将连续的视觉特征转换为概率化的视觉token,再经由视觉嵌入词表加权生成结构化的视觉嵌入。
  • 开源可商用:Ovis系列模型采用 Apache 2.0 许可证,Ovis1.6-Gemma2-9B的模型权重已开源。

技术原理

提出了一种新的Multimodal Large Language Models (MLLMs)架构,名为Ovis。Ovis的关键创新在于其视觉嵌入表和概率性视觉令牌的引入,这些创新旨在将视觉嵌入与文本嵌入在结构上对齐,从而增强MLLMs在处理视觉信息时的能力。

具体来说,Ovis通过以下方式实现这一目标:

  1. 视觉嵌入表:Ovis引入了一个额外的可学习视觉嵌入表,用于将连续的视觉令牌转换为结构化的形式,类似于文本嵌入表中的操作。每个视觉单词(视觉嵌入表中的每一行)都与一个嵌入向量相关联,这些向量与文本嵌入表中的嵌入向量具有相同的维度。
  2. 概率性视觉令牌:为了将视觉令牌与视觉词汇表中的视觉单词联系起来,Ovis使用一个线性头将视觉令牌映射到一个概率简单形上,这个简单形表示了视觉令牌与视觉词汇表中所有视觉单词的相似度分布。
  3. 视觉令牌的生成:视觉令牌通过视觉编码器生成,然后通过线性投影和softmax归一化转换为概率性令牌。这个概率性令牌表示视觉令牌与视觉嵌入表中所有视觉单词的相似度。
  4. 视觉嵌入的生成:Ovis通过概率性令牌索引视觉嵌入表,并使用这些索引的嵌入向量的加权平均作为最终的视觉嵌入。这种生成方式使得视觉嵌入与文本嵌入在生成过程中具有相似性。
  5. 训练策略:Ovis采用三阶段的训练策略,包括冻结LLM和视觉编码器的大部分参数,只训练特定部分的参数,然后逐步解冻并训练整个模型。
  6. 性能验证:通过在多个多模态基准测试上的评估,Ovis展示了其相对于开放源代码MLLMs和某些专有模型的优越性能。特别是在处理高分辨率图像和解决复杂的视觉任务方面,Ovis显示出显著的优势。

综上所述,Ovis的关键点在于其对视觉和文本嵌入策略的结构对齐,以及通过创新的训练策略和架构设计来提升MLLMs在多模态任务中的性能。

定价信息

Ovis 1.6 Gemma 2 9B 是开源的,用户可以免费使用其模型权重和代码。模型的开源许可证为 Apache 2.0。

如何使用

使用 Ovis 1.6 Gemma 2 9B 需要以下步骤:

安装依赖

pip install torch==2.2.0 transformers==4.44.2 numpy==1.24.3 pillow==10.3.0

加载模型

import torch
from PIL import Image
from modelscope import AutoModelForCausalLMmodel = AutoModelForCausalLM.from_pretrained("AIDC-AI/Ovis1.6-Gemma2-9B",torch_dtype=torch.bfloat16,multimodal_max_length=8192,trust_remote_code=True).cuda()
text_tokenizer = model.get_text_tokenizer()
visual_tokenizer = model.get_visual_tokenizer()

输入图像和文本

image_path = input("Enter image path: ")
image = Image.open(image_path)
text = input("Enter prompt: ")
query = f'<image>\n{text}'

格式化对话并生成输出

prompt, input_ids, pixel_values = model.preprocess_inputs(query, [image])
attention_mask = torch.ne(input_ids, text_tokenizer.pad_token_id)
input_ids = input_ids.unsqueeze(0).to(device=model.device)
attention_mask = attention_mask.unsqueeze(0).to(device=model.device)
pixel_values = [pixel_values.to(dtype=visual_tokenizer.dtype, device=visual_tokenizer.device)]with torch.inference_mode():gen_kwargs = dict(max_new_tokens=1024,do_sample=False,top_p=None,top_k=None,temperature=None,repetition_penalty=None,eos_token_id=model.generation_config.eos_token_id,pad_token_id=text_tokenizer.pad_token_id,use_cache=True)output_ids = model.generate(input_ids, pixel_values=pixel_values, attention_mask=attention_mask, **gen_kwargs)[0]output = text_tokenizer.decode(output_ids, skip_special_tokens=True)print(f'Output:\n{output}')

适用场景

Ovis 1.6 Gemma 2 9B 适用于多种场景,包括但不限于:

  • 数学推理问答:能够准确回答数学问题。
  • 物体识别:识别花的品种等物体。
  • 文本提取:支持多种语言的文本提取。
  • 复杂任务决策:例如识别手写字体和复杂的数学公式。
  • 图像描述生成:通过对图片的识别处理能够给出菜谱。
  • 视觉问答:在图像理解任务上表现出色。

项目链接

  • ModelScope
  • GitHub
  • Huggingface
  • arXiv

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/451450.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

抑郁症自测量表 API 接口,洞察情绪状态

抑郁症是一种常见的心理疾病&#xff0c;会给患者的生活和工作带来很大的困扰。为了帮助人们更好地了解自己的情绪状态&#xff0c;有一种抑郁症自测量表&#xff08;简称SDS&#xff09;&#xff0c;它是一种能够反映病人主观抑郁症状的自评量表。下面我们将通过调用抑郁症自测…

基于FreeRTOS的LWIP移植

目录 前言一、移植准备工作二、以太网固件库与驱动2.1 固件库文件添加2.2 库文件修改2.3 添加网卡驱动 三、LWIP 数据包和网络接口管理3.1 添加LWIP源文件3.2 Lwip文件修改3.2.1 修改cc.h3.2.2 修改lwipopts.h3.2.3 修改icmp.c3.2.4 修改sys_arch.h和sys_arch.c3.2.5 修改ether…

Linux·文件与IO

1. 回忆文件操作相关知识 我们首先回忆一下关于文件的一些知识。 如果一个文件没有内容&#xff0c;那它到底有没有再磁盘中存在&#xff1f;答案是存在&#xff0c;因为 文件 内容 属性&#xff0c;即使文件内容为空&#xff0c;但属性信息也是要记录的。就像进程的…

硬件产品经理的开店冒险之旅(下篇)

缘起&#xff1a;自己为何想要去寻找职业第二曲线 承接上篇的内容&#xff0c;一名工作13年的普通硬件产品经理将尝试探索第二职业曲线。根本原因不是出于什么高大上的人生追求或者什么职业理想主义&#xff0c;就是限于目前的整体就业形式到了40岁的IT从业人员基本不可能在岗…

【Python】selenium遇到“InvalidArgumentException”的解决方法

在使用try……except 的时候捕获到这个错误&#xff1a; InvalidArgumentException: invalid argument (Session info: chrome112.0.5614.0) 这个错误代表的是&#xff0c;当传入的参数不符合期望时&#xff0c;就会抛出这个异常&#xff1a; InvalidArgumentException: invali…

day-69 使二进制数组全部等于 1 的最少操作次数 II

思路 与3191. 使二进制数组全部等于 1 的最少操作次数 I思路类似&#xff0c;区别在于该题每次将下标i开始一直到数组末尾所有元素反转&#xff0c;所以我们用一个变量可以统计翻转次数 解题过程 从左向右遍历数组的过程中&#xff0c;有两种情况需要进行翻转&#xff1a;1.当…

多媒体(4)

PNG PNG&#xff08;流式网络图像&#xff09;文件采用【无损压缩】算法&#xff0c;压缩比高于GIF文件&#xff0c;支持 图像透明 PNG文件的色彩深度可以是灰度图像的16位&#xff0c;彩色图像的48位&#xff0c;是一种新兴的 网络图像格式 矢量图 矢量图是一组指令集合描述图…

Sentinel 介绍

随着微服务的流行&#xff0c;服务和服务之间的稳定性变得越来越重要。Sentinel 是面向分布式、多语言异构化服务架构的流量治理组件&#xff0c;主要以流量为切入点&#xff0c;从流量路由、流量控制、流量整形、熔断降级、系统自适应过载保护、热点流量防护等多个维度来帮助开…

芯知识 | NVH-FLASH语音芯片支持平台做语音—打造音频IC技术革新

随着科技的飞速发展&#xff0c;人们对于电子产品的音频性能要求越来越高。在这种背景下&#xff0c;NVH-FLASH系列语音芯片应运而生&#xff0c;作为音频IC领域的一次重大技术革新&#xff0c;NVH-FLASH系列语音芯片凭借其卓越的性能与灵活的支持平台&#xff0c;正逐步引领着…

Linux——网络层协议

前言 网络层&#xff1a;在复杂的网络环境中确定一个合适的路径 目录 前言 一IP协议 1预备知识 2基本概念 3格式 4网段划分 4.1理解IP 4.2IP组成 4.3划分方式 4.4为什么要网段划分 5特殊的IP地址 6IP地址的限制 7私有IP和公网IP 8NAT技术 9理解公网 10路由 …

使用RNN、LSTM和Transformer进行时间序列预测

文章目录 1 RNN & LSTMRNN结构LSTM结构样本和标签 2 Transformertransformer结构位置编码 1 RNN & LSTM RNN结构 LSTM结构 代码&#xff08;使用CPU&#xff09;&#xff1a; import numpy as np import torch from matplotlib import pyplot as plt from torch impo…

SQLite 上手指南 -- 基础语法

目录 一、数据库操作1.1 新建数据库1.2 查看数据库1.3 查看帮助指令 二、表操作2.1 创建表2.2 表信息2.3 表索引信息2.4 表结构信息2.5 删除表 三、数据记录操作3.1 新增记录3.2 查看记录3.3 不同格式输出 四、运算符4.1 算术运算符4.2 比较运算符4.3 逻辑运算符4.4 位运算符 S…

【热门】用ChatGPT做智慧农业云平台——农业ERP管控系统

随着科技的进步,原有农业种植方式已经不能满足社会发展的需要,必须对传统的农业进行技术更新和改造。经过多年的实践,人们总结出一种新的种植方法——温室农业,即“用人工设施控制环境因素,使作物获得最适宜的生长条件,从而延长生产季节,获得最佳的产出”。这种农业生产方式…

Linux安装 php5.6

Linux安装 php5.6.30 下载-解压-配置-安装 下载到 /usr/local wget http://am1.php.net/distributions/php-5.6.30.tar.gztar -zxvf php-5.6.30.tar.gz cd php-5.6.30#编译配置 ./configure --prefix/usr/local/php --with-curl/usr/local/curl --with-freetype-dir --wit…

无mac电脑在苹果开发者上传构建版本

我们登录苹果开发者网站的后台&#xff0c;进入app store后&#xff0c;发现上架的页面需要上传一个构建版本。 这个构建版本的意思就是我们的应用二进制文件&#xff0c;是上架最重要的文件。但是在苹果开发者后台是无法直接上传这个文件的&#xff0c;它提示我们可以使用xco…

R语言机器学习教程大纲

文章目录 介绍机器学习算法监督学习Supervised Learning分类Classification回归Regression 无监督学习 Unsupervised Learning聚类 Clustering降纬 Dimensionality Reduction相关Association 强化学习Reinforcement Learning模型自由 Model-Free Methods模型驱动 Model-Based M…

服务器托管的优缺点有哪些?

由于数字化程度不断提高&#xff0c;服务器在日常业务中发挥着越来越重要的作用。在大多数情况下&#xff0c;服务器由公司自己维护和管理。但对于一些公司来说&#xff0c;托管服务器(将这些任务交给专业人员)是更好的选择。 关于服务器的优缺点&#xff0c;有一点是明确的&am…

【SpringBoot】16 文件上传(Thymeleaf + MySQL)

Gitee仓库 https://gitee.com/Lin_DH/system 介绍 文件上传是指将本地的图片、视频、音频等文件上传到服务器&#xff0c;供其他用户浏览下载的过程&#xff0c;文件上传在日常项目中用的非常广泛。 实现代码 第一步&#xff1a;在配置文件新增如下配置 application.yml s…

浏览器实时更新esp32-c3 Supermini http server 数据

一利用此程序的思路就可以用浏览器显示esp32 采集的各种传感器的数据&#xff0c;也可以去控制各种传感器。省去编写针对各系统的app. 图片 1.浏览器每隔1秒更新一次数据 2.现在更新的是开机数据&#xff0c;运用此程序&#xff0c;可以实时显示各种传感器的实时数据 3.es…

鸿蒙网络编程系列27-HTTPS服务端证书的四种校验方式示例

1. 服务端数字证书验证的问题 在鸿蒙客户端对服务端发起HTTPS请求时&#xff0c;如果使用HttpRequest的request发起请求&#xff0c;那么就存在服务端数字证书的验证问题&#xff0c;你只有两个选择&#xff0c;一个是使用系统的CA&#xff0c;一个是使用自己选定的CA&#xf…