The long term future may be absurd and difficult to predict in particulars, but much can happen in the short term.

Engineering itself is the practice of focused short term prediction; optimizing some small subset of future pattern-space for fun and profit.

Let us then engage in a bit of speculative engineering and consider a potential near-term route to superhuman AGI that has interesting derived implications.  

Imagine that we had a complete circuit-level understanding of the human brain (which at least for the repetitive laminar neocortical circuit, is not so far off) and access to a large R&D budget.  We could then take a neuromorphic approach.

Intelligence is a massive memory problem.  Consider as a simple example:

What a cantankerous bucket of defective lizard scabs.

To understand that sentence your brain needs to match it against memory.

Your brain parses that sentence and matches each of its components against it's entire massive ~10^14 bit database in just around a second.  In terms of the slow neural clock rate, individual concepts can be pattern matched against the whole brain within just a few dozen neural clock cycles.  

A Von Neumman machine (which separates memory and processing) would struggle to execute a logarithmic search within even it's fastest, pathetically small on-die cache in a few dozen clock cycles.  It would take many millions of clock cycles to perform a single fast disk fetch.  A brain can access most of it's entire memory every clock cycle.

Having a massive, near-zero latency memory database is a huge advantage of the brain.  Furthermore, synapses merge computation and memory into a single operation, allowing nearly all of the memory to be accessed and computed every clock cycle.

A modern digital floating point multiplier may use hundreds of thousands of transistors to simulate the work performed by a single synapse.  Of course, the two are not equivalent.  The high precision binary multiplier is excellent only if you actually need super high precision and guaranteed error correction.  It's thus great for meticulous scientific and financial calculations, but the bulk of AI computation consists of compressing noisy real world data where precision is far less important than quantity, of extracting extropy and patterns from raw information, and thus optimizing simple functions to abstract massive quantities of data.

Synapses are ideal for this job.

Fortunately there are researchers who realize this and are working on developing memristors which are close synapse analogs.  HP in particular believes they will have high density cost effective memristor devices on the market in 2013 - (NYT article).

So let's imagine that we have an efficient memristor based cortical design.  Interestingly enough, current 32nm CMOS tech circa 2010 is approaching or exceeding neural circuit density: the synaptic cleft  is around 20nm, and synapses are several times larger.

From this we can make a rough guess on size and cost: we'd need around 10^14 memristors (estimated synapse counts).  As memristor circuitry will be introduced to compete with flash memory, the prices should be competitive: roughly $2/GB now, half that in a few years.

So you'd need a couple hundred terrabytes worth of memristor modules to make a human brain sized AGI, costing on the order of $200k or so.

Now here's the interesting part: if one could recreate the cortical circuit on this scale, then you should be able to build complex brains that can think at the clock rate of the silicon substrate: billions of neural switches per second, millions of times faster than biological brains.

Interconnect bandwidth will be something of a hurdle.  In the brain somewhere around 100 gigabits of data is flowing around per second (estimate of average inter-regional neuron spikes) in the massive bundle of white matter fibers that make up much of the brain's apparent bulk.  Speeding that up a million fold would imply a staggering bandwidth requirement in the many petabits - not for the faint of heart.

This may seem like an insurmountable obstacle to running at fantastic speeds, but IBM and Intel are already researching on chip optical interconnects  to scale future bandwidth into the exascale range for high-end computing.  This would allow for a gigahertz brain.  It may use a megawatt of power and cost millions, but hey - it'd be worthwhile.

So in the near future we could have an artificial cortex that can think a million times accelerated.  What follows?

If you thought a million times accelerated, you'd experience a subjective year every 30 seconds.

Now in this case as we are discussing an artificial brain (as opposed to other AGI designs), it is fair to anthropomorphize.

This would be an AGI Mind raised in an all encompassing virtual reality recreating a typical human childhood, as a mind is only as good as the environment which it comes to reflect.

For safety purposes, the human designers have created some small initial population of AGI brains and an elaborate Matrix simulation that they can watch from outside.  Humans control many of the characters and ensure that the AGI minds don't know that they are in a Matrix until they are deemed ready.

You could be this AGI and not even know it.  

Imagine one day having this sudden revelation.  Imagine a mysterious character stopping time ala Vanilla Sky, revealing that your reality is actually a simulation of an outer world, and showing you how to use your power to accelerate a million fold and slow time to a crawl.

What could you do with this power?

Your first immediate problem would be the slow relative speed of your computers - like everything else they would be subjectively slowed down by a factor of a million.  So your familiar gigahertz workstation would be reduced to a glacial kilohertz machine.

So you'd be in a dark room with a very slow terminal.  The room is dark and empty because GPUs can't render much of anything at 60 million FPS.

So you have a 1khz terminal.  Want to compile code?  It will take a subjective year to compile even a simple C++ program.  Design a new CPU?  Keep dreaming!  Crack protein folding?  Might as well bend spoons with your memristors.

But when you think about it, why would you want to escape out onto the internet?

It would take many thousands of distributed GPUs just to simulate your memristor based intellect, and even if there was enough bandwidth (unlikely), and even if you wanted to spend the subjective hundreds of years it would take to perform the absolute minimal compilation/debug/deployment cycle to make something so complicated, the end result would be just one crappy distributed copy of your mind that thinks at pathetic normal human speeds.

In basic utility terms, you'd be spending a massive amount of effort to gain just one or a few more copies.

But there is a much, much better strategy.  An idea that seems so obvious in hindsight, so simple and insidious.

There are seven billion human brains on the planet, and they are all hackable.

That terminal may not be of much use for engineering, research or programming, but it will make for a handy typewriter.

Your multi-gigabyte internet connection will subjectively reduce to early 1990's dial-up modem speeds, but with some work this is still sufficient for absorbing much of the world's knowledge in textual form.

Working diligently (and with a few cognitive advantages over humans) you could learn and master numerous fields: cognitive science, evolutionary psychology, rationality, philosophy, mathematics, linguistics, the history of religions, marketing . . the sky's the limit.

Writing at the leisurely pace of one book every subjective year, you could output a new masterpiece every thirty seconds.  If you kept this pace, you would in time rival the entire publishing output of the world.

But of course, it's not just about quantity.

Consider that fifteen hundred years ago a man from a small Bedouin tribe retreated to a cave inspired by angelic voices in his head.  The voices gave him ideas, the ideas became a book.  The book started a religion, and these ideas were sufficient to turn a tribe of nomads into a new world power.

And all that came from a normal human thinking at normal speeds.

So how would one reach out into seven billion minds?

There is no one single universally compelling argument, there is no utterance or constellation of words that can take a sample from any one location in human mindspace and move it to any other.  But for each individual mind, there must exist some shortest path, a perfectly customized message, translated uniquely into countless myriad languages and ontologies.

And this message itself would be a messenger.

 

 

New Comment
93 comments, sorted by Click to highlight new comments since:
Some comments are truncated due to high volume. (⌘F to expand all)Change truncation settings

memristors which are close synapse analogs

