هذا المستودع هو نقطة الدخول لجميع الأشياء الهدف ، وهي عائلة من النماذج التلقائية التي تدفع حدود التعلم البصري والمتعدد الوسائط:
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. لتمكين دعم 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 | in-1k | رابط HF | العمود الفقري |
|---|---|---|---|---|
| AIMV2-LARGE-PATCH14-224 | 0.3b | 86.6 | ؟وصلة | وصلة |
| AIMV2-HUGE-PATCH14-224 | 0.6 ب | 87.5 | ؟وصلة | وصلة |
| AIMV2-1B-PATCH14-224 | 1.2 ب | 88.1 | ؟وصلة | وصلة |
| AIMV2-3B-PATCH14-224 | 2.7 ب | 88.5 | ؟وصلة | وصلة |
| model_id | #Params | in-1k | رابط HF | العمود الفقري |
|---|---|---|---|---|
| AIMV2-LARGE-PATCH14-336 | 0.3b | 87.6 | ؟وصلة | وصلة |
| AIMV2-HUGE-PATCH14-336 | 0.6 ب | 88.2 | ؟وصلة | وصلة |
| AIMV2-1B-PATCH14-336 | 1.2 ب | 88.7 | ؟وصلة | وصلة |
| AIMV2-3B-PATCH14-336 | 2.7 ب | 89.2 | ؟وصلة | وصلة |
| model_id | #Params | in-1k | رابط HF | العمود الفقري |
|---|---|---|---|---|
| AIMV2-LARGE-PATCH14-448 | 0.3b | 87.9 | ؟وصلة | وصلة |
| AIMV2-HUGE-PATCH14-448 | 0.6 ب | 88.6 | ؟وصلة | وصلة |
| AIMV2-1B-PATCH14-448 | 1.2 ب | 89.0 | ؟وصلة | وصلة |
| AIMV2-3B-PATCH14-448 | 2.7 ب | 89.5 | ؟وصلة | وصلة |
بالإضافة إلى ذلك ، نقدم نقطة تفتيش AIMV2-L التي تم تحريكها لمعالجة مجموعة واسعة من قرارات الصور ونسب العرض إلى الارتفاع. بغض النظر عن نسبة العرض إلى الارتفاع ، يتم تصحيح الصورة (patch_size = 14) ويتم إضافة التضمين الموضعي الجيبي ثنائي الأبعاد إلى بقع الإدخال المتوقعة خطيًا. تدعم نقطة التفتيش هذه عدد البقع في نطاق [112 ، 4096] .
| model_id | #Params | in-1k | رابط HF | العمود الفقري |
|---|---|---|---|---|
| AIMV2-LARGE-PATCH14 NATITION | 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-DERILDED | 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-DERILDED | 0.3b | 224px | ؟وصلة | وصلة |
| AIMV2-LARGE-PATCH14-336-DERALDED | 0.3b | 336px | ؟وصلة | وصلة |
نحن نقدم الرؤية AIMV2-L وترميزات النصوص بعد ضبط مضاءة لتمكين التعرف على الصفر.
| نموذج | #Params | صفر طلقة في 1-ك | العمود الفقري |
|---|---|---|---|
| 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 } ,
}يرجى مراجعة ترخيص المستودع قبل استخدام الرمز والموديلات المقدمة.