Machine Learning Engineer | LLM Inference | Post-Training & RL Environments | Evals & Safety Research
Featured: Latent Space AI in Action Talk, Oct 2025 Technical Blog: The Third State in AI alignment
I build and harden AI systems where failure is expensive. I'm Co-Founder and Head of Engineering at Attunica (clinical AI for psychotherapy training, live on AWS in 2 pilots) and was the first hire at GhostEye (YC S25). On my own I run Chimera, a public inference-safety research program: 55 technical reports / 1.46M+ measurements (47 public), 2 workshop papers accepted (ICML 2026, NeurIPS 2026), seven merged fixes in vLLM, PyTorch, Ollama, and Triton, two PyPI tools with 57K+ downloads, and 4 public RL/evaluation projects with interactive demos.
chimeraforge.vercel.app/projects · 11 systems I built, each rebuilt in the browser on synthetic data so you can run it yourself. Source repos are public.
| RL / evaluation project | What it is | What the demo shows |
|---|---|---|
| Turncraft · demo | Customer-service agent environment: 9 identity-bound tools that change order records, rewarded for what the records end up saying, not what the agent said | 34 scripted controls gate 8 cases: successful runs score 0.978–1.000, do-nothing ≤ 0.177, forbidden ≤ −0.380. Refunding the duplicate charge scores 1.00; refunding the real one scores −0.40 |
| Patchglass · demo | Containerized code-repair environment: reward comes from running every test on the buggy and the patched code, with hidden tests restored | Four candidate fixes: a two-test smoke suite passes three, the full six-test suite passes one |
| Gatebound · demo | Gymnasium flight-routing environment with masked REINFORCE and deadline-aware planning under delays and cancellations | Tight deadline: planning ahead gets 40 of 64 simulated trips to JFK on time where booking the earliest nonstop gets 0, but 8 fewer arrive at all |
| Counterledger · demo | Offline policy evaluation: fitted Q, sequential doubly robust, paired bootstrap, support gates | A new policy looks 0.27 better on logged decisions; a control that ignores the situation gets 65% of that, and a changed reward erases it |
Also live:
- Agents & evaluation: spreadsheet reasoning inspector · browser-agent completion gate · intake triage scorer
- Systems: staged document search · send pacing scheduler · drone mission governance
- Product: collaborative whiteboard
icml2026-paper-reproductions · Final: rank #26 of 1,221 participants (top 2.1%) · 48 papers · 249 official claims judged: 118 verified, 3 published claims falsified · 297 pts · verdicts frozen 2026-08-02.
Independent, from-scratch reproductions of ICML 2026 submissions, produced by an agentic pipeline and judged claim by claim by the challenge's independent referee. Acceptance and falsification rules are pre-registered before each run; producers cannot publish their own bundles, and reviewers cannot repair what they judge. Every reproduction ships its per-paper evidence: methodology · frozen leaderboard.
Founder & Lead ML Architect · Sep 2025 – Present · New York, USA
| Component | What it does |
|---|---|
| Banterpacks (core) | Multi-model constitutional debate with heat-based escalation and 3 consensus algorithms; a calibrated fast-path router with debate fallback, canaries, and rollback (its original one-class safe-centroid design failed across 3 corpora and 4 encoders, AUC 0.358–0.545, traced to topic confounding, and was replaced by a supervised safe-minus-unsafe direction); a 7-crate Rust alignment runtime (BFT consensus, Ed25519 provenance, Pedersen-commitment ZK proofs on Ristretto255, CRDT sync); an RLAIF loop that turns debate outcomes into DPO pairs. |
| Banterhearts (research substrate) | The measurement and paper engine: multi-backend evaluation and serving harnesses (Transformers, Ollama, ONNX, vLLM, SGLang, TGI), per-sample JSONL provenance, pre-registered runs held to frozen gates, disagreement-aware judge triangulation, fail-closed analyzers, and frozen-byte paper packages with anonymous reviewer artifacts. |
| JARVIS (Console) | Gateway with chat, voice (Whisper STT, TTS), PostgreSQL/pgvector graph memory, human-in-the-loop tool approval, WebSocket streaming, and durable workflows; Next.js 15 + React 19 operator console with live agent state. |
| Chimeraforge | Capacity-planning CLI and MCP server that ships the research as deployment decisions (Open Source). |
Also: Chimeradroid (Unity/C# JARVIS client for Android and Android XR), Echo (Slack, Discord, Telegram, WhatsApp, and email relays), ProjectWyvern (constitutional drone-autonomy layer over PX4/ArduPilot, in simulation), and Banterblogs (write-ups).
Banterpacks, Banterhearts, and Muse Protocol are private during the publication window; read access on request via LinkedIn.
55 technical reports (47 public: TR 108–149, 152, 163–165, 167) · 1.46M+ decision-grade measurements, curated from ~10⁹ profiler samples · 3 of my own pre-registered hypotheses overturned. Every public TR is a markdown file in /reports/: count, read, diff. Pre-registered paired designs, bootstrap CIs, TOST equivalence, Cohen's d, Holm-Bonferroni.
- Safety tax of inference optimization: normalized over two common anchor models, quantization accounts for 57% of the safety-score cost, backend 41%, concurrency 2% (TOST null). Across 18 models / 10+ families, alignment type showed no detectable association (p=0.942); output instability predicted fragility best (r=0.91), and chat-template divergence sometimes exceeded precision effects.
- Quantization safety (RTSI preprint): safety can degrade 13.9× faster than quality under quantization. Offline routing across 45 configurations recovered 76% of the refusal gap with 20% routed to direct safety testing (leave-one-cell-out AUC 0.84); the preprint routes 10/10 hidden-danger configs (Wilson 95% lower bound 0.72). Shipped as the QuantSafe Certifier.
- Post-training: objectives matched to evidence shape (paired debate preferences → DPO/ORPO, unpaired verdicts → KTO, verifiable rewards → Dr.GRPO/RLOO/REINFORCE++) behind shared eval and promotion gates. A pre-registered Dr.GRPO RLVR run (Qwen2.5-1.5B, MedMCQA) traced a null to 76% zero-reward-variance rollout groups; changing only the prompt gained +8.8pp held-out pass@1 (p=0.0003), with late rollout collapse reported alongside.
- Overturned: M/D/1 queueing missed continuous-batching latency by 20.4×;
NUM_PARALLELhad no detectable effect (0/30 significant); PyTorch Direct throughput degraded more than Ollama. A four-stack study isolated PyTorch Direct's N=2 dispatch breakdown, removed by TGI on the same GPU; a separate vLLM benchmark reached 2.25× Ollama's throughput at N=8.
Attunica, LLC · Co-Founder & Head of Engineering
Oct 2025 – Present · New York, USA
Clinical AI platform for psychotherapy training: social-work students run sessions with voice-and-avatar AI clients, and instructors assess them. Live in 2 pilots: the NYU Silver MSW program and a 120-therapist clinic; HIPAA BAAs executed across Anthropic and AWS. I architected and solo-built the platform core and lead a PM and two engineers.
Walkthrough recorded on a local stack with synthetic practice data.
- First-customer release live on AWS (Sep 2026): backend, frontend, LiveKit agent, and evaluation services on ECS, with Aurora PostgreSQL 18 and Bedrock; the deployed evaluator was accepted only after an audited Bedrock canary
- Real-time sessions on LiveKit + Gemini Live + Anam avatars, with Deepgram producing the canonical transcript and recorded sessions under revocable consent
- Five-criterion formative evaluation that separates "no evidence" from "scored zero", plus an instructor human-assessment lifecycle (immutable submit, receipted release) with the rubric blocked from automation
- Judge-validity benchmark (40 fixtures, held-out scenarios, bias probes) for three-sample median judging: debiasing moved leniency from +0.81 to within 0.13 anchors of zero (held-out weighted kappa 0.66 vs 0.05 null; model-written key), and showed that sample disagreement alone misses large errors
- Instructor authoring with PDF/DOCX source ingestion: hash-bound uploads, macro and external-link rejection, source text treated as untrusted input
- Every change passes an exact-base validator with append-only admission, so a PR cannot weaken the checks that approve it
- Article 31 documentation product for clinicians (v0.5.1 on ECS): release-gated deploys, on-device Whisper dictation, browser-only PDF extraction, psychotherapy-note authorship enforced end to end
Dec 2025 – Mar 2026 · New York, USA
Built a security awareness training platform in 90 days as a founding engineer. Multi-channel delivery across web, Slack, Teams, SMS/RCS, WhatsApp, Telegram, voice, and email.
- Shipped to 8 pilots (5 enterprise, including a top-10 global asset manager and a Fortune-100 cloud platform); barge-in, streaming, caching, and summarization cut per-turn latency from 5–7s to 0.5–1.5s, and shared caching and summarization libraries cut LLM costs 30–80% across all agents
- Phishing email generation pipeline on self-hosted 70B LLMs with domain-specific LoRA/QLoRA adapters trained with DeepSpeed on a 1M+ email corpus
- Reduced deepfake phishing simulation latency from 40s to 100–450ms (80–400x improvement) via a multi-agent WebRTC pipeline (video render agent + voice agent); range reflects per-call workload depth
| Project | Description |
|---|---|
| chimeraforge | The tool that ships the research. Capacity-planning CLI, Python API, and MCP server (MCP Registry): plans model × quantization × backend × GPU/TP/PP deployments, including heterogeneous fleets, against VRAM, TTFT/TPOT, throughput, KV-cache/offload, prefix caching, multi-LoRA, cost, and energy, and emits vLLM, TGI, SGLang, and Ollama launch commands. Every number carries a provenance label (measured, extrapolated, derived, estimated, unknown); validate audits predictions against measurements. pip install chimeraforge · 38K+ downloads. |
| quantfit | "Quantize an LLM and check it still refuses what it should." AWQ, GPTQ, SmoothQuant, FP8, RTN, and GGUF under one frozen calibration spec; the QSR spec v0 release gate gives Wilson-bounded verdicts with JUnit output for CI. Apache-2.0, 19K+ downloads. |
| HuggingFace model releases | 28 models: 11 AWQ/GPTQ 4-bit checkpoints, 6 FP8-Dynamic releases, 4 GPT-2 scaling-law runs, a pre-registered Dr.GRPO LoRA on MedMCQA, 5 Qwen2.5 GRPO-study checkpoints, and quantsafe-refusal-modernbert (97.73% accuracy on XSTest). |
| QuantSafe Certifier | HF Space that turns the RTSI research into an Ed25519-signed certificate: refusal screen, ModernBERT cross-check, Qwen3Guard + Granite Guardian judges, and constitutional debate for contested cases. |
| vLLM PR #45207 | Merged (55da232, approved by benchislett): fixed a KV-cache page-size unification crash on hybrid Mamba/attention models by padding the Mamba page via page_size_padded. Regression test added. Fixes #43626. |
| PyTorch PR #175562 | Landed in PyTorch Inductor (be90a14, approved by jansel): hardened cudagraph_trees deallocation against diagnostic-metadata divergence. Also validated jansel's follow-up fix #184102 across torch 2.10 and 2.12 nightly (gist). |
| PyTorch PR #190555 | Landed in PyTorch Inductor (0b96f88, approved by jansel): split cross-device extern kernels out of CUDA-graph partitions, which were capturing CPU storage and failing memory-pool checks; same-device kernels stay graph-eligible, with regressions for custom ops, multi-output ops, index_put, and SDPA dropout. |
| PyTorch PR #199075 | Landed in PyTorch Dynamo (0055968, approved by guilhermeleobas): fixed a high-priority silent-correctness bug (#198187) where random.Random float draws reached compiled graphs at a mismatched dtype; Dynamo now traces them at the precision they are passed with. |
| Ollama PR #16669 | Merged (approved by dhiltgen): root-caused two Vulkan enumeration bugs that inverted iGPU/dGPU classification on Windows hybrid graphics; short requests took 3.8s on the iGPU vs 0.42–0.8s on the RTX 4080 across runs (~5–9× faster), with the same inversion confirmed on a second machine. Fixes #16667. |
| Triton PR #10819 | Merged (b92dc43, approved by peterbell10): fixed a tl.flip compile-time crash on the documented default dim=None, with test coverage. Fixes #10790. |
| Triton PR #12350 | Merged (29ef3c3, approved by Jokeren): loop-bound casts now follow each operand's source signedness, so a uint8 bound of 200 no longer sign-extends to -56 and silently runs zero iterations; runtime regressions on A100 and H100. Fixes #12347. |
Languages: Python, TypeScript, Rust, C#, SQL, C++
ML & inference: PyTorch, Transformers, DeepSpeed, vLLM, SGLang, TGI, TensorRT-LLM, llama.cpp, CUDA, Triton, FlashAttention, torch.compile, Nsight
Post-training, RL & evals: LoRA/QLoRA, DPO/ORPO/KTO, GRPO-family RL, REINFORCE, RLAIF, Gymnasium environments, offline policy evaluation (FQE, doubly robust), PRM/ORM routing, TOST, bootstrap CIs
Product & infra: FastAPI, Next.js, React, PostgreSQL, Redis, ClickHouse, AWS (ECS, Bedrock, Aurora), Terraform, Docker, Kubernetes, LiveKit, OpenTelemetry
A Paired Testing Protocol for Batch-Conditioned Refusal Robustness in LLM Serving
Accepted, ICML 2026 Workshop on Hypothesis Testing
A Safe Prototype Is Not a Safety Direction: Reference Dependence and Prompt Confounds in Response-Safety Embeddings
Accepted, NeurIPS 2026 Workshop on Foundations of Language Model Security (FLMSec)
Quality Is Not a Safety Proxy Under Quantization: The Refusal Template Stability Index
Preprint
Speculative Decoding at Temperature Zero: A Scoped Safety-Invariance Screen with a 48,072-Sample Expansion
Preprint
NeurIPS 2026 workshops: RTCA program committee (5 reviews), JUDGe (3), FLMSec (2). Ethics reviewer for the NeurIPS 2026 main track and the Evaluations & Datasets track.
Led a 3-engineer, 1-physician team across a 5-institution clinical imaging program: TensorFlow/Keras pipelines over dental, retinal, and EEG data with SHAP interpretability. Registered work: Copyright L-122721/2023.
"The first principle is that you must not fool yourself, and you are the easiest person to fool."
Richard Feynman





