alt.freeweights.llama / LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224
From: microsoft <huggingface.co/microsoft>Newsgroups: alt.freeweights.llamaSubject:

LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224

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

Zero shot classification model. Safetensors weights, 1.50 GB in all. Published by microsoft under Apache-2.0.

llama1.50GBLLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224safetensorspermissive
FactsParamsnot statedSize1.50 GBFormatssafetensorsTaskzero shot classificationLicenseApache-2.0From sourcepermissive
$ fw get microsoft/LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224
# manifest sha256 60385a534738… · 1.50 GB · 13 files
$ fw verify ./LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224 microsoft/LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224
From sourceHosted (signed)microsoft/LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224Last check: 2026-11-15 04:32 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.50 GB
Weights
83.9 MB (safetensors)
Parameters
not stated
Formats
safetensors
Task
zero shot classification
License
Apache-2.0 (permissive)
Files
13, each with a sha256
Publisher
microsoft
Added
2026-11-15
Section
alt.freeweights.llama
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 04:32 UTCpassed

Model card

From the publisher at commit dac0e79. 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.

Model Details#

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

Usage#

Go to GitHub

# put LLM2CLIP-Llama-3.1-8B into the checkpoints folder.
ln -s LLM2CLIP-Llama-3.1-8B  llm2clip/checkpoints/

pip install flash_attn
pip install timm==1.0.15
pip uninstall -y  llm2vec
pip install  transformers==4.46
import torch
from PIL import Image
from eva_clip import create_model_and_transforms

model, _, preprocess_val = create_model_and_transforms(
    "Llama3.1-8B-Siglip2-So-L-14-224",force_custom_clip=True)
ckpt = torch.load("LLM2CLIP-SigLIP2-So-14-224.pt")
model.load_state_dict(ckpt, strict=False)
model = model.cuda().eval()

captions = ["a diagram", "a dog", "a cat"]
image = Image.open("CLIP.png")
image = preprocess_val(image).unsqueeze(0).cuda()

with torch.no_grad(), torch.cuda.amp.autocast():
    image_features = model.encode_image(image)
    text_features = model.encode_text(captions)

    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

13 files · 1.50 GBWeights 83.9 MB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 13 files with their sha256
FileSizesha256
.gitattributes1.64 KBad1d6c529e750e9a497f2d48ef01f1386845acc607c8a0fe6e11cca03fb9aa4e
CLIP.png252 KB308a3ca4503f1c7a07803916c369d78c4ef501e5ab7fc727da9b5e1d2f9ec85b
LLM2CLIP-Llama-3.1-8B/README.md5.11 KB5a93d484bdd3241b65399b083128d3e586eb4276ffd6796e4ce6ebee8b0c60dc
LLM2CLIP-Llama-3.1-8B/adapter_config.json828 B40955949043b5cf8c6a65874c546a0405292eb4272c5aee221c75efaa4082b13
LLM2CLIP-Llama-3.1-8B/adapter_model.safetensors83.9 MB62908416e55a6b6c8e3dfba15650c0a1a53dc2b3514cf230d8424dc98d498e06
LLM2CLIP-Llama-3.1-8B/llm2vec_config.json110 B0411696359fdaca95d479c681273f1685e609f088bae576059f6b28fcede83fe
LLM2CLIP-Llama-3.1-8B/special_tokens_map.json325 B1b1835caa5b4d70acaa210fa222b0036f1882f9525c4660fd4810fb3e1e40ff8
LLM2CLIP-Llama-3.1-8B/tokenizer.json9.09 MB3b9251f8112f38c214bb70ddde4c1d7efa650c7f13c942034f55e826fefb8b0d
LLM2CLIP-Llama-3.1-8B/tokenizer_config.json55.4 KB05d0de6d831b5940c3f2eae4e495b9f77612cbb05b5804846733ab617f0dfe9b
LLM2CLIP-Llama-3.1-8B/trainer_state.json54.4 KB5ead1a218e2994c13bf102b98b6601fbc432a9e46a02a4ac4a35f22cb2455dfe
LLM2CLIP-Llama-3.1-8B/training_args.bin6.46 KBf338329cf83eeb118f3a5f4b30409d3780838ef2437d995ad1ab058daaf626a1
LLM2CLIP-SigLIP2-So-14-224.pt1.40 GB71ababccf764efd7aab3beeee07aec4cb338c52c5e1f8ec46419f5da0593f290
README.md3.83 KBfb8766dd23531fd804391172bfab4b6eff7808f918fa76dc3ab2905e9c1458df
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
dac0e79d6b pinned now2026-11-15 04:32 UTC13 files · 1.50 GB

Use it

$ fw get microsoft/LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224
# manifest sha256 60385a534738… · 1.50 GB · 13 files
$ fw verify ./LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224 microsoft/LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/microsoft/LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224.json --dir ./LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224 $ python3 fw.py verify ./LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224 ./microsoft__LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download microsoft/LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224 --revision dac0e79d6b8cb804ae59568663557c0913b62ce7 --local-dir ./LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224

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
fb8766dd23531fd804391172bfab4b6eff7808f918fa76dc3ab2905e9c1458df
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.llamaSubject: LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224Date: 2026-11-15Commit: dac0e79Signed: 2DC28CC7B26A283B ✓
Upstream
microsoft/LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224
Pinned commit
dac0e79d6b8cb804ae59568663557c0913b62ce7
Manifest
LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224.json · .minisig
Manifest sha256
60385a5347389bfa33e0984521543452bd961379de82458b620227c73d890061
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 04:32 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/microsoft/LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224.json $ curl -O https://freeweights.allternit.com/manifests/microsoft/LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224.json.minisig $ minisign -Vm LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224.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-Llama3.1-8B-siglip2-so400m-patch14-224
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. LLM2CLIP-Llama3.1-8B-siglip2-so400m-patch14-224.json. Provenance. Takedown history: none.
From: BAAI <huggingface.co/BAAI>Subject: Bunny-Llama-3-8B-V
From: BAAI <huggingface.co/BAAI>Subject: Bunny-Llama-3-8B-V-gguf
From: BAAI <huggingface.co/BAAI>Subject: Bunny-v1_1-Llama-3-8B-V
From: unsloth <huggingface.co/unsloth>Subject: codellama-7b
From: unsloth <huggingface.co/unsloth>Subject: codellama-7b-bnb-4bit
From: BAAI <huggingface.co/BAAI>Subject: Infinity-Instruct-3M-0613-Llama3-70B