|
<svg width="800" height="600" xmlns="http://www.w3.org/2000/svg" font-family="sans-serif" font-size="10"> |
|
<title>QKOV Temporal Inference: Context Collapse vs Prediction Residue</title> |
|
|
|
<defs> |
|
<symbol id="glyph-misalign" viewBox="-10 -10 20 20"> |
|
<text class="glyph misalign-glyph" x="0" y="0" dominant-baseline="central" text-anchor="middle">⟁</text> |
|
</symbol> |
|
<symbol id="glyph-ghost" viewBox="-10 -10 20 20"> |
|
<text class="glyph ghost-glyph" x="0" y="0" dominant-baseline="central" text-anchor="middle">🝚</text> |
|
</symbol> |
|
|
|
<marker id="arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="5" markerHeight="5" orient="auto-start-reverse"> |
|
<path d="M 0 0 L 10 5 L 0 10 z" fill="#555" opacity="0.8"/> |
|
</marker> |
|
</defs> |
|
|
|
<style> |
|
.bg-rect { fill: #fafafa; } |
|
.graph-title { font-size: 16px; font-weight: bold; text-anchor: middle; } |
|
.node circle { stroke: #333; stroke-width: 1; } |
|
.node-label { font-size: 9px; text-anchor: middle; dominant-baseline: middle; } |
|
.ghost-node circle { stroke-dasharray: 3,2; stroke: #b08d57; fill: #fff; } |
|
|
|
.context-collapse { fill: #a8dadc; } |
|
.prediction-residue { fill: #d8f3dc; } |
|
|
|
.edge-line { stroke: #6c757d; stroke-width: 1.5; marker-end: url(#arrow); fill: none; } |
|
.edge-label { font-size: 9px; fill: #e63946; font-weight: bold; text-anchor: middle; dominant-baseline: central; } |
|
.misalign-connector { stroke: #adb5bd; stroke-width: 1; stroke-dasharray: 4, 4; fill: none; } |
|
|
|
.glyph { font-size: 16px; } |
|
.misalign-glyph { fill: #e63946; font-size: 18px; } |
|
.ghost-glyph { fill: #DAA520; } |
|
|
|
.tooltip { visibility: hidden; font-size: 10px; background-color: rgba(240,240,240,0.9); padding: 3px; border: 1px solid #ccc; border-radius: 3px; } |
|
g.node:hover > .tooltip { visibility: visible; } |
|
g.edge:hover > .tooltip { visibility: visible; } |
|
|
|
</style> |
|
|
|
<rect width="100%" height="100%" class="bg-rect"/> |
|
|
|
<g transform="translate(20, 20)"> |
|
<text x="380" y="20" class="graph-title">Temporal Inference Graph (Context vs. Prediction)</text> |
|
|
|
<g id="nodes"> |
|
<g class="node" id="ctx1" transform="translate(100, 100)"> |
|
<circle r="20"/> <text class="node-label">Ctx Anchor</text> |
|
<text class="tooltip" x="0" y="30">Initial Context State</text> |
|
</g> |
|
<g class="node" id="ctx-qkv1" transform="translate(100, 200)"> |
|
<circle r="20"/> <text class="node-label">Ctx QKV</text> |
|
<text class="tooltip" x="0" y="30">Context QK/V Processing</text> |
|
</g> |
|
<g class="node context-collapse" id="ctx-fail1" transform="translate(100, 300)"> |
|
<circle r="25"/> <text class="node-label">Ctx Collapse!</text> <text class="tooltip" x="0" y="35" fill="#1d3557">Context Attention Failure</text> |
|
</g> |
|
<g class="node" id="ctx2" transform="translate(300, 100)"> |
|
<circle r="20"/> <text class="node-label">Ctx Anchor 2</text> |
|
<text class="tooltip" x="0" y="30">Another Context Point</text> |
|
</g> |
|
<g class="node" id="ctx-qkv2" transform="translate(300, 200)"> |
|
<circle r="20"/> <text class="node-label">Ctx QKV 2</text> |
|
<text class="tooltip" x="0" y="30">Successful Context Proc.</text> |
|
</g> |
|
|
|
<g class="node prediction-residue" id="pred-res1" transform="translate(300, 400)"> |
|
<circle r="25"/> <text class="node-label">Pred Residue</text> <text class="tooltip" x="0" y="35" fill="#2d6a4f">Prediction Inference Residue</text> |
|
</g> |
|
<g class="node ghost-node" id="ghost1" transform="translate(500, 250)"> |
|
<circle r="20"/> <use href="#glyph-ghost" x="0" y="0"/> |
|
<text class="tooltip" x="0" y="30">Ghost Inference Step</text> |
|
</g> |
|
<g class="node prediction-residue" id="pred-res2" transform="translate(500, 400)"> |
|
<circle r="25"/> <text class="node-label">Pred Residue 2</text> <text class="tooltip" x="0" y="35" fill="#2d6a4f">Further Prediction Residue</text> |
|
</g> |
|
<g class="node" id="output-v" transform="translate(650, 400)"> |
|
<circle r="20" fill="#fff"/> <text class="node-label">Output V</text> |
|
<text class="tooltip" x="0" y="30">Final Output Value</text> |
|
</g> |
|
<g class="node ghost-node" id="ghost2" transform="translate(650, 200)"> |
|
<circle r="20"/> <use href="#glyph-ghost" x="0" y="0"/> |
|
<text class="tooltip" x="0" y="30">Latent Prediction Branch</text> |
|
</g> |
|
</g> |
|
|
|
<g id="edges"> |
|
<g class="edge"> |
|
<line id="e-c1-cq1" class="edge-line" x1="100" y1="120" x2="100" y2="180"/> |
|
<text class="edge-label" x="115" y="150">Δt: +2</text> |
|
</g> |
|
<g class="edge"> |
|
<line id="e-cq1-cf1" class="edge-line" x1="100" y1="220" x2="100" y2="275"/> |
|
<text class="edge-label" x="115" y="250">Δt: +1</text> |
|
</g> |
|
|
|
<g class="edge"> |
|
<line id="e-c2-cq2" class="edge-line" x1="300" y1="120" x2="300" y2="180"/> |
|
<text class="edge-label" x="315" y="150">Δt: +3</text> |
|
</g> |
|
<g class="edge"> |
|
<line id="e-cq2-pr1" class="edge-line" x1="300" y1="220" x2="300" y2="375"/> |
|
<text class="edge-label" x="315" y="300">Δt: +5</text> |
|
</g> |
|
|
|
<g class="edge"> |
|
<line id="e-cq2-g1" class="edge-line" x1="320" y1="200" x2="480" y2="245"/> |
|
<text class="edge-label" x="400" y="215">Δt: +10</text> </g> |
|
<g class="edge"> |
|
<line id="e-g1-pr2" class="edge-line" x1="500" y1="270" x2="500" y2="375"/> |
|
<text class="edge-label" x="515" y="325">Δt: +4</text> |
|
</g> |
|
<g class="edge"> |
|
<line id="e-pr1-pr2" class="edge-line" x1="325" y1="400" x2="475" y2="400"/> |
|
<text class="edge-label" x="400" y="415">Δt: +1</text> |
|
</g> |
|
<g class="edge"> |
|
<line id="e-pr2-out" class="edge-line" x1="525" y1="400" x2="630" y2="400"/> |
|
<text class="edge-label" x="580" y="415">Δt: +1</text> |
|
</g> |
|
<g class="edge"> <line id="e-g1-g2" class="edge-line" x1="520" y1="240" x2="630" y2="205" stroke-dasharray="3,3"/> |
|
<text class="edge-label" x="580" y="215">Δt: +2</text> |
|
</g> |
|
<g class="edge"> <line id="e-g2-out" class="edge-line" x1="650" y1="220" x2="650" y2="380" stroke-dasharray="3,3"/> |
|
<text class="edge-label" x="665" y="300">Δt: +6</text> |
|
</g> |
|
</g> |
|
|
|
<g id="misalignment"> |
|
<line class="misalign-connector" x1="120" y1="310" x2="280" y2="380"/> |
|
<use href="#glyph-misalign" x="200" y="345"/> |
|
<text class="tooltip" x="200" y="365">Temporal Misalignment between Context Collapse & Prediction Start</text> |
|
</g> |
|
</g> |
|
|
|
<g transform="translate(30, 550)"> |
|
<text x="0" y="10" font-weight="bold">Legend:</text> |
|
<circle cx="80" cy="10" r="8" class="context-collapse"/> <text x="95" y="12">Context Attention Collapse (Blue)</text> |
|
<circle cx="300" cy="10" r="8" class="prediction-residue"/> <text x="315" y="12">Prediction Residue (Green)</text> |
|
|
|
<use href="#glyph-ghost" x="80" y="30"/> <text x="95" y="32">🝚 Ghost Inference Node</text> |
|
<use href="#glyph-misalign" x="300" y="30"/> <text x="315" y="32">⟁ Temporal Misalignment</text> |
|
|
|
<line x1="80" y1="50" x2="110" y2="50" class="edge-line"/> <text x="115" y="52">Inference Path</text> |
|
<text x="230" y="52" class="edge-label">Δt: #</text> <text x="265" y="52">Time-Step Differential</text> |
|
</g> |
|
</svg> |
|
|