Skip to content

Commit 90be5b7

Browse files
committed
Merge branch 'master' of https://github.com/UKPLab/sentence-transformers into v3.4-release
2 parents f443625 + f4dc7b5 commit 90be5b7

File tree

3 files changed

+15
-9
lines changed

3 files changed

+15
-9
lines changed

sentence_transformers/losses/AdaptiveLayerLoss.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212
from sentence_transformers import SentenceTransformer
1313
from sentence_transformers.losses.CachedGISTEmbedLoss import CachedGISTEmbedLoss
1414
from sentence_transformers.losses.CachedMultipleNegativesRankingLoss import CachedMultipleNegativesRankingLoss
15+
from sentence_transformers.losses.CachedMultipleNegativesSymmetricRankingLoss import (
16+
CachedMultipleNegativesSymmetricRankingLoss,
17+
)
1518
from sentence_transformers.models import Transformer
1619

1720

@@ -149,7 +152,8 @@ def __init__(
149152
- `Adaptive Layers <../../examples/training/adaptive_layer/README.html>`_
150153
151154
Requirements:
152-
1. The base loss cannot be :class:`CachedMultipleNegativesRankingLoss` or :class:`CachedGISTEmbedLoss`.
155+
1. The base loss cannot be :class:`CachedMultipleNegativesRankingLoss`,
156+
:class:`CachedMultipleNegativesSymmetricRankingLoss`, or :class:`CachedGISTEmbedLoss`.
153157
154158
Inputs:
155159
+---------------------------------------+--------+
@@ -192,10 +196,11 @@ def __init__(
192196
self.kl_div_weight = kl_div_weight
193197
self.kl_temperature = kl_temperature
194198
assert isinstance(self.model[0], Transformer)
195-
if isinstance(loss, CachedMultipleNegativesRankingLoss):
196-
warnings.warn("MatryoshkaLoss is not compatible with CachedMultipleNegativesRankingLoss.", stacklevel=2)
197-
if isinstance(loss, CachedGISTEmbedLoss):
198-
warnings.warn("MatryoshkaLoss is not compatible with CachedGISTEmbedLoss.", stacklevel=2)
199+
if isinstance(
200+
loss,
201+
(CachedMultipleNegativesRankingLoss, CachedMultipleNegativesSymmetricRankingLoss, CachedGISTEmbedLoss),
202+
):
203+
warnings.warn(f"MatryoshkaLoss is not compatible with {loss.__class__.__name__}.", stacklevel=2)
199204

200205
def forward(self, sentence_features: Iterable[dict[str, Tensor]], labels: Tensor) -> Tensor:
201206
# Decorate the forward function of the transformer to cache the embeddings of all layers

sentence_transformers/losses/Matryoshka2dLoss.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,8 @@ def __init__(
7979
- `Adaptive Layers <../../examples/training/adaptive_layer/README.html>`_
8080
8181
Requirements:
82-
1. The base loss cannot be :class:`CachedMultipleNegativesRankingLoss`.
82+
1. The base loss cannot be :class:`CachedMultipleNegativesRankingLoss`,
83+
:class:`CachedMultipleNegativesSymmetricRankingLoss`, or :class:`CachedGISTEmbedLoss`.
8384
8485
Inputs:
8586
+---------------------------------------+--------+

sentence_transformers/losses/MatryoshkaLoss.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,9 @@ def __init__(
124124
different embedding dimensions. This is useful for when you want to train a model where users have the option
125125
to lower the embedding dimension to improve their embedding comparison speed and costs.
126126
127+
This loss is also compatible with the Cached... losses, which are in-batch negative losses that allow for
128+
higher batch sizes. The higher batch sizes allow for more negatives, and often result in a stronger model.
129+
127130
Args:
128131
model: SentenceTransformer model
129132
loss: The loss function to be used, e.g.
@@ -143,9 +146,6 @@ def __init__(
143146
- The concept was introduced in this paper: https://arxiv.org/abs/2205.13147
144147
- `Matryoshka Embeddings <../../examples/training/matryoshka/README.html>`_
145148
146-
Requirements:
147-
1. The base loss cannot be :class:`CachedMultipleNegativesRankingLoss` or :class:`CachedGISTEmbedLoss`.
148-
149149
Inputs:
150150
+---------------------------------------+--------+
151151
| Texts | Labels |

0 commit comments

Comments
 (0)