Title: Principal Data Scientist
Location: San Francisco, CA
Education: PhD in Machine Learning from Temple University
Years in industry: 10
Favorite AI researcher: Jeff Dean, Google Research
How did you first get started in AI?
The first time I interacted with machine learning was in 2004, when I spent four months working on a computer vision project at Technion Israel Institute of Technology as a visiting student. It motivated me to enroll in machine learning PhD two years later.
My first industry experience with AI was when I joined Yahoo Labs in 2012 after finishing my PhD studies. During my time at Yahoo, I worked on integrating machine learning in various Yahoo products such as Yahoo Mail, Search, Tumblr, and Ads. Some accomplishments I’m particularly proud of include building a machine learning-powered ad targeting for Tumblr, being one of the key developers of email classification for Yahoo Mail, and introducing the next generation of query-ad matching algorithms to Yahoo Search Ads.
What are you working on at Airbnb?
I’m building machine learning-powered search and recommendation products that help users plan their end-to-end trip; that is, book the right accommodation and find things to do. Since joining Airbnb, I’ve worked on algorithms that power homes search ranking, similar homes recommendations, autocomplete, homepage inspirational search and most recently on Experiences Search. Our work on ML-powered Airbnb homes search was awarded the Best Paper Award at KDD 2018 Conference.
What’s the most challenging thing about your job? What do you like most?
In some ML applications, such as object recognition, object detection, and voice recognition, there is a clearly defined objective. However, in my line of work–recommending items to users and ranking the items in their searches–the objective is almost impossible to define because the perfect recommendation or ranking does not exist. Designing the prediction task and defining the objective is both the most challenging and the most interesting part. It is a never-ending pursuit of producing better recommendations that improve the business metrics and user experience.
Take us through your typical workday.
Make espresso. Check the experiments that are currently running and, if needed, decide on new directions. We typically brainstorm new ML ideas before the end of the quarter and create a roadmap with the most promising ideas for the next quarter. Depending on where in the current process we are, I’m working on:
- Deriving the new objective function or ranking algorithm
- Creating new data, features, or sources to support the new idea
- Integrating new data into the data pipeline
- Training and evaluating the new model
- Implementing the back-end changes needed for it to run in experiment and production
- Analyzing the experiment and looking for data insights
What tech stack do you use and why?
- Python for ML model training and evaluation
- Java for back-end implementations of ML model scoring and real-time predictions
- Scala, Spark, Hive and Presto for data processing, cleaning, segmenting and augmenting it to create training data
- Airflow for scheduling daily data processing jobs
- Superset for creating dashboards to visualize results and data
What did you do before working in AI? How does it factor into your work now?
I was always in tech. During my undergraduate and master studies in Novi Sad, Serbia, where I was born, I studied electrical engineering. Rigorous math classes helped a lot later on. Although I didn’t like them much at the time, my familiarity with derivatives, integrals, and differential equations allowed me to better and more quickly understand the underlying math in machine learning algorithms.
One of your most-cited papers is “E-commerce in your inbox.” What was your approach and how well did it work?
At that time at Yahoo, we started mining anonymized online shopping data extracted from email receipts. We came up with an idea to use purchases from all major retailers to train a single recommendation model that could generate cross-domain recommendations. For example, it could recommend music items from iTunes based on your book purchases from Amazon. It was one of the largest cross-domain vocabularies trained thus far. To perform the recommendations, we introduced prod2vec, an adaptation of neural language models. It was capable of training product embeddings in an unsupervised manner using only purchase sequences, without the need to leverage any product meta-data such as title or description. The paper had a large impact in the industry, as several companies started using this type of approach in their recommendation engines. The idea was realized in production by getting several retailers on board to show their product ads to email users, directly above emails, based on past purchases from their inbox.
Why did you choose to work in industry vs. academia?
During my PhD studies, I had a chance to work with real-world data through industry projects and internships. I liked making an impact on the business. That is what drives me today as well.
How do you keep learning?
I attend ML conferences such as KDD, AAAI, and NeurIPS, read the latest scientific papers from top academic and industry research groups, follow AI/ML influencers on Twitter, and subscribe to mailing lists such as ML-News and SIG-IRlist. I also serve on the program committee of top conferences, such as KDD, NeurIPS, WWW, AAAI, and ICML. As part of these positions, I get to read and review submitted research papers every year.
What’s a problem that you’d like to see AI solve?
I believe machine learning can do lots of good for humankind. There are lots of medical applications where ML could help improve our lives. I would love to see ML being applied to in-vitro fertilization, where it could help with selecting the best embryo for implantation to improve successful pregnancy rate. I hope that can be solved in the next couple of years.
What advice do you have for people trying to break into AI?
I often meet people who want to get into AI. My advice is that data and AI/ML are tightly related. You can’t have one without the other. Therefore, it is very important to understand your data, be able to create representative samples, and translate your objectives into data language before starting with ML. When starting with ML, start with a simpler baseline (a linear or tree-based model with a small set of features) and then build up complexity gradually by adding more features, personalization, real-time signals, and so on. instead of going for a complex deep learning solution with all the bells and whistles right away. Even if your complex solution works the first time around, you will have problems understanding which parts worked and which did not. Adding complexity over time allows you to test ideas in isolation and have a better understanding of what works for your particular prediction problem. You will also learn more about machine learning that way.
Mihajlo Grbovic is a Machine Learning Scientist at Airbnb. You can find him on Twitter, Linkedin, his personal website, and his Medium blog. Most of Dr. Grbovic’s scientific papers are available on his Google Scholar page.
Some of Mihajlo’s recent blog posts: