Heungsub Lee

Contact
[email protected] or +82 10-3215-2380
Web Sites
subl.ee, github.com/sublee, linkedin.com/in/sublee

Interests

Skills

Programming Languages
Python (expert), Go, JavaScript, Bash, C#
AI Research
PyTorch, NVIDIA Nsight Systems, Data/model/pipeline Parallelism
Back-end Development
Linux, AWS, Terraform, Docker, ZeroMQ, Redis, etcd, MySQL
Test Engineering
Travis CI, GitLab CI, mypy, pytest, Testify

Work Experience

Software Engineer
Kakao Brain, 2018–
A deep learning artificial intelligence laboratory in Kakao.

Focused on parallel and distributed deep learning to boost training performance.

Reproduced GPipe in PyTorch, and developed torchgpipe as an open source library.

Game Server Architect
What! Studio in Nexon, 2013–2018
Developed and launched Durango, an open world MMORPG.

Designed and implemented the architecture of a distributed MMORPG server. The server achieved up to 70k concurrent users per game world.

Built an internationalization and localization system focused on linguistics features of Korean and Indo-European languages.

Led the server development team including up to 15 engineers.

Game Development Engineer
Team Lupin in Nexon, 2011–2013
Developed and launched multiplayer racing games: KartRider Dash & Coin Rush

Designed and implemented a distributed game server architecture for synchronous multiplayer racing games.

Researched rating systems such as Elo, Glicko, and TrueSkill to develop a matchmaker for both 4v4 and free-for-all games.

Web Developer
Npine, 2008–2011
Supplies stock images for business on Iclickart.

Developed web services from the base framework to the application.

Maintained physical Linux machines in a data center.

Led the development team including three web developers.

Front-end Web Developer
Lunant, 2008–2011
Served VLAAH, social media for discovering, sharing, and utilizing opinions.

Designed and implemented the UI/UX for VLAAH.

Developed an open source project jDoctest, which is a JavaScript testing framework using example code in documentation comments.

Open Source Experience

torchgpipe, 2019–
A GPipe implementation in PyTorch.

Developed GPipe in PyTorch. GPipe is a scalable pipeline parallelism library for training of a giant model. The story behind this project can be found on Kakao Brain Blogko.

Optimized the pipeline parallelism and checkpointing for CUDA and PyTorch’s autograd engine.

Hangulize, 2010–
Automatically transcribes a non-Korean word into Hangul.

Implemented an automatic Hangul transcription algorithm to realize Brian Jongseong Park’s idea. By origin, it was written in Python, but rewritten in Go for better features, performance, and productivity.

Designed and implemented the web service and RESTful API. Many professional Korean translators usually visit here to translate undocumented proper nouns. For example, Ryu Gwang a technical translator introduced this web service in his postingko. Netflix also refers to it in the Korean timed text style guide.

TrueSkill, 2012–
A TrueSkill™ implementation in Python.
Implemented TrueSkill™, which is a rating algorithm for Xbox Live, in Python with a handy interface to learn and popularize the algorithm. This project was introduced in PyData Berlin 2019.
Profiling, 2014–2018
An interactive profiler for Python inspired by the Unity3D profiler.

Developed a tracing based and statistical profiler for Python with a handy interactive TUI inspired by the Unity profiler.

On GitHub, this project has been starred by 2.9k people. Also, it was the 3rd daily trending repository on Sep 22, 2014.

Others
  • Tossi – A utility for Korean allomorphic particles.
  • Click Default Group – Implicit default subcommand for CLI based on Click.
  • Flask-AutoIndex – mod_autoindex for Flask.
  • SUBLEERUNKER – A simple parody game of SUBERUNKER. Play it in your web browser.
  • Me2virus – An XSS attack on Me2day, social media. When a user looks at an infected post, a new infected post was written on the user’s wall.
Contributions
  • For PyTorch, fixed potential GPU memory violation (#27371); deprecated inconsistent API (#21006); discussed a counterintuitive behavior of the autograd engine (#18568).
  • For ZeroMQ, discussed a PUB socket crash (#2942).
  • For Flask, fixed a bug to generate URL with a subdomain (#108).
  • For jQuery 1.4.3 – restored a missing part of the content negotiation header for Ajax.

Public Speeches


Languages

Education

Computer Software, Kwangwoon University, 2008 – Completed the first year only.