alt.freeweights.vision / LLM2CLIP-Openai-L-14-336
From: microsoft <huggingface.co/microsoft>Newsgroups: alt.freeweights.visionSubject:

LLM2CLIP-Openai-L-14-336

Date: 2026-11-15Commit: 9251233Signed: 2DC28CC7B26A283B ✓

Zero shot classification model with 579M parameters. Safetensors weights, 2.31 GB in all. Published by microsoft under Apache-2.0.

579M params2.31GBLLM2CLIP-Openai-L-14-336safetensorspermissive
FactsParams579MSize2.31 GBFormatssafetensorsTaskzero shot classificationLicenseApache-2.0From sourcepermissive
$ fw get microsoft/LLM2CLIP-Openai-L-14-336
# manifest sha256 a9add88558d9… · 2.31 GB · 8 files
$ fw verify ./LLM2CLIP-Openai-L-14-336 microsoft/LLM2CLIP-Openai-L-14-336
From sourceHosted (signed)microsoft/LLM2CLIP-Openai-L-14-336Last check: 2026-11-15 02:44 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Works with

Runs with

Ranked by fit to this model (safetensors), then by GitHub stars.

Overview

Size
2.31 GB
Weights
2.31 GB (safetensors)
Parameters
579M
Formats
safetensors
Task
zero shot classification
License
Apache-2.0 (permissive)
Files
8, each with a sha256
Publisher
microsoft
Added
2026-11-15
Section
alt.freeweights.vision
Lineage

Original release from the publisher.

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 02:44 UTCpassed

Model card

From the publisher at commit 9251233. Shown as plain text with links; images open at the publisher.

LLM2CLIP: Extending the Capability Boundaries of CLIP through Large Language Models#

Weiquan Huang1*, Aoqi Wu1*, Yifan Yang2†, Xufang Luo2, Yuqing Yang2, Liang Hu1, Qi Dai2, Xiyang Dai2, Dongdong Chen2, Chong Luo2, Lili Qiu2

1Tongji Universiy, 2Microsoft Corporation *Equal contribution † Corresponding to: yifanyang@microsoft.com

📂 GitHub 🆕 Blog 📜 LLM2CLIP

In this paper, we propose LLM2CLIP, a novel approach that embraces the power of LLMs to unlock CLIP’s potential. By fine-tuning the LLM in the caption space with contrastive learning, we extract its textual capabilities into the output embeddings, significantly improving the output layer’s textual discriminability. We then design an efficient training process where the fine-tuned LLM acts as a powerful teacher for CLIP’s visual encoder. Thanks to the LLM’s presence, we can now incorporate longer and more complex captions without being restricted by vanilla CLIP text encoder’s context window and ability limitations. Our experiments demonstrate that this approach brings substantial improvements in cross-modal tasks. Our method directly boosted the performance of the previously SOTA EVA02 model by 16.5% on both long-text and short-text retrieval tasks, transforming a CLIP model trained solely on English data into a state-of-the-art cross-lingual model. Moreover, when integrated into mul- timodal training with models like Llava 1.5, it consistently outperformed CLIP across nearly all benchmarks, demonstrating comprehensive performance improvements.

LLM2CLIP performance#

Image: summary_tab

It's important to note that all results presented in the paper are evaluated using PyTorch weights. There may be differences in performance when using Hugging Face (hf) models.

Model Details#

  • Model Type: vision foundation model, feature backbone
  • Pretrain Dataset: CC3M, CC12M, YFCC15M and Recap-DataComp-1B(30M subset)

Usage#

Huggingface Version#

Image Embeddings

from PIL import Image
from transformers import AutoModel
from transformers import CLIPImageProcessor
import torch

image_path = "CLIP.png"
model_name_or_path = "LLM2CLIP-Openai-L-14-336" # or /path/to/local/LLM2CLIP-Openai-L-14-336

processor = CLIPImageProcessor.from_pretrained("openai/clip-vit-large-patch14-336")
model = AutoModel.from_pretrained(
    model_name_or_path, 
    torch_dtype=torch.float16,
    trust_remote_code=True).to('cuda').eval()

image = Image.open(image_path)
input_pixels = processor(images=image, return_tensors="pt").pixel_values.to('cuda')

with torch.no_grad(), torch.cuda.amp.autocast():
    outputs = model.get_image_features(input_pixels)

Retrieval

from PIL import Image
from transformers import AutoModel, AutoConfig, AutoTokenizer
from transformers import CLIPImageProcessor
import torch
from llm2vec import LLM2Vec
import os

os.environ["CUDA_VISIBLE_DEVICES"] = "0"

processor = CLIPImageProcessor.from_pretrained("openai/clip-vit-large-patch14-336")
model_name_or_path = "microsoft/LLM2CLIP-Openai-L-14-336" # or /path/to/local/LLM2CLIP-Openai-L-14-336
model = AutoModel.from_pretrained(
    model_name_or_path, 
    torch_dtype=torch.bfloat16,
    trust_remote_code=True).to('cuda').eval()

