---
language:
- multilingual
- fr
- de
- zh
- ru
- pl
- es
- it
- ja
- ar
- hi
- pt
- nl
license: mit
tags:
- sentence-transformers
- cross-encoder
- reranker
- generated_from_trainer
- dataset_size:9358
- loss:LambdaLoss
base_model: jhu-clsp/mmBERT-small
datasets:
- Antix5/Product_Similarity_Dataset
pipeline_tag: text-ranking
library_name: sentence-transformers
metrics:
- map
- mrr@10
- ndcg@10
model-index:
- name: mmBERT-small reranker (LambdaLoss NDCG2++)
results:
- task:
type: cross-encoder-reranking
name: Cross Encoder Reranking
dataset:
name: rerank
type: rerank
metrics:
- type: map
value: 0.9562
name: Map
- type: mrr@10
value: 0.9561
name: Mrr@10
- type: ndcg@10
value: 0.9656
name: Ndcg@10
---
# mmBERT-small reranker (LambdaLoss NDCG2++)
This is a [Cross Encoder](https://www.sbert.net/docs/cross_encoder/usage/usage.html) model finetuned from [jhu-clsp/mmBERT-small](https://huggingface.co/jhu-clsp/mmBERT-small) on the [product_similarity_dataset](https://huggingface.co/datasets/Antix5/Product_Similarity_Dataset) dataset using the [sentence-transformers](https://www.SBERT.net) library. It computes scores for pairs of texts, which can be used for text reranking and semantic search.
## Model Details
### Model Description
- **Model Type:** Cross Encoder
- **Base model:** [jhu-clsp/mmBERT-small](https://huggingface.co/jhu-clsp/mmBERT-small)
- **Maximum Sequence Length:** 256 tokens
- **Number of Output Labels:** 1 label
- **Training Dataset:**
- [product_similarity_dataset](https://huggingface.co/datasets/Antix5/Product_Similarity_Dataset)
- **Languages:** multilingual, fr, de, zh, ru, pl, es, it, ja, ar, hi, pt, nl
- **License:** mit
### Model Sources
- **Documentation:** [Sentence Transformers Documentation](https://sbert.net)
- **Documentation:** [Cross Encoder Documentation](https://www.sbert.net/docs/cross_encoder/usage/usage.html)
- **Repository:** [Sentence Transformers on GitHub](https://github.com/UKPLab/sentence-transformers)
- **Hugging Face:** [Cross Encoders on Hugging Face](https://huggingface.co/models?library=sentence-transformers&other=cross-encoder)
**Warning : This model is just starting training, this is just a checkpoint**
## Usage
### Direct Usage (Sentence Transformers)
First install the Sentence Transformers library:
```bash
pip install -U sentence-transformers
```
Then you can load this model and run inference.
```python
from sentence_transformers import CrossEncoder
# Download from the 🤗 Hub
model = CrossEncoder("Antix5/product-reranker-mmBERT-small")
# Get scores for pairs of texts
pairs = [
['Milk Belgian Chocolate', 'Milk Chocolate Flavor'],
]
scores = model.predict(pairs)
print(scores.shape)
# (3,)
# Or rank different texts based on similarity to a single text
ranks = model.rank(
'70 % Cacao Dark Chocolate With Coconut',
[
'DRK CHCLT BAR, COCONUT',
'Coconut Cream Filled Dark Chocolate',
'Blueberry & Dark Chocolate With Chia',
]
)
# [{'corpus_id': ..., 'score': ...}, {'corpus_id': ..., 'score': ...}, ...]
```
## Evaluation
### Metrics
#### Cross Encoder Reranking
* Dataset: `rerank`
* Evaluated with [CrossEncoderRerankingEvaluator](https://sbert.net/docs/package_reference/cross_encoder/evaluation.html#sentence_transformers.cross_encoder.evaluation.CrossEncoderRerankingEvaluator) with these parameters:
```json
{
"at_k": 10,
"always_rerank_positives": false
}
```
| Metric | Value |
|:------------|:---------------------|
| map | 0.9562 (-0.0359) |
| mrr@10 | 0.9561 (-0.0385) |
| **ndcg@10** | **0.9656 (-0.0291)** |
## Training Details
### Training Dataset
#### product_similarity_dataset
* Dataset: [product_similarity_dataset](https://huggingface.co/datasets/Antix5/Product_Similarity_Dataset) at [7aba3ef](https://huggingface.co/datasets/Antix5/Product_Similarity_Dataset/tree/7aba3ef7a1d4bb067b26c4cafb376f7447850314)
* Size: 9,358 training samples
* Columns: query, documents, and scores
* Approximate statistics based on the first 1000 samples:
| | query | documents | scores |
|:--------|:-----------------------------------------------------------------------------------------------|:------------------------------------|:------------------------------------|
| type | string | list | list |
| details |
Premier 26764 Car Spinner, Santa, 25 by 19-1/2-Inch | ['Premier 26764 Tourbillon pour voiture, Santa, 25 x 19-1/2 pouces', 'BNTS, ЧИПСЫ ИЗ ФАСОЛИ NV И МОРСКАЯ СОЛЬ', 'Beanitos, Чипс из фасоли navy, Сыр на чо', 'K2 स्केट व्हील (4 का पैक)', 'BLST BALL МЯЧ ДЛЯ КИКА (2 ШТ.)', ...] | [1.0, 0.0, 0.0, 0.0, 0.0, ...] |
| Juice Cocktail Blend From Concentrate, Apple Blueberry | ['Mélange de cocktail de jus à base de concentré, pomme myrtille', 'Orange Juice From Concentrate With Pulp', 'Tropical Juice Splash From Concentrate', 'BLUEBERRY JUICE DRNK', 'APPLE NECTAR JUICE DRINK FROM CNCNTRT', ...] | [1.0, 0.4, 0.35, 0.65, 0.55, ...] |
| Fruity Sour Strips Fruit-Flavored Chewy Candy | ['Fruity Sour Strips Fruit-Flavored Chewy Candy', 'SR CANDIES, FRUIT SOUR', 'Fruit Candy, Fruit', 'FRT SNCK TUTTI FRUITY', 'Fruit Strips, Peach Passion', ...] | [1.0, 0.95, 0.7, 0.55, 0.9, ...] |
* Loss: [LambdaLoss](https://sbert.net/docs/package_reference/cross_encoder/losses.html#lambdaloss) with these parameters:
```json
{
"weighting_scheme": "sentence_transformers.cross_encoder.losses.LambdaLoss.NDCGLoss2PPScheme",
"k": null,
"sigma": 1.0,
"eps": 1e-10,
"reduction_log": "binary",
"activation_fn": "torch.nn.modules.linear.Identity",
"mini_batch_size": null
}
```
### Training Hyperparameters
#### Non-Default Hyperparameters
- `eval_strategy`: steps
- `learning_rate`: 2e-05
- `num_train_epochs`: 1
- `warmup_ratio`: 0.1
- `fp16`: True
- `load_best_model_at_end`: True
- `gradient_checkpointing`: True
#### All Hyperparameters