Skip to content

Add VL-RouterBench and multimodal RouteFM/ProfileRouter adapters - #19

Merged
AIGNLAI merged 1 commit into
mainfrom
feat/vl-routerbench
Oct 15, 2026
Merged

AIGNLAI merged 1 commit into
mainfrom
feat/vl-routerbench

Conversation

@AIGNLAI

@AIGNLAI AIGNLAI commented Oct 15, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Add VL-RouterBench through the existing BaseDatasetLoader and router/evaluation contracts, with frozen metadata for 14 source datasets and 17 candidate VLMs, benchmark/task/model configs, README news and preparation documentation.
  • Read named upstream Steps 1/2 JSONL/Parquet/CSV exports rather than positional matrices or pickle indexes. Align queries and candidates by identity, preserve exported split assignments, reject incomplete/invalid records by default, and record source hashes and evaluation protocol sidecars.
  • Resolve TSV row-ordinal image references and reference chains, preserve original encoded image bytes, validate local paths and explicitly handle multiple images. Provide an opt-in archive downloader with a pinned SHA256, safe extraction and overwrite guards; the loader does not execute upstream preparation code or paid model calls.
  • Compute explicitly labeled reference costs from frozen prices and released token statistics. Record estimated-output flags; these costs are not certified provider bills. Guard against cross-split identical text inputs, with an explicit recorded drop-query policy when needed.
  • Add RouteFM-Qwen joint-embedding support via a local Qwen3-VL-Embedding-8B encoder or an explicitly configured compatible service. Retain default BGE text behavior and enforce frozen, normalized 4096-D Qwen features with no silent text-only fallback.
  • Add a separately labeled ProfileRouter multimodal extension using matched CLIP text/image encoders and normalized weighted fusion in one 512-D space; retain the original text path and existing graph/cost/scoring machinery.
  • Add optional top-level JSON CLI overrides, example configs, encoder/API contract tests and expanded all-method smoke coverage. Correct the CPU-fallback test expectation and include the local encoder interface dependency in CI.

Validation

  • Local python -m unittest discover -s tests -q: 106 tests passed.
  • The offline regression includes 176 method/benchmark/modality subcases: 30 text methods on each of four new benchmark fixtures, plus 28 compatible image methods on each MMRBenchV2/VLRouterBench fixture.
  • Compileall, every JSON config and relative documentation links checked; git diff --check passed.
  • Real bounded VL-RouterBench records: 30/30 text (36 train / 32 test queries) and 28/28 image (32 / 32), using RealWorldQA and the two Janus-Pro candidates. Training/context construction, prediction, allocation, metrics and JSON writing execute normally. These batch smoke runs use input-boundary surrogate features, not all production semantic encoders. RouteFM loads released BGE/Qwen router weights as appropriate; tiny Transformer fixtures and the NIRT auxiliary-annotation stub are explicitly recorded.
  • Separate real pretrained CLIP ViT-B/16 ProfileRouter smoke: 4 train / 4 test RealWorldQA queries, two candidates; train/predict/evaluate passed without encoder substitution. Changing the image while holding the question fixed changed the query vector (L2 delta approximately 0.7044).
  • Loopback HTTP contract tests cover actual image-byte transport, indexed response reordering, normalization and invalid-input rejection without calling a paid service.

Boundaries / not claimed

  • Upstream preparation is required; the raw archive is not a tabular load_dataset source. Real records were prepared with the reviewed upstream exporter revision; regenerated split files are not independently certified original-paper partitions.
  • The real-data checks above cover one source dataset and two candidates, not all 14 datasets/17 models or paper-quality reproduction.
  • Genuine Qwen3-VL-Embedding-8B end-to-end routing has not been validated locally: the encoder weights/service are unavailable. The released Qwen router was smoke-tested with explicitly labeled text/image-dependent surrogate vectors. The production local/API encoder paths must be checked with the actual encoder resource before claiming that validation.
  • ProfileRouter's CLIP mode is an ORBIT multimodal extension, not the original paper's multimodal reproduction.
  • ModelSAT and RouteLLM_BERT remain text-only in this adapter/test policy. On VL exports without released response strings, EA-RAM's optional response-based ex-post evaluator is not fitted; responses are never fabricated.
  • This PR does not certify all 30 methods across all 9 ORBIT benchmarks under default production configurations. Full cross-validation of the five legacy benchmarks remains separate work.

@AIGNLAI
AIGNLAI merged commit b27a920 into main Oct 15, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant