Post

A couple comments about what I’ve been learning about algo engineering, but first off: if you’re interested in helping us improve Discover and all of our algorithmic systems, we are hiring algo engineers jobs.gem.com/bluesky/am9i...

jobs.gem.comBluesky JobsBluesky Jobs
dan@danabra.mov

atproto is such a cool technology, but the low quality default feed of the default atproto product is dragging the whole thing down. i don’t want to say ngmi but that’s how it feels so far

My background isn’t ML so I recently had to start training in my off time. It’s actually been very fun; wish I had done this 5 years ago. But that’s my opening caveat- I’m still relatively junior on this subject matter

0 reposts82 likes

The way Discover works is by sampling from multiple different “Candidate Groups (CGs).” This can be things like followed users, liked by followed users, social clusters, and topics you’ve voiced interest in.

These get put through a predictive ranker, which is a large statistical model that tries to guess whether the viewer would like a post. Model #1 for us to train.

The CGs each work differently. The topical ones require classification. Model #2 for us to train. This also requires a good embedding model, which I’m pretty sure (?) we don’t train or fine tune ourselves but requires a lot of experimentation.

Just curious, but what embedding model do you use? I'm currently experimenting with clustering post embeddings into interest clusters to build a lightweight personalized feed using MiniLM L6 v2.

The social cluster CGs don’t necessarily need ML, though I’m sure there are models which can generate them. My recent posts about neo4j have been my side work to add more graph analysis to our stack while the algo team focuses on deep learning systems