A Look at Cerebras Wafer-Scale Engine: Half Square Foot Silicon Chip
fuse.wikichip.org
fuse.wikichip.org
CEO implies in the FYI podcast that it can handle model sizes of a max of ~4 billion parameters per wafer. Respectable but not as large as I assumed would be possible when I first read of the scale of the chip.
CEO claims model parallelism will actually work well with these devices. Would be intriguing to know the limits of this.
Based on the cooling requirements, at least a GHz clock speed appears likely. If we take the heretical position that 1 parameter is >= 1 synapse, 4 billion parameters is about the size of a bee brain. 1GHz is about 5 million times faster than a bee brain.
It would take about 20000 such chips to simulate a human-sized network. Not economical and presumably the model parallelism would break long before this. But it is interesting to note that under the not implausible 1 parameter is >= 1 synapse assumption, we are only a few orders of magnitude away from human-sized networks training 5 million times real-time.
That means we'll need 200 such chips.
Why is the wafer so expensive ? Buying a manufactured wafer from TSMC ,16nm is I think is $4k-5k
And there are still a few nodes left. While cost per gate don't go down much, it could solve some of the external bandwidth issues.
But all those things are really expensive and very risky. Who knows...
When you have only a few giant chips per wafer, each error becomes devastating, taking out a large fraction of the wafer. Errors are so common I wouldnt be surprised if it took them 5-10 wafers per working chip, especially if they dont do any binning or they didnt design the chip to fuse off bad sections like Intel CPUs do (a single i3/i5/i7/i9 line is usually the same exact chip, with cores that have too many manufacturing errors fused off so perfect parts become i9s, less perfect parts become i7s, etc).
In the case of Cerebras, they have disable the bad blocks to get chips that actually work.
So, someone like Cerebras has to both make as little critical as possible and buy much more expensive wafers with lower defect rates and still get only moderate yields.
How do you do that ? where do i read more about this ?
Better wafers cost more.
That probably means their wafer yield is 100%.
As for wafer prices: https://anysilicon.com/major-pure-play-foundries-revenue-per...
It's $6k for all wafer smaller than 20nm, which means 16nm is somewhat cheaper than that.
That doesn't make any sense because errors are an inherent part of the manufacturing process. If errors in the manufacturing process make 1% of the area unavailable that means perfect yields could at most be 99%.
Not trying to crap on the tech, but it's not so simple as we can merely go to the fab and get small quantities of full custom, 100% yielding chips, for 6k ea.
Or is there a reason that this won't work (or at least won't be worth it) for ANN structures?
If all the weights and activations fit in on-chip memory, then you can do calculations at close to 100% efficiency. If you want to simulate a 20k times larger network, you also need to transfer the 4 Billion parameters per iteration, which would take a singificantly longer time. In other words, you would be seriously bottlenecked.
In silicon we separate out the storage from the compute. Generally we have much more storage than we have compute, and we route the data to the compute units as we need computation. Therefore ALUs have aggregate throughput of only a small fraction of the model capacity per cycle; at 400,000 cores with, say, 8 16-bit operations per cycle each, that is ‘only’ ~10^6 operations per cycle.
A better way to get a measure of computational throughput is to compare those values. Numbers are hard to find, but 10^10 synaptic events/s for a bee and 10^15 edge calculations/s for Cerebras seems the right sort of ballpark. That's a difference of 10^5, a little less than your estimate of 10^7.
Some more info easily found at cerebras's site,
https://www.cerebras.net/cerebras-wafer-scale-engine-why-we-...
> a very big chip, with memory close to cores, all connected by a high-bandwidth, low-latency fabric.
and at this site:
https://www.servethehome.com/cerebras-wafer-scale-engine-ai-...
https://web.archive.org/web/20191117035933/https://fuse.wiki...
Typically speaking, most personal / non-professional sites going down from a HoD on HN probably got under 500 concurrent requests.
So it's NIC bandwidth bottlenecked. Though 100 GbE is in the same ballpark as PCIe 3, but last I heard 40-100 GbE were pretty CPU-intensive compared to alternatives.
Glad I don't work at that fab! Would much rather my dies be singulated than strangulated
Interconnects and I/O are probably a challenge too.
It blows past the reticle limit, so you end up having to do multiple (carefully aligned) exposures for adjacent chunks of the design. Signals can't really travel more than a few mm to a cm or so without significant degredation, so you end up needing to add buffers all over the place. Good yield tends to be exponentially harder with larger designs, since the larger area has a higher probability of overlapping with a defect, so you end up needing to harden the design with redundancy and parts that can selectively be disabled if they turn out to be defective so you don't have to throw out the whole part.
FPGAs have been pushing towards this kind of craziness, but there aren't huge advantages to doing this with a CPU, since the only thing you can do with so much more area is add cores and cache. The cost to going off-die to additional cores isn't so bad. On the other hand, trying to synthesize a multi-FPGA design (while meeting timing) is torture.
At some point the cost of the interconnect hardware dominates the cost of the CPUs. Lots of parties, for instance Evan Sutherland (https://news.ycombinator.com/item?id=723882) have tried their hand at this, but so far nobody has been able to pull it off successfully.
Eventually it will happen though, this is an idea that's too good to remain without sponsors long.
A current problem which it's unclear how Cerebras are handling is that CPUs and DRAM have different fabrication techniques which I guess can't be mixed on a single wafer, and you don't want your CPU to be too far away from its RAM. Edit: It seems they's using SRAM not DRAM, so that explains it but it must be low density and power hungry memory.
To even get power into the chip they have to have wires running perpendicular to the board - ordinary traces don't cut it.
This is a really far-out design that isn't appropriate for the mass market at all.
Keeping the fluid cool would be left to the ugly parts nobody would ever see.