Instructions to use ethicalabs/Echo-DSRN-v0.1.3-Embed-Intent with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use ethicalabs/Echo-DSRN-v0.1.3-Embed-Intent with sentence-transformers:
from sentence_transformers import SentenceTransformer model = SentenceTransformer("ethicalabs/Echo-DSRN-v0.1.3-Embed-Intent", trust_remote_code=True) sentences = [ "The weather is lovely today.", "It's so sunny outside!", "He drove to the stadium." ] embeddings = model.encode(sentences) similarities = model.similarity(embeddings, embeddings) print(similarities.shape) # [3, 3] - Notebooks
- Google Colab
- Kaggle
Echo-DSRN-v0.1.3-Embed-Intent
98M-parameter multilingual intent classification embedding model based on the Echo-DSRN architecture (Dual-State Recurrent Neural Network) ◦ Recurrent Hybrid.
Fine-tuned from ethicalabs/Echo-DSRN-v0.1.3-Embed-Exp on Amazon MASSIVE across all 51 languages using MultipleNegativesRankingLoss (MNRL).
Model specs
| Property | Value |
|---|---|
| Architecture | Echo-DSRN (Recurrent Neural Network) |
| Parameters | 98,266,629 (~98M) |
| Layers | 8 DSRN blocks |
| Hidden dim | 512 |
| Attention heads | 4 |
| Vocab size | 32,017 tokens |
| Precision | fp32 |
| Base model | ethicalabs/Echo-DSRN-v0.1.3-Embed-Exp |
| GPU | AMD Radeon AI Pro R9700 (ROCm 7.2) |
MTEB Results
MassiveIntentClassification (60 intents, 51 languages)
| Metric | Score |
|---|---|
| Accuracy (mean) | 72.42% |
| Accuracy (min) | 62.98% |
| Accuracy (max) | 78.33% |
| F1 (mean) | 66.27% |
| F1 (min) | 56.52% |
| F1 (max) | 71.94% |
MassiveScenarioClassification (17 scenarios, 51 languages)
| Metric | Score |
|---|---|
| Accuracy (mean) | 79.00% |
| Accuracy (min) | 71.62% |
| Accuracy (max) | 84.30% |
| F1 (mean) | 78.28% |
| F1 (min) | 70.05% |
| F1 (max) | 84.08% |
Evaluated via MTEB v2.12.30 logistic regression protocol on frozen embeddings. Per-language scores available in the model-index metadata.
Training
- Base model:
ethicalabs/Echo-DSRN-v0.1.3-Embed-Exp(STS-pretrained, 0.753 avg Spearman on MTEB STS) - Dataset: Amazon MASSIVE, all 51 locales (~1M training utterances)
- Loss:
MultipleNegativesRankingLosswith intent-grouped positive pairs - Pooling:
mean_c_all(2048-dim recurrent slow state) - Convergence: Early stopping at epoch 1.2; linear accuracy gain (+2 pts/1k steps), no grokking plateau
- Random baseline: ~1.7% (60-class 1-NN)
Example Usage
from sentence_transformers import SentenceTransformer
model = SentenceTransformer("ethicalabs/Echo-DSRN-v0.1.3-Embed-Intent", trust_remote_code=True, device="cpu")
sentences = [
"Can I order a pizza?",
"I am so hungry. what about pizza?",
"I like spaghetti."
]
embeddings = model.encode(sentences)
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
Console output
torch.Size([3, 3])
>>> print(similarities)
tensor([[1.0000, 0.9333, 0.7381],
[0.9333, 1.0000, 0.8411],
[0.7381, 0.8411, 1.0000]])
Intent Vector Space Behavior
Here is what the model is actually doing under the hood for each pair:
Sim(0, 1) = 0.9333— Matching Actionable Intent- Sentence 0:
"Can I order a pizza?" - Sentence 1:
"I am so hungry. what about pizza?" - Analysis: Despite using completely different phrasing and syntax (one is a direct question, the other is a multi-sentence conversational prompt), the model maps them to nearly the same spot in vector space. The recurrent slow state identifies the underlying action (
order_food) and topic (pizza), yielding a massive 0.9333 correlation.
- Sentence 0:
Sim(0, 2) = 0.7381— Action vs. Statement Separation- Sentence 0:
"Can I order a pizza?" - Sentence 2:
"I like spaghetti." - Analysis: Notice the significant drop down to 0.7381. Even though both sentences live in the general domain of Italian food, the model correctly separates an actionable transactional request (
"Can I order...") from a static statement of personal preference ("I like..."). This is where the fine-tuning on the MASSIVE dataset withMultipleNegativesRankingLossshines: it prevents the model from relying purely on lexical topic overlap.
- Sentence 0:
Sim(1, 2) = 0.8411— Conversational Context- Sentence 1:
"I am so hungry. what about pizza?" - Sentence 2:
"I like spaghetti." - Analysis: This pair scores higher (0.8411) than (0, 2). Because Sentence 1 expresses a state/desire (
"I am so hungry"), its semantic profile sits naturally between an explicit ordering command and a preference statement.
- Sentence 1:
Citation
@software{echo_dsrn_embed_intent,
author = {Massimo Roberto Scamarcia},
title = {Echo-DSRN-v0.1.3-Embed-Intent: Multilingual Intent Classification Embeddings},
year = {2026},
url = {https://huggingface.co/Echo-DSRN-v0.1.3-Embed-Intent}
}
Note on tokenizer padding
The benchmark results on this card were measured with left padding
(padding_side: left), and this model version reproduces them under that
convention. A right-padded training version is planned: right padding keeps
padded-batch embeddings consistent with single-request embeddings (leading
pad tokens do not pollute the recurrent state), so future checkpoints will be
batch-composition independent.
- Downloads last month
- 367
Model tree for ethicalabs/Echo-DSRN-v0.1.3-Embed-Intent
Dataset used to train ethicalabs/Echo-DSRN-v0.1.3-Embed-Intent
Collection including ethicalabs/Echo-DSRN-v0.1.3-Embed-Intent
Evaluation results
- accuracy on MTEB MassiveIntentClassification (af)test set self-reported0.738
- f1 on MTEB MassiveIntentClassification (af)test set self-reported0.665
- accuracy on MTEB MassiveIntentClassification (am)test set self-reported0.685
- f1 on MTEB MassiveIntentClassification (am)test set self-reported0.614
- accuracy on MTEB MassiveIntentClassification (ar)test set self-reported0.669
- f1 on MTEB MassiveIntentClassification (ar)test set self-reported0.604
- accuracy on MTEB MassiveIntentClassification (az)test set self-reported0.743
- f1 on MTEB MassiveIntentClassification (az)test set self-reported0.683