I make frontier multimodal and embodied models cheap to train and fast to run, from the GPU kernel up to the model on the robot, and I measure where it breaks.
Hugging Face · Kaggle · LinkedIn
Most AI work stops at the notebook. Mine goes a layer down, into the kernels, quantization, and distributed training that decide what a model actually costs to run, and then onto the hardware it has to run on. I write custom GPU kernels in Triton and CUDA, quantize models to fit a latency and power budget, and run distributed training in PyTorch and JAX. Lately I've been pushing that same efficiency work into vision-language-action models and reinforcement post-training, the part of robotics where every millisecond of inference is a millisecond the arm is standing still.
Every project runs locally with one command and comes with tests, CI, and real measurements. When I report a speedup I put the baseline right next to it, and when a lever doesn't pay off I publish that too, because knowing where it isn't is half the job.
Background: a decade of model validation and risk work in regulated environments, including a bank's Chief Risk Office, which is where I learned not to trust a result until I've seen how it was measured. I bring that same habit to the systems layer now, across kernels, training, and inference. Certified in AI Agents and Agentic AI Architecture in Python (Vanderbilt, 2025).
Making frontier embodied and multimodal models cheap to run and safe to deploy. A VLA folds laundry in a lab demo, then stalls on the actual robot, because end-to-end inference runs at 3 to 5 Hz and a robot arm needs 50 to 100 Hz. That gap is an engineering problem, and this repo measures the levers that close it on a real batch-1 VLA flow-matching sampler, with correctness and no-leak checks gating every number. There's a live demo if you'd rather set a budget and watch the compiler pick a config.
| What it shows | Links | |
|---|---|---|
| CUDA-graph sampler | manual graph capture of the N-step flow loop runs 5.9x over eager (4.82 to 0.82 ms/step on a T4), beats torch.compile, replays exactly, leaks zero memory | repo · thesis |
| Weight-only low-bit, reported as a negative | four experiments showing int4/int8 is a memory-footprint lever (int8 2x, int4 4x smaller, under 5% action error), not a batch-1 latency win, on T4 and L4 | results |
Most of the systems work is embodied-efficiency, because that's where the measured results live. Two more pieces of it, and the numerics underneath all of it:
| Project | What it is |
|---|---|
| deploy-compiler | Hand it a deployment budget and it searches precision, integration steps, cuda-graph, action-chunking and a speculative draft, scores every config, then gives back the Pareto frontier plus the best config under the budget, with the whole search measured on a real L4. Action-chunking is the biggest lever, because bf16 with a graph is 4.47 ms per call but running all 50 actions in the chunk before recomputing is 0.089 ms per action, and you pay for it in the last action being 49 control steps stale. The speculative draft didn't pay off, measured acceptance rate 0, and it's reported straight like everything else |
| runtime safety supervisor | Sits between the policy and the actuator and vets every action for finite values, joint limits, drift from the calibrated posture, and jerk, and when a check trips it holds a safe action and writes the intervention record that becomes the governance trail. Calibrated on real DROID teleoperated actions, the drift detector scores AUC 0.99, and tuned from the ROC to a 1% false-positive budget it catches 91% of all faults |
| nn-from-scratch | An MLP in NumPy with no autograd anywhere, every forward and backward pass and the Adam optimizer written by hand, MNIST about 97.7%. The test suite runs a finite-difference gradient check, so the hand-written backprop is proven correct rather than just plausible |
Competitions (Kaggle): fine-tuned Nemotron-3-Nano-30B with a LoRA adapter served under vLLM, banked 0.84. NeuroGolf, building the smallest ONNX graphs that solve ARC-AGI tasks exactly under a hard parameter budget. ARC Prize 2026, a hierarchical program-induction solver.
Fine-tune, prove it on data it never saw, serve it like production.
| Project | What it does | Measured |
|---|---|---|
| distilbert-emotion · API · ▶ demo | DistilBERT fine-tuned on dair-ai/emotion, then served behind a real API |
accuracy 0.920, macro F1 0.874 on 2,000 held-out examples, plus the confidently-wrong cases. Live API with dynamic batching, Prometheus and Grafana, load test, multi-stage Docker |
| ParaPilot · ▶ demo | Grounded, cited legal GPS for Illinois divorce: RAG plus a scope gate and citations | reproducible offline eval, 53 gold questions: 92.7% answer correctness, 97.6% citation accuracy, rerun by CI on every push |
| SupportCopilot · ▶ demo | E-commerce support agent: RAG over catalog and policies, policy-correct refunds, escalation | 80% ticket deflection on a seeded synthetic eval (generated tickets, not live traffic) |
| InterviewCoach · ▶ demo | Paste a job description, get tailored questions and rubric-scored answers | full-stack, provider-agnostic, CI across 3 Python versions |
| Solidity Static Auditor · ▶ demo | Rule-based, SWC-mapped Solidity analyzer plus optional LLM remediation | 10 detectors, machine-readable reports for CI gating |
| LLM Security Scanner | Red-team battery for LLM apps plus a NIST AI RMF / ISO 42001 governance pack | injection, jailbreak, and PII probes, severity-scored report |
| CommercePipeline · ▶ demo | DuckDB warehouse: staging, marts, data-quality gates, dashboard | 100k+ rows, quality gates that fail closed |
The rigor layer, kept where it belongs: checking my own systems, not as the headline.
| Repo | What it is |
|---|---|
| ai-agent-scenario-qc | Oversight harness for autonomous-agent training scenarios: schema validation, rubric scoring, semantic defect detection |
| rlhf-pairwise-rater | Pairwise rating CLI for model responses: per-axis scoring, Cohen's kappa inter-rater agreement |
| content-policy-rater | Rubric-based content reviewer: configurable aggregation, per-criterion agreement |
| scorm-qa-validator | Validator for SCORM 1.2/2004 packages: manifest parsing, defect logs |
Stack: Python · PyTorch · JAX · Triton · CUDA · Transformers · FastAPI · Docker · DuckDB · RAG and evaluation harnesses · Prometheus / Grafana · CI/CD

