Our team at Petuum is made up of incredibly talented people. This series features the engineers, managers, and creators that keep our company moving forward and make us proud of the work we do together.
Hao Zhang is currently Senior Engineer Manager and a research scientist at Petuum, Inc. leading the machine learning (ML) team. Hao’s research interest is in scalable and structured machine learning. He (co-)designs models, algorithms, and systems to enable the application and deployment of ML on large-scale problems.
Hao is also a Ph.D. student in the Robotics Institute at Carnegie Mellon University. He earned his M.S. in Computer Science from Shanghai Jiao Tong University and his B.S. from South China University of Technology. Hao has interned at Microsoft in the Engineering and Research departments.
Why did you join Petuum?
I started working with Petuum’s founding members before Petuum the company had actually been formed. I was a Ph.D. student at CMU looking for an advisor and a project. My interest was in integrating machine learning (ML) into usable applications that anyone could use and benefit from. I wanted to turn large amounts of data into practical insights for everyday people.
Dr. Eric Xing’s artificial intelligence project aligned perfectly with my goals, and I spent two years with the research team working on an open source project. When the company was founded later on, it was only natural for me to join and continue the work I’d started.
What do you do at Petuum?
I have two roles in the company — the first is engineering manager and technical lead on Petuum’s ML team, building a core layer of the Petuum platform. We’ve employed many different sources of ML models in order to provide developers with all the resources they need to ship, deploy, and develop their applications.
My second role is research scientist. We are facing totally new problems that haven’t been tackled before, such as how to scale ML and how to create a user-friendly interface that allows people to program extremely complicated applications easily. There are a lot of research problems that need solving in order to make our products successful.
What’s the most exciting project you’ve worked on at Petuum?
I’m most excited about what I’m working on right now. My team is building a solution that automates the execution and distribution of arbitrary types of ML programs and models via a simple interface and set of interactions to help users quickly prototype their ML applications. It’s a totally unique product and one that will be very useful for many people.
What’s been most challenging in your work so far?
When you build a distributed system, you’re debugging and writing code that involves many different machines, and this is extremely difficult. Because of the cost of invoking a program on multiple machines and the difficulty of coordinating and synchronizing them, the only way we can find bugs is by printing the logs and reading through them.
This takes a lot of time and collaboration. Sometimes we have difficulty finding solutions because the problems we are facing are unlike anything else.
Do you have any advice for people interested in pursuing similar work?
The most important thing you can do is take good courses in ML and distributed systems. You need a deep understanding of both of those areas if you want to dive into this field. You also need to become skilled in both application and theory — know how to write the code and know what it means within the context and history of the larger AI field.
What do you love to do outside of work?
I really love outdoor activities! I’m an avid skier and I regularly go to Denver, Canada, Salt Lake City, and California to ski at their resorts.
I’m also very interested in scuba diving. I’ve lived onboard a boat for several days at a time to do long-term scuba diving in places like Southeast Asia that have amazing sea life.
We’re hiring! We’re growing quickly and looking for highly trained and talented technical staff, including engineers, architects, and more. View open positions.