alt.freeweights.vision / poiss-bge-m3-reranker
From: amazon <huggingface.co/amazon>Newsgroups: alt.freeweights.visionSubject:

poiss-bge-m3-reranker

Date: 2026-11-14Commit: 21504e7Signed: 2DC28CC7B26A283B ✓

Text classification model with 568M parameters. Safetensors weights, 2.29 GB in all. Published by amazon under Apache-2.0.

568M params2.29GBpoiss-bge-m3-rerankersafetensorspermissive
FactsParams568MSize2.29 GBFormatssafetensorsTasktext classificationLicenseApache-2.0From sourcepermissive
$ fw get amazon/poiss-bge-m3-reranker
# manifest sha256 a296bf94c08b… · 2.29 GB · 10 files
$ fw verify ./poiss-bge-m3-reranker amazon/poiss-bge-m3-reranker
From sourceHosted (signed)amazon/poiss-bge-m3-rerankerLast check: 2026-11-14 21:35 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Fine-tune of bge-reranker-v2-m3.

Works with

Runs with

Ranked by fit to this model (safetensors), then by GitHub stars.

Overview

Size
2.29 GB
Weights
2.27 GB (safetensors)
Parameters
568M
Formats
safetensors
Task
text classification
License
Apache-2.0 (permissive)
Files
10, each with a sha256
Publisher
amazon
Added
2026-11-14
Section
alt.freeweights.vision
Lineage

Original release from the publisher.

Base model: BAAI/bge-reranker-v2-m3

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-14 21:35 UTCpassed

Model card

From the publisher at commit 21504e7. Shown as plain text with links; images open at the publisher.

POISS BGE-Reranker-v2-m3#

BAAI/bge-reranker-v2-m3 fine-tuned on POISS to rerank point-of-interest candidates. It is a cross-encoder: query and candidate are encoded jointly, so unlike the bi-encoder it can exploit pairwise features like the distance between the user and the POI. Taking advantage of the cross-encoder's stronger expressive capabilities compared with a bi-encoder, the reranker was trained to incorporate the POI's quality score in addition to distance. Both distance and quality score are represented as natural-language buckets.

Intended position in the pipeline: retrieve with amazon/poiss-bge-m3-retriever, then rerank its top-k with this model. Output is a single logit per pair; higher is more relevant.

The numbers below were measured on the pool the paper uses — the retriever's top-1000 from the full 72M-POI corpus — which is not distributed with the dataset. Reranking the dataset's candidates column instead is an easier setting (every graded positive is present by construction) and gives different, non-comparable numbers. To reproduce this table, rebuild the pool by embedding the corpus with the retriever above.

Results#

Reranking the fine-tuned retriever's top-1000 on the POISS test split (42,018 queries, percentages):

SystemP@5P@20MRRN@5N@20
BGE-M3 retriever (bi-encoder order)57.635.585.561.562.6
BGE-Reranker-v2-m3 zero-shot24.614.350.032.134.8
this model63.038.389.766.866.6

Per-intent nDCG@20: Search 76.8, Detail 78.9, Recommend 56.3, Things-to-do 55.0. Precision is higher on open-ended intents simply because their relevant sets are larger; the rank-aware metrics show the ordering there is the harder problem.

Usage#

The model scores a text pair: a query string and a POI string. Field order, prompt labels, and the bucket vocabularies below are part of the trained format.

import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer

model_id = "amazon/poiss-bge-m3-reranker"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForSequenceClassification.from_pretrained(model_id).eval()

SCORE_BUCKETS = [  # upper bound (exclusive), label
    (1.0, "Very Poor"), (1.5, "Poor"), (2.0, "Somewhat Poor"), (2.5, "Fair"),
    (3.0, "Average"), (3.5, "Good"), (4.0, "Very Good"), (4.5, "Excellent"),
    (5.0, "Outstanding"), (5.1, "Perfect"),
]
DISTANCE_BUCKETS = [  # upper bound in km (exclusive), label
    (2.0, "extremely close"), (4.0, "very close"), (6.0, "close"), (8.0, "nearby"),
    (10.0, "moderately close"), (15.0, "moderately far"), (20.0, "far"),
    (30.0, "quite far"), (50.0, "very far"), (320.0, "extremely far"),
]


def bucket(value, buckets):
    for upper, label in buckets:
        if value < upper:
            return label
    return buckets[-1][1]


