Hi, I'm

Adam
Thorne

I'm a computer science and applied math student at Michigan, interested in how models represent data and predict what comes next.

Take a look around

Ann Arbor, Michigan

Current model obsessionAutoencoders ↗

Draw a number

It guesses as you go
ONE DIGIT, 0–9 Use Show me one to try a sample digit.
Inside the encoder32 values
Play with the values
—

Draw a number to explore its values

Pick any square, then move the slider to see what the model decodes on the right

What am I looking at?

Each square shows one value in the model's shared representation of your drawing. Darker squares are more active. Select a square to change its value, or read the full vector below. Both predictions use this same state. Edited values are decoded by the model and may no longer describe your original drawing. The squares aren't assigned meanings like “a loop” or “a line”.

Waiting for a drawing
MY GUESS 7 Reading your handwriting Other guesses — Possible finish A possible finished drawing.
An encoder reads your strokes and predicts a possible finish

A closer look at the work

Research and things I've built

Independent research / PyTorch

Physics-informed machine learning

Wrote a 29-page paper on local-volatility calibration from noisy option prices, comparing inverse PINN and neural-adjoint solvers on error, smoothness, and runtime.

Read the paper
SatelliteWeatherSeasonalityPricesResNet-50 → LSTM

PyTorch / ResNet-50 / LSTM

Multimodal corn futures forecasting

Fused ResNet-50 satellite embeddings, weather, seasonality, and futures prices in an LSTM to forecast corn price changes; used chronological splits and train-only normalization.

Current work / Triton / LightGBM

ML-guided GPU kernel tuning

I'm working on a LightGBM selector that maps LLM tensor shapes and dtype to Triton tile sizes and warp counts, with latency comparisons against autotuning that include selection overhead.

Where I've been working

Roles and research

Lightshift Energy

Machine Learning Engineer (Part-Time)

Sep 2026 — Present

  • Applied machine learning to improve an automated optimization workflow.

Machine Learning Analyst Intern

Jun 2026 — Aug 2026

  • Developed and evaluated PyTorch models for forecasting.
  • Rebuilt a model-comparison library with Polars and parallel execution to reduce analysis time and repeated data reads.
  • Used agentic coding to automate model configurations and GPU experiment sweeps.
University of MichiganLei Ying Research Group

Undergraduate Researcher

Sep 2026 — Present

  • Ran VLA and RL experiments: fine-tuned SmolVLA for 5,000 updates, replay-verified 20 Isaac rollouts, and audited 1,152 poker-policy evaluations.
Verazoi

Founding Machine Learning Engineer and Researcher

Feb 2026 — Present

  • Led technical discussions during pitches, translating model design, validation risks, and user impact into a clear product case that helped secure $2,000 in funding.
  • Built a multimodal prediction pipeline across 44,348 windows from 45 participants, reaching 79.1% F1 for one-hour glucose-event prediction with chronological tests and MLflow.
Machine Learning Student Network

Project Manager & Machine Learning Engineer

Oct 2025 — Aug 2026

  • Led technical lectures that helped members progress from linear regression to deep learning within two weeks.
  • Built a shared Python ML framework that cut model development and testing time by 90% across project teams.
Oxygen Coaching Group

Software Engineering Intern

Jul 2025 — Sep 2025

  • Built a TypeScript/Electron desktop app to automate employee wage calculations.

A bit about me

I'm studying computer science and applied mathematics at the University of Michigan, after two years at UC Davis.

I like the part of ML where the model meets a messy problem: getting the data into shape, deciding what a fair comparison looks like, and figuring out what the results actually tell us.

Physics-informed neural networks

Working backward
from noisy prices

The forward problem takes a volatility surface and produces prices. The inverse problem tries to recover that surface from observed prices. Noise makes the second problem much harder.

I implemented inverse PINN and neural-adjoint solvers using Black–Scholes and Dupire constraints, and compared error, smoothness, training time, and stability at 0%, 1%, and 5% synthetic noise.

The result is a 29-page research paper. These are controlled synthetic experiments; the work doesn't establish live-market calibration performance.

Read the paper ↗︎

Multimodal corn futures forecasting

Putting the signals
together

ResNet-50 produces embeddings from satellite images. I fused those representations with weather, seasonality, and futures prices in an LSTM to forecast corn price changes.

I used chronological splits and fit normalization on the training data only, keeping later observations out of the training setup.