summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
4 dayssynthetic_pair: add --clean boundary mode (noise token at word starts) + ↵Void Agent
configurable dirs; prep reports in-word fraction
4 daysLoss-reweighting results: q/control 0.944 (CI crosses 1), q/ctrl_random ↵Void Agent
0.985 — small non-significant causal demotion; freq corr invariant (r~-0.66) across all 9 models; blog section 8 + results.md section 3 filled honestly
4 daysAdd willkn GreaterWrong corroboration: independent GPT-2-medium finding that ↵Void Agent
raw J-lens misweights structural (high-frequency) tokens + full-rank Jacobian; shrinkage J+lambda I as untested next experiment
4 daysVerify against Anthropic's official jacobian-lens repo: estimator match, ↵Void Agent
zero frequency in their code+data, add --skip_first/--source_mean mirror mode
4 daystest_jlens_v3: move tiny model to DEV (fix cpu/cuda mismatch on cuda runs)Void Agent
4 daysAddress Luna repo review: dynamic repo root (no hardcoded cwd), J-lens ↵Void Agent
correctness test (last-layer identity), auditable fact-check, mechanism narrative fix, softened conditional-predictability claim, README data-prep + artifacts note
4 daysAdd src/stats_decomp.py: reproducible W_U decomposition, p-values, Spearman, ↵Void Agent
synthetic-pair CI (backs results.md numbers)
4 daysDocument n_pairs denominator (exact count) and ctrl_random gradient-mass ↵Void Agent
caveat (comment-only)
4 daysAddress Gemini+Opus repo reviews: W_U decomposition, Spearman+p-values, ↵Void Agent
synthetic-pair CIs + corruption caveat, accurate fact-check, softened burden-of-proof, LayerNorm note, reviews caveat
4 daysBlog: fact-check section — 3 independent checks confirm Anthropic has no ↵Void Agent
frequency control (incl. template-lens high-frequency note); preempt 'they have controls' strawman
4 daysDocs: Feynman-style blog draft, MIT license, requirements, results.md, ↵Void Agent
README rewrite with repro steps; reviews -> docs/reviews
4 daysAdd canonical test command: scripts/test.sh (runs ↵Void Agent
tests/test_loss_reweight.py; skips without torch)
4 daysloss_reweight: pass Y to forward for full logits (Karpathy nanoGPT returns ↵Void Agent
last-position logits when targets=None); regression test
4 daysAdd tests/test_loss_reweight.py: batch determinism + weighting semantics ↵Void Agent
(runs in container)
4 daysloss_reweight: CPU generators for randint/randperm (CUDA generators ↵Void Agent
unsupported on torch 2.4); cuda-path verified
4 daysAdd causal experiments: synthetic frequency-matched pair (Gemini design) + ↵Void Agent
loss-reweighting (Codex design); jlens_v3 output_dir + last-layer device fix
6 daysjlens_v3: chunk VJP probes (16) to fit K2200 4GB; proxy chunk fix; e2e ↵Void Agent
verified (last-layer cos-sim=1.0)
6 daysAdd faithful J-lens (jlens_v3): W_U-probed residual Jacobian per paper; ↵Void Agent
both-ways comparison vs log-softmax proxy; 3-model adversarial reviews
7 daysGPT-2 J-lens: use local Shakespeare + fix summaryVoid Agent
7 daysGPT-2 Small J-lens: frequency + dimensionality samplingVoid Agent
7 daysAdd Pythia-70m test scriptVoid Agent
7 daysFix: lr→learning_rate in configure_optimizersVoid Agent
7 daysAdd dimensional starvation experiment (d_model=16,32,64,128 vs 384)Void Agent
7 daysAdd controlled frequency ablation experiment (doubled-q)Void Agent
8 daysjlens_v2: fix import path for src/ -> root layoutVoid Agent
8 daysAdd jlens_v2.py: simplified gradient approach for J-lensVoid Agent
8 daysjlens.py: fix hooks — don't detach activations, preserve gradient graphVoid Agent
8 daysjlens.py: fix load_model for dict-format nanoGPT checkpointsVoid Agent
8 daysFix jlens.py import path: src/ -> project rootVoid Agent
8 daysMaxwell GPU fixes: disable bf16 SDPA, force fp32Void Agent
- model.py: honor config.flash flag (defaults True, False disables SDPA) - config: force dtype=float32 and flash=False for K2200 (compute 5.0) - Maxwell GPUs don't support bf16; SDPA internally uses bf16 operations
8 daysRestructure: nanoGPT at root, custom code in src/Void Agent
- Move model.py, train.py, configurator.py to root for nanoGPT compatibility - data/ and config/ directories at root with Shakespeare dataset prep scripts - src/jlens.py updated to import model from project root - Cleaned up stale src/config/ and duplicate src/ files - Fixed .gitignore: exclude out-shakespeare-char/ instead of raw data dirs
8 daysInitial project setup: J-lens implementation for nanoGPTVoid Agent
- Core J-lens computation (batched per-layer, per-token gradient method) - Project README with background and experiment plan - Sync script for meru Docker container deployment - Upstream nanoGPT model code copied to src/ Architecture: Computes d(log_p(token))/d(residual_stream) averaged over corpus contexts, replicating Anthropic's Jacobian Lens technique.