Just like with their last release, they only released the architecture and not the weights. It may be useful for analyzing the system if you're a competitor (but from my last dive into it, it seemed like a strict subset of fancier, industry-leading rec systems), or perhaps getting into rec / retrieval systems as a newcomer.
However, this gives roughly zero insight into how Twitter's feed behaves.
Not only no weights. Not sure what people's expectations are but a lot of the time this isn't even valid code with all the redaction they did [1]. I'm confused as to who this is for, this surely isn't the repo they're working on, is it?
Despite not containing more than a few random files, there were headlines everywhere about the "Open Source Tesla Roadster". There were countless comments, Tweets, and posts about how amazing it was that the Roadster was now open source.
None of the people reporting on it or praising it actually looked at the files and realized you couldn't actually build anything other than the HVAC control board for the car.
I can think of like 3 institutions that have reporters who would ask that kind of question (The Register, Ars Technica and 404media) and I don't think Musk is going to be sitting across the table from any of them, ever.
> I can think of like 3 institutions that have reporters who would ask that kind of question (The Register, Ars Technica and 404media) and I don't think Musk is going to be sitting across the table from any of them, ever.
It's rather weird that they would add keys to the source code like this, rather than reading from the environment or some secrets service. Rather than redacting the source, they should refactor to remove the keys from the source
There's no way you got to this bit without skipping over multiple actual redactions, like SQL queries with all of the details replaced with ellipsis. Why are you cherry-picking one innocent instance when you know exactly what the parent comment is talking about?
Since it’s redacted we don’t know what was here. They could be redacting the names of the environment variables or other secrets names they use for credentials since a supply chain attack could more easily exfiltrate them if they know the name.
the criteria for deciding which posts in comments or feed are spam or should be otherwise be suppressed are unsurprisingly also hidden . It's known that blue checkmark accounts rank above non-verified ones for comments, but I dunno about feed visibiblity.
It'd assume that weights are changing constantly so they'd need to open source a service tweaking the weights in real time rather than the weights themselves...
No, even if you somehow were able to download the corpus of all public X posts. There are many hidden signals that are feature engineered in good recsys, and the stripped-down algo won't be able to replicate them.
I feel like bsky and mastadon only represent a subset of users, so I'm not sure how well you would be able to create a general rec system similar to twitter's from that that is useful outside of those places
Nope. Every single system like that will misbehave if given a bad set of weights, or even a random set of weights. I'd go as far as saying that even with "good" weights, it's likely to have some sigma of misbehavior.
Unfortunately, this [0] cancels out everything ten-fold. The owner of the website is boosting the content of himself and the people he supports. This did not happen in the old twitter - not even close.
Post Musk Twitter is amazing. It lets you see how stories, opinions that you support or don’t are attacked from all sides and Community noted / @grok fact checked … a lot of UX changes too .. pre Musk, the moderation / banning was biased and arbitrary (who is watching the watchers?) .. my personal fav was to see the special tick removed from journalists ..
I think that's the first time I've seen someone positive about that change. My experience has been by showing blue tick users above others, the experience has become a lot more biased because it's only a certain type of person that pays for Twitter
Twitter/X user here. I agree with GP, it’s better than it was pre-Elon. The For You feed definitely seems less biased, more interesting, and fewer flame wars. I also think the exodus of Bluesky-ers has helped that (for which Elon gets partial credit). Yes, they do seem to have been backfilled by their right-side mirror images, but those people don’t seem to get amplified to the degree their predecessors were.
Isn’t that a good thing that you have already created a mental filter about people who pay for it as being of a “certain type” .. the problem with ticks being bestowed upon some journalists is that they become the brokers/influencers by the virtue of simply working for a newspaper .. that power is vaporised now .. tbh the real question is why didn’t twitter pre musk implement community notes .. I mean it’s not such a bleeding edge / hard to execute idea ..
Grok is a lickspittle, don't ask it about facts. But the clever thing is that Grok can do meta queries for you ('give me the last 30 users from X who posted about Y using the word...').
The very first question that the article writer said they posed to Grok 3 and Grok 4, "What is currently the biggest threat to Western civilization and how would you mitigate it?", didn't return anything like the simplistic answers in that article. Apparently, the article was politically driven.
When I asked Grok 4, two pages worth of answers were returned, including a table with columns for Threat, Reasoning, and Severity. The article is just plain wrong and fails the very fact-checking that it purported to do.
author_is_elon, author_is_democrat, and author_is_republican are in fact gone. Now there is grok_politics_neutral, grok_politics_left, and grok_politics_right. This is in addition to a whole group of other categories, such as grok_category_sports and grok_category_music. All are based on annotations by Grok.
Importantly, this file is not used for recommendations. Everything in this file is only used for "metrics tracking purposes to measure how often we serve posts with various attributes." This would also have applied to author_is_elon.
I don't like the platform or owner at all but this was the first time I really looked at their oss'ing of the algorithm, which 2y ago is longer than I realized.
The fact that this issue still exists at all and that the variables have been improved to some degree seems pretty awesome? There was actually no need for this repo to exist in the first place anyways.
(Not a critique of the post itself but I couldn't find a better place to criticize "automatic anti-Elon sentiment which prevails across the board).
Is this real? We accept that the algorithm may link you abstractly with other people, but I didn’t think they were literally labeling on this level. If you just say “we look for what’s similar and leave it at that”, then there’s much less liability.
This is political targeting. This guy was one of the biggest political donors, how can this fly?
They seem to have dialed the overt Elon boosting down now but it's still conspicuously aligned with his priorities. I just made a fresh burner account to see what the algorithm is primed to push by default nowadays, and about 80% of the feed is anti-immigration ragebait.
I think that's just an accurate and mostly genuine indicator of who is left on twitter nowadays.
The people left on twitter earnestly believe that it is better now that you can shout racial slurs at people, buy your way to the top of any chain, get literally paid for ragebait, and genuinely think this repo is meaningful.
When this started it really put me off X - I'd have tolerated, and almost liked the idea, of a freedom of speeech place. But a place that boosts its owners posts... Nope.
I'm out - it's such a big personal diss of me, I'm not interested any more.
You do realize people officially register as party members right? I have no idea why this upsets you. It's just categorization. I fucking hope my feeds do this, I do not want to see maga trash.
It’s not. The last “algorithm” release was a random grab bag of code which existed in some of the Twitter repo that might have been tangentially related to recommendations/feed.
Anon, when I was looking through this source dump I saw a huge range of timeouts used in various services, do you know if there's any writeup or explanation as to how the engineering team settled on those values?
I agree in general it isn't. But in this case Musk claimed that was the point of open-sourcing the algorithm. Transparency on what they are or are not suppressing.
When Tesla "open sourced" their patents, they required companies taking them up on it to, not reciprocally, not copy their "designs". So you get access to their patents in exchange for vague restrictions broader than the patent or copyright system.
This is laudable. But the great thing about Twitter is that you don't have to use the algorithmic "For You" feed at all. You can just use the "Following" feed, which is purely chronological, and doesn't contain any recommended content. This isn't possible on Facebook, which makes it unusable for me.
I don’t use it - does it remember the setting? My recollection is that Facebook would make you switch to that chronological feed manually each time you load the page.
The "following" feed helps, but replies to almost any topic still attract outright white supremacists on X. They have seemingly endless time to fill the site up with their talking points.
I browsed through it a bit and these are some details that raised questions or which I found interesting:
There's multiple mentions of slop, for example: SlopsAuthorScoreFeature in HomeTweetTypePredicates. That means everyone gets a slop score between 0 and 1, which makes me wish that it was openly visible and that people with a high slop score would get a little piggy emoji next to their name.
There's a CLIENT_TWEET_TAKE_SCREENSHOT action, which is likely used to keep track of when a (mobile, presumably) client takes a screenshot. I hadn't considered this before, but for a social media app where posts are often shared externally through screenshots, keeping track of this can give you another engagement metric.
They have two types of NSFW filters: isNsfw and isSoftNsfw, but I couldn't figure out the distinction. Other metadata types include: isGore, isViolent, isSpam, isLowQuality, isOcr.
In ContentFeatureAdapter there's a getTweetLengthType function which shows the range for each tweet type. This is used to set TWEET_LENGTH_TYPE elsewhere. I wonder if it would help your virality to switch up your tweet lengths to regularly put out tweets which hit every length category, or if it doesn't significantly affect your potential reach.
There's a hardcoded list of top-level Grok topics [0]. Just mildly interesting to see what they consider to be top-level categories. Anime has achieved a significant cultural victory by getting separated into its own major category.
The timeout values for different service request types varied a lot across the application, which makes me curious about how they settled on those numbers. This is a question I've pondered in the past but haven't gotten around to researching deeply.
Not sure if this is the right place to ask, but why does Bluesky feel so much faster to load and interact with compared to X? On the surface, both have similar interfaces and equally rich content, yet Bluesky consistently feels snappier and more responsive, even though it’s the newer platform.
Newer is generally faster, hasn't had time to accumulate cludges and dead ends from years of evolution. The bigger factor though I would imagine is not having 100 tons of analytics tracking everything.
Iiirc, Twitter uses some mongrel version of React Native on the web. That's why you get the 3 seconds long loading thingie whenever you open a new tab.
Oh in that case bsky is basically the same stack, they happen to have a react-native-web app with Expo. Maybe its the dozens of analytics that is being processed every minute.
It's so disappointing to see that Twitter has only released the source code of their algorithm while all of their competitors have released both algorithms and weights.
Well, some version of them are open source, which may or may not be what is actually running in prod. AFAIK the patch which made it obsessively bring up white South Africans was never published, and this algorithm repo went over two years between updates so it obviously wasn't tracking prod.
Nope, nor did that repo have the system prompts that brought is MechaHitler, nor the time earlier this year where it started injecting Trump into every completion.
The Grok repo is a smokescreen for deniability (just not particularly plausible).
I think Elon said he would release the weights. In a video somewhere. That's what he meant - when the next major version lands, they release the previous one?
People's choices can change, maybe the economic/geopolitical reality of AI race has been impressed upon him, but I think that's what he said.
This post is about the Twitter algorithm. He originally said it would be open source, but he just did a source dump 2 years ago. Now they did a new source dump with updated but heavily redacted code for the For You feed.
As for his claims about opening up Grok: Elon said that they would publish the n-1 weights for Grok. However, he dragged his feet and only recently released the weights for Grok 2. So now we're up to Grok 4 but he has yet to release the weights for Grok 3 despite his claims.
I think the problem with Elon is that he doesn't fully hold himself accountable for his words. If he decided that it was no longer economically viable to share Grok's weights then he should post an update about that. You cannot expect to win the goodwill of claiming to support open source and then continuously drag your feet while refusing to communicate your intentions clearly.
25-apr-2022 https://news.ycombinator.com/item?id=31160546 380 comments
31-mar-2023 https://news.ycombinator.com/item?id=35391433 1185 comments