Streszczenie
EVA-CLIP to rodzina modeli kontrastywnego uczenia obrazow i tekstu (CLIP), ktora znaczaco poprawia efektywnosc i skutecznosc trenowania modeli CLIP. Autorzy proponuja zestaw technik obejmujacych: inicjalizacje wag modelami EVA (pre-trainowanymi przez masked image modeling), optimizer LAMB zamiast AdamW, losowe maskowanie 50% tokenow obrazu podczas treningu (technika FLIP) oraz flash attention. Modele zostaly wytrenowane na zbiorze Merged-2B (1,6 mld probek z LAION-2B + 0,4 mld z COYO-700M).
Najwiekszy model EVA-02-CLIP-E/14+ (5,0 mld parametrow) osiaga 82,0% zero-shot top-1 accuracy na ImageNet-1K val przy zaledwie 9 miliardach widzianych probek, przekraczajac poprzedni SOTA OpenCLIP-G/14 o 1,9% na ImageNet i 4,7% na usrednionym wyniku 6 benchmarkow. Mniejszy EVA-02-CLIP-L/14+ (428 mln parametrow, 6 mld probek) osiaga 80,4% zero-shot na ImageNet, bijac OpenCLIP-G/14 uzywajac zaledwie ok. 1/6 parametrow i 1/6 probek treningowych.
Kluczowym wkladem jest demonstracja, ze wlasciwa inicjalizacja wag z silnego modelu wizualnego (EVA, trenowanego przez masked image modeling) drastycznie przyspiesza konwergencje i stabilizuje trening CLIP przy duzej skali, pozwalajac osiagac wyniki SOTA przy znacznie mniejszych kosztach obliczeniowych niz trening od zera.
Kluczowe Wnioski
- Inicjalizacja wagami EVA (masked image modeling) zamiast trenowania od zera poprawia zero-shot top-1 o +1,8% przy ok. 1/2 widzianych probek.
- LAMB optimizer zamiast AdamW (przy EVA init) daje +0,7% przy tej samej liczbie probek; LAMB jest preferowanym optimizerem dla duzych batch sizes (32k-144k).
- FLIP (50% masking tokenow obrazu) przyspiesza trening 2x przy koszcie tylko -0,7% accuracy i umozliwia 2x wiekszy batch size bez dodatkowych kosztow pamieci.
- Flash attention redukuje czas treningu o dodatkowe ok. 15% i oszczedza ok. 7 GB VRAM na GPU.
- EVA-02-CLIP-E/14+ osiaga najnizszy performance drop miedzy benchmarkami (delta=1,1% vs 5,7% dla OpenCLIP-H/14+), wskazujac na wysoka ogolnosc modelu.
- Polaczenie wszystkich technik: EVA-CLIP-B/16 trenuje sie w 300 h na 16xA100 40GB; EVA-CLIP-g/14 wymaga mniej niz 25 dni na 64xA100 40 GB.
- Kompletna rodzina modeli i wagi sa publicznie dostepne (open access, GitHub: baaivision/EVA/CLIP).
Metodologia
Architektura: Vision Transformer (ViT-B/16, ViT-L/14, ViT-g/14, ViT-E/14) jako enkoder obrazu; CLIP text encoder (124M-695M parametrow) jako enkoder tekstu. Kontrastywne uczenie obraz-tekst z InfoNCE loss.
Inicjalizacja wag: Vision encoder inicjalizowany wagami EVA-01 lub EVA-02 (pre-trenowane przez masked image modeling, styl MAE). Text encoder inicjalizowany wagami OpenAI CLIP lub OpenCLIP.
Optimizer: LAMB (beta1=0,9, beta2=0,98, weight decay=0,05) z layer-wise learning rate decay (0,75-0,90 dla vision enc., 0,65-0,75 dla text enc.). LR: 2e-4 do 4e-4 dla vision, 2e-5 do 4e-5 dla text, cosine decay z warmupem 2000 steps.
FLIP augmentation: Losowe maskowanie 50% tokenow obrazu podczas treningu — redukuje zlozonosc obliczeniowa o 2x, pozwala podwoic batch size bez dodatkowego budzetu pamieci.
Flash Attention: IO-aware implementacja exact softmax attention (Dao et al. 2022), redukujaca liczbe operacji na HBM GPU.
Numerical precision: fp16 z dynamic loss scaling dla EVA-01-CLIP-g; bfloat16 niezbedny dla stabilizacji EVA-02-CLIP-E+.
Infrastruktura: DeepSpeed z ZeRO stage-1 optimizer i gradient checkpointing. Batch sizes: 32k-144k. Trening na 16-512 x A100 GPU (40 GB lub 80 GB).
Dane treningowe: Merged-2B = 1,6B z LAION-2B + 0,4B z COYO-700M; dla EVA-02-CLIP-E: LAION-2B (4B i 9B probek seen).
Glowne Koncepcje
- CLIP (Contrastive Language-Image Pre-training): Uczenie reprezentacji przez maksymalizacje podobienstwa cosine miedzy embeddingami sparowanych par obraz-tekst, minimalizujac podobienstwo par niepasujacych. Umozliwia zero-shot transfer na nowe klasy bez labeled danych.
- Zero-shot classification: Klasyfikacja bez labeled probek treningowych, poprzez porownanie embeddingu obrazu z embeddingami tekstowymi opisow klas (np. “a photo of a cat”).
- Masked Image Modeling (MIM): Pre-training przez rekonstrukcje zamaskowanych fragmentow obrazu (styl MAE/BEiT); EVA laczy semantyke CLIP z geometria i struktura.
- LAMB optimizer: Layer-wise Adaptive Moments, zaprojektowany dla bardzo duzych batch sizes (>32k); adaptacyjne aktualizacje per-element z per-warstwowymi learning rates.
- FLIP: Scaling Language-Image Pre-training via Masking — losowe usuwanie 50% image tokenow przed enkoderem daje 2x przyspieszenie treningu.
- Flash Attention: IO-aware implementacja exact attention, redukujaca liczbe operacji na pamieci HBM GPU o ok. 15% czasu treningu.
- EVA/EVA-02: Vision Foundation Models z BAAI, trenowane przez masked image modeling na duza skale; dostarczaja silnych reprezentacji geometrycznych i semantycznych jako punkt startowy dla CLIP.
Wyniki
Zero-shot ImageNet-1K top-1 accuracy:
- EVA-02-CLIP-B/16+: 74,7% (vs OpenAI CLIP-B/16+: 68,3%; Open CLIP-B/16+: 70,2%)
- EVA-02-CLIP-L/14+: 79,8% (vs OpenAI CLIP-L/14+: 75,5%; Open CLIP-L/14+: 74,0%)
- EVA-02-CLIP-L/14+ @336px (6B probek seen): 80,4% (vs Open CLIP-G/14+: 80,1% — przy 1/6 parametrow i 1/6 danych)
- EVA-02-CLIP-E/14+ (5,0B param, 9B probek seen): 82,0% (SOTA open-source, vs poprzedni best 80,1%)
Zero-shot na 27 datasetach (srednia top-1): EVA-02-CLIP-E/14+: 77,5%
Zero-shot video classification (srednia UCF-101 / Kinetics-400/600/700):
- EVA-02-CLIP-E/14+: 71,4% avg (vs Open CLIP-G/14+: 67,9%)
Zero-shot retrieval (Flickr30K R@1 text / COCO R@1 text):
- EVA-02-CLIP-E/14+: 93,9% / 68,8%
Ablation study (EVA-CLIP-B, batch 32k):
- Scratch + AdamW (13B probek): 67,1%
-
- EVA init (5B probek): 68,9% (+1,8% przy polowie probek)
-
- LAMB optimizer: 69,6% (+0,7%)
-
- 50% masking: 68,9% (-0,7% accuracy, ale 2x szybciej)
- Merged-2B + EVA + LAMB + masking (2,5B probek): 69,7%
Koszty obliczeniowe (EVA-CLIP-B, batch 32k, 16xA100 40GB, per 40M probek):
- Baseline (brak masking/flash): 132 min / 33 GB VRAM per GPU
-
- flash attention: 76 min / 26 GB
-
- 50% masking: 64 min / 18 GB
-
- masking + flash attention: 55 min / 16 GB (2,4x szybciej, 2x mniej pamieci)
Przydatne Cytaty
- “EVA-02-CLIP-L can even reach up to 80.4% zero-shot top-1 on ImageNet, outperforming OpenCLIP-G/14 with only ~1/6 parameters and ~1/6 image-text training samples.” (s. 4)
- “EVA-CLIP suffers from the smallest performance drop (only 0.8% top-1 accuracy gap for EVA-02-CLIP-L/14+ and 1.1% for EVA-02-CLIP-E/14+)” (Tab. 1b, s. 2)
- “masking 50% of image tokens can accelerate training time by 2x and using flash attention can reduce additional 15% training time.” (s. 5)
- “EVA initialization resulted in a 1.8% increase in zero-shot top-1 accuracy on ImageNet with only ~1/2 seen samples.” (s. 5)
- “LAMB optimizer is the preferred optimizer for training large-scale CLIP models.” (s. 3)
- “To construct our training dataset, Merged-2B, we merged 1.6 billion samples from LAION-2B dataset with 0.4 billion samples from COYO-700M.” (s. 4)
Datasety
Brak dedykowanych wpisow w datasets/ — EVA-CLIP korzysta ze standardowych zewnetrznych zbiorow:
- LAION-2B: 2 mld par obraz-tekst (Schuhmann et al. 2022, arXiv:2210.08402)
- COYO-700M: 700M par obraz-tekst (Byeon et al. 2022, kakaobrain/coyo-dataset)
- Merged-2B: 1,6B z LAION-2B + 0,4B z COYO-700M (wlasny dataset treningowy EVA-CLIP)
- LAION-400M: mniejszy zbior uzywany w ablation studies (arXiv:2111.02114)
Benchmarki ewaluacyjne: ImageNet-1K/V2/Adv./Ren./Ske., ObjectNet, CIFAR-10/100, MNIST, Caltech-101, SUN397, Stanford Cars, Flowers-102, Food-101, UCF-101, Kinetics-400/600/700, Flickr30K, COCO i inne (27 datasetow klasyfikacji lacznie).
Powiazane Tematy
- OpenCLIP (Ilharco et al. 2021) — open-source reimplementacja CLIP, bezposredni punkt porownania
- EVA (arXiv:2211.07636) i EVA-02 (arXiv:2303.11331) — modele bazowe inicjalizujace encodery wizualne
- BLIP-2 (Li et al. 2023) — wykorzystuje EVA-CLIP jako frozen image encoder w multimodal LLM
- DALL-E 2, Stable Diffusion — zastosowania CLIP w generatywnych modelach obrazow
- FLIP (Li et al. 2022, arXiv:2212.00794) — technika maskowania tokenow obrazu skalujaca CLIP
- Flash Attention (Dao et al. 2022) — IO-aware exact attention dla efektywnosci obliczeniowej
- ViT (Dosovitskiy et al. 2020) — architektura enkoderow obrazu uzyta w EVA-CLIP
- Brand similarity embeddings — CLIP jako zero-shot brand matching engine dla phishing detection
- PhishIntention, KnowPhish — systemy detekcji phishingu wykorzystujace CLIP do dopasowania logo bez retrainingu
- Logo brand verification — zero-shot matching nowych marek finansowych bez dotreniowania modelu