Hacker News new | ask | show | jobs
by sorrowfulgeek 2592 days ago
This is not a new idea. Apple already emphasises that they do all the machine learning on your own device and no data is sent to the cloud. But this approach only works well for a small class of problems. For other types of problems you need to look at data wholistically at a large scale in order to see patterns and you need a cloud service.

But more importantly we know that complex services break once in a while. If such services run on entirely on your personal device then the complexity of your device goes up exponentially. That’s not good. We learned in the 90’s that a better model is to centralize complexity, and make end devices as simple as possible. (Look up Larry Ellison’s 90’s speeches about Network Computing.) So, no, moving the center of computing to personal devices is not a good idea!

4 comments

I agree it looks like Apple is the only mobile vendor who's business seems to align well with a vision like this. They're already taking steps in that direction, which are hard for rivals to take because this approach closes off revenue opportunities for them.

Every now and then I see a suggestion we should move towards federated services and mesh networks because it would give people more control and freedom, but the cost of that is complexity. It's like the classic reply on HN when Dropbox was announced, along the lines of why would anyone ever want this when they can 'just' run rsync against an SVN repository?

Any solution that expects average users to become sysadmins is DOA. It was true when people were pushing for it in the 90s and it's still true now.

Federated Learning[1] you can train across multiple customer data by sending the in-training model to every device, then exfiltrating only the backprop adjustments you get back. In-theory, user data never leaves the device. In-practice, the backprop data has the information encoded within it to an extent, it's very difficult to secure.

[1] https://medium.com/syncedreview/federated-learning-the-futur...

> For other types of problems you need to look at data wholistically at a large scale in order to see patterns and you need a cloud service.

What types of problems do you have in mind?

> But more importantly we know that complex services break once in a while. If such services run on entirely on your personal device then the complexity of your device goes up exponentially.

The idea is that a lot of problems aren't so complex once delegated to participants of the network.

> We learned in the 90’s that a better model is to centralize complexity, and make end devices as simple as possible. (Look up Larry Ellison’s 90’s speeches about Network Computing.) So, no, moving the center of computing to personal devices is not a good idea!

By "we learned in the 90s" you mean that a company with an obvious commercial interest in the idea tried to push it and largely failed because it was based on assumptions that were practically Jurassic within a few years ("you don't need a powerful machine to support the use of common network services" and "thin clients can be much cheaper than general purpose computers"). We have our multi-core gigs-of-RAM phones and multi-core gigs-of-RAM Chromebooks now that may superficially qualify for implementing the idea of a "network computer" or even "thin clients" by dubious standards, but are actually just powerful devices that are locked down to proprietary third party services for reasons that have no real advantage to the consumer; "fat" clients.

Other things we learned in the 90s: JNCO jeans are cool.

>What types of problems do you have in mind?

Search comes to mind. Traffic information systems are going to become more important. Also, everything related to fighting fraud, spam, etc.

Brave browser also does machine learning locally.

It's definitely a value add for Apple users and something Tim Cook relishes throwing in Zuckerberg's face.

Other companies don't seem to care so much. I think a good compromise is having more data in the cloud that can only be decrypted by the user.