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

snowflake-arctic-embed-m-long

Date: 2026-11-14Commit: 92d9733Signed: 2DC28CC7B26A283B ✓

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

137M params2.11GBsnowflake-arctic-embed-m-longonnx safetensorspermissive
FactsParams137MSize2.11 GBFormatsonnx, safetensorsTasksentence similarityLicenseApache-2.0From sourcepermissive
$ fw get Snowflake/snowflake-arctic-embed-m-long
# manifest sha256 8e9650954894… · 2.11 GB · 21 files
$ fw verify ./snowflake-arctic-embed-m-long Snowflake/snowflake-arctic-embed-m-long
From sourceHosted (signed)Snowflake/snowflake-arctic-embed-m-longLast 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
2.11 GB
Weights
547 MB (safetensors)
Parameters
137M
Formats
onnx, safetensors
Task
sentence similarity
License
Apache-2.0 (permissive)
Files
21, 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 92d9733. Shown as plain text with links; images open at the publisher.

Snowflake's Arctic-embed-m-long#

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-m-long", trust_remote_code=True)

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.46484852 The Data Cloud!
0.3758855 Mexico City of Course!
Query: Where can I get the best tacos?
0.42407742 Mexico City of Course!
0.36740506 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-m-long')
model = AutoModel.from_pretrained('Snowflake/snowflake-arctic-embed-m-long', trust_remote_code=True, add_pooling_layer=False, safe_serialization=True)
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)

If you use the long context model with more than 2048 tokens, ensure that you initialize the model like below instead. This will use RPE to allow up to 8192 tokens.

model = AutoModel.from_pretrained('Snowflake/snowflake-arctic-embed-m-long', trust_remote_code=True, safe_serialization=True, rotary_scaling_factor=2)
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-m-long', {
    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.36740492125676116, 0.42407774292046635]

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

21 files · 2.11 GBWeights 547 MB (safetensors). Sizes and sha256 from the signed manifest.
Show all 21 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
1_Pooling/config.json296 Bd02ebf56344d20f773449b15d0c10ee9a86a9178f3b3c9bfecb8b87d4350ce38
README.md85.4 KBb29cb6f8ab6cd968b2d5f15711a09d6d8d5a492c0d892b4c49865373a36bcc30
config.json1.60 KB794b375bbe628183be1594e2e180e8fa4df98dcc9eaf833232e9afd4f515304b
config_sentence_transformers.json252 B26a4caecbc808973e5b3b3a04484db1389078b0458254e4dd617ff361e2f378a
configuration_hf_nomic_bert.py1.96 KB8b42dd8e1d73af914e227f0a38138686ef63121fb468815a4293f868d2071d74
model.safetensors547 MBf469f6e6946f80f12edfe41d06b844098928ab6fb33b09c59028bc7405f068f8
modeling_hf_nomic_bert.py52.6 KB90570ba771cb802592f5bdccec9a9616f65f27151a559d8228d7d990f3807050
modules.json349 B84e40c8e006c9b1d6c122e02cba9b02458120b5fb0c87b746c41e0207cf642cf
onnx/model.onnx548 MB76ff1f78394d5b05876aa5af3a0172ca3390fa86dc0065bf342cc3e9bb696d60
onnx/model_bnb4.onnx158 MBd4884e561099612ac516f67adc6005c1c8a874d6344884acbafcead427846854
onnx/model_fp16.onnx274 MBf492f328b1d2f89186e9ac3e85ad34189681fee63e659d594767130e61e8df89
onnx/model_int8.onnx138 MB308dbee1812177a59bcc4ff4c8ade6eff912048242180105a3fd695a279646f4
onnx/model_q4.onnx165 MB9b055aae5ff17be2eed31d0520455116010059d3d7b82749ebefea32cd07136a
onnx/model_quantized.onnx138 MB308dbee1812177a59bcc4ff4c8ade6eff912048242180105a3fd695a279646f4
onnx/model_uint8.onnx138 MBb8d3b41a20d8c240d232380c254b005302b949a98c6d248c4f2217092fe18eb8
sentence_bert_config.json140 Bd8ecbf1eb946d17aec64c83e6614e5ec1b19b62498cf72a4ed4ec882c86af07e
special_tokens_map.json695 B5d5b662e421ea9fac075174bb0688ee0d9431699900b90662acd44b2a350503a
tokenizer.json712 KB91f1def9b9391fdabe028cd3f3fcc4efd34e5d1f08c3bf2de513ebb5911a1854
tokenizer_config.json1.42 KB7809f768ee3614618b3f1b91dcbfab4f6a9d4b79fb1ad5d17feb65a7c1bb5b7a
vocab.txt232 KB07eced375cec144d27c900241f3e339478dec958f92fddbc551f295c992038a3
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
92d97331f1 pinned now manifest updated, same commit2026-11-14 21:08 UTC21 files · 2.11 GB
92d97331f12026-11-14 21:08 UTC21 files · 2.11 GB

Use it

$ fw get Snowflake/snowflake-arctic-embed-m-long
# manifest sha256 8e9650954894… · 2.11 GB · 21 files
$ fw verify ./snowflake-arctic-embed-m-long Snowflake/snowflake-arctic-embed-m-long
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-m-long.json --dir ./snowflake-arctic-embed-m-long $ python3 fw.py verify ./snowflake-arctic-embed-m-long ./Snowflake__snowflake-arctic-embed-m-long.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download Snowflake/snowflake-arctic-embed-m-long --revision 92d97331f1f4b6a366c1f161354b9f3390cc219f --local-dir ./snowflake-arctic-embed-m-long
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-m-long", revision="92d97331f1f4b6a366c1f161354b9f3390cc219f") model = AutoModel.from_pretrained("Snowflake/snowflake-arctic-embed-m-long", revision="92d97331f1f4b6a366c1f161354b9f3390cc219f", 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-m-long", revision="92d97331f1f4b6a366c1f161354b9f3390cc219f") 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
b29cb6f8ab6cd968b2d5f15711a09d6d8d5a492c0d892b4c49865373a36bcc30
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-m-longDate: 2026-11-14Commit: 92d9733Signed: 2DC28CC7B26A283B ✓
Upstream
Snowflake/snowflake-arctic-embed-m-long
Pinned commit
92d97331f1f4b6a366c1f161354b9f3390cc219f
Manifest
snowflake-arctic-embed-m-long.json · .minisig
Manifest sha256
8e9650954894afc2d8ce048195c1f92dc6ec0ff0ed9e405c46c92d8e6a1198e4
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-m-long.json $ curl -O https://freeweights.allternit.com/manifests/Snowflake/snowflake-arctic-embed-m-long.json.minisig $ minisign -Vm snowflake-arctic-embed-m-long.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

1 model in the catalog name this one as their parent.

Fine-tunes
1
Fine-tunes 1
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download Snowflake/snowflake-arctic-embed-m-long
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-m-long.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