vectorizer.guava / README.md
claeyzre's picture
Update README.md
6193cfd verified
metadata
pipeline_tag: sentence-similarity
tags:
  - feature-extraction
  - sentence-similarity
language:
  - de
  - en
  - es
  - fr
  - it
  - nl
  - ja
  - pt
  - zh
  - pl

Model Card for vectorizer.guava

This model is a vectorizer developed by Sinequa. It produces an embedding vector given a passage or a query. The passage vectors are stored in our vector index and the query vector is used at query time to look up relevant passages in the index.

Model name: vectorizer.guava

Supported Languages

The model was trained and tested in the following languages:

  • English
  • French
  • German
  • Spanish
  • Italian
  • Dutch
  • Japanese
  • Portuguese
  • Chinese (simplified)
  • Chinese (traditional)
  • Polish

Besides these languages, basic support can be expected for additional 91 languages that were used during the pretraining of the base model (see Appendix A of XLM-R paper).

Scores

Metric Value
English Relevance (Recall@100) 0.616

Note that the relevance scores are computed as an average over several retrieval datasets (see details below).

Inference Times

GPU Quantization type Batch size 1 Batch size 32
NVIDIA A10 FP16 1 ms 5 ms
NVIDIA A10 FP32 2 ms 18 ms
NVIDIA T4 FP16 1 ms 12 ms
NVIDIA T4 FP32 3 ms 52 ms
NVIDIA L4 FP16 2 ms 5 ms
NVIDIA L4 FP32 4 ms 24 ms

Gpu Memory usage

Quantization type Memory
FP16 550 MiB
FP32 1050 MiB

Note that GPU memory usage only includes how much GPU memory the actual model consumes on an NVIDIA T4 GPU with a batch size of 32. It does not include the fix amount of memory that is consumed by the ONNX Runtime upon initialization which can be around 0.5 to 1 GiB depending on the used GPU.

Requirements

  • Minimal Sinequa version: 11.10.0
  • Minimal Sinequa version for using FP16 models and GPUs with CUDA compute capability of 8.9+ (like NVIDIA L4): 11.11.0
  • Cuda compute capability: above 5.0 (above 6.0 for FP16 use)

Model Details

Overview

  • Number of parameters: 107 million
  • Base language model: mMiniLMv2-L6-H384-distilled-from-XLMR-Large (Paper, GitHub)
  • Insensitive to casing and accents
  • Output dimensions: 256 (reduced with an additional dense layer)
  • Training procedure: Query-passage-negative triplets for datasets that have mined hard negative data, Query-passage pairs for the rest. Number of negatives is augmented with in-batch negative strategy

Training Data

The model have been trained using all datasets that are cited in the all-MiniLM-L6-v2 model. In addition to that, this model has been trained on the datasets cited in this paper on the first 9 aforementioned languages. It has also been trained on this dataset for polish capacities, and a translated version of msmarco-zh for traditional chinese capacities.

Evaluation Metrics

English

To determine the relevance score, we averaged the results that we obtained when evaluating on the datasets of the BEIR benchmark. Note that all these datasets are in English.

Dataset Recall@100
Average 0.616
Arguana 0.956
CLIMATE-FEVER 0.471
DBPedia Entity 0.379
FEVER 0.824
FiQA-2018 0.642
HotpotQA 0.579
MS MARCO 0.85
NFCorpus 0.289
NQ 0.765
Quora 0.993
SCIDOCS 0.467
SciFact 0.899
TREC-COVID 0.104
Webis-Touche-2020 0.407

Traditional Chinese

This model has traditional chinese capacities, that are being evaluated over the same dev set at msmarco-zh, translated in traditional chinese.

Dataset Recall@100
msmarco-zh-traditional 0.738

In comparison, raspberry scores a 0.693 on this dataset.

Other languages

We evaluated the model on the datasets of the MIRACL benchmark to test its multilingual capacities. Note that not all training languages are part of the benchmark, so we only report the metrics for the existing languages.

Language Recall@100
French 0.672
German 0.594
Spanish 0.632
Japanese 0.603
Chinese (simplified) 0.702