Comments (7)
You just need to use batch-mode retrieval and ranking!
Just keep in mind it's two steps, not one. There are some instructions in the README. Let me know if you face issues using them.
Batch retrieval loads only the compress FAISS index and retrieves the initial (unsorted) set of passages. Batch re-ranking streams over the index one part at a time, so it uses a tiny fraction of memory at any point.
from colbert.
Very cool!
By two-step, you're referring to how the second (re-ranking) step in end-to-end isn't implemented yet? As suggested here
from colbert.
The second step is implemented. You just need to use a different script colbert.retrieve
then colbert.rerank
(give it the output topk).
What isn't implemented is two steps from one script, which would be nice to have eventually. But this shouldn't affect your goals above!
from colbert.
Yeah, to clarify I meant that we can't fully do end-to-end in one shot, but currently we instead have to call retrieve and then rerank (I think that's what you said)
from colbert.
Precisely! Give it a run. It should be really fast and smooth, I hope :D
from colbert.
This seems to be working properly!
I am also having some pains due to trying to use huggingface's model. I noticed that in the paper it is said that the used output dimension is 128, and that is the default in this repo, but the HF pretrained model uses 768. I plan to use 128 because I don't have space for 768, so I'll probably nix huggingface entirely, outside of how it's used in this repo.
Do you have the dim 128 model saved anywhere, as used in the paper?
from colbert.
Not sure if we corresponded about this by email, but as I mentioned to some other folks, I'm happy to share a checkpoint with you if you reach out by email!
from colbert.
Related Issues (20)
- [rank1]:[E ProcessGroupNCCL.cpp:523] [Rank 1] Watchdog caught collective operation timeout: WorkNCCL HOT 2
- How to set chunk_size
- Tokens in `skiplist` are not returned (masked out) but they still affect other tokens embeddings. Is this expected? HOT 2
- How to get the mapping information about doc_id with doc_content. HOT 1
- CollectionEncoder blocking on encoder N passages HOT 1
- Focusing retrieval on list of document ids with doc_ids parameter doesn't work
- type object 'ColBERT' has no attribute 'segmented_maxsim' HOT 1
- Where is the qrels.dev.small.tsv?
- How to get rid of the "Duplicate GPU detected : rank 0 and rank 1 both on CUDA device ca000" error while training of the ColBERTv1.9 modell? HOT 1
- Request for AMD gpu support
- How to quickly check if installation is working fine?
- ColBert is not failing when Error is encounter during both train and indexing
- How to insert new document into the pre-built index? HOT 1
- Is there a check point of ColBERT that wasn't trained on MSMARCO?
- How to check the centroids and the data in the clusters?
- Extract only embeddings
- Execution fails in colbert.index_objs() with assert classname.endswith('Vector')
- Results on BEIR
- unable to open file </root/.cache/huggingface/hub/models--bert-base-uncased/snapshots/86b5e0934494bd15c9632b12f734a8a67f723594/model.safetensors> in read-only mode: No such file or directory (2)
- Add_to_index only work first time
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from colbert.