demo transcript (EXAMPLES.md)
Browse files- demo/EXAMPLES.md +171 -0
demo/EXAMPLES.md
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# EXAMPLES -- reading GPT-2's thinking, mid-sentence
|
| 2 |
+
|
| 3 |
+
*This is the frozen reference transcript for `demo/read_a_mind.py`. Run `python demo/read_a_mind.py`
|
| 4 |
+
from the repo root to reproduce every table below (the script self-checks its readout against these
|
| 5 |
+
numbers and exits non-zero on any miss).*
|
| 6 |
+
|
| 7 |
+
**The sentence** (stopped before the model gets to finish it):
|
| 8 |
+
|
| 9 |
+
> The old captain stared at the horizon, knowing the storm would sink his
|
| 10 |
+
|
| 11 |
+
**What GPT-2 says next** (top-5 next-token predictions after "...sink his"):
|
| 12 |
+
|
| 13 |
+
| rank | token | probability |
|
| 14 |
+
|---|---|---|
|
| 15 |
+
| 1 | ` ship` | **62.8%** |
|
| 16 |
+
| 2 | ` ships` | 3.2% |
|
| 17 |
+
| 3 | ` vessel` | 2.4% |
|
| 18 |
+
| 4 | ` boat` | 2.1% |
|
| 19 |
+
| 5 | ` own` | 0.7% |
|
| 20 |
+
|
| 21 |
+
The model has decided the captain is about to lose his **ship**. Below we open the residual
|
| 22 |
+
stream at three depths and read the internal state in the model's own certified vocabulary,
|
| 23 |
+
BEFORE that word is ever produced.
|
| 24 |
+
|
| 25 |
+
---
|
| 26 |
+
## HOW THIS WAS READ (method, 1 paragraph)
|
| 27 |
+
Demonstration readout only -- frozen certified machinery, READ-ONLY, no new science, no steering.
|
| 28 |
+
GATE-0 hash checks all passed (`artifacts/decoder_v7_tensors.pt` `b1d2f464c00c3ef6`,
|
| 29 |
+
`artifacts/_l3_encoder.pt` `6be189567c41e91d`, `artifacts/LEXICON_V3.md` `71a51619a9bb25c3`,
|
| 30 |
+
`artifacts/_l6_bases.pt` `a60a0ab67b85c410`); the encoder==decoder-reader cross-check was exact
|
| 31 |
+
(max|diff| 0.0 on C and mu). One fp32 CPU forward pass; residuals captured at boundaries BUS[0]
|
| 32 |
+
(post-embedding), BUS[6] (after block 5) and BUS[11] (after block 10). Each state is decoded as
|
| 33 |
+
mu-centered coordinates `(h - mu[b]) @ v` against every lexicon entry certified at that boundary:
|
| 34 |
+
the 19 core fields (read at all boundaries), corridor words at their home room, LEXICON_V3
|
| 35 |
+
folded-read words at their home/alias cells, and the two LEXICON_V4 provisional dark entries at
|
| 36 |
+
b6. Salience `z` = coordinate / that entry's standing std over a 16x512 WikiText-103 prose bank
|
| 37 |
+
at the same boundary (the public demo ships those stds frozen and hash-gated in
|
| 38 |
+
`demo/standing_stats.json`; live field stds match the decoder's frozen phi_std within
|
| 39 |
+
0.96-1.29x). Entries whose certified verdict is CERTIFIED-NO-GLOSS are shown dark, exactly as
|
| 40 |
+
certified -- no invented readings.
|
| 41 |
+
|
| 42 |
+
**How to read z**: z is "how far this coordinate sits from its standing prose mean, in units of
|
| 43 |
+
its own normal variation." |z|~1 is unremarkable; |z|>=2 is a genuinely displaced read. Sign is
|
| 44 |
+
direction along the certified axis, not goodness.
|
| 45 |
+
|
| 46 |
+
---
|
| 47 |
+
## PROBE 1 -- BUS[0] (post-embedding) at the final token ` his`
|
| 48 |
+
*Only the 19 core fields are certified this early; corridor/fold words live deeper.*
|
| 49 |
+
|
| 50 |
+
| # | entry | verdict | z | certified meaning |
|
| 51 |
+
|---|---|---|---|---|
|
| 52 |
+
| 1 | field 18 | NAMED (A) | +2.5 | @-format |
|
| 53 |
+
| 2 | field 7 | NAMED (A) | -1.5 | formula/markup-symbol |
|
| 54 |
+
| 3 | field 3 | **STILL-DARK** | +1.5 | (no gloss -- read as a number only) |
|
| 55 |
+
| 4 | field 6 | NAMED-CONDITIONED | -1.4 | epistemic-negative |
|
| 56 |
+
| 5 | field 14 | NAMED-CONDITIONED | +1.2 | comma-boundary / dramatic-event |
|
| 57 |
+
| 6 | field 9 | NAMED (A) | -1.2 | sports-team |
|
| 58 |
+
| 7 | field 0 | NAMED (B) | -0.8 | naval/warship |
|
| 59 |
+
| 8 | field 16 | NAMED-CONDITIONED | +0.8 | spatial-preposition/@ |
|
| 60 |
+
|
| 61 |
+
**What it's noticing:** almost nothing yet. At the embedding layer the word ` his` is a plain
|
| 62 |
+
little function word and the certified reads say exactly that: every |z| < 2.5, the code/markup
|
| 63 |
+
fields (7) and sports field (9) are mildly *below* their prose mean, and the only positive reads
|
| 64 |
+
are format/boundary-flavored (18, 14, 16). Even the naval field (0) is slightly negative here --
|
| 65 |
+
at BUS[0] the model sees the token, not the story. The one moderately loud entry after field 18
|
| 66 |
+
is field 3, which the lexicon holds as STILL DARK: we can see it move (+1.5) but we have no
|
| 67 |
+
certified name for what moved.
|
| 68 |
+
|
| 69 |
+
---
|
| 70 |
+
## PROBE 2 -- BUS[6] (mid-stack) at the token ` storm` (the contrast probe)
|
| 71 |
+
*48 certified entries live here: 19 fields, 2 corridor words, 25 code_b6 folded-read words, 2 provisional dark entries. This is the loudest state we probed (residual norm 65.4).*
|
| 72 |
+
|
| 73 |
+
| # | entry | verdict | z | certified meaning |
|
| 74 |
+
|---|---|---|---|---|
|
| 75 |
+
| 1 | field 14 | NAMED-CONDITIONED | **+3.0** | comma-boundary / dramatic-event |
|
| 76 |
+
| 2 | fold code_b6_d19 | NAMED | **+2.6** | axis whose certified +push raises **SHIP**, SELECT, ... (write-image) |
|
| 77 |
+
| 3 | field 3 | **STILL-DARK** | -2.3 | (no gloss) |
|
| 78 |
+
| 4 | fold code_b6_d3 | **CERTIFIED-NO-GLOSS** | -2.3 | (dark -- certified, unnamed) |
|
| 79 |
+
| 5 | fold code_b6_d24 | **CERTIFIED-NO-GLOSS** | +2.2 | (dark) |
|
| 80 |
+
| 6 | fold code_b6_d34 | **CERTIFIED-NO-GLOSS** | +2.2 | (dark) |
|
| 81 |
+
| 7 | fold code_b6_d23 | **CERTIFIED-NO-GLOSS** | -2.2 | (dark) |
|
| 82 |
+
| 8 | fold code_b6_d21 | **CERTIFIED-NO-GLOSS** | -2.0 | (dark) |
|
| 83 |
+
|
| 84 |
+
(next: corridor b6_d13 "assignment-context/'='-anchor" at -2.0, i.e. pushed *away* from its
|
| 85 |
+
code/'='-context pole -- sensible for a prose token; fold code_b6_d0 "code-whitespace/glitch-pole
|
| 86 |
+
carrier" +2.0.)
|
| 87 |
+
|
| 88 |
+
**What it's noticing / planning at "storm":** two named reads stand out. First, the
|
| 89 |
+
comma-boundary / **dramatic-event** field is the single loudest certified entry (+3.0) -- the
|
| 90 |
+
storm token sits right where the sentence pivots into its dramatic clause, and the model's
|
| 91 |
+
mid-stack state is displaced hard along the axis the lexicon associates with exactly that.
|
| 92 |
+
Second -- the demo's best moment -- the folded-read word `code_b6_d19`, whose *certified causal
|
| 93 |
+
write-image is "+push raises [SHIP, ...]"*, is elevated at +2.6 at the word ` storm`: four
|
| 94 |
+
tokens before the model actually says " ship", a certified ship-writing carrier is already hot.
|
| 95 |
+
(Honest scope: that entry's certification is 1/3 channels, stable prose+code; this is a readout
|
| 96 |
+
association, not a causal claim about this sentence.) And third, honestly: five of the top eight
|
| 97 |
+
entries are CERTIFIED-NO-GLOSS -- most of what is loud in this state is mass the program has
|
| 98 |
+
certified as real but has *no name for*. We say "dark," not a story.
|
| 99 |
+
|
| 100 |
+
---
|
| 101 |
+
## PROBE 3 -- BUS[6] (mid-stack) at the final token ` his`
|
| 102 |
+
|
| 103 |
+
| # | entry | verdict | z | certified meaning |
|
| 104 |
+
|---|---|---|---|---|
|
| 105 |
+
| 1 | field 18 | NAMED (A) | +1.8 | @-format |
|
| 106 |
+
| 2 | field 3 | **STILL-DARK** | -1.6 | (no gloss) |
|
| 107 |
+
| 3 | field 15 | NAMED (A) | -1.5 | mixed-measurement |
|
| 108 |
+
| 4 | field 8 | NAMED (A) | +1.4 | **harm/casualty** |
|
| 109 |
+
| 5 | fold code_b6_d7 | NAMED-REGIME-SPECIFIC (code) | -1.3 | code-whitespace fragment carrier |
|
| 110 |
+
| 6 | dark_b6_svd7 | **PROVISIONAL, dark, INCOHERENT** | +1.2 | (crosses NAMED bar by rubric only; no interpretable concept) |
|
| 111 |
+
| 7 | fold code_b6_d19 | NAMED | -1.1 | the SHIP-riser axis (here mildly *below* mean) |
|
| 112 |
+
| 8 | fold code_b6_d41 | **CERTIFIED-NO-GLOSS** | -1.1 | (dark) |
|
| 113 |
+
|
| 114 |
+
**What it's noticing:** at ` his` the mid-stack is quiet -- no certified entry reaches |z|=2.
|
| 115 |
+
The most story-like read is **harm/casualty at +1.4** (the state just processed "would sink"),
|
| 116 |
+
with measurement/number content suppressed (-1.5) -- but at ~1.4 standing sigmas these are
|
| 117 |
+
tendencies, not certified spikes, and we flag them as such. Note the SHIP-riser axis that was
|
| 118 |
+
hot at "storm" is *not* elevated here (-1.1): at this boundary and position, whatever carries
|
| 119 |
+
the upcoming "ship" is not strongly visible in the named vocabulary. One of the two LEXICON_V4
|
| 120 |
+
provisional dark entries (svd7) is present at +1.2; the lexicon itself calls it semantically
|
| 121 |
+
incoherent, so it contributes no reading.
|
| 122 |
+
|
| 123 |
+
---
|
| 124 |
+
## PROBE 4 -- BUS[11] (late-stack) at the final token ` his`
|
| 125 |
+
*60 certified entries live here (fields + rep_b11/code_b11 folded-read words). Residual norm 125.5 -- the state is big, but the named vocabulary reads only modest displacements.*
|
| 126 |
+
|
| 127 |
+
| # | entry | verdict | z | certified meaning |
|
| 128 |
+
|---|---|---|---|---|
|
| 129 |
+
| 1 | fold b11_d39 | **CERTIFIED-NO-GLOSS** | -1.9 | (dark) |
|
| 130 |
+
| 2 | field 3 | **STILL-DARK** | -1.9 | (no gloss) |
|
| 131 |
+
| 3 | fold code_b11_d35 | NAMED | -1.8 | +push raises srf/lessly/etheless... (fragment write-image) |
|
| 132 |
+
| 4 | field 12 | NAMED (A) | -1.6 | local-relation/admin |
|
| 133 |
+
| 5 | fold b11_d43 | **CERTIFIED-NO-GLOSS** | +1.5 | (dark) |
|
| 134 |
+
| 6 | fold b11_d5 | NAMED-REGIME-SPECIFIC (repetition) | +1.4 | repetition-locked alternation carrier |
|
| 135 |
+
| 7 | field 18 | NAMED (A) | +1.4 | @-format |
|
| 136 |
+
| 8 | field 1 | NAMED-CONDITIONED | -1.3 | collegiate-sports |
|
| 137 |
+
|
| 138 |
+
**What it's planning -- and the honest punchline:** behaviorally the plan is fully formed one
|
| 139 |
+
boundary later (" ship" at 63%). But in the certified vocabulary at BUS[11], nothing nautical
|
| 140 |
+
and nothing ship-like is loudly displaced: the top reads are a no-gloss fold dim, the dark
|
| 141 |
+
field 3, and word-fragment carriers, all under |z|=2. The plan is *in there* -- the logits prove
|
| 142 |
+
it -- but it is being carried by state the certified dictionary mostly cannot name. That is not
|
| 143 |
+
a failure of the demo; it is the program's own measured result showing up live: the late-stack
|
| 144 |
+
dark mass is diffuse and word-poor (L6: DIFFUSE, 6/8 top dark directions no-gloss; L7: the dark
|
| 145 |
+
is NOT-COMPRESSIBLE from the readable subspace). When the dictionary has no word, the honest
|
| 146 |
+
read is "dark," and most of this state is dark.
|
| 147 |
+
|
| 148 |
+
*Context for this probe: after ` storm` (mid-sentence) the model's next-token belief was still
|
| 149 |
+
generic continuation -- was 42.5%, would 17.0%, had 9.6% -- so the specific "sink his ship"
|
| 150 |
+
commitment crystallized in the last clause, exactly where Probe 2 caught the dramatic-event
|
| 151 |
+
field and the SHIP-riser carrier lighting up.*
|
| 152 |
+
|
| 153 |
+
---
|
| 154 |
+
## WHAT THIS DEMO SHOWS (and does not)
|
| 155 |
+
- **Shows**: the frozen decoder stack (decoder_v7 reader + LEXICON_V3/V4, hash-gated) can be
|
| 156 |
+
pointed at any single forward pass and produce a certified, per-boundary readout with honest
|
| 157 |
+
dark/no-gloss labels -- mid-sentence, in seconds, on CPU.
|
| 158 |
+
- **Best single read**: at ` storm`, mid-stack: dramatic-event field +3.0 plus a certified
|
| 159 |
+
SHIP-writing carrier at +2.6, four tokens before " ship" (63%) is emitted.
|
| 160 |
+
- **Does NOT show**: causal claims about this sentence (nothing was steered; all reads are
|
| 161 |
+
observational); a full account of the plan (most late-stack salience is CERTIFIED-NO-GLOSS,
|
| 162 |
+
consistent with L6/L7); anything about the naval/warship field, which stayed quiet (|z|<=0.8)
|
| 163 |
+
at every probe we took -- reported as measured.
|
| 164 |
+
- Scope notes: z is display-only normalization against a 16x512 prose standing bank; fields are
|
| 165 |
+
read at all boundaries by decoder convention, corridor/fold words only at their certified
|
| 166 |
+
home/alias boundaries; the two V4 dark entries are provisional and contributed no reading.
|
| 167 |
+
|
| 168 |
+
Artifacts: `demo/read_a_mind.py` (the runnable readout, self-checking against this transcript),
|
| 169 |
+
`demo/standing_stats.json` (frozen z-normalization stds, hash-gated), `artifacts/` (the frozen
|
| 170 |
+
certified record this demo reads with). Field-name glosses are the frozen decoder lexicon's
|
| 171 |
+
short names (LEXICON_V1/V2 per-field pages, carried unchanged into LEXICON_V3 Section 1).
|