From 4a90972e3860ff769e1152c60768be0499263bd8 Mon Sep 17 00:00:00 2001 From: Debanjum Singh Solanky Date: Mon, 18 Jul 2022 20:00:19 +0400 Subject: [PATCH] Use a better model for asymmetric semantic search - The multi-qa-MiniLM-L6-cos-v1 is more extensively benchmarked[1] - It has the right mix of model query speed, size and performance on benchmarks - On hugging face it has way more downloads and likes than the msmarco model[2] - On very preliminary evaluation of the model - It doubles the encoding speed of all entries (down from ~8min to 4mins) - It gave more entries that stay relevant to the query (3/5 vs 1/5 earlier) [1]: https://www.sbert.net/docs/pretrained_models.html [2]: https://huggingface.co/sentence-transformers --- README.org | 2 +- config/sample_config.yml | 2 +- src/utils/cli.py | 2 +- tests/conftest.py | 2 +- tests/data/notes/main_readme.org | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.org b/README.org index 20139ebe..be0865fe 100644 --- a/README.org +++ b/README.org @@ -100,7 +100,7 @@ #+end_src ** Acknowledgments - - [[https://huggingface.co/sentence-transformers/msmarco-MiniLM-L-6-v3][MiniLM Model]] for Asymmetric Text Search. See [[https://www.sbert.net/examples/applications/retrieve_rerank/README.html][SBert Documentation]] + - [[https://huggingface.co/sentence-transformers/multi-qa-MiniLM-L6-cos-v1][Multi-QA MiniLM Model]] for Asymmetric Text Search. See [[https://www.sbert.net/examples/applications/retrieve_rerank/README.html][SBert Documentation]] - [[https://github.com/openai/CLIP][OpenAI CLIP Model]] for Image Search. See [[https://www.sbert.net/examples/applications/image-search/README.html][SBert Documentation]] - Charles Cave for [[http://members.optusnet.com.au/~charles57/GTD/orgnode.html][OrgNode Parser]] - Sven Marnach for [[https://github.com/smarnach/pyexiftool/blob/master/exiftool.py][PyExifTool]] diff --git a/config/sample_config.yml b/config/sample_config.yml index 225ea33f..e743a399 100644 --- a/config/sample_config.yml +++ b/config/sample_config.yml @@ -33,7 +33,7 @@ search-type: model_directory: "/data/models/symmetric" asymmetric: - encoder: "sentence-transformers/msmarco-MiniLM-L-6-v3" + encoder: "sentence-transformers/multi-qa-MiniLM-L6-cos-v1" cross-encoder: "cross-encoder/ms-marco-MiniLM-L-6-v2" model_directory: "/data/models/asymmetric" diff --git a/src/utils/cli.py b/src/utils/cli.py index 505628a5..a2d19f1c 100644 --- a/src/utils/cli.py +++ b/src/utils/cli.py @@ -85,7 +85,7 @@ default_config = { }, 'asymmetric': { - 'encoder': "sentence-transformers/msmarco-MiniLM-L-6-v3", + 'encoder': "sentence-transformers/multi-qa-MiniLM-L6-cos-v1", 'cross-encoder': "cross-encoder/ms-marco-MiniLM-L-6-v2", 'model_directory': None }, diff --git a/tests/conftest.py b/tests/conftest.py index 7d9adfaa..a0b07a63 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -20,7 +20,7 @@ def search_config(tmp_path_factory): ) search_config.asymmetric = AsymmetricSearchConfig( - encoder = "sentence-transformers/msmarco-MiniLM-L-6-v3", + encoder = "sentence-transformers/multi-qa-MiniLM-L6-cos-v1", cross_encoder = "cross-encoder/ms-marco-MiniLM-L-6-v2", model_directory = model_dir ) diff --git a/tests/data/notes/main_readme.org b/tests/data/notes/main_readme.org index 3e0b479d..d343288a 100644 --- a/tests/data/notes/main_readme.org +++ b/tests/data/notes/main_readme.org @@ -42,6 +42,6 @@ #+end_src ** Acknowledgments - - [[https://huggingface.co/sentence-transformers/msmarco-MiniLM-L-6-v3][MiniLM Model]] for Asymmetric Text Search. See [[https://www.sbert.net/examples/applications/retrieve_rerank/README.html][SBert Documentation]] + - [[https://huggingface.co/sentence-transformers/multi-qa-MiniLM-L6-cos-v1][MiniLM Model]] for Asymmetric Text Search. See [[https://www.sbert.net/examples/applications/retrieve_rerank/README.html][SBert Documentation]] - [[https://github.com/openai/CLIP][OpenAI CLIP Model]] for Image Search. See [[https://www.sbert.net/examples/applications/image-search/README.html][SBert Documentation]] - Charles Cave for [[http://members.optusnet.com.au/~charles57/GTD/orgnode.html][OrgNode Parser]]