About Me
Hi, my name’s Ching Pui. You can also call me Patrick. I’m from Hong Kong. I am working as a Data Engineer at Lenovo PCCW Solutions. I am interested in computer vision, foundation models, reinforcement learning, and privacy-preserving AI.
Education
Hong Kong University of Science & Technology
MPhil in Computer Science and Engineering – GPA: 4.0/4.3
Sep. 2019 – Aug. 2021
Highlight coursework: Advanced Algorithms, Optimization in Machine Learning, Deep Learning, Data Mining, Software Engineering
Thesis: Robust Federated Learning with Attack-Adaptive Aggregation, supervised by Prof Qifeng Chen (Best paper award in FTL-IJCAI’21)
Hong Kong University of Science & Technology
B.Sc in Mathematics and Computer Science – GPA: 3.9/4.3, First Class Honors
Sep. 2015 - Aug. 2019
Highlight coursework: Algorithm, Software Engineering, OOP, Probability, Statistical Inference, Analysis
ETH Zürich (Swiss Federal Institute of Technology in Zurich)
Exchange program – GPA: 5.3/6.0
Sep. 2018 - Jan. 2019
Highlight coursework: Deep Learning, Advanced Machine Learning, Computer Vision
Experience
Lenovo PCCW Solutions
Data Engineer
June. 2023 - Present
Deliver end-to-end AI solutions to help customers achieve their business goals!
- Projects on large language model and video analytics
- Deployed private LLMs and developed applications in chatbot, RAG on enterprise data, and automation agents
- Trained object detection models and developed alarm systems for refuse room management and tunnel safety
- Coached fresh graduates to develop competency in delivering AI solutions
LangChain
,HuggingFace
,Llama2
,Mistral
,mmdetection
,DINO
,SAM
Lenovo
Decision Intelligence Researcher
Sep. 2021 - May. 2023
Work smarter! Use deep learning models to support, augment, and automate decisions! From developing robust business intelligence tools to solving NP Hard problems in operation research!
- Projects on computer vision and reinforcement learning for business intelligence and operation research
- Developed OCR, table extraction, and layout parsing tools for light-weight document image analysis
- Developed neural combinatorial optimization models with deep reinforcement learning
- Delivered POC to industry partners on engineering diagram recognition
mmdetection
,YoloX
,LayoutLM
,Ray RLlib
,RLOR
(my library for reinforcement learning)
Hong Kong University of Science & Technology
Teaching assistant
Feb. 2020 - Dec. 2020
- Responsible for two courses: a UG level OOP course, a PG level AI course
- Delivered a tutorial on
C++
STL, designed coding assignments on template, operator overloading, friends - Designed written& coding assignments on perceptron/ search/ MDP/ knowledge representation/ game theory
- Held AI contests for students to compete in a navigation mission with the AI methods they learned
Google LA x Institute for Pure & Applied Mathematics
Research Internship in Los Angeles
Jun. 2018 - Aug. 2018
Why bother annotating every sample when most of them are negative anyway? Verify only the predicted positive samples and tune the classifiers, as well as their ensemble!
- Project on “Extreme rare events classification with predicted positive data”
- Developed algorithms for effective classifiers ensemble on limited training samples
- Applied the algorithm on advertising security
- Delivered weekly meetings, reports, and oral presentations with industrial sponsors from Google LA
Microsoft Research Asia x HKUST
Research Internship in Hong Kong
Jun. 2017 - Aug. 2017
What is the best trade-off between convergence and communication overhead in distributed machine learning? How about convex vs non-convex case? Synchronous vs asynchronous SGD?
- Project on “Efficient Communication in Distributed Machine Learning”
- Implemented distributive machine learning with Microsoft’s deep learning framework (
CNTK
) onC++
- Analyzed criteria for efficient distributed machine learning
- Performed experiments on image classification, recommendation system, and language translation tasks
Projects
Robust Federated Learning with Attack-Adaptive Aggregation
Master thesis
Best paper award in FTL-IJCAI'21
https://github.com/cpwan/Attack-Adaptive-AggregationFederated learning is vulnerable to various attacks, such as model poisoning and backdoor attacks, even if some existing defense strategies are used. To address this challenge, we propose an attack-adaptive aggregation strategy to defend against various attacks for robust federated learning. The proposed approach is based on training a neural network with an attention mechanism that learns the vulnerability of federated learning models from a set of plausible attacks. To the best of our knowledge, our aggregation strategy is the first one that can be adapted to defend against various attacks in a data-driven fashion. Our approach has achieved competitive performance in defending model poisoning and backdoor attacks in federated learning tasks on image and text datasets.
SHAP for Visual Explanations of Time Series Models
Course project
Sep. 2020 - Dec. 2020
https://github.com/comp5331-Xtimeseries/Xtimeseries- Implemented LST-Net, TPA-LSTM, mWDN for time series prediction with
PyTorch
andTensorflow
- Performed experiments on multivariate time series datasets
- Analyzed the effectiveness of SHAP for visual explanations of the time series models
Steel Defect Detection with Deep Semantic Segmentation
Course project
Sep. 2019 - Dec. 2019
https://github.com/cpwan/steel-defect-detection- Implemented U-net and Context Aggregated Network for semantic segmentation with
PyTorch
- Performed experiments on binary cross entropy loss and dice loss
- Explored the shortcuts issues with dice loss
Colorization with Generative Adversarial Network
Independent study
Feb. 2019 - Jun. 2019
https://github.com/cpwan/colorization-with-cGAN- Implemented U-net for image style transfer with
PyTorch
- Performed experiments on regularizations and conditional discriminator
- Performed colorization on various sources of training data
Voice Spoofing with Machine Learning
Course project
Sep. 2018 - Dec. 2018
- Implemented GAN for voice synthesis on celebrities with
PyTorch
- Built voice identification system against generated voice with Gaussian Mixture model
Travel Agent Chatbot
Course project
Sep. 2017 - Dec. 2017
- Built a chatbot on LINE messenger using
Java Spring Boot
,JDBC
andDialogFlow
- Implemented a database management system with
Django
- Practiced agile with pair programming and weekly sprint planning with Trello
Low-Rank and Sparsity Reconstruction in Data Science
Undergraduate Research Opportunity Program
Sep. 2016 - Dec. 2016
- Perform literature reviews on sparse coding and dictionary learning
- Implemented text recognition with K-SVD on
MatLab
Competition
BigDatathon, HKUST x Radica
First runner-up, Best Entrepreneur Award
Dec. 2017
- Prototyped a ranking system for restaurants in Hong Kong based on sentiment analysis
- Extracted comments on restaurants from Instagram with
Selenium
- Performed sentiment analysis on Instagram posts with Stanford CoreNLP Projects
CodeIT Suisse, Credit Suisse
The 5th team
Sep. 2019
- A coding competition on algorithms and time-series analysis
Hobbies and interests
Apart from machine learning and software engineering, I am also interested in:
- Gaming
- Manga and Anime