def format_query(text):
    return f"Query: {text[:100]}"


def format_poi(name, categories, distance_km, score, address):
    # categories: a list; the first 10 are kept and joined by a space
    fields = [f"Name: {name[:60]}", f"Categories: {' '.join(categories[:10])}"]
    if distance_km is not None and distance_km >= 0:
        fields.append(f"Distance: {bucket(distance_km, DISTANCE_BUCKETS)}")
    fields.append(
        f"Score: {bucket(score, SCORE_BUCKETS)}" if score and score > 0 else "Score: None"
    )
    fields.append(f"Address: {address[:60]}")
    return "; ".join(fields)


query = format_query("pizzeria near the colosseum")
pois = [
    format_poi("Pizzeria Da Enzo", ["pizza_restaurant", "restaurant"], 0.6, 4.3,
               "Via dei Fori Imperiali 1, Rome"),
    format_poi("Oslo Dental Clinic", ["dentist"], 2100.0, 3.1, "Storgata 10, Oslo"),
]

batch = tokenizer([query] * len(pois), pois, padding=True, truncation=True,
                  max_length=256, return_tensors="pt")
with torch.no_grad():
    scores = model(**batch).logits.squeeze(-1)
print(scores)  # higher = more relevant

Details that matter:

  • Field order is fixed: Name, Categories, Distance, Score, Address, joined by "; ".
  • Categories is the first 10 category labels joined by a space; the query is truncated at 100 characters, and anything after a "; Position:" marker is stripped from it.
  • Score is the POISS 0–5 quality score, shipped with the dataset as data/poi_quality_score.parquet (it is not an Overture field). When it is missing or non-positive the field is still emitted, as Score: None. Values above 5 are halved and clamped.
  • The score is sparse: it covers 30.7% of query–candidate pairs in POISS (43.7% of the graded positives). Score: None is therefore the common case, and is what this model saw for about two thirds of its training pairs — not a degraded mode.
  • Distance is the haversine distance in km between the user coordinate and the POI, and is omitted entirely when unavailable.
  • Truncation: 256 tokens for the pair; the source cutoffs are 100 characters for the query, 60 for the name and address, 10 categories.

Training#

Fine-tuned from BAAI/bge-reranker-v2-m3 on the POISS train split (254,089 training and 13,374 validation records), with POI content resolved from Overture Places release 2026-03-18.

Objectivebinary cross-entropy on the pair logit
Hard negatives100 mined per query, 16 sampled per step
OptimizerAdamW, lr 1e-6, gradient clipping 1.0
Batch size4 per GPU × 8 GPUs
Max sequence length256
Precision / hardwaremixed precision, 8× NVIDIA A100 40GB
Scheduleup to 20 epochs, best checkpoint by validation nDCG@20
Selected checkpointepoch 18, validation nDCG@20 0.792

Negatives are the candidates the LLM judge marked non-relevant, padded from the reranked top-300 starting at rank 30. Positives are the graded relevant POIs.

The quality score the model consumes is LLM-generated from Overture POI metadata.

Reproducibility note#

The published weights are the checkpoint used for the paper, re-expressed in the stock XLMRobertaForSequenceClassification layout; all 393 tensors are bit-identical to the training checkpoint.

Intended use and limitations#

Intended for research on POI search reranking. Reranking quality is bounded by the candidate set: relevant POIs the retriever never surfaces cannot be recovered, and on POISS the fine-tuned retriever's R@1k is 95.6, so a few percent of graded POIs are out of reach by construction. Coverage is limited to 7 languages concentrated in the Americas and Europe, so behaviour outside those locales is untested.

Citation#

@inproceedings{maritan-etal-2026-poiss,
    title = "{POISS}: A Large-Scale Multilingual Dataset for Point-of-Interest Search",
    author = "Maritan, Nicola  and
      Moschitti, Alessandro  and
      Borazio, Federico  and
      Zhou, Xiaokun  and
      Bai, Zhengwei",
    booktitle = "Proceedings of the 2026 Conference on Empirical Methods in Natural Language Processing",
    month = oct,
    year = "2026",
    address = "Budapest, Hungary",
    publisher = "Association for Computational Linguistics",
    note = "To appear",
}

License#

