Recommenders is one of the most important and complex machine learning pipelines.
Creating recommenders is incredibly complex. However, the benefits are enormous to internet services
It enhances their user engagement, the quality of service, and for many of them it dramatically
shapes their economics. Recommenders consists of a couple of different algorithms, collaborative
filtering and content filtering. Collaborative filtering tries to predict user preferences
from other user interactions that are similar and content filtering tries to predict what
items could be preferred based on similar items. The first age of the recommender systems
consists of taking high dimensional information of users and items and encodes it into a low
dimensional vector. In the process, computing the similarities of users to other users and
items to other items. The reduction of high dimensional information
of users into low dimensional vectors and the high dimensional descriptions of items
into low dimensional vectors is called embedding. That is a computationally intensive process
and requires deep learning to do so. The embeddings are then used by the recommender systems to
learn to predict user preferences. So when the new user comes into a service
and queries about a particular item which could be a movie or song or a book or a product
or grocery, the first stage generates a large number from billions of options to thousands
of candidates. From those thousands of candidates, it is then ranked by a neural network that
has learned this particular user's preference to provide a ranked list of preferred next
items. And that's the reason why when you're watching a movie, the next movie that comes
up is similar to the previous and it could recommend if you like this movie, you might
like this movie. If you like the song, this would represent a great playlist. If you enjoyed
this book, you might consider these books. If you just bought this item, you might consider
also buying this item. That ability to predict user preference based
on your interaction and based on your queries is one of the major reasons why internet is
so personalized and is one of the reasons why the internet is so useful to us.
The recommender system is the engine of the personalized internet. It is the reason why
we're going to be able to enjoy an internet that seems to be practically designed for us.
It's almost as if the recommender is going to be an AI that reads your mind. It could
predict what you prefer based on the context, your circumstance, maybe some vacation you
were on, a birthday of somebody you love and based on that it would recommend a product
or service to you. The recommender system is vitally important to the future of the
internet. There are trillions of items in the world, hundreds of billions of websites,
hundreds of millions of books and songs. It is impossible to search. It is impossible
to know what's out there and so the internet has to understand what you prefer and make
a recommendation to you. For companies, it will be your recommender
system for sales automation or marketing automation. For healthcare, it might recommend therapies
over time. The recommender system is going to be vital to every
Industry - whether it's shopping or supply chain management or customer service.
Call centers will have recommender systems in the background, recommending solutions or recommending
a path or a journey through the dialogue system. Recommender systems is foundational to all
industries. However, building recommender systems is enormously complex. This is the
endeavor of large internet companies. What would we love to simplify and to codify the
complexity of modern recommender systems and put it into an application framework so that
we can democratize this capability for all industries.
Ladies and gentlemen, we've done just that and we call it NVIDIA Merlin.
NVIDIA Merlin is a deep learning application framework. We've taken what is otherwise a very large
system, a very complicated data processing and machine learning algorithm encoding and
codified it into an application framework that's easy to use.
The first stage of data processing with NVTabular with just a few lines of code, you could create
a data frame and do data processing for extract, transform and load from terabytes to hundreds
of terabytes and the scaling and the partitioning is done automatically. You don't have to think
about the system underneath. You don't have to think about the system software. All of
it is done in NVTabular and it's easy to use. You then pass off the data frame that you've
processed into HugeCTR that allows you to learn embedding and the ranking systems automatically.
All of that is codified into these libraries that sits on top of RAPIDS. It sits on top
of cuDNN. And then it has been optimized with the highest performance engineering that's
been done and we call that NVIDIA Merlin. Well the results are really quite amazing.
Here, I'm showing you a one terabyte ads database from Criteo.
What would otherwise take a couple of days of processing on a CPU, all of a sudden with
this framework, not only is it easier to use, just a few lines of code, it now runs like
speed of light. All of a sudden, from a couple of days of processing into minutes. Now this
is for one terabyte of data. If you were to scale this up a thousand times, you could
just imagine the complexity. A thousand times, basically, is a one petabyte database and
that one petabyte database is just around the corner. And so, companies are now able
to think about creating these really complex recommender systems built on top of high performance
computing servers and have this application framework that is really easy to use.
We call that NVIDIA Merlin.