alt.freeweights.embed / snowflake-arctic-embed-l
From: Snowflake <huggingface.co/Snowflake>Newsgroups: alt.freeweights.embedSubject:

snowflake-arctic-embed-l

Date: 2026-11-14Commit: d8fb21cSigned: 2DC28CC7B26A283B ✓

Sentence similarity model with 334M parameters. Onnx and safetensors weights, 4.97 GB in all. Published by Snowflake under Apache-2.0.

334M params4.97GBsnowflake-arctic-embed-lonnx safetensorspermissive
FactsParams334MSize4.97 GBFormatsonnx, safetensorsTasksentence similarityLicenseApache-2.0From sourcepermissive
$ fw get Snowflake/snowflake-arctic-embed-l
# manifest sha256 a131f6ab77a5… · 4.97 GB · 19 files
$ fw verify ./snowflake-arctic-embed-l Snowflake/snowflake-arctic-embed-l
From sourceHosted (signed)Snowflake/snowflake-arctic-embed-lLast check: 2026-11-14 21:08 UTC

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

Works with

Evaluate with

Overview

Size
4.97 GB
Weights
1.34 GB (safetensors)
Parameters
334M
Formats
onnx, safetensors
Task
sentence similarity
License
Apache-2.0 (permissive)
Files
19, each with a sha256
Publisher
Snowflake
Added
2026-11-14
Section
alt.freeweights.embed
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-14 21:08 UTCpassed

Model card

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

Snowflake's Arctic-embed-l#

News | Models | Usage | Evaluation | Contact | FAQ License | Acknowledgement

News#

12/04/2024: Release of snowflake-arctic-embed-l-v2.0 and snowflake-arctic-embed-m-v2.0 our newest models with multilingual workloads in mind. These models outperform prior versions of Arctic Embed and we suggest these replace prior versions!

