CoolFace
Modelpublic

amgix/static-retrieval-multilingual-69m-v1

sourceHugging Faceapache-2.0updated 1mo agoView on Hugging Face
8likes482downloads
Model Card

static-retrieval-multilingual-69m-v1

This Model2Vec model is a distilled version of ibm-granite/granite-embedding-97m-multilingual-r2 trained for multilingual retrieval tasks. It uses static embeddings, allowing text embeddings to be computed orders of magnitude faster on both GPU and CPU. It is designed for applications where computational resources are limited or where real-time performance is critical.

Preliminary Metrics

Numbers for base model and popular static models are presented for context.

Model Info

**model****vocab x dims****params****Size on Disk**
ibm-granite/granite-embedding-97m-multilingual-r2179,936 x 38497M211M
potion-retrieval-32M63,091 x 51232.3M125M
potion-multilingual-128M500,353 x 256128.1M1003M
static-similarity-mrl-multilingual-v1105,879 x 1024108.4M417M
static-retrieval-multilingual-69m-v1179,936 x 38469.1M274M

Embedding Performance

This is measured on a small test: 5000 texts, 354 chars/doc, 34 chars/query, 4 CPU cores, best of 10 runs.

**model****docs/s****queries/s**
granite-embedding-97m-multilingual-r2769
potion-retrieval-32M843139632
potion-multilingual-128M514837727
static-similarity-mrl-multilingual-v1792437731
static-retrieval-multilingual-69m-v1897444456

NanoBEIR Multilingual Results

The scores below are averages per language by model. The best value among static models is highlighted.

NOTE: When looking at the scores below it's important to keep in mind that potion-retrieval-32M is an English model and two multilingual static models (potion-multilingual-128M and static-similarity-mrl-multilingual-v1) were not trained for retrieval.

**Language****granite-embedding-97m-multilingual-r2****potion-retrieval-32M****potion-multilingual-128M****static-similarity-mrl-multilingual-v1****static-retrieval-multilingual-69m-v1**
ara-Arab0.45890.09880.26920.28600.3458
deu-Latn0.53380.25370.32730.34540.4054
eng-Latn0.58810.51070.36960.43520.4700
fra-Latn0.53180.28280.34720.37020.4102
ita-Latn0.51760.27520.34010.36830.3837
jpn-Jpan0.49560.11420.30160.31900.3597
kor-Kore0.49270.11710.30460.27630.3023
nor-Latn0.48270.25320.31900.33140.3059
por-Latn0.51930.26820.33640.37430.3992
spa-Latn0.52950.25420.33690.37540.4145
swe-Latn0.49910.26740.31540.34080.3208
Average0.51360.24500.32430.34750.3743

RTEB

The best value in each test is highlighted.

**Test****Language****potion-retrieval-32M****potion-multilingual-128M****static-similarity-mrl-multilingual-v1****static-retrieval-multilingual-69m-v1**
AILACasedocseng-Latn0.21570.20370.22020.2231
AILAStatuteseng-Latn0.19010.15980.16630.2100
AppsRetrievaleng-Latn, python-Code0.04310.03660.01270.0321
ChatDoctorRetrievaleng-Latn0.24700.13620.15350.2443
CUREv1eng-Latn, eng-Latn0.30190.21520.25480.2984
fra-Latn, eng-Latn0.06390.13250.17160.1694
spa-Latn, eng-Latn0.02760.13590.16150.1678
DS1000Retrievaleng-Latn, python-Code0.23300.20370.20830.1595
FinanceBenchRetrievaleng-Latn0.35710.26260.28290.2580
FinQARetrievaleng-Latn0.49050.43950.40960.4067
FreshStackRetrievaleng-Latn, python-Code, javascript-Code, go-Code0.20050.17250.16540.1773
HC3FinanceRetrievaleng-Latn0.27010.19520.20250.3653
HumanEvalRetrievaleng-Latn, python-Code0.42710.37380.34610.3398
LegalQuADdeu-Latn0.39170.43260.41100.3707
LegalSummarizationeng-Latn0.54730.52860.54960.5378
MBPPRetrievaleng-Latn, python-Code0.25850.24640.26240.2156
MIRACLRetrievalHardNegativesara-Arab0.04130.16570.19710.3515
ben-Beng0.01680.23880.21180.4738
deu-Latn0.10510.12680.15940.2459
eng-Latn0.26580.13910.18740.2446
fas-Arab0.02590.14640.16420.2909
fin-Latn0.22430.15010.26270.4206
fra-Latn0.09360.20270.14920.2307
hin-Deva0.02810.17730.17100.3357
ind-Latn0.13170.21740.18710.3355
jpn-Jpan0.05010.12610.17900.2826
kor-Kore0.08980.11780.24050.3905
rus-Cyrl0.02460.22990.16810.2592
spa-Latn0.13170.18380.21100.2701
swa-Latn0.17400.14780.23190.5065
tel-Telu0.00040.26280.10980.4842
tha-Thai0.00830.25770.01490.4425
yor-Latn0.28110.28530.36730.3509
zho-Hans0.02900.17420.17900.2497
SWEbenchCodeRetrievaleng-Latn, python-Code0.02880.02430.02550.0227
WikiSQLRetrievaleng-Latn, sql-Code0.34650.17590.15120.1834
Average0.15600.18580.20340.2561

