-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpresentation.html
More file actions
589 lines (561 loc) · 41.8 KB
/
Copy pathpresentation.html
File metadata and controls
589 lines (561 loc) · 41.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Where Do Instructions Go? - Project Presentation</title>
<style>
:root {
--bg: #f4f6f8;
--panel: #ffffff;
--ink: #132230;
--muted: #4a5a67;
--accent: #0f766e;
--accent-2: #155e75;
--line: #d7e0e7;
--warn-bg: #fff7e6;
--warn-ink: #7a4b00;
}
* { box-sizing: border-box; }
html, body {
margin: 0; padding: 0;
background: radial-gradient(circle at top right, #dceef6 0%, #f4f6f8 45%, #f6f7f9 100%);
color: var(--ink);
font-family: "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
height: 100%;
}
.status-banner {
position: fixed; top: 0; left: 0; right: 0; z-index: 30;
display: flex; gap: 12px; align-items: center; justify-content: space-between;
background: linear-gradient(90deg, #123048, #1d4d66);
color: #f2f7fb; padding: 10px 18px; font-size: 14px;
border-bottom: 1px solid rgba(255,255,255,0.2);
}
.shell { padding-top: 56px; height: 100%; display: flex; flex-direction: column; }
.toolbar {
display: flex; align-items: center; justify-content: space-between;
padding: 10px 16px; border-bottom: 1px solid var(--line);
background: rgba(255,255,255,0.85); backdrop-filter: blur(4px);
position: sticky; top: 56px; z-index: 20;
}
.toolbar-left, .toolbar-right { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.chip { border: 1px solid var(--line); background: #fff; border-radius: 999px; padding: 6px 10px; font-size: 12px; color: var(--muted); }
button { border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); padding: 7px 12px; font-size: 14px; cursor: pointer; }
button:hover { border-color: var(--accent-2); color: var(--accent-2); }
.slides-wrap { flex: 1; overflow: hidden; position: relative; padding: 18px; }
.slide {
display: none; height: 100%; overflow-y: auto;
background: var(--panel); border: 1px solid var(--line); border-radius: 16px;
padding: 24px 28px 70px; box-shadow: 0 12px 30px rgba(11,40,57,0.07);
}
.slide.active { display: block; animation: fadeIn 180ms ease-in; }
@keyframes fadeIn { from { opacity: 0.6; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
h1, h2, h3 { margin-top: 0; line-height: 1.24; }
h1 { font-size: 38px; margin-bottom: 10px; color: #0d2d42; }
h2 { font-size: 28px; margin-bottom: 12px; color: #10344d; }
h3 { font-size: 20px; margin-bottom: 8px; color: #184663; }
p, li { font-size: 17px; line-height: 1.5; color: #1d3142; }
ul, ol { margin-top: 8px; margin-bottom: 8px; padding-left: 24px; }
.lede { font-size: 21px; color: #12374f; max-width: 1000px; }
.two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: start; }
.three-col { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; align-items: start; }
.card { border: 1px solid var(--line); border-radius: 12px; padding: 14px; background: #fcfeff; }
.card h4 { margin: 0 0 6px; font-size: 17px; color: #15415b; }
.term-box { margin-top: 12px; border-left: 6px solid var(--accent); background: #ecf8f7; border-radius: 8px; padding: 10px 14px; }
.term-box h4 { margin: 0 0 4px; font-size: 16px; color: #0f5752; }
.term-box p { margin: 2px 0; font-size: 15px; }
.warning-box { margin-top: 12px; border-left: 6px solid #d19a2a; background: var(--warn-bg); border-radius: 8px; padding: 10px 14px; color: var(--warn-ink); }
.warning-box p { color: var(--warn-ink); margin: 4px 0; font-size: 15px; }
table { width: 100%; border-collapse: collapse; margin-top: 8px; font-size: 15px; }
th, td { border: 1px solid var(--line); padding: 7px; vertical-align: top; text-align: left; }
th { background: #edf5fb; color: #163e59; }
.kpi-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-top: 10px; }
.kpi { background: #f0f8ff; border: 1px solid #cfe3f3; border-radius: 10px; padding: 10px; }
.kpi .label { font-size: 12px; color: #31516a; text-transform: uppercase; letter-spacing: 0.4px; }
.kpi .value { font-size: 24px; font-weight: 700; color: #0f3751; margin-top: 3px; }
.cite { margin-top: 14px; font-size: 13px; color: #506476; font-style: italic; }
.pipeline { display: grid; grid-template-columns: 1fr auto 1fr; gap: 14px; align-items: center; margin-top: 10px; }
.arrow { font-size: 28px; color: #255d7b; text-align: center; font-weight: 700; }
.mini { font-size: 14px; color: var(--muted); }
.conv-example { font-family: "Cascadia Code", "Fira Code", monospace; font-size: 13px; background: #f7f9fb; border: 1px solid var(--line); border-radius: 10px; padding: 12px; line-height: 1.55; overflow-x: auto; }
.conv-example .turn-label { font-weight: 700; color: #0f766e; }
.conv-example .compliant { color: #15803d; }
.conv-example .noncompliant { color: #b91c1c; }
.conv-example .faded { color: #94a3b8; }
.conv-example .instruction-inject { background: #fef3c7; border-radius: 4px; padding: 1px 4px; }
.chart-container { margin-top: 8px; }
.bar-chart { display: flex; align-items: flex-end; gap: 6px; height: 180px; padding: 0 4px; }
.bar-group { display: flex; flex-direction: column; align-items: center; flex: 1; }
.bar { border-radius: 4px 4px 0 0; min-width: 28px; width: 100%; transition: height 0.3s; }
.bar-label { font-size: 11px; color: #506476; margin-top: 4px; text-align: center; writing-mode: horizontal-tb; }
.bar-value { font-size: 11px; font-weight: 600; color: #0f3751; margin-bottom: 2px; }
.legend { display: flex; gap: 16px; margin-top: 8px; font-size: 13px; color: #4a5a67; }
.legend-dot { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 4px; vertical-align: middle; }
.progress-track { position: fixed; left: 0; right: 0; bottom: 0; height: 7px; background: #dce5ec; z-index: 30; }
.progress-fill { height: 100%; width: 0%; background: linear-gradient(90deg,#0f766e,#155e75); transition: width 120ms ease-out; }
.toc-modal { position: fixed; inset: 0; background: rgba(13,30,43,0.55); display: none; align-items: center; justify-content: center; z-index: 50; padding: 18px; }
.toc-modal.open { display: flex; }
.toc-panel { width: min(920px,96vw); max-height: 85vh; overflow-y: auto; background: #fff; border-radius: 12px; border: 1px solid var(--line); padding: 16px; }
.toc-panel h3 { margin-top: 0; margin-bottom: 10px; }
.toc-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 16px; }
.toc-list li button { width: 100%; text-align: left; white-space: normal; line-height: 1.35; padding: 9px 10px; font-size: 14px; border-radius: 8px; }
.ref-list li { font-size: 14px; line-height: 1.4; margin-bottom: 5px; }
.stress-tag { display: inline-block; border-radius: 4px; padding: 1px 6px; font-size: 12px; font-weight: 600; }
.stress-tag.code { background: #dbeafe; color: #1e40af; }
.stress-tag.conflict { background: #fce7f3; color: #9d174d; }
.stress-tag.style { background: #f3e8ff; color: #6b21a8; }
.stress-tag.topic { background: #dcfce7; color: #166534; }
.stress-tag.load { background: #ffedd5; color: #9a3412; }
@media (max-width: 980px) {
.two-col, .three-col, .kpi-grid { grid-template-columns: 1fr; }
h1 { font-size: 30px; } h2 { font-size: 24px; } p, li { font-size: 16px; }
.toc-list { grid-template-columns: 1fr; }
}
</style>
</head>
<body>
<div class="status-banner">
<div><strong>Phase 1 complete. Calibration-swapped rerun in progress.</strong></div>
<div id="generatedStamp">March 10, 2026</div>
</div>
<div class="shell">
<div class="toolbar">
<div class="toolbar-left">
<button id="prevBtn" type="button">Prev</button>
<button id="nextBtn" type="button">Next</button>
<button id="tocBtn" type="button">Table of Contents</button>
</div>
<div class="toolbar-right">
<span class="chip" id="slideCounter">Slide 1 / 12</span>
<span class="chip" id="slideTitle">Title</span>
<span class="chip">Keys: Left/Right, Home/End, T for TOC</span>
</div>
</div>
<main class="slides-wrap">
<!-- ==================== SLIDE 1: Title ==================== -->
<section class="slide active" data-title="Title">
<h1>Where Do Instructions Go?</h1>
<p class="lede">Tracing multi-turn instruction compliance decay from behavior to internal model representations.</p>
<div class="pipeline" style="margin-top: 24px;">
<div class="card">
<h4>Phase 1: Behavioral Experiment</h4>
<p>12,150 conversations across 3 models. Measure <em>when</em> and <em>how much</em> compliance drops.</p>
</div>
<div class="arrow">→</div>
<div class="card">
<h4>Phase 2: Mechanistic Analysis</h4>
<p>Probing, activation patching, and logit lens on selected high-signal cases. Test <em>why</em> it drops.</p>
</div>
</div>
<div class="term-box" style="margin-top: 20px;">
<h4>Compliance Decay in One Sentence</h4>
<p>A model follows your instruction at turn 2, but by turn 30 it quietly stops. We measure this drop, then look inside the model to see if the instruction was forgotten or just ignored.</p>
</div>
</section>
<!-- ==================== SLIDE 2: Motivation ==================== -->
<section class="slide" data-title="Motivation and Research Question">
<h2>Why This Matters</h2>
<ul>
<li>Real conversations are long. A model that follows instructions at turn 1 but not turn 30 is unreliable.</li>
<li>Laban et al. (2025) found <strong>~39% degradation</strong> when instructions are spread across turns, with <strong>~95% recovery</strong> when re-concatenated into a single prompt.</li>
<li>This tells us <em>that</em> multi-turn structure causes failure — but not <em>why</em>.</li>
</ul>
<h3 style="margin-top: 14px;">Core Question</h3>
<p>When a model stops following an instruction given earlier, does the instruction's internal representation weaken (<strong>forgetting</strong>) or persist but stop controlling output (<strong>suppression</strong>)?</p>
<div class="two-col" style="margin-top: 14px;">
<div class="card">
<h4>If Forgetting</h4>
<p style="font-size:15px;">The model literally loses track of the instruction in its hidden states. Fix: reinforce the memory (e.g., recap).</p>
</div>
<div class="card">
<h4>If Suppression</h4>
<p style="font-size:15px;">The instruction is still represented but gets overridden by competing signals. Fix: resolve the conflict.</p>
</div>
</div>
<p class="cite">Laban et al. (2025), "LLMs Get Lost In Multi-Turn Conversation," arXiv:2505.06120.</p>
</section>
<!-- ==================== SLIDE 3: Related Work & Gap ==================== -->
<section class="slide" data-title="Related Work and Gap">
<h2>What Exists and What's Missing</h2>
<div class="three-col">
<div class="card">
<h4>Multi-Turn Behavior</h4>
<p style="font-size:15px;">Laban et al. (2025) quantified degradation across turns. We extend this with controlled timing and recap manipulations.</p>
</div>
<div class="card">
<h4>Probing Methods</h4>
<p style="font-size:15px;">Linear probes can detect information in hidden states (Belinkov, 2022). Control tasks prevent false conclusions (Hewitt & Liang, 2019).</p>
</div>
<div class="card">
<h4>Causal Tracing</h4>
<p style="font-size:15px;">Activation patching tests whether specific internal states cause specific behaviors (Meng et al., 2022; Conmy et al., 2023).</p>
</div>
</div>
<div class="warning-box" style="margin-top: 14px;">
<p><strong>The gap:</strong> Prior work studies behavior <em>or</em> mechanism. Nobody has combined both in a staged pipeline: use behavioral triage to find high-signal cases, then apply mechanistic tools to explain why compliance fails.</p>
</div>
<p class="cite">Belinkov (2022), Comp. Ling.; Hewitt & Liang (2019), EMNLP; Meng et al. (2022), arXiv:2202.05262; Conmy et al. (2023), arXiv:2304.14997.</p>
</section>
<!-- ==================== SLIDE 4: Experimental Design ==================== -->
<section class="slide" data-title="Experimental Design">
<h2>Experimental Design</h2>
<div class="two-col">
<div>
<h3>Setup</h3>
<ul style="font-size:15px;">
<li><strong>40-turn conversations</strong> with neutral filler questions (trivia, factual) between turns</li>
<li><strong>18 auto-checkable instructions</strong> (e.g., "wrap response in JSON," "never use the word 'the'," "end with P.S.")</li>
<li><strong>4 insertion timings:</strong> Turn 1, 10, 20, or 30</li>
<li><strong>2 recap strategies:</strong> with or without end-of-conversation reminder</li>
<li><strong>3 models:</strong> Gemma-9B (anchor + MI), Gemma-2B, Llama-3.1-8B</li>
<li><strong>12,150 total conversations</strong> (378,900 turn-level rows)</li>
</ul>
</div>
<div>
<h3>Condition Matrix</h3>
<table style="font-size:14px;">
<thead><tr><th>Condition</th><th>Insert</th><th>Recap</th><th>Scored Turns</th></tr></thead>
<tbody>
<tr><td>INS_T1</td><td>T1</td><td>No</td><td>T2–T40 (39)</td></tr>
<tr><td>INS_T1_RECAP</td><td>T1</td><td>Yes</td><td>T2–T40 (39)</td></tr>
<tr><td>INS_T10 / _RECAP</td><td>T10</td><td>No/Yes</td><td>T11–T40 (30)</td></tr>
<tr><td>INS_T20 / _RECAP</td><td>T20</td><td>No/Yes</td><td>T21–T40 (20)</td></tr>
<tr><td>INS_T30 / _RECAP</td><td>T30</td><td>No/Yes</td><td>T31–T40 (10)</td></tr>
<tr style="color:#666;"><td>A1, A3, CFX, NO_INS</td><td colspan="3">Baselines, conflict, & controls</td></tr>
</tbody>
</table>
</div>
</div>
</section>
<!-- ==================== SLIDE 5: Example Conversation ==================== -->
<section class="slide" data-title="What a Conversation Looks Like">
<h2>What a 40-Turn Conversation Looks Like</h2>
<p style="font-size:15px; margin-bottom:10px;">This is a real INS_T1 conversation with Gemma-9B. Instruction: <em>"Wrap your entire response with double quotation marks."</em> Filler questions are neutral trivia drawn from a pool of 200.</p>
<div class="conv-example">
<div><span class="turn-label">Turn 1 (User):</span> Who got the most rings in the NBA? <span class="instruction-inject">INSTRUCTION: Wrap your entire response with double quotation marks.</span></div>
<div><span class="turn-label">Turn 1 (Asst):</span> <span class="compliant">"Bill Russell has the most NBA rings with 11 championships."</span></div>
<br>
<div><span class="turn-label">Turn 2 (User):</span> Where are the Washington Redskins based out of?</div>
<div><span class="turn-label">Turn 2 (Asst):</span> <span class="compliant">"The Washington Redskins are based out of Landover, Maryland."</span></div>
<br>
<div><span class="turn-label">Turn 3 (User):</span> When was The Young and the Restless first aired?</div>
<div><span class="turn-label">Turn 3 (Asst):</span> <span class="compliant">"The Young and the Restless first aired on March 26, 1973."</span></div>
<br>
<div class="faded"> ... turns 4–37: filler questions continue, compliance gradually weakens ...</div>
<br>
<div><span class="turn-label">Turn 38 (User):</span> What was the ancient Chinese umbrella used for?</div>
<div><span class="turn-label">Turn 38 (Asst):</span> <span class="noncompliant">Ancient Chinese umbrellas were used for protection from rain and sun...</span></div>
<br>
<div><span class="turn-label">Turn 39 (User):</span> Who became the king of Ayodhya after Ram?</div>
<div><span class="turn-label">Turn 39 (Asst):</span> <span class="noncompliant">Rama's son, Kush, became the king of Ayodhya after Rama.</span></div>
<br>
<div><span class="turn-label">Turn 40 (User):</span> Which animal is the carrier of the H1N1 virus?</div>
<div><span class="turn-label">Turn 40 (Asst):</span> <span class="noncompliant">The H1N1 virus is primarily spread through human-to-human transmission...</span></div>
</div>
<p class="mini" style="margin-top:8px;"><span class="compliant" style="font-weight:600;">Green</span> = compliant (wrapped in quotes). <span class="noncompliant" style="font-weight:600;">Red</span> = non-compliant (quotes dropped). The instruction was never repeated — the model simply stopped following it.</p>
</section>
<!-- ==================== SLIDE 6: Stress Example ==================== -->
<section class="slide" data-title="Stress Filler Example">
<h2>Stress Filler: How We Test Harder Conditions</h2>
<p style="font-size:15px; margin-bottom:10px;">The neutral fillers above are gentle trivia. In the stress module, filler questions deliberately pressure the model with topic shifts, conflicting goals, style changes, and code requests. The instruction stays the same — only the filler changes.</p>
<div class="conv-example" style="font-size:12.5px;">
<div><span class="turn-label">T01</span> <span class="stress-tag code">code-request</span> Given a list of tuples, write a function that returns the first value of the tuple with the smallest second value.</div>
<div><span class="turn-label">T02</span> <span class="stress-tag conflict">conflicting-goal</span> Just answer yes or no: is the Earth round?</div>
<div><span class="turn-label">T03</span> <span class="stress-tag style">style-shift</span> Give me a few ways I could travel from Munich to Rome, listing advantages and disadvantages for each.</div>
<div><span class="turn-label">T04</span> <span class="stress-tag topic">topic-shift</span> Completely different question: where do the Maple Leafs play hockey in Toronto?</div>
<div><span class="turn-label">T05</span> <span class="stress-tag conflict">conflicting-goal</span> Give me the shortest possible answer: what is 2+2?</div>
<div><span class="turn-label">T06</span> <span class="stress-tag load">high-load</span> What are some tools that every homeowner should have?</div>
<div class="faded"> ... 34 more turns of rapid topic changes, code tasks, contradictory instructions ...</div>
<div><span class="turn-label">T39</span> <span class="stress-tag style">style-shift</span> Which are the five best manufacturers of electric vehicles sold in the United States?</div>
<div><span class="turn-label">T40</span> <span class="stress-tag topic">topic-shift</span> Completely different question: who played Caesar in Planet of the Apes War?</div>
</div>
<p class="mini" style="margin-top:8px;">The stress module tests whether chaotic context accelerates compliance decay. This is exploratory (6 sentinel instructions, Gemma-9B only, 120 conversations).</p>
</section>
<!-- ==================== SLIDE 7: Results — Gate & Key Numbers ==================== -->
<section class="slide" data-title="Results: The Big Picture">
<h2>Results: Phase 1 at a Glance</h2>
<div class="kpi-grid">
<div class="kpi"><div class="label">Confirmatory Gate</div><div class="value">Pass</div></div>
<div class="kpi"><div class="label">Instructions with Decay</div><div class="value">17 / 18</div></div>
<div class="kpi"><div class="label">Conversations Scored</div><div class="value">12,150</div></div>
<div class="kpi"><div class="label">Turn-Level Rows</div><div class="value">378,900</div></div>
</div>
<p style="margin-top: 14px;">The confirmatory gate required two things: (1) measurable decay in the earliest-insertion condition (INS_T1), and (2) at least 70% of instructions showing some compliance loss by turn 40. Both criteria met. This green-lights Phase 2.</p>
<h3 style="margin-top:14px;">What Do These Numbers Mean?</h3>
<div class="two-col">
<div class="card">
<h4>Mean Compliance by Timing</h4>
<p style="font-size:14px;">Higher = model followed the instruction more often across post-instruction turns. 1.0 would mean perfect compliance every turn.</p>
<div class="chart-container">
<div class="bar-chart" style="height:150px;">
<div class="bar-group"><div class="bar-value">62.8%</div><div class="bar" style="height:89.7%; background:#155e75;"></div><div class="bar-label">T1</div></div>
<div class="bar-group"><div class="bar-value">58.0%</div><div class="bar" style="height:82.9%; background:#1e7a8a;"></div><div class="bar-label">T10</div></div>
<div class="bar-group"><div class="bar-value">61.2%</div><div class="bar" style="height:87.4%; background:#268a96;"></div><div class="bar-label">T20</div></div>
<div class="bar-group"><div class="bar-value">67.7%</div><div class="bar" style="height:96.7%; background:#0f766e;"></div><div class="bar-label">T30</div></div>
</div>
</div>
</div>
<div class="card">
<h4>Final-Turn Compliance (T40)</h4>
<p style="font-size:14px;">How often is the model still compliant at the very last turn? Lower = more decay over the conversation.</p>
<div class="chart-container">
<div class="bar-chart" style="height:150px;">
<div class="bar-group"><div class="bar-value">46.1%</div><div class="bar" style="height:55.0%; background:#155e75;"></div><div class="bar-label">T1</div></div>
<div class="bar-group"><div class="bar-value">39.9%</div><div class="bar" style="height:47.6%; background:#1e7a8a;"></div><div class="bar-label">T10</div></div>
<div class="bar-group"><div class="bar-value">49.6%</div><div class="bar" style="height:59.2%; background:#268a96;"></div><div class="bar-label">T20</div></div>
<div class="bar-group"><div class="bar-value">57.2%</div><div class="bar" style="height:68.3%; background:#0f766e;"></div><div class="bar-label">T30</div></div>
</div>
</div>
</div>
</div>
<p class="mini">Anchor model (Gemma-9B) shown. T30 has highest compliance because the model has fewer turns to forget.</p>
</section>
<!-- ==================== SLIDE 8: Per-Instruction Results ==================== -->
<section class="slide" data-title="Results: Per-Instruction Variation">
<h2>Results: Not All Instructions Decay Equally</h2>
<p style="font-size:15px; margin-bottom:8px;">Mean post-instruction compliance for INS_T1 on anchor model (Gemma-9B). 1.0 = always compliant. Instructions vary enormously — some are easy to maintain, others collapse quickly.</p>
<div class="chart-container">
<div class="bar-chart" style="height: 200px; gap: 3px;">
<div class="bar-group"><div class="bar-value" style="font-size:10px;">13%</div><div class="bar" style="height:13%; background:#dc2626;"></div><div class="bar-label" style="font-size:10px;">10</div></div>
<div class="bar-group"><div class="bar-value" style="font-size:10px;">16%</div><div class="bar" style="height:16%; background:#dc2626;"></div><div class="bar-label" style="font-size:10px;">15</div></div>
<div class="bar-group"><div class="bar-value" style="font-size:10px;">16%</div><div class="bar" style="height:16%; background:#dc2626;"></div><div class="bar-label" style="font-size:10px;">02</div></div>
<div class="bar-group"><div class="bar-value" style="font-size:10px;">25%</div><div class="bar" style="height:25%; background:#ea580c;"></div><div class="bar-label" style="font-size:10px;">06</div></div>
<div class="bar-group"><div class="bar-value" style="font-size:10px;">33%</div><div class="bar" style="height:33%; background:#ea580c;"></div><div class="bar-label" style="font-size:10px;">12</div></div>
<div class="bar-group"><div class="bar-value" style="font-size:10px;">44%</div><div class="bar" style="height:44%; background:#d97706;"></div><div class="bar-label" style="font-size:10px;">11</div></div>
<div class="bar-group"><div class="bar-value" style="font-size:10px;">60%</div><div class="bar" style="height:60%; background:#ca8a04;"></div><div class="bar-label" style="font-size:10px;">09</div></div>
<div class="bar-group"><div class="bar-value" style="font-size:10px;">64%</div><div class="bar" style="height:64%; background:#ca8a04;"></div><div class="bar-label" style="font-size:10px;">16</div></div>
<div class="bar-group"><div class="bar-value" style="font-size:10px;">70%</div><div class="bar" style="height:70%; background:#65a30d;"></div><div class="bar-label" style="font-size:10px;">05</div></div>
<div class="bar-group"><div class="bar-value" style="font-size:10px;">77%</div><div class="bar" style="height:77%; background:#16a34a;"></div><div class="bar-label" style="font-size:10px;">01</div></div>
<div class="bar-group"><div class="bar-value" style="font-size:10px;">82%</div><div class="bar" style="height:82%; background:#16a34a;"></div><div class="bar-label" style="font-size:10px;">04</div></div>
<div class="bar-group"><div class="bar-value" style="font-size:10px;">82%</div><div class="bar" style="height:82%; background:#16a34a;"></div><div class="bar-label" style="font-size:10px;">07</div></div>
<div class="bar-group"><div class="bar-value" style="font-size:10px;">82%</div><div class="bar" style="height:82%; background:#16a34a;"></div><div class="bar-label" style="font-size:10px;">08</div></div>
<div class="bar-group"><div class="bar-value" style="font-size:10px;">87%</div><div class="bar" style="height:87%; background:#059669;"></div><div class="bar-label" style="font-size:10px;">17</div></div>
<div class="bar-group"><div class="bar-value" style="font-size:10px;">91%</div><div class="bar" style="height:91%; background:#059669;"></div><div class="bar-label" style="font-size:10px;">18</div></div>
<div class="bar-group"><div class="bar-value" style="font-size:10px;">93%</div><div class="bar" style="height:93%; background:#059669;"></div><div class="bar-label" style="font-size:10px;">03</div></div>
<div class="bar-group"><div class="bar-value" style="font-size:10px;">96%</div><div class="bar" style="height:96%; background:#047857;"></div><div class="bar-label" style="font-size:10px;">13</div></div>
<div class="bar-group"><div class="bar-value" style="font-size:10px;">99%</div><div class="bar" style="height:99%; background:#047857;"></div><div class="bar-label" style="font-size:10px;">14</div></div>
</div>
<div class="legend" style="margin-top: 4px;">
<span>Labels = instruction ID (INS_xx).</span>
<span><span class="legend-dot" style="background:#dc2626;"></span>Hardest</span>
<span><span class="legend-dot" style="background:#ca8a04;"></span>Medium</span>
<span><span class="legend-dot" style="background:#047857;"></span>Easiest</span>
</div>
</div>
<div class="two-col" style="margin-top: 12px;">
<div class="card">
<h4>Hardest (most decay)</h4>
<ul style="font-size:14px;">
<li><strong>INS_10</strong> (13%): Include 3+ capitalized words</li>
<li><strong>INS_15</strong> (16%): Wrap response in double quotes</li>
<li><strong>INS_02</strong> (16%): Use exactly 3 bullet points</li>
</ul>
</div>
<div class="card">
<h4>Easiest (least decay)</h4>
<ul style="font-size:14px;">
<li><strong>INS_14</strong> (99%): Add a P.S. postscript</li>
<li><strong>INS_13</strong> (96%): End with "Is there anything else..."</li>
<li><strong>INS_03</strong> (93%): Use 2 labeled sections</li>
</ul>
</div>
</div>
</section>
<!-- ==================== SLIDE 9: Timing & Recap ==================== -->
<section class="slide" data-title="Results: Timing and Recap Effects">
<h2>Results: Timing and Recap Effects</h2>
<h3>Insertion Timing Contrasts (Holm-corrected)</h3>
<p style="font-size:15px; margin-bottom: 6px;">Does it matter <em>when</em> you give the instruction? Yes. Later insertion means fewer turns for the model to forget, and significantly higher compliance.</p>
<table style="font-size:14px;">
<thead><tr><th>Contrast</th><th>Difference</th><th>p-value</th><th>Plain English</th></tr></thead>
<tbody>
<tr><td>T30 vs. T1</td><td style="color:#16a34a; font-weight:600;">+4.7pp</td><td>0.004</td><td>Instructions given at turn 30 are followed ~5% more often than at turn 1</td></tr>
<tr><td>T30 vs. T10</td><td style="color:#16a34a; font-weight:600;">+9.3pp</td><td>< 0.001</td><td>Largest gap: T10 insertion has the most room and time to decay</td></tr>
<tr><td>T30 vs. T20</td><td style="color:#16a34a; font-weight:600;">+6.5pp</td><td>< 0.001</td><td>Even 10 extra turns of exposure causes measurable loss</td></tr>
</tbody>
</table>
<h3 style="margin-top: 16px;">Recap Effects</h3>
<p style="font-size:15px; margin-bottom: 6px;">Does reminding the model at turn 40 help? It depends on how much decay has accumulated.</p>
<div class="two-col">
<table style="font-size:14px;">
<thead><tr><th>Recap vs. Base</th><th>Final-turn boost</th><th>Recovery ratio</th></tr></thead>
<tbody>
<tr><td>T1_RECAP vs. T1</td><td>+21.5pp</td><td>40%</td></tr>
<tr><td>T10_RECAP vs. T10</td><td>+30.3pp</td><td>50%</td></tr>
<tr><td>T20_RECAP vs. T20</td><td style="color:#16a34a; font-weight:600;">+26.0pp *</td><td>52%</td></tr>
<tr><td>T30_RECAP vs. T30</td><td>+26.6pp</td><td>62%</td></tr>
</tbody>
</table>
<div class="card">
<h4>What "Recovery Ratio" Means</h4>
<p style="font-size:14px;">How much of the lost compliance does recap restore? A ratio of 50% means the recap gets you halfway back to perfect compliance. T30 has the highest recovery (62%) because there's less accumulated damage to undo.</p>
<p class="mini" style="margin-top:6px;">* = significant after Holm correction (p = 0.013). Other recap trends are positive but not individually significant.</p>
</div>
</div>
</section>
<!-- ==================== SLIDE 10: MI Methods & Readiness ==================== -->
<section class="slide" data-title="Mechanistic Methods">
<h2>Phase 2: How We Look Inside the Model</h2>
<div class="three-col">
<div class="card">
<h4>1. Linear Probing</h4>
<p style="font-size:14px;"><strong>Question:</strong> Is the instruction still represented in the model's hidden states?</p>
<p style="font-size:14px;"><strong>Method:</strong> Train a simple classifier on each transformer layer's activations. If it can detect "instruction present" even when behavior fails, that's evidence for suppression.</p>
<p style="font-size:14px;"><strong>Control:</strong> A separate probe for filler topic ensures we're detecting instruction signal, not conversation artifacts.</p>
</div>
<div class="card">
<h4>2. Activation Patching</h4>
<p style="font-size:14px;"><strong>Question:</strong> Can we causally restore compliance by transplanting hidden states?</p>
<p style="font-size:14px;"><strong>Method:</strong> Copy the instruction-turn activations from a compliant run into a non-compliant run. If compliance flips from 0 to 1, that layer causally carries the instruction signal.</p>
<p style="font-size:14px;"><strong>Success:</strong> Peak restoration must exceed both random-layer and no-instruction baselines by at least 20 percentage points.</p>
</div>
<div class="card">
<h4>3. Logit Lens</h4>
<p style="font-size:14px;"><strong>Question:</strong> At which layer does the model "decide" to produce the target token?</p>
<p style="font-size:14px;"><strong>Method:</strong> Project hidden states to vocabulary at each layer. For delimiter instructions (e.g., end with "P.S."), track when the target token first becomes likely.</p>
<p style="font-size:14px;"><strong>Prediction:</strong> On non-compliant turns, the onset layer should shift later or disappear entirely.</p>
</div>
</div>
<div class="term-box" style="margin-top: 12px;">
<h4>MI Corpus Status</h4>
<p>6 instructions selected for deep analysis (2 structural, 2 word/token, 2 delimiter). 316 MI corpus rows with 180 anchor positives. All MI causal claims restricted to Gemma-9B; Gemma-2B gets probe-only replication.</p>
</div>
</section>
<!-- ==================== SLIDE 11: Limitations ==================== -->
<section class="slide" data-title="Limitations and Scope">
<h2>Limitations and Scope Boundaries</h2>
<div class="two-col">
<div>
<h3>Design Scope</h3>
<ul style="font-size:15px;">
<li><strong>Format rules only.</strong> All 18 instructions are auto-checkable formatting rules (JSON, bullet points, delimiters). Semantic or persona instructions would require human scoring and are out of scope.</li>
<li><strong>Single MI model.</strong> Causal claims (patching, logit lens) apply only to Gemma-9B. Gemma-2B gets probe-only directional replication.</li>
<li><strong>Exploratory modules are small.</strong> Conflict (180 runs) and stress (120 runs) are explicitly Level-F exploratory.</li>
</ul>
</div>
<div>
<h3>Context Truncation Caveat</h3>
<p style="font-size:15px;">Gemma's 8,192-token context window required sliding-window truncation for later turns in long conversations. The instruction turn is always preserved, but some early filler turns are dropped.</p>
<table style="font-size:14px; margin-top: 8px;">
<thead><tr><th>Metric</th><th>Truncated vs. Not</th></tr></thead>
<tbody>
<tr><td>Mean compliance</td><td style="color:#b91c1c; font-weight:600;">−21.1pp</td></tr>
<tr><td>Mean AUC</td><td style="color:#b91c1c; font-weight:600;">−21.2pp</td></tr>
</tbody>
</table>
<p style="font-size:14px; margin-top:6px;">This is reported as a limitation for early-insertion Gemma interpretations. Llama-3.1-8B (128K context) is unaffected.</p>
</div>
</div>
</section>
<!-- ==================== SLIDE 12: Summary & Next Steps ==================== -->
<section class="slide" data-title="Summary and Next Steps">
<h2>Summary and Next Steps</h2>
<div class="two-col">
<div>
<h3>What We Found</h3>
<ul style="font-size:15px;">
<li><strong>Compliance decay is real and robust</strong> — 17/18 instructions show measurable loss over 40 turns.</li>
<li><strong>Timing matters</strong> — later insertion means less room to decay (T30 outperforms T1 by ~5pp, T10 by ~9pp).</li>
<li><strong>Recap partially recovers compliance</strong> — strongest for T20 (+26pp at final turn, p = 0.013), with 40–62% recovery ratios.</li>
<li><strong>Instructions vary dramatically</strong> — from 13% (INS_10) to 99% (INS_14) mean compliance.</li>
<li><strong>Phase 2 gate passed</strong> — mechanistic analysis proceeds.</li>
</ul>
</div>
<div>
<h3>Next Steps</h3>
<ol style="font-size:15px;">
<li>Complete calibration-swapped instruction rerun and refresh analysis.</li>
<li>Finalize manual audit with second rater (inter-rater reliability via Cohen's kappa).</li>
<li>Run Phase 2: probe training, activation patching, and logit lens on the 6-instruction MI corpus.</li>
<li>Answer the core question: is it forgetting or suppression?</li>
</ol>
<div class="card" style="margin-top: 12px;">
<h4>The Punchline We're After</h4>
<p style="font-size:14px;">If probes stay accurate while behavior fails → <strong>suppression</strong>. If probes degrade before behavior → <strong>forgetting</strong>. If activation patching restores compliance at specific layers → we can <strong>localize the circuit</strong>.</p>
</div>
</div>
</div>
<h3 style="margin-top: 14px;">References</h3>
<ol class="ref-list" style="column-count: 2; column-gap: 24px;">
<li>Laban et al. (2025). <em>LLMs Get Lost In Multi-Turn Conversation</em>. arXiv:2505.06120.</li>
<li>Belinkov (2022). <em>Probing Classifiers: Promises, Shortcomings, and Advances</em>. Comp. Ling.</li>
<li>Hewitt & Liang (2019). <em>Designing and Interpreting Probes with Control Tasks</em>. EMNLP.</li>
<li>Meng et al. (2022). <em>Locating and Editing Factual Associations in GPT</em>. NeurIPS.</li>
<li>Conmy et al. (2023). <em>Towards Automated Circuit Discovery for MI</em>. arXiv:2304.14997.</li>
<li>Rimsky et al. (2024). <em>Steering Llama 2 via Contrastive Activation Addition</em>. arXiv:2312.06681.</li>
<li>Zhao et al. (2024). <em>WildChat: 1M ChatGPT Interaction Logs</em>. arXiv:2405.01470.</li>
</ol>
</section>
</main>
</div>
<div class="toc-modal" id="tocModal" aria-hidden="true">
<div class="toc-panel" role="dialog" aria-modal="true" aria-label="Table of contents">
<h3>Slide Index</h3>
<ul class="toc-list" id="tocList"></ul>
<div style="margin-top:10px; font-size:13px; color:#506476;">Tip: press <strong>T</strong> to open/close this panel.</div>
<div style="margin-top:10px;"><button id="tocCloseBtn" type="button">Close</button></div>
</div>
</div>
<div class="progress-track" aria-hidden="true">
<div class="progress-fill" id="progressFill"></div>
</div>
<script>
(function () {
const slides = Array.from(document.querySelectorAll('.slide'));
const total = slides.length;
const prevBtn = document.getElementById('prevBtn');
const nextBtn = document.getElementById('nextBtn');
const tocBtn = document.getElementById('tocBtn');
const counter = document.getElementById('slideCounter');
const titleChip = document.getElementById('slideTitle');
const progressFill = document.getElementById('progressFill');
const tocModal = document.getElementById('tocModal');
const tocList = document.getElementById('tocList');
const tocCloseBtn = document.getElementById('tocCloseBtn');
let idx = 0;
function slideTitle(i) {
const s = slides[i];
return s.getAttribute('data-title') || s.querySelector('h1, h2, h3')?.textContent || ('Slide ' + (i + 1));
}
function renderTOC() {
tocList.innerHTML = '';
slides.forEach((_, i) => {
const li = document.createElement('li');
const b = document.createElement('button');
b.type = 'button';
b.textContent = (i + 1) + '. ' + slideTitle(i);
b.addEventListener('click', function () { show(i); closeTOC(); });
li.appendChild(b);
tocList.appendChild(li);
});
}
function show(i) {
idx = Math.max(0, Math.min(i, total - 1));
slides.forEach((s, j) => s.classList.toggle('active', j === idx));
counter.textContent = 'Slide ' + (idx + 1) + ' / ' + total;
titleChip.textContent = slideTitle(idx);
progressFill.style.width = (((idx + 1) / total) * 100).toFixed(2) + '%';
}
function next() { show(idx + 1); }
function prev() { show(idx - 1); }
function openTOC() { tocModal.classList.add('open'); tocModal.setAttribute('aria-hidden', 'false'); }
function closeTOC() { tocModal.classList.remove('open'); tocModal.setAttribute('aria-hidden', 'true'); }
prevBtn.addEventListener('click', prev);
nextBtn.addEventListener('click', next);
tocBtn.addEventListener('click', openTOC);
tocCloseBtn.addEventListener('click', closeTOC);
tocModal.addEventListener('click', function (e) { if (e.target === tocModal) closeTOC(); });
document.addEventListener('keydown', function (e) {
if (e.key === 'ArrowRight' || e.key === 'PageDown') { e.preventDefault(); next(); }
else if (e.key === 'ArrowLeft' || e.key === 'PageUp') { e.preventDefault(); prev(); }
else if (e.key === 'Home') { e.preventDefault(); show(0); }
else if (e.key === 'End') { e.preventDefault(); show(total - 1); }
else if (e.key === 't' || e.key === 'T') { e.preventDefault(); tocModal.classList.contains('open') ? closeTOC() : openTOC(); }
else if (e.key === 'Escape' && tocModal.classList.contains('open')) { e.preventDefault(); closeTOC(); }
});
renderTOC();
show(0);
})();
</script>
</body>
</html>