May 11, 2023
Differences between LLM-powered recommendation systems and traditional recommendation algorithms
I researched the differences between LLM-powered recommendation systems and traditional recommendation algorithms by examining five sources, including two articles from Towards Data Science, and three Reddit threads. There was a general consensus among the sources that recommendation systems serve various purposes and can be implemented with different algorithms. However, the sources did not directly compare LLM-powered systems to traditional ones, so I cannot provide a clear-cut answer. Nonetheless, I can summarize the key points from the sources to give a broader understanding of the topic.
Words
422
Time
3m 26s
Contributors
59
Words read
9.8k
Have an opinion? Send us proposed edits/additions and we may incorporate them into this article with credit.
Traditional Recommendation Systems
LLM-Powered Recommendation Systems
Comparing LLM-Powered and Traditional Recommendation Systems
Jump to top
Research
"https://towardsdatascience.com/recommendation-system-series-part-1-an-executive-guide-to-building-recommendation-system-608f83e2630a"
- Recommendation systems are built to predict what users might like when there are lots of choices available.
- Collaborative Filtering and Content-Based are the two primary types of recommendation systems. Collaborative Filtering primarily makes recommendations based on inputs/actions from other people, whereas Content-Based systems make recommendations based on the user’s purchase or consumption history.
- Potential variations on these types of recommendation systems (including those in Collaborative Filtering and Content-Based recommendations) can be employed and used in combination depending on platform and product.
-
The article discusses multiple specific strategies for each recommendation type, which are ranked:
-
Collaborative Filtering:
- By User Similarity
- By Association
-
Content-Based:
- By Content Similarity
- By Latent Factor Modeling
- By Topic Modeling
- By Popular Content Promotion
-
Collaborative Filtering:
-
The article breaks down the six steps to building a successful and robust recommendation system, including:
- Understand the Business (defining goals, discussions between data/business teams)
- Get the Data (employing explicit and implicit user feedback to gather preferences and using external data sources if users are unknown)
- Explore, Clean, and Augment the Data (considering older reviews and removing data that is no longer relevant)
- Predict the Ranking (using machine learning and predictive elements to refine the system and leveraging the hybrid approach)
- Visualize the Data (visualizations can help reveal things about the data set, giving feedback on model performance to make changes or decisions)
- Iterate and Deploy Models (putting the system into production, evaluating performance, fine-tuning, and building a feedback loop to understand whether or not users care about recommendations).
- When exploring and cleaning data for a recommendation system, one thing to consider is changing user tastes.
- The best recommendation systems use terabytes of data and a combination of explicit and implicit feedback since there are advantages and disadvantages to each.
- Datasets for recommendation systems can be challenging to work with because they are commonly high dimensional, and many of the features don’t have any values, which can make clustering and outlier detection difficult.
- In the context of recommendation systems, visualization serves two primary purposes: when still in the exploration phase and after putting the recommendation system in place.
- Making sure the recommendation system is built to adapt and evolve by regularly monitoring its performance is critical. Building a feedback loop to understand whether or not users care about recommendations will be helpful and provide a good metric for making refinements and decisions going forward.
- Recommendation systems that aren’t properly adjusting
"https://towardsdatascience.com/using-large-language-models-as-recommendation-systems-49e8aeeff29b"
- LLMs can be used as recommendation systems, since they are probabilistic models that try to map the probability of a sequence of tokens (words, phrases, etc.) occurring.
- LLMs are pre-trained on massive amounts of text with large architectures that utilize significant amounts of compute and are commonly powered by the transformer architecture.
- This architecture utilizes a “self-attention” mechanism, which allows the model to learn how different tokens relate to one another in the pre-training process.
- LLMs can be used for several tasks in a single system, including recommendation.
- P5 is a flexible and unified text-to-text paradigm that combines several recommendation tasks in a single system. This system is capable of performing sequential recommendation, rating prediction, explanation generation, review summarization, and direct recommendation via natural language sequences.
- The basis of P5 is that the LLM is able to learn that certain items are similar to one another and that certain users have inclinations towards certain items.
- During the pre-training process across all these purchase sequences, the model goes through a form of collaborative filtering.
- Specific examples of using the LLMs for recommendation system include retail stores and sports equipment purchases.
- Comparison to traditional recommendation systems, LLM-powered recommendation systems have some benefits, such as sidestepping the cold start problem for new items to an extent and bypassing the need for heavy, manual feature engineering. However, some pitfalls exist, including lack of control on what’s recommended and similarity-based recommendations.
- In replicating the sequential recommendation capability on a smaller scale, a custom dataset of over 100 examples of sports equipment purchases along with the next item to be purchased was made. The T5 model from Hugging Face was leveraged, and after fine-tuning, the results were impressive.
- In further attempts to replicate the technique for Arabic, publicly available T5 models, such as AraT5 and MT5 were used. Unfortunately, a small fine-tuning data set made it difficult to train a model that would produce acceptable results.
- To translate Arabic input to English, a Google Translate API was combined with the English fine-tuned T5 model. Unfortunately, the translator would make some mistakes that would throw the model off and result in the same 1-2 items being recommended consistently.
- More powerful sequence-to-sequence models could help as the fine-tuning data becomes larger and the prompting technique is perfected. However, LLM-powered recommendation systems should be used in conjunction with other recommendation systems
"[D] Baselines for recommendation systems"
Not used in article
"[D] Choosing a Recommender System algorithm"
- The Reddit thread titled “Choosing a Recommender System algorithm” was published in the r/MachineLearning subreddit one year, seven months ago and had three points at the time it was posted.
- The thread focuses on helping a user choose an algorithm for a recipe recommender system for a supermarket based on his requirements and circumstances.
- The user mentioned that there is no explicit feedback or rating and that he has the purchase record on item-level per customer. He also mentioned that he should take the user profile into account and that he needs to rerank/weight the results based on a heuristic.
- The user also needs to filter out specific recipes based on their ingredients.
- The thread discusses the different types of algorithms that the user can utilize to build a recipe recommender system such as content-based, collaborative filtering, hybrid, and knowledge-based algorithms and their advantages and disadvantages.
- One user suggested that the user should start with a Content-Based Filtering approach to establish a baseline and then iterate and add personalization using Collaborative Filtering while monitoring the key metrics using LTR to enhance the results continuously.
- Another user suggested using Neural Collaborative Filtering, which focuses on mapping users and items into the same embedding space, and then regressing users to their preferred items using a network with shared weights to predict preferences.
- Another user suggested that the user should treat recipes as customers with a binary matrix, with the columns being ingredients and the rows being recipes or customers, and then reduce the dimensionality using an autoencoder.
- One user suggested using the Z-Scores after clipping the outliers to help with Collaborative Filtering, while another user suggested treating recipes as customers.
- Another user suggested using the click as a proxy for a Like, especially in a low-data regime, and then use the Cosine Similarity and Neighborhood approach to make the recommendations by rolling up the document embeddings to the user-level.
- The thread also discussed some of the challenges that the user might face, such as dealing with the lack of explicit feedback, maintaining relevance, and defining the scope and context of the recommendation system.
- Some users suggested using logistic regression, cosine similarity, matrix factorization, and clustering in a knowledge-based setting to address these challenges.
- The thread also highlighted some of the limitations of the different algorithms and warned of potential issues related to overfitting, bias, and data sparsity.
"[Discussion] Unique uses of recommendation systems?"
- The webpage is a reddit discussion titled “Unique uses of recommendation systems?” in the Machine Learning subreddit, posted 1 year and 3 months ago, with 46 upvotes.
- One user details their experience with creating a support ticket recommendation system at their workplace. The system suggests tickets to technical specialists based on their expertise and experience and uses a naive Bayes model combined with a gradient boosting model trained using feedback data. They use a CP (Constraint Programming) model to find the optimal way to distribute the tickets, while maximizing the scores generated by the two models. The goal of the system is to minimize response time, re-assignment rate, and maximize user satisfaction based on surveys.
- Another user suggests that spam filters can also be considered recommendation systems and therefore have a unique use.
- A user mentions Microsoft’s TrueSkill 2, which is a multiplayer extension of the Chess ELO rating system that uses Bayesian methods to team players based on win/loss records. This system is used for matchmaking in games like Halo and Gears of War.
- One user suggests that recommendation systems can be useful in processors to recommend the next instruction in the CPU and the next piece of memory that is being used. They mention that they worked on speculative branch prediction algorithms in the past.
- Other potential applications of recommendation systems discussed in the thread include real estate listings, biomedical research, and computer-aided-design.
- One user used a content-based approach to recommend past support tickets using word embeddings to vectorize the ticket’s text and selecting similar tickets by nearest neighbors. They mention that the results are good but not great and they are expanding their vectorization with a rule-based feature extractor.
- Another user asks for book and course recommendations to get started with recommendation systems as they are working on figuring out a solution for ranking leads for their sales team.
- Other users provide several article and book recommendations.
- A few users discuss the limitations of the current recommendation systems and how they can be improved to provide better user satisfaction.
- One user mentions how translation tasks can be viewed as highly stringent recommendation tasks, while another user mentions that recommendation systems can be used to help people edit articles on Wikipedia by indicating related articles.
- Lastly, one user complains about the quality of recommendation systems, except for Spotify’s suggestions, and questions whether recommendation systems are even beneficial for humanity.
"How to approach Recommendation System Project [P]"
- One user is seeking advice on how to approach building a recommendation system for an e-commerce website for their internship
- Another user provides a link to a repository with a list of recommender systems and resources
-
A few other resources related to recommendation systems are mentioned:
- A 3-part series on RecSys design on the MLOps Learners’ YouTube channel
- A blog post about ML and business metrics for recommender systems
- Eugen Yan’s blog, which has some of the best content on RecSys
- A paid course on building RecSys from Google Cloud on Coursera
- A blog post and a podcast on how to test recommender systems
- A user recommends the fast.ai collaborative filtering method for collaborative filtering with neural networks, which they describe as state-of-the-art
- Another user mentions the Drazin inverse, which can calculate resistance between nodes on a graph, and suggests it can be used to find the connections with the least resistance on a graph
- Some brief discussion about k-nearest neighbors as another recommendation algorithm
- A user asks if there are any resources to learn more about the Drazin inverse, but the other user says that most resources seem to be very math-heavy
- The original user thanks everyone for their advice and resources.
💭 Looking into
Provide examples of industries or domains where LLM-powered recommendation systems are most effective
💭 Looking into
List at least three key features of LLM-powered recommendation systems and explain why they differ from traditional approaches