These weights are a derivative work of BAAI/bge-reranker-v2-m3, distributed by BAAI under the Apache License 2.0, and are released under the same license. A copy is included as LICENSE, and NOTICE records the required statement of modifications: all weights were modified by supervised fine-tuning on the POISS train split with a binary cross-entropy objective, with no change to architecture, configuration, vocabulary or tokenizer.

The base model itself derives from BAAI/bge-m3 (MIT), which derives from XLM-RoBERTa (MIT).

The training data, POISS, is Apache-2.0 and places no additional restriction on these weights.

Files

10 files · 2.29 GBWeights 2.27 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 10 files with their sha256
FileSizesha256
.gitattributes1.57 KB34448b82c17d60fec9b65b1f093c115ddbaadc04beb1b0140b6bfed2e012a930
LICENSE11.4 KBcfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30
NOTICE773 Bb8298e451762ffddf946ab60a42f3417a9ba8a5a993f911305c8feebd47cdfa0
README.md8.49 KB0a05b4db224f12af3a946f61f536ec8e81d51358f06089ba369d6335253ab76b
config.json756 B3ba1b696b98429400ba200489b54dc4413a10cfa0c6b08f3c1d2f7150d588ae5
model.safetensors2.27 GB236eb0829a01af9c6cc527d7f76588e6def082c8636b92094705cbc1c5484c6f
sentencepiece.bpe.model5.07 MBcfc8146abe2a0488e9e2a0c56de7952f7c11ab059eca145a0a727afce0db2865
special_tokens_map.json964 B8c785abebea9ae3257b61681b4e6fd8365ceafde980c21970d001e834cf10835
tokenizer.json17.1 MB8bf8afbfd11306bd872018c53bfdf2e160a56f8edbcf49933324404791c148d3
tokenizer_config.json1.20 KBb87c8703482b0300d3da30e201519aa641f6a450f5eb5bf1e624afbf70c74d80
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
21504e7afa pinned now manifest updated, same commit2026-11-14 21:35 UTC10 files · 2.29 GB
21504e7afa2026-11-14 21:35 UTC10 files · 2.29 GB

Use it

$ fw get amazon/poiss-bge-m3-reranker
# manifest sha256 a296bf94c08b… · 2.29 GB · 10 files
$ fw verify ./poiss-bge-m3-reranker amazon/poiss-bge-m3-reranker
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/amazon/poiss-bge-m3-reranker.json --dir ./poiss-bge-m3-reranker $ python3 fw.py verify ./poiss-bge-m3-reranker ./amazon__poiss-bge-m3-reranker.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download amazon/poiss-bge-m3-reranker --revision 21504e7afaa450908c4e36988f3d15a000652972 --local-dir ./poiss-bge-m3-reranker

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-14
Text in
LICENSE
Text sha256
cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: amazon <huggingface.co/amazon>Newsgroups: alt.freeweights.visionSubject: poiss-bge-m3-rerankerDate: 2026-11-14Commit: 21504e7Signed: 2DC28CC7B26A283B ✓
Upstream
amazon/poiss-bge-m3-reranker
Pinned commit
21504e7afaa450908c4e36988f3d15a000652972
Manifest
poiss-bge-m3-reranker.json · .minisig
Manifest sha256
a296bf94c08b9b7d64f0fbdec4926b76310acf4265aaaa5e8dd9237783f89e12
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-14 21:35 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/amazon/poiss-bge-m3-reranker.json $ curl -O https://freeweights.allternit.com/manifests/amazon/poiss-bge-m3-reranker.json.minisig $ minisign -Vm poiss-bge-m3-reranker.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

BAAI/bge-reranker-v2-m3 · this model is a finetune of it

No model in the catalog names this one as its parent.

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download amazon/poiss-bge-m3-reranker
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. poiss-bge-m3-reranker.json. Provenance. Takedown history: none.
From: dima806 <huggingface.co/dima806>Subject: ai_vs_real_image_detection
From: legekka <huggingface.co/legekka>Subject: AI-Anime-Image-Detector-ViT
From: onnx-community <huggingface.co/onnx-community>Subject: AI-Anime-Image-Detector-ViT-ONNX
From: AICodexLab <huggingface.co/AICodexLab>Subject: answerdotai-ModernBERT-base-ai-detector
From: onnx-community <huggingface.co/onnx-community>Subject: answerdotai-ModernBERT-base-ai-detector-ONNX
From: onnx-community <huggingface.co/onnx-community>Subject: bart-large-cnn-ONNX