Model reference · open weights
bilingual-embedding-large is an open-weight embedding model from Lajavaness. AxForge deploys and operates it for you on dedicated EU-owned hardware — with the licence handled where one is required.
Available as managed deployment — configured and operated for you on dedicated EU hardware, quoted per deployment.
What it is
| Released by | Lajavaness |
|---|---|
| Type | Embedding models |
| Task | Embeddings |
| Parameters (lead) | 560M |
| Context | 514 tokens |
| Runs with | sentence-transformers |
| Released | 2024-06-24 |
| Popularity | 11k downloads / month |
| Licence | Open weights |
About
Bilingual-embedding is the Embedding Model for bilingual language: french and english. This model is a specialized sentence-embedding trained specifically for the bilingual language, leveraging the robust capabilities of XLM-RoBERTa, a pre-trained language model based on the XLM-RoBERTa architecture. The model utilizes xlm-roberta to encode english-french sentences into a 1024-dimensional vector space, facilitating a wide range of applications from semantic search to text clustering. The embeddings capture the nuanced meanings of english-french sentences, reflecting both the lexical and contextual layers of the language.
SentenceTransformer(
(0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BilingualModel
(1): Pooling({'word_embedding_dimension': 1024, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
(2): Normalize()
)
Using this model becomes easy when you have sentence-transformers installed:
pip install -U sentence-transformers
Then you can use the model like this:
from sentence_transformers import SentenceTransformer
sentences = ["Paris est une capitale de la France", "Paris is a capital of France"]
model = SentenceTransformer('Lajavaness/bilingual-embedding-large', trust_remote_code=True)
print(embeddings)
TODO
@article{conneau2019unsupervised,
title={Unsupervised cross-lingual representation learning at scale},
author={Conneau, Alexis and Khandelwal, Kartikay and Goyal, Naman and Chaudhary, Vishrav and Wenzek, Guillaume and Guzm{\'a}n, Francisco and Grave, Edouard and Ott, Myle and Zettlemoyer, Luke and Stoyanov, Veselin},
journal={arXiv preprint arXiv:1911.02116},
year={2019}
}
@article{reimers2019sentence,
title={Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks},
author={Nils Reimers, Iryna Gurevych},
journal={https://arxiv.org/abs/1908.10084},
year={2019}
}
@article{thakur2020augmented,
title={Augmented SBERT: Data Augmentation Method for Improving Bi-Encoders for Pairwise Sentence Scoring Tasks},
author={Thakur, Nandan and Reimers, Nils and Daxenberger, Johannes and Gurevych, Iryna},
journal={arXiv e-prints},
pages={arXiv--2010},
year={2020}From the published model card. Full card on the HuggingFace links in the sidebar.
Benchmarks
As published on the model card — the maker's own numbers, not measured by AxForge.
| Task | Dataset | Metric | Score |
|---|---|---|---|
| Clustering | MTEB AlloProfClusteringP2P | v_measure | 65.300 |
| Clustering | MTEB AlloProfClusteringP2P | v_measures | |
| Clustering | MTEB AlloProfClusteringS2S | v_measure | 55.368 |
| Clustering | MTEB AlloProfClusteringS2S | v_measures | |
| Reranking | MTEB AlloprofReranking | map | 73.631 |
| Reranking | MTEB AlloprofReranking | mrr | 74.697 |
| Reranking | MTEB AlloprofReranking | nAUC_map_diff1 | 56.611 |
| Reranking | MTEB AlloprofReranking | nAUC_map_max | 21.353 |
| Reranking | MTEB AlloprofReranking | nAUC_mrr_diff1 | 55.983 |
| Reranking | MTEB AlloprofReranking | nAUC_mrr_max | 22.297 |
| Retrieval | MTEB AlloprofRetrieval | map_at_1 | 30.009 |
| Retrieval | MTEB AlloprofRetrieval | map_at_10 | 41.563 |
| Retrieval | MTEB AlloprofRetrieval | map_at_100 | 42.499 |
| Retrieval | MTEB AlloprofRetrieval | map_at_1000 | 42.541 |
| Retrieval | MTEB AlloprofRetrieval | map_at_20 | 42.142 |
| Retrieval | MTEB AlloprofRetrieval | map_at_3 | 38.443 |
| Retrieval | MTEB AlloprofRetrieval | map_at_5 | 40.230 |
| Retrieval | MTEB AlloprofRetrieval | mrr_at_1 | 30.009 |
| Retrieval | MTEB AlloprofRetrieval | mrr_at_10 | 41.563 |
| Retrieval | MTEB AlloprofRetrieval | mrr_at_100 | 42.499 |
| Retrieval | MTEB AlloprofRetrieval | mrr_at_1000 | 42.541 |
| Retrieval | MTEB AlloprofRetrieval | mrr_at_20 | 42.142 |
| Retrieval | MTEB AlloprofRetrieval | mrr_at_3 | 38.443 |
| Retrieval | MTEB AlloprofRetrieval | mrr_at_5 | 40.230 |
Using it via the API
Once AxForge deploys bilingual-embedding-large for you, it answers on the OpenAI-compatible API — the same base URL and keys as every other model. (bilingual-embedding-large below is illustrative; you get the exact model name on deployment.)
$ curl -sS https://api.axforge.ai/v1/embeddings \
-H "Authorization: Bearer $AXFORGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"bilingual-embedding-large","input":"text to embed"}'
Create an account — your API key is available in the console. 3M free tokens every 30 days with every new account.