About me
Hi there~ Thank you for visiting my personal website!
I am Sihan Zeng, a master student of MSIT (Information Technology) program at Carnegie Mellon University. I am actively looking for a full-time software engineer position starting in 2020.
Education
- Selected courses: Search Engines(A), Introduction to Computer Systems(A), Distributed Systems(A), Advanced Cloud Computing(A), Computer Networks(A), Introduction to Deep Learning(A-)
- Teaching Assistant for Search Engines
- Selected courses: Database(A+), Machine Learning(A), Data Structure and Algorithm(A), Operating System(A-)
- Outstanding Graduate Honor
Experiences
- Contributed to Horovod, an open-source distributed training framework for Tensorflow and PyTorch.
- Re-designed the coordination logic to decouple from MPI and implemented an alternative based on Gloo (a collective communication framework) for aggregating gradient updates among distributed workers.
- Designed a rendezvous server based on HTTP protocol to launch and orchestrate jobs on distributed workers.
- Achieved comparable performance (distributed training speed) to MPI while empowered the ability for elastic training, i.e. distributed model training is unaffected from individual node failures or insertions.
- Designed a C++ framework for Convolutional Neural Network using codelet execution model.
- Achieved 26% faster processing speed than vanilla Tensorflow for AlexNet inference on CPU.
- Built APIs for users to use the framework without the knowledge of underlying execution model.
- Designed a Markov-chain based location prediction system that uses history trajectories to predict user location.
- Implemented Gibbs sampling to achieve 34% higher prediction accuracy than baseline on sparse trajectories.
- Deployed on Hadoop cluster using Hadoop Streaming for production and adopted by Tencent Map Service.
Projects
Iterative Machine Learning Training on Spark
- Built an ELT preprocessing workflow to construct features on a large-scale web crawled news data.
- Implemented a logistic-regression model trained on billions of features to classify the news.
- Optimized the Spark workflow to reduce the memory usage by 3x and execution time by 2x.
Text-oriented Search Engine
- Designed a text search engine in Java based on Lucene and supported various retrieval models, including Vector Space Model, BM25, Indri.
- Implemented SVM Rank to train a feature-based retrieval model to improve the quality of retrieval ranking.
- Implemented diversification algorithms (xQuAD and PM-2) to generate diversified retrieval results.
Event Extraction from Medical records
- Designed an end-to-end deep learning system that consists of a CNN feature extractor and a CRF sequence labeler to extract medical events from medical record text.
- Proposed a smoothed Viterbi decoder with better generalization ability and less trainable parameters.
- Achieved 92.6% classification accuracy and 300 sentences/second prediction speed on a single 1080ti GPU.
- Built a demo system with UI that can classify and colorize different events for raw medical records inputs.
Publications
Toward A High-Performance Emulation Platform for Brain-Inspired Intelligent Systems
IEEE Computer Software and Applications Conference (COMPSAC19)
Modeling Spatio-Temporal App Usage for a Large User Population
ACM International Joint Conf. on Pervasive and Ubiquitous Computing (UbiComp19)
An approach for medical event detection in Chinese clinical notes of electronic health records
BMC Medical Informatics and Decision Making 2019
Predictability and Prediction of Human Mobility Based on Application-collected Location data
IEEE International Conf. of Mobile and Ad Hoc Sensor Systems (MASS19)