🚀 AIMv2 视觉模型
AIMv2 是一系列基于多模态自回归目标进行预训练的视觉模型,训练和扩展简单高效。在多数多模态理解基准测试中表现出色,在开放词汇目标检测和指代表达理解任务中超越 DINOv2,AIMv2 - 3B 在 ImageNet 上使用冻结主干实现了 89.5% 的准确率。
🚀 快速开始
模型信息
属性 |
详情 |
库名称 |
transformers |
许可证 |
apple - amlr |
评估指标 |
准确率 |
任务类型 |
图像特征提取 |
标签 |
视觉、图像特征提取、mlx、pytorch |
模型性能
模型名称 |
任务类型 |
数据集 |
准确率 |
验证状态 |
aimv2 - 1B - patch14 - 224 |
分类 |
imagenet - 1k |
88.1 |
未验证 |
aimv2 - 1B - patch14 - 224 |
分类 |
inaturalist - 18 |
79.7 |
未验证 |
aimv2 - 1B - patch14 - 224 |
分类 |
cifar10 |
99.4 |
未验证 |
aimv2 - 1B - patch14 - 224 |
分类 |
cifar100 |
94.1 |
未验证 |
aimv2 - 1B - patch14 - 224 |
分类 |
food101 |
96.7 |
未验证 |
aimv2 - 1B - patch14 - 224 |
分类 |
dtd |
88.4 |
未验证 |
aimv2 - 1B - patch14 - 224 |
分类 |
oxford - pets |
96.8 |
未验证 |
aimv2 - 1B - patch14 - 224 |
分类 |
stanford - cars |
96.5 |
未验证 |
aimv2 - 1B - patch14 - 224 |
分类 |
camelyon17 |
94.2 |
未验证 |
aimv2 - 1B - patch14 - 224 |
分类 |
patch - camelyon |
89.0 |
未验证 |
aimv2 - 1B - patch14 - 224 |
分类 |
rxrx1 |
6.7 |
未验证 |
aimv2 - 1B - patch14 - 224 |
分类 |
eurosat |
98.8 |
未验证 |
aimv2 - 1B - patch14 - 224 |
分类 |
fmow |
63.2 |
未验证 |
aimv2 - 1B - patch14 - 224 |
分类 |
domainnet - infographic |
71.7 |
未验证 |
模型介绍
[AIMv2 论文
] [BibTeX
]
我们推出了 AIMv2 系列视觉模型,这些模型通过多模态自回归目标进行预训练。AIMv2 预训练简单直接,能够有效进行训练和扩展。AIMv2 的一些亮点包括:
- 在大多数多模态理解基准测试中超越 OAI CLIP 和 SigLIP。
- 在开放词汇目标检测和指代表达理解方面超越 DINOv2。
- 展现出强大的识别性能,AIMv2 - 3B 使用冻结主干在 ImageNet 上达到了 89.5% 的准确率。

💻 使用示例
基础用法
PyTorch
import requests
from PIL import Image
from transformers import AutoImageProcessor, AutoModel
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
processor = AutoImageProcessor.from_pretrained(
"apple/aimv2-1B-patch14-224",
)
model = AutoModel.from_pretrained(
"apple/aimv2-1B-patch14-224",
trust_remote_code=True,
)
inputs = processor(images=image, return_tensors="pt")
outputs = model(**inputs)
JAX
import requests
from PIL import Image
from transformers import AutoImageProcessor, FlaxAutoModel
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
processor = AutoImageProcessor.from_pretrained(
"apple/aimv2-1B-patch14-224",
)
model = FlaxAutoModel.from_pretrained(
"apple/aimv2-1B-patch14-224",
trust_remote_code=True,
)
inputs = processor(images=image, return_tensors="jax")
outputs = model(**inputs)
📄 许可证
本项目使用 apple - amlr 许可证。
📚 引用
如果您觉得我们的工作有用,请考虑引用我们的论文:
@misc{fini2024multimodalautoregressivepretraininglarge,
author = {Fini, Enrico and Shukor, Mustafa and Li, Xiujun and Dufter, Philipp and Klein, Michal and Haldimann, David and Aitharaju, Sai and da Costa, Victor Guilherme Turrisi and Béthune, Louis and Gan, Zhe and Toshev, Alexander T and Eichner, Marcin and Nabi, Moin and Yang, Yinfei and Susskind, Joshua M. and El-Nouby, Alaaeldin},
url = {https://arxiv.org/abs/2411.14402},
eprint = {2411.14402},
eprintclass = {cs.CV},
eprinttype = {arXiv},
title = {Multimodal Autoregressive Pre-training of Large Vision Encoders},
year = {2024},
}