Projects

Research Projects

Uncertainty Quantification of Interatomic Potentials

I explored different uncertainty quantification methods for machine learning interatomic potentials such as Gaussian Approximation Potential (GAP) and Moment Tensor Potential (MTP) for application in active learning. The methods included Bayesian and ensemble (bootstrapping and subsampling). Furthermore, I evaluated several uncertainty recalibration methods including isotonic regression and linear regression to improve uncertainty estimation.

Partial Codebase: github.com/ruiqic/FHI_uncertainty_scripts

Active Learning for Machine Learning Potentials - al_mlp

I was a lead developer of al_mlp (now rebranded as finetuna), an active learning package for conducting $\Delta$-machine learning to learn the correction between a simple physics-based potential and an expensive ab-initio level theory. The package is built on top of Atomic Simulation Environment to interface with atomistic simulations.

Codebase: github.com/ulissigroup/al_mlp/

Atomistic Machine Learning Package PyTorch, AMPtorch - amptorch

I was a developer of amptorch, a machine learning potential package to model atomic interactions using a Behler-Parinello neural network. The package is built on top of PyTorch, Pytorch Geometric, and Skorch to provide users an easy, flexible, and fast framework to train and iterate new models.

This project is being developed in collaboration with Brown University’s Andrew Peterson as part of the Department of Energy’s Bridging the time scale in exascale computing of chemical systems project.

Codebase: github.com/ulissigroup/amptorch

Ulissi Walltime Prediction - ulissi-waltime-prediction

This was my first major project within the Ulissi Group, I developed a machine learning model that trains on a large dataset of past Density Functional Theory calculations to predict the duration of future calculations. The model allows the prioritization of fast and feasible calculations over long calculations that time out or produce unphysical results to increase calculation throughput.

Codebase: github.com/ruiqic/ulissi-waltime-prediction

Personal Projects

On-chain Trading Bot

I programmed a bot that operates on the Solana blockchain, using Python and JavaScript to interact with Rust programs. The strategy profits from price volatility in digital assets by market making and matching orders on a decentralized exchange. The bot has been profitable (as of April 2024) without investing in high-end infrastructure, relying instead on free-tier services. The bot is hosted on Google Cloud Platform to maintain uptime. I also made a simple chart with d3.js to track the bot’s performance.

Class Projects

Laboratory: Storage Methods on Vitamin C Degradation

In a team of four, we explored the effect of different storage methods on the vitamin C concentration of orange and lemon juice. The analysis included organic extraction, iodimetric titration, dichlorophenolindophenol (DCPIP) titration, and high-performance liquid chromatography (HPLC). We concluded that vitamin C degrades significantly through refrigeration, while freezing and storing the whole fruit preserves the vitamin well.

Programming: Sokoban

I programmed the classic puzzile game Sokoban in Python. Instead of hardcoded levels, I used backtracking to randomly generate the puzzles at varying difficulty levels. The game also used sockets and threading to allow for a multiplayer gamemode, where players compete to solve puzzles in the shortest duration.

Codebase: github.com/ruiqic/term-project/