<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Yinghong Lan]]></title><description><![CDATA[Yinghong Lan]]></description><link>https://yinghonglan.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!Op7j!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F260c8cb8-61bf-4c79-b975-477ac792986d_144x144.png</url><title>Yinghong Lan</title><link>https://yinghonglan.substack.com</link></image><generator>Substack</generator><lastBuildDate>Sun, 21 Jun 2026 11:46:52 GMT</lastBuildDate><atom:link href="https://yinghonglan.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[yyyyy]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[yinghonglan@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[yinghonglan@substack.com]]></itunes:email><itunes:name><![CDATA[Yinghong Lan]]></itunes:name></itunes:owner><itunes:author><![CDATA[Yinghong Lan]]></itunes:author><googleplay:owner><![CDATA[yinghonglan@substack.com]]></googleplay:owner><googleplay:email><![CDATA[yinghonglan@substack.com]]></googleplay:email><googleplay:author><![CDATA[Yinghong Lan]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Long-Form Video Understanding - Part 2: Evaluation and Benchmarks]]></title><description><![CDATA[Why long-video benchmarks cluster in the corner that's cheap to grade - and why the judge that could grade the rest is stuck there too.]]></description><link>https://yinghonglan.substack.com/p/long-form-video-understanding-part</link><guid isPermaLink="false">https://yinghonglan.substack.com/p/long-form-video-understanding-part</guid><dc:creator><![CDATA[Yinghong Lan]]></dc:creator><pubDate>Wed, 17 Jun 2026 06:09:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!fPtO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f33c8-47cd-4a4e-86a2-2cd06f3dbe77_1086x1448.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>In my previous writeup, I demystified <a href="https://yinghonglan.substack.com/p/introduction-to-multimodal-llm-as">Multimodal LLM-as-a-Judge</a>; in <a href="https://yinghonglan.substack.com/p/long-form-video-understanding-bottlenecks">Part 1</a> on long-form video understanding, I discussed current bottlenecks and design choices. This post finishes the small trilogy, diving into evaluation and benchmarks, and tying the other two together.</em></p><p>Before we start, let me define benchmarks and evaluation:</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://yinghonglan.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><ul><li><p>A <strong>benchmark</strong> is typically two things: what you are measuring - a set of <em>tasks</em>; and how you measure - a way to <em>score</em> answers against those tasks. It&#8217;s just one component of evaluation.</p></li><li><p><strong>Evaluation</strong> is the harder question of whether that score is actually useful to you. A benchmark can mislead on either side:</p><ul><li><p>Tasks may not require the capability you care about - e.g. answerable from one frame or the subtitles alone, when your use case needs real long-form understanding.</p></li><li><p>Scoring - e.g. LLM judges for open-ended answers - may not be calibrated to your use case.</p></li></ul></li></ul><p>The rest of this writeup dissects both:</p><ul><li><p><strong>Benchmark survey:</strong> I categorize benchmarks by task and scoring complexity, and point out clear gaps and the reasons behind them.</p></li><li><p><strong>Evaluation and Agentic Judge:</strong> there are clear gaps in open-ended, multi-hop questions - which is where a judge becomes essential. I connect back to my previous <a href="https://yinghonglan.substack.com/p/introduction-to-multimodal-llm-as">writeup</a>.</p></li><li><p><strong>Judge for training:</strong> I close with the training-time uses of a judge - for example, the agentic methods from <a href="https://yinghonglan.substack.com/p/long-form-video-understanding-bottlenecks">Part 1</a>.</p></li></ul><h3>Benchmarks for long-form video understanding</h3><p>Two different kinds of property matter here:</p><ul><li><p><strong>Task axes</strong> - how hard the answer is to <em>produce</em>: where the evidence sits (<em>scope</em>), and how many reasoning steps it takes (<em>depth</em>).</p></li><li><p><strong>Scoring axes</strong> - how hard the answer is to <em>verify</em>: whether it&#8217;s <em>closed or open-ended</em>, and whether it&#8217;s <em>objective or subjective</em>.</p></li></ul><p>And, as we&#8217;ll see, the two can be quite correlated.</p><h4>Task axes: evidence scope and compositional depth</h4><p>The earlier survey by <a href="https://arxiv.org/abs/2312.17432">Tang et al.</a> slices video tasks by granularity - abstract (e.g., video classification) vs. temporal (e.g., moment retrieval) vs. spatiotemporal (e.g., object tracking), along with varying degrees of language involvement. At a high level, this captures where the relevant evidence sits (<strong>scope</strong>). It&#8217;s a useful axis, but on its own it can mislead: where the evidence sits doesn&#8217;t tell you how hard the task is.</p><p>I think there&#8217;s a second, equally important dimension: how much planning and decomposition a task takes (<strong>depth</strong>) - i.e., how many steps the model has to chain together. Take two questions that both need the whole video (same scope), and both expect closed, objective answers:</p><ul><li><p>&#8220;Does anyone in a red coat ever appear?&#8221; - a presence check: find one match and stop - shallow.</p></li><li><p>&#8220;How many distinct people appear, counting each only once?&#8221; - scan the whole video, re-identify, dedup, and tally. Several dependent steps - deep.</p></li></ul><p>So I propose two task axes:</p><ul><li><p><strong>Evidence scope</strong> - where the relevant evidence sits: single frame &#8594; single clip &#8594; dispersed segments &#8594; whole video.</p></li><li><p><strong>Compositional depth</strong> - how many steps the model must chain:</p><ul><li><p><strong>L0 - Perceive:</strong> the relevant moment is specified; just recognize what&#8217;s there.</p></li><li><p><strong>L1 - Locate / retrieve:</strong> the target is specified; find whether and where it occurs.</p></li><li><p><strong>L2 - Single-hop reason:</strong> find the relevant evidence and reason once to an answer.</p></li><li><p><strong>L3 - Multi-hop / decompose:</strong> break into interdependent sub-questions, chain retrieve-then-reason steps, and aggregate.</p></li></ul></li></ul><h4>Scoring axes: closed/open-ended and objective/subjective </h4><p>To show that scoring is a separate dimension, take two questions of similar task difficulty:</p><ul><li><p>&#8220;How many distinct people appear in the whole video?&#8221; - wide scope and multi-hop, but the answer is a number you can check automatically.</p></li><li><p>&#8220;Who are the distinct people, and what distinguishes each?&#8221; - similar underlying work, but now the answer is free-form text with no exact match; you need a mechanism to read and judge it.</p></li></ul><p>So I propose two scoring axes:</p><ul><li><p><strong>Closed vs. open</strong> - can you auto-score it (exact match, tIoU), or do you need a model to read the answer (a judge)?</p></li><li><p><strong>Objective vs. subjective</strong> - is there a single defensible answer, or legitimate variation? (&#8221;Is the cinematography good?&#8221; - even a perfect judge can&#8217;t guarantee agreement without more objective standards.)</p></li></ul><p>It's worth noting that these axes together trace the line that separates verifiable from non-verifiable rewards in reinforcement learning.</p><h4>Benchmark categorization</h4><p>I categorize the major long-video benchmarks along all four axes below: scope and depth are a center-of-mass range (most benchmarks span several rungs); format and ground truth reflect each benchmark's primary scoring mode. (The full list of the 16 benchmarks is attached at the end)</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fPtO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f33c8-47cd-4a4e-86a2-2cd06f3dbe77_1086x1448.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fPtO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f33c8-47cd-4a4e-86a2-2cd06f3dbe77_1086x1448.png 424w, https://substackcdn.com/image/fetch/$s_!fPtO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f33c8-47cd-4a4e-86a2-2cd06f3dbe77_1086x1448.png 848w, https://substackcdn.com/image/fetch/$s_!fPtO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f33c8-47cd-4a4e-86a2-2cd06f3dbe77_1086x1448.png 1272w, https://substackcdn.com/image/fetch/$s_!fPtO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f33c8-47cd-4a4e-86a2-2cd06f3dbe77_1086x1448.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fPtO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f33c8-47cd-4a4e-86a2-2cd06f3dbe77_1086x1448.png" width="1086" height="1448" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7c2f33c8-47cd-4a4e-86a2-2cd06f3dbe77_1086x1448.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1448,&quot;width&quot;:1086,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1470883,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://yinghonglan.substack.com/i/202368914?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f33c8-47cd-4a4e-86a2-2cd06f3dbe77_1086x1448.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fPtO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f33c8-47cd-4a4e-86a2-2cd06f3dbe77_1086x1448.png 424w, https://substackcdn.com/image/fetch/$s_!fPtO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f33c8-47cd-4a4e-86a2-2cd06f3dbe77_1086x1448.png 848w, https://substackcdn.com/image/fetch/$s_!fPtO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f33c8-47cd-4a4e-86a2-2cd06f3dbe77_1086x1448.png 1272w, https://substackcdn.com/image/fetch/$s_!fPtO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7c2f33c8-47cd-4a4e-86a2-2cd06f3dbe77_1086x1448.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A few patterns worth highlighting:</p><ul><li><p>Almost every benchmark is closed and objective. Only <a href="https://arxiv.org/abs/2406.04264">MLVU</a> and <a href="https://arxiv.org/abs/2406.19875">InfiniBench</a> mix in open-ended questions - and those open slices are also the more subjective ones - while <a href="https://arxiv.org/abs/2604.10024">LVSum</a> is the one recent benchmark that is squarely open-ended and subjective throughout.</p></li><li><p><strong>Most benchmarks live at locate-and-retrieve (L1) or single-hop reasoning (L2).</strong> Genuine L3 - multi-hop decomposition - shows up only as subsets: the multi-detail split of <a href="https://arxiv.org/abs/2406.04264">MLVU</a>, the event-linking and spoiler questions in <a href="https://arxiv.org/abs/2406.19875">InfiniBench</a>, the adaptation track of <a href="https://arxiv.org/abs/2501.13826">Video-MMMU</a>, route planning in <a href="https://arxiv.org/abs/2412.14171">VSI-Bench</a>, forward-active responding in <a href="https://arxiv.org/abs/2501.05510">OVO-Bench</a>.</p></li><li><p><strong>Long is not deep.</strong> The longest benchmarks are still mostly L1-L2 - retrieve-and-answer over a long video, not decompose-and-reason: <a href="https://arxiv.org/abs/2406.08035">LVBench</a> at ~68 min average, InfiniBench at ~53 min.</p></li><li><p><strong>The benchmarks that aim deep often don&#8217;t test it.</strong> <a href="https://arxiv.org/abs/2308.09126">EgoSchema</a>, Video-MMMU&#8217;s adaptation track, and OVO-Bench&#8217;s forward-active responding all target multi-step reasoning, but force it into multiple choice - where a model can pattern-match or eliminate its way to the answer without actual step-by-step decomposition.</p></li></ul><p>Here is the evidence that the task and scoring axes are closely related: the only benchmarks that climb to L3 and whole-video scope are exactly the ones forced open-ended and subjective (<a href="https://arxiv.org/abs/2604.10024">LVSum</a>, the open slices of <a href="https://arxiv.org/abs/2406.04264">MLVU</a> and <a href="https://arxiv.org/abs/2406.19875">InfiniBench</a>) - and there are barely any of them.</p><p>That isn&#8217;t a coincidence. Current benchmarks live in the closed + objective + low-depth corner, even as video length scales up, and the two halves reinforce each other. The closed + objective bias likely reflects a desire to grade cheaply, with no Multimodal LLM-as-a-Judge required. And that format, in turn, limits the depth you can actually test - a genuinely multi-hop question posed as multiple choice invites exactly the shortcutting above, and <strong>a deep, holistic task rarely has one objective answer</strong>. So the tasks that genuinely need long-form understanding - deep, whole-video, open-ended - are also the ones we can&#8217;t grade with a cheap exact-match check. Which is exactly where a judge comes in.</p><h2>Evaluation and Agentic Judge</h2><p>The benchmark gap above - open-ended, multi-hop questions - is exactly where auto-scoring runs out and you need a model to read the answer and judge it. This is where I&#8217;ll pick up the thread from my previous writeup on <a href="https://yinghonglan.substack.com/p/introduction-to-multimodal-llm-as">Multimodal LLM-as-a-Judge</a>.</p><p>For multi-hop tasks specifically, a judge unlocks something a benchmark score can&#8217;t: <strong>process evaluation</strong>. Instead of only checking the final answer, it can verify the reasoning trajectory - did the model actually find the right evidence at each step, or did it guess its way to a plausible conclusion? In the judge writeup I called this <strong>agentic step verification</strong>.</p><p>That points to a design I find compelling for L3 questions: <strong>an agentic judge</strong>. A main judge decomposes the evaluation the way the multi-hop task decomposes - spawning smaller, specialized judges for each step and aggregating their verdicts. The decomposition that makes producing the answer hard is the same move that makes grading it tractable; it&#8217;s the natural extension of the rubric- and checklist-style judging I discussed before - breaking one fuzzy judgment into many checkable pieces.</p><p>But here&#8217;s the part I find most interesting, and it&#8217;s not just interpretability: <strong>decomposing the evaluation redistributes where the hard perceptual work lands</strong>. Take a genuinely L3 question over a two-hour film - &#8220;Why does the protagonist turn on their mentor in the final act?&#8221; - and say the model answers, &#8220;because the mentor&#8217;s betrayal, revealed at 1:12, recontextualizes the debt from act one.&#8221; A single judge would have to re-watch the whole film to grade that. An agentic judge instead asks a few different kinds of question:</p><ul><li><p><em>Localization</em>: do the cited scenes exist and show what&#8217;s claimed? - a couple of checks over short, pinpointed spans.</p></li><li><p><em>Grounding</em>: does the 1:12 clip actually reveal the betrayal? - again, local.</p></li><li><p><em>Entailment</em>: given those verified facts, does the &#8220;recontextualizes the debt&#8221; link actually follow? - pure text and logic, no video at all.</p></li><li><p><em>Completeness</em>: did the answer miss another motive set up somewhere else in the film? - this one still needs to scan the whole thing.</p></li></ul><p>Notice what happened: most of the grading collapsed into text-only logic checks - where a judge is very reliable - and short-span perceptual checks, where it&#8217;s far stronger than on long video. For all of those, the judge never has to take in the whole two hours. The long-video burden didn&#8217;t disappear, though - it got concentrated into that last check, which is where the real difficulty now lives.</p><p>And <strong>that difficulty is recall, not grounding</strong>. The localization and grounding checks only validate the evidence the model chose to cite - a model that points at the wrong scene can still pass every local check while having missed the real evidence. So the irreducible core is finding the evidence the answer should have used but didn&#8217;t, which means searching the whole video again. This is exactly where &#8220;agentic&#8221; differs from &#8220;checklist&#8221;: a checklist is static, but an agentic judge can retrieve spans on demand and actively hunt for that missed evidence - <strong>the same decompose-retrieve-aggregate loop the Part 1 agents use to answer, turned around to verify</strong>.</p><p>Two caveats, even so:</p><ul><li><p>Every sub-judge needs its own calibration, and the errors compound up the tree - you&#8217;ve traded one shaky judgment for many.</p></li><li><p>If the judge runs on the same kind of model as the policy it grades, the two share a perceptual blind spot - the judge will quietly miss exactly the visual mistakes the model is most prone to.</p></li></ul><p>So decomposing the evaluation narrows the blind spot to its hard core - whole-video recall, and the perception the judge shares with the model - but it doesn&#8217;t remove it.</p><h2>Judge for training</h2><p>So far I&#8217;ve treated the judge as a measuring instrument. But as I argued in the judge writeup, that&#8217;s the smaller half of its value - the more consequential use is at training time, and that&#8217;s where evaluation loops directly back into the design choices from <a href="https://yinghonglan.substack.com/p/long-form-video-understanding-bottlenecks">Part 1</a>.</p><p>Recall that Part 1 ended with trained agents: a model that decomposes a query, calls tools, and is optimized with RL or preference optimization. RL needs a reward, and for anything open-ended that reward is increasingly a judge.</p><p>This is where the agentic judge does something a final-answer judge can&#8217;t. A scalar &#8220;this answer is a 6&#8221; tells the model it was wrong but not where; per-step verdicts - localization fine, grounding fine, the step-2-to-3 link unsupported - tell it which step to fix. That&#8217;s the credit-assignment problem for multi-hop RL, and it&#8217;s exactly the kind of dense process reward the agentic methods in Part 1 are reaching for.</p><p>But the second caveat above turns into a real failure mode here. A process reward is only as honest as the judge behind it - <strong>and if that judge shares the policy&#8217;s perceptual blind spot, you&#8217;re rewarding the model for answers that look right to a grader that can&#8217;t see what&#8217;s wrong.</strong> The key unlock would be to de-correlate the judge&#8217;s perception gaps from the generator&#8217;s.</p><h2>Closing of the trilogy</h2><p>For current long-video benchmarks, length is no longer the bottleneck - we can already build two-hour benchmarks. The bottleneck is that the tasks we care about most - deep, whole-video, open-ended - and the only tool that could measure them at scale - a judge - are stuck in the same blind spot as articulated above.</p><p>That&#8217;s the connection I wanted to highlight across this trilogy:</p><ul><li><p><a href="https://yinghonglan.substack.com/p/long-form-video-understanding-bottlenecks">Part 1</a> built increasingly sophisticated machinery for deep, long-context, open-ended problems.</p></li><li><p>The benchmarks surveyed in this post barely cover those.</p></li><li><p>And the judge that could fill the gap doesn't exist yet - the hard part is keeping it from being weakest in that very spot.</p></li></ul><p>So perhaps the real frontier in long-form video understanding isn&#8217;t a longer benchmark or a bigger model - it&#8217;s an evaluation we can trust on the tasks we can&#8217;t yet measure. A well-calibrated, possibly multi-hop, genuinely multimodal judge is the most promising path I can see - but it&#8217;s far from solved.</p><h3><em>Appendix: benchmark links</em></h3><p><strong>General long-video QA</strong></p><ul><li><p>Video-MME: <a href="https://arxiv.org/pdf/2405.21075">Video-MME: The First-Ever Comprehensive Evaluation Benchmark of Multi-modal LLMs in Video Analysis</a> (Fu et al. 2024)</p></li><li><p>LongVideoBench: <a href="https://arxiv.org/pdf/2407.15754">LongVideoBench: A Benchmark for Long-context Interleaved Video-Language Understanding</a> (Wu et al. 2024)</p></li><li><p>MLVU: <a href="https://arxiv.org/pdf/2406.04264">MLVU: Benchmarking Multi-task Long Video Understanding</a> (Zhou et al. 2025)</p></li><li><p>LVBench: <a href="https://arxiv.org/pdf/2406.08035">LVBench: An Extreme Long Video Understanding Benchmark</a> (Wang et al. 2025)</p></li><li><p>EgoSchema: <a href="https://arxiv.org/pdf/2308.09126">EgoSchema: A Diagnostic Benchmark for Very Long-form Video Language Understanding</a> (Mangalam et al. 2023)</p></li><li><p>MVBench: <a href="https://arxiv.org/pdf/2311.17005">MVBench: A Comprehensive Multi-modal Video Understanding Benchmark</a> (Li et al. 2024)</p></li></ul><p><strong>Movies / narrative</strong></p><ul><li><p>InfiniBench: <a href="https://arxiv.org/pdf/2406.19875">InfiniBench: A Benchmark for Large Multi-Modal Models in Long-Form Movies and TV Shows</a> (Ataallah et al. 2025)</p></li></ul><p><strong>Knowledge-intensive</strong></p><ul><li><p>Video-MMMU: <a href="https://arxiv.org/pdf/2501.13826">Video-MMMU: Evaluating Knowledge Acquisition from Multi-Discipline Professional Videos</a> (Hu et al. 2025)</p></li><li><p>MMVU: <a href="https://arxiv.org/pdf/2501.12380">MMVU: Measuring Expert-level Multidiscipline Video Understanding</a> (Zhao et al. 2025)</p></li><li><p>VideoKR-Eval: <a href="https://arxiv.org/pdf/2606.05259">VideoKR: Towards Knowledge- and Reasoning-Intensive Video Understandin</a>g (Fu et al. 2026)</p></li></ul><p><strong>Spatial</strong></p><ul><li><p>VSI-Bench: <a href="https://arxiv.org/pdf/2412.14171">Thinking in Space: How Multimodal Large Language Models See, Remember, and Recall Spaces</a> (Yang et al. 2025)</p></li></ul><p><strong>Needle-in-a-haystack</strong></p><ul><li><p>VideoNIAH / VNBench: <a href="https://arxiv.org/pdf/2406.09367">Needle in a Video Haystack: a Scalable Synthetic Evaluator For Video MLLMs</a> (Zhao et al. 2024)</p></li></ul><p><strong>Instance-level grounding</strong></p><ul><li><p>V2P-Bench: <a href="https://arxiv.org/pdf/2503.17736">V2P-Bench: Evaluating Video-Language Understanding with Visual Prompts for Better Human-model Interaction</a> (Zhao et al. 2025)</p></li></ul><p><strong>Timestamp-aware summarization</strong></p><ul><li><p>LVSum: <a href="https://arxiv.org/pdf/2604.10024">LVSum: A Benchmark for Timestamp-Aware Long Video Summarization</a> (Patel et al. 2026)</p></li></ul><p><strong>Streaming</strong></p><ul><li><p>StreamingBench: <a href="https://arxiv.org/pdf/2411.03628">StreamingBench: Assessing the Gap for MLLMs to Achieve Streaming Video Understanding</a> (Lin et al. 2024)</p></li><li><p>OVO-Bench: <a href="https://arxiv.org/pdf/2501.05510">OVO-Bench: How Far is Your Video-LLMs from Real-World Online Video Understanding</a> (Li et al. 2025)</p></li></ul><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://yinghonglan.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Long-Form Video Understanding - Part 1: Bottlenecks and Design Choices ]]></title><description><![CDATA[A field guide to long-form video understanding: the design space across two axes - memory, from discard to keep; and compute, from external agents to agentified models.]]></description><link>https://yinghonglan.substack.com/p/long-form-video-understanding-bottlenecks</link><guid isPermaLink="false">https://yinghonglan.substack.com/p/long-form-video-understanding-bottlenecks</guid><dc:creator><![CDATA[Yinghong Lan]]></dc:creator><pubDate>Mon, 15 Jun 2026 02:10:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Op7j!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F260c8cb8-61bf-4c79-b975-477ac792986d_144x144.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h3>Bottlenecks: memory, compute, evaluation</h3><p>Recently I have been hearing and reading seemingly contradicting opinions on long-form video (from tens of minutes to several hours) understanding, such as:</p><ul><li><p>&#8220;<em>Sweeping through the whole video is necessary - we should focus on making that as efficient as possible</em>&#8221; vs. &#8220;<em>there are many clever tricks to selectively retrieve - let&#8217;s explore those.</em>&#8221;</p></li><li><p>&#8220;<em>We should just keep improving MLLMs until they can handle everything</em>&#8221; vs. &#8220;<em>agents are the future of video understanding - let&#8217;s build more agent swarms.</em>&#8221;</p></li></ul><p>My thesis is that these views are not really disagreeing about what is true - <strong>they are making different tradeoffs about where to spend limited &#8220;budget&#8221;</strong>. Unlike a text document or dozens of images, a two-hour video breaks the memory and compute budget in the absence of intentional compressing, sampling, or retrieving. The contradictions above reflect different design choices to solve this core challenge, and there is no consensus yet on a universally optimal design. Quite the contrary - two distinct axes of tradeoff are being actively explored:</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://yinghonglan.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><ul><li><p><strong>The memory axis.</strong> When you cannot afford to attend to everything, do you <em>throw information away</em> and lean on adaptive retrieval - or do you <em>keep all the information</em> and compress the attention/KV-cache? Two different answers to the same memory ceiling.</p></li><li><p><strong>The compute axis.</strong> When you cannot yet compute the answer accurately in one pass, do you <em>buy accuracy with an agentic system</em> that runs many inferences - or do you <em>internalize that agentic behavior into the model itself</em>, so it's a learned, native capability rather than an external orchestration loop?</p></li></ul><p><strong>And there is a third bottleneck that is, as always, evaluation</strong>. The problem is some benchmarks do not control for the complexity and dependency of the tasks they bundle together, which makes &#8220;approach A beats approach B&#8221; claims much weaker than they look:</p><ul><li><p><strong>Complexity isn&#8217;t controlled.</strong> Even the benchmarks marketed as &#8220;long&#8221; rarely exceed an hour, while real production workloads often run for hours.</p></li><li><p><strong>Dependency isn&#8217;t controlled.</strong> Plenty of &#8220;video&#8221; questions are anchored on a single frame or a few seconds, or are answerable from the transcript/subtitle alone, with no real long-range understanding required. </p></li></ul><p><em><strong>To keep this writeup focused and readable, I&#8217;ll use the rest of it to survey the design choices along these two axes, and leave evaluation and benchmarks for long-form video understanding to a separate future writeup (Part 2).</strong></em></p><p><em>Sidebar clarification</em>: technically one could push a two-hour video into a long-context model like Gemini. But it does not work reliably for tasks that genuinely require long-form temporal understanding, e.g., &#8220;what is the story arc for the character first appearing between 20:02 ~ 20:22 min in a blue coat?&#8221; While it&#8217;s hard to know the full details of these closed models, it is reasonable to conjecture that they are leaning on subtitles/ASR, metadata, or a handful of frames for most questions. As shown in recent benchmarks built from movies and TV shows (<a href="https://arxiv.org/abs/2406.19875">InfiniBench</a>, Ataallah et al. 2025), models can score pretty well for certain tasks purely based on subtitles and metadata (related to the aforementioned issue of &#8220;dependency isn&#8217;t controlled&#8221; ). In summary, &#8220;feed the whole video to a frontier model&#8221; is not a silver bullet for long-form video understanding.</p><h3>Memory design choice: discard vs. keep</h3><p>Of course, solutions are not as simple as keep nothing vs. keep everything - there is a full spectrum, running from aggressively throwing information away to keeping all of it and paying the cost somewhere else. </p><h4>Aggressively discard: adaptive selection of frames, clips, and patches</h4><p>Instead of uniform sampling, prev work has proposed selecting only what matters:</p><ul><li><p>Lightweight learned selectors of <strong>frames</strong> (<a href="https://arxiv.org/abs/2502.19680">M-LLM Based Video Frame Selection</a>, Hu et al. 2025)</p></li><li><p>Training-free key <strong>clip</strong> selection that keeps short coherent segments instead of isolated frames (<a href="https://arxiv.org/abs/2510.02262">From Frames to Clips</a>, Sun et al. 2025)</p></li><li><p>RL for samplers (<a href="https://arxiv.org/abs/2508.04369">Temporal Sampling Policy Optimization</a>, Tang et al. 2025) where an event-aware &#8220;temporal agent&#8221; is trained for keyframe selection</p></li><li><p>Reasoning driven sampling that traverses coarse summaries, refines its focus, and halts once it has enough evidence (<a href="https://arxiv.org/abs/2602.20913">LongVideo-R1</a>, Qiu et al. 2026)</p></li><li><p>Joint RL training of the sampler and the model (<a href="https://arxiv.org/abs/2602.22932">MSJoE</a>, Tan et al. 2026)</p></li></ul><p>There is a second, somewhat orthogonal design choice here: most selectors are &#8220;query conditioned&#8221;, meaning they will select frames / clips based on the user question; while others are &#8220;query agnostic&#8221;. For example, <a href="https://arxiv.org/abs/2603.12254">Attend Before Attention</a> / AutoGaze (Shi et al. 2026) does <strong>patch-level</strong> pre-encoder selection, trained to keep the minimal set of patches that still reconstructs each frame within an error budget. Depending on the application, &#8220;query conditioned&#8221; tends to win on accuracy, but &#8220;query agnostic&#8221; is the only option when there is no query up front (e.g. building an index).</p><h4>Shrink instead of drop: more efficient representations</h4><p>Instead of hard-dropping frames, we can shrink the representation itself - and there's more than one way to do that:</p><ul><li><p><strong>Compression</strong>: <a href="https://arxiv.org/abs/2504.02438">Hierarchical Differential Distillation</a> / ViLAMP (Cheng et al. 2025) proposed a &#8220;mixed precision&#8221; style approach to keep keyframes intact and compress the rest at the patch level</p></li><li><p><strong>Pooling</strong>: <a href="https://arxiv.org/abs/2504.06835">LVC</a> (Wang et al. 2025) studied retrofitting long-form video understanding capabilities onto existing VLMs by query-weighted pooling, collapsing windows of densely-sampled frames into a handful of &#8220;pseudo-frames&#8221; </p></li><li><p><strong>Cheaper encoding</strong>: <a href="https://arxiv.org/pdf/2605.17260">LiteFrame</a> (Kim et al. 2026) points out that, with aggressive &#8220;post-hoc&#8221; visual token reduction (after feature extraction), the bottleneck moves to the per-frame vision encoder. So it distills a more efficient vision encoder for better latency-accuracy tradeoffs. (Note: this line of work can help regardless of keep or discard since it sits upstream)</p></li></ul><h4>Keep-it-all: cheaper attention</h4><p>Another school of thinking is we shouldn&#8217;t drop anything, because whatever you discard early may very well be what the question turns out to need later. <a href="https://arxiv.org/abs/2606.12195">InternVideo3</a> (Yan et al. 2026) explicitly rejects &#8220;aggressive frame subsampling, retrieval, or summarization&#8221; and instead proposes an <strong>attention re-parameterization</strong> (<em>Multimodal Multi-head Latent Attention</em>, M2LA) that compresses KV-cache while preserving the full multimodal token stream. It's the clearest video-native instance of the keep-everything bet, potentially inspired by the broader efficient-long-context-attention line (latent / multi-head latent attention).</p><h4>An orthogonal lever: faster decoding</h4><p>Regardless of keep or discard, speculative decoding can speed up models&#8217; token-by-token generation in lossless ways. <a href="https://arxiv.org/abs/2603.19610">ParallelVLM</a> (Kong et al. 2026) - following the <a href="https://aclanthology.org/2025.emnlp-main.366.pdf">SpecVLM</a> (Ji et al. 2025) work - parallelizes the draft-then-verify pipeline to speed up decoding.</p><h4>Streaming videos: a routing problem</h4><p>Streaming is where keep-it-all is not an option since frames keep arriving forever - the memory budget is bounded while the input is not. A body of work (<a href="https://arxiv.org/abs/2603.19571">CurveStream</a>, Wang et al. 2026; <a href="https://arxiv.org/abs/2603.02096">FluxMem,</a> Xie et al. 2026; <a href="https://arxiv.org/abs/2605.16481">VAM</a>, Li et al. 2026; <a href="https://arxiv.org/abs/2604.17052">OASIS</a>, Liang et al. 2026) has converged on &#8220;<strong>hierarchical memory</strong>&#8221;: maintain a fixed budget and route incoming frames into keep vs. discard vs. not-sure buckets. It is worth noting some failure modes here: memory built out of the previous model-generated narrations can compound errors, and naive retrieval into the context window can contaminate reasoning. To put it simply, bad memory is worse than less memory. </p><h3>Compute design choice: externalizing computation vs. internalizing it</h3><p>This axis of design choice boils down to: for long-form video understanding, there is a need for <strong>step-by-step computation</strong> (e.g., decompose the query &#8594; retrieve evidence &#8594; reason through the evidence &#8594; final answer). We have to decide where and how this type of step-by-step computation happens.</p><h4>Option 1 - externalize into language / symbolic intermediates</h4><p>This is the classic option: turn the video into text (video caption, audio transcription) or structured symbols (object tracks, bounding boxes) and then invoke a text LLM to reason over these intermediate artifacts. Despite the fact that the video representation here is not adaptive (artifacts are fixed after the initial step), <strong>this option is actually pretty robust in practice - and thus is always worth baselining with.</strong> As mentioned above, subtitle/ASR alone is very competitive for some tasks. In addition, <a href="https://arxiv.org/abs/2504.07454">ObjectMLLM</a> (Tang et al. 2025) found that explicit object structure remains necessary and the best way to feed it is as plain text instead of distributed visual embeddings.</p><h4>Option 2 - externalize into an agent loop</h4><p>The agent loop is typically: give the model tools - crop the video, retrieve a clip, run a detector - then let it observe, reason, act, and repeat across rounds. The difference across work is <em>how the agent's policy is obtained</em>.</p><p><strong>Prompted / training-free orchestration</strong> - the policy is hand-built or zero-shot prompted:</p><ul><li><p><a href="https://aclanthology.org/2026.eacl-industry.30.pdf">VideoMind</a> (Bhatnagar et al. 2026) - a single MLLM plays multiple roles: decomposes the query into sub-queries and switches between operational modes (multi-scale temporal search vs. single-frame visual detail), allocating compute on the fly.</p></li><li><p><a href="https://arxiv.org/abs/2505.18079">Deep Video Discovery</a> (Zhang et al. 2025) - first indexes the video into a multi-granular, searchable database (segmented clips &#8594; captions/embeddings), then lets an LLM agent autonomously search and retrieve over it with tools, rather than following a fixed retrieval procedure.</p></li></ul><p><strong>Trained policy</strong> - a clear recent trend: instead of fixing the scaffold by hand, train the agent's policy. The recipe usually starts with an SFT cold start (imitate expert traces to teach a tool's format and semantics), then a policy-optimization step - and there are two flavors of that step:</p><ul><li><p><em>Trajectory preference optimization</em> - <a href="https://arxiv.org/abs/2506.10821">VideoExplorer</a> (Yuan et al. 2025) intertwines planning, temporal grounding, and re-perception in one loop; after SFT, it applies trajectory-level DPO (TDPO) to reward faithful full trajectories and penalize flawed reasoning paths.</p></li><li><p><em>Online RL (GRPO)</em> - <a href="https://arxiv.org/abs/2511.20785">LongVT</a> (Yang et al. 2026) trains a native "crop-and-re-inspect" tool for a global-skim-then-local-zoom loop; <a href="https://arxiv.org/abs/2605.16079">VideoSeeker</a> (Zhao et al. 2026) trains instance-level view/crop tools driven by visual prompts - among a fast-growing cluster (for example see also <a href="https://arxiv.org/abs/2602.20913">LongVideo-R1</a> mentioned above).</p></li></ul><p>It&#8217;s worth noting that training recipe is finicky here: base models don&#8217;t use tools on their own - SFT is needed to ground the tool. An explicit &#8220;use the tool&#8221; reward yields little gain once SFT has grounded the tool, and naive recall-based grounding rewards get hacked easily (IoU-style reward is better). Following SFT, RL mostly helps get better agent policies for the same external loop, e.g. fewer wasted inference calls.</p><h4>Option 3 - internalize the agent loop into the model</h4><p>Option 3 takes the Option-2 trend one step further. The RL-trained agents above still run an explicit external loop - RL just gives them a better policy for it. Option 3 asks: once the policy lives in the weights, why keep the external loop at all? - and collapses the step-by-step computation into the MLLM's own forward pass, so the model <em>learns</em> the agentic behavior rather than relying on an orchestration wrapped around it. Similar to everything else, there is a spectrum of how far you take this:</p><ul><li><p><strong>Latent reasoning - </strong>instead of emitting explicit tool calls or text, just do the intermediate reasoning in continuous hidden states. In theory this can be efficient and fully end-to-end, but in practice supervision, training, and generalization may get very challenging - and that&#8217;s perhaps why I couldn&#8217;t find a good recent example for long-form video understanding.</p></li><li><p><strong>Internalized discrete operations</strong> - instead of executing operations externally, keep the operations internal and interpretable. <a href="https://arxiv.org/abs/2605.15198">ATLAS</a> (Guo et al. 2026) is a good recent example: it represents each visual operation as a single discrete &#8220;functional token&#8221; - no external tool call, no context-switching, yet still an interpretable trace. However, it is done on image reasoning - not long-form video yet.</p></li><li><p><strong>Internalized full reasoning loop</strong> - <a href="https://arxiv.org/abs/2606.12195">InternVideo3</a> (Yan et al. 2026), mentioned above in the memory section, formulates &#8220;<em>Multimodal Contextual Reasoning</em>&#8221;: observe &#8594; reason &#8594; act &#8594; update, inside one context rather than an external loop. It&#8217;s worth noting that this is made possible by the attention trick (M2LA). The model can still call tools, but the agent loop is now a native property of the model&#8217;s context, not an external scaffold.</p></li></ul><p>Frontier labs might be converging on this last approach, for example, <a href="https://arxiv.org/abs/2602.02276">Kimi K2.5</a> (Kimi Team 2026) starts from a native multimodal model and trains its agentic behavior in - its multi-agent &#8220;swarm&#8221; orchestrator is RL-trained rather than hand-built. </p><p>However, one question still remains unsettled: does internalizing the agent loop into the model always beat external agent loops? Or are we just hiding the same computation behind a different interface (now the model itself)? Does a fundamentally different approach exist, yet to be fully explored? </p><p>This last approach is also a good example to show that the memory and the compute axes are never fully independent from each other: <a href="https://arxiv.org/abs/2606.12195">InternVideo3</a> pairs &#8220;<em>Multimodal Contextual Reasoning</em>&#8221; with &#8220;<em>Multimodal Multi-head Latent Attention&#8221;</em>. The third axis, evaluation, is deeply entangled with everything discussed here too - I will cover that in a future writeup (Part 2). </p><p></p><p></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://yinghonglan.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Introduction to (Multimodal) LLM-as-a-Judge]]></title><description><![CDATA[Generation&#8211;Verification Asymmetry, the Multifaceted Value of LLM-as-a-Judge, and Examples of Multimodal LLM-as-a-Judge]]></description><link>https://yinghonglan.substack.com/p/introduction-to-multimodal-llm-as</link><guid isPermaLink="false">https://yinghonglan.substack.com/p/introduction-to-multimodal-llm-as</guid><dc:creator><![CDATA[Yinghong Lan]]></dc:creator><pubDate>Sun, 14 Jun 2026 01:27:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!p0N4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28665c-24c2-4eef-96b3-497c4d89e769_1964x1054.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>This writeup is an introduction on (Multimodal) LLM-as-a-Judge - a wide overview rather than a deep technical discussion.</em></p><h3>Generation-Verification Asymmetry</h3><p>Let&#8217;s begin by addressing this common question: if we provide the same context to both the generator and judge, why would a (Multimodal) LLM-as-a-Judge add value? Below are some common reasons:</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://yinghonglan.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><ul><li><p><strong>Verification is often easier than generation</strong> - a common metaphor here is &#8220;more people can critique and appreciate great artwork than create it.&#8221; The judge does not need to generate high quality and comprehensive answers - it just needs to recognize quality or gaps in one.</p></li><li><p><strong>&#8220;Providing the same context&#8221; is not exactly true</strong>. The judge receives the generator&#8217;s output - e.g., retrieved frames, reasoning path, and final conclusions - in addition to the original context. Furthermore, compared to the original context, the additional artifact - the generator&#8217;s output - tends to be more specific to the actual problem to solve. The judge can compare it against specific guardrails and rubrics, and check consistency and gaps.</p></li><li><p><strong>You can have multiple judges, one for each specific dimension</strong>, thereby breaking down complex matrices of quality and consistency requirements into more tractable metrics. In contrast, generators need to balance all these requirements in their output.</p></li><li><p>The generator often commits sequentially - token by token, chunk by chunk. The judge, in contrast, can <strong>review the final output holistically</strong> and catch errors or inconsistencies at a higher level.</p></li></ul><h3>Multifaceted Value of LLM-as-a-Judge</h3><p>Next, let&#8217;s demystify a common misconception: that a judge is only useful for evaluation. In practice, LLM-as-a-Judge has many application scenarios across both online / inference and offline / training:</p><p><em>Online / Inference time</em></p><ul><li><p><strong>Quality Control</strong>: the judge can reject outputs that fail predefined quality rubrics, or escalate them to a human-in-the-loop - e.g., rejecting a multimodal agent&#8217;s answer if it isn&#8217;t grounded in the retrieved frames.</p></li><li><p><strong>Best-of-N selection</strong>: the judge can pick the best from multiple candidates (or reasoning trajectories) the generator outputs - e.g., sampling five reasoning paths through a video and selecting the one with the highest grounding and consistency scores.</p></li><li><p><strong>Self-refinement loops</strong>: the judge critiques the generator&#8217;s first-pass output (&#8221;reasoning skipped frames 30&#8211;45&#8221;) and the same generator revises with the judge&#8217;s feedback, iterating until the output clears the predefined quality bar.</p></li><li><p><strong>Input into a downstream editor / post-processor</strong>: similar to self-refinement, except the judge&#8217;s feedback - e.g., missing visual elements, weak grounding, hallucinated entities - goes to a separate editor / post-processor, which fixes the issues directly rather than regenerating from scratch.</p></li><li><p><strong>Agentic step verification</strong>: beyond judging the final output, the judge can validate each intermediate action - tool call, retrieved frame, reasoning step - before the agent commits to the next one, catching errors mid-trajectory rather than after the full answer is produced.</p></li></ul><p><em>Offline / Training time</em></p><ul><li><p><strong>Training data filter</strong>: the judge can help filter existing human or synthetic data - e.g., removing flawed, ungrounded, or unverifiable reasoning trajectories - to curate higher quality training datasets.</p></li><li><p><strong>Synthetic annotator</strong>: the judge can help annotate final outputs, trajectories, or intermediate steps - e.g., labeling (query, agent trajectory, final output) triples - to scale training data for the generator beyond what human annotators can produce.</p></li><li><p><strong>Reward function for reinforcement learning</strong>: the judge can provide scalar rewards or preference pairs (chosen vs. rejected) for various RL methods, scaling beyond what human preference labeling can support.</p></li></ul><h3>Examples of Multimodal LLM-as-a-Judge</h3><p>LLM-as-a-Judge can be applied across a diverse set of problems - for this writeup, I want to specifically discuss Multimodal LLM-as-a-Judge for multimodal understanding.</p><p><a href="https://arxiv.org/pdf/2402.04788">MLLM-as-a-Judge</a> (Chen et al. 2024) - the first comprehensive study of Multimodal LLM-as-a-Judge - built human-annotated benchmarks for image-instruction pairs spanning image captioning, math reasoning, text reading, and infographics understanding. It assessed MLLM judgment's alignment with human annotators across three settings: <em>scoring evaluation</em>, <em>pairwise comparison</em>, and <em>batch ranking</em>. It showed that while <strong>MLLMs are closer to human judgment on pairwise comparison, there are still significant gaps in scoring and batch ranking</strong>. Furthermore, MLLM-as-a-Judge exhibits various biases (position bias, length bias, and self-preference), hallucinations, and inconsistencies.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!p0N4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28665c-24c2-4eef-96b3-497c4d89e769_1964x1054.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!p0N4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28665c-24c2-4eef-96b3-497c4d89e769_1964x1054.png 424w, https://substackcdn.com/image/fetch/$s_!p0N4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28665c-24c2-4eef-96b3-497c4d89e769_1964x1054.png 848w, https://substackcdn.com/image/fetch/$s_!p0N4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28665c-24c2-4eef-96b3-497c4d89e769_1964x1054.png 1272w, https://substackcdn.com/image/fetch/$s_!p0N4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28665c-24c2-4eef-96b3-497c4d89e769_1964x1054.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!p0N4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28665c-24c2-4eef-96b3-497c4d89e769_1964x1054.png" width="1456" height="781" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5f28665c-24c2-4eef-96b3-497c4d89e769_1964x1054.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:781,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:606836,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://yinghonglan.substack.com/i/201885329?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28665c-24c2-4eef-96b3-497c4d89e769_1964x1054.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!p0N4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28665c-24c2-4eef-96b3-497c4d89e769_1964x1054.png 424w, https://substackcdn.com/image/fetch/$s_!p0N4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28665c-24c2-4eef-96b3-497c4d89e769_1964x1054.png 848w, https://substackcdn.com/image/fetch/$s_!p0N4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28665c-24c2-4eef-96b3-497c4d89e769_1964x1054.png 1272w, https://substackcdn.com/image/fetch/$s_!p0N4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f28665c-24c2-4eef-96b3-497c4d89e769_1964x1054.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><a href="https://arxiv.org/pdf/2503.17489">JudgeAnything</a> (Pu et al. 2025)'s TaskAnything benchmark spans 15 any-to-any modality categories - for both generation and understanding - and its JudgeAnything evaluates judging over those tasks. The paper showed that while MLLM-as-a-Judge is promising for understanding (best performance is still with pairwise comparison), there are still significant challenges for generation. It also outlined three different judgment settings (how judges are elicited):</p><ul><li><p><em>Overall</em>: direct judging, where the judge directly provides reasoning and a final judgment</p></li><li><p><em>Rubric</em>: the judge is required to judge based on fine-grained rubrics before making a final judgment</p></li><li><p><em>Checklist</em>: the judge first evaluates against detailed checklists - curated through a human-in-the-loop process - before making a final judgment</p></li></ul><p>Across these settings, the paper showed that <strong>MLLM-as-a-Judge can be enhanced by well-constructed rubrics and checklists</strong>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MLJa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f27d8e-cffb-4e10-b66c-1304880dff60_2278x1170.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MLJa!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f27d8e-cffb-4e10-b66c-1304880dff60_2278x1170.png 424w, https://substackcdn.com/image/fetch/$s_!MLJa!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f27d8e-cffb-4e10-b66c-1304880dff60_2278x1170.png 848w, https://substackcdn.com/image/fetch/$s_!MLJa!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f27d8e-cffb-4e10-b66c-1304880dff60_2278x1170.png 1272w, https://substackcdn.com/image/fetch/$s_!MLJa!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f27d8e-cffb-4e10-b66c-1304880dff60_2278x1170.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MLJa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f27d8e-cffb-4e10-b66c-1304880dff60_2278x1170.png" width="1456" height="748" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e0f27d8e-cffb-4e10-b66c-1304880dff60_2278x1170.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:748,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:946344,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://yinghonglan.substack.com/i/201885329?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f27d8e-cffb-4e10-b66c-1304880dff60_2278x1170.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MLJa!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f27d8e-cffb-4e10-b66c-1304880dff60_2278x1170.png 424w, https://substackcdn.com/image/fetch/$s_!MLJa!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f27d8e-cffb-4e10-b66c-1304880dff60_2278x1170.png 848w, https://substackcdn.com/image/fetch/$s_!MLJa!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f27d8e-cffb-4e10-b66c-1304880dff60_2278x1170.png 1272w, https://substackcdn.com/image/fetch/$s_!MLJa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe0f27d8e-cffb-4e10-b66c-1304880dff60_2278x1170.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>A key characteristic of judging in multimodal understanding is that the judge is typically evaluating a text response conditioned on multimodal input. This has major implications - either the judge needs to be truly multimodal and rely on its own perception capabilities, or the judge is just grading text against a (possibly flawed) video description or audio transcription, i.e., a purely text-based LLM-as-a-Judge setup. The above two studies focused on the former, whereas the study below compared the two options.</p><p><a href="https://arxiv.org/pdf/2509.21451">VideoJudge</a> (Waheed et al. 2025) introduced 3B/7B MLLM judges specialized to evaluate text responses conditioned on videos, with two notable findings:</p><ul><li><p>Small specialized judges can match or surpass much larger general-purpose judges; furthermore, VideoJudge generates test-time rubrics for fine-grained, interpretable scoring.</p></li><li><p>Genuinely multimodal judges can outperform text-only LLMs that only see the text description, and long chain-of-thought reasoning is not a viable mitigation for the video perception gap.</p></li></ul><p>The process to bootstrap MLLM-as-a-Judge training data in VideoJudge works as follows:</p><ul><li><p>Start with seed data - human-provided gold responses - from three large-scale video instruction&#8211;response datasets (VideoInstruct-100K, VCG-Plus-112K, VideoChat2-IT); for multi-turn dialogues, only the first human&#8211;assistant exchange is used.</p></li><li><p>A (data) generator model produces (N&#8722;1) candidate responses, where N is the rating scale.</p></li><li><p>A (data) evaluator model rates each candidate response and provides the corresponding reasoning.</p></li><li><p>Compute the deviation between the generator&#8217;s rating and the evaluator&#8217;s assigned rating - for candidates with a large deviation, the generator is prompted again with the evaluator&#8217;s feedback to improve its response.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!I_9Z!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b2a2897-5dd0-4eed-aae7-1678cbf3c3fe_1800x786.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!I_9Z!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b2a2897-5dd0-4eed-aae7-1678cbf3c3fe_1800x786.png 424w, https://substackcdn.com/image/fetch/$s_!I_9Z!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b2a2897-5dd0-4eed-aae7-1678cbf3c3fe_1800x786.png 848w, https://substackcdn.com/image/fetch/$s_!I_9Z!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b2a2897-5dd0-4eed-aae7-1678cbf3c3fe_1800x786.png 1272w, https://substackcdn.com/image/fetch/$s_!I_9Z!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b2a2897-5dd0-4eed-aae7-1678cbf3c3fe_1800x786.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!I_9Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b2a2897-5dd0-4eed-aae7-1678cbf3c3fe_1800x786.png" width="1456" height="636" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5b2a2897-5dd0-4eed-aae7-1678cbf3c3fe_1800x786.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:636,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:266407,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://yinghonglan.substack.com/i/201885329?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b2a2897-5dd0-4eed-aae7-1678cbf3c3fe_1800x786.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!I_9Z!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b2a2897-5dd0-4eed-aae7-1678cbf3c3fe_1800x786.png 424w, https://substackcdn.com/image/fetch/$s_!I_9Z!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b2a2897-5dd0-4eed-aae7-1678cbf3c3fe_1800x786.png 848w, https://substackcdn.com/image/fetch/$s_!I_9Z!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b2a2897-5dd0-4eed-aae7-1678cbf3c3fe_1800x786.png 1272w, https://substackcdn.com/image/fetch/$s_!I_9Z!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5b2a2897-5dd0-4eed-aae7-1678cbf3c3fe_1800x786.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3>Evaluation and Calibration of Multimodal LLM-as-a-Judge</h3><p><strong>(Multimodal) LLM judges are not ground truth</strong> - they are also models requiring evaluation, calibration and quality control.</p><p><strong>Evaluation of MLLM-as-a-Judge is anchored on agreement with human judgment</strong>, as scaling human annotation is the biggest motivation. As showcased in the studies reviewed above, standard practices are:</p><ul><li><p>Curate a human/expert-annotated golden dataset.</p><ul><li><p>Not all human datasets are golden - it is critical to make sure humans agree on these annotations first. In addition, it is important to distinguish "low agreement from poor guidelines" (something we should fix) from "low agreement from intrinsic subjectivity" (a hard task-specific ceiling that indicates the task is worth breaking down further).</p></li></ul></li><li><p>Measure agreement with human judgments. Similar to the point above, if the agreement rate is low - especially for clear-cut cases - the MLLM-as-a-Judge needs further iteration.</p></li><li><p>Evaluate the reasoning as well - rubric-level evaluation is crucial especially for production scenarios where the rationales for the final output also matter, not just the output itself.</p></li></ul><p>Calibration and quality control of MLLM-as-a-Judge:</p><ul><li><p><strong>Confidence-based escalation</strong>: estimate the confidence of the judge and escalate to human evaluation when low, in order to guarantee a certain level of human agreement. Similarly, to further optimize scalability, smaller, faster judges can be deployed at scale and escalate to stronger, more time-consuming ones only when confidence is low.</p></li><li><p><strong>Juries instead of judges</strong>: mix judges across different model families and use disagreement among them as a signal to flag low confidence / high ambiguity for human review. However, a jury of judges that have the same limitations (e.g., poor perception capabilities) will agree confidently and wrongly - instead of expanding the jury, we should prioritize fixing these limitations or relying on human-in-the-loop escalations.</p></li><li><p><strong>Debiasing</strong>: randomize candidate ordering to counter position bias; intentionally control for length bias; systematically audit for self-preference.</p></li></ul><p>It is critical to point out that optimizing generators against under-evaluated or under-calibrated judges is extremely harmful: going back to the multifaceted value of MLLM judges, using a poor judge for RL or training curation will greatly increase the risk of reward hacking or persistent model blind spots. For all these reasons, calibration and bias auditing must become prerequisites, not afterthoughts.</p><h3>Limitations of Multimodal LLM-as-a-Judge</h3><p><strong>Reliability is task-dependent</strong>: There is no such thing yet as a &#8220;universally reliable&#8221; Multimodal LLM-as-a-Judge. Evaluation is intrinsically application-dependent - a feature, not a bug. Reliability of the judge for one task is never guaranteed to transfer to another.</p><p><strong>Long-form video remains hard</strong>: <a href="https://arxiv.org/pdf/2509.21451">VideoJudge</a> showed that baseline MLLM judges drop substantially on LongVideoBench, even as their trained judges held up - underscoring that long-video judging remains hard without specialized adaptation.</p><p><strong>Perceptual bias persists</strong>: A recent work, <a href="https://arxiv.org/pdf/2606.02578">Perceptual Judgment Bias</a> (Park et al. 2026), showed that MLLM judges tend to &#8220;reward plausible narratives over perceptually correct answers&#8221;, biasing toward text over visual evidence. This paper proposed a new dataset and a training framework to improve perceptual fidelity, pointing to opportunities for strengthening MLLM judges.</p><p>Taken together, these findings show that the asymmetry between generation and verification articulated earlier is likely larger for some tasks (factual consistency, rubric-checking) than others (long-context temporal grounding, fine-grained perception).</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://yinghonglan.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>