Big companies who are leveraging artificial intelligence are also updating their recommendation engines. For example, Amazon recently created an AI-powered real-time personalisation and shopping recommendation called Personalise.
Facebook, on the other hand, has portrayed its machine learning skills numerous over the past decade. This week, the social media giant announced the open source release of its recommendation system called the Deep Learning Recommendation Model (DLRM).
Need For A Recommendation Model
Companies need an efficient recommendation model for making profits in their businesses. Especially the kind of industry that Facebook is, it needs to have a better than the average recommendation engine. By making DLRM open-source, Facebook wants to invite the entire developer community to contribute to make it better and to also address the issues that are faced in this class of models.
Categorical Data: The challenge with the recommendation class of models is associating categorical data with higher level attributes using neural networks. These neural networks are the most common tools for building recommendation systems. But the difference of these models with the others is working with categorical data.
Lack Of Details: Another challenge is the unavailability of abundant details of representative models and data sets. Lack of data is a challenge for neural networks.
All About DLRM
The model specialises in serving personalised results in production environments. It was implemented using the platforms of PyTorch and Caffe2. (It is available be found on GitHub.)
DLRM combines the principles from both, collaborative filtering and predictive analytics-based approaches. This makes it possible to work with production-scale data and provide state-of-art results. This is how the DLRM wins over other recommendation models available. DLRM is assigned to benchmark the speed as well as the accuracy of these systems.
Objectives of making DLRM open source was:
- To help the community find new ways to address the difficulties faced while working with this class of models.
- To encourage algorithmic suggestions, modelling, system co-design and benchmarking. This, in turn, will lead to new models and more efficient systems that can provide more relevant content to people using a wide range of digital services.
The processes followed in the DLRM model follow the following order:
1.Categorical features are processed. This is done by processing embeddings and continuous features with a bottom multilayer perceptron (MLP)
2.Second order interactions of different features are computed explicitly
3.Results are processed with a top MLP and fed into a sigmoid function. This process is to calculate the probability of a click
Image source: Facebook
The open source implementation of the DLRM can be used as a benchmark to measure:
1.The speed at which the model performs
2.How various numerical techniques affect their accuracy
How Can Developers Benefit
With the DLRM going open-source, many developers can take advantage of that. Here are some ways that would benefit them:
1.DLRM uses PyTorch, Facebook’s open source ML platform, making it easy to access. Developers working in PyTorch, which is very common among ML practitioners will be able to use it for their recommendation engines
2.DLRM benchmark is written in Python. This accounts for a flexible implementation where the command line arguments define the model architecture, data set and other parameters, providing the same advantage of accessibility to developers
3.It runs on a realistic data set. This has an advantage for the developer community to allow measuring model accuracy. This is useful when making use of different models and techniques
4.It has a self-contained code that can interface with public data sets, including the Kaggle Display Advertising Challenge Dataset
The social media giant, in recent times, has open-sourced many of its AI models and frameworks. Some of the examples are its Robotics framework called PyRobot and Prophet, which is used for a time series forecast.
The recommendation engine is a very sensitive issue at Facebook because of the controversy that it involves itself with surrounding the subject. But the objective of its DLRM is to draw attention to the difficulties that personalised recommendation models face.
The data science team at Facebook is looking forward to working with the community to address the difficulties and improve the recommendation models. Developing methods to come with improved models using deep learning and neural networks will eventually lead to an advancement in this class of models, bringing to the world a better recommendation system.