The last year or two has seen an explosion in the availability of embedded hardware capable of carrying out machine learning tasks on edge, and as a result we’ve potentially seen the start of a sea change about how we think about both machine learning, and how the Internet of Things might be built.
But when we talk about hardware at the edge we’re increasingly talking about two separate types of hardware. We’re seeing machine learning inferencing done on impressively tiny hardware like the OpenMV Camera Board, or the recently released SparkFun Edge, all the way down to Xnor’s new battery free edge computing hardware that runs on solar power.
However we’ve also seen custom silicon, like Intel’s Neural Compute Stick, the BeagleBone AI, and Google’s recently released Edge TPU hardware, offering to machine learning inferencing acceleration at the edge. More power hungry than the tiny boards, these boards based around custom ASIC are blindingly fast by comparison.
Traditionally, NVIDIA’s offering in this space—built around their GPU-based hardware—has been higher powered again, and has been comparatively expensive. Their Jetson TX boards cost between $299 and $799, while their high-end Jetson AGX Xavier board has a price tag of $1,099. But all that changed earlier today with NVIDIA’s announcement of the Jetson Nano module and developer kit.
“Jetson Nano makes AI more accessible to everyone — and is supported by the same underlying architecture and software that powers our nation’s supercomputers. Bringing AI to the maker movement opens up a whole new world of innovation, inspiring people to create the next big thing.” — Deepu Talla, VP and GM of Autonomous Machines, NVIDIA.
Aimed directly at “makers and learners,” the Jetson Nano module will retail at a much more reasonable $129. Though it’s the Jetson Nano Developer Kit that most people will be interested in, as in presumably what is a loss leading move to attract developers to the platform, NVIDIA is selling it at just $99.
Yes, that’s right. You can get a Jetson Nano module, and a dev kit, for $30 less than buying the module on its own. But since it is only possible to order the Jetson Nano module on its own with a minimum order quantity of 1,000 units, maybe they just make that up in volume?
The Jetson Nano is built around a 64-bit quad-core Arm Cortex-A57 CPU running at 1.43GHz alongside a NVIDIA Maxwell GPU with 128 CUDA cores capable of 472 GFLOPs (FP16), and has 4GB of 64-bit LPDDR4 RAM onboard along with 16GB of eMMC storage and runs Linux for Tegra. The 70 × 45 mm module has a 260-pin SODIMM connector which breaks out interfaces including video, audio, USB, and networking, and allows it to be connected to a compatible carrier board.
Which brings us to the Jetson Nano Developer Kit. Released alongside the Jetson Nano module, the kit acts both as an evaluation board for the module and an example of a carrier board. Amongst other things it has support for Gigabit Ethernet, 4 × USB 3.0 sockets, both HDMI and DisplayPort ports, an MIPI-CSI camera socket, micro SD Card slot, and Power-over-Ethernet (PoE).
The board also offers GPIO, I2C, I2S, SPI, PWM, and UART via a 40-pin GPIO header block suspiciously similar to the one used by the Raspberry Pi.
“The Jetson Nano Developer Kit includes a 40-pin breakout header that is compatible out of the box with many peripherals and other add-ons… the default GPIO settings on Jetson Nano are compatible with many ecosystem add-on modules and IO hats. The Jetson GPIO Python Library gives you full control of the I/O headers to program them for different modules and interfaces.”
Power consumption for the board is estimated to be between 5 and 10W, and it can be powered from the single micro USB port next to the Ethernet socket. However, looking at the requirements for the kit one thing that immediately jumps out at me about the new board are the potentially problematically high specification requirements for the power supply.
NVIDIA recommend that the Jetson Nano Dev Kit should be powered using a 5V/2A to 3.5A micro-USB power supply, with a further recommendation to use a 5V/4A power supply if you “…are running benchmarks or heavy workload.” Which does make me slightly dubious about the estimated power consumption of 5 to 10W?
Also, considering how hard it is to find a reliable 2.5A power supply for the Raspberry Pi with the official Raspberry Pi USB power supply being one of the few reliable options, I’m rather unsure where you’d actually go about sourcing a workable 3.5A USB power supply? Especially since actually providing 3.5A over USB is, as far as I’m aware, well outside the USB specification.
Fortunately the board has a barrel jack as well, which means that you can power it using a ‘normal’ DC supply, and not even having my hands on the hardware quite yet I think that’ll be my recommendation. With all the under voltage issues people see with the Raspberry Pi, it’s probably not worth even trying to go down the micro-USB route.Software
One of the interesting things about the Jetson Nano is that it isn’t a cut down version of NVIDIA’s other boards, and supports a range of different machine learning frameworks including TensorFlow, PyTorch, MxNet, Keras, and Caffe.
“The Jetson Nano Developer Kit is exciting because it brings advanced AI to the DIY movement in a really easy-to-use way. We’re planning to introduce this technology to our maker communities because it’s a powerful, fun and affordable platform that’s a great way to teach deep learning and robotics to a broader audience.” — Chris Anderson, CEO of 3DR
While this across-the-range support of their software stack means that the new board has more flexibility, unlike Google’s recently released EdgeTPU based hardware, the new NVIDIA hardware isn’t necessarily entirely as optimised for the edge.
Relatively high-powered compared to its competitors, it is instead aimed at comparatively high end machine learning tasks, like running inferencing using multiple neural networks per sensor (or video feed).Performance
The end of Moore’s law is no longer just a prediction, it’s a fact the industry has been dealing with for years now, and it has driven the rise of the general purpose GPU. These days a GPU isn’t just for graphics any more.
It’s arguable that the peace dividend of the smart phone wars was one of the things that drove the maker movement. It is the new peace dividend, fallout from the battles around autonomous vehicles, that could well be driving machine learning on embedded hardware and the new custom silicon we’ve seen from Intel and Google.
NVIDIA’s new Jetson board is, like it’s bigger brothers, based around their GPUs and anecdotally at least it is the blockchain wars that have, over the last few years, driven GPU pricing.
However due to the constraints imposed by their power hungry nature GPU-based hardware haven’t been widely deployed at the edge, with the new Jetson Nano being perhaps the first ‘low end’ GPU-based hardware I’ve seen aimed toward the burgeoning machine learning communities.
Unsurprisingly, initial benchmarking data from NVIDIA suggests that the the Jetson Nano significantly out performs the Intel Neural Compute Stick 2.
“The NVIDIA Jetson Nano… delivers ×3 to ×4 higher AI performance than platforms such as the Intel Neural Compute Stick 2”
The NVIDIA Jetson Nano is high-end, high-power hardware compared to Movidius-based the Intel Neural Compute Stick, or the EdgeTPU-based Coral hardware from Google. That shows not just in performance, but in the wide software support offered by the Jetson hardware.
Although, for supported networks, the Google Coral Dev Board more than holds its own against the new NVIDIA Jetson Nano hardware, substantially outperforming it when using MobileNet SSD v2 based models.The JetBot
The JetBot is an open source AI project built around the NVIDIA Jetson Nano Developer Kit. The kit is based on a 3D-printable chassis, and can be made for under $250, with a full bill of materials being made available as part of the project’s GitHub repo.
“The JetBot project provides you will all the hardware and software instructions needed for you to quickly build a robot based on the Jetson Nano Developer Kit. The JetBot project demonstrates how Jetson Nano is able to run multiple neural networks on a single video stream from the camera.”
Instructions on how to build the JetBot are also available on GitHub.Availability
The Jetson Nano module and the Jetson Nano Developer Kit were announced earlier today at the NVIDIA GPU Technology Conference. The new hardware will be available directly from NVIDIA and through their normal distributors, but will also be available from SparkFun and Seeed Studio.
The Jetson Nano Development Kit costs $99, and includes a Jetson Nano module. While the Jetson Nano module itself costs $129, with a minimum order quantity of 1,000 units (or more). While Jetson Nano modules are not expected to begin shipping until June, the Developer Kit is available now.