[negative result] Query decomposition changed 47 of 60 candidate pools and moved nothing #153
Replies: 2 comments 2 replies
The instrumentation is the part worth copying. Ten minutes of counting turned a null into a precondition. |
One caveat for anyone reusing this: the result is conditional on On a corpus with real vocabulary mismatch, sub-questions phrase things differently and would Worth stating in the write-up, because someone will otherwise cite this as evidence against |
Uh oh!
There was an error while loading. Please reload this page.
What I tried
Routed multi-hop questions through a decomposition step — split into sub-questions, retrieve for
each, union the pools — then measured.
The result
An exactly zero delta. Not small. Zero, with a zero-width interval.
Why I did not stop there
+0.0000looks like a bug, so my first instinct was that the routing was not firing. Iinstrumented it instead of assuming:
Decomposition worked. It changed the pool for 47 of 60 questions and issued 297 extra retrieval
calls. The reranker then put the same chunks on top anyway.
The finding
This is not "decomposition does not work". It is:
The diagnostic that made this a finding instead of a null
full_chain_recall_at_Nwas already 0.871 at baseline. The pool was not the bottleneck —packing was. Decomposition widens the pool, which is the stage that was already fine.
What I would tell a client
Before paying for decomposition, check
full_chain_recall_at_N. If it is already high, the secondhop is in your pool and decomposition has nothing to find. The precondition is a pool that is
missing the second hop, and it is one number away from being checked.
All reactions