Repositori ini adalah titik masuk untuk semua hal AIM, keluarga model autoregresif yang mendorong batas -batas pembelajaran visual dan multimodal:
Multimodal Autoregressive Pre-training of Large Vision Encoders [ BibTeX ]Scalable Pre-training of Large Autoregressive Image Models [ BibTeX ]*: Kontribusi teknis yang sama
Jika Anda mencari model AIM asli (AIMV1), silakan merujuk ke readme di sini.
Kami memperkenalkan model AIMV2 model visi yang sudah dilatih sebelumnya dengan tujuan autoregresif multimodal. Pra-pelatihan AIMV2 sederhana dan mudah untuk melatih dan skala secara efektif. Beberapa sorotan AIMV2 meliputi:
Kami berbagi dengan Community AIMV2 Pos Pemeriksaan terlatih dari berbagai kapasitas, resolusi pra-pelatihan:
AIMv2 with 224px ]AIMv2 with 336px ]AIMv2 with 448px ]AIMv2 with Native Resolution ]AIMv2 distilled ViT-Large ] ( direkomendasikan untuk aplikasi multimodal )Zero-shot Adapted AIMv2 ] Harap instal Pytorch menggunakan instruksi instalasi resmi. Setelah itu, instal paket sebagai:
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'
Kami juga menawarkan dukungan backend MLX untuk penelitian dan eksperimen pada Apple Silicon. Untuk mengaktifkan dukungan MLX, cukup jalankan:
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 )Model pra-terlatih dapat diakses melalui hub huggingface sebagai:
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 | #params | In-1k | Tautan HF | Tulang punggung |
|---|---|---|---|---|
| AIMV2-Large-Patch14-224 | 0.3b | 86.6 | ?link | link |
| AIMV2-HUGE-PATCH14-224 | 0.6b | 87.5 | ?link | link |
| AIMV2-1B-PATCH14-224 | 1.2b | 88.1 | ?link | link |
| AIMV2-3B-PATCH14-224 | 2.7b | 88.5 | ?link | link |
| model_id | #params | In-1k | Tautan HF | Tulang punggung |
|---|---|---|---|---|
| AIMV2-Large-Patch14-336 | 0.3b | 87.6 | ?link | link |
| AIMV2-HUGE-PATCH14-336 | 0.6b | 88.2 | ?link | link |
| AIMV2-1B-PATCH14-336 | 1.2b | 88.7 | ?link | link |
| AIMV2-3B-PATCH14-336 | 2.7b | 89.2 | ?link | link |
| model_id | #params | In-1k | Tautan HF | Tulang punggung |
|---|---|---|---|---|
| AIMV2-Large-Patch14-448 | 0.3b | 87.9 | ?link | link |
| AIMV2-HUGE-PATCH14-448 | 0.6b | 88.6 | ?link | link |
| AIMV2-1B-PATCH14-448 | 1.2b | 89.0 | ?link | link |
| AIMV2-3B-PATCH14-448 | 2.7b | 89.5 | ?link | link |
Kami juga menyediakan pos pemeriksaan AIMV2-L yang disebabkan untuk memproses berbagai resolusi gambar dan rasio aspek. Terlepas dari rasio aspek, gambar ditambal (Patch_Size = 14) dan embedding posisi sinusoidal 2D ditambahkan ke tambalan input yang diproyeksikan secara linear. Pos pemeriksaan ini mendukung jumlah tambalan dalam kisaran [112, 4096] .
| model_id | #params | In-1k | Tautan HF | Tulang punggung |
|---|---|---|---|---|
| AIMV2-Large-Patch14-asli | 0.3b | 87.3 | ?link | link |
Kami menyediakan pos pemeriksaan AIMV2-L yang disuling dari AIMV2-3B yang memberikan kinerja luar biasa untuk tolok ukur pemahaman multimodal.
| Model | 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-Distilled | 81.1 | 73.0 | 61.4 | 53.5 | 29.2 | 23.3 | 24.0 | 76.3 | 1627 |
| model_id | #params | Res. | Tautan HF | Tulang punggung |
|---|---|---|---|---|
| AIMV2-Large-Patch14-224-Distilled | 0.3b | 224px | ?link | link |
| AIMV2-Large-Patch14-336-Distilled | 0.3b | 336px | ?link | link |
Kami memberikan encoder visi dan teks AIMV2-L setelah menyalakan tuning untuk memungkinkan pengenalan zero-shot.
| model | #params | Zero-shot in1-K | Tulang punggung |
|---|---|---|---|
| AIMV2-L | 0.3b | 77.0 | link |
Jika Anda menganggap pekerjaan kami bermanfaat, silakan pertimbangkan mengutip kami sebagai:
@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 } ,
}Silakan periksa lisensi repositori sebelum menggunakan kode dan model yang disediakan.