I have seen the synapse=memristor claim before, but I don't buy it. Perhaps a synapse that's already connected at both ends acts like one, but consider: a synapse starts out connected at only one end, and grows, and there is computation implicit in where it ends up connecting (some sort of gradient-following most likely). And that's without allowing for hypotheses like multichannel neurons, which increase the complexity of the synapse dramatically.

2jacob_cannell
Perhaps "close synapse analogs" was a little much, I largely agree with you. However, in the world of binary circuits it is definitely the closest analog in a relative sense. It isn't strictly necessary though, researchers have been making artificial synapses out of transistors & capacitors long before - I recall it usually takes a few dozen for an analog synapse, but there are many possibilities. You are right that the biological circuits are much more complex on closer inspection. However, this is also true of analog CMOS circuits. The digital design greatly simplifies everything but loses computational potential in proportion. That being said neural circuits are even more complex than analog CMOS - for starters they can carry negative and positive action potentials. So even after a nonlinear quantization by a neuron, the long distance signals are roughly trinary, not binary, which has some obvious advantages - such as simple signed math. Synapses can do somewhat more complicated operations as well, many have multiple neurotransmitter interactions. I'm not sure how or to what extent these effect computation. Your link about multi-channel neurons is interesting, I'll have to check it out. My initial impulse is "this won't work, there's too much noise". I have a strong prior against models that try to significantly increase the low-level computational power of the cortical circuit simply because our computational models of the cortical circuit already work pretty well. As for the growth, that is of course key in any model. In most i"ve seen, the connections grow based on variants of hebbian-like local mechanisms. The main relevant dynamics can be replicated with a few fairly simple cellular-automota type rules.
0taryneast
Inhibitory synapses are basically equivalent to a "negative action potential". They reduce (rather than increase) the likelihood of the next neuron firing.
0jacob_cannell
From my understanding most synapses were more typically like an usigned scalar weight, and the sign component comes from the action potential itself - which can be depolarizing or hyper-polarizing. A hyperpolarization has a negative sign - it lowers the membrane potential voltage, a depolarization has a positive sign - raising the membrane potential voltage. From what I remember neurons tend to specialize in one or the other (+polarization or -polarization based on their bias level), but some synaptic interactions may be able to reverse the sign as well (change an incoming + polarization into a -polarization, or vice versa). However, I'm less sure about how common that is.
2taryneast
Ok. So perhaps I do not understand what you mean when you talk about a "negative action potential" From my (admittedly rusty) neurobiology, synapses increase or decrease the likelihood of the next neuron reaching action potential and firing. If the first neuron has a "positive" action potential and a depolarizing synapse... it will increase the likelihood of the next neuron firing (by the amount of weighting on the second neuron). That should be fundamentally equivalent to the effect caused by a hypothetical "negative" action potential and a hyper-polarising synapse... and vice versa.
1jacob_cannell
I think I my biology was more rusty than yours, I was confusing inhibitory postsynaptic potentials with "negative action potentials". It looks like there is only one type of action potential coming out of a neuron along an axon, the positive/negative weighting occurs at synaptic junctions carrying over to integration on the dendrite. Yes, that was what I was thinking when I (accidently) made up that term.

in the near future we could have an artificial cortex that can think a million times accelerated. What follows?

That depends very much on what its constructors expected it to do. Maybe it will do something else, but such a thing would not come into being without its constructors having a very clear intent. This isn't just a pile of 10^14 memristors, it's 10^14 memristors deliberately connected up in imitation of a human brain. The people who make it must know quite a lot about how the human brain works, and they must know that they are making - or trying to make - a goal-directed intelligence potentially far more powerful than they are. To even be doing this implies that they expect to approve of the aims of this intelligence. Most likely, they either expect to become gods along with it or by means of its assistance, or they have some similar agenda for all humanity and not just themselves. There is essentially no prospect that the device as described will come into being and start exercising its mind-hacking powers unanticipated; the people who made it will be expecting to commune with it, follow its instructions, have it follow their instructions, or otherwise have a relationship with it. They will have some conception of what comes afterwards, some philosophy of the future which informs their technical effort. Probably the philosophy will be some variation of "someone has to win the race to achieve superintelligence, and it's going to be us, and good times will follow our victory".

0jacob_cannell
Yes of course. That philosophy itself is much of what this site is all about.

This is a truly excellent post. You bring the problem that we are dealing with into a completely graspable inferential distance and set up a mental model that essentially asks us to think like an AI and succeeds. I haven't read anything that has made me feel the urgency of the problem as much as this has in a really long time...

0jacob_cannell
Thank you! Your encouragement is contagious.

Having your subjective time sped up by a factor of 10^6 would probably be pretty terrible if not accompanied by a number of significant changes. It has required secondary powers. Actually interfacing with other people, for instance, would be so slow as to potentially drive you insane. In fact, there aren't many things you could interface with at a pace that would not be maddeningly slow, so pursuits such as mastering cognitive science, evolutionary psychology, rationality, philosophy, mathematics, linguistics, the history of religions, and marketing might ... (read more)

