Jensen Huang, the CEO of Nvidia, talks a lot about the current state of AI in interviews. In one recent interview he gave a shout-out to Recommender Systems which is a type of AI like LLMs (ChatGPT, Claude) are a type of AI. Jensen mentioned that the AI revolution is more than LLMs though products like ChatGPT are getting lots of time in the spotlight.
What are recommender systems? Simply put, they are AI systems that recommend things to people. It's how content appears in your Facebook feed. It's how YouTube determines what to show on your main YouTube page. It's how TikTok chooses what videos to show you. It's how Amazon shows you additional products you might be interested in at the bottom of the webpage. Of course, some of these work better than others and that's all down to how the recommender system is implemented. Nobody owns recommender system technology as it's a series of techniques that are based on open source. Companies usually start with some open source software then customize it for their own unique purposes.
AI is just software that looks like magic. When a recommender system puts interesting content in your feed, it my seem like magic. Maybe a dark magic that is somehow listening to you? How could it know so well what l like? I just mentioned red shoes to my partner now I'm getting recommended red shoes! We've all had moments like this. Different recommender systems use different data to infer preferences of the user. Sometimes that data is purchase history, sometimes it's how long you watch a video. Sometimes they serve similar content to people in the same household because they assume you talk to each other about things. But in the end, the AI is just fairly straightforward software.
So how does a recommender system work? Firstly, preference information is gathered and compiled into a model. The inputs are the videos you've liked, or the products you've purchased, or the movies you've watched, etc. Some preferences are explicit such as how many stars you give to a product and some are implicit such as inferring how much you like a video by what percent you watch before you move on. After the model is built, then the recommendations can be generated based on that model. At run-time, the software needs to put new content in your feed so that when you scroll your feed, there's a new video there for you to watch. To determine what video is next, it asks the model "What should I show next for this person, given their behaviour today?" Then a statistical probability is generated across all the possible content that could be recommended. The contend with the highest score wins, and that becomes your next video in your feed. In addition, this is very similar to how LLMs work! LLMs will produce the statistically highest probable next word as the next word in the response to you. At its core, a recommender system is based on simple concepts. Complexity comes in when dealing with scale and trying to make recommendations quickly.
A couple years ago I taught a class on AI to students at Wellington High School. I taught them the basics of recommender systems and showed them some of the code from the recommender system I built. They were keen to learn about it because they were studying how chess programs work, which is a simpler, more primitive form of AI. But still, chess programs map out all the possible moves 2 or 3 or more steps ahead from now. Then they score the moves and pick the best move to play. Which is how recommender systems and LLMs work, at their core.
If you want to find out more about recommender systems I can recommend the one I built! Our special sauce is that we base the recommendations purely on the preferences of the individual and we do not try to compare people in order to generate recommendations. We also make sure to use anonymous data only, no personally identifiable info. The software is open source so you can play with it or use it at your work if you like. Here's where you can find it and feel free to hit me up if you have questions!