Downloads · 30 days
2
3% of all-time downloads
regtoy/bge-reranker-v2-m3-finetuned-v3
bge-reranker-v2-m3-finetuned-v3 is a text classification model from regtoy. Use it when you need a label for a piece of text. It is set up for sentence-transformers.
This model is a highly advanced fine-tuned version of BAAI/bge-reranker-v2-m3 specifically optimized for E-Commerce Product Search and Relevance. It has been trained using a sophisticated Curriculum Learning pipeline…
Downloads · 30 days
2
3% of all-time downloads
All-time downloads
69
Public
Parameters
568M
2.3 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors2.3 GB · 99%
From the Hugging Face model README
This model is a highly advanced fine-tuned version of BAAI/bge-reranker-v2-m3 specifically optimized for E-Commerce Product Search and Relevance. It has been trained using a sophisticated Curriculum Learning pipeline with highly curated hard negatives, followed by an aggressive Self-Training (Pseudo-Labeling) phase on ~197K highly confident samples.
BAAI/bge-reranker-v2-m3BCEWithLogitsLoss (Knowledge Distillation via Soft-labeling)The model was trained on a meticulously constructed pipeline:
Tested on a held-out benchmark dataset of 10,000 human-annotated and hard-mined query-product pairs. These metrics reflect the model when used in an Ensemble mechanism with weights (0.7 BGE + 0.3 Jina):
| Metric | Score |
|---|---|
| MRR (Mean Reciprocal Rank) | 0.9625 |
| P@1 (Precision at 1) | 0.9260 |
| AUC-ROC | 0.9621 |
| F1 Score | 0.9172 |
Note: The V3 Self-Training Phase perfectly fixed the calibration issues of V2, rocketing the F1 score from 0.82 to 0.9172 while maintaining elite Structural Ranking Success.
You can use this model easily with the sentence-transformers library:
pip install -U sentence-transformers
from sentence_transformers import CrossEncoder
# Load the model
model = CrossEncoder("regtoy/bge-reranker-v2-m3-finetuned-v3", trust_remote_code=True)
query = "erkek siyah koşu ayakkabısı"
documents = [
"Title: Erkek Siyah Koşu Ayakkabısı | Brand: Nike | Category: Spor Ayakkabı", # Doğru Eşleşme
"Title: Kadın Kırmızı Yürüyüş Ayakkabısı | Brand: Adidas | Category: Spor Ayakkabı", # Yanlış Eşleşme
"Title: Erkek Siyah Deri Ceket | Brand: Koton | Category: Ceket" # Lexical Hard Negative
]
# Create pairs
pairs = [[query, doc] for doc in documents]
# Predict relevance scores
scores = model.predict(pairs)
# Rank documents
ranked_results = sorted(zip(documents, scores), key=lambda x: x[1], reverse=True)
for doc, score in ranked_results:
print(f"Score: {score:.4f} | Document: {doc}")
For maximum performance, format your product data exactly as it was formatted during training by joining attributes with |:
Title: [title] | Brand: [brand] | Category: [category] | Gender: [gender] | Attributes: [attributes]