An interview with Max Pumperla, Deep Learning Engineer at Skymind

Source: Deep Learning on Medium

An interview with Max Pumperla, Deep Learning Engineer at Skymind

Our interviewee today is Max Pumperla. Max is currently with Skymind acting as a Deep Learning Engineer. As many of you might know, Max is one of the co-authors of the book Deep Learning and the Game of Go. He is also one of the instructors of the Coursera Specialization Applied AI with Deep Learning.

Max is an ardent open-source enthusiast. He is a core developer of DL4J and many other libraries including elephas, a distributed deep learning library using Spark. Besides that he is an active contributor deep learning libraries like Keras, hyperopt and so on. He holds a Ph.D. in algebraic geometry from the University of Hamburg. You can learn more about Max from here.

I would like to wholeheartedly thank Max for taking the time to do this interview. I hope this interview serves a purpose towards the betterment of data science and machine learning communities in general 🙂

An interview with Max Pumperla, Deep Learning Engineer at Skymind

Sayak: Hi Max! Thank you for doing this interview. It’s a pleasure to have you here today.

Max: Thanks for having me!

Sayak: Maybe you could start by introducing yourself — what is your current job and what are your responsibilities over there?

Max: I’m a deep learning engineer for Skymind, the creators of the JVM based Deep Learning framework DL4J and its ecosystem. I’ve been involved with developing interoperability with other tools such as Keras and TensorFlow for the last two years. Recently we’ve started a new product line called Konduit, which is derived from the French word for pipeline. It’s centered around the idea of serving complex machine learning pipelines reliably in production. I’m responsible for building out the interfaces for our Python users.

Sayak: That is a genuine use-case. I am sure the users are getting hugely benefitted by it. I am curious to know how did you become interested in machine learning?

Max: I was actually a little late to the party if you like. After I finished my Ph.D. in pure mathematics, ironically, I wasn’t really interested in computer science in general, let alone its practical applications. After a short stop for a big player in the banking industry, I decided to work for startups, as I felt my work could be more impactful that way, which still holds true to this day. So in 2013, I joined a small data science team in an online marketing business. At the time, data science was still relatively new and people didn’t know what to expect of it, so you could get really creative and hands-on quickly. Those were interesting times and I learned a lot during that phase. Soon after starting there I got sucked into the world of open-source. I started with some small contributions to Keras in 2015 and released some of my own libraries later that year. Getting started with open-source was definitely my way into the community and has been the driving factor for me ever since.

Sayak: This is all so beautiful, Max. The power of open-source is really strong with you. When you were starting with the subject what kind of challenges did you face? How did you overcome them?

Max: Everyone starts from different backgrounds. I was lucky to have a great mathematical education, which helped me pick up machine learning basics rather quickly. What fascinated me at the beginning of my career was that smart software engineers without such an education, for instance working in the “Data Engineer” role, would often be much more productive than the “Data Scientists”, in terms of business impact. The latter group often did not deliver on the promise of getting smart algorithms out on the streets. I took this as a clear sign to invest heavily in engineering best practices. This pursuit hasn’t failed me, but it was a steep learning curve. Today, as a machine learning engineer specializing in deep learning, I provide the most value in bridging groups of people that have a hard time talking to each other, which is literally just a pay-off of this realization in my first year in data science.

I took this as a clear sign to invest heavily in engineering best practices. This pursuit hasn’t failed me, but it was a steep learning curve.

Sayak: This indeed reminds me of Joel Grus. Certainly enough, if you start to care about the engineering best practices when building machine learning systems, that just becomes a different ballgame altogether. You are one of the primary contributors to DL4J. What motivated you to start contributing to DL4J?

Max: I got hired by Skymind as a consequence of my open-source footprint, and only started contributing to DL4J after I got hired. I was a DL4J user before that, though. So it’s not a coincidence and I might have started contributing to the framework anyway.

Sayak: Quality open-source work can bring so much value, really! Your co-authored book Deep Learning and the Game of Go is so unique in its own kind. Would you like to share your thought process when you were stubbing the first drafts of it?

Max: From the very beginning my idea was to write a book that’s as interactive as a classical, printed book could be. We chose the game of Go first of all for the love of the game Kevin and I share but were really psyched by the initial AlphaGo results and later versions of it. So we wanted to share the basics of this incredible machine learning system by letting readers build it on their own. Getting your hands dirty is crucial to get a feel for how complex systems work, so we thought a self-contained practitioner’s guide would serve the community well.

Getting your hands dirty is crucial to get a feel for how complex systems work […]

Sayak: I loved that thought process. Thank you for sharing. These fields like machine learning are rapidly evolving. How do you manage to keep track of the latest relevant happenings?

Max: I don’t, at least not as much as you might think I would. If I were a machine learning researcher that would likely be more important. But from the practical side of things, it is clear that most advances only slowly make their way into useful business applications. You don’t have to chase the latest and greatest on a daily basis. I get most of my machine learning news from Twitter, and if you’re patient you definitely notice when a topic becomes really hot and should be considered more closely. For me, it’s much more important to have a strong understanding of the fundamentals of your field, rather than getting lost in a constant stream of news. Many of the things you think are important turn out to be irrelevant in hindsight. I try to focus on reading books and outstanding papers.

For me, it’s much more important to have a strong understanding of the fundamentals of your field, rather than getting lost in a constant stream of news. Many of the things you think are important turn out to be irrelevant in hindsight. I try to focus on reading books and outstanding papers.

Sayak: I think you just spoke my mind here. I strongly reciprocate your thoughts here. Being a practitioner, one thing that I often find myself struggling with is learning a new concept. Would you like to share how do you approach that process?

Max: I usually try to build an example, not too complicated, but also not trivial. If you can create and explain such a non-trivial example it’s pretty much impossible not to understand the underlying concepts. Of course, it’s not always possible to pull this off in code, as what you’re reading would just take too long to build from scratch. But it’s usually possible to extract the gist of the ideas in such a way that you could explain them to a peer over lunch. This is essentially the Feynman technique and it can work wonders in not tricking yourself into believing you understood something.

Sayak: I follow this practice as well and I try to blog them down too. It has helped me tremendously so far. Any advice for beginners?

Max: Learning is a humbling experience. The more I learn in any field, the more I realize I’m just scratching the surface. So it’s a good idea not to stress yourself out as a beginner and develop a good attitude of working hard, but not being too hard on yourself. I also believe it’s a good idea to start expanding from your strengths and don’t focus too much on your weaknesses. In the end, you will get hired for being exceptional at something, not for the absence of flaws.

Sayak: Thank you so much, Max, for doing this interview and for sharing your valuable insights. I hope they will be immensely helpful for the community.

Max: Of course, my pleasure.