Project Influence - Chapter 6 - Checkpoint 1
Date: 2026-10-31 (Sydney) | Another collaboration between Andrew.human and Claude.ai
1. Problem & Resolution
Question: is an "organic" memory mechanism (LLM2 steering LLM1 with mem-toks) viable? How hard can word scores be pushed before replies break?
Done this chapter
- LLM2 baseline dumped: Qwen3-4B-Q4_K_M on Clone (8082), standard prompt (625 tokens), temperature 0, 120 steps, top-50 log-probs. Two runs identical (
qwen_llm2_std_120a.json, ..._120b.json).
- Baseline facts: 46 of 120 steps have a top-1 share under 50%; median gap rank1-rank2 is 1.25; median spread rank1-rank50 is 8.81; step 1 is among the hardest.
- Hybrid RAG (hotwords.py v2.2.0 + MiniLM embeddings) tested: the RAG block changes the reply from step 6; mean shift 0.4-1.7 log-prob points (max 5.43). Dump:
qwen_llm2_rag_hybrid_120.json.
- Built
logit_staircase.py v1.0.0 (LogitStaircase_v1.0.0.zip). Real run on Clone: staircase_20261031-154509.
Staircase result (one prompt, 120 tokens, one run per setting) | | Mem-tok first words (22 distinct ids from 29 candidates) | Control words (22) | |---|---|---| | First reply change | +2 | +5 | | Candidate phrases completed | 0 at all levels | 1 at +5/+6 (blanket, step 119) | | Stray first words | 3 at +2, 6 at +6 | 0 | | Breakdown (repeat/distinct ratio) | none (ratio 0.48-0.52, repeat 1) | none |
Reading:
- +6 did not break the replies; the push is too weak to damage because most candidate first words sit 5-15 places down (-5 to -12 log-prob).
- First-word push leaks: the word arrives without its phrase and in the wrong sense (" false" from "false positives" turned step 4 into a "false cause fallacy" topic; " healthy" gave "healthy meals"). It can steer topic, not deliver a phrase.
- Mem beats control at +2 mostly because mem words sit closer to the top; the control is not matched on closeness. This is not proof the model "understands" mem-toks.
- The server reports scores BEFORE the bias (confirmed), so "mean shift 0.000" in the summary is uninformative; use the candidate_track logs.
- One early flip rewrites everything after it (greedy cascade).
2. Risk Analysis
- Static push applies at every step to the same token (common first tokens flagged: "percentage of what" excluded).
- First piece only; capitalised / no-space variants not pushed (risk 54).
- Control not matched on piece shape or closeness (risk 53, plus floor/weight tuned on a tiny sample).
- Single prompt, single run, temperature 0 only: repeatable, not general.
- Hotwords limits: rarity marks subject words as common as the store grows; query array dominated by opening words.
- Unresolved: whether a 4B model can use mem-toks beyond topic steering.
3. Code Change
- NEW
logit_staircase.py v1.0.0 (2026-10-31), control_words.txt (40 words), LOGIT_STAIRCASE_MANUAL.md. Stdlib only, Python 3.6 floor; tested 3.11-3.13 and against the Clone's llama-server.
- No other code changed. Unrequested additions (announced): control group, score-reporting self-check, common-token flagging.
Next steps (when we pick it back up)
- Push the SECOND piece of each phrase too (or the whole phrase path) to see whether phrases can be pulled through.
- Per-step push: apply the bias only on steps where the candidate is already in the top ten.
- Try +1.5 / +2.5 steps and the
mem_in / mem_new groups separately.
- Match the control on closeness to the top and piece shape.
- Later: strengthen the store by usage; LLM1 vs LLM2 comparison.
Operations notes
- Start LLM2 with
Qwen34B-LLM2.sh (8082). minilm-l6.sh (8083) is needed only for hybrid RAG runs. Use HOTWORDS_DB=/root/memstore/hw_std.db prefix on every hotwords command.
- Use a new output name each run. Stale/wrong files in ~/memstore:
qwen_llm2_std_1.json (0 bytes), pseudo_std_hybrid.json (0 bytes), pseudo_std_hybrid_2.json (wrong store).
- Timing: new prompt read ~154 s; 120 tokens 57-71 s; full staircase ~13 min.