Movidius: AI on a stick
Most readers of RG are – probably to their growing frustration – familiar with my ranting and raving about those gorgeous old-school computers. That last annoying article was an example of my passion for old-school computers with proper front panels with ubiquitous “blinkenlights” and switches.
Of course, all such ramblings, like most of what sprouts from my worryingly odd mind, is to be taken with a grain of salt. AI technology these days is truly fascinating, and is nearly impossible to realize effectively on old-school 8-bit machines. It’s sad but true. And I do miss those blinkenlights.
Recently one of those modern powerhouses – on a stick no less – caught my eye, it’s called Movidius. That sounds like old Latin, but it isn’t – in fact it’s state-of-the-art computing technology. Unfortunately without any blinkenlights. Movidius is a company based in San Mateo, California that designs specialised low-power processor chips for computer vision and deep-learning. It was announced that the company was to be acquired by Intel in September 2016, and that indeed happened.
Artificial intelligence (AI) is one of those things that, like clean energy from nuclear fusion, has for decades held the promise of being set to have a profound impact on society — and advances made in recent years have seen AI finally being put to use in a greater number of practical applications. However, an enduring challenge has been that many key applications, such as vision processing, are computationally intensive and thereby rule out local processing in low power devices.
Movidius — as mentioned, now an Intel company — is changing this with its Myriad 2 Vision Processing Unit (VPU), which delivers software programmable machine vision with an ultra low power budget. The power consumption of this supercomputer on-a-stick is all of…. 1 watt! Obviously, all this enables low cost machine vision development and prototyping.
100Gflops for 1 watt
100 gigaflops is impressive. A gigaflop is a unit of computing speed equal to one billion floating-point operations per second. So one-hundred gigaflops is not exactly a moderate pace of operations. In fact only a few years ago it would be classified as performance in the exclusive realm of supercomputing. And that supercomputer from a few years ago didn’t operate on 1 watt input power, I can assure you. This is impressive stuff.
So, the Movidius Neural Compute Stick delivers fantastic performance for, for example, vision processing applications. It is achieving this via a 600MHz system-on-chip (SoC) that integrates 12x VLIW 128-bit processors that are centred around 2MB of 400Gbps transfer-rate on-chip memory.
The stick has ample connectivity facilities – even ultra-fast networking – but for most applications a USB interface will suffice.
Coding AI: the Caffe framework
In the bad old days I’d fumble around with early versions of Prolog. These days we have much more powerful tools. Support for deep learning applications is provided via the open source Caffe framework that is developed by Berkeley Artificial Intelligence Research (BAIR) Lab. Caffe’s guiding principles are:
- Expression: models and optimizations are defined as plaintext schemas instead of code.
- Speed: for research and industry alike speed is crucial for state-of-the-art models and massive data.
- Modularity: new tasks and settings require flexibility and extension.
- Openness: scientific and applied progress call for common code, reference models, and reproducibility.
- Community: academic research, startup prototypes, and industrial applications all share strength by joint discussion and development in a BSD-2 project.
The project website provides a tour of the Caffe anatomy and functions. I can highly recommend it. The API and toolkit runs initially from a Ubuntu (Ubuntu Linux 16.04 x86-64 system) platform, and can be, if so desired, be subsequently installed on other platforms – even on a Raspberry PI.
Machine vision is only one example, and machine vision applications include:
- Drones and robotics
- Augmented and virtual reality
- Smart security
It’s easy to see how this technology could be put to use in security cameras that, for example, identify a vehicle parked in the driveway or distinguish a burglar from a pet. You could equally imagine it adding a great deal of value in a household robot — e.g. vacuum cleaner — and drone applications, where you might want to avoid or seek out certain objects. These are just some of the uses for the technology and there are quite clearly going to be a great deal more.
The Movidius technology is already enabling the practical application of AI in many real world applications and continues to find use in cutting edge products, such as 4K VR pixel processing for smartphone add-ons and sense-and-avoid systems for drones. The availability of the Neural Compute Stick means that anyone can immediately start to experiment with products like the Myriad 2 VPU, and with ease add powerful deep learning capabilities to existing embedded platforms.
I still maintain that it should have blinkenlights, but that is just stubborn me.
By the way – if among our readers are those that, like me, are interested in old-school retro-computing, I can write a nice article about modern retro-computing kits. Yes, kits. DIY. Grab your soldering iron (the right end, please, when it’s cold) and start building one! A genuine PDP-8 experience, anyone? Running on standard COTS modern hardware, of course, and… really affordable. But with the original front panel graphics, those all-important blinkenlights, front panel switches, and 100% CPU-cycle level emulation – and therefore, 100% compatibility with the original software.
Just let me know and I’ll show you. Most certainly no gigaflops, but fascinating!