07/26/2024: Release preprint [[2407.18887] Embedding And Clustering Your Data Can Improve Contrastive Pretraining](https://arxiv.org/abs/2407.18887) on arXiv.

07/18/2024: Release of snowflake-arctic-embed-m-v1.5, capable of producing highly compressible embedding vectors that preserve quality even when squished as small as 128 bytes per vector. Details about the development of this model are available in the launch post on the Snowflake engineering blog.

05/10/2024: Release the technical report on Arctic Embed

04/16/2024: Release the snowflake-arctic-embed family of text embedding models. The releases are state-of-the-art for Retrieval quality at each of their representative size profiles. Technical Report is coming shortly. For more details, please refer to our Github: Arctic-Text-Embed.

Models#

snowflake-arctic-embed is a suite of text embedding models that focuses on creating high-quality retrieval models optimized for performance.

The snowflake-arctic-embedding models achieve state-of-the-art performance on the MTEB/BEIR leaderboard for each of their size variants. Evaluation is performed using these scripts. As shown below, each class of model size achieves SOTA retrieval accuracy compared to other top models.

The models are trained by leveraging existing open-source text representation models, such as bert-base-uncased, and are trained in a multi-stage pipeline to optimize their retrieval performance. First, the models are trained with large batches of query-document pairs where negatives are derived in-batch—pretraining leverages about 400m samples of a mix of public datasets and proprietary web search data. Following pretraining models are further optimized with long training on a smaller dataset (about 1m samples) of triplets of query, positive document, and negative document derived from hard harmful mining. Mining of the negatives and data curation is crucial to retrieval accuracy. A detailed technical report can be found here.

NameMTEB Retrieval Score (NDCG @ 10)Parameters (Millions)Embedding Dimension
snowflake-arctic-embed-xs50.1522384
snowflake-arctic-embed-s51.9833384
snowflake-arctic-embed-m54.90110768
snowflake-arctic-embed-m-long54.83137768
snowflake-arctic-embed-l55.983351024

Aside from being great open-source models, the largest model, snowflake-arctic-embed-l, can serve as a natural replacement for closed-source embedding, as shown below.

Model NameMTEB Retrieval Score (NDCG @ 10)
snowflake-arctic-embed-l55.98
Google-gecko-text-embedding55.7
text-embedding-3-large55.44
Cohere-embed-english-v3.055.00
bge-large-en-v1.554.29
snowflake-arctic-embed-xs#

This tiny model packs quite the punch. Based on the all-MiniLM-L6-v2 model with only 22m parameters and 384 dimensions, this model should meet even the strictest latency/TCO budgets. Despite its size, its retrieval accuracy is closer to that of models with 100m paramers.

Model NameMTEB Retrieval Score (NDCG @ 10)
snowflake-arctic-embed-xs50.15
GIST-all-MiniLM-L6-v245.12
gte-tiny44.92
all-MiniLM-L6-v241.95
bge-micro-v242.56
snowflake-arctic-embed-s#

Based on the intfloat/e5-small-unsupervised model, this small model does not trade off retrieval accuracy for its small size. With only 33m parameters and 384 dimensions, this model should easily allow scaling to large datasets.

Model NameMTEB Retrieval Score (NDCG @ 10)
snowflake-arctic-embed-s51.98
bge-small-en-v1.551.68
Cohere-embed-english-light-v3.051.34
text-embedding-3-small51.08
e5-small-v249.04
snowflake-arctic-embed-m#

Based on the intfloat/e5-base-unsupervised model, this medium model is the workhorse that provides the best retrieval performance without slowing down inference.

Model NameMTEB Retrieval Score (NDCG @ 10)
snowflake-arctic-embed-m54.90
bge-base-en-v1.553.25
nomic-embed-text-v1.553.25
GIST-Embedding-v052.31
gte-base52.31
snowflake-arctic-embed-m-long#

Based on the nomic-ai/nomic-embed-text-v1-unsupervised model, this long-context variant of our medium-sized model is perfect for workloads that can be constrained by the regular 512 token context of our other models. Without the use of RPE, this model supports up to 2048 tokens. With RPE, it can scale to 8192!

Model NameMTEB Retrieval Score (NDCG @ 10)
snowflake-arctic-embed-m-long54.83
nomic-embed-text-v1.553.01
nomic-embed-text-v152.81
snowflake-arctic-embed-l#

Based on the intfloat/e5-large-unsupervised model, this large model is a direct drop-in for closed APIs and delivers the most accurate retrieval experience.

Model NameMTEB Retrieval Score (NDCG @ 10)
snowflake-arctic-embed-l55.98
UAE-Large-V154.66
bge-large-en-v1.554.29
mxbai-embed-large-v154.39
e5-Large-v250.56

Usage#

Using Sentence Transformers#

You can use the sentence-transformers package to use an snowflake-arctic-embed model, as shown below.

from sentence_transformers import SentenceTransformer

model = SentenceTransformer("Snowflake/snowflake-arctic-embed-l")

queries = ['what is snowflake?', 'Where can I get the best tacos?']
documents = ['The Data Cloud!', 'Mexico City of Course!']

query_embeddings = model.encode(queries, prompt_name="query")
document_embeddings = model.encode(documents)

scores = query_embeddings @ document_embeddings.T
for query, query_scores in zip(queries, scores):
    doc_score_pairs = list(zip(documents, query_scores))
    doc_score_pairs = sorted(doc_score_pairs, key=lambda x: x[1], reverse=True)
    # Output passages & scores
    print("Query:", query)
    for document, score in doc_score_pairs:
        print(score, document)
Query: what is snowflake?
0.28976774 The Data Cloud!
0.19071159 Mexico City of Course!
Query: Where can I get the best tacos?
0.38650584 Mexico City of Course!
0.25145516 The Data Cloud!
Using Huggingface transformers#

You can use the transformers package to use an snowflake-arctic-embed model, as shown below. For optimal retrieval quality, use the CLS token to embed each text portion and use the query prefix below (just on the query).

import torch
from transformers import AutoModel, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained('Snowflake/snowflake-arctic-embed-l')
model = AutoModel.from_pretrained('Snowflake/snowflake-arctic-embed-l', add_pooling_layer=False)
model.eval()

query_prefix = 'Represent this sentence for searching relevant passages: '
queries  = ['what is snowflake?', 'Where can I get the best tacos?']
queries_with_prefix = ["{}{}".format(query_prefix, i) for i in queries]
query_tokens = tokenizer(queries_with_prefix, padding=True, truncation=True, return_tensors='pt', max_length=512)

documents = ['The Data Cloud!', 'Mexico City of Course!']
document_tokens =  tokenizer(documents, padding=True, truncation=True, return_tensors='pt', max_length=512)

# Compute token embeddings
with torch.no_grad():
    query_embeddings = model(**query_tokens)[0][:, 0]
    document_embeddings = model(**document_tokens)[0][:, 0]


# normalize embeddings
query_embeddings = torch.nn.functional.normalize(query_embeddings, p=2, dim=1)
document_embeddings = torch.nn.functional.normalize(document_embeddings, p=2, dim=1)

scores = torch.mm(query_embeddings, document_embeddings.transpose(0, 1))
for query, query_scores in zip(queries, scores):
    doc_score_pairs = list(zip(documents, query_scores))
    doc_score_pairs = sorted(doc_score_pairs, key=lambda x: x[1], reverse=True)
    #Output passages & scores
    print("Query:", query)
    for document, score in doc_score_pairs:
        print(score, document)
Using Transformers.js#

If you haven't already, you can install the Transformers.js JavaScript library from NPM by running:

npm i @xenova/transformers

You can then use the model to compute embeddings as follows:

import { pipeline, dot } from '@xenova/transformers';

// Create feature extraction pipeline
const extractor = await pipeline('feature-extraction', 'Snowflake/snowflake-arctic-embed-l', {
    quantized: false, // Comment out this line to use the quantized version
});

// Generate sentence embeddings
const sentences = [
    'Represent this sentence for searching relevant passages: Where can I get the best tacos?',
    'The Data Cloud!',
    'Mexico City of Course!',
]
const output = await extractor(sentences, { normalize: true, pooling: 'cls' });

// Compute similarity scores
const [source_embeddings, ...document_embeddings ] = output.tolist();
const similarities = document_embeddings.map(x => dot(source_embeddings, x));
console.log(similarities); // [0.25145517380846977, 0.3865060421197194]

Using Infinity#

OpenAI compatible API deployment with Infinity and Docker.

docker run --gpus all -v $PWD/data:/app/.cache -p "7997":"7997" \
michaelf34/infinity:0.0.70 \
v2 --model-id Snowflake/snowflake-arctic-embed-l --dtype float16 --batch-size 32 --engine torch --port 7997

FAQ#

TBD

Contact#

Feel free to open an issue or pull request if you have any questions or suggestions about this project. You also can email Daniel Campos(daniel.campos@snowflake.com).

License#

Arctic is licensed under the Apache-2. The released models can be used for commercial purposes free of charge.

Acknowledgement#

We want to thank the open-source community, which has provided the great building blocks upon which we could make our models. We thank our modeling engineers, Danmei Xu, Luke Merrick, Gaurav Nuti, and Daniel Campos, for making these great models possible. We thank our leadership, Himabindu Pucha, Kelvin So, Vivek Raghunathan, and Sridhar Ramaswamy, for supporting this work. We also thank the open-source community for producing the great models we could build on top of and making these releases possible. Finally, we thank the researchers who created BEIR and MTEB benchmarks. It is largely thanks to their tireless work to define what better looks like that we could improve model performance.

Image: image

Files

19 files · 4.97 GBWeights 1.34 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 19 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
1_Pooling/config.json297 B13e69897522ee8255104483ed9f219465d1be3936654a54a318758738052789e
README.md85.4 KB99dc430b3a000eb56408af713408b076bf0bec33c352897db06df50dc8845309
config.json704 Be2e01fe381e2a939eaed23dd37bdedeedfad37b034fd83c42916923f74b25a79
config_sentence_transformers.json252 B26a4caecbc808973e5b3b3a04484db1389078b0458254e4dd617ff361e2f378a
model.safetensors1.34 GB46e36bf399c152c51818e1d0423bfe628d79fc9536dbf9d4fcc93078827d6c99
modules.json349 B84e40c8e006c9b1d6c122e02cba9b02458120b5fb0c87b746c41e0207cf642cf
onnx/model.onnx1.34 GB9c6ae4c0108aa2f7fb4cf95776f40bfd7dca7edb6d8c686d6470b6ab105ca559
onnx/model_bnb4.onnx299 MBbe7c8d230f8a1e026236acbfacbddff040ecdb693bc57bd2a6427b8580b222d0
onnx/model_fp16.onnx669 MB8ca24235754e5553234266fba529a7eec363e8d565d3f21761ada22841f5f3c8
onnx/model_int8.onnx337 MBab802115224b05d283e2042cf889b5490c476e19d28ce93e2073a57476b95541
onnx/model_q4.onnx318 MBfdc26d67d848a65495db47ed3679723eb1186449389cf658b6f8f4eab57a0ddf
onnx/model_quantized.onnx337 MBab802115224b05d283e2042cf889b5490c476e19d28ce93e2073a57476b95541
onnx/model_uint8.onnx337 MBd0223cec2d16b050f291f63cf2e52d694861ccd621cd90c6e9131f58854c58bc
sentence_bert_config.json107 B4dfc17a899f3ea25b5c8e9034a1d0d9ebd96eca0868b015a89d1d748c38e4b2f
special_tokens_map.json695 B5d5b662e421ea9fac075174bb0688ee0d9431699900b90662acd44b2a350503a
tokenizer.json712 KB91f1def9b9391fdabe028cd3f3fcc4efd34e5d1f08c3bf2de513ebb5911a1854
tokenizer_config.json1.38 KB0e83e9d7206b3ade43f8f2aeef523cf5d5b4a25b67af21b273de21972c0f58b7
vocab.txt232 KB07eced375cec144d27c900241f3e339478dec958f92fddbc551f295c992038a3
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
d8fb21ca8d pinned now manifest updated, same commit2026-11-14 21:08 UTC19 files · 4.97 GB
d8fb21ca8d2026-11-14 21:08 UTC19 files · 4.97 GB

Use it

$ fw get Snowflake/snowflake-arctic-embed-l
# manifest sha256 a131f6ab77a5… · 4.97 GB · 19 files
$ fw verify ./snowflake-arctic-embed-l Snowflake/snowflake-arctic-embed-l
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/Snowflake/snowflake-arctic-embed-l.json --dir ./snowflake-arctic-embed-l $ python3 fw.py verify ./snowflake-arctic-embed-l ./Snowflake__snowflake-arctic-embed-l.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download Snowflake/snowflake-arctic-embed-l --revision d8fb21ca8d905d2832ee8b96c894d3298964346b --local-dir ./snowflake-arctic-embed-l
transformersLoad the weights in Python.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from transformers import AutoModel, AutoTokenizer tok = AutoTokenizer.from_pretrained("Snowflake/snowflake-arctic-embed-l", revision="d8fb21ca8d905d2832ee8b96c894d3298964346b") model = AutoModel.from_pretrained("Snowflake/snowflake-arctic-embed-l", revision="d8fb21ca8d905d2832ee8b96c894d3298964346b", device_map="auto")
sentence-transformersEmbed text with sentence-transformers.
import os os.environ["HF_ENDPOINT"] = "https://freeweights.allternit.com" from sentence_transformers import SentenceTransformer model = SentenceTransformer("Snowflake/snowflake-arctic-embed-l", revision="d8fb21ca8d905d2832ee8b96c894d3298964346b") vectors = model.encode(["Hello"])

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-14
Text in
README.md
Text sha256
99dc430b3a000eb56408af713408b076bf0bec33c352897db06df50dc8845309
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: Snowflake <huggingface.co/Snowflake>Newsgroups: alt.freeweights.embedSubject: snowflake-arctic-embed-lDate: 2026-11-14Commit: d8fb21cSigned: 2DC28CC7B26A283B ✓
Upstream
Snowflake/snowflake-arctic-embed-l
Pinned commit
d8fb21ca8d905d2832ee8b96c894d3298964346b
Manifest
snowflake-arctic-embed-l.json · .minisig
Manifest sha256
a131f6ab77a52b71b94a8856f17eb160fd7c6b28d9f989e9318d3fa98c102a29
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-14 21:08 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/Snowflake/snowflake-arctic-embed-l.json $ curl -O https://freeweights.allternit.com/manifests/Snowflake/snowflake-arctic-embed-l.json.minisig $ minisign -Vm snowflake-arctic-embed-l.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 Snowflake/snowflake-arctic-embed-l
Open in Freeweights Studio

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

Signed manifest
minisign, key 2DC28CC7B26A283B. snowflake-arctic-embed-l.json. Provenance. Takedown history: none.
From: sentence-transformers <huggingface.co/sentence-transformers>Subject: all-MiniLM-L6-v1
From: unsloth <huggingface.co/unsloth>Subject: all-MiniLM-L6-v2
From: mlx-community <huggingface.co/mlx-community>Subject: all-MiniLM-L6-v2-4bit
From: sentence-transformers <huggingface.co/sentence-transformers>Subject: all-mpnet-base-v1
From: sentence-transformers <huggingface.co/sentence-transformers>Subject: allenai-specter
From: sentence-transformers <huggingface.co/sentence-transformers>Subject: bert-base-nli-max-tokens