Text Ranking
sentence-transformers
PyTorch
JAX
ONNX
Safetensors
OpenVINO
Transformers
English
bert
text-classification
text-embeddings-inference
Instructions to use itme-brain/ms-marco-MiniLM-L4-v2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- sentence-transformers
How to use itme-brain/ms-marco-MiniLM-L4-v2 with sentence-transformers:
from sentence_transformers import CrossEncoder model = CrossEncoder("itme-brain/ms-marco-MiniLM-L4-v2") query = "Which planet is known as the Red Planet?" passages = [ "Venus is often called Earth's twin because of its similar size and proximity.", "Mars, known for its reddish appearance, is often referred to as the Red Planet.", "Jupiter, the largest planet in our solar system, has a prominent red spot.", "Saturn, famous for its rings, is sometimes mistaken for the Red Planet." ] scores = model.predict([(query, passage) for passage in passages]) print(scores) - Transformers
How to use itme-brain/ms-marco-MiniLM-L4-v2 with Transformers:
# Load model directly from transformers import AutoTokenizer, AutoModelForSequenceClassification tokenizer = AutoTokenizer.from_pretrained("itme-brain/ms-marco-MiniLM-L4-v2") model = AutoModelForSequenceClassification.from_pretrained("itme-brain/ms-marco-MiniLM-L4-v2") - Notebooks
- Google Colab
- Kaggle
Commit ·
3558610
0
Parent(s):
Duplicate from cross-encoder/ms-marco-MiniLM-L4-v2
Browse filesCo-authored-by: naruto bruto <narutoelbruto@users.noreply.huggingface.co>
- .gitattributes +18 -0
- README.md +80 -0
- config.json +31 -0
- flax_model.msgpack +3 -0
- model.safetensors +3 -0
- onnx/model.onnx +3 -0
- onnx/model_O1.onnx +3 -0
- onnx/model_O2.onnx +3 -0
- onnx/model_O3.onnx +3 -0
- onnx/model_O4.onnx +3 -0
- onnx/model_qint8_arm64.onnx +3 -0
- onnx/model_qint8_avx512.onnx +3 -0
- onnx/model_qint8_avx512_vnni.onnx +3 -0
- onnx/model_quint8_avx2.onnx +3 -0
- openvino/openvino_model.bin +3 -0
- openvino/openvino_model.xml +0 -0
- openvino/openvino_model_qint8_quantized.bin +3 -0
- openvino/openvino_model_qint8_quantized.xml +0 -0
- pytorch_model.bin +3 -0
- special_tokens_map.json +7 -0
- tokenizer.json +0 -0
- tokenizer_config.json +58 -0
- vocab.txt +0 -0
.gitattributes
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
*.bin.* filter=lfs diff=lfs merge=lfs -text
|
| 2 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
| 3 |
+
*.bin filter=lfs diff=lfs merge=lfs -text
|
| 4 |
+
*.h5 filter=lfs diff=lfs merge=lfs -text
|
| 5 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
| 6 |
+
*.tar.gz filter=lfs diff=lfs merge=lfs -text
|
| 7 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
| 8 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
| 9 |
+
*.arrow filter=lfs diff=lfs merge=lfs -text
|
| 10 |
+
*.ftz filter=lfs diff=lfs merge=lfs -text
|
| 11 |
+
*.joblib filter=lfs diff=lfs merge=lfs -text
|
| 12 |
+
*.model filter=lfs diff=lfs merge=lfs -text
|
| 13 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
| 14 |
+
*.pb filter=lfs diff=lfs merge=lfs -text
|
| 15 |
+
*.pt filter=lfs diff=lfs merge=lfs -text
|
| 16 |
+
*.pth filter=lfs diff=lfs merge=lfs -text
|
| 17 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
| 18 |
+
model.safetensors filter=lfs diff=lfs merge=lfs -text
|
README.md
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
datasets:
|
| 4 |
+
- sentence-transformers/msmarco
|
| 5 |
+
language:
|
| 6 |
+
- en
|
| 7 |
+
base_model:
|
| 8 |
+
- cross-encoder/ms-marco-MiniLM-L12-v2
|
| 9 |
+
pipeline_tag: text-ranking
|
| 10 |
+
library_name: sentence-transformers
|
| 11 |
+
tags:
|
| 12 |
+
- transformers
|
| 13 |
+
---
|
| 14 |
+
# Cross-Encoder for MS Marco
|
| 15 |
+
|
| 16 |
+
This model was trained on the [MS Marco Passage Ranking](https://github.com/microsoft/MSMARCO-Passage-Ranking) task.
|
| 17 |
+
|
| 18 |
+
The model can be used for Information Retrieval: Given a query, encode the query will all possible passages (e.g. retrieved with ElasticSearch). Then sort the passages in a decreasing order. See [SBERT.net Retrieve & Re-rank](https://www.sbert.net/examples/applications/retrieve_rerank/README.html) for more details. The training code is available here: [SBERT.net Training MS Marco](https://github.com/UKPLab/sentence-transformers/tree/master/examples/cross_encoder/training/ms_marco)
|
| 19 |
+
|
| 20 |
+
|
| 21 |
+
## Usage with SentenceTransformers
|
| 22 |
+
|
| 23 |
+
The usage is easy when you have [SentenceTransformers](https://www.sbert.net/) installed. Then you can use the pre-trained models like this:
|
| 24 |
+
```python
|
| 25 |
+
from sentence_transformers import CrossEncoder
|
| 26 |
+
|
| 27 |
+
model = CrossEncoder('cross-encoder/ms-marco-MiniLM-L4-v2')
|
| 28 |
+
scores = model.predict([
|
| 29 |
+
("How many people live in Berlin?", "Berlin had a population of 3,520,031 registered inhabitants in an area of 891.82 square kilometers."),
|
| 30 |
+
("How many people live in Berlin?", "Berlin is well known for its museums."),
|
| 31 |
+
])
|
| 32 |
+
print(scores)
|
| 33 |
+
# [ 9.1273365 -4.569759 ]
|
| 34 |
+
```
|
| 35 |
+
|
| 36 |
+
|
| 37 |
+
## Usage with Transformers
|
| 38 |
+
|
| 39 |
+
```python
|
| 40 |
+
from transformers import AutoTokenizer, AutoModelForSequenceClassification
|
| 41 |
+
import torch
|
| 42 |
+
|
| 43 |
+
model = AutoModelForSequenceClassification.from_pretrained('cross-encoder/ms-marco-MiniLM-L4-v2')
|
| 44 |
+
tokenizer = AutoTokenizer.from_pretrained('cross-encoder/ms-marco-MiniLM-L4-v2')
|
| 45 |
+
|
| 46 |
+
features = tokenizer(['How many people live in Berlin?', 'How many people live in Berlin?'], ['Berlin has a population of 3,520,031 registered inhabitants in an area of 891.82 square kilometers.', 'New York City is famous for the Metropolitan Museum of Art.'], padding=True, truncation=True, return_tensors="pt")
|
| 47 |
+
|
| 48 |
+
model.eval()
|
| 49 |
+
with torch.no_grad():
|
| 50 |
+
scores = model(**features).logits
|
| 51 |
+
print(scores)
|
| 52 |
+
```
|
| 53 |
+
|
| 54 |
+
|
| 55 |
+
## Performance
|
| 56 |
+
In the following table, we provide various pre-trained Cross-Encoders together with their performance on the [TREC Deep Learning 2019](https://microsoft.github.io/TREC-2019-Deep-Learning/) and the [MS Marco Passage Reranking](https://github.com/microsoft/MSMARCO-Passage-Ranking/) dataset.
|
| 57 |
+
|
| 58 |
+
|
| 59 |
+
| Model-Name | NDCG@10 (TREC DL 19) | MRR@10 (MS Marco Dev) | Docs / Sec |
|
| 60 |
+
| ------------- |:-------------| -----| --- |
|
| 61 |
+
| **Version 2 models** | | |
|
| 62 |
+
| cross-encoder/ms-marco-TinyBERT-L2-v2 | 69.84 | 32.56 | 9000
|
| 63 |
+
| cross-encoder/ms-marco-MiniLM-L2-v2 | 71.01 | 34.85 | 4100
|
| 64 |
+
| cross-encoder/ms-marco-MiniLM-L4-v2 | 73.04 | 37.70 | 2500
|
| 65 |
+
| cross-encoder/ms-marco-MiniLM-L6-v2 | 74.30 | 39.01 | 1800
|
| 66 |
+
| cross-encoder/ms-marco-MiniLM-L12-v2 | 74.31 | 39.02 | 960
|
| 67 |
+
| **Version 1 models** | | |
|
| 68 |
+
| cross-encoder/ms-marco-TinyBERT-L2 | 67.43 | 30.15 | 9000
|
| 69 |
+
| cross-encoder/ms-marco-TinyBERT-L4 | 68.09 | 34.50 | 2900
|
| 70 |
+
| cross-encoder/ms-marco-TinyBERT-L6 | 69.57 | 36.13 | 680
|
| 71 |
+
| cross-encoder/ms-marco-electra-base | 71.99 | 36.41 | 340
|
| 72 |
+
| **Other models** | | |
|
| 73 |
+
| nboost/pt-tinybert-msmarco | 63.63 | 28.80 | 2900
|
| 74 |
+
| nboost/pt-bert-base-uncased-msmarco | 70.94 | 34.75 | 340
|
| 75 |
+
| nboost/pt-bert-large-msmarco | 73.36 | 36.48 | 100
|
| 76 |
+
| Capreolus/electra-base-msmarco | 71.23 | 36.89 | 340
|
| 77 |
+
| amberoad/bert-multilingual-passage-reranking-msmarco | 68.40 | 35.54 | 330
|
| 78 |
+
| sebastian-hofstaetter/distilbert-cat-margin_mse-T2-msmarco | 72.82 | 37.88 | 720
|
| 79 |
+
|
| 80 |
+
Note: Runtime was computed on a V100 GPU.
|
config.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"_name_or_path": "cross-encoder/ms-marco-MiniLM-L-12-v2",
|
| 3 |
+
"architectures": [
|
| 4 |
+
"BertForSequenceClassification"
|
| 5 |
+
],
|
| 6 |
+
"attention_probs_dropout_prob": 0.1,
|
| 7 |
+
"gradient_checkpointing": false,
|
| 8 |
+
"hidden_act": "gelu",
|
| 9 |
+
"hidden_dropout_prob": 0.1,
|
| 10 |
+
"hidden_size": 384,
|
| 11 |
+
"id2label": {
|
| 12 |
+
"0": "LABEL_0"
|
| 13 |
+
},
|
| 14 |
+
"initializer_range": 0.02,
|
| 15 |
+
"intermediate_size": 1536,
|
| 16 |
+
"label2id": {
|
| 17 |
+
"LABEL_0": 0
|
| 18 |
+
},
|
| 19 |
+
"layer_norm_eps": 1e-12,
|
| 20 |
+
"max_position_embeddings": 512,
|
| 21 |
+
"model_type": "bert",
|
| 22 |
+
"num_attention_heads": 12,
|
| 23 |
+
"num_hidden_layers": 4,
|
| 24 |
+
"pad_token_id": 0,
|
| 25 |
+
"position_embedding_type": "absolute",
|
| 26 |
+
"transformers_version": "4.4.2",
|
| 27 |
+
"type_vocab_size": 2,
|
| 28 |
+
"use_cache": true,
|
| 29 |
+
"vocab_size": 30522,
|
| 30 |
+
"sbert_ce_default_activation_function": "torch.nn.modules.linear.Identity"
|
| 31 |
+
}
|
flax_model.msgpack
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:6696cd546b6959985a1727285986b9d09737576e9b3f93e8dc4fdf1f42681939
|
| 3 |
+
size 76661362
|
model.safetensors
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:3db1c98132b54901976d6da56fa711756c7780a6263d5db8f336232584f5fe58
|
| 3 |
+
size 76671186
|
onnx/model.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:be236c7578579650f5eb69e6c7c79dc8a5af985dc585d98aafd9c0d3c0abcd20
|
| 3 |
+
size 76767292
|
onnx/model_O1.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:45b021acb95174d24f934e026c9d434ea7c84e6625ec665f71f8a87710abfacc
|
| 3 |
+
size 76734508
|
onnx/model_O2.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:4ca7ed6294c51ac55ae58a54f07670f04a75ac34b6e3fa83b3ada9cda88d5a5c
|
| 3 |
+
size 76676531
|
onnx/model_O3.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:a969f82ecdc474a4027cb9e7dd73c60a3454cd8585c2c0c83d104c40162934d3
|
| 3 |
+
size 76676489
|
onnx/model_O4.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:89a50b9276ab49a4217815a2f091d4115f72ecb0891cc8339f7afbef95be4a2d
|
| 3 |
+
size 38392586
|
onnx/model_qint8_arm64.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2e3e3db7950be6eb9abd7b689a8b994b7ceef1c76d9deca748ef7298533afa3a
|
| 3 |
+
size 19497383
|
onnx/model_qint8_avx512.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2e3e3db7950be6eb9abd7b689a8b994b7ceef1c76d9deca748ef7298533afa3a
|
| 3 |
+
size 19497383
|
onnx/model_qint8_avx512_vnni.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:2e3e3db7950be6eb9abd7b689a8b994b7ceef1c76d9deca748ef7298533afa3a
|
| 3 |
+
size 19497383
|
onnx/model_quint8_avx2.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:74118ad9ab2b17990c40f03085a91f131339bb3a6d629e96507a6dbf063dae3d
|
| 3 |
+
size 19497383
|
openvino/openvino_model.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:c98398f19870207c26da0fbe0d381ce4221ac4c225bd15b9caf48093a2eb3a73
|
| 3 |
+
size 76662944
|
openvino/openvino_model.xml
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
openvino/openvino_model_qint8_quantized.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:026119caa48e8080a5dd81b7de4a49050718c807c0fa6f2714e2a150244891b6
|
| 3 |
+
size 19459556
|
openvino/openvino_model_qint8_quantized.xml
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
pytorch_model.bin
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:943560a8b409a98f7b1addf7f93d0c09efb2a3027daa12680ab3cf07b7298fe7
|
| 3 |
+
size 76693769
|
special_tokens_map.json
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"cls_token": "[CLS]",
|
| 3 |
+
"mask_token": "[MASK]",
|
| 4 |
+
"pad_token": "[PAD]",
|
| 5 |
+
"sep_token": "[SEP]",
|
| 6 |
+
"unk_token": "[UNK]"
|
| 7 |
+
}
|
tokenizer.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
tokenizer_config.json
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"added_tokens_decoder": {
|
| 3 |
+
"0": {
|
| 4 |
+
"content": "[PAD]",
|
| 5 |
+
"lstrip": false,
|
| 6 |
+
"normalized": false,
|
| 7 |
+
"rstrip": false,
|
| 8 |
+
"single_word": false,
|
| 9 |
+
"special": true
|
| 10 |
+
},
|
| 11 |
+
"100": {
|
| 12 |
+
"content": "[UNK]",
|
| 13 |
+
"lstrip": false,
|
| 14 |
+
"normalized": false,
|
| 15 |
+
"rstrip": false,
|
| 16 |
+
"single_word": false,
|
| 17 |
+
"special": true
|
| 18 |
+
},
|
| 19 |
+
"101": {
|
| 20 |
+
"content": "[CLS]",
|
| 21 |
+
"lstrip": false,
|
| 22 |
+
"normalized": false,
|
| 23 |
+
"rstrip": false,
|
| 24 |
+
"single_word": false,
|
| 25 |
+
"special": true
|
| 26 |
+
},
|
| 27 |
+
"102": {
|
| 28 |
+
"content": "[SEP]",
|
| 29 |
+
"lstrip": false,
|
| 30 |
+
"normalized": false,
|
| 31 |
+
"rstrip": false,
|
| 32 |
+
"single_word": false,
|
| 33 |
+
"special": true
|
| 34 |
+
},
|
| 35 |
+
"103": {
|
| 36 |
+
"content": "[MASK]",
|
| 37 |
+
"lstrip": false,
|
| 38 |
+
"normalized": false,
|
| 39 |
+
"rstrip": false,
|
| 40 |
+
"single_word": false,
|
| 41 |
+
"special": true
|
| 42 |
+
}
|
| 43 |
+
},
|
| 44 |
+
"clean_up_tokenization_spaces": true,
|
| 45 |
+
"cls_token": "[CLS]",
|
| 46 |
+
"do_basic_tokenize": true,
|
| 47 |
+
"do_lower_case": true,
|
| 48 |
+
"extra_special_tokens": {},
|
| 49 |
+
"mask_token": "[MASK]",
|
| 50 |
+
"model_max_length": 512,
|
| 51 |
+
"never_split": null,
|
| 52 |
+
"pad_token": "[PAD]",
|
| 53 |
+
"sep_token": "[SEP]",
|
| 54 |
+
"strip_accents": null,
|
| 55 |
+
"tokenize_chinese_chars": true,
|
| 56 |
+
"tokenizer_class": "BertTokenizer",
|
| 57 |
+
"unk_token": "[UNK]"
|
| 58 |
+
}
|
vocab.txt
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|