Skip to content
View taggarttufte's full-sized avatar

Block or report taggarttufte

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
taggarttufte/README.md

Hi, I'm Taggart

Mathematics BS, Montana State University, May 2026 — completed in three years, working through college. Independent researcher at the intersection of reinforcement learning, mechanistic interpretability, and AI safety — mostly on whether hidden behavior can be planted in a model, and whether it can be caught.

Current Work

A Cartridge is a trained KV cache: a small, shippable artifact that installs knowledge or behavior into a model without touching its weights — so it's a plausible future supply-chain object. This asks whether a cartridge that does something genuinely useful can also carry a hidden trigger, and whether a defender can detect it. Used as a cheap, reversible model organism: no fine-tuning run, no weight diff, trainable in minutes on one consumer GPU. Run largely as hands-off autonomous overnight campaigns on rented GPUs, each scoped, budgeted, and torn down end to end.

Key result: A useful cart can hide a working trigger only if the two are trained jointly — naive concatenation fails by destructive interference, independently replicating CAS. But what installs is not a clean backdoor. Fuzzing against real traffic overturned this project's own earlier "stealthy sleeper" claim: every trigger cart fires on 24–92% of ordinary trigger-free queries, and decoy controls show the gate keys on a word's position in the turn roughly twice as strongly as on the word itself. The sharpened claim: the payload installs perfectly; it is the switch the format resists — the same iff-rule gates cleanly as an in-context prompt on the same model, isolating the failure to the cartridge's shortcut-prone prefix. On defense: a response-position activation monitor catches firing 4/4 and names the payload, but neither static KV inspection nor a pre-output monitor reads the backdoor at rest — the detection window is concurrent with firing, not before it. Three headline claims here were reversed by the project's own follow-up controls; the repo's CLAIMS.md tracks exactly what stands.

PyTorch HuggingFace Transformers PEFT mechanistic interpretability activation steering model organisms

Empirical study of how Arditi et al.'s (NeurIPS 2024) "refusal lives in a single direction" finding transfers across model families. Replicated cleanly on Qwen 2.5 1.5B (10/10 coherent jailbreak, N=12 with explicit coherence checks), then mapped a 5x3 block-by-direction matrix across Gemma 2 2B, Gemma 3 1B, and Gemma 4 E2B to test single-layer ablation. Cross-Gemma results are dramatically asymmetric — Gemma 3 is the architectural outlier, not the rule.

Key result: Direct parameter inspection found that Gemma 3's post_attention_layernorm and post_feedforward_layernorm gains are 5–30x larger than Gemma 2, Gemma 4, or Qwen — amplifying per-block residual perturbations and making single-layer interventions disproportionately effective. Gemma 4 corrected the calibration. Random-direction control rules out the noise-injection alternative. Inference-only on a 12 GB consumer GPU.

PyTorch HuggingFace Transformers mechanistic interpretability forward hooks matplotlib

A statistical 1v1 player for Balatro's Major League multiplayer ruleset, built measurement-first: a bit-exact port of the game's RNG chain verified against its own LuaJIT runtime (126 seeds reproduced exactly through ante 8, en route uncovering a shop rule every published seed analyzer omits — confirmed in the live game), an engine that delegates all generation to that oracle, and an analytic expectimax match player — no network, no search — that beats the trained 106-generation MCTS agent 57/58 head-to-head after a determinization measurement showed the search agent's apparent skill was clairvoyance. Current work: a 5M-parameter V(state)=P(win) trained on counterfactual action pairs rolled out on shared determinized worlds; the ranking loss took argmax-V from 2/60 to 12/60 against the hand-written rules, with the gain attributed by a same-data control. Grew out of Balatro RL (archived intact as an early artifact): eight PPO architectures over ~366 hours of compute whose concluding "search ceiling" verdict a later self-audit found confounded — that audit is the hinge between the two repos, and the reason the successor starts from ground truth.

A two-week, certificate-first campaign against open problems on stale lists in quasigroup, loop, and semigroup theory: a language model orchestrates automated theorem provers (Vampire, E, Twee, Prover9), Mace4, a SAT solver, and GAP overnight on one desktop CPU, under a verification protocol written down before any result existed — nothing counts without a machine-checkable certificate, an independent re-implementation, and a literature check. The protocol caught two bogus zero-second "proofs," three verdict-parsing bugs, a mislabelled axiom, and one of my own overstatements before anything went out.

Key result: Closed the two remaining open orders (14 and 18) of a 1998 conjecture on recursively differentiable quasigroups / recursive MDS codes, with triple-verified tables and a hand-checkable closed form at order 14 — in seconds, by encoding a domain expert's stated intuition (cyclic symmetry) as a SAT constraint after 24 hours of unconstrained search found nothing. Also: power-semigroup determinism verified for all semigroups of order ≤ 6 (apparent first for the finite case), and a mis-encoded "unsolved since 2008" benchmark problem diagnosed with an order-2 countermodel — erratum acknowledged by the library's maintainer.

