Hello! I'm a Computer Science Ph.D. student at Stanford University advised by Christopher Ré. My research interests lie at the intersection of machine learning and systems. Recently, I have been excited about learning low-dimensional representations, or embeddings, of data, including words, source code, and knowledge graph entities. I graduated with a BS in Electrical & Computer Engineering and a BS in Computer Science from Cornell University. At Cornell, I had the opportunity to do research in computer architecture with Christopher Batten. I am supported by the National Science Foundation Graduate Research Fellowship and the EDGE Fellowship.
Embedding Stability. Embeddings must be continually re-trained on constantly changing data (i.e. changing word meanings, new vocabulary for word embeddings). However, training embeddings is inherently unstable, such that small changes in data can cause dramatically different results, making debugging, repeatability, and model dependencies increasingly challenging. We study the impact of the embedding memory on this instability, and evaluate inexpensive embedding measures to predict when this instability will impact downstream natural language processing tasks.
High-Accuracy Low-Precision Training (HALP). In collaboration with Chris De Sa and others, I worked on HALP, a gradient descent variant which is able to theoretically converge to highly accurate solutions while using low-precision fixed-point arithmetic. We empirically verified HALP on linear regression and logistic regression problems, as well as LSTMs and CNNs.[blog] [pdf] [slides]
Proxy Kernel for RISC-V Processor. In Christopher Batten's research group, I extended a RISC-V pipelined processor to support system calls via a proxy kernel. The work was done in PyMTL (Python-based hardware modeling framework) and C.
Neural Network Accelerator. As a final project for ECE 5745 Complex Digital ASIC Design, I built an accelerator to classify handwritten digits. The design was pushed through the ASIC flow using Synopsys and evaluated on power, performance, and area.
Publications and Preprints
Teaching ExperienceCornell University
- ECE 4750: Computer Architecture, Undergraduate Teaching Assistant (Fall 2016)
- CS 1110: Introduction to Python, Consultant (Fall 2014, Spring 2015, Fall 2015, Spring 2016)