Este repositorio es el punto de entrada para todas las cosas, una familia de modelos autorregresivos que empujan los límites del aprendizaje visual y multimodal:
Multimodal Autoregressive Pre-training of Large Vision Encoders [ BibTeX ]Scalable Pre-training of Large Autoregressive Image Models [ BibTeX ]*: Contribución técnica igual
Si está buscando el modelo AIM original (AIMV1), consulte el Readme aquí.
Presentamos la familia AIMV2 de los modelos de visión previamente entrenados con un objetivo autorregresivo multimodal. AIMV2 El pre-entrenamiento es simple y directo para entrenar y escalar de manera efectiva. Algunos aspectos destacados de AIMV2 incluyen:
Compartimos con los puntos de control previamente capacitados de AIMV2 comunitario de capacidades variables, resoluciones previas al entrenamiento:
AIMv2 with 224px ]AIMv2 with 336px ]AIMv2 with 448px ]AIMv2 with Native Resolution ]AIMv2 distilled ViT-Large ] ( recomendado para aplicaciones multimodales )Zero-shot Adapted AIMv2 ] Instale Pytorch utilizando las instrucciones de instalación oficiales. Después, instale el paquete como:
pip install 'git+https://github.com/apple/ml-aim.git#subdirectory=aim-v1'
pip install 'git+https://github.com/apple/ml-aim.git#subdirectory=aim-v2'
También ofrecemos soporte de backend de MLX para la investigación y experimentación en el silicio de manzana. Para habilitar el soporte MLX, simplemente ejecute:
pip install mlx
from PIL import Image
from aim . v2 . utils import load_pretrained
from aim . v1 . torch . data import val_transforms
img = Image . open (...)
model = load_pretrained ( "aimv2-large-patch14-336" , backend = "torch" )
transform = val_transforms ( img_size = 336 )
inp = transform ( img ). unsqueeze ( 0 )
features = model ( inp ) from PIL import Image
import mlx . core as mx
from aim . v2 . utils import load_pretrained
from aim . v1 . torch . data import val_transforms
img = Image . open (...)
model = load_pretrained ( "aimv2-large-patch14-336" , backend = "mlx" )
transform = val_transforms ( img_size = 336 )
inp = transform ( img ). unsqueeze ( 0 )
inp = mx . array ( inp . numpy ())
features = model ( inp ) from PIL import Image
import jax . numpy as jnp
from aim . v2 . utils import load_pretrained
from aim . v1 . torch . data import val_transforms
img = Image . open (...)
model , params = load_pretrained ( "aimv2-large-patch14-336" , backend = "jax" )
transform = val_transforms ( img_size = 336 )
inp = transform ( img ). unsqueeze ( 0 )
inp = jnp . array ( inp )
features = model . apply ({ "params" : params }, inp )Se puede acceder a los modelos previamente capacitados a través de Huggingface Hub como:
from PIL import Image
from transformers import AutoImageProcessor , AutoModel
image = Image . open (...)
processor = AutoImageProcessor . from_pretrained ( "apple/aimv2-large-patch14-336" )
model = AutoModel . from_pretrained ( "apple/aimv2-large-patch14-336" , trust_remote_code = True )
inputs = processor ( images = image , return_tensors = "pt" )
outputs = model ( ** inputs )| modelo_id | #params | In-1k | Enlace HF | Columna vertebral |
|---|---|---|---|---|
| AIMV2-LARGE-PATCH14-224 | 0.3b | 86.6 | ?enlace | enlace |
| AIMV2-Huge-Patch14-224 | 0.6b | 87.5 | ?enlace | enlace |
| AIMV2-1B-Patch14-224 | 1.2b | 88.1 | ?enlace | enlace |
| AIMV2-3B-PATCH14-224 | 2.7b | 88.5 | ?enlace | enlace |
| modelo_id | #params | In-1k | Enlace HF | Columna vertebral |
|---|---|---|---|---|
| AIMV2-LARGE-PATCH14-336 | 0.3b | 87.6 | ?enlace | enlace |
| AIMV2-Huge-Patch14-336 | 0.6b | 88.2 | ?enlace | enlace |
| AIMV2-1B-Patch14-336 | 1.2b | 88.7 | ?enlace | enlace |
| AIMV2-3B-PATCH14-336 | 2.7b | 89.2 | ?enlace | enlace |
| modelo_id | #params | In-1k | Enlace HF | Columna vertebral |
|---|---|---|---|---|
| AIMV2-LARGE-PATCH14-448 | 0.3b | 87.9 | ?enlace | enlace |
| AIMV2-Huge-Patch14-448 | 0.6b | 88.6 | ?enlace | enlace |
| AIMV2-1B-Patch14-448 | 1.2b | 89.0 | ?enlace | enlace |
| AIMV2-3B-PATCH14-448 | 2.7b | 89.5 | ?enlace | enlace |
Además, proporcionamos un punto de control AIMV2-L que está mejorado para procesar una amplia gama de resoluciones de imágenes y relaciones de aspecto. Independientemente de la relación de aspecto, la imagen está parcheada (Patch_Size = 14) y se agrega una incrustación posicional 2D sinusoidal a los parches de entrada proyectados linealmente. Este punto de control admite el número de parches en el rango de [112, 4096] .
| modelo_id | #params | In-1k | Enlace HF | Columna vertebral |
|---|---|---|---|---|
| AIMV2-LARGE-PATCH14-NATIVO | 0.3b | 87.3 | ?enlace | enlace |
Proporcionamos un punto de control AIMV2-L destilado de AIMV2-3B que proporciona un rendimiento notable para los puntos de referencia de comprensión multimodal.
| Modelo | VQAV2 | GQA | Okvqa | Textvqa | Docvqa | Infovqa | Chartqa | Sciqa | Mmep |
|---|---|---|---|---|---|---|---|---|---|
| AIMV2-L | 80.2 | 72.6 | 60.9 | 53.9 | 26.8 | 22.4 | 20.3 | 74.5 | 1457 |
| AIMV2-L-Distillado | 81.1 | 73.0 | 61.4 | 53.5 | 29.2 | 23.3 | 24.0 | 76.3 | 1627 |
| modelo_id | #params | Res. | Enlace HF | Columna vertebral |
|---|---|---|---|---|
| AIMV2-LARGE-PATCH14-224 Distillado | 0.3b | 224px | ?enlace | enlace |
| AIMV2-LARGE-PATCH14-336 Distillado | 0.3b | 336px | ?enlace | enlace |
Proporcionamos los codificadores de visión y texto AIMV2-L después de un ajuste iluminado para habilitar el reconocimiento de disparo cero.
| modelo | #params | cero-shot in1-k | Columna vertebral |
|---|---|---|---|
| AIMV2-L | 0.3b | 77.0 | enlace |
Si encuentra útil nuestro trabajo, considere citarnos como:
@misc { fini2024multimodal ,
title = { Multimodal Autoregressive Pre-training of Large Vision Encoders } ,
author = { Enrico Fini and Mustafa Shukor and Xiujun Li and Philipp Dufter and Michal Klein and David Haldimann and Sai Aitharaju and Victor Guilherme Turrisi da Costa and Louis Béthune and Zhe Gan and Alexander T Toshev and Marcin Eichner and Moin Nabi and Yinfei Yang and Joshua M. Susskind and Alaaeldin El-Nouby } ,
year = { 2024 } ,
eprint = { 2411.14402 } ,
archivePrefix = { arXiv } ,
primaryClass = { cs.CV }
} @InProceedings { pmlr-v235-el-nouby24a ,
title = { Scalable Pre-training of Large Autoregressive Image Models } ,
author = { El-Nouby, Alaaeldin and Klein, Michal and Zhai, Shuangfei and Bautista, Miguel '{A}ngel and Shankar, Vaishaal and Toshev, Alexander T and Susskind, Joshua M. and Joulin, Armand } ,
booktitle = { Proceedings of the 41st International Conference on Machine Learning } ,
pages = { 12371--12384 } ,
year = { 2024 } ,
}Consulte la licencia de repositorio antes de usar el código y los modelos proporcionados.