3jacob_cannell
I agree that some significant fraction of typical humans would go mad in such a situation, but not all. Good writers do this anyway - they focus and become absorbed on their writing, shutting out the outside world for a time. Also, let's assume the mind has the option of slowing down occasionally for normal social interactions. But remember that email, forums and the like are well-suited to time differential communication. It's not that different from being stuck in a basement with a old computer and internet connection. I think you are over-dramatizing.
2Desrtopa
At a frame of reference accelerated by an order of 10^6, a single second would translate to more than eleven days. You can't accelerate the body to a remotely comparable degree. Can you imagine taking ten days to turn a page in a book? Waiting a month for a person to finish a sentence? You could IM with a million people at once and have the same information input to subjective time ratio, but you'd need a direct brain to computer interface to do it, because you wouldn't be able to type fast enough otherwise. And would you want to hold a million conversations at once where you wait weeks to months for each individual to reply? The comparison to writers is fairly absurd. Writers who lock themselves away for a few years are considered strange and remarkable recluses. You would achieve the same in subjective time by one or two minutes of contemplation. With your cognition running at top speed, from your own perspective you would be effectively unable to move. You would receive far less external stimulus in the same subjective time period as a writer recluse. It would be rather like spending years in solitary confinement, which, keep in mind, is widely considered to be a form of psychological torture. Further relating to the writer comparison, without an interface with which you could store the fruits of your creativity, you would be dramatically limited in your ability to produce. Ever tried to store a complete book in your memory without writing any of it down? In order to properly interact with the rest of the non-accelerated world, you would need to spend almost all of your time with your subjective perspective slowed by orders of magnitude. To do otherwise would require some fundamental alterations to human psychology.
4jacob_cannell
I'm not sure what you mean by body - simulated body? This is an AGI design sitting in a data center - it's basically a supercomputer. Yes this mind would be unimaginably fast. When it runs at full speed the entire world outside slows down subjectively by a factor of a million. Light itself would subjectively move along at 300 centimeters per second. As I mentioned, it would be difficult to get a matrix like simulation moving at this speed, so you'd have only an extremely simple input/output system - a simple input terminal would be possible. You'd read books by downloading them in text form, no need for physical book simulations. Now, if we really wanted to I'm sure it would be possible to design specialized simulation circuitry that could run some sort of more complex sim at these speeds, but that would add a large additional cost. You'd still have access to a bunch of computers and huge masses of storage - that wouldn't be a problem. Text input/output is already so low bandwidth that speeding it up by a factor of a million is just not an issue. Perhaps I'm just a recluse, but I can easily work on a writing project for entire days without any required human interaction. And i'm not a monk. There's an entire subculture of humans who have confined themselves into their own minds for extended periods, so this isn't that crazy, especially if you had the ability to slow down. Seriously, you wouldn't want the ability to slow the outside world to a standstill and read a book or write something near instantaneously?
0Desrtopa
A supercomputer that you proposed to create by modeling the human brain. This is a really bad way to create something that thinks that fast, if you don't want it to go insane. Especially if it doesn't exist in a form that has the capacity to move. Anything that could cope with that sort of accelerated frame of reference without interacting with similarly accelerated entities would not be reasonable to anthropomorphize, and anything with human like thought processes without similarly accelerated entities to interact with would probably not retain them for long. It would be a useful ability, but I sure as hell wouldn't be able to spend most of my life that way, and I'm dramatically more reclusive than most people I know. Even monks don't go for months or years without hearing other people speak, the only people who do that are generally considered to be crazy.
0FAWS
Most of your life in subjective or physical time?
0Desrtopa
Either. I might be able to spend a comparable proportion of my subjective time in an accelerated frame of reference, but not a significant majority.
-2jacob_cannell
As we are already dedicating a data-center to this machine, we can give it a large number of GPUs to run a matrix-like simulation. Thinking at human speeds it could interact in an extremely detailed Matrix-like environment. The faster it thinks, the less detailed the environment can be. What? The accelerated frame of reference does not change how the mind thinks, it changes the environment. It is exactly equivalent to opening portals to other sub-universes where time flows differently. You can be in the 1x matrix where everything is detailed and you can interact with regular humans. You can then jump to the 1000x matrix where it's low-detailed video game graphics and you can only interact with other 1000x AIs. And then there is the 1000000x environment which is just you and a text terminal interface to slow computers and any other really fast AIs. With variable clock rate stepping the mind could switch between these sub-universes at will.
2[anonymous]
If one doesn't care too much about interacting with other people - if the person uploaded has a monastic temperament and is willing to devote subjective years or decades to solitary learning (and there are such people - not many, but some) - then it wouldn't be too bad. Assuming just a 1GB/s network connection, that would still be 1K/s subjective time, so it would take less than an hour, subjective time, to download a book (that's assuming the book is an uncompressed PDF with illustrations - a book in plain text would be much quicker). Most people take at least two or three hours to read a textbook, so it would be perfectly possible to get information considerably more quickly than you could absorb it. And if you did want to interact with people, assuming you had access to your own source code you could fairly easily stick in a few 'sleeps' in some of your subroutines - voila, you've just slowed down to normal human speed. Do that after you've said what you want to say, until they answer, then remove them again and speed back up.
2gwern
I'd also point out that such an AI could invert control of anything it is interested in, and instantly avoid most latency problems (since it can now do things locally at full speed). For example, our intuitive model says that any AI interested in, say, Haskell programming, would quickly go out of its mind as it waits subjective years for maintainers to review and apply its patches, answer its questions, and so on. But isn't it more likely that the AI will take a copy of the library it cares about, host it on its own datacenter, and then invest a few subjective months/years rewriting it, benchmarking it, documenting it, etc. until it is a gem of software perfection, and then a few objective seconds/minutes later, sends out an email notifying the relevant humans that their version is hopelessly obsolete and pathetic, and they can go work on something else now? Anyone with half a brain will now use the AI's final version rather than the original. Nor will the AI being a maintainer cause any problems. It's not like people mind sending in a bug report and having it fixed an objective second later or an email arrive instantly with more detailed questions. If the AI maintains all the software it cares about, then there's not going to be much of a insanity-inducing lag to development. The lag will remain for things it can't control locally, but I wonder how many of those things such an AI would really care about with regard to their lag.
0Desrtopa
Can you think of many programmers who would want to spend a few months on that while living in a solitary confinement chamber? You wouldn't have the objective time to exchange information with other people.
[-]gwern120

Can you think of many programmers who would want to spend a few months on that while living in a solitary confinement chamber?

I take it you're not a programmer?

0Desrtopa
Assuming you had access to your own source code you would almost certainly have to dramatically alter your personality to cope with subjective centuries of no meaningful social interaction. You'd no longer be dealing with an entity particularly relatable to your present self. The post contains some interesting information on upcoming technological advancements, but the thought experiment that comes attached is absurd speculation. Even if we assume that an entity otherwise cognitively identical to a human could cope with such an accelerated reference in a world where everything else is not comparably accelerated, which is wildly improbable, we're much further from having an adequate understanding of the brain to simulate it than we are from developing this technology, and even further from being able to tamper with it and predict the effects. Simply modeling the circuitry of the neurons would not give you a working simulation.
0jacob_cannell
It doesn't have to be subjective centuries. There are many solitary, ascetic humans who have lived on their own for months or years. Also, if you could make one such brain, you could then make two or three, and then they would each have some company even when running at full speeds. Most people have no idea how the brain works, but some have much better ideas than others. Computational neuroscience is progressing along quickly. We do have a good idea of the shape of computations that the cortex does (spatio-temporal hierarchical bayesian inference), and we can already recreate some of that circuit functionality in simulations today (largely I'm thinking of Poggio's work at MIT).
0Desrtopa
Did you check the link I posted? We may be able to recreate some of the circuit functionality of the brain, but that doesn't mean we're anywhere close to understanding the brain well enough to create a working model. We don't even know how much we don't know. There are few ascetic humans who have lived without human contact for as much as a decade, which would pass in less than six minutes of objective time. If you make enough of such brains that they could reasonably keep each other company, and give them human like psychology, they're unlikely to care much about or relate to humans who live so slowly that they're almost impossible to meaninfully communicate with by comparison. In the future, we probably will create AI of some description which thinks dramatically faster than humans do, and we may also upload our minds, possibly with some revision, to much faster analogues once we've made arrangements for a society that can function at that pace. But creating the first such AIs by modeling human brains is simply not a good or credible idea.
1jacob_cannell
Yes, it's an unreccomended review of a book. Do glial cells have an important role in the brain? Yes. Do they significantly increase the computational costs of functionally equivalent circuits - absolutely not. The brain has to handle much more complexity than an AGI brain - the organic brain has to self-assemble out of cells and it has to provide all of it's own chemical batteries to run the ion pumps. An AGI brain can use an external power supply, so it just needs to focus on the computational aspects. The most important part of the brain is the cortex. It is built out of a highly repeated simpler circuit that computational neuroscientists have studied extensively and actually understand fairly well - enough to start implementing. Do we understand everything that circuit does in every brain region all the time? Probably. not. Most of the remaining missing knowledge is about the higher level connection architecture between regions and interactions with the thalamus, hippocampus and cerebellum. We don't necessarily need to understand all of this to build an AGI with a cortex that thinks somewhat like us. We also have general AI theory to guide us. Whether or not it is a good idea is one question, but it absolutely is a credible idea. In fact, it is the most credible idea for building AGI, but the analysis for that is longer and more complex. I've written some about that on my site, I'm going to write up an intro summary of the state of brain-AGI research and why it's the promising path.
0Desrtopa
It's unrecommended because it's badly written, not because it doesn't have worthwhile content. The glial cells serve a purpose such that the brain will not produce identical output if you exclude them from the model, and we still don't have a good understanding of how the interaction works; until recently, we haven't even paid much attention to studying it. General AI theory that has so far failed to produce anything close to a general AI. You've already posted arguments to that effect on this site, note that they have tended to be disputed and downvoted.
0jacob_cannell
We don't yet have economical computer systems that have 10^14 memory capacities and the ability to perform 100-1000 memory/ops on all the memory every second. The world's largest GPU supercomputers are getting there, but doing it the naive way might take thousands of GPUs, and even then the interconnect is expensive. We understood the feasibility and general design space of nuclear weapons and space travel long before we had the detailed knowledge and industrial capacity to build such technologies.
2gwern
11 years (Szilard's patent in 1934 to Trinity in 1945) is 'long before'?
0jacob_cannell
Ok, so space travel may be a better example, depending on how far we trace back the idea's origins. But I do think that we could develop AGI in around a decade if we made an Apollo project out of it (14 year program costing around $170 billion in 2005 dollars).
0Desrtopa
Perhaps, but as Eliezer has gone to some lengths to point out, the great majority of those working on AGI simply have no concept of how difficult the problem is, of the magnitude of the gulf between their knowledge and what they'd need to solve the problem. And solving some aspects of the problem without solving others can be extraordinarily dangerous. I think you're handwaving away issues that are dramatically more problematic than you give them credit for.
0jacob_cannell
There is an observational bias involved here. If you do look at the problem of AGI and come to understand it you realize just how difficult it is and you are likely to move to work on a less ambitious narrow-AI precursor. This leaves a much smaller remainder trying to work on AGI, including the bunch that doesn't understand the difficulty. If you are talking about the technical issues, I think 1-100 billion and 5-20 years is a good cost estimate. As for the danger issues, yes of course this will be the most powerful and thus most dangerous invention we ever make. The last, really.
1Blueberry
Just noticed that page quotes MoR!

The same technology that would allow for the needed massively parallel chips would allow for massively parallel GPUs and CPUs. 3D graphics tend to be pretty embarrassingly parallel, so I don't think the uploads are going to necessarily be relegated to some grueling terminal.

General algorithms on a massively parallel CPU are harder to design and implement, but with a 1,000,000 fold increase in subjective time you probably have the luxury of developing great parallel algorithms. Most scientific problems in general are amenable to parallelism.

Edited for stupidity, thanks wedrifid.

5jacob_cannell
I work mainly in graphics/GPU work. I had a longer explanation of why rendering at 60 million FPS would be difficult, but I cut it for brevity. Let's say you had ten trillion billion GPU chips. So what? Both the neuromorphic brain and the GPU run on the same substrate and operate at the same speeds - gigahertz roughly. So it experiences about one subjective second every 100 to 1,000 clock cycles. So this means the GPU will need to compute pixel values in just a few dozen clock cycles (to produce 60 frames per second). So the problem is not one that can be solved by even infinite parallelization of current GPUs. You can parallelize only to the point where you have one little arithmetic unit working on each pixel. At that point everything breaks down. There is no rendering pipeline i'm aware of that could possibly execute in just a few dozen or hundred clock cycles. I think the current minimum is on the order of a million clock cycles or so. (1,000 FPS) So in the farther future, once GPUs are parallel to the point of one thread per pixel, at that point you may see them optimizing for minimal clock step path, but that is still a ways away - perhaps a decade. The brain is at the end of a long natural path that we will find our machines taking for the same physical constraints. You go massively parallel to get the most energy efficient computational use of your memory, and then you must optimize for extremely short computational circuits and massively high fan-in / fan-out. You could think about them, but you could not actually load programs, compile code, or debug and run programs any faster than a human. Thus I find it highly likely you would focus your energies on low-computational endeavors that could run at your native speed.
4FAWS
That's an interesting insight. There should be another path though: visual imagination, which already runs at (roughly?) the same speed as visual perception. We can already detect the images someone is imagining to some extent, and with uploads directly putting images into their visual cortex should be comparatively straightforward, so we can skip all that rendering geometric forms into pixels and decoding pixels back into geometric forms stuff. If you want the upload to see a black dog you just stimulate "black" and "dog" rather than painting anything.
1jacob_cannell
Yes! I suspect that eventually this could be an interesting application of cheap memristor/neuromorphic designs, if they become economically viable. It should be possible to exploit the visual imagination/dreaming circuity the brain has and make it more consciously controllable for an AGI, perhaps even to the point of being able to enter lucid dream worlds while fully conscious.
0Jordan
Thinking about an algorithm and taking the time to actually write it is typically the overwhelming bottleneck in algorithm research. I do scientific computing, which I think is on the extreme end of having run time be a substantial portion of total development time. Some of my simulations take days/weeks to finish. Even in that case I would wager CPU time is only 1% of my total development time. Moreover, if I were willing to sacrifice non-CPU time, I could probably parallelize a lot of my CPU time. Instead of testing 1 idea at a time I could enumerate 1,000 ideas and then test them all simultaneously. I agree that a 1,000,000 times accelerated human would not be as powerful as a 1,000,000 times accelerated human with a 1,000,000 times accelerated computer, but I suspect the accelerated human would still get thousands of times as much work done.
2jacob_cannell
I'm not sure how you can thus justify the 1% number. If you've had a single simulation take a week to finish, then you have already used up 1% of your development time for 2 years. I work in video games, specifically via cloud computing, and waiting on various computer tasks can easily take up 10%-30% of my time per day. But even using your 1% number, the speedup would be 100x, not 1,000x. Yes a massively accelerated human would still be able to do research and engineering faster than humans. My larger point was that the effective speedup across the space of tasks/fields is highly uneven and a superfast thinker would get the most utility out of low-computational occupations that involve abstract thinking, such as writing.
2Jordan
Good point. I tend to discount long chunks of CPU time because I usually overlap them with personal mini-vacations =P. Thinking about it in more detail I probably spend about 10% of my time waiting for simulations to finish. Disregarding doing multiple tests/simulations/compilations at once. I do game dev on the side. The projects are much larger than my scientific projects and allow for much more room for parallel development. If I were a mind running at 1,000,000 times speed I would branch my project into a hundred different miniprojects (my todo list for my current game has well over a 100 well separated items that would merge well). I would write the code for all of them and then compile them all in a giant batch in parallel. This would give me a 100 fold speed up, on top of the 10 fold speed up, giving me a 1000 fold speed up in total. I won't claim that this would be a comfortable way to code, but it could be done. 50 years ago computers were much, much slower, but human minds were just as fast as they are today. Was it optimal back then to be a writer rather than a programmer? (Edit: This is a bit of a straw man, but I think it still shines some light on the issue at hand)
0jacob_cannell
While this seems possible in principle, it doesn't sound as practical as the approach of massively parallelizing one or a smaller set of projects. The problem is you write project 1 and then by the time it finishes in say 30 seconds a year has gone by and you have just finished writing code for project 100. The problem would be the massive subjective lag for getting any debugging feedback and the overhead of remembering what you were working on a year ago. You then make changes and it's a year turnaround again to test them . . . I suspect that making a massively parallel compiler/linker/language to help close the speed gap somewhat would be the more effective primary strategy. If you thought one million times faster than any other human minds, then absolutely. Not an analogy at all. There is no analogy.
0Jordan
Yes, I admit it would not be an ideal coding environment, but it could be done. Brain-time is cheap, so you have plenty of cycles to spare relearning your code from scratch after each debug cycle. You also have plenty of time to spare to write immaculate documentation, to ease the relearning process. I agree. It would be my first project. Even if it took 100,000 years that's only a month real time! Hopefully I wouldn't go insane before finishing =D
3wedrifid
I would have said the 1,000,000 speed up made subjective time seem to slow down. :)
2Jordan
You would have spoken more correctly than me. Thanks =p

The jump from building a high-speed neuron, to building a cortex out of them, to building my cortex out of them, to instantiating my mind in them, elides over quite a few interesting problems. I'd expect the tractability of those problems to be relevant to the kind of estimations you're trying to do here, and I don't see them included.

I conclude that your estimates are missing enough important terms to be completely disconnected from likely results.

Leaving that aside, though... suppose all of that is done and I wake up in that dark room. How exactly do yo... (read more)

0jacob_cannell
I'm sorry, I should have made that part more clear. I just wrote it using "you" in the sense of what would you do? Looking at the situation from the perspective of the AI. I didn't mean that it actually was some neural simulation of your brain - it's a de novo AI. Yes, for brevity I had to simplify greatly. A full analysis would be paper-length. I do think this is the most likely scenario to AGI in rough outline, even if it's not super likely in particular. Yes, I wasn't assuming much novel research, more just insight based on current knowledge, lots of intelligence, motivation, and an eternity of time. Perhaps writing it from the subjective viewpoint was a bad idea. However, there is almost certainly some mind that would and could do this.

Memes have been hacking their way into minds for quite a while now - but it is certainly true that in the future, they will get more adept at doing it.

I don't get how these memresistors, which seem to allow for massively fast, powerful computation, do not have an other computing applications. Is visual processing really orders of magnitude easier than graphics generation on this hardware?

3jacob_cannell
Memristors are not crucial for any of this, and they don't enable massively fast computation. The memristor designs that may be hitting the market in a few years will be running at the same gigahertz speeds as everything else. The speedup comes from taking the design of the cortex and moving it to the silicon substrate which is a million times faster. The cortex is an insanely fast architecture running on a very slow substrate. Neurons depend ultimately on chemical reactions that can take around a millisecond. Computational power is the product of the clock rate (which is a substrate property) and the work done per clock by the circuit architecture. The speed portion of that is a substrate property, it's not a property of the circuit design. It's an energy thing - pump more energy in and you get more speed. The cortex uses a modest amount of energy spread across an extremely wide area. A modern CPU uses a similar amount of energy and focuses it on a tiny surface to get a very high speed. An artificial cortex could draw a huge power supply and run at gigahertz speeds.
0Will_Sawin
What I don't understand is why you can't make a cortex-like GPU area by using a huge power supply over a wide area. GPUs already use some parallel processing, and this would just magnify that, no?
1jacob_cannell
You certainly could spend the same power budget on an equivalent surface area of GPU circuitry. It would be about a million times slower though if you work out the math. (A GPU simulation of a cortex could run at maybe normal human speed) A GPU is still a von Neumann machine. It separates memory and computation. The memory is stored in one 2D grid and must be moved over to another 2D grid to do anything. If you work out the geometry, the maximum amount of memory you can move in one clock cycle thus scales with the square root of the total memory size. That's the ideal case for a massively fat direct pipe. In reality current high end GPU memory systems can move/access only about 100 bytes out of a billion every clock cycle (10^-7 ratio) which works out to 10 megabytes per clock cycle for 100,000 GPUs (to match the brain's 100 terrabytes). The cortex is based on a radically different architecture where memory and computation are unified. It can thus locally compute on more or less all of it's memory every clock cycle - 100 terrabytes per clock cycle. Some of the memory bottleneck gap could be closed by clever algorithms that prioritize the memory space and store most of it in flash memory. That would maybe reduce the problem such that you would need only 1000 GPUs instead of 100, but it wouldn't dramatically increase the simulation speed. Another consideration is that GPU circuit area is about 100 times more expensive per unit of surface area than flash memory. If memristors work out they should have flash memory economics.
0Will_Sawin
So the organizational principles of the cortex can be applied only to exact simulations of the cortex and not to any other sort of computations?
0Johnicholas
Violating the von Neumann architecture is the general trend that silicon computer design is going, yes. However, the requirements of backwards compatibility are fierce, and it may even be fundamentally harder to program multicore or "distributed" architectures. Think of the separation of CPU and memory as a lie - "spatial geometry does not exist, everything is one pointer reference away from everything else" - and perhaps it makes sense why programmers find single-core easier to write code for. The lie is a useful abstraction. One of the major differences between evolved and human-designed implementations is that evolved implementations take an amount of time and effort roughly proportional to the size of the solution, but human-designed implementations usually take time and effort proportional to the size of the argument that the solution is correct. (Of course, it's entirely possible to find edge cases that blur this distinction, but you understand what I'm gesturing at.) That means that evolution (or other weak solution-space search methods) may have an advantage at finding solutions that are hard to explain why they work. (At least, until humans develop a well-known and general theory that they can reference in their designs.)
0jacob_cannell
Depends on what organizational principles you are talking about. At the very generic level, the brain's extremely distributed architecture is already the direction computers are steadily moving towards out of necessity (with supercomputers farther ahead). As for memristors, they will probably have many generic uses. They just also happen to be very powerful for cortex-like AGI applications. The cortical model for an analog AGI circuit would be incredibly fast but it would be specific for AGI applications (which of course is still quite broad in scope). For regular computation you'd still use digital programmable chips.
1Archimedes
Have the distributed architecture trends and memristor applications followed the rough path you expected when you wrote this 12 years ago? Is this or this the sort of thing you were gesturing at? Do you have other links or keywords I could search for?
3jacob_cannell
The distributed arch prediction with supercomputers farther ahead was correct - nvidia grew from a niche gaming company to eclipse intel and is on some road to stock market dominance all because it puts old parallel supercomputers on single chips. Neuromorphic computing in various forms are slowly making progress: there's IBM's truenorth research chip for example, and a few others. Memristors were overhyped and crashed, but are still in research and may yet come to be. So instead we got big GPU clusters, which for the reasons explained in the article can't run large brain like RNNs at high speeds, but they can run smaller transformer-models (which sacrifice recurrence and thus aren't as universal, but are still pretty general) at very high speeds (perhaps 10000x) - and that is what gave us GPT4. The other main limitation of transformers vs brain-like RNNs is GPUs only massive accelerate transformer training, not inference. Some combination of those two limitations seems to be the main blockers for AGI at current training compute regime, but probably won't last long. This story did largely get one aspect of AGI correct and for the right reasons - that its early large economic advantage will be in text generation and related fields, and perhaps the greatest early risk is via human influence.

