Twitter's Rec Sys, HuggingGPT, Reflexion & More
Twitter's rec system (with W&B integration) uploaded to GitHub, HuggingGPT, Reflexion, and more. There's a lot going on in ML.
Created on April 2|Last edited on April 3
Comment
Twitter's Recommender System
This week Twitter open-sourced a huge part of their recommender system for the Home page.
Before we dive into the full story it's worth noting that we were obviously happy, though not surprised, to see:

Our pride in being included in the code they released aside, let's dive into what's going on.
First, you can check out the 4 resources below (and in References), for more information on how (and why) the system works:

Generally, the process is broken down into retrieving, reranking, and filtering.
Retrieving
Also called candidate sourcing in their blog post, this component pulls data from your social graph, tweet engagement, and user data. They divide this section into In-Network and Out-of-Network.
For in-network, they use their RealGraph model which predicts likelihood of engagement between 2 users.
For out-of-network, they analyze your social graph with their GraphJet. This asks questions like: "What Tweets did the people I follow recently engage with?".
They also leverage their SimClusters model which forms communities of people where tweets are more associated with these communities if they are liked by users from that community.
Reranking
A 48M neural network optimized for positive engagement (likes, retweets, etc) rerank about the roughly ~1500 possibly-recommended tweets that come through from the retrieval stage. This neural scores these tweets based on a few metrics that represent engagement.
Filtering
They filter based on a few things:
- Visibility Filtering
- Author Diversity
- Content Balance
- Feedback-based Fatigue
- Social Proof
- Conversations
- Edited Tweets
This stage of the RecSys pipeline is a set of heuristics aimed at enforcing trust, safety, workplace appropriateness, and also diversifying content.
HuggingGPT
This paper unites HuggingFace models and ChatGPT.
ChatGPT serves as the brains and the other narrow AI models serve as workers delegated to specific tasks. The process is broken down into 4 steps:
- task planning,
- model selection,
- model execution, and
- response generation.
Given a prompt, ChatGPT must figure out how to dismantle it into a set of tasks, delegate a certain model to each task, have these task-specific models execute, then return these results.

Reflexion
Reflexion is an agent that allows for an LLM to self-reflect.
What does this mean? In the method they propose, for where an LLM is interacting with an environment (RL setting), the LLM can decide whether or not it should reflect on the action it takes (heuristic), and if it decides to, then it can revise its decision-making process.

The authors state their proposal is effective at pinpointing hallucinations! Check out their paper here and their blog post here.
BloombergGPT
In an unexpected but interesting turn, Bloomberg created their own LLM called BloombergGPT with 50B parameters trained on their custom dataset called FinPile which is half domain-specific (financial documents like news, press releases, etc) and half-general language.

Their architecture is based on BLOOM. They followed the Chinchilla model scaling laws and trained on a whopping 512 40GB A100 GPUs on AWS!

References
Add a comment
Tags: ML News
Iterate on AI agents and models faster. Try Weights & Biases today.