From 7dbbf2d467e25112534c0caf163b2222dfd9fb7e Mon Sep 17 00:00:00 2001 From: YurenHao0426 Date: Sat, 1 Aug 2026 23:59:53 -0500 Subject: Off-the-shelf encoder scale is flat: 22M to 1.5B moves the bound 0.328 to 0.311 Seven text encoders against a fixed DINOv2 vision side, priced by the anchor bound rather than the retired field correlation: PPMI 0.289 BGE-large 335M 0.308 MiniLM 22M 0.328 Qwen 0.5B 0.325 mpnet 110M 0.341 Qwen 1.5B 0.311 bert 110M 0.341 part-oracle ceiling 0.359 No correlation with scale and the largest model is not the best; a retrieval-tuned 335M encoder is worse than bert-base. All seven sit in a 0.29-0.34 band against a part-oracle ceiling of 0.359, so swapping in a stronger off-the-shelf encoder is closed as a route. That the band is narrow across unrelated architectures and training sets is itself the finding: what limits them is common to all of them. They are generic text encoders whose similarity geometry is organised around distinctions that do not line up with DINOv2's. Changing which one is used cannot fix that; changing how both towers are trained might, and that variable has never been touched. Also records the VG part-level oracle: annotator-supplied box-to-phrase correspondence buys 0.023 (0.336 -> 0.359), so part correspondence was never the problem either. Co-Authored-By: Claude --- artifacts/vg_5k/encoder_matrix.json | 48 +++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 artifacts/vg_5k/encoder_matrix.json (limited to 'artifacts/vg_5k') diff --git a/artifacts/vg_5k/encoder_matrix.json b/artifacts/vg_5k/encoder_matrix.json new file mode 100644 index 0000000..a4dc2d9 --- /dev/null +++ b/artifacts/vg_5k/encoder_matrix.json @@ -0,0 +1,48 @@ +{ + "protocol": "Vision side held fixed (DINOv2-base segments). Only the text encoder varies. All encoders are trained on text alone; no vision-language model is admissible. Priced by the anchor bound, since field correlation was shown not to govern recovery.", + "vg_part_oracle_ceiling": 0.359, + "rows": [ + { + "encoder": "PPMI (incumbent)", + "dimension": 128, + "correlation": 0.7154847097529566, + "anchor_bound": 0.2890625 + }, + { + "encoder": "MiniLM-L6 (22M)", + "dimension": 384, + "correlation": 0.7181425459501315, + "anchor_bound": 0.328125 + }, + { + "encoder": "mpnet-base (110M)", + "dimension": 768, + "correlation": 0.725563692615733, + "anchor_bound": 0.340625 + }, + { + "encoder": "bert-base (110M)", + "dimension": 768, + "correlation": 0.7420831753105741, + "anchor_bound": 0.340625 + }, + { + "encoder": "BGE-large (335M)", + "dimension": 1024, + "correlation": 0.7283621429669194, + "anchor_bound": 0.3078125 + }, + { + "encoder": "Qwen2.5-0.5B", + "dimension": 896, + "correlation": 0.7278852227261461, + "anchor_bound": 0.325 + }, + { + "encoder": "Qwen2.5-1.5B", + "dimension": 1536, + "correlation": 0.7281876334842069, + "anchor_bound": 0.3109375 + } + ] +} \ No newline at end of file -- cgit v1.2.3