42
$\begingroup$

The title is pretty self-explanatory. How powerful does a computer have to be before it has the hardware capability to simulate and emulate a human mind in real-time?

I'm leaving the question of the software needed for later, but feel free to address it if it's a vital part of the answer.

Criteria for judging an answer:

  • This should almost go without saying, but a system with such a capability should be able to pass the Turing test.
  • The capability must be at least real-time, i.e. it cannot take 5 months to simulate 10 seconds of brain activity.
  • The capability must be capable of continuous operation, i.e. it cannot be on for a minute and off for the rest of the year. Continuous operation need not be mandatory however.
  • The capability must be such that the 'brain' can react to new information, learn and communicate its results.
  • Ideally, I'd like a physically precise answer or range. I'm not sure what the appropriate metric is, so in the absence of better ideas, I'll say we go for petaflops. If you have a better metric, feel free to use it instead.
  • Bonus points: (Not mandatory, but nice to have) How soon can we get there, and what would be the electric bill? How small can we make it, in the limit? How fast can we make it, in the limit?

The motivation behind placing this in Worldbuilding is to have a canon reference answer on issues of computation related to the emulation-based paths towards the singularity, computronium, sim-humans and other related topics, in order to aid in constructing a realistic futuristic society. Needless to say, the question assumes that constructing such emulations is possible.

PS To avoid ontological confusion, further definitions:
Emulation is the process of mimicking the outwardly observable behavior to match an existing target. The internal state of the emulation mechanism does not have to accurately reflect the internal state of the target which it is emulating.
Simulation, on the other hand, involves modeling the underlying state of the target. The end result of a good simulation is that the simulation model will emulate the target which it is simulating.

$\endgroup$
  • 4
    $\begingroup$ Nice questions, hope you get insightful answers. Though I need to strongly object to the cause itself: "Thou shalt not make a machine in the likeness of the human mind" $\endgroup$ – Ghanima Feb 8 '15 at 19:43
  • $\begingroup$ Any voters are invited to and welcome to leave comments! Happy to refine the question if needed. $\endgroup$ – Serban Tanasa Feb 8 '15 at 20:05
  • 1
    $\begingroup$ Hmm, the use of "simulate the human brain" doesn't feel like it addresses the singularity really. A related question "provide true Artificial Intelligence" would be better. $\endgroup$ – Tim B Feb 8 '15 at 22:42
  • 4
    $\begingroup$ @SerbanTanasa My point is that "true" artificial intelligence will almost certainly not come from simulating a human brain. Simulating a human brain would be useful for all sorts of things, but it's unlikely to be an efficient way to create AI. $\endgroup$ – Tim B Feb 9 '15 at 9:52
  • 1
    $\begingroup$ Let's refer to a human intelligence as Natural Intelligence (NI) in contrast with Artificial Intelligence (AI). I understand this question to be asking the minimum requirements for a human-speed machine-hosted NI. $\endgroup$ – trichoplax Feb 10 '15 at 17:06
32
$\begingroup$

A comprehensive summary is on this Wikipedia page. enter image description here

If you already knew how the brain worked to produce intelligence, writing that program fairly directly would require $10^{15}$ FLOPS (Blue Gene/P circa 2007) and 100 Terabytes. Without understanding the emergent behavior, just simulating the neurons would take $10^{18}$ to $10^{19}$ FLOPS and 10,000 Terabytes of memory, expected to cost a million dollars in 2019.

From the chart, you can see how much computation would be needed to simulate the metabolism and let the neuron behavior itself emerge, etc.

The Blue Brain project is studying deep simulations of a small piece of brain neocortex, which is leading to the understanding to simulate the behavior of cortical columns and groups of nerve cells, which is 100 times more efficient than detailed simulations of the individual cells. That would put it between the two lines mentioned above, but use far less memory than the upper line.

That is, without understanding what behavior emerges from hooking up a thinking human cortex, hooking up software simulations of these "columns" (which are modular and have a lot of connections within the unit) will use 10 to 100 Petaflops, which has been in the range of supercomputers since 2012 (currenly 33.8 Petaflops, right in the middle of that range).

But, a working brain simulation might be special built to have the right blend of processing and local storage and connectivity, and thus be faster than the number-crunching supercomputing clusters.

My take on it: data acquisition and study is slower than the projected hardware Moore curve. Projects like Blue Brain will run their course, and followups on the design of cortical column simulations will take place on University lab equipment, with larger scale runs possible on University High Performance Computing or distributed computing resources. When a solid plan is ready, the hardware for a full-scale human brain implementation will cost less than a million dollars, but they'll start with smaller systems like mice, dogs, etc. If the hardware is custom, prototypes and small batches will provide hardware for the mice etc. If it can run on the general purpose high-performance computer (by then not ranked as a supercomputer) you know someone's going to try it long before it's ready.


Update: Computerphile video This is a spiking neural network project (ref blue line on graph with that name trends fastest supercomputer in 2019 or 2020) named SpiNNaker. On screen they showed a completed rack with 100,000 cores emulating 25 million neurons (at ¼ the efficiency—it will eventually run 1,000 neurons per core). The full project will be 1 billion neurons.

The one rack— working now— is the functional equivilent of a mouse brain. Now they can play with it to figure out more details of a workable mouse brain.

$\endgroup$
  • $\begingroup$ While a rack is functionally equivalent to a mouse brain, it can't do the things that a mouse can do. It can't find cheese, avoid cats, locate a suitable mate, keep its offspring alive. Why not? Because no one has programmed it to do so. No one has programmed a 'sniffer' to detect cheese and the direction from which it comes, no one has programmed it to stop moving and listen when there are cat noises, and whatever else it is that mice do. Sure you can have the processing power to emulate a human brain, but who is going to program the computer to think like one? $\endgroup$ – kingledion Oct 21 '16 at 1:13
  • $\begingroup$ I think existing natural brains will be scanned. $\endgroup$ – JDługosz Oct 21 '16 at 4:18
  • 3
    $\begingroup$ How do you convert a brain to binary? I would give an arm to see my brain's source files. I would certainly start by deleting the function compulsively_check_worldbuilding_for_comments() $\endgroup$ – kingledion Oct 21 '16 at 4:22
  • $\begingroup$ A scan tells you how to hook up the neural simulation. It doesn’t tell you how to write a functional simulation. $\endgroup$ – JDługosz Oct 21 '16 at 14:09
  • 3
    $\begingroup$ The state of which neurons are connected where and the potential settings are well in the classical regime and are not quantum. Consider that flipping spins (in a CT scanner) has zero effect on the brain’s functioning even though it messes up the quantum level. $\endgroup$ – JDługosz Oct 21 '16 at 14:41
22
$\begingroup$

Using modern technology, the challenge is not to produce hardware that can do the same thing as a human brain: the challenge is how to program the hardware to do so.

Consider the K supercomputer, built by Fujitsu. It has more memory and does more operations per second than the human brain. It can't, however, imitate one, not only because the architecture isn't set up to do so, but also because we don't know how to program a computer to act like a person.

It does, however, have the raw hardware capacity to behave in a human like. The K Supercomputer uses 9.9 million watts, and has roughly four brains worth of capacity. Assuming 2500 kilowatts of power, and an electricity price of fifteen cents per kWh, running our brain for an hour would cost $375/hour. Our supercomputers have gotten a bit better since we built the K, with the current most powerful supercomputer, the Tianhe-2, using the equivalent of 730 kilowatts of power per human brain of performance.

As to the cost of emulating vs simulating a brain, it depends on how good we get at doing each of those things, and how high of resolution we want in our simulation. Theoretically, performing the same operations the human brain does should require the same computing power as the human brain. If, however, we want to simulate the internal chemical reactions in each calcium channel, we'll need orders of magnitude more computing power.

$\endgroup$
  • $\begingroup$ Are you confident of that source? The petaflop count depicted in the graph for a human brain seems a bit low... $\endgroup$ – Serban Tanasa Feb 9 '15 at 0:11
  • $\begingroup$ Petaflop estimates for the human brain vary significantly based on source. Most estimates are between 2 and 50 petaflops, so my answer could be off by a factor of about 20. $\endgroup$ – ckersch Feb 9 '15 at 0:22
  • 1
    $\begingroup$ That 8Pflops supercomputer from 2011 is blown away by a new shinny 33.8 Pflops Chinese supercomputer (as of August 2014). 15 cents per kWh is high: I'm spending 6, plus distribution costs bringing it to near 11. Put the supercomputer next to the power plant to cut the ddistributioncosts and transmission losses. Put in Iceland, running from geothermal power and ambient cooling. $\endgroup$ – JDługosz Apr 11 '15 at 5:51
  • 8
    $\begingroup$ If anything, the flop count they gave for the human brain is comically high. FLOPs measure Floating point operations, a human brain capable of 2.2 exaflops as they claimed would be able to add up 2.2 quintillion 32 bit numbers every second. Which is clearly false. Brains may do 2.2 quintillion things per second, but those things certainly aren't flops. $\endgroup$ – Saidoro Apr 12 '15 at 19:02
  • 4
    $\begingroup$ The inability to program it is a point that seems glossed over a lot. If we knew how to do it, we could do it today, with technology available at Best Buy. It would just run really really slow until the hardware caught up. That is, if a brain requires X calculations per second to run "real time" and the hardware can only do X/10000, then the brain works, but at 1/10,000th of the speed it should, like trying to search a huge database on an 8086. It'll work, if you have the code to do it; it'll just be slow. What we have today isn't lack of speed, but lack of knowledge on how to build it at all. $\endgroup$ – JamieB Oct 11 '16 at 5:43
9
$\begingroup$

The biggest roadblock to using CPU for brain emulation is that it processes commands in sequence, while all neurons work in parallel. You'd need a mind-blowing number of CPU cores to even begin approaching the speed of human brain. Thus, CPU is not the way. We need a chip that can process a lot in parallel: FPGA.

With 4mln of logic cells, and roughly 10 cells to emulate a single neuron, a single FPGA board can emulate 400,000 neurons at a time, working simultaneously. with 86bln neurons in a human brain you'd need to interconnect about 215,000 FPGA chips to reach brain capacity.

23x23mm for the smallest form factor of the linked FPGA, say, 40x40mm to contain one on a PCB, that would be 344 m^2 of PCB; split it into 20x50cm. Take a typical rack of 42U; it would hold 40 boards of 0.5m x 0.5m plus their power supply and networking infrastructure, meaning 10m^2 of PCB. 35 such racks make a very modestly sized server room.

Let's add 20,000 USD for the new chip. $43mln for the chips alone, probably closer to 100mln USD for the complete project.

And this is only the hardware. Now comes the hard part: Connect the 86bln neurons in such a way as they are connected in human brain. THIS is why it hasn't been done yet.

$\endgroup$
  • $\begingroup$ Connecting: indeed, the fan-in is around 10000. Hooking up silicon neurons would give you orders of magnitude more connecting than nerve bodies. A more realistic approach is to virtualize a bunch of neurons in one processor and also use busses to route signals, and not running parallel synchronization. $\endgroup$ – JDługosz Apr 11 '15 at 5:44
  • $\begingroup$ A small nitpick - you'd probably use FPGAs for experimentation, but once you had a good design and you wanted to go big, you'd move your design to an ASIC which have fixed internal logic but can be mass produced for a much lower cost than FPGAs. $\endgroup$ – Scott Whitlock Feb 13 '16 at 22:45
  • $\begingroup$ @ScottWhitlock: Not necessarily: brain can form new connections akin to "rewiring" the FPGA on the fly. While signal strengths/neural paths would be in-software, changing the physical neuron map would necessitate "rewiring" the system, easy in FPGA, not so in ASIC. $\endgroup$ – SF. Feb 14 '16 at 4:52
  • 1
    $\begingroup$ @SF - true, but I had assumed the interconnections would be modeled in a separate interconnect layer. The FPGA/ASIC was just the neuron models. Admittedly it's been a long time since I looked at neural networks. $\endgroup$ – Scott Whitlock Feb 14 '16 at 14:50
  • $\begingroup$ @ScottWhitlock: With the number of interconnections in a brain, the sheer number of GPIO needed to isolate connections from neurons would make it impossible. True there would be connections over some network or some bus, between the chips, simulating neuron connections in between them (clustering into continuous 'tissue'), but that would be a relatively small number comparing to the grand total - surface vs volume. And it wouldn't really resemble the mathematical/CS "neural networks", being much closer approximation of "wetware" than the math abstraction. $\endgroup$ – SF. Feb 14 '16 at 18:56
2
$\begingroup$

I probably can't answer you qeustion, for one simple reason - we don't know enough about the brain to simulate it. We are still learning how it works - how can you simulate something if you don't know how it works?

I'll give it a shot though:

1) Every neuron could be stored as a bit (on/off), and the state of the synapses as a byte (on/off, resistance) So you need a computer with at least 410 GB of RAM, to store the state of every neuron and syanpse (200 GB for neurons, 200GB for synapses, 10GB for calculations to run the simulation)

2) You need a proccesor/s fast enough to work out how all of those neurons and synapses interact, and update them all - thousands of times a second. This is assuming there are rules and algorithims for how electricity flows through the brain.

3) You need even more proccessing power and RAM to handle output from the brain and sensory input to the brain (and some way of getting sensory input).

4) You need to map neurons firing into thoughts - that may be impossible, meaning you would have a simulated brain that couldn't learn or control its world in any way.

So, for a simplified brain at the neuron/synapse level, you'll need a computer with maybe 500GB of RAM (which should preferably be cache for real-time simulation) and a 2 THz proccessor.

This will allow you to simulate a mathematical represenation of the brain, updating 1 million times a second (well, a little slower, as buses arnen't instantaneous and I'm rounding and simplifying a lot.)

The problem is not the hardware or software needed for the simulation, it's getting data to and from the simulation in a way the simulation (and you) will be able to interpret.

$\endgroup$
  • $\begingroup$ I don't understand #4. $\endgroup$ – JDługosz Apr 11 '15 at 5:53
  • $\begingroup$ humans can communicate because we use our brains to control our bodies. If you just have a simulation of a brain on it's own., it has no way of communicating - it cannot control anything. All it can do is think. $\endgroup$ – Ryan Krage Apr 13 '15 at 10:42
  • 1
    $\begingroup$ @RyanKrage Are you any different? $\endgroup$ – KSmarts Apr 13 '15 at 20:24
  • $\begingroup$ Actually, 410 GB RAM isn't as much as it might sound like. 64-128 GB is a small amount of memory on many servers that do various kinds of RAM-intensive tasks. 256 GB is certainly not uncommon. Two of the latter working together would get you there with room to spare, and it's something we could do today, with hardware that is available more or less off the shelf (slightly expensive perhaps, but companies already buy this to do things that are much less complex than simulating a human brain). $\endgroup$ – a CVn Jan 15 '16 at 13:00
1
$\begingroup$

Bonus points: (Not mandatory, but nice to have) How soon can we get there, and what would be the electric bill? How small can we make it, in the limit? How fast can we make it, in the limit?

How soon can we get there?

First write your software (!). Then write a virus that takes over the whole internet. You would probably have enough computing power right there but it would soon be shut down.

What would be the electric bill?

Almost zero for you if you did the above. The world-wide bill would be exactly the same as it is now, but you wouldn't be paying it.

Moving on ...

How small can we make it?

Clearly, if we use biotechnology we can make it as small as the human brain. In fact, because we are designing it to be small, we could use nano-circuits and make it even smaller.

How fast can we make it?

Neurons are pretty inefficient when it comes to speed. By removing all the extra junk that came along with evolution, we could make it a lot faster than a natural brain.

$\endgroup$
  • 1
    $\begingroup$ In terms of sheer processing speed, electrical impulses are faster by a factor of @ 1,000,000 than the electrochemical processes in a brain, so an electronic brain should be able to "think" far faster than any biological brain, even with all the "extra junk" that evolution brings. Since we really don't understand how the brain works, it is a bit premature to suggest that there are things we can leave out and still have a functioning brain. $\endgroup$ – Thucydides Sep 5 '15 at 13:12
1
$\begingroup$

Human level intelligence isn't just a reflection of the processing power involved.

First off, evolution makes tons of mistakes and stupid choices in its design process that is not always corrected for and as a result we could really only need a small fraction of the power that our brains have.

Secondly, assuming we have the processing ability, we don't know the right algorithms to make a brain work. We're getting closer in various areas but that's the thing, different bits operate differently and requires each area to be programmed and then interlinked together in the proper way.

Thirdly, Assuming we have that you've not got a human intelligence/brain as you'd recognize it. You have a thing that can develop into one given the right circumstances. The right circumstances would require pretty sophisticated bio technologies or simulations that humans can interact with on a 1 to 1 basis.

Once you've done that you might have a human brain and be able to answer your question, but to find out is that you have to take the brain you've developed and then write one of those evolutionary programs that make an alteration and test it against a set of known outputs (in this case the data from the brain we made) and keep on running through, discarding the ones that match less.

then once you get the most optimal design you can then say how much processing it takes...

But according to some sites the internet has passed the point of matching 1 human brain a few years ago and by 2020 it's predicted that Supercomputers will be able to math the raw "flops" that are generally calculated to be the processing power of a human brain, but we don't know for real.

$\endgroup$
1
$\begingroup$

I'm surprised that no one has mentioned quantum computers. Due to the laws of superposition and the theroy of quantum entanglement a single quantum bit can be either a zero or a one, so in this it would allow you to compute every possible solution in tandem with multiple bytes, like this if a byte has eight bits each bit would allow you to have 256 possible solutions. If you had 50 qbits you could compute two to the fiftieth power number of solutions in tandem. This would allow you to create a complex simulation of the brain down to the subatomic level, provided you scale up the hardware accordingly. This would be ideal solution, but the problem is a quantum computer is a massive bulky machine that requires cryogenic cooling, and the slightest bit of motion can disrupt the quantum states and cause errors.So you could make it a stationary AI that could do advanced tasks by temporarily remote controlling other androids from far away.

$\endgroup$
-1
$\begingroup$

I think that as technology evolves, we will naturally converge towards "wetware" because it's way more energy efficient. By wetware, I mean biological chips. Our brain uses just a few watts of power. Even if we used a 1nm process, silicon will never be as energy efficient as proteins. I m not sure about this but I think DNA also has a tremendous data density. The TV show Battle Star Galactica kind of pointed at this in an interesting way. If an AI was smart enough to gain sentience and start to duplicate itself, it would do R&D and start building androids. With time it night naturally evolve towards "biological" robots.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.