Source-linked AI summary

Scaling Language-Image Pre-training via Masking

Yanghao Li, Haoqi Fan, Ronghang Hu, Christoph Feichtenhofer, Kaiming He

arXiv:2212.00794v2cs.CV

TL;DR

대규모 CLIP 학습은 계산 비용이 높아 이미지-텍스트 쌍을 더 효율적으로 처리할 방법이 필요하다. FLIP은 학습 중 이미지 패치를 무작위로 제거해 3× 이상 짧은 wall-clock time에 유사한 정확도를 달성하고, 같은 epoch 수에서는 더 높은 정확도를 유지하면서 2–3× 더 빠르다.

  • 문제

    대규모 언어 감독 비전 학습은 상당한 계산을 필요로 하므로, 더 효율적인 CLIP 학습이 필요하다.

  • 방법

    FLIP은 CLIP 학습 중 이미지 패치의 상당 부분을 무작위로 마스킹하고 제거해 계산량을 줄이며 더 많은 샘플 쌍을 처리한다.

  • 결과

    패치의 50%-75%를 제거하면 계산량이 2-4× 감소한다. FLIP은 >3× less wall-clock time에 유사한 정확도에 도달하고, 같은 epoch 수에서는 더 높은 정확도를 유지하면서 2-3× 더 빠르다.

  • 시사점 및 한계

    FLIP은 wall-clock time, 에너지 사용량, 상업적 비용을 크게 줄여 대규모 학습에서 CLIP을 대체할 경쟁력 있고 더 실용적인 방법을 제공한다.

  • 시사점 및 한계

    더 큰 배치는 가용 메모리에 의해 여전히 제약되며, 일부 설정에서는 더 많은 디바이스나 메모리 최적화가 필요하다.

Abstract

from arXiv · show

We present Fast Language-Image Pre-training (FLIP), a simple and more efficient method for training CLIP. Our method randomly masks out and removes a large portion of image patches during training. Masking allows us to learn from more image-text pairs given the same wall-clock time and contrast more samples per iteration with similar memory footprint. It leads to a favorable trade-off between accuracy and training time. In our experiments on 400 million image-text pairs, FLIP improves both accuracy and speed over the no-masking baseline. On a large diversity of downstream tasks, FLIP dominantly outperforms the CLIP counterparts trained on the same data. Facilitated by the speedup, we explore the scaling behavior of increasing the model size, data size, or training length, and report encouraging results and comparisons. We hope that our work will foster future research on scaling vision-language learning.

Meta AI, FAIR · 1. 서론

FLIP은 image patch를 무작위로 제거해 CLIP training의 효율을 높이며, 동일한 wall-clock budget에서 더 큰 batch와 더 많은 image-text pair를 처리할 수 있게 한다. 속도–정확도 trade-off를 개선하고 downstream task 전반에서 강한 transfer 성능을 보이며, 통제된 scaling study를 가능하게 한다.

  • 1. 서론: Language-supervised pre-training은 강력한 zero-shot transfer, 고품질 text-to-image generation, multimodal 및 unimodal visual task에 대한 이점을 갖춘 다목적 representation을 생성한다.CLIP 은 이 접근법을 단순하면서도 강력한 representation-learning 방법론으로 정립했으며, text-to-image generation의 예로는 [53]가 있다.
  • 1. 서론: Language supervision은 여러 세밀도에서 object, scene, action, context, relation을 포착하므로, vision-language capability에는 대규모 training이 필수적이다.최초의 CLIP model 은 400 million data를 32 epoch 동안 사용했으며, 이는 10,000 ImageNet epoch에 해당한다.
  • 1. 서론: 50%–75% masking을 적용하면 FLIP은 유사한 정확도에 3× 이상 빠르게 도달하며, 동일한 epoch에서는 CLIP보다 더 높은 정확도를 얻으면서도 2–3× 더 빠르다.Figure 1은 256 TPU-v3 core에서 ImageNet-1K zero-shot accuracy를 사용해 LAION-400M의 ViT-L/16을 평가한다.
  • 1. 서론: 고성능 infrastructure를 사용하더라도 wall-clock training time은 vision-language learning의 scaling을 탐색하는 데 여전히 주요 병목이다.이 병목이 더 효율적인 pre-training method의 개발을 촉진한다.
  • 1. 서론: image patch의 큰 부분을 무작위로 제거하면 각 pair를 세밀하게 검토하는 것과 더 많은 image-text pair를 처리하는 것 사이에 trade-off가 발생한다.이 method는 Masked Autoencoder (MAE) [29]의 sparse computation에서 영감을 얻었다.
  • 1. 서론: patch의 50%–75%를 제거하면 computation이 2–4× 감소하고, 추가 memory를 거의 사용하지 않으면서 2–4× 더 큰 batch를 사용할 수 있어 contrastive learning에 이점이 있다.더 큰 batch는 contrastive-learning behavior를 통해 정확도를 향상시킨다 [30] [11].
  • 1. 서론: 동일한 LAION-400M data로 pretrain했을 때 FLIP은 다양한 downstream dataset과 transfer scenario에서 OpenCLIP 및 저자들의 CLIP reproduction을 압도적으로 능가한다.이 비교는 더 빠른 training이 정확도 향상과 함께 나타날 수 있음을 보여준다.
  • 1. 서론: FLIP scaling experiment는 model size, dataset size, training-schedule length를 변화시키며, model 및 data scaling에서 정확도 향상을 확인하고 추가 training cost 없이도 data scaling의 이점을 얻을 수 있음을 보인다.이 분석은 세심하게 통제된 experiment를 사용한다.

