QMSum locator: MiniLM L6 cross-encoder, 900-word windows (protocol-exact configuration)
The stage-1 locator of a two-stage locate-then-summarize pipeline for query-focused meeting
summarization on QMSum. It scores fixed-width windows of a meeting transcript against a query;
the top-scored windows are greedily packed to a 3,000-word budget and passed, in transcript
order, to the summarizer adapter
ErtasAI/qmsum-summarizer-lfm2.5-1.2b-lora.
This is the locator behind the pipeline's
protocol-exact configuration (test ROUGE-1 33.39),
the setting declared in the frozen evaluation protocol before any results existed. It is part of
the release for the paper
Locate-then-summarize on QMSum: training regime and architecture
outweigh scale in query-focused multi-domain meeting summarization (Ertas AI, in preparation).
The promoted sibling is
ErtasAI/qmsum-locator-minilm-l12-w375.
A caveat you should know before using this model
The frozen protocol declares 900-word windows, and this model's architecture reads 512 tokens. A
900-word window tokenises to a median of about 1,150 tokens, so at the protocol setting the scorer
reads roughly the first half of most windows (97.3% of windows truncate, mean 47.7% of each window
read). The published protocol-exact row includes this behaviour deliberately: the protocol was
frozen before the truncation was discovered, and the paper reports it as found rather than quietly
repairing it. If you want the stronger configuration, use the promoted sibling, whose windows fit
its context.
Model details
- Base model:
cross-encoder/ms-marco-MiniLM-L-6-v2 (22.7M parameters, Apache 2.0)
- Training: binary relevance over query-window pairs built from QMSum train-split gold spans
(a window is positive when it overlaps a gold span). 2 epochs, batch 32, 100 warmup steps,
seeded through the frozen protocol (seed 20260723),
sentence-transformers CrossEncoder with
num_labels=1
- Training cost: about 1.5 minutes on one NVIDIA RTX 5070 Ti, peak 2.82 GB
- Window size at training and inference: 900 words, per the frozen protocol
The system rows this locator affects
Full official QMSum test split, n=281, greedy decoding, one frozen scorer. The summarizer adapter
is identical in both rows.
| Configuration | Locator | Budget | R1 | R2 | R-L | R-Lsum | BERTScore |
|---|
| Protocol-exact (this locator) | MiniLM L6, 900-word windows | 3,000 words | 33.39 | 10.65 | 22.83 | 29.30 | 0.8680 |
| Deviating, promoted | MiniLM L12, 375-word windows | 2,000 words | 35.41 | 12.28 | 24.63 | 31.36 | 0.8733 |
The gap between the rows is not demonstrably robust to training reseeding (the summarizer's seed
range on this benchmark is 1.59 ROUGE-1); the paper carries the full analysis.
How to use
1from sentence_transformers import CrossEncoder
2
3locator = CrossEncoder("ErtasAI/qmsum-locator-minilm-l6-w900")
4scores = locator.predict([(query, window_text) for window_text in windows])
Chunk the transcript into 900-word windows first, then pack the top-scored windows to a 3,000-word
budget and restore transcript order. The release repo's pipeline
(
github.com/ErtasAI/qmsum-retrieved-span-training) implements the
exact windowing and packing the published rows used. Scores are unnormalised relevance logits;
use them for ranking, and compare them only within one query.
Limits
- The truncation caveat above: at 900-word windows, scoring reflects mostly the first ~512 tokens
of each window.
- Trained and evaluated on English meeting transcripts from QMSum's three domains (academic,
product design, parliamentary committee). Other document types are untested.
- Relevance here means overlap with QMSum's annotated gold spans, one annotation of what answers
the query. It inherits that annotation's judgment calls.
Provenance
| File | SHA256 |
|---|
model.safetensors | 6588d79e1db83bc0b8aa9901311371927e4e2bfe155d2965d965c6815acccfad |
Released by
Ertas AI. We build custom small models that run on-device and
in your own infrastructure.