Training

StageDetails
Base modelibm-granite/granite-embedding-97m-multilingual-r2
Pre-TrainingC4. 101 languages: 'af', 'am', 'ar', 'az', 'be', 'bg', 'bg-Latn', 'bn', 'ca', 'ceb', 'co', 'cs', 'cy', 'da', 'de', 'el', 'el-Latn', 'en', 'eo', 'es', 'et', 'eu', 'fa', 'fi', 'fil', 'fr', 'fy', 'ga', 'gd', 'gl', 'gu', 'ha', 'haw', 'hi', 'hi-Latn', 'hmn', 'ht', 'hu', 'hy', 'id', 'ig', 'is', 'it', 'iw', 'ja', 'ja-Latn', 'jv', 'ka', 'kk', 'km', 'kn', 'ko', 'ku', 'ky', 'la', 'lb', 'lo', 'lt', 'lv', 'mg', 'mi', 'mk', 'ml', 'mn', 'mr', 'ms', 'mt', 'my', 'ne', 'nl', 'no', 'ny', 'pa', 'pl', 'ps', 'pt', 'ro', 'ru', 'ru-Latn', 'sd', 'si', 'sk', 'sl', 'sm', 'sn', 'so', 'sq', 'sr', 'st', 'su', 'sv', 'sw', 'ta', 'te', 'tg', 'th', 'tr', 'uk', 'ur', 'uz', 'vi', 'xh', 'yi', 'yo', 'zh', 'zh-Latn', 'zu'
Fine-TuningmMARCO ("arabic", "chinese", "dutch", "english", "french", "german", "hindi", "indonesian", "italian", "japanese", "portuguese", "russian", "spanish", "vietnamese"), GooAQ, S2ORC, Free-Law-Project/opinions-synthetic-query-512, FIQA, MIRACL ('ar', 'bn', 'en', 'es', 'fa', 'fi', 'fr', 'hi', 'id', 'ja', 'ko', 'ru', 'sw', 'te', 'th', 'zh')

Installation

Install model2vec using pip:

pip install model2vec

Usage

Using Model2Vec

The Model2Vec library is the fastest and most lightweight way to run Model2Vec models.

Load this model using the from_pretrained method:

python
from model2vec import StaticModel

# Load a pretrained Model2Vec model
model = StaticModel.from_pretrained("amgix/static-retrieval-multilingual-69m-v1")

# Compute text embeddings
embeddings = model.encode(["Example sentence"])

Using Sentence Transformers

You can also use the Sentence Transformers library to load and use the model:

python
from sentence_transformers import SentenceTransformer

# Load a pretrained Sentence Transformer model
model = SentenceTransformer("amgix/static-retrieval-multilingual-69m-v1")

# Compute text embeddings
embeddings = model.encode(["Example sentence"])

Additional Resources