"100% Fully Software 2.0 computer. Just a single neural net and no classical software at all. Device inputs (audio video, touch etc) directly feed into a neural net, the outputs of it directly display as audio/video on speaker/screen, that’s it."
Sounds like a magical fantasy computer.
How would the input and output devices work without drivers? Does "no classical software at all" mean that the drivers are somehow within the neural net?
How would such a magical neural net computer be trained? Wouldn't it require observing countless inputs and outputs for a normal computer? How would the neural net being trained distinguish between good, wanted input/output combinations versus bad, error input/output combinations?
How would you program such a computer or load new software onto it? If the whole thing is a single neural net, wouldn't the neural net need to be replaced in order to add new functionality or correct errors/bugs? How would user data be persisted while upgrading the applications?
Theoretically the network could be trained on the raw input and output voltages of the camera and display serial interface and so on. But yes, it's a magical fantasy computer.
I think it’s very much a magical fantasy computer :-) A thought experiment, rather than a claim to something that’s been built or exists.
The questions you pose are interesting ones, for the sake of the experiment I think at least:
- Programming
- Loading new software
- Adding new functionality
- Persisting user data
Could all at least in principle be achieved without changing the network architecture, but rather just providing the relevant data at the inputs (eg the full bit stream of the install file of the new software being installed) and having that lead to adjustments in activations (not weights or architecture) across the network which lead to any future inputs to the network resulting in the outputs that would be expected in the presence of the new software. Same deal for the other examples.
As to whether this is practical or achievable at present - not even remotely close in my view. But it’s still an interesting idea, even if just to think about why it wouldnt work and what that implies for future development direction of multimodal networks etc.
> How would the input and output devices work without drivers? Does "no classical software at all" mean that the drivers are somehow within the neural net?
Why do you single out drivers? If the whole I/O behaviour of the computer would be performed by the NN, why not drivers?
> Wouldn't it require observing countless inputs and outputs for a normal computer?
Yes and that bit sounds to be relatively easy to automate.
> How would the neural net being trained distinguish between good, wanted input/output combinations versus bad, error input/output combinations?
I guess you would put that information into the dataset. In supervised learning it's called labels.
> Who is going to label the "general purpose computing" training dataset
That's what i imagined to be easy to automate. We have tons of inputs* and real computers, that will output what real computers would output.
* and hopefully the knowledge to come up with a set of inputs that (together with an actual general purpose computer) contains the essence of what general purpose computing is.
> How would the input and output devices work without drivers? Does "no classical software at all" mean that the drivers are somehow within the neural net?
That's my impression, yeah: the neural net would learn to associate input signals with output signals. If this could ever be made to work then it'd have some pretty neat implications for human prosthetics.
> How would such a magical neural net computer be trained?
You'd need some way to praise or scold the thing. Probably a debug line or something to encode pass v. fail.
> How would you program such a computer or load new software onto it? If the whole thing is a single neural net, wouldn't the neural net need to be replaced in order to add new functionality or correct errors/bugs?
I think you answered your own question: swap out the entire neural net (which would probably entail a hardware swap unless you're able to train a neural net to replace itself).
> How would user data be persisted while upgrading the applications?
Train the neural net to interface with a hard drive?
If we are talking about a single neural network that can do everything in real-time, then the only viable path I am aware of is spiking neural networks.
When you are working with I/O, you need to be very sensitive to time domain considerations. Training a periodic timer (i.e. polling for a response) into the current crop of transformer models does not seem feasible outside of clunky agentic approaches that invoke some external tool.
This reminds me of people in the past comparing computers as another brain because circuit network is similar to brain. I guess it is not impossible to construct one neural net. But how to train them, modify them (to add more programs), maintain them (security purpose), and make sure they are correct will be impossible in the near future (in my view). It would be crazy to see a madlad tunes every neuron to make a proof of concept though.
In implementation neural nets end up being a variety of different chunks of code like we already have. They’re never just one file with one magical pattern doing all the magic
Software industry is again re-inventing the marketing to justify sitting and doing largely the same job
We spent good 60 years to get OKish text rendering. I mean, some of us can tell the difference between Arial and Helvetica. Now imagine adding a new font to an OS like that: “Sure, boss! We only need to generate 5b examples for training and just 20 years of GPU time.”
24 comments
[ 3.3 ms ] story [ 71.8 ms ] threadSounds like a magical fantasy computer.
How would the input and output devices work without drivers? Does "no classical software at all" mean that the drivers are somehow within the neural net?
How would such a magical neural net computer be trained? Wouldn't it require observing countless inputs and outputs for a normal computer? How would the neural net being trained distinguish between good, wanted input/output combinations versus bad, error input/output combinations?
How would you program such a computer or load new software onto it? If the whole thing is a single neural net, wouldn't the neural net need to be replaced in order to add new functionality or correct errors/bugs? How would user data be persisted while upgrading the applications?
The questions you pose are interesting ones, for the sake of the experiment I think at least:
- Programming
- Loading new software
- Adding new functionality
- Persisting user data
Could all at least in principle be achieved without changing the network architecture, but rather just providing the relevant data at the inputs (eg the full bit stream of the install file of the new software being installed) and having that lead to adjustments in activations (not weights or architecture) across the network which lead to any future inputs to the network resulting in the outputs that would be expected in the presence of the new software. Same deal for the other examples.
As to whether this is practical or achievable at present - not even remotely close in my view. But it’s still an interesting idea, even if just to think about why it wouldnt work and what that implies for future development direction of multimodal networks etc.
I think this kind of computer exists and is called ”brain”.
True, but there are ethical and rights considerations unless you are building / growing an artifical brain.
You can't just grab a human or sufficiently-suitable animal brain and turn them into your personal mentat (https://en.wikipedia.org/w/index.php?title=Organizations_of_...) or computing servitor (https://warhammer40k.fandom.com/wiki/Servitor) to do your computing for you. (At least, not ethically.)
Where would you get a brain to train?
Also, it's not easy to train human / animal brains in their natural state as any parent / animal trainer can attest.
Why do you single out drivers? If the whole I/O behaviour of the computer would be performed by the NN, why not drivers?
> Wouldn't it require observing countless inputs and outputs for a normal computer?
Yes and that bit sounds to be relatively easy to automate.
> How would the neural net being trained distinguish between good, wanted input/output combinations versus bad, error input/output combinations?
I guess you would put that information into the dataset. In supervised learning it's called labels.
I was assuming that the "general purpose computing" training dataset would be so unfathomably large that unsupervised learning would be a necessity.
Who is going to label the "general purpose computing" training dataset and how would it be persisted?
That's what i imagined to be easy to automate. We have tons of inputs* and real computers, that will output what real computers would output.
* and hopefully the knowledge to come up with a set of inputs that (together with an actual general purpose computer) contains the essence of what general purpose computing is.
That's my impression, yeah: the neural net would learn to associate input signals with output signals. If this could ever be made to work then it'd have some pretty neat implications for human prosthetics.
> How would such a magical neural net computer be trained?
You'd need some way to praise or scold the thing. Probably a debug line or something to encode pass v. fail.
> How would you program such a computer or load new software onto it? If the whole thing is a single neural net, wouldn't the neural net need to be replaced in order to add new functionality or correct errors/bugs?
I think you answered your own question: swap out the entire neural net (which would probably entail a hardware swap unless you're able to train a neural net to replace itself).
> How would user data be persisted while upgrading the applications?
Train the neural net to interface with a hard drive?
I wouldn't want the automatic braking system in my car using this... 8-/
https://memory-alpha.fandom.com/wiki/Bio-neural_circuitry
When you are working with I/O, you need to be very sensitive to time domain considerations. Training a periodic timer (i.e. polling for a response) into the current crop of transformer models does not seem feasible outside of clunky agentic approaches that invoke some external tool.
Just like humans our source some tasks to classical computers, this computer will have to outsource tasks to classical computers.
Software industry is again re-inventing the marketing to justify sitting and doing largely the same job