Model reference · open weights
stella_en is an open-weight embedding model from NovaSearch. stella_en_1.5B_v5 (FP32) weighs 3.1 GB; the smallest configuration that runs it is RTX 3060 12 GB.
Summary of the NovaSearch/stella_en_400M_v5 model card, 2026-10-01. The estimate below is for another build of the family.
What it is
| Released by | NovaSearch |
|---|---|
| Released | 2024-07-12 |
| Parameters | 435M |
| VRAM | 3.1 GB for the weights |
What it runs on
| Card | Runs | Memory |
|---|---|---|
| RTX 3060 12 GB | fits | 11.6 GB |
| RTX 4060 Ti 16 GB | fits | 15.4 GB |
| RTX 3090 24 GB | fits | 23.4 GB |
| RTX 4090 24 GB | fits | 23.4 GB |
| RTX 5090 32 GB | fits | 31.0 GB |
| L40S 48 GB | fits | 44.0 GB |
| A100 80 GB | fits | 78.2 GB |
| H100 80 GB | fits | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | fits | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | fits | 107 GB |
| H200 141 GB | fits | 138 GB |
| B200 180 GB | fits | 176 GB |
Builds
| Build | Params | Precision | Weights | Smallest setup |
|---|---|---|---|---|
| stella_en_400M_v5 ↗ | 435M | FP32 | 870 MB | RTX 3060 12 GB |
| stella_en_1.5B_v5 (above) ↗ | 1.5B | FP32 | 3.1 GB | RTX 3060 12 GB |
From the model card
We released a Jasper and Stella model technology report and code.(2025.1)
Report: https://arxiv.org/abs/2412.19048
Codes: https://github.com/NovaSearch-Team/RAG-Retrieval
The models are trained based on Alibaba-NLP/gte-large-en-v1.5 and Alibaba-NLP/gte-Qwen2-1.5B-instruct. Thanks for
their contributions!
We simplify usage of prompts, providing two prompts for most general tasks, one is for s2p, another one is for s2s.
Prompt of s2p task(e.g. retrieve task):
Instruct: Given a web search query, retrieve relevant passages that answer the query.\nQuery: {query}
Prompt of s2s task(e.g. semantic textual similarity task):
Instruct: Retrieve semantically similar text.\nQuery: {query}
The models are finally trained by MRL, so they have multiple dimensions: 512, 768, 1024, 2048, 4096, 6144 and 8192.
The higher the dimension, the better the performance. Generally speaking, 1024d is good enough. The MTEB score of 1024d is only 0.001 lower than 8192d.
The model directory structure is very simple, it is a standard SentenceTransformer directory with a series
of 2_Dense_{dims}
folders, where dims represents the final vector dimension.
For example, the 2_Dense_256 folder stores Linear weights that convert vector dimensions to 256 dimensions.
Please refer to the following chapters for specific instructions on how to use them.
You can use SentenceTransformers or transformers library to encode text.
from sentence_transformers import SentenceTransformer
# This model supports two prompts: "s2p_query" and "s2s_query" for sentence-to-passage and sentence-to-sentence tasks, respectively.
# They are defined in `config_sentence_transformers.json`
query_prompt_name = "s2p_query"
queries = [
"What are some ways to reduce stress?",
"What are the benefits of drinking green tea?",
]
# docs do not need any prompts
docs = [
"There are many effective ways to reduce stress. Some common techniques include deep breathing, meditation, and physical activity. Engaging in hobbies, spending time in nature, and connecting with loved ones can also help alleviate stress. Additionally, setting boundaries, practicing self-care, and learning to say no can prevent stress from building up.",
"Green tea has been consumed for centuries and is known for its potential health benefits. It contains antioxidants that may help protect the body against damage caused by free radicals. Regular consumption of green tea has been associated with improved heart health, enhanced cognitive function, and a reduced risk of certain types of cancer. The polyphenols in green tea may also have anti-inflammatory and weight loss properties.",
]
# !The default dimension is 1024, if you need other dimensions, please clone the model and modify `modules.json` to replace `2_Dense_1024` with another dimension, e.g. `2_Dense_256` or `2_Dense_8192` !
# on gpu
model = SentenceTransformer("dunzhang/stella_en_400M_v5", trust_remote_code=True).cuda()
# you can also use this model without the features of `use_memory_efficient_attention` and `unpad_inputs`. It can be worked in CPU.
# model = SentenceTransformer(
# "dunzhang/stella_en_400M_v5",
# trust_remote_code=True,
# device="cpu",
# config_kwargs={"use_memory_efficient_attention": False, "unpad_inputs": False}
# )
query_embeddings = model.encode(queries, prompt_name=query_prompt_name)
doc_embeddings = model.encode(docs)
print(query_embeddings.shape, doc_embeddings.shape)
# (2, 1024) (2, 1024)
similarities = model.similarity(query_embeddings, doc_embeddings)
print(similarities)
# tensor([[0.8398, 0.2990],
# [0.3282, 0.8095]])
import os
import torch
from transformers import AutoModel, AutoTokenizer
from sklearn.preprocessing import normalize
query_prompt = "Instruct: Given a web search query, retrieve relevant passages that answer the query.\nQuery: "
queries = [
"What are some ways to reduce stress?",
"What are the benefits of drinking green tea?",
]
queries = [query_prompt + query for query in queries]
# docs do not need any prompts
docs = [
"There are many effective ways to reduce stress. Some common techniques include deep breathing, meditation, and physical activity. Engaging in hobbies, spending time in nature, and connecting with loved ones can also help alleviate stress. Additionally, setting boundaries, practicing self-care, and learning to say no can prevent stress from building up.",
"Green tea has been consumed for centuries and is known for its potential health benefits. It contains antioxidants that may help protect the body against damage caused by free radicals. Regular consumption of green tea has been associated with improved heart health, enhanced cognitive function, and a reduced risk of certain types of cancer. The polyphenols in green tea may also have anti-inflammatory and weight loss properties.",
]
# The path of your model after cloning it
model_dir = "{Your MODEL_PATH}"
vector_dim = 1024
vector_linear_directory = f"2_Dense_{vector_dim}"
model = AutoModel.from_pretrained(model_dir, trust_remote_code=True).cuda().eval()
# you can also use this model without the features of `use_memory_efficient_attention` and `unpad_inputs`. It can be worked in CPU.
# model = AutoModel.from_pretrained(model_dir, trust_remote_code=True,use_memory_efficient_attention=False,unpad_inputs=False).cuda().eval()
tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)
vector_linear = torch.nn.Linear(in_features=model.config.hidden_size, out_features=vector_dim)
vector_linear_dict = {
k.replace("linear.", ""): v for k, v in
torch.load(os.path.join(model_dir, f"{vector_linear_directory}/pytorch_model.bin")).items()
}
vector_linear.load_state_dict(vector_linear_dict)
vector_linear.cuda()
# Embed the queries
withQuoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.
Benchmarks
As published on the model card: the maker's own numbers, not measured by AxForge.
| Task | Dataset | Metric | Score |
|---|---|---|---|
| Classification | MTEB AmazonCounterfactualClassification (en) | accuracy | 92.358 |
| Classification | MTEB AmazonCounterfactualClassification (en) | ap | 70.813 |
| Classification | MTEB AmazonCounterfactualClassification (en) | ap_weighted | 70.813 |
| Classification | MTEB AmazonCounterfactualClassification (en) | f1 | 88.951 |
| Classification | MTEB AmazonCounterfactualClassification (en) | f1_weighted | 92.686 |
| Classification | MTEB AmazonCounterfactualClassification (en) | main_score | 92.358 |
| Classification | MTEB AmazonPolarityClassification | accuracy | 97.195 |
| Classification | MTEB AmazonPolarityClassification | ap | 96.082 |
| Classification | MTEB AmazonPolarityClassification | ap_weighted | 96.082 |
| Classification | MTEB AmazonPolarityClassification | f1 | 97.194 |
| Classification | MTEB AmazonPolarityClassification | f1_weighted | 97.194 |
| Classification | MTEB AmazonPolarityClassification | main_score | 97.195 |
| Classification | MTEB AmazonReviewsClassification (en) | accuracy | 59.528 |
| Classification | MTEB AmazonReviewsClassification (en) | f1 | 59.210 |
| Classification | MTEB AmazonReviewsClassification (en) | f1_weighted | 59.210 |
| Classification | MTEB AmazonReviewsClassification (en) | main_score | 59.528 |
| Retrieval | MTEB ArguAna | main_score | 64.240 |
| Retrieval | MTEB ArguAna | map_at_1 | 40.398 |
| Retrieval | MTEB ArguAna | map_at_10 | 56.215 |
| Retrieval | MTEB ArguAna | map_at_100 | 56.834 |
| Retrieval | MTEB ArguAna | map_at_1000 | 56.835 |
| Retrieval | MTEB ArguAna | map_at_20 | 56.747 |
| Retrieval | MTEB ArguAna | map_at_3 | 52.181 |
| Retrieval | MTEB ArguAna | map_at_5 | 54.628 |