llm_model_name = 'microsoft/LLM2CLIP-Llama-3-8B-Instruct-CC-Finetuned'
config = AutoConfig.from_pretrained(
    llm_model_name, trust_remote_code=True
)
llm_model = AutoModel.from_pretrained(llm_model_name, torch_dtype=torch.bfloat16, config=config, trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(llm_model_name)
llm_model.config._name_or_path = 'meta-llama/Meta-Llama-3-8B-Instruct' #  Workaround for LLM2VEC
l2v = LLM2Vec(llm_model, tokenizer, pooling_mode="mean", max_length=512, doc_max_length=512)

captions = ["a diagram", "a dog", "a cat"]
image_path = "CLIP.png"

image = Image.open(image_path)
input_pixels = processor(images=image, return_tensors="pt").pixel_values.to('cuda')
text_features = l2v.encode(captions, convert_to_tensor=True).to('cuda')

with torch.no_grad(), torch.cuda.amp.autocast():
    image_features = model.get_image_features(input_pixels)
    text_features = model.get_text_features(text_features)

    image_features /= image_features.norm(dim=-1, keepdim=True)
    text_features /= text_features.norm(dim=-1, keepdim=True)

    text_probs = (100.0 * image_features @ text_features.T).softmax(dim=-1)

print("Label probs:", text_probs)

BibTeX & Citation#

@misc{huang2024llm2clippowerfullanguagemodel,
      title={LLM2CLIP: Powerful Language Model Unlock Richer Visual Representation}, 
      author={Weiquan Huang and Aoqi Wu and Yifan Yang and Xufang Luo and Yuqing Yang and Liang Hu and Qi Dai and Xiyang Dai and Dongdong Chen and Chong Luo and Lili Qiu},
      year={2024},
      eprint={2411.04997},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2411.04997}, 
}

Files

8 files · 2.31 GBWeights 2.31 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 8 files with their sha256
FileSizesha256
.gitattributes1.57 KB72202216d5d2650259b8ef1ba1603b20e6df311cded7d3ec3bf2dfd0b91c9a23
CLIP.png252 KB308a3ca4503f1c7a07803916c369d78c4ef501e5ab7fc727da9b5e1d2f9ec85b
README.md5.47 KBa78f6d459f9e19bf62472ce300bda8e44510fb14bc2a8a697afd8dded47cab88
config.json2.67 KBb59e934da7d5a630f32c72e115c5e06c168643f1c987a7e77f2012d5e53bb36e
configuration_clip.py21.1 KBca17926fe7eeaea13db0c56eeae245e89d7121c51c04e1fdd73e3b1e23ba5c23
model.safetensors2.31 GBb735de584f3270fe5a818cba1724bf387d90e14ecf703fb5ac2829a16c711961
modeling_clip.py72.2 KB779b5f968f31baf960193cd619cfffb468bf07d142b1e75936acddedf6566943
teaser.png156 KB96efdce73a60b5857328014a626e4a6004452e2444bc3a169c9d2b8b5f4a94ce
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
92512331f3 pinned now2026-11-15 02:44 UTC8 files · 2.31 GB

Use it

$ fw get microsoft/LLM2CLIP-Openai-L-14-336
# manifest sha256 a9add88558d9… · 2.31 GB · 8 files
$ fw verify ./LLM2CLIP-Openai-L-14-336 microsoft/LLM2CLIP-Openai-L-14-336
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/microsoft/LLM2CLIP-Openai-L-14-336.json --dir ./LLM2CLIP-Openai-L-14-336 $ python3 fw.py verify ./LLM2CLIP-Openai-L-14-336 ./microsoft__LLM2CLIP-Openai-L-14-336.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download microsoft/LLM2CLIP-Openai-L-14-336 --revision 92512331f393a003c3d98404677f991c188162c9 --local-dir ./LLM2CLIP-Openai-L-14-336

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
README.md
Text sha256
a78f6d459f9e19bf62472ce300bda8e44510fb14bc2a8a697afd8dded47cab88
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: microsoft <huggingface.co/microsoft>Newsgroups: alt.freeweights.visionSubject: LLM2CLIP-Openai-L-14-336Date: 2026-11-15Commit: 9251233Signed: 2DC28CC7B26A283B ✓
Upstream
microsoft/LLM2CLIP-Openai-L-14-336
Pinned commit
92512331f393a003c3d98404677f991c188162c9
Manifest
LLM2CLIP-Openai-L-14-336.json · .minisig
Manifest sha256
a9add88558d9d5d58fd07a7ef910557c98e165f109679826c4258994e65f597f
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 02:44 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/microsoft/LLM2CLIP-Openai-L-14-336.json $ curl -O https://freeweights.allternit.com/manifests/microsoft/LLM2CLIP-Openai-L-14-336.json.minisig $ minisign -Vm LLM2CLIP-Openai-L-14-336.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

No related models in this catalog.Nothing here lists this model as its parent, and it names no parent.
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download microsoft/LLM2CLIP-Openai-L-14-336
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. LLM2CLIP-Openai-L-14-336.json. Provenance. Takedown history: none.
From: dima806 <huggingface.co/dima806>Subject: ai_vs_real_image_detection
From: legekka <huggingface.co/legekka>Subject: AI-Anime-Image-Detector-ViT
From: onnx-community <huggingface.co/onnx-community>Subject: AI-Anime-Image-Detector-ViT-ONNX
From: AICodexLab <huggingface.co/AICodexLab>Subject: answerdotai-ModernBERT-base-ai-detector
From: onnx-community <huggingface.co/onnx-community>Subject: answerdotai-ModernBERT-base-ai-detector-ONNX
From: onnx-community <huggingface.co/onnx-community>Subject: bart-large-cnn-ONNX