Work

Machine Learning Engineering. Models are easy; pipelines that keep them honest are the work.

I ship models with the unglamorous parts done properly, like an imaging system that replaced a $98K vendor quote for about $25 a month.

MLE 6 projects · 5 articles

How I work.

  • The model is the small part. The scan validator's masked autoencoder runs in 58 milliseconds on half a gigabyte of VRAM.

  • One path for train and serve. Training and inference share one preprocessing path in a fully automated, versioned data pipeline.

  • Bad models don't ship. A weekly job tests each model on a fixed holdout and refuses to promote one that fails.

  • Six architectures, one interface. I benchmarked six, from a ConvNeXt baseline to nnU-Net and a VAE, before the ST-MAE won.

  • Unsure scans go to a person. Confidence thresholds route a scan to a human instead of pretending.

  • Depth on the training side. Eighteen months at NYU researching whether PPO and GRPO could make Llama a better persuader.

Machine Learning Engineering abstract artwork

What I bring. Medical imaging, RLHF research, and MLOps that survives contact with production.

  • No train/serve skew

    One ETL path feeds training and inference, with versioned tensors and idempotent processing.

  • Gated promotion

    Weekly holdout evaluation with an accuracy gate; a model that fails it doesn't ship.

  • Training-side depth

    RLHF, PPO and GRPO at NYU; self supervised pretraining (DINO, ST-MAE) at Hybridge.

  • Cost-conscious serving

    Scale to zero Cloud Run, about $25 a month against a $98K vendor quote.

The projects. Built, shipped, and used.

In production

CBCT Scan Validator

Catches bad dental CT scans at upload across 13 artifact classes, before a designer wastes hours on them.

  • Six architectures benchmarked behind one interface; ST-MAE won on accuracy-per-watt
  • Event-driven inference: scan lands in storage, verdict email in ~20 seconds
  • ~$125K year-one cost displacement vs the vendor proposal
In production

Daily Sales Report

Forecasts lab revenue and new arch starts for this month and the next two, calibrated to about 68% coverage.

  • Current month revenue error falls from 4.2% early in the month to 1.5% late
  • No auto tuning: the best in sample grid lost 0.62 points out of sample, so it stayed out
  • A better lag model waits behind a switch until its gain clears the noise floor
Research

LLM Persuasion (NYU research)

Eighteen months making Llama argue better: a reward model for argument quality, then PPO and GRPO fine tuning.

  • Preference data collection and reward-model training from scratch
  • Policy optimization with PPO and GRPO; the tradeoffs between them, learned the hard way
Academic

Loan Radar

MLOps for a loan default model: MLflow, Airflow, Kubernetes, and CI/CD that retrains and redeploys without a human.

  • The full lifecycle: data validation, training, registry, deployment, monitoring