A Million Node Supercomputer
An anonymous reader writes "Veteran of microcomputing Steve Furber, in his role as ICL Professor of Computer Engineering in the School of Computer Science at the University of Manchester, has called upon some old friends for his latest project: a brain-simulating supercomputer based on more than a million ARM processors."
More detailed information can be found in the research paper.
FTFA: "To overcome this limitation, Furber - along with Andrew Brown, from the University of Southampton - suggests an innovative system architecture that takes its cues from nature. "The approach taken towards this goal is to develop a massively-parallel computer architecture based on Multi-Processor System-on-Chip technology capable of modelling a billion spiking neurons in biological real time, with biologically realistic levels of connectivity between the neurons," Furber explains in a white paper outlining the project."
Grammar nazis are to this community what excrements are to gold.
Shouldn't they be using BRAIN processors? /duck
OK, a mouse brain has about 1/1000 the mass of a human brain. So build a mouse brain with 1000 ARM CPUs, which ought to fit in one rack, and demonstrate the full range of mouse behavior, from vision to motor control.
I read the paper. It's a "build it and they will come" design. There's no insight into how to get intelligence out of the thing, just faith that if we hook enough nodes together, something will happen.
About 20 years ago, I went to hear Rodney Brooks (the artificial insect guy from MIT) talk about the next project after his reactive insects. He was talking about getting to human-level AI by building Cog, a robot head and hand that was supposed to "act human". I asked him why, since he'd already done insect-level AI, he didn't try mouse-level AI next, since that might be within reach. He said "Because I don't want to go down in history as the man who created the world's best artificial mouse".
Cog turned out to be a dead end. It was rather embarrassing to all concerned. As one grad student said, "It just sits there. That's all it does."
On the other hand, if you are simulation a brain, I suspect that you don't really need to have fast communication between any two nodes; localized subclusters should communicate quickly, with slower communication between clusters. This wouldn't work for *all* problems, but for the specific problem they mentioned it seems to be a workable solution.
Palm trees and 8
Well, since he's ICL professor of computer engineering I'd expect it to run George 3 or VME/B.
But, then again, maybe it'd run BBC Basic?
Watch this Heartland Institute video
This makes sense, how?
It's like trying to simulate a computer by wiring 5 million transistors. Without a deep understanding of how computers work and a plan for implementation, the result will be worthless.
I see this all the time in AI strategies. Without no deep understanding of AI, the project implements bad assumptions.
Some examples: no way to encode the adjacency information, a fixed internal encoding system which cannot change (ie - a chess program that can't learn checkers), linear input->process->output models, and so on.
Before building a system with a million processors capable of simulating the brain, how about we design an algorithm that embodies the simplest possible AI?
No, no, no! Given the intended purpose, the question is: Will it run me?
I am not a neuroscientist. As a grad student I do study artificial neural networks, which means that I must also have a little knowledge of neuroscience.
The brain is not a fully connected network. It is divided into many sub-networks. I think it's estimated at about 500k, but don't quote me on that number. These sub-networks are often layered, so if you have a three-layer feed-forward sub-network of 5 cells in each layer, each of these cells has only 5 inputs except for the 5 nodes in the input layer, which connects to other sub-networks. (If there are connections from later layers back to earlier layers, the network is said to be a 'feedback' rather than feed-forward network.) These sorts of networks can be simulated very efficiently on parallel hardware, as a cell mostly gets information from the cells that are close to it.
In short, your suspicion is entirely correct. Moreover, you not only don't need fast connections between many of your processing nodes, most of them don't need to be connected to each other at all.
This is the reason why neural networks are interesting in the first place: that they can be simulated on parallel hardware when we don't know a good parallel algorithm with conventional computing techniques. (If it interests you: another name for neural networks is 'parallel distributed computing'.)
There is a hard limit on the 'order' (think of it as function complexity) of functions that can be computed with a given network. To compute a function beyond that limit, you need to have a larger number of inputs to some cells, thereby increasing the order of the network but making it less parallel. Most everyday things are in fact of surprisingly low order. Fukushima's neucognitron can perform tasks like handwriting recognition with only highly local information.