Breaking change: predict() now returns raw logits (was sigmoid in [0, 1])

#9
by dilawarm - opened
ZeroEntropy org

Heads-up for existing users: as of the May 2026 sentence-transformers v5.4 integration (merged from #8), CrossEncoder("zeroentropy/zerank-2").predict(...) returns raw "Yes" logits in bf16 instead of the previous sigmoid'd probabilities in [0, 1].

What changed

  • predict() returns raw logits (e.g. ~5.58, ~-4.50) instead of ~0.75, ~0.29.
  • trust_remote_code=True is no longer required; the bundled modeling_zeranker.py was removed.
  • Rankings are unchanged. NDCG@10 verified equivalent on mteb/scidocs-reranking.

Migration

If your code thresholds on predict() output, apply (scores / 5).sigmoid() to recover the previous semantics:

scores = model.predict(pairs, convert_to_tensor=True)
probabilities = (scores / 5).sigmoid()

If you only use the scores for ranking (sort or top-k), no change is needed.

npip99 pinned discussion

Sign up or log in to comment