mlfoundations/open_clip

An open source implementation of CLIP.

What it solves

OpenCLIP 是 OpenAI CLIP(Contrastive Language-Image Pre‑training)的開源實作。它提供一個可擴展的框架,用於訓練、評估與使用將影像與文字映射到共享嵌入空間的對比模型,從而支援零樣本影像分類與高效的影像‑文字檢索等任務。

How it works

此專案實作了對比學習:影像編碼器與文字編碼器同步訓練,以最大化配對影像與說明文字之間的相似度。支援多種架構(如 ViT、ConvNext)與訓練策略。近期更新加入了「NaFlex」以處理可變解析度影像與音訊,並提供「Modern」文字塔,採用先進的注意力機制(RoPE、SwiGLU)。它利用 PyTorch 的 FSDP2 與 torch.compile,在大型 GPU 叢集上實現高效分散式訓練。

Who it’s for

  • AI Researchers: 研究對比學習的尺度法則或開發新型多模態架構的學者。
  • ML Engineers: 需要高效能、預訓練多模態嵌入以供下游應用的開發者。
  • Data Scientists: 想在自己的影像資料集上執行零樣本分類,且不想進行大量微調的使用者。

Highlights

  • Extensive Pretrained Models: 可取得在 LAION‑2B、DataComp‑1B 等大規模資料集上訓練的豐富模型庫。
  • High-Performance Training: 原生支援 FSDP2、SLURM 叢集與 torch.compile,具備極致可擴展性(已測試至 1024 顆 A100)。
  • Multimodal Versatility: 支援影像‑文字(CLIP)、音訊‑文字(CLAP)以及生成式說明(GenLIP/GenLAP)。
  • Flexible Input Handling: NaFlex 流程允許可變長寬比例的影像與可變時長的音訊。
  • Efficient Data Loading: 整合 WebDataset,能以低記憶體開銷處理數十億樣本。