The NIP approval implies that this algos should be implemented on relays, is that right? Many sofisticated algos could work on the client side, and simply filter one of the lists for you, like all follows or global. No need for relays to take the computational burden.

Reply to this note

Please Login to reply.

Discussion

I believe that it should be possible to train algorithms or fine tune them on the client side. However that would make any algo client specific. Althogh it should be possible to share algo parameters between clients that would require some kind of standardization via NIP.

Which sophisticated algos?

I proposed this to roughly gauge sentiment on the idea. It very well could be the wrong approach.

Ideally, I think algos are clientside. Napkin math tells me it's going to be 100-1000x slower than a client displaying the normal relay provided ordering assuming the algo runs near instantly. But it's probably worth seeing if this is actually the case first.

Some algos are more obviously unfeasible on the client (on a basis relative to the server). e.g. a chronological (not reverse chronological) ordering, a top for some large duration of time ordering, search. However, some algos where you can assume you only need a subset of data, might make more sense.

For example an ANN based recommendation system. NNs can be much sympler than what is used in LLMs. RAM memory is the biggest constrain, so that the complexity has to be adjusted to the device.

I see. To date, I’ve mostly been considering more naive algorithms.

I don’t love the opaqueness of machine learned algos but once the models are trained at least they’re pretty small and applying them is straightforward.

Yes simple algorithms are important and it makes sense that relays provide some of that functionality.

Still it would be great to have a recommender system for nostr to filter for you content, e.g. from the global feed. Zappable posts, news, songs, movies, or whatever else you can think of. For privacy and controllability reasons it should bebetter to have it run on the client side.

The opaqueness of NNs can be made more transparent with probabilistc ML. For example https://dl.acm.org/doi/abs/10.1145/3383313.3412225

I am looking for nostriches that would like to cooperate on such project 🤗