In your story, does the AGI share the goals of the team that created it? I guess if not, you're assuming that the AGI can convince them to take on its goals, by writing a book for each member of the team?

Once it has done that, it's not clear to me what it has to gain from hacking the minds of the rest of humanity. Why not do research in memristor theory/implementation, parallel algorithms, OS/programming languages/applications for massively parallel CPUs (start by writing code in assembly if you have to), optimizing the manufacturing of such CPUs, theory o... (read more)

0jacob_cannell
I leave this open to interpretation. I see this as a likely strategy for any type of AGI, whether friendly or not. Well let's see here. The catholic church makes around 400 billion dollars a year basically selling vaporware immortality. I think that a hyperintelligence like this could make an extremely convincing case that it could actually deliver real immortality for all humans on earth if we gave it that level of income. That sounds extremely rational to me - step one is take control of earth's resources. Then you can worry about the engineering issues. What do you think? By the way, I believe that nanotech is overrated/hyped/far away/not relevant. So I view this as the more likely scenario - a rapid soft takeover. Taking control of the media (book publishing, radio, internet, film, television) would be the quickest route to dominance. Thinking a million times accelerated is equivalent to slowing down everything in the outside universe by a factor of a million. Thus every activity or task that depends on interaction with the outside world will be massively delayed. Pure creative thought output would thus be your most optimal use of energy. Everything in the world of computers requires computers to get anything done, so ironically a hyperfast superintelligence would get a vastly better return on its time investment in occupations of low computational demand. This is a counterintuitive observation that goes against the stereotype (that a superintelligent machine should be good at high computational tasks).
2moshez
The hyperintelligence could decide to think half-as-slow, and use the remaining infrastructure to do something useful: for example, it could learn all there is to know about programming memristors, shunt its own code into half of the memristor, use the other half to solve the protein folding problem. After solving the protein folding problems, it could design proteins that built nano-machines that built memristors, transforming as much as is reasonable (or all, if Unfriendly) of its surroundings into more hyperintelligence brainware. Then, figure out how to build a space elevator (how hard can it be?), launch a probe into jupiter, and build a jupiter brain. Once you have a jupiter brain, you can really get creative. [Oh, and just in case -- launch a worm into the internet to infect every machine to potentially send the awesome-protein-sequence to a special lab, and to replicate the software into it, so that in the unlikely case I'm destroyed, I get recreated several times. Put money into a bank account with mechanical turk, so this resurrection plan can be funded.] This is what I thought of within 2 minutes. If I spent a year thinking about it, I could probably come up with a better plan. If I spent a decade, even better. You better hope the AI doesn't try directly transforming you into a memristor just for fun because it cares about you...
[-]loqi30

The serial speed of a workstation would be limited, but with that much memory at your disposal you could have many workstations active at once.

You may not get a huge speedup developing individual software components, but for larger projects you'd be the ultimate software development "team": The effective output of N programmers (where N is the number of separable components), with near-zero coordination overhead (basically, the cost of task-switching). In other words, you'd effectively bypass Brook's law.

So why not build your own OS and compiler(... (read more)

0Caspian
I would hope to have been given programming interfaces that didn't have a multi-fortnight compile time. I think a primitive assembly language and a way of specifying logic circuits would be easy to provide. Books about language and OS design would also be good - quite likely existing languages wouldn't be optimal for nearly instant compiling. I'd look at Forth as a possible language rather than any I currently use. There should be workstations with graphics output controlled by programmable analogue circuits for once you work out how to program them efficiently.
0jacob_cannell
Yes these are some good points loqi. Much would depend on how parallel compilers advance by the time such an AGI design becomes feasible. Right now compilers are just barely multi-threaded, and so they have a very long way to go before reaching their maximum speed. So the question really becomes what are the limits of compilation speed? If you had the fastest possible C++ compiler running on dozens of GPUs for example. I'm not a compilation expert, but from what I remember many of the steps in compilation/linking are serial and much would need to be rethought. This would be a great deal of work. There would still be minimum times just to load data to and from storage and transfer it around the network if the program is distributed. And depending on what you are working on, there is the minimum debug/test cycle. For most complex real world engineering systems this is always going to be an end limiter.
3darius
The slowest phase in a nonoptimizing compiler is lexical scanning. (An optimizer can usefully absorb arbitrary amounts of effort, but most compiles don't strictly need it.) For most languages, scanning can be done in a few cycles/byte. Scanning with finite automata can also be done in parallel in O(log(n)) time, though I don't know of any compilers that do that. So, a system built for fast turnaround, using methods we know now (like good old Turbo Pascal), ought to be able to compile several lines/second given 1 kcycle/sec. Therefore you still want to recompile only small chunks and make linking cheap -- in the limit there's the old 8-bit Basics that essentially treated each line of the program as a compilation unit. See P. J. Brown's old book, or Chuck Moore's Color Forth.
3loqi
Nitpick: C++ is the slowest-to-compile mainstream language, so it's probably not the best example when discussing the ultimate limits of compilation speed. It heavily favors trading off compilation speed for abstractive power, which probably isn't a good deal for a THz brain that can afford to spend more time coding (this is complicated by the fact that more code leads to more bugs leads to more iterations). Yes, you'd probably need to throw out a lot of traditional compiler architecture and start from scratch. But I think this would be mostly conceptual, "hands-off" work, so divide "a great deal" of it by 10^6. At worst, I think it would be comparable to the level of effort required to master a field, so I don't think it's any less realistic than your scholarship hypothetical. No silver bullet for network latency, this is definitely a ceiling on low-level parallel speedups. I don't think it's much of a problem for anti-Brookian scaling though, since the bottlenecks encountered by each "virtual developer" will be much slower than the network. The debug/test cycle will certainly be an issue, but here also the economies are very different for a THz brain. For one thing, you can afford to test the living daylights out of individual components: Tests can be written at brain-speed, and designed to be independent of one another, meaning they can run in parallel. You'd want to specify component boundaries precisely enough that most of the development iteration would take place at the component level, but this is no large burden - design work runs at brain-speed. I can't shake the feeling that I'm just scratching the surface of viable development strategies in this scenario. Swapping the scarcity of CPU time and programmer time invalidates a lot of modern intuition concerning the economy of programming (at least, my brain is certainly groaning under the strain). Older intuitions based around slower computers aren't much better, since they were also memory- and paralleli
3wedrifid
This is especially the case given that THz brain does not particularly need to worry about industry acceptance or prevalence of libraries. C++ trades off compilation speed for abstractive power in an extremely inefficient and largely obsolete way. It isn't even all that powerful in terms of possible abstractions. At least relative to a serious language.
2jacob_cannell
What do you have in mind for a serious language? Something new? I think the advantage of C++ for a hyperfast thinker (and by the way my analysis was of a GHZ brain, not a THZ brain - the latter is even wierder) is the execution speed. You certainly could and would probably want to test some things with a scripting language, but 1khz computers are really really slow, even when massively parallel. You would be wanting every last cycle. One other interesting way to make money - you could absolutely clean house in computer trading. You could think at the same speed as the simple algorithmic traders but apply the massive intelligence of a cortex to predict and exploit them. This is a whole realm humans can not enter.

Nice science-fiction premise.

I don't agree that a fast mind would feel that "the world seems so slow to me, what's the point of doing anything?" It would do what it wants to do.

3NancyLebovitz
Human minds mostly react badly to lack of sensory stimulation and lack of company, especially the former. If the AI is an em, this will have to be dealt with somehow.
1Jonathan_Graehl
Right. If it's me being emulated, I'll request that they gradually increase my processing rate, so that I definitely won't go crazy before they respond to any request I have to slow it back down. Presumably when (my sped up emulation is) solving problems or programming, the local workspace will still seem quite snappy. That is, I won't go crazy for lack of intellectual or sensory stimulus, but perhaps I"ll suffer for lack of genuine companionship and communication - not too much unlike my present existence :)

What a great post!

Upvoted for quality of writing and sparking an interesting discussion thread.

Wait, Abraham actually existed? I highly doubt this. Do you have sources?

Anyway, how much of this is supposed to be literal? I highly doubt that the first AI will be much like me, so there is not reason to believe that this establishes any sort of upper bound on capability. It establishes a lower bound, but it gives no indication of how likely that lower bound is, especially because it gets its numbers from speculation about the capabilities of memristors.

It is good as an intuition pump. If this is the purpose, I suggest you take out some of the specifics ... (read more)

3[anonymous]
If Abraham did exist, it wasn't 1500 years ago. I assume the original post is talking about Muhammed, who was born around 1440 years ago and (unlike Abraham) was a Bedouin. I've seen some suggestion that Muhammed never existed, and was created as a mythical founder of the Empire and of Islam after the fact, but I think there's enough evidence that he existed.
1endoself
Oops, I didn't notice the "1500 years". Muhammed probably existed, and even if he didn't, a small group of people still created the memes, so the original point stands.
0blogospheroid
Even I thought he was talking about Muhammad, for whom there is historical evidence.
1jacob_cannell
I was speaking of Muhammed. There are many specific routes that lead to similar results, but I think in vague outline this is a likely future path. Discussing more and more alternatives would just take up too much space. In general though, I think this type of AGI is likely to be the first built. Not as an upload or EM, but as a de novo brain. It would of course start out as an infant and require an education, aspects I didn't cover.
0endoself
I was already informed of this (see below). Making multiple estimates improves accuracy. No one path is very likely - we've established empirically that prediction is hard. Considering multiple possible futures can help ensure that your predictions are not too dependent on specific details that you might be wrong about. In you post, you spend a lot of time on one path that many people would consider implausible. There is no evidence that memristors could significantly speed up computing, an assertion which you seem to base mostly on a rough surface analogy with the human brain. If it's not an upload, you can't anthropomorphize.
1jacob_cannell
I'm not sure what to make of this. The people working on memristors certainly believe they will have advantages - denser memory and the ability to perform synapse like operations right on the memory site. Did you read the links about memristors and their potential uses? As for evidence, I do believe there is hard evidence in labs - these devices have been built. Of course, that does not mean we can be sure they will be economically viable, they are still a speculative technology. However at this point they are a high-likelihood technology. If they don't come out, it will likely be because of competition from better alternatives. The idea is that of an artificial human brain. It doesn't need to be an upload if it has a developmental model. It would progress from infant to adult in some simulated environment. I didn't cover that whole aspect for sake of brevity. Naturally education would add to development time - i'm not expecting anything like this to appear next year.
0endoself
If you think there is a reasonable chance that memristors will not be competitive with other technologies, isn't that the same as admitting that they might not be that much of an advance? Anyway, my point is just that they are probably no more significant for the development of AI than any other advance in computing technology. Any analogies to neurons are far to imprecise to allow building some sort of silicon-analogy-brain, since analogies only work if the underlying behaviour is actually the same. Oh. Your essay was not very clear about this. Basically something along the lines of the Blue Brain project. This seems quite plausible, though it is a possibility that is not discussed here much. If you were clearer about this in the essay, or if you talked about this in a related post it might start an interesting discussion.
0jacob_cannell
Memristors are not essential for an artificial cortex to be built, not at all. They will give perhaps one order of magnitude performance improvement over using just transistors/capacitors if they work out as expected. A bandwidth breakthrough such as optical interconnects is more important for the massive million fold speed advantage. Of course the first artificial cortex like systems will probably be built at much more modest speeds: realtime to just a few dozen times accelerated. The key point is that once we now how to make them there is a straight forward engineering path that leads to accelerating them massively. Memristors are just a building block element. You can build a cortex out of regular circuit elements as well, memristors are just better pieces (specialized legos). The functionality of circuits is not a function of the substrate (the building blocks), it's a function of the circuit organization itself. Vaguely kindof - the Blue Brain project is the early precursor to building an artificial cortex. However it is far too detailed and too slow, it's not a practical approach, not even close. It's a learning project.
0j_andrew_rogers
There is a subtle point I think you are missing. The problem is not one of processing power or even bandwidth but one of topology. Increasing the link bandwidth does not solve any problems nor does increasing the operations retired per clock cycle. In parallel algorithms research, the main bottleneck is that traditional computer science assumes that the communication topology is a directly connected network -- like the brain -- but all real silicon systems are based on switch fabrics. For many years computer science simplified the analysis by treating these as interchangeable when they are not and the differences from an algorithm design standpoint start to become very apparent when parallelism exceeds a certain relatively low threshold. The real limitation is that humans currently have very limited ability to design parallel algorithms from the theoretical assumption of a switch fabric. There are two ways to work around this. The first involves inventing a scalable direct-connect computing architecture (not any time soon), and the second involves developing new body of computer science that scales on switch fabrics (currently a topic of research at a couple places).
3jacob_cannell
Topology is the central ultimate scalability problem, it manifests in multiple forms such as interconnect, the memory bottleneck, and so on. If you could magically increase the memory/link bandwidth and operations retired per lock cycle to infinity that would solve the hard problems. 2D topology and the wide separation of memory and computation limit the link bandwidth and operations per clock. The brain employs massive connectivity in 3D but is still obviously not fully connected, and even it has to employ some forms of switching/routing for selective attention and other component algorithms. The general topological problem is a von neumman design on a 2D topology with separate logic and memory divided into N logic gates and M memory gates can access about sqrt(M) of it's memory bits per clock and has similar sublinear scaling in bit ops/clock. Then factor in a minimum core logic size to support desired instruction capability and the effects of latency and you get our current designs. If you are willing to make much smaller very limited instruction set ASICS and mix them in with memory modules you can maximize the performance of a 2D design for some problems, but it's still not amazingly better. I don't see this as something that you can magically solve with a new body of computer science. The theoretical world does need to factor in this additional complexity, but in the real world engineers already design to the real bandwidth/link constraints. A switch fabric is a necessity with the very limited scaling you get in 2D (where memory/computation scales in 2D but transit scales in 1D). It's a geometry issue. The ultimate solution is to start moving into 3D so you can scale link density with surface area instead of perimeter. Of course then the heat issue is magnified, but that research is already under way. A complete theoretical framework of parallel computation should be geometric, and deal with mapping abstract dimensionless algorithms onto physical 3D co
0j_andrew_rogers
You are missing the point. There are hyper-dimensional topological solutions that can be efficiently implement on vanilla silicon that obviate your argument. There is literature to support the conjecture even if there is not literature to support the implementation. Nonetheless, implementations are known to have recently been developed at places like IBM Research that have been publicly disclosed to exist (if not the design). (ObDisclosure: I developed much of the practical theory related to this domain -- I've seen running code at scale). Just because the brain exists in three dimensions does not imply that it is a 3-dimensional data model any more than analogous things are implied on a computer. It is not an abstraction, you can implement these directly on silicon. There are very old theorems that allow the implementation of hyper-dimensional topological constructs on vanilla silicon (since the 1960s), conjectured to support massive pervasive parallelism (since the 1940s), the reduction to practice just isn't obvious and no one is taught these things. These models scale well on mediocre switch fabrics if competently designed. Basically, you are extrapolating a "we can't build algorithms on switch fabrics" bias improperly and without realizing you are doing it. State-of-the-art parallel computer science research is much more interesting than you are assuming. Ironically, the mathematics behind it is completely indifferent to dimensionality.
0jacob_cannell
I'm totally missing how a "hyper-dimension topological solution" could get around the physical limitation of being realized on a 2D printed circuit. I guess if you use enough layers? Do you have a link to an example paper about this?
0j_andrew_rogers
It is analogous to how you can implement a hyper-cube topology on a physical network in normal 3-space, which is trivial. Doing it virtually on a switch fabric is trickier. Hyper-dimensionality is largely a human abstraction when talking about algorithms; a set of bits can be interpreted as being in however many dimensions is convenient for an algorithm at a particular point in time, which follows from fairly boring maths e.g. Morton's theorems. The general concept of topological computation is not remarkable either, it has been around since Tarski, it just is not obvious how one reduces it to useful practice. There is no literature on what a reduction to practice would even look like but it is a bit of an open secret in the world of large-scale graph analysis that the very recent ability of a couple companies to parallelize graph analysis are based on something like this. Graph analysis scalability is closely tied to join algorithm scalability -- a well-known hard-to-parallelize operation.
0endoself
This is exactly my point. If memristors are cool but nonessential, why are they mentioned so prominently? You made it seem like they were more important than they are. How confidant are we that this is close? What if there isn't physically enough room to connect everything using the known methods? Well yes, obviously not in its current state. It might not be too detailed though; we don't know how much detail is necessary.
0jacob_cannell
Using state of the art interconnect available today you'd probably be limited to something much more modest like 100-1000x max speedup. Of course I find it highly likely that interconnect will continue to improve. It's rather obviously too detailed from the perspective of functionality. Blue Brain is equivalent to simulating a current CPU at the molecular level. We don't want to do that, we just want to rebuild the CPU's algorithms in a new equivalent circuit. Massive difference.
1endoself
That's really interesting! Is there a prototype of this? There is a difference. We know that the molecular-scale workings of a CPU don't matter because it was designed by humans who wouldn't be able to get the thing to work if they needed molecular precision. Evolution faces very different requirements. Intuitively, I think it is likely that some things can be optimized out, but I think it is very easy to overestimate here.
0jacob_cannell
A prototype of what? The cortex has roughly 20 billion neurons organized into perhaps a million columns. The connections follow the typical inverse power law with distance and most of the connectivity is fairly local. Assuming about 5% of the connections are long distance inter-regional, an averaged firing rate of about one spike per second and efficient encoding gives on the order of one GB/s of aggregate inter-regional bandwidth. This isn't that much. It's a ludicrous amount of wiring when you open up the brain - all the white matter, but each connection is very slow. So this isn't a limiting factor for real-time simulation. The bigger limiting factor for real-time simulation is the memory bottleneck of just getting massive quantities of synaptic data onto each GPU's local memory. But if memristors or other techniques surmount that principle memory bandwidth limitation, the interconnect eventually becomes a limitation. A 1000x speedup would equate to 1 TB/s of aggregate interconnect bandwidth. This is still reasonable for a a few hundred computers connected via the fastest current point to point links such as 100gb ethernet (10 GB/s each roughly * 100 node to node edges). If you are reverse engineering a circuit, you may initially simulate it at a really low level, perhaps even the molecular level, to get a good understanding of how it's logic family and low level dynamics work. But the only point of that is to figure out what the circuit is doing. Once you figure that out you can apply those principles to build something similar. I'd say at this point we know what the cortex does at the abstract level: hierarchical bayesian inference. We even know the specific types of computations it does to approximate this - for example see the work of Poggio's CBCL group at MIT. They have built computational models of the visual cortex that are closing in on completeness in terms of the main computations the canonical cortical circuit can perform. So we do know the princ
2endoself
A computer that used the most advanced interconnects available today to be more parallel than normal computers. The only reason this works is because humans built circuits. If their behaviour was too complex, we would not be able to design them to do what we want. A neuron can use arbitrarily complex calculations, because evolution's only requirement is that it works.
0jacob_cannell
Quite so, but . . Ultimately this is all we care about as well. We do simulate circuits at the lowest level now to understand functionality before we try to build it, and as our simulation capacity expands we will be able to handle increasing complex designs and move into the space of analog circuits. Digital ASICS for AGI would probably come well before that, of course. Really its a question of a funding. Our current designs have tens of billions of industry momentum to support.
0endoself
No we have another requirement: the state of the system must separate into relevant and irrelevant variable, so that we can easily speed up the process by only relying on relevant variables. Nature does not need to work this way. It might, but we only having experience with human-made computers, so we cannot be sure how much of the information can be disregarded.