Comments (6)
@surajnair04 It's ready, beta version: https://github.com/stanford-futuredata/ColBERT/tree/binarization
from colbert.
Hi Suraj! Thanks for the question.
I'll get back to you after a few meetings, but I wanted to mention a limitation of the "beta" quantization branch. FAISS indexing shouldn't be done over the compressed vectors; the double compression leads to very poor FAISS quality in that case.
Either FAISS indexing has to be executed over the full index uncompressed (and then you can delete that big index!), or it will have to use the code we'll soon push that does FAISS indexing during the initial colbert.index
step!
I haven't read your commands yet btw...
from colbert.
Hi @okhat, thanks for your prompt response!
I think I understand what's happening
- the initial
colbert.index
step in the beta quantization branch compress the vectors colbert.faiss_index
step would then further compress the vector as part of the underlying indexing strategy
This double compression leads to a drop in the ranking quality. Is this correct?
So, the alternative is to wait for the beta branch to stabilize at which point colbert.index
would contain the FAISS indexing?
Do you have a sense of when the release is planned?
I'm quite eager to try it out :)
The commands are pretty much the same as in the master branch (with the exception of --compress
argument for colbert.index
)
from colbert.
This double compression leads to a drop in the ranking quality. Is this correct?
Exactly. If you have the uncompressed index, you can create the FAISS object on top of that. Then this is resolved.
Otherwise, we're planning to update this in less than 2 weeks.
The commands are pretty much the same as in the master branch (with the exception of --compress argument for colbert.index)
Yup sounds right to me
from colbert.
Exactly. If you have the uncompressed index, you can create the FAISS object on top of that. Then this is resolved.
Otherwise, we're planning to update this in less than 2 weeks.
I believe using an uncompressed index would make sense for smaller document collections from a storage perspective.
However, I am interested in storing the compressed vectors in FAISS so it makes sense to wait.
Thanks for your help, @okhat!
from colbert.
@okhat, Thanks a lot! I will try it out and open new issues if I encounter any.
Closing this one for now.
from colbert.
Related Issues (20)
- 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 HOT 1
- 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
- Tokenization Assumption for Query Marker Replacement is Inconsistent
- GPU crashes when running "D_packed @ Q.to(dtype=D_packed.dtype).T" with no error message HOT 1
- Training script from doc is not working
- ImportError: cannot import name 'packaging' from 'pkg_resources' HOT 1
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.