2. 관련 연구

기존 연구는 masked language modeling, vision 및 multimodal 확장을 비롯해 representation learning과 효율적인 sparse encoding을 위한 masking을 확립했다. FLIP은 reconstruction 없이 대규모 CLIP 학습에 높은 비율의 image-patch masking을 적용하며, autoencoding보다 scaling을 강조한다.

  • masking을 활용한 학습: Masking은 denoising autoencoders, BERT 방식의 masked language modeling [18], 그리고 누락된 영역, 픽셀, 패치 또는 feature를 예측하는 vision 방법 [20] [29] [71] [6] [66]을 통해 비지도 representation learning을 지원해 왔다.
  • masking을 활용한 학습: MAE [29]는 ViT encoder [20]를 visible content에만 적용해 training time과 memory를 줄이며, 높은 masking ratio가 accuracy 향상에 기여한다. 이러한 설계는 여러 modality로 확장된다.확장 사례로는 video, point cloud, graph, audio, visual control 및 vision-language application [61] [22] [49] [59] [9] [32] [4] [47] [13] [35] [70] [57] [23] [41] [31] [19]이 있다.
  • masking을 활용한 학습: FLIP은 sparse computation을 통해 대규모 CLIP training 의 scaling을 목표로 한다. 이는 scale이 제한적이고 이러한 초점을 명시하지 않았던 기존 vision-language masking 연구 [23] [41] [31] [19]와 다르다.FLIP은 masked content를 reconstruct하지 않으며 autoencoder도 아니다. 이와 관련된 self-supervised contrastive learning을 위한 masking [69]은 image-only scaling behavior에 의해 제한되었다.
  • 언어 감독 학습: CLIP 과 관련 방법 [37] [51]은 image-text pair를 contrast함으로써 language-supervised visual representation learning을 대중화했으며, generative approach [17] [65] [2] [74]도 함께 발전했다.FLIP은 CLIP에 초점을 맞추며 향후 연구에서 generative method [74]로 확장될 수 있다.

3. 방법

FLIP은 CLIP 학습 중 image patch를 masking하고 제거해 연산량을 줄이며, 고정된 자원 예산에서 더 많은 image-text pair 또는 더 큰 contrastive batch를 처리할 수 있게 한다. 이 방법은 reconstruction 없이 masked ViT encoding을 사용하며, accuracy–time trade-off 개선을 위해 선택적으로 unmasking할 수 있다.

  • 방법 개요: 고정된 wall-clock time 또는 memory에서 masking은 encoding density를 낮추는 대신 더 많은 image-text pair 또는 더 큰 batch의 contrastive learning signal을 확보하게 한다.이 방법은 sample과 batch negative 전반에 걸쳐 연산을 더 효율적으로 사용하도록 설계됐다.
  • Image masking: FLIP은 ViT encoding 전에 image patch를 무작위로 masking해 image-encoding cost를 줄이면서 비슷한 memory 사용량으로 더 큰 batch를 가능하게 한다.Patch의 50% 또는 75%를 masking하면 time complexity가 1/2 또는 1/4로 줄고, 2× 또는 4× 더 큰 batch를 사용할 수 있다.
  • Text masking: Text masking은 선택 사항이며 ablation에만 사용된다. 더 작은 text encoder에서는 속도 향상이 전체 accuracy–time trade-off에 유용하지 않기 때문이다.BERT [18]와 달리 masked text token은 학습된 mask token으로 대체하지 않는다.
  • 목적 함수: FLIP은 batch 기반 contrastive loss로 image encoder와 text encoder를 학습하며, 우수한 zero-shot transfer에 불필요하므로 MAE-style reconstruction을 생략한다.Decoder와 reconstruction loss를 제거하면 추가적인 속도 향상을 얻을 수 있다.
  • Unmasking: Masked-image encoder는 손상되지 않은 image를 직접 처리할 수 있으며, 짧은 0%-masking continuation training은 masking으로 인한 distribution gap을 줄이고 accuracy–time trade-off를 개선한다.손상되지 않은 image에 직접 적용해도 architectural change가 필요 없으며, 이 설정은 ablation baseline으로 사용된다.

