HydraQwen3.5-0.8B-Jev

HydraQwen3.5-0.8B-Jev

One Qwen3.5-0.8B weight set in memory runs retrieval, reranking and generation by switching two LoRA adapters:

Mode Model Weights Output
Retrieval ColQwen3.5-0.8B base/ + retrieval/ (LoRA r64, 320-d projection) one 320-d vector per token; pages rank by MaxSim
Reranking JevQwen3.5-0.8B base/ + reranking/ (LoRA r16, 24-slot head) calibrated P(yes) that a page answers the question
Generation Qwen3.5-0.8B base/, adapters off answer from the reranked pages

base/ holds Qwen/Qwen3.5-0.8B at revision 2fc06364, so the repository loads without other downloads.

Demo: HydraQwen-3.5-0.8B-Jev Space

Usage

pip install -r requirements.txt
from huggingface_hub import snapshot_download
import sys

path = snapshot_download("athrael-soju/HydraQwen3.5-0.8B-Jev")
sys.path.insert(0, path)
from hydra_jev import HydraJev
from PIL import Image

model = HydraJev.from_pretrained(path)
pages = [Image.open(p) for p in ["page1.png", "page2.png", "page3.png"]]
question = "What was the Q3 revenue?"

ranked = model.rank(question, pages)                                      # [(page index, MaxSim score), ...]
p_yes = model.decide("", f'Does this page answer the question "{question}"?', kind="noul",
                     image=pages[ranked[0][0]])["probabilities"]["true"]
answer = model.generate(f"Answer using only this page. Question: {question}", images=[pages[ranked[0][0]]])

model.ask(question, pages, top_k=5, threshold=0.9)                       # all three steps

ask retrieves the top-k pages, reranks each page image by JevQwen3.5-0.8B P(yes), and answers from the pages whose P(yes) reaches the threshold. JevQwen3.5-0.8B also answers choice (2 to 16 options) and 0 to 5 score questions through decide.

Training

The reranking adapter continues the JevQwen3.5-0.8B text decision adapter on 100,000 question and page-image pairs labelled with Qwen3.6-27B P(answerable), replaying Jev text decisions in 35% of each batch. Page checks run at temperature 1.1, fitted on 2,000 held-out pairs.

Evaluation

All scores load the files of this repository at revision 992aaf8.

Retrieval mode, official MTEB 2.12.30 (native 320-d, 1,792 visual tokens per page):

Benchmark Metric HydraQwen3.5-0.8B-Jev
ViDoRe V1 (10 tasks) mean nDCG@5 0.8814
ViDoRe V2 (4 tasks) mean nDCG@5 0.6025
ViDoRe V3 (8 public tasks) mean nDCG@10 0.5650

Reranking mode, with the temperatures in hydra_jev_config.json:

Benchmark Score
JevBench v1.4.1, 231 public items 155 correct (0.671), chance-corrected 51.8; easy 0.979, standard 0.764, hard 0.477
JevBench-mini, 1,938 questions coherence 0.661 (95% CI 0.635 to 0.686), accuracy 0.766
Page answerability on the retrieval top 5 of ViDoRe V1 / V2 / V3 AUROC 0.845 / 0.848 / 0.749

Loading reranking/ leaves every ViDoRe score and per-query ranking of retrieval mode unchanged, and generation with both adapters off reproduces Qwen3.5-0.8B logits and greedy output exactly. The resident weights take 1.99 GB; switching modes peaks at 2.57 GB.

Limitations

At a 0.90 threshold the reranker still rejects some answer pages and can pass neighbouring pages on the same topic. An answer split across two pages often passes on neither.

License

Apache-2.0, the license of the Qwen3.5-0.8B base.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for athrael-soju/HydraQwen3.5-0.8B-Jev

Finetuned
(520)
this model

Dataset used to train athrael-soju/HydraQwen3.5-0.8B-Jev

Space using athrael-soju/HydraQwen3.5-0.8B-Jev 1

Evaluation results

  • mean nDCG@5 on ViDoRe V1 (MTEB 2.12.30, 10 tasks)
    self-reported
    0.881
  • mean nDCG@5 on ViDoRe V2 (MTEB 2.12.30, 4 tasks)
    self-reported
    0.603
  • mean nDCG@10 on ViDoRe V3 (MTEB 2.12.30, 8 public tasks)
    self-reported
    0.565
  • accuracy on JevBench v1.4.1 (231 public items)
    self-reported
    0.671
  • coherence on JevBench-mini
    self-reported
    0.661