-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Choose correct similarity fns during benchmark runs & re-run benchmarks #773
Conversation
Reran retriever query benchmarks and compared to the numbers reported for Haystack 0.7.0. MAP numbers look a bit better than before across all settings, (perhaps because of filtering misaligned samples #774). DPR + FAISS HNSW speed has improved significantly
However, ES + BM25 speed has dropped.
Note that ES + DPR speed is about the same as before
@tholor Is this expected? Any ideas for what accounts for the drop in speed for BM25? |
Nice, could be related to the recent changes of @lalitpagaria to SQL queries 🤔
No, nothing obvious comes to my mind. @tanaysoni any idea? |
Wow! 10x increase when number of doc's are more. At this rate it will surpass ES performance when number of documents are more than 1M. I think improvement done by myself and @tanaysoni have improved performance. How about having benchmarks for SQL doc store as well? (Like with SQLite, MySQL and posgres) Regarding ES performance, how we are using ES? Means as single node or in clusters mode? How much heap size assigned to it? Swapping enabled or disabled? Just suggestion, can we use Cassandra as well here? |
Just rerun all benchmarks on the EC2 image that we previously used + elasticsearch 7.9.2. |
@brandenchan if the numbers are looking good to you, can you please update the markdown files for the benchmarks on the website so that we have the correct numbers for each version in the dropdown? |
…into rebenchmark
I had a look through the newly reported numbers and compared them to the benchmark for 0.6.0 (0.7.0 is the same).
The speed of DPR/Elastic seems to have dropped. One factor could be the switching from cosine to dot product similarity. It may be that the dot product implementation is slower. On the flip side, its performance is noticeably better. Reader speed improvements may be due to the implementation of fast tokenizers. Not totally sure where the ES/BM25 speed instability is coming from. Could be variability between runs / maybe the building up and tearing down of document stores is causing problems in measuring speed. |
In future, we should do more to control for the environment in which we run benchmarks. We should:
|
This PR ensures that during benchmarking, the right similarity fns are chosen (i.e. dot_product for DPR and cosine for ES retrieval). This solves #653. This PR will also include a rerun of the retriever query benchmark.
TODO: