Abraham Chan

PhD in Machine Learning Reliability

Vancouver, British Columbia, Canada

About

My research focuses on developing the most effective techniques to improve the detection and tolerance of ML applications against faulty training data in safety-critical applications such as autonomous vehicles and medical diagnosis. My research has centred on building robust and explainable ensembles. I have also collaborated on research using ML compilers to mitigate effects of transient hardware faults on ML apps and hardware accelerators.

Experience

  • The University of British Columbia (10 yrs 11 mos)
    • Postdoctoral Researcher
      May 2026 - Present · 3 mos

    • Graduate Research Assistant
      Sep 2015 - May 2026 · 10 yrs 9 mos

      Researched on the reliability of ML applications against faulty training data and hardware faults in AI accelerators • Conduct research on ML resilience against faulty training data for autonomous vehicles and medical diagnosis • Developed a software-implemented fault injection tool (LLTFI) for TensorFlow / PyTorch apps at LLVM IR level • Designed a new error propagation analysis framework using the LLVM compiler (middle-end), achieving 90% coverage of injected software faults and a sharp reduction of false positives compared to existing techniques

  • Graduate Teaching Assistant at University of British Columbia Electrical and Computer Engineering
    Sep 2016 - May 2026 · 9 yrs 9 mos

    Courses TA'ed at UBC: Program Analysis for Reliability and Security (CPEN 400P) (3x) Software Verification and Testing (CPEN 522) (2x) Architectures for Learning Systems (CPEN 502) (1x) Building a Modern Web Application (CPEN 400A) (2x) Error Resilient Computing Systems (EECE 513) (1x)

  • Compiler Software Engineer at Huawei Technologies
    Mar 2018 - Sep 2020 · 2 yrs 7 mos

    Developed optimising compilers for GPU (both graphics and compute), AI accelerators, and IoT • Implemented the lowering of Vulkan subgroup operations from SPIR-V into assembly, leading to a 10x speedup • Performed root cause analysis and submit fixes for customer reported LLVM compiler bugs for graphics shaders • Filed a patent: "Systems and methods for extending a live range of a virtual scalar register", US20220066783A1 • Modified the semantics analysis modules of Clang, to support new target chips based on hardware specifications • Developed an algorithm to selectively compile JS modules based on customer code, to compact binaries for IoT • Conducted research on compiler optimizations with runtime accuracy trade-offs (approximate computing)

  • Technical Analyst at Sauder School of Business at UBC
    May 2015 - Aug 2015 · 4 mos

    Developed automated data pipelines for predictive analytics and advise project groups on database design. • Developed a scalable solution for automating real-time data pipelines for text mining on social media, using efficient data structures and caching • Researched and developed text mining tools using heuristics for document frequency, probabilistic models for term retrieval, and text classification techniques through supervised machine learning • Advised project groups on strategies for relational database design and data warehousing • Assisted Master in Management (MMOR) students with application programming in Python and SQL

  • Software Test Developer at Aquatic Informatics Inc.
    Jan 2014 - Aug 2014 · 8 mos

    Ensured quality of the Aquarius software based on functional requirements and stakeholder specifications. • Developed an automated NUnit regression test suite in C# .NET for the REST API Service, increasing system test coverage by approximately 10% • Integrated the new automated test suite with the continuous integration agent TeamCity and issue tracker, JIRA • Designed regression test plans and accompanying test data sets for both manual and automated testing • Verified that individual implemented user stories satisfied customer acceptance criteria