Этот репозиторий является точкой входа для всех целей, семейство авторегрессивных моделей, которые раздвигают границы визуального и мультимодального обучения:
Multimodal Autoregressive Pre-training of Large Vision Encoders [ BibTeX ]Scalable Pre-training of Large Autoregressive Image Models [ BibTeX ]*: Равный технический вклад
Если вы ищете оригинальную модель AIM (AIMV1), пожалуйста, обратитесь к Readme здесь.
Мы представляем семейство моделей зрения AIMV2, предварительно обученные мультимодальной ауторегрессионной целью. Предварительное обучение AIMV2 прост и прост в тренировке и эффективно масштабировать. Некоторые основные моменты AIMV2 включают:
Мы делимся с сообществом AIMV2, предварительно обученными контрольно-пропускными пунктами, резолюции перед тренировкой:
AIMv2 with 224px ]AIMv2 with 336px ]AIMv2 with 448px ]AIMv2 with Native Resolution ]AIMv2 distilled ViT-Large ] ( рекомендуется для мультимодальных применений )Zero-shot Adapted AIMv2 ] Пожалуйста, установите Pytorch, используя официальные инструкции по установке. После этого установите пакет как:
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'
Мы также предлагаем поддержку MLX для исследований и экспериментов на Apple Silicon. Чтобы включить поддержку MLX, просто запустите:
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 )Предварительно обученные модели можно получить через Hub Huggingface как:
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 )| model_id | #Парамы | В 1K | Ссылка HF | Магистраль |
|---|---|---|---|---|
| AIMV2-Large-Patch14-224 | 0,3B | 86.6 | ?связь | связь |
| AIMV2-Huge-Patch14-224 | 0,6B | 87.5 | ?связь | связь |
| AIMV2-1B-PATCH14-224 | 1.2b | 88.1 | ?связь | связь |
| AIMV2-3B-PATCH14-224 | 2.7b | 88.5 | ?связь | связь |
| model_id | #Парамы | В 1K | Ссылка HF | Магистраль |
|---|---|---|---|---|
| AIMV2-Large-Patch14-336 | 0,3B | 87.6 | ?связь | связь |
| AIMV2-Huge-Patch14-336 | 0,6B | 88.2 | ?связь | связь |
| AIMV2-1B-PATCH14-336 | 1.2b | 88.7 | ?связь | связь |
| AIMV2-3B-PATCH14-336 | 2.7b | 89,2 | ?связь | связь |
| model_id | #Парамы | В 1K | Ссылка HF | Магистраль |
|---|---|---|---|---|
| AIMV2-Large-Patch14-448 | 0,3B | 87.9 | ?связь | связь |
| AIMV2-Huge-Patch14-448 | 0,6B | 88.6 | ?связь | связь |
| AIMV2-1B-PATCH14-448 | 1.2b | 89,0 | ?связь | связь |
| AIMV2-3B-PATCH14-448 | 2.7b | 89,5 | ?связь | связь |
Мы дополнительно предоставляем контрольную точку AIMV2-L, которая создана для обработки широкого спектра разрешений и соотношений с аспектами. Независимо от соотношения сторон, изображение пчелотируется (patch_size = 14), а 2D -синусоидальное позиционное встраивание добавляется в линейно -проецируемые входные пятна. Эта контрольная точка поддерживает количество патчей в диапазоне [112, 4096] .
| model_id | #Парамы | В 1K | Ссылка HF | Магистраль |
|---|---|---|---|---|
| AIMV2-LARGE-PATCH14-CNITION | 0,3B | 87.3 | ?связь | связь |
Мы предоставляем контрольную точку AIMV2-L, дистиллированную от AIMV2-3B, которая обеспечивает замечательную производительность для многомодальных показателей понимания.
| Модель | 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-Distiled | 81.1 | 73,0 | 61.4 | 53,5 | 29.2 | 23.3 | 24.0 | 76.3 | 1627 |
| model_id | #Парамы | Резерв | Ссылка HF | Магистраль |
|---|---|---|---|---|
| AIMV2-LARGE-PATCH14-224-DISTILLILLE | 0,3B | 224px | ?связь | связь |
| AIMV2-LARGE-PATCH14-336-DISTILLILL | 0,3B | 336px | ?связь | связь |
Мы предоставляем видение AIMV2-L и текстовые кодеры после освещенной настройки, чтобы обеспечить распознавание с нулевым выстрелом.
| модель | #Парамы | нулевой выстрел в 1-K | Магистраль |
|---|---|---|---|
| AIMV2-L | 0,3B | 77.0 | связь |
Если вы найдете нашу работу полезной, пожалуйста, рассмотрите возможность ссылаться на нас как:
@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 } ,
}Пожалуйста, ознакомьтесь с лицензией хранилища перед использованием предоставленного кода и моделей.