Andrej Karpathy on X: "100% Software 2.0 computer.Just a single neural net
twitter.com
twitter.com
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?
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?
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.
I wouldn't want the automatic braking system in my car using this... 8-/
Software industry is again re-inventing the marketing to justify sitting and doing largely the same job
Just like humans our source some tasks to classical computers, this computer will have to outsource tasks to classical computers.