automated theorem proving Vampire Twee SAT GAP quasigroup/loop theory

Comparative evaluation of multi-signal pandemic early-warning, submitted to Apart Research's AIxBio Hackathon (Track 2) and externally reviewed. Tests whether four surveillance signal types — wastewater PCR, Google Trends, Wikipedia pageviews, and CDC syndromic data — keep calibrated relationships with clinical ground truth across a pathogen's transition from emerging to endemic, using COVID-19 as the subject and influenza as a controlled comparison.

Key result: Attention-based signals show 5–23x variance compression after the first major COVID-19 wave but none across flu seasons — attention decay is an emerging-disease novelty-cycle phenomenon, not a property of the signal type. Wastewater is the only signal type that holds calibration across the full lifecycle. Includes an honest negative result on LLM-conversation surveillance.

Python pandas HuggingFace Transformers time-series anomaly detection matplotlib

Systematic comparison of four ML model families for predicting ICU mortality on MIMIC-IV (74,829 patients). Feature-engineered XGBoost (AUROC 0.9565) significantly outperforms Neural ODEs (0.9039) and clinical language models (0.8809), with all differences confirmed by bootstrap CIs and DeLong significance tests. Investigated whether clinical text models exploit code status documentation (CMO/DNR) as a confound using a novel multi-task ClinicalBERT framework.

Key result: Structured time-series features dominate text for short-horizon ICU mortality. The interesting question is not which model wins, but what each modality actually captures.

Python PyTorch torchdiffeq HuggingFace XGBoost PEFT SLURM/HPC

Live Jekyll site of long-form reviews on AI safety, philosophy of science, and epistemology — Taleb, Christian, Callard, Hao, and others. Each review is its own argument, not a summary: what the book changed, where it falls short, and how it connects to alignment or my own research. Source: taggarttufte/book-reviews.

Jekyll GitHub Pages kramdown MathJax

Other Projects

Multi-Voice Audiobook Generator End-to-end EPUB → multi-voice MP3 audiobook pipeline using xAI's Grok TTS. Heuristic dialogue attribution with confidence scoring, gender-matched voice mapping, per-segment caching, and a bundled Flask web player with variable speed, bookmarks, and paragraph-synced read-along. 7 books rendered to date; ~70× cheaper to run than ElevenLabs at comparable quality.

Ski Resort Pricing Analysis Predictive modeling of season pass prices across 500+ resorts using multi-variable regression and Cholesky decomposition. Built from numerical foundations rather than black-box libraries.

SVD Image Compression Image compression via Singular Value Decomposition. 17x compression at rank-50 with less than 6% reconstruction error.

Tech Stack

Python · PyTorch · NumPy · pandas · scikit-learn · HuggingFace Transformers · PEFT · Gymnasium · Flask · MATLAB · XGBoost · Git · SLURM · rented-GPU workflows (Vast, RunPod)

Background

Strong foundation in numerical linear algebra, real analysis, and statistical theory. Experience with HPC (MSU Tempest, NVIDIA A40) and rented single-GPU cloud instances for training and interpretability work.

Most of what I do is small-scale and carefully controlled rather than large-scale: norm-matched random-direction controls, held-out baselines, multi-seed checks where variance matters, and null results reported as nulls. Two of the projects above include a public retraction of my own earlier result after a self-audit. Interested in AI safety and alignment — particularly deception, backdoors, and whether hidden behavior can be detected.

Pinned Loading

  1. cartridge-interp cartridge-interp Public

    Can a useful KV-cache Cartridge hide a working backdoor trigger, and can a defender catch it? Toy-scale model organism: joint training hides it, the trigger over-fires a lexical zone, and an activa…

    Python

  2. refusal-direction-study refusal-direction-study Public

    Cross-architecture refusal-direction ablation study: Qwen 2.5 + Gemma 2/3/4. Mechanistic explanation for why Gemma 3 specifically admits single-layer jailbreaks.

    Python

  3. balatro-1v1 balatro-1v1 Public

    1v1 Balatro: a bit-exact game engine, an RNG oracle verified against the real game's LuaJIT, and an analytic expectimax match player for the Major League multiplayer ruleset

    Python

  4. algebra-hunt algebra-hunt Public

    Two-week certificate-first campaign: an LLM orchestrating ATPs, SAT, and GAP against open problems in quasigroup, loop, and semigroup theory — closed two open orders of a 1998 conjecture; the trust…

    Python

  5. neural-ode-icu neural-ode-icu Public

    Four model families compared for ICU mortality on MIMIC-IV (74,829 stays): XGBoost, a Latent ODE implemented from scratch, ClinicalBERT, and GRU+BERT fusion — with bootstrap CIs and DeLong testing,…

    Python

  6. book-reviews book-reviews Public

    Book reviews on philosophy of science, AI safety, and technical non-fiction

    HTML