이 저장소는 시각적 및 멀티 모달 학습의 경계를 넓히는자가 회귀 모델 제품군 인 All Adm의 진입 점입니다.
Multimodal Autoregressive Pre-training of Large Vision Encoders [ BibTeX ]Scalable Pre-training of Large Autoregressive Image Models [ BibTeX ]*: 동등한 기술 기여
원래 AIM 모델 (AIMV1)을 찾고 있다면 여기에서 ReadMe를 참조하십시오.
우리는 Multimodal Autoregressive 목표로 미리 훈련 된 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'
또한 Apple Silicon에 대한 연구 및 실험에 대한 MLX 백엔드 지원을 제공합니다. 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 )미리 훈련 된 모델은 Huggingface Hub를 통해 다음과 같이 액세스 할 수 있습니다.
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 | 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 | #Params | 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 | #Params | 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 | #Params | 1K | HF 링크 | 등뼈 |
|---|---|---|---|---|
| AIMV2-LARGE-PATCH14-NATIVE | 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 배열 | 81.1 | 73.0 | 61.4 | 53.5 | 29.2 | 23.3 | 24.0 | 76.3 | 1627 |
| model_id | #Params | 해안 | HF 링크 | 등뼈 |
|---|---|---|---|---|
| AIMV2-LARGE-PATCH14-224 분해 | 0.3b | 224px | ?링크 | 링크 |
| AIMV2-LARGE-PATCH14-336 분해 | 0.3b | 336px | ?링크 | 링크 |
조명 튜닝 후 AIMV2-L 비전 및 텍스트 인코더를 제공하여 제로 샷 인식을 가능하게합니다.
| 모델 | #Params | Zero-Shot in1-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 } ,
}제공된 코드 및 모델을 사용하기 전에 저장소 라이센스를 확인하십시오.