Neural Chip Plays Doom Using a Thousandth of a Watt
tomshardware.com
tomshardware.com
Thing is, Watts don't have a time dimension. It sounds like this is how much power was being consumed by the chip while it ran the model to play the game in realtime, but it also sounds like they were using the chip to train the model. From the linked IEEE Spectrum article:
>"After its first kill, it unloads the clip, but then it figures out that’s not a good strategy,” ...
It sounds cool, but some more details would be nice. This chip seems to use a custom Tensilica core like the ESP8266/32 family started with, but we'll also have ARM Cortex-M CPUs with neural accelerators soon, so this space will be interesting to watch.
> Syntiant trained the NDP200's neural network using VizDoom, a version of Doom used for AI research and reinforcement learning from raw visual information. Training required understanding what the neural network was seeing, primarily identifying the enemy and ultimately defining a response. In this case, see demon, shoot demon. The "player" is tasked with defending a circular room that is under constant attack.
> The purpose of the demo is not to show how well it can play Doom, but to demonstrate how efficient the NDP200 is at "bounding-box person detection"
So like... it's playing a DOOM mod that teaches it to turn in circles and aim and shoot when it sees an enemy - until it runs out of ammo and it dies because it's standing still and the enemies walk up and kill it. It's not that that's not an accomplishment, it's more that that's not really 'playing DOOM' as far as anyone who's ever played DOOM would understand it. You know?
Personally this part seemed like a tall claim to me as well. Bounding box detection in the environment shown would be incredibly easy.
There is no visual complexity at all. Just detecting patches of a certain colour would do the job.
...perhaps if it changes over time, but that's acceleration and so on.
The illustration and the opening paragraph, which is all about devices that run Doom, not "play" it, isn't helping either.
Edit: Seems I was wrong about training, it does do it, more details: https://youtu.be/QammxdPqP4g?t=08m57s
Good for active learning or fine-tuning at the edge, but it is to slow for model development in practice.
At least 60% according to this paper: https://arxiv.org/abs/2301.00774
More background here:
https://math.stackexchange.com/questions/432017/can-random-n...
I'm sure there may be isolated exceptions where this wouldn't happen and it'd be fascinating to learn about what they'd be.
To my knowledge none have been found yet. If you know of any, do share.
Then there’s also ideas like creating the weights out of another network (basically moving around in that sub space) which is a much more feasible idea and something Hardmaru has a cool article about
I was interested in dropping the weights for processing on smaller devices.
3500X increase in power efficiency, equal to over 30% annual increase in power efficiency.
> 8,580 Lay’s potatoes connected together to generate an initial 11.43W (Watts) of Power
which divides to 0.0013 Watts per potato, so you probably literally could.
(Meta: this is one of the weirdest comments I've written in a while, though "can you literally run AI on a potato in hard numbers" is very Hacker news feeling)
(And what a time to be alive)
Then, we will have just a few large chips running several functions in parallel, with those functions having the opportunity to integrate and modify each other as needed.