From the article: "The newly formed million-processor-core ‘Spiking Neural Network Architecture’ or ‘SpiNNaker’ machine is capable of completing more than 200 million million actions per second, with each of its chips having 100 million moving parts."
Maybe they are fundamentally misunderstanding what a transistor is? That number still seems low. Maybe electrons are the moving parts? (then that number would be very low.)
I seriously think that a major reason for the lack of public scientific literacy (I get an earful of anti-evolution, anti-climate change, anti-Big-Bang crap from my conservative family) is the lack of a competent institution for communicating these truths.
Outside of scientific journals, and the occasional pop-sci bestseller, the average person has to rely on university press releases, bloggers, and magazine writers - and they generally seem to be terrible at their jobs.
I don’t think science journalism is the reason why anti-science themes have evolved in the public mindset. Science used to be culturally important in the 50s as a way to understand truth, explore the world, improve life, and create industry. It’s since been challenged by both religion and industry via politicians for viewpoints that go against some of their desires. Politicians have since used it as a tool for dividing, reinforcing the anti-science climate. I don’t think it’s fair to blame journalists here.
> anti-evolution, anti-climate change, anti-Big-Bang crap from my conservative family
At least anecdotally, my conservative family is like this because those topics have been used in the past to attack/bludgeon their religious beliefs which leads my family to dig in their heels, double down on their beliefs, and close their minds to accepting them.
I've made a lot of progress by instead showing how those things are not only not anti-religious topics, but quite the opposite - they bring us closer to the truth of how God accomplishes what he does. Once they feel that their core beliefs are not being threatened, but merely augmented, it's much easier to accept them.
Honestly, scientific literacy does jeopardize the "personal God" concept, and in particular obviously the Christian mythology. There are still plenty of christian scientists though, some more keen on the moral teaching and community aspect of the religion, some interpret the texts as non-literal (a tiny minority I presume cling to literal texts).
I mean, I'm all for more engagement and scientific literacy, but let's not pretend there isn't some conflict here; specially for the more hardline churches -- while catholicism in particular seems happy to transition its role (into important lessons and social support) and turn dogma into allegory.
Half of the craters on the moon are named after priests. "Cells" are named for the places where monks live. The Vatican has operated scientific observatories for centuries. There's even one in Arizona that makes important discoveries to this day.
The whole science vs. religion meme is something that the internet has amplified out of proportion by latching onto fringe groups and smaller denominations and holding them up as the only kind of religion that exists, creating artificial levels conflict to justify their position.
> Half of the craters on the moon are named after priests.
Sure, religious folks often don't have a problem with simple empirical observations (I mean, the Catholic church _did_ get around to pardoning Galileo 350 years after they murdered him).
But Lord help you if you apply the scientific standards of empirical rigor or explanatory parsimony to any topics further afield. Most obviously, there isn't a shred of evidence - none whatsoever - for the existence of a divine being along the lines of what's posited by the Abrahamic religions.
> Sure, religious folks often don't have a problem with simple empirical observations (I mean, the Catholic church _did_ get around to pardoning Galileo 350 years after they murdered him).
There's a lot of people you can reasonably argue were murdered by the Catholic Church, but Galileo isn't one of them.
This isn't the place for a discussion about the details of religion, but I guess my response to this is, "So what?"
You may need evidence, but people who believe in God don't need evidence. To them, God exists whether there is evidence or not.
At one time there was no evidence that hydrogen existed, yet is was still there.
At one time there was no evidence that x-rays existed. But they were still there.
At one time there was no evidence of other galaxies or planets. But they still existed.
Something can exist without there being current scientific proof of it. That certain people can see beyond what is physically in front of them is called "faith."
My point is that an important scientific principle is that claims that are put forward without evidence can be dismissed without evidence. The burden is upon the claimant. (See Russell's Teapot).
Adopting this scientific principle basically undermines all religious thought. Why am I bringing this up? Because it underscores a deep epistemological and methodological differences between religion and science.
So I'll bite. I'm agnostic, which means that I firmly believe that we don't have such "scientific" evidence because it's impossible to obtain. Given the existence of an Abrahamic God, He would have invented everything we call "science". By definition, He lives outside of the universe where these observable effects take place.
I'll just copy-paste another comment I apparently made 4 years ago... (Time flies I guess!)
Of a particularly relevant note here is agnosticism [1], or the viewpoint that there are certain things that are simply unknowable to humans. The implication being that humans can neither confirm NOR deny the truth value of the statements. Metaphysical statements often fall into this category. And hence, you can also have agnostic theists [2] and agnostic atheists [3], who both recognize that they are taking a stance on an unknowable truth value. Some would then define this as the very essence of the word faith, but I would like to at least point out that both sides are subject to the same definition.
Let's also not forget that literal billions have been spent convincing people to reject evolution, climate change. It's a lot of marketing disguised in all sorts of different ways that has completely disrupted the public's support of scientific work.
> At least anecdotally, my conservative family is like this because those topics have been used in the past to attack/bludgeon their religious beliefs
This bludgeoning, historically, especially in the US, has gone almost entirely outward from Christian conservatives, though inventing fantasies of attacks on the Christian community has been a key mechanism the leaders within that community have used to rally their congregation into participation in the bludgeoning; the persecution complex of the most politically, economically, and socially powerful religious group in the nation is the result.
Yeah, I've noticed the same. There's also a lot of anti-biology from my left-wing friends.
The problem is also compounded by the fact that Wikipedia discourages primary sources in favor of shoddy reporting. It makes sense to reject self published scientific articles in favor of journal-published articles. But more often than not, modern media outlets just seem like a vector for adding political bias and inaccuracies by reporting on things they don't really understand.
Can you give some examples of liberals being anti-biology? That seems so far from even the common stereotypes of liberals that I'm genuinely not sure what you're talking about.
There are some legitimate concerns there. However, given that the current Republican White House is outright censoring government science agencies on a large scale[1][2] when their results are politically inconvenient, it's pretty laughable to claim that leftists are the real science-haters.
This article was published before the 2016 election, so at the time it might have been merely naive, but I see that the author has a video from just a few months ago where he "explains that the real war on science is the one from the left." He is absolutely not arguing in good faith.
This must be that whataboutism I've been hearing about. My greater point was that political extremists all across the spectrum have the bad habit of rejecting science when it conflicts with their dogma. The problem is amplified the more they are emotionally invested in an issue. A lot of people think its just "the other guys" that are guilty of it, partly due to selection bias, and partially due to just over-scrutinizing the other side in general.
Not just science journalism. I've yet to see a journalist get a story 100% right where I knew the facts personally ahead of time. If you're lucky, they've just garbled people's names...
I'd assume that by "moving parts" they mean transistors.
Ofcourse this is somewhat confusing to people who know how computers are composed of transistors and what transistors are.
But if you just want to convey to the lay person the complexity of the component, I'd say it's a reasonable way to do it.
It really depends on whether you include the memory in that count, as memory uses masses of transistors without being very interesting as most of those transistors spend their time just sitting there in a stable state. It's the transistor count (more properly, the gate count; gates can be thought of as multiple transistors fused together, yet they're truly a single thing in terms of manufacturing and layout) in the computational parts of the processor that is really interesting.
SpiNNaker is built using old ARM968 cores on an ancient process (because that was cheap, for various reasons). The SpiNNaker2 hardware (under design; I can't remember if it is next year or the one after when it is finalized) will be on a modern process that will let us pack ten times as many cores on per chip, with those cores being quite a lot more powerful. Which isn't bad; we're not a commercial outfit here…
No, it's a terrible way to do it. It's fundamentally wrong. It's not even reasonable metaphorically. It's like trying to explain the automobile to a 17th century pirate and saying it's a horse with 4 sails.
"200 million million", "actions per second" and "100 million moving parts".
Why write like this?
Either the writer is trying to dumb it down to a ridiculous level or they have no idea what they are talking about and just threw technical words together.
As a Brit, no one has made the million/milliard distinction for my entire life. 1000 million is a billion as far as anyone is concerned, a million million is a trillion. It’s just comically bad writing.
I think the writing in this article is not so good, but I've seen this usage by plenty of respectable writers. Stephen Hawking's "A Brief History of Time" is not comically bad writing, and it's full of even more outlandish usages of "million million million ..."
> capable of completing more than 200 million million actions per second
> To reach this point it has taken £15million in funding, 20 years in conception and over 10 years in construction, with the initial build starting way back in 2006.
Wow, those numbers.. and 10 years to build... I’d be very excited to turn it on!
> Biological neurons are basic brain cells present in the nervous system that communicate primarily by emitting ‘spikes’ of pure electro-chemical energy.
"...and even before its data banks had been connected, it deduced the existence of rice pudding and income tax before anyone managed to turn it off." - H2G2
It's about 100B neurons in a human brain [0], but neurons are also much slower. Individual neurons run at under 200Hz [1], which is probably a half dozen orders of magnitude lower than these processors are running at. Maybe it balances out?
Neurons do a lot more than 1 calculation for each of those Hz.
Dendritic branching can be extensive and in some cases is sufficient to receive as many as 100,000 inputs to a single neuron.https://en.wikipedia.org/wiki/Dendrite
A more conservative 10,000 * 200 Hz ~= 2 Mhz * 100B
~= 100 Million 2 Ghz processors cores.
Though each dendrite is again doing far more than one calculation per each of those cycles.
While true, the same is also true for many processor architectures. They're not just doing a single mathematical calculation per cycle, and additionally they also take multiple bits of input. A 32 bit processor could be thought of as having 32 "dendrites" of input, depending on what specific calculations are being performed to emulate the functions of neurons.
I recognize that the specifics are very different between a single neuron and a single processor, but the processors are so much faster that I'm inclined to give some benefit of the doubt to the people actually in possession of the array of 1M processors.
No, Dendrites are far more complex than bits. They have multiple chemical pathways and operate in real time.
A you can think of a single dendrite as ~1,000 bits of information though it's hard to say how much of that information is useful as it's rather complex chemical signaling. Which gets into why opioids get people high for example.
maybe but that doesn't account for extensive nonlinear computation happening along dendritic arbors. Think vast decision trees resolved in parallel, per neuron, at 200Hz.
The processor cores in SpiNNaker run at 200MHz (yes, this is slow!), and can usually issue one instruction per CPU cycle (that's quite nice). However, the trick to getting lots of neurons in is in keeping the number of CPU cycles per synapse event down, since there's a lot more of those than there are neurons.
Yes, bits of the synapse processing code are in assembly coded to waste not one cycle at all. It turns out to be vital to do that in order to keep the efficiency high (and that has many key knock on effects; the synaptic density is a critical parameter for overall model scaling).
In any case, to say that neurons process information at 200Hz is wrong. Or rather it is not even wrong. The individual neurons don't really do very much, but the overall network does a lot and it isn't limited to 200Hz at all. It's just that it handles time in a totally different way to conventional computers...
Article says they’re using it to model specific parts of the brain rather than the whole thing for this reason. Also says they plan to add a lot more in future but still only up to mouse-brain territory.
There isn't a plan to do the whole human brain, and doing so would require both at least two further generations of hardware and likely building a new facility for deploying it in. If someone's got a spare billion, and a decade or so to work on it, we could give it a go, but it is a lot to spend for no actual certainty that we'd succeed.
We do plan to simulate the mouse brain, but our interests are more in understanding network-level mechanisms that are difficult to study at the neuron or whole-brain levels. The meso-scale stuff is where understanding is critical and tricky.
When you say "simulate the mouse brain", what do you mean exactly? Given as even the c. elegans with its 300 neurons can't be simulated well enough to actually be a living digital organism.
This article, while obviously PR, is confusing to me. It seems to pin too much emphasis on the nature of its hardware as if that's enough to "emulate" the brain. If they don't have folks at the calibre of Deepmind to drive this thing, can it really go very far?
What it could be useful for is neural structure modeling at a more primitive layer, even if the end outcome isn't usable for practical consumption.
SpiNNaker is particularly for studying neural structure, especially on the scale from small groups of neurons up to brain structures of a few million, on timespans of a few seconds to a few hours at simulation timesteps on the size order of a millisecond. That's a scale where doing the study in vivo or in vitro is technically extremely challenging; signal analysers find that awkward, either to get that many channels that fine or to get that density of sampling. Or both; getting either is hard and getting both is crazy hard.
But being able to simulate neural networks that can do their learning on-line and in real time, all while actively processing input (and in a controlled fashion) is an interesting capability anyway, as it means SpiNNaker can control physical robots in interesting ways (and those may be commercially interesting). And it's low-power enough that doing this in the wild is practical, rather than needing to upload everything into the Cloud for analysis. That may also be commercially interesting.
Powers of 10 ... 10 fingers on the ape-man. Such a weird non computing number to be thrilled with.
I'm always suspicious when numbers fit into powers of ten like that. Like, somewhere in that build process the person who holds the purse strings doesn't know binary.
Wouldn't any number you were going to stop at be arbitrary? If you can fit 1,000 to a rack, you're going to end up with a multiple of ten by the time they are done. These processors don't need to adhere to 2^X, do they?
It theoretically has 1036800 processors. It doesn't actually have that many because core-level manufacturing yields aren't 100%. The software architecture is designed to be resilient to this.
The million was a figure chosen to be eye-catching to funders and to force the initial design team to address scalability from the beginning, according to Steve Furber. So yes, it's a bit arbitrary.
The actual figure is (for technical reasons) a multiple of 2592. Those technical reasons? That's the topological tiling unit used in the overall toroidal mesh (48 chips per board, arranged to tile in groups of three boards, all times 18 which is the number of cores per chip; 1 OS core, 16 application cores, and 1 bonus that is sometimes available and sometimes not, in order to keep overall chip yields sufficiently high).
"‘SpiNNaker’ machine is capable of completing more than 200 million million actions per second, with each of its chips having 100 million moving parts."
Could someone elaborate? I am probably missing something as I hadn't heard of moving parts on a solid-state device?
I believe they are referring to the number of transistors per chip (which as you correctly state are not "moving parts"). Also, fun fact: these chips are 7+ years old now!
The supply side of people who want to do journalism is full of so many people, and the competition for jobs sends most to other career fields. Yet the product of modern journalism is often so sad.
This is what caught me off guard - I also share this view on journalism and would not have been surprised, but this piece is published by the Uni of Manchester itself.
Our press office are definitely a law unto themselves, but the analogy was drawn in the event. It's also inaccurate, as it doesn't count the extra ~billion gates per chip for the memory (as that's just a co-packaged standard SDRAM module). It's just that we don't usually think about those as those SDRAMs are very reliable and don't cause us much trouble at all.
Some deep loathing for budget-cutting and project rejecting administration, can have some scientists not raise their hands to veto embarrassing articles.
They could have been trying for a figure of speech. People sometimes say a complex problem or piece of code "has a lot of moving parts," so there's precedent for not taking "moving parts" literally. I agree it's awkward regardless.
This isn't journalism, it's communication. It's a press release from the university. Both journalism and communication are subsets of "communications."
If this university is anything like the ones I went to, the press releases are written by journalism and communication students to give them some hands-on experience.
I went to a code jam with some of these guys (as part of the Human Brain Project), the architecture is pretty interesting but it's lots and lots of little ARM (v6?) processors on a grid interconnect, probably not too far from Xeon Phi, even if it aims for neural like computation more so that a Phi.
Definitely not like Phi, which is basically a SIMD computational system (linear algebra box?) plus interesting memory configuration, at least in KNL. The SpiNNaker chips have no hardware floating point.
The next generation will have single precision hardware floats, but that's still at the prototype stage (with little bits of the processor running on a monster FPGA in the lab).
The key however is that SpiNNaker is a MIMD system (the cores are really independent of each other, except for a shared clock and chip-level shared co-packaged SDRAM) with a very fancy fast multicast interconnect that's been tuned for handling small source-routed packets without guaranteed delivery (but with guaranteed detection of failure to deliver). It's the almost complete antithesis of MPI, and it is by using that well that we get great performance in neural simulation. (I'm a software developer on the team.)
It's not at all like IP. The basic message size is (IIRC) 64 or 96 bits, comprising a system control word, an application header word, and an optional payload word. The application header word describes what the identity of the sender of the message is (well, in theory it could describe the destination too, but then we'd not have enough space to address much at all) and is used in the routing of the messages. Each chip has a very fast masked CAM (the key IP of SpiNNaker) that is used to convert from the application header word to the destinations to deliver that packet to, which is one channel to each core on the chip and one channel to each direction in the logical triangular mesh in which the chips are connected. The router is very fast indeed, and very low power, so we can generally count on routing a packet right to the opposite side of the machine in a few milliseconds, and I'd have to look up the energy cost of a packet (we've published it, but I forget where). I believe our route planning software takes this delay into account. It also tries to put neurons that communicate with each other close together.
For greater delays than that, we also have a delay slot system (for up to 16 simulation timesteps, which is approximately 16ms) in our synapse model, and specialized pseudo-neurons that implement longer delays than that on cores that we set aside for the purpose (and which, because they only handle delays, are much easier to make scale).
We do source routing mainly because this was hardware designed from the beginning to do neural simulation; source routing is a natural way to implement (an abstraction of) axons, as each axon is capable of connecting to many different dendrites. This is very much an abstraction of what happens in reality, but it has worked well for us. Also yes, our routing algorithms most definitely do try to limit the amount of traffic going down each communication link. Since communication during execution is pretty predictable (at least statistically) this is far more practical than with IP, where the dominating factors relate far more to being able to manage the network without knowing its total state.
Wow thanks for the great response. It's really interesting to read about (computer) network fundamentals rethought for neural systems.
> specialized pseudo-neurons that implement longer delays than that on cores that we set aside for the purpose (and which, because they only handle delays, are much easier to make scale)
I'm curious to hear more about that, as I don't recall hearing that previously. I'm a dev on the Virtual Brain, another simulator starting to be used in HBP (CDP8), for which we derive tract length info from human diffusion imaging and use it to introduce time delays. These can be up to 256 ms. On the other hand, we're usually running a few hundred neural masses (or some specialized datasets go up to 515k nodes). Are those numbers feasible with your delay-neurons?
I haven't had a chance to go back and read the literature or talk to people more deeply, but what I've heard about SpiNNaker recently in conversation and semi-technical talks has been confusing when it comes to comparisons. The distinguishing features as presented are things I expect of large HPC systems.
I don't mean SpiNNaker isn't interesting, and I've been pointing it out as such for years but it's been basically unknown even relatively locally.
It's basically very different in approach to many modern computers. The cores are slow and low-powered, but the interconnect is very fast for routing small packets to multiple destinations, which means that computational tasks that would otherwise be utterly dominated by communication costs (e.g., neural simulations) become a lot more tractable.
But since it's all done in soft realtime with very low level code (and no hardware floats in the current hardware generation) and not much of an OS, it's a very unusual platform for people to work with. Much more like programming used to be like in the 1980s, if my memory serves me right. (One of the key distinguishing things about SpiNNaker in the field of neuromorphic systems is that actually has an OS at all. Most competitor systems are purely bare metal, as they're put together by deep hardware hackers without consulting software engineers.)
Phi is 64 or 68 cores laid out on a grid, each with 4 way hyperthreading, in addition to AVX512 SIMD. The typical programming model makes it look like a CPU but calling it a SIMD system is odd.
Ours have 72 cores. I meant they're a box full of SIMD rather than one SIMD unit. You need to take good advantage of the AVX512 -- or possibly the MCDRAM or fast on-chip MPI -- to make them worthwhile.
This article was pretty low on details, so I went out and collected some links:
This looks more or less like another stab at the Cray connection machine[0], but with modern hardware and a better framework about how neural nets can and should work.
> The SpiNNaker engine is a massively-parallel multi-core computing system. It will contain up to 1,036,800 ARM9 cores and 7Tbytes of RAM distributed throughout the system in 57K nodes, each node being a System-in-Package (SiP) containing 18 cores plus a 128Mbyte off-die SDRAM (Synchronous Dynamic Random Access Memory). Each core has associated with it 64Kbytes of data tightly-coupled memory (DTCM) and 32Kbytes of instruction tightly-coupled memory (ITCM). The cores have a variety of ways of communicating with each other and with the memory, the dominant of which is by packets. These are 5- or 9-byte (40- or 72-bit) quanta of information that are transmitted around the system under the aegis of a bespoke concurrent hardware routing system. [1]
So, lots of relatively relatively tiny, interconnected nodes.
They built their own SoC to handle this. With a built-in router in the middle. The router handles routing on the chip, and multicasts to its neighbors.
> The heart of the communications infrastructure is a bespoke multicast router that is able to replicate packets where necessary to implement the multicast function associated with sending the same packet to several different destinations. [2]
It also looks like they're developing dev boards [3]
So basically, this looks like a giant, really awesome, custom ARM cluster that they want to do neural network stuff with.
If anyone from the team is here, I'd love to hear more about how this will be used. Specifically, how will you prevent SpiNNaker from going down the same path as the Connection Machine - (stops doing AI stuff because, say, geneticists want to use it for protein sequencing)? Why do you see this as the future over something like NVIDIA's new HGX-2 or clusters of TPUs?
Just as a bit of a nitpick the Connection Machine:
a) Wasn't manufactured by Cray. It was made by Thinking Machines Corporation in the greater Boston area.
b) Didn't have anything to do with neural nets, as it was developed during the period of time when GOFAI / symbolic AI was still in vogue (although by the late 80s the Japanese had revived connectionism / neural nets), and thus had far more in common with a LISP machine.
c) Was mostly about developing a decent SIMD architecture.
> Specifically, how will you prevent SpiNNaker from going down the same path as the Connection Machine - (stops doing AI stuff because, say, geneticists want to use it for protein sequencing)?
I'm on the team. I can say that we're specifically funded to do and support computational neuroscience. However, if someone comes along with money wanting to do other kinds of projects on the hardware (and are able to handle the special characteristics of the machine itself) then they're welcome. The challenge is that it's non-conventional in a number of ways that make porting code tricky: in particular, the messages are small, designed to be multicast rather than unicast, the instruction memory per core is only 32kB, and there's no hardware floating point at all in the current generation. (You can do floating point in emulation. We do that in one of our projects.)
> Why do you see this as the future over something like NVIDIA's new HGX-2 or clusters of TPUs?
We see it as solving different problems. Those approaches you mention are great for solving problems that resolve to big matrix operations; SpiNNaker is better at tackling problems that are dominated in terms of description by communication. Neural simulations are really just vast hybrid ODE systems, but where it is possible to break up the simulation into lots of communicating domains (the synapses and neurons).
Some are saying this is no where near the amount of processing the human brain has. But, it doesn't seem we need that much of the brain. There are plenty of stories of highly functional and talented individuals with almost no brain, and this machine would probably be in their ballpark.
I mean, a lot of the brain is devoted to sensation, so if you don't care about simulating how the brain interprets certain aspects of sensation (motion, depth, vision more generally) you could probably simulate other functions. For memory, however, at least, there's a lot of evidence that you'll need to simulate sensory systems to be able to accurately simulate recall [0].
120 comments
[ 4.4 ms ] story [ 152 ms ] threadI kinda doubt that.
http://apt.cs.manchester.ac.uk/projects/SpiNNaker/hardware/
I seriously think that a major reason for the lack of public scientific literacy (I get an earful of anti-evolution, anti-climate change, anti-Big-Bang crap from my conservative family) is the lack of a competent institution for communicating these truths.
Outside of scientific journals, and the occasional pop-sci bestseller, the average person has to rely on university press releases, bloggers, and magazine writers - and they generally seem to be terrible at their jobs.
Fixed that for you
At least anecdotally, my conservative family is like this because those topics have been used in the past to attack/bludgeon their religious beliefs which leads my family to dig in their heels, double down on their beliefs, and close their minds to accepting them.
I've made a lot of progress by instead showing how those things are not only not anti-religious topics, but quite the opposite - they bring us closer to the truth of how God accomplishes what he does. Once they feel that their core beliefs are not being threatened, but merely augmented, it's much easier to accept them.
I mean, I'm all for more engagement and scientific literacy, but let's not pretend there isn't some conflict here; specially for the more hardline churches -- while catholicism in particular seems happy to transition its role (into important lessons and social support) and turn dogma into allegory.
Science and religion can get along just fine.
Half of the craters on the moon are named after priests. "Cells" are named for the places where monks live. The Vatican has operated scientific observatories for centuries. There's even one in Arizona that makes important discoveries to this day.
The whole science vs. religion meme is something that the internet has amplified out of proportion by latching onto fringe groups and smaller denominations and holding them up as the only kind of religion that exists, creating artificial levels conflict to justify their position.
Sure, religious folks often don't have a problem with simple empirical observations (I mean, the Catholic church _did_ get around to pardoning Galileo 350 years after they murdered him).
But Lord help you if you apply the scientific standards of empirical rigor or explanatory parsimony to any topics further afield. Most obviously, there isn't a shred of evidence - none whatsoever - for the existence of a divine being along the lines of what's posited by the Abrahamic religions.
There's a lot of people you can reasonably argue were murdered by the Catholic Church, but Galileo isn't one of them.
This isn't the place for a discussion about the details of religion, but I guess my response to this is, "So what?"
You may need evidence, but people who believe in God don't need evidence. To them, God exists whether there is evidence or not.
At one time there was no evidence that hydrogen existed, yet is was still there.
At one time there was no evidence that x-rays existed. But they were still there.
At one time there was no evidence of other galaxies or planets. But they still existed.
Something can exist without there being current scientific proof of it. That certain people can see beyond what is physically in front of them is called "faith."
Adopting this scientific principle basically undermines all religious thought. Why am I bringing this up? Because it underscores a deep epistemological and methodological differences between religion and science.
I'll just copy-paste another comment I apparently made 4 years ago... (Time flies I guess!)
https://news.ycombinator.com/item?id=7899626
Of a particularly relevant note here is agnosticism [1], or the viewpoint that there are certain things that are simply unknowable to humans. The implication being that humans can neither confirm NOR deny the truth value of the statements. Metaphysical statements often fall into this category. And hence, you can also have agnostic theists [2] and agnostic atheists [3], who both recognize that they are taking a stance on an unknowable truth value. Some would then define this as the very essence of the word faith, but I would like to at least point out that both sides are subject to the same definition.
[1] http://en.wikipedia.org/wiki/Agnosticism
[2] http://en.wikipedia.org/wiki/Agnostic_theism
[3] http://en.wikipedia.org/wiki/Agnostic_atheism
This bludgeoning, historically, especially in the US, has gone almost entirely outward from Christian conservatives, though inventing fantasies of attacks on the Christian community has been a key mechanism the leaders within that community have used to rally their congregation into participation in the bludgeoning; the persecution complex of the most politically, economically, and socially powerful religious group in the nation is the result.
The problem is also compounded by the fact that Wikipedia discourages primary sources in favor of shoddy reporting. It makes sense to reject self published scientific articles in favor of journal-published articles. But more often than not, modern media outlets just seem like a vector for adding political bias and inaccuracies by reporting on things they don't really understand.
HN is funny...
This article was published before the 2016 election, so at the time it might have been merely naive, but I see that the author has a video from just a few months ago where he "explains that the real war on science is the one from the left." He is absolutely not arguing in good faith.
[1] http://columbiaclimatelaw.com/resources/silencing-science-tr... [2] http://columbiaclimatelaw.com/silencing-science-tracker/fws-...
https://www.nature.com/news/intelligence-research-should-not...
Objectivity is dead.
Not just science journalism. I've yet to see a journalist get a story 100% right where I knew the facts personally ahead of time. If you're lucky, they've just garbled people's names...
Try 10 billion
https://venturebeat.com/2018/10/30/apple-announces-a12x-with...
SpiNNaker is built using old ARM968 cores on an ancient process (because that was cheap, for various reasons). The SpiNNaker2 hardware (under design; I can't remember if it is next year or the one after when it is finalized) will be on a modern process that will let us pack ten times as many cores on per chip, with those cores being quite a lot more powerful. Which isn't bad; we're not a commercial outfit here…
No, it's a terrible way to do it. It's fundamentally wrong. It's not even reasonable metaphorically. It's like trying to explain the automobile to a 17th century pirate and saying it's a horse with 4 sails.
Why write like this?
Either the writer is trying to dumb it down to a ridiculous level or they have no idea what they are talking about and just threw technical words together.
https://en.m.wikipedia.org/wiki/Long_and_short_scales
I think the writing in this article is not so good, but I've seen this usage by plenty of respectable writers. Stephen Hawking's "A Brief History of Time" is not comically bad writing, and it's full of even more outlandish usages of "million million million ..."
https://www.google.com/search?q=brief+history+of+time+"milli...
> To reach this point it has taken £15million in funding, 20 years in conception and over 10 years in construction, with the initial build starting way back in 2006.
Wow, those numbers.. and 10 years to build... I’d be very excited to turn it on!
So, 18 cores per chip. 55,556 chips. £270 per chip.
Still pretty good, considering the £15M is paying for more than a pile of chips.
[1] http://apt.cs.manchester.ac.uk/projects/SpiNNaker/SpiNNchip/
I don't think that those are terms of art.
https://en.m.wikipedia.org/wiki/Steve_Furber
[0] https://www.verywellmind.com/how-many-neurons-are-in-the-bra... [1] https://en.wikipedia.org/wiki/Neural_oscillation
Dendritic branching can be extensive and in some cases is sufficient to receive as many as 100,000 inputs to a single neuron. https://en.wikipedia.org/wiki/Dendrite
A more conservative 10,000 * 200 Hz ~= 2 Mhz * 100B ~= 100 Million 2 Ghz processors cores.
Though each dendrite is again doing far more than one calculation per each of those cycles.
I recognize that the specifics are very different between a single neuron and a single processor, but the processors are so much faster that I'm inclined to give some benefit of the doubt to the people actually in possession of the array of 1M processors.
A you can think of a single dendrite as ~1,000 bits of information though it's hard to say how much of that information is useful as it's rather complex chemical signaling. Which gets into why opioids get people high for example.
maybe but that doesn't account for extensive nonlinear computation happening along dendritic arbors. Think vast decision trees resolved in parallel, per neuron, at 200Hz.
So anything your brain can think in 1 second needs at most a depth of 200 layers.
(its probably a meaningless analogy)
Yes, bits of the synapse processing code are in assembly coded to waste not one cycle at all. It turns out to be vital to do that in order to keep the efficiency high (and that has many key knock on effects; the synaptic density is a critical parameter for overall model scaling).
In any case, to say that neurons process information at 200Hz is wrong. Or rather it is not even wrong. The individual neurons don't really do very much, but the overall network does a lot and it isn't limited to 200Hz at all. It's just that it handles time in a totally different way to conventional computers...
We do plan to simulate the mouse brain, but our interests are more in understanding network-level mechanisms that are difficult to study at the neuron or whole-brain levels. The meso-scale stuff is where understanding is critical and tricky.
What it could be useful for is neural structure modeling at a more primitive layer, even if the end outcome isn't usable for practical consumption.
But being able to simulate neural networks that can do their learning on-line and in real time, all while actively processing input (and in a controlled fashion) is an interesting capability anyway, as it means SpiNNaker can control physical robots in interesting ways (and those may be commercially interesting). And it's low-power enough that doing this in the wild is practical, rather than needing to upload everything into the Cloud for analysis. That may also be commercially interesting.
Powers of 10 ... 10 fingers on the ape-man. Such a weird non computing number to be thrilled with.
I'm always suspicious when numbers fit into powers of ten like that. Like, somewhere in that build process the person who holds the purse strings doesn't know binary.
The actual figure is (for technical reasons) a multiple of 2592. Those technical reasons? That's the topological tiling unit used in the overall toroidal mesh (48 chips per board, arranged to tile in groups of three boards, all times 18 which is the number of cores per chip; 1 OS core, 16 application cores, and 1 bonus that is sometimes available and sometimes not, in order to keep overall chip yields sufficiently high).
Could someone elaborate? I am probably missing something as I hadn't heard of moving parts on a solid-state device?
https://ieeexplore.ieee.org/document/6330636
If this university is anything like the ones I went to, the press releases are written by journalism and communication students to give them some hands-on experience.
The key however is that SpiNNaker is a MIMD system (the cores are really independent of each other, except for a shared clock and chip-level shared co-packaged SDRAM) with a very fancy fast multicast interconnect that's been tuned for handling small source-routed packets without guaranteed delivery (but with guaranteed detection of failure to deliver). It's the almost complete antithesis of MPI, and it is by using that well that we get great performance in neural simulation. (I'm a software developer on the team.)
It's not at all like IP. The basic message size is (IIRC) 64 or 96 bits, comprising a system control word, an application header word, and an optional payload word. The application header word describes what the identity of the sender of the message is (well, in theory it could describe the destination too, but then we'd not have enough space to address much at all) and is used in the routing of the messages. Each chip has a very fast masked CAM (the key IP of SpiNNaker) that is used to convert from the application header word to the destinations to deliver that packet to, which is one channel to each core on the chip and one channel to each direction in the logical triangular mesh in which the chips are connected. The router is very fast indeed, and very low power, so we can generally count on routing a packet right to the opposite side of the machine in a few milliseconds, and I'd have to look up the energy cost of a packet (we've published it, but I forget where). I believe our route planning software takes this delay into account. It also tries to put neurons that communicate with each other close together.
For greater delays than that, we also have a delay slot system (for up to 16 simulation timesteps, which is approximately 16ms) in our synapse model, and specialized pseudo-neurons that implement longer delays than that on cores that we set aside for the purpose (and which, because they only handle delays, are much easier to make scale).
We do source routing mainly because this was hardware designed from the beginning to do neural simulation; source routing is a natural way to implement (an abstraction of) axons, as each axon is capable of connecting to many different dendrites. This is very much an abstraction of what happens in reality, but it has worked well for us. Also yes, our routing algorithms most definitely do try to limit the amount of traffic going down each communication link. Since communication during execution is pretty predictable (at least statistically) this is far more practical than with IP, where the dominating factors relate far more to being able to manage the network without knowing its total state.
> specialized pseudo-neurons that implement longer delays than that on cores that we set aside for the purpose (and which, because they only handle delays, are much easier to make scale)
I'm curious to hear more about that, as I don't recall hearing that previously. I'm a dev on the Virtual Brain, another simulator starting to be used in HBP (CDP8), for which we derive tract length info from human diffusion imaging and use it to introduce time delays. These can be up to 256 ms. On the other hand, we're usually running a few hundred neural masses (or some specialized datasets go up to 515k nodes). Are those numbers feasible with your delay-neurons?
I don't mean SpiNNaker isn't interesting, and I've been pointing it out as such for years but it's been basically unknown even relatively locally.
But since it's all done in soft realtime with very low level code (and no hardware floats in the current hardware generation) and not much of an OS, it's a very unusual platform for people to work with. Much more like programming used to be like in the 1980s, if my memory serves me right. (One of the key distinguishing things about SpiNNaker in the field of neuromorphic systems is that actually has an OS at all. Most competitor systems are purely bare metal, as they're put together by deep hardware hackers without consulting software engineers.)
This looks more or less like another stab at the Cray connection machine[0], but with modern hardware and a better framework about how neural nets can and should work.
> The SpiNNaker engine is a massively-parallel multi-core computing system. It will contain up to 1,036,800 ARM9 cores and 7Tbytes of RAM distributed throughout the system in 57K nodes, each node being a System-in-Package (SiP) containing 18 cores plus a 128Mbyte off-die SDRAM (Synchronous Dynamic Random Access Memory). Each core has associated with it 64Kbytes of data tightly-coupled memory (DTCM) and 32Kbytes of instruction tightly-coupled memory (ITCM). The cores have a variety of ways of communicating with each other and with the memory, the dominant of which is by packets. These are 5- or 9-byte (40- or 72-bit) quanta of information that are transmitted around the system under the aegis of a bespoke concurrent hardware routing system. [1]
So, lots of relatively relatively tiny, interconnected nodes.
They built their own SoC to handle this. With a built-in router in the middle. The router handles routing on the chip, and multicasts to its neighbors.
> The heart of the communications infrastructure is a bespoke multicast router that is able to replicate packets where necessary to implement the multicast function associated with sending the same packet to several different destinations. [2]
It also looks like they're developing dev boards [3]
So basically, this looks like a giant, really awesome, custom ARM cluster that they want to do neural network stuff with.
If anyone from the team is here, I'd love to hear more about how this will be used. Specifically, how will you prevent SpiNNaker from going down the same path as the Connection Machine - (stops doing AI stuff because, say, geneticists want to use it for protein sequencing)? Why do you see this as the future over something like NVIDIA's new HGX-2 or clusters of TPUs?
[0] https://en.wikipedia.org/wiki/Connection_Machine
[1] http://apt.cs.manchester.ac.uk/projects/SpiNNaker/architectu...
[2] http://apt.cs.manchester.ac.uk/projects/SpiNNaker/SpiNNchip/
[3] http://apt.cs.manchester.ac.uk/projects/SpiNNaker/hardware/i...
a) Wasn't manufactured by Cray. It was made by Thinking Machines Corporation in the greater Boston area.
b) Didn't have anything to do with neural nets, as it was developed during the period of time when GOFAI / symbolic AI was still in vogue (although by the late 80s the Japanese had revived connectionism / neural nets), and thus had far more in common with a LISP machine.
c) Was mostly about developing a decent SIMD architecture.
I'm on the team. I can say that we're specifically funded to do and support computational neuroscience. However, if someone comes along with money wanting to do other kinds of projects on the hardware (and are able to handle the special characteristics of the machine itself) then they're welcome. The challenge is that it's non-conventional in a number of ways that make porting code tricky: in particular, the messages are small, designed to be multicast rather than unicast, the instruction memory per core is only 32kB, and there's no hardware floating point at all in the current generation. (You can do floating point in emulation. We do that in one of our projects.)
> Why do you see this as the future over something like NVIDIA's new HGX-2 or clusters of TPUs?
We see it as solving different problems. Those approaches you mention are great for solving problems that resolve to big matrix operations; SpiNNaker is better at tackling problems that are dominated in terms of description by communication. Neural simulations are really just vast hybrid ODE systems, but where it is possible to break up the simulation into lots of communicating domains (the synapses and neurons).
http://thepequodblog.blogspot.com/2008/01/fredric-browns-ans...
https://www.ssllabs.com/ssltest/analyze.html?d=www.mancheste...
Thanks for checking!
>> The world’s largest neuromorphic supercomputer designed and built to work in the same way a human brain does
Project lead:
>> We’ve essentially created a machine that works more like a brain than a traditional computer
Press releases, ladies and gentlemen.
[0] https://books.google.com/books?id=VjZyDwAAQBAJ&pg=PT597&lpg=...
https://www.irishtimes.com/news/remarkable-story-of-maths-ge...
https://www.drjudithorloff.com/Free-Articles/Is-Your-Brain-N...
http://www.rifters.com/real/articles/Science_No-Brain.pdf
Another Story:
https://www.thelancet.com/journals/lancet/article/PIIS0140-6...