Jonathan Tellechea — B.S. Physics, UC Santa Cruz

I train models on structured physical data, then take them apart to see what they actually learned.

Four years in experimental high-energy physics taught me that a number without an error bar is a rumor. I bring that to machine learning: build the model, then run the ablation that tells you why it works. Currently at the LA Public Library on the operations side, and looking for research engineer and applied scientist roles.

Work

Capacity and data unlock each other

A GPT-style model trained to predict the next move in a game. The interesting question wasn't strength, it was legality: what has to be true inside a model before it stops proposing moves that don't exist on the board?

Four checkpoints across two corpus sizes and two architectures. Scaling data alone takes fully-legal games from 4.4% to 11.4%. Scaling capacity alone takes it to 9.8%. Both together take it to 51.8%, roughly 12× baseline and four to five times what either intervention reaches on its own. They don't contribute separable gains; each one unlocks the other.

Linear probes suggest what the extra depth buys. Measured against the same probe trained on a random-initialized model of identical architecture, which already scores well above chance on board statistics alone, the 12-layer model closes 84.6% of the remaining gap, peaking at layer 9 of 12. The 6-layer model is still climbing at its final layer and never gets there.

0 30 60 fully-legal games [%] 4.4 11.4 9.8 51.8 baseline + data + capacity both
Fig. 1 Fully-legal games out of 500 per condition, model playing White. Neither intervention is the bottleneck alone.

Legality isn't strength. Against Stockfish, the only statistically significant win-rate gap across the whole skill range is at skill 0. And one row cuts against the story: the 12-layer model on the small corpus has by far the worst validation loss in the table, yet better legality than the 6-layer model trained on the same data. Why isn't something this project measured.

Repository · Tokenizer demo · Weights

Discovering an eigenvalue instead of fitting one

A PINN for the 1D time-independent Schrödinger equation, with one structural choice that changes what the model is doing: the energy is an nn.Parameter optimized alongside the network weights, initialized at 1.0. The eigenvalue is an output of training, not an input to it. On the infinite well the model recovers E1 = π2/8 to an absolute error of 2×10-6, in about 17 seconds on CPU.

Three residuals: the PDE itself, the vanishing boundary condition, and a normalization term without which the trivial solution ψ ≡ 0 satisfies everything else. The constraint terms carry ten times the weight of the PDE residual, because they're exact conditions while the PDE is only sampled at collocation points.

Training runs in two phases, and the split earns its place. Adam plateaus around 10-4 in the loss after 5,000 epochs, ending at E = 1.232271. Five hundred L-BFGS steps with strong-Wolfe line search take the loss two further orders of magnitude to 1.9×10-6 and gain roughly two digits in the energy.

Learned wavefunction against the analytic ground state, and energy convergence across both optimizer phases.
Fig. 2 Learned wavefunction against the analytic ground state, and the energy converging across both optimizer phases.

The method carries a real caveat: the PDE residual is minimized by any eigenpair, and nothing in the loss prefers n = 1. Convergence to the ground state here follows from initializing E below π2/8. Initialize near 5.0 and it converges to E2 = π2/2 instead. The infinite well was chosen because it has a closed form to check against, which makes this a test of the method rather than a use of it.

Repository

Also on the bench

Resume generation system
Turns a master résumé and a job posting into a tailored LaTeX draft and a per-requirement coverage report. Built as a RAG app, shipped without it: chunking cut paragraphs from their role headers, so true accomplishments landed under the wrong employer. At ~3,000 tokens against a 65k window there was no context limit to solve, so the full document now goes into the prompt and the retrieval layer came out.
Character-level GPT
TinyShakespeare, decoder-only transformer, no high-level abstractions, 4.82M parameters across 6 layers. Best remembered for a measurement result rather than a modeling one: validating once per epoch recorded the best loss 5,300 steps past where the real minimum sat. Evaluating every 500 steps instead moved it from 1.63 to 1.46 on identical architecture and data.
Command reference with local search
A markdown reference for terminal commands I use often enough to need and rarely enough to forget: docker, git, LaTeX, python environments, CUDA setup. Served by a local web app with search and copy buttons. Python standard library only, no dependencies, runs offline or in a container.

Research

2019-2020

ttHH production with boosted decision trees

Undergraduate thesis, Santa Cruz Institute for Particle Physics. Signal-background separation for a rare final state, raising expected significance 35% over the cut-based selection (0.26σ to 0.35σ) with an AUC of 0.86. Thesis (PDF) · Repository

2020-2021

ttHH production with deep neural networks

Continued as a staff researcher at SCIPP after graduating, moving the same analysis from boosted decision trees to deep neural networks in TensorFlow and Keras. Expected significance improved 174% over the BDT result (0.35σ to 0.96σ), close to four times the cut-based baseline. Repository

2021-2023

CMS MIP Timing Detector

High Energy Physics Lab, University of Virginia. SiPM characterization and readout with the FERS system; analysis pipelines on the Rivanna HPC cluster.

2020

Aromatic copper hydride cages

Synthesis and characterization of air-stable Cu8HL′6PF6 clusters using a novel aromatic dibenzyl dithiocarbamate ligand, candidate materials for reversible hydrogen storage. Characterized by ESI-MS, 1H-NMR, powder XRD, FTIR, UV-Vis, and ICP. Work done at Los Angeles City College before transferring to UC Santa Cruz. Zenodo · DOI

Toolkit

Machine learning

  • PyTorch
  • TensorFlow / Keras
  • scikit-learn
  • Transformers
  • PINNs
  • Linear probing
  • Boosted decision trees

Programming & tools

  • Python
  • C++
  • Git
  • Docker
  • Linux
  • HPC clusters
  • LaTeX
  • Bash

Data analysis

  • ROOT / uproot
  • Coffea · awkward-array
  • NumPy · pandas · SciPy
  • Monte Carlo simulation
  • Statistical inference
  • Matplotlib
  • Data pipelines

Experience

2024-Present

Technical Support / Operations Specialist

Los Angeles Public Library, contracted through Managed Career Solutions.

2021-2023

Post-baccalaureate researcher

University of Virginia.

2020-2021

Machine Learning Researcher

Research at the Santa Cruz Institute for Particle Physics.

2017-2020

B.S. Physics

University of California, Santa Cruz.

Contact

I'm looking for research engineer and applied scientist roles, in LA or remote. If you work on machine learning and want to reach out, my email's open.

tellecheajonathan@gmail.com