alt.freeweights.vision / LLM2CLIP-Openai-B-16
From: microsoft <huggingface.co/microsoft>Newsgroups: alt.freeweights.visionSubject:

LLM2CLIP-Openai-B-16

Date: 2026-11-15Commit: ecfb347Signed: 2DC28CC7B26A283B ✓

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

361M params1.44GBLLM2CLIP-Openai-B-16safetensorspermissive
FactsParams361MSize1.44 GBFormatssafetensorsTaskzero shot classificationLicenseApache-2.0From sourcepermissive
$ fw get microsoft/LLM2CLIP-Openai-B-16
# manifest sha256 e55cfe55171b… · 1.44 GB · 8 files
$ fw verify ./LLM2CLIP-Openai-B-16 microsoft/LLM2CLIP-Openai-B-16
From sourceHosted (signed)microsoft/LLM2CLIP-Openai-B-16Last check: 2026-11-15 03:54 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
1.44 GB
Weights
1.44 GB (safetensors)
Parameters
361M
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 03:54 UTCpassed

Model card

From the publisher at commit ecfb347. 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-B-16" # or /path/to/local/LLM2CLIP-Openai-B-16

processor = CLIPImageProcessor.from_pretrained("openai/clip-vit-base-patch16")
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

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

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

processor = CLIPImageProcessor.from_pretrained("openai/clip-vit-base-patch16")
model_name_or_path = "microsoft/LLM2CLIP-Openai-B-16" # or /path/to/local/LLM2CLIP-Openai-B-16
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 · 1.44 GBWeights 1.44 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.45 KBfa77c35fb8fd2e06fa8a42264400616e6c19ab6ba3cd6389be7d438d5e2fac74
config.json607 B7769bac3bed0d39a4986d2d71457961f3e434db34b74b8ce50954dd54c3b7414
configuration_clip.py19.5 KB702e64ce2314f7af6c4162d682e9a5138d7239570a96f45061d44d2810e3fe7a
model.safetensors1.44 GB0fd872fd6bf16bfba5624e8f13c14168f5b25496fc25246c04556bc858dd9a6d
modeling_clip.py72.3 KB925fca902cabbceb4cb28be0ff812b7667abc6668573eb3f3edbca4f0936802f
teaser.png156 KB96efdce73a60b5857328014a626e4a6004452e2444bc3a169c9d2b8b5f4a94ce
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
ecfb347eb3 pinned now2026-11-15 03:54 UTC8 files · 1.44 GB

Use it

$ fw get microsoft/LLM2CLIP-Openai-B-16
# manifest sha256 e55cfe55171b… · 1.44 GB · 8 files
$ fw verify ./LLM2CLIP-Openai-B-16 microsoft/LLM2CLIP-Openai-B-16
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-B-16.json --dir ./LLM2CLIP-Openai-B-16 $ python3 fw.py verify ./LLM2CLIP-Openai-B-16 ./microsoft__LLM2CLIP-Openai-B-16.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download microsoft/LLM2CLIP-Openai-B-16 --revision ecfb347eb3dcfeb2fbc2a2eae7de6ac5a001aaf8 --local-dir ./LLM2CLIP-Openai-B-16

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
fa77c35fb8fd2e06fa8a42264400616e6c19ab6ba3cd6389be7d438d5e2fac74
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-B-16Date: 2026-11-15Commit: ecfb347Signed: 2DC28CC7B26A283B ✓
Upstream
microsoft/LLM2CLIP-Openai-B-16
Pinned commit
ecfb347eb3dcfeb2fbc2a2eae7de6ac5a001aaf8
Manifest
LLM2CLIP-Openai-B-16.json · .minisig
Manifest sha256
e55cfe55171b8ffec3fc39a47b85c98c875fc8d1e915ac874cfcbd51769b7000
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 03:54 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/microsoft/LLM2CLIP-Openai-B-16.json $ curl -O https://freeweights.allternit.com/manifests/microsoft/LLM2CLIP-Openai-B-16.json.minisig $ minisign -Vm LLM2CLIP-Openai-B-16.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-B-16
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-B-16.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