From 3e46b26dec910ce49b81f23ecacba9d8663f7553 Mon Sep 17 00:00:00 2001 From: Pringled Date: Wed, 2 Oct 2024 20:11:58 +0200 Subject: [PATCH 1/4] Updated results --- README.md | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 1a1d0a2..1321ee7 100644 --- a/README.md +++ b/README.md @@ -231,13 +231,16 @@ print(make_leaderboard(task_scores)) Model2Vec is evaluated on MTEB, as well as two additional tasks: [PEARL](https://github.com/tigerchen52/PEARL) (a phrase representation task) and WordSim (a collection of _word_ similarity tasks). The results are shown in the table below. -| Model | Avg (All) | Avg (MTEB) | Class | Clust | PairClass | Rank | Ret | STS | Sum | PEARL | WordSim | -|------------------|-------------|------------|-------|-------|-----------|-------|-------|-------|-------|-------|---------| -| all-MiniLM-L6-v2 | 56.08 | 56.09 | 62.62 | 41.94 | 82.37 | 58.04 | 41.95 | 78.90 | 30.81 | 60.83 | 49.91 | -| M2V_base_glove | 48.58 | 47.60 | 61.35 | 30.52 | 75.34 | 48.50 | 29.26 | 70.31 | 31.50 | 50.28 | 54.29 | -| M2V_base_output | 46.79 | 45.34 | 61.25 | 25.58 | 74.90 | 47.63 | 26.14 | 68.58 | 29.20 | 54.02 | 49.18 | -| GloVe_300d | 42.84 | 42.36 | 57.31 | 27.66 | 72.48 | 43.30 | 22.78 | 61.90 | 28.81 | 45.65 | 43.05 | -| WL256* | 48.88 | 49.36 | 58.98 | 33.34 | 74.00 | 52.03 | 33.12 | 73.34 | 29.05 | 48.81 | 45.16 | + +| Model | Avg (All) | Avg (MTEB) | Class | Clust | PairClass | Rank | Ret | STS | Sum | Pearl | WordSim | +|------------------------|-----------|------------|--------|--------|-----------|--------|--------|--------|--------|--------|---------| +| all-MiniLM-L6-v2 | 56.08 | 56.09 | 62.62 | 41.94 | 82.37 | 58.04 | 41.95 | 78.90 | 30.81 | 60.83 | 49.91 | +| M2V_base_glove_subword | 49.06 | 46.69 | 61.27 | 30.03 | 74.71 | 49.15 | 27.16 | 69.09 | 30.08 | 56.82 | 57.99 | +| M2V_base_glove | 48.58 | 47.6 | 61.35 | 30.52 | 75.34 | 48.5 | 29.26 | 70.31 | 31.5 | 50.28 | 54.29 | +| M2V_base_output | 46.79 | 45.34 | 61.25 | 25.58 | 74.9 | 47.63 | 26.14 | 68.58 | 29.2 | 54.02 | 49.18 | +| GloVe_300d | 42.84 | 42.36 | 57.31 | 27.66 | 72.48 | 43.3 | 22.78 | 61.9 | 28.81 | 45.65 | 43.05 | +| WL256* | 48.88 | 49.36 | 58.98 | 33.34 | 74.00 | 52.03 | 33.12 | 73.34 | 29.05 | 48.81 | 45.16 | +
Task Abbreviations @@ -259,14 +262,15 @@ For readability, the MTEB task names are abbreviated as follows: In addition to the MTEB evaluation, we evaluate Model2Vec on a number of classification datasets. These are used as additional evidence to avoid overfitting to the MTEB dataset and to benchmark the speed of the model. The results are shown in the table below. -| model | Average | sst2 | imdb | trec | ag_news | -|:-----------------|----------:|---------:|-------:|---------:|----------:| -| bge-base-en-v1.5 | 90.00 | 91.54 | 91.88 | 85.16 | 91.45 | -| all-MiniLM-L6-v2 | 84.10 | 83.95 | 81.36 | 81.31 | 89.77 | -| M2V_base_output | 82.23 | 80.92 | 84.56 | 75.27 | 88.17 | -| M2V_base_glove | 80.76 | 83.07 | 85.24 | 66.12 | 88.61 | -| WL256 | 78.48 | 76.88 | 80.12 | 69.23 | 87.68 | -| GloVe_300d | 77.77 | 81.68 | 84.00 | 55.67 | 89.71 | +| Model | Average | SST2 | IMDB | TREC | AG News | +|:-----------------------|:-------:|:------:|:-----:|:------:|:-------:| +| bge-base-en-v1.5 | 90.00 | 91.54 | 91.88 | 85.16 | 91.45 | +| all-MiniLM-L6-v2 | 84.10 | 83.95 | 81.36 | 81.31 | 89.77 | +| M2V_base_output | 82.23 | 80.92 | 84.56 | 75.27 | 88.17 | +| M2V_base_glove_subword | 81.95 | 82.84 | 85.96 | 70.51 | 88.49 | +| M2V_base_glove | 80.76 | 83.07 | 85.24 | 66.12 | 88.61 | +| WL256 | 78.48 | 76.88 | 80.12 | 69.23 | 87.68 | +| GloVe_300d | 77.77 | 81.68 | 84.00 | 55.67 | 89.71 | As can be seen, Model2Vec models outperform the GloVe and WL256 models on all classification tasks, and are competitive with the all-MiniLM-L6-v2 model, while being much faster. From f51da097e212934621ccd1420104aa3c7df6df7a Mon Sep 17 00:00:00 2001 From: Pringled Date: Wed, 2 Oct 2024 20:24:21 +0200 Subject: [PATCH 2/4] Added new model --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1321ee7..b2759cc 100644 --- a/README.md +++ b/README.md @@ -224,6 +224,7 @@ print(make_leaderboard(task_scores)) |------------------------|-------------|-----------------------------------------------------------------------|----------------|-----------------------|--------------| | [M2V_base_glove](https://huggingface.co/minishlab/M2V_base_glove) | English | Flagship embedding model based on GloVe vocab. | GloVe | [bge-base-en-v1.5](https://huggingface.co/BAAI/bge-base-en-v1.5) | 102M | | [M2V_base_output](https://huggingface.co/minishlab/M2V_base_output) | English | Flagship embedding model based on bge-base-en-v1.5 vocab. Uses a subword tokenizer. | Output | [bge-base-en-v1.5](https://huggingface.co/BAAI/bge-base-en-v1.5) | 7.5M | +| [M2V_base_glove_subword](https://huggingface.co/minishlab/M2V_base_glove_subword) | English | Flagship embedding model based on bge-base-en-v1.5 + glove vocab. Uses a subword tokenizer. | Output + GloVe | [bge-base-en-v1.5](https://huggingface.co/BAAI/bge-base-en-v1.5) | 103M | | [M2V_multilingual_output](https://huggingface.co/minishlab/M2V_multilingual_output) | Multilingual | Flagship multilingual embedding model based on LaBSE vocab. Uses a subword tokenizer. | Output | [LaBSE](https://huggingface.co/sentence-transformers/LaBSE) | 471M | ## Results From d1a9539bdf7550c8e2854213465672b42dfac376 Mon Sep 17 00:00:00 2001 From: Pringled Date: Wed, 2 Oct 2024 20:25:35 +0200 Subject: [PATCH 3/4] Added new image --- .gitignore | 1 + README.md | 2 +- assets/images/speed_vs_accuracy_v2.png | Bin 0 -> 95130 bytes 3 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 assets/images/speed_vs_accuracy_v2.png diff --git a/.gitignore b/.gitignore index 4b7498a..6503faf 100644 --- a/.gitignore +++ b/.gitignore @@ -171,4 +171,5 @@ model2vec_models results/* counts/* results_old/* +local/* lightning_logs/* diff --git a/README.md b/README.md index b2759cc..f0b7f90 100644 --- a/README.md +++ b/README.md @@ -278,7 +278,7 @@ As can be seen, Model2Vec models outperform the GloVe and WL256 models on all cl The figure below shows the relationship between the number of sentences per second and the average classification score. The circle sizes correspond to the number of parameters in the models (larger = more parameters). This plot shows that the Model2Vec models are much faster than the other models, while still being competitive in terms of classification performance with the [all-MiniLM-L6-v2](https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2) model. -| ![Description](assets/images/speed_vs_accuracy.png) | +| ![Description](assets/images/speed_vs_accuracy_v2.png) | |:--:| |*Figure: The average accuracy over all classification datasets plotted against sentence per second. The circle size indicates model size.*| diff --git a/assets/images/speed_vs_accuracy_v2.png b/assets/images/speed_vs_accuracy_v2.png new file mode 100644 index 0000000000000000000000000000000000000000..448c0a7e2614e3dc3c86f9459750ff90722659e7 GIT binary patch literal 95130 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 literal 0 HcmV?d00001 From 1d70a05c876c0621a5ad0e6dc7dfb63d45905a65 Mon Sep 17 00:00:00 2001 From: Pringled Date: Wed, 2 Oct 2024 20:27:24 +0200 Subject: [PATCH 4/4] Updated mode section --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f0b7f90..f85fa99 100644 --- a/README.md +++ b/README.md @@ -96,9 +96,10 @@ Model2vec creates a small, fast, and powerful model that outperforms other stati It works by passing a vocabulary through a sentence transformer model, then reducing the dimensionality of the resulting embeddings using PCA, and finally weighting the embeddings using zipf weighting. During inference, we simply take the mean of all token embeddings occurring in a sentence. -Model2vec has 2 modes: -- **Output**: behaves much a like a real sentence transformer, i.e., it uses a subword tokenizer and encodes all wordpieces. This is really quick to create, very small (30 MB), but might be less performant on some tasks. -- **Vocab**: behaves much like GloVe or regular word2vec vectors, albeit with much better performance. These models are a bit bigger, depending on your vocabulary size, but still very fast, and are useful in situations in which you have a bit more RAM, but still need to go fast. +Model2vec has 3 modes: +- **Output**: behaves much like a real sentence transformer, i.e., it uses a subword tokenizer and simply encodes all wordpieces in its vocab. This is really quick to create (30 seconds on a CPU), very small (30 MB in float32), but might be less performant on some tasks. +- **Vocab (word level)**: creates a word-level tokenizer and only encodes words that are in the vocabulary. This is a bit slower to create and creates a larger model, but might be more performant on some tasks. Note that this model can go out-of-vocabulary, which might be beneficial if your domain is very noisy +- **Vocab (subword)**: a combination of the two methods above. In this mode, you can pass your own vocabulary, but it also uses the subword vocabulary to create representations for words not in the passed vocabulary. ## Main Features