4. 실험

분류, 강건성, 검색, 캡셔닝 평가 전반에서 FLIP은 CLIP에 대한 경쟁력 있거나 더 우수한 대안이며, 특히 pre-training data를 통제했을 때 그렇다. Masking은 정확도와 training time 사이에서 강한 절충점도 제공하지만, 평가된 설정에서는 text masking과 inference-time masking의 실익이 없다.

  • Masking과 batch size: 50% Masking은 batch size 16k에서 비슷한 정확도를 유지하며, 마스킹하지 않은 baseline의 68.6%에 비해 68.5%에 도달한다. 반면 batch size를 늘리면 정확도가 일관되게 향상된다.Masking ratio에 맞춰 batch size를 확장하면 memory footprint가 대략 유지되지만, large-batch 설정에서는 infrastructure의 memory limit에 도달할 수 있다.
  • Text masking: Random masking에서는 text masking으로 정확도가 2.2% 감소하지만, padding token을 우선하면 저하 폭이 0.4%로 제한된다. 속도 향상이 미미하므로 이후에는 text masking을 사용하지 않는다.Text encoder는 마스킹하지 않은 image encoder 연산량의 4.4%만 차지하므로, 효율성 절충점이 약한 이유를 설명한다.
  • Inference와 reconstruction: Inference-time masking은 7.3%와 같은 큰 정확도 하락을 유발하며, 상호보완적인 masked view를 앙상블하면 full-view inference와의 격차가 줄어들지만 제거되지는 않는다.Reconstruction loss는 zero-shot 및 ImageNet fine-tuning 정확도도 소폭 저하시키므로, 최종 system에서는 단순성과 더 나은 정확도–시간 절충점을 위해 이를 제외한다.
  • Masking 효율: 동일한 32-epoch schedule에서 50% masking은 CLIP보다 ∼1% 더 정확하고 2× 빠르며, 3×를 초과하는 speedup으로도 비슷한 정확도를 달성할 수 있다.50%와 75% Masking은 각각 baseline wall-clock training time의 0.50×와 0.33×만 필요로 한다.
  • 분류: ViT-L/14의 74.6% 정확도는 OpenCLIP보다 1.8%, CLIP reproduction보다 1.5% 높아 original CLIP과의 격차를 0.7%로 줄인다.FLIP은 ImageNet linear probing에서도 83.6%에 도달하며, 이는 해당 CLIP counterpart보다 1.0%, transferred original-CLIP feature보다 0.6% 높다.
  • Downstream 비교: FLIP은 downstream 평가 전반에서 동일한 data로 학습한 CLIP counterpart보다 우수하며, pre-training-data 효과를 분리한 뒤에는 OpenCLIP과 CLIP reproduction보다 지배적으로 더 우수하다.Pre-training data는 task performance에 체계적으로 영향을 미친다. WIT는 Aircraft, Country211, SST2에 유리하고, LAION은 Birdsnap, SUN397, Cars에 유리하다.

5. 논의 및 결론

FLIP은 CLIP의 단순하고 확장 가능한 설계를 유지하면서 2-3× 이상의 속도 향상을 제공하고, 동일한 LAION 데이터로 학습한 CLIP counterpart보다 우수한 성능을 보인다. 이 연구는 데이터 scaling이 유리한 축임을 확인하는 한편, 여전히 상당한 학습 비용과 dataset bias가 남아 있음을 지적한다.

  • 논의 및 결론: FLIP은 CLIP의 단순한 설계를 유지하면서 scalability를 확장하며, 고전적인 closed-set label보다 풍부한 supervision을 제공하는 language에 기반을 둔다.논의에서는 scaling을 model capacity를 늘리거나 data를 통해 information을 확장하는 것으로 설명한다.
  • 논의 및 결론: 2-3× speedup 이상은 wall-clock time을 크게 줄이는 동시에 energy와 commercial cost를 절감한다.이 연구의 규모에서는 감소 폭이 수천 TPU/GPU-days에 이를 수 있다.
  • 논의 및 결론: FLIP은 동일한 LAION data로 pre-train한 CLIP counterpart보다 우수한 성능을 보이며, training-data 차이는 여러 task에서 systematic gap을 만든다.이 연구는 CLIP baseline과의 controlled comparison을 사용하고, LAION 기반 model과 original WIT 기반 model을 대조한다.
  • 논의 및 결론: Data scaling은 추가적인 training 또는 inference cost 없이 accuracy를 향상시키며, FLIP은 연구에서 탐색한 범위를 넘어 scaling할 수 있게 한다.이 논문은 scaling behavior에 관한 controlled experiment를 제시하고 data scaling을 유리한 축으로 평가한다.
  • 더 넓은 영향: FLIP이 energy와 carbon cost를 1/2-1/3로 줄이더라도 training cost는 여전히 상당하며, model weight는 public dataset의 bias를 물려받을 수 있다.동일한 data를 사용한 비교는 method의 특성을 더 잘 분리해 내지만, 서로 다른 training data 간 비교에서는 dataset bias를 고려해야 한다.

A. 구현 세부사항 · A.1. 사전 학습

사전 학습은 CLIP을 따르는 ViT image encoder와 더 작은 text encoder를 사용하며, scalable learning rate를 적용한 기본 설정으로 TPU-v3 시스템에서 학습한다. Unmasked tuning은 base learning rate와 warmup schedule을 수정하며, bfloat16은 속도를 소폭만 높인다.

  • A.1. 사전 학습: Image encoder는 CLIP 을 따르며 global average pooling을 사용하는 ViT-B, ViT-L 또는 ViT-H architecture를 사용한다.[20]을 따라 ViT-B/L의 patch size는 16이고 ViT-H의 patch size는 14다.
  • A.1. 사전 학습: 이에 대응하는 text encoder는 더 작으며, model은 image encoder와 text encoder, 그리고 output projection으로 구성된다.Table 9는 component size와 전체 model size를 보고한다.
  • A.1. 사전 학습: ViT-B와 ViT-L 학습에는 256 TPU-v3 cores를 사용하고, ViT-H 학습에는 512 cores를 사용한다.
  • A.1. 사전 학습: 기본 설정은 linear learning-rate scaling을 적용한다: lr = base lr×batchsize / 256 [24].이 규칙을 사용하면 추가적인 learning-rate search 없이 ablation에서 batch size를 변경할 수 있다.
  • A.1. 사전 학습: 학습에는 기본적으로 float32를 사용하며, bfloat16을 사용해도 속도는 약 1.1× speedup에 그친다.관찰된 speedup은 Google’s blog 4에 보고된 결과와 일치한다.
  • A.1. 사전 학습: Unmasked tuning은 기본 사전 학습 설정을 따르되 base learning rate를 4e-8로 낮추고 warmup을 25.6M samples로 단축한다.Unmasked tuning에서는 사전 학습 중 masking을 비활성화한다.

A.2. ImageNet 분류

ImageNet 평가는 선행 연구 [29]를 따른 권장 prompt template을 사용한 zero-shot 분류와 supervised linear probing 및 fine-tuning 설정을 포함한다. zero-shot 프로토콜은 80개 template 세트 중 7개를 사용하며, 80개를 모두 사용해도 결과는 유사하지만 inference가 느려진다.

  • Zero-shot: Zero-shot 평가는 에서 제공한 80개 중 7개의 권장 prompt template을 사용한다.80개 template을 모두 사용하면 결과는 유사하지만 inference가 더 느리다.
  • Linear probing과 fine-tuning: Linear probing과 fine-tuning은 [29]의 설정을 따르며, 결과는 Tables 11과 12에 보고한다.

A.3. Zero-shot Retrieval

Zero-shot retrieval은 prompt 없이 이미지와 텍스트 임베딩 간 cosine similarity를 사용해 Flickr30K와 COCO에서 평가된다.

  • A.3. Zero-shot Retrieval: 평가는 표준 Flickr30K 및 COCO [42] zero-shot retrieval benchmark에서 수행된다.각각의 test set에는 1K 및 5K개의 이미지-텍스트 pair가 포함된다.
  • A.3. Zero-shot Retrieval: 프로토콜은 해당 encoder에서 이미지와 텍스트 임베딩을 추출한다.이는 CLIP 에서 확립된 protocol을 따른다.
  • A.3. Zero-shot Retrieval: Retrieval은 prompt를 사용하지 않고 cosine similarity에 따라 후보 이미지-텍스트 pair의 순위를 매긴다.

A.4. Zero-shot Robustness Evaluation … A.7. Visual Question Answering

통합된 섹션에서는 zero-shot robustness와 추가 데이터셋의 평가 프로토콜을 명시한 뒤, image captioning과 visual question answering을 위한 fine-tuning 설정을 설명한다. 또한 데이터셋별 metric, generalization test, model architecture, optimization schedule, input resolution을 정의한다.

  • A.4. Zero-shot Robustness Evaluation: Zero-shot robustness 평가는 OpenCLIP의 data preparation을 따르며 7개의 prompt를 사용한다. 단, IN-R에서는 더 강한 prompt 80개를 모두 사용하고, ObjectNet에서는 prompt 없이 class name을 사용하며 YTBB에서는 VOC prompt를 사용한다.이러한 prompt 선택은 를 따르며, dataset preparation과 split은 OpenCLIP 을 따른다.
  • A.5. More Zero-shot Datasets: 추가 zero-shot dataset은 기존 연구의 prompt 및 data-preparation 절차를 사용하며, metric은 dataset에 따라 달라진다. 여기에는 mean per-class accuracy, mean top-1/top-5 accuracy, ROC AUC, 11-point mAP, top-1 accuracy가 포함된다.절차는,, [46]을 따른다.
  • A.5. More Zero-shot Datasets: Birdsnap 결과는 dataset 축소의 제약을 받는다. 사용 가능한 test image는 1,850장이었으며, 에서는 2,149장, 원래는 2,443장이었다.이 제약은 model method가 아니라 사용 가능한 evaluation set에 영향을 준다.
  • A.6. Captioning: Captioning은 ViT encoder 위에 sequence-to-sequence transformer를 구성하고, image feature를 384차원으로 projection하며, 3-layer encoder를 추가하고, FLIP의 text encoder를 randomly initialized 3-layer decoder로 교체한다.Architecture는 을 따르며 384-width, 6-head transformer component를 사용한다.
  • A.6. Captioning: Captioning은 COCO에서 20 epoch 동안 teacher-forced word-level cross-entropy, AdamW, new parameter와 pretrained parameter에 대한 별도 learning rate, warmup, cosine decay를 사용해 end-to-end로 학습한다. 의 CIDEr optimization은 생략한다.Inference에서는 autoregressive decoding을 사용하며, COCO test metric으로 평가하고 추가 fine-tuning 없이 nocaps [1]에 direct transfer한다.
  • A.7. Visual Question Answering: VQA에서는 answer prediction을 classification으로 구성하고, ViT image feature와 RoBERTa question representation을 4-layer multimodal fusion Transformer 및 two-layer MLP를 통해 결합하며 [21]을 따른다.Fusion Transformer는 768-dimensional representation, 12 heads, merged attention [21]을 사용한다.
  • A.7. Visual Question Answering: VQA는 soft-score binary sigmoid loss, batch size 256, differential learning rate, weight decay, warmup, cosine decay를 사용하고, ViT-L/16에는 512×512, ViT-H/14에는 448×448 image size를 적용해 end-to-end로 fine-tuning한다.Pretrained ViT learning rate는 ViT-L에서 1e-5, ViT-H에서 5e-6이다.
  • A.7. Visual Question Answering: VQA model은 Visual Genome question-answer pair [39]를 추가한 VQAv2 train+val에서 20 epoch 동안 학습하며, evaluation server를 통해 test-dev split에서 평가한다.Training procedure는 을 따른다.
Loading 2212.00794v2…