v6.0.0
Breaking Changes📦 sentence-transformersView on GitHub →
⚠ 2 breaking✨ 7 features🐛 1 fixes🔧 9 symbols
Summary
This release introduces Multi-Vector Embedding models (ColBERT-style) as a new model type, enhancing retrieval capabilities. It also modernizes dependencies, fixes silent scoring bugs, and improves performance.
⚠️ Breaking Changes
- The dependency floor for `transformers` has been updated to v5. This may require updates to your `transformers` library if you were using an older version.
- Multi-vector models are asymmetric: `encode_query` and `encode_document` are now required for correct embedding generation, unlike some dense models where they were interchangeable.
Migration Steps
- Update your `transformers` dependency to v5 or later.
- Ensure you are using `encode_query` and `encode_document` separately when encoding for Multi-Vector models.
- Adjust `chunk_elements` budget if encountering memory issues during scoring or training.
- Consider using `similarity_fn_name='meanmaxsim'` if you need bounded similarity scores.
✨ New Features
- Introduced Multi-Vector Embedding models (late interaction or ColBERT-style) as a new model type.
- Support for training, inferencing, and interpreting Multi-Vector Embedding models using Sentence Transformers.
- Ability to load PyLate and Stanford-NLP ColBERT checkpoints into `MultiVectorEncoder`.
- Support for `colpali-engine` models for visual document retrieval.
- New `similarity_fn_name='meanmaxsim'` option for bounded similarity scores.
- Added `chunk_elements` and `device` arguments to the `similarity` function for managing large corpora and GPU memory.
- Added `chunk_elements` argument to the `colbert_scores` loss function during training.
🐛 Bug Fixes
- Fixed a class of silent scoring bugs caused by half precision.