Views
No views yet
| Model | LongMemEval-S (373 q, held-out) | MSC-MemFuse-MC10 (27 q, held-out) | HotpotQA distractor (7,405 q, OOD) |
|---|---|---|---|
| LycheeMem Reranker v1 | 0.9185 | 0.7457 | 0.7063 |
| BGE-Reranker-v2-m3 (560M) | 0.8647 | 0.5503 | 0.8002 |
| Δ | +5.4 pp | +19.5 pp | −9.4 pp |
| Benchmark | hit@10 | R@5 | R@10 | MAP | NDCG@10 |
|---|---|---|---|---|---|
| LongMemEval-S held-out | 1.000 | 0.964 | 0.988 | 0.919 | 0.940 |
| MSC-MemFuse-MC10 held-out | 1.000 | 0.799 | 0.896 | 0.746 | 0.786 |
| HotpotQA distractor (OOD) | 0.987 | 0.793 | 0.890 | 0.706 | 0.769 |
| Source | Queries | Pairs |
|---|---|---|
| LongMemEval-S (cleaned-overlap) | 127 | 6,018 |
| MSC-MemFuse-MC10 (answer-turn) | 299 | 14,950 |
| Total | 426 | 20,968 |
{0.0, 0.2, 0.4, 0.6, 0.8, 1.0}) distilled from DeepSeek V4 Pro on the mid-tier candidates retrieved by the upstream retriever. Trained with LoRA r=16, BCE-with-logits against continuous targets, 3 epochs.1import torch
2from peft import PeftModel
3from transformers import AutoTokenizer, AutoModelForSequenceClassification
4
5BASE = "Qwen/Qwen3-Reranker-0.6B"
6ADAPTER = "fuhao23/reranker_v1"
7
8tok = AutoTokenizer.from_pretrained(BASE, trust_remote_code=True)
9if tok.pad_token is None:
10 tok.pad_token = tok.eos_token
11
12base = AutoModelForSequenceClassification.from_pretrained(
13 BASE, num_labels=1, torch_dtype=torch.bfloat16, trust_remote_code=True
14)
15base.config.pad_token_id = tok.pad_token_id
16model = PeftModel.from_pretrained(base, ADAPTER).eval().to("cuda")
17
18INSTRUCT = "Given a user query, retrieve memory snippets that answer the query"
19
20def score(query: str, candidates: list[str], max_len: int = 512) -> list[float]:
21 texts = [
22 f"<Instruct>: {INSTRUCT}\n<Query>: {query}\n<Document>: {c}"
23 for c in candidates
24 ]
25 enc = tok(texts, padding=True, truncation=True, max_length=max_len,
26 return_tensors="pt").to(model.device)
27 with torch.inference_mode():
28 logits = model(**enc).logits.squeeze(-1).float().cpu().tolist()
29 return logitstorch.sigmoid for normalized probabilities.1@misc{lycheemem_reranker_v1,
2 title = {LycheeMem Reranker v1: A Domain-Specialized Reranker for Long-Term Memory Dialog Retrieval},
3 author = {LycheeMem Project},
4 year = {2026},
5 url = {https://huggingface.co/fuhao23/reranker_v1}
6}