Research Projects

I'm grateful for the opportunities and collaborators that allowed me to grow as a researcher over the years and I look forward to continue expanding my skills by working with others!

Projects marked with (*) have an associated paper or technical report.



UIR = Under Internal Review*, LIA = Limited Information Available*

■SANDIA / Neuromorphic Compiler Optimization*

Spectral Graph Clustering, OptimizationUIR*

Neuromorphic hardware runs spiking neural networks by distributing neurons across many smaller cores. Because every spike sent between cores adds some communication cost, how neurons are assigned has a large effect on the perfomance of the model. Working in-simulation, we researched optimization methods for this allocation step inside a neuromorphic compiler. I designed a two-stage partitioning algorithmf or mapping neurons to neurocores under per-core capacity and fan-in/fan-out constraints. First, spectral graph clustering groups tightly connected nerons so that spikes stay within a core. Then, an architecture-aware load-balancing performance model refines those clusters into optimal neuron-neurocore hardware placements . Compared to a naive HPC (or block)-style partitioning baseline, our approach cuts inter-core communication by more than half. Appearing soon on OSTI.gov. (Poster / Paper)

■SANDIA / Agentic Models & AI Infrastructure

Agents, LLMs, MCPs, Containerization, Docker, RuntimesLIA*

I helped maintain an internal agentic model alongside various researchers at the Computer Science Research Institute. I got hands-on with the infrastructure that deploys and runs AI systems, including containers, runtimes, and agents. Throughout the summer, I troubleshot bugs, fixed problems as they came up, and read research papers on the underlying models to better understand the system I was working on. Building on what I learned, I developed and demoed my own locally deployed agentic runtime, all while presenting my progress at weekly meetings.

■USC / Muon Reshapes Multi-task Learning*

Neural scaling laws, Machine learning optimization

Spectrum-aware optimizers, particularly Muon, exhibit more favorable empirical scaling than optimizers like SGD and Adam. Prior work explains this through more balanced learning in settings with imbalanced labels or input-output associations. We show that Muon enables more balanced skill acquisition in settings with task-level imbalance. Using a multi-task sparse parity-based setup along with Muon, sub-tasks are learned more in parallel than with other optimizers. We create a Skill Acquisition Lag (SAL) metric to quantify parallel versus sequential learning. In a simple in-context linear regression setting, Muon's convergence is independent of both task- and input-level imbalance, in contrast to (normalized) GD. (Paper / Poster / Video / Slides)

■USC / Phenomenological Deep Learning

Robust machine learning, Computer vision

We investigated a phenomenon where an increasing, yet varying amount of white noise seems to increase a model's dependence on spurious correlations. I wrote PyTorch training and evaluation pipelines to test this on CIFAR-10 images, using a patch as the spurious feature. Surprisingly, results from this new setup showed the model relying completely on the patch. To determine how much the patch was affecting learning, we interpolated its transparency, showing concretely that a more visible patch increases reliance. After this, I learned about and ran hyperparameter sweeps using k-fold cross validation and augmented data. Then, in order to estimate how much of the true, clean features the network still learned, I implemented Deep Feature Reweighting (Kirichenko et al.). All of our experiments ran on an AWS EC2 cluster, where I averaged results across different configuration to produce reliable plots, and presented the findings at group meetings where we discussed new directions. Although the results weren't strong enough to pursue a paper, the project gave me great experience in explaining, designing, and debugging machine learning experiments.

■UCI / Deep Automated Scratch Assessment

Synthetic data, Generative VAEs, Probabilistic programming

After consulting with my collaborators, we decided that it would be interesting for me to explore a "general" approach to grading student projects. Literature review led me to a paper (Malik et al. 2018) using a simple neural network to learn student trajectories. Our approach is similar: we train an LSTM on generated synthetic data, and at inference time, the students paste in their scratch.mit.edu links to be graded. (Code)

■UCI / Anticipating Design Tensions in Research Practice Partnerships*

Computer science education, Curriculum development, Javascript

A qualitative case study aimed at anticipating tensions in research-practice partnerships. We worked alongside 3 school districts in the Santa Ana, CA area to bring computer science-guided environmental literacy lessons to 3rd and 4th grade students. I spent most of my time buried in 15,000+ lines of code where I was adding onto an open-source project provided by the University of Chicago Canon Lab. Apart from this, I helped develop curriculum, collaborated in meetings, and wrote documentation. (Code / Paper)