“It’s what you learn after you know it all that counts.” — John Wooden
Invention, meet your mother, Necessity. It’s an oft-told tale. A programmer hacks together a tool to solve a particular problem, then realizes the tool has broader applicability than he thought. He refines it a bit so it can be used over and over. Sometimes, the tool is even more valuable than the work product. And sometimes, that insight leads to a whole new company.
Just like it did with Qeexo.
Sang Won Lee and his colleagues from Carnegie Mellon University had been working as programmers-for-hire for several years, specializing in clever ways to detect and characterize fingertip presses on smartphone screens, using just little microcontrollers. Their technique relied on some clever ML models and inference code, which ran on ARM Cortex-M0 and M4 MCUs. They productized that as FingerSense, and life was rosy.
Problem was, the team had to redo everything for each new project. Every screen is different, every vendor wants something different, every sensor suite is different. That meant lots of travel, lots of on-site tweaking with customer hardware, and lots of sleepless nights. It was a traveling minstrel show called ML at the Edge.
Time to automate the process. They polished up their in-house tools and the next year cranked out 56 new variants of FingerSense without ever leaving the office. The light dawned. “Hey, we need to productize this thing.” Thus was born a new product, AutoML.
The idea is that you feed AutoML the data from your sensors (accelerometers, gyroscopes, thermometers, microphones, etc.) and let it build a model. A few sliders and radio buttons let you tweak sampling rate, weighting, your favorite algorithm, target MCU, permissible code footprint, and some other variables. Press the blue GO button and you’re done. AutoML hands back executable Cortex-M code, ready to download. It’s zero-coding for MCU-based ML.
Sang says even if you are an experienced ML coder, AutoML is faster, and therefore, more profitable for programmers and their employers. There’s little to be gained from hand-crafting models and massaging input data. Let the tool do it based on observable criteria like code size and latency. And, if you’re not an experienced ML programmer, so much the better. AutoML can make you look like one to your boss.
Like a lot of online development tools, there are three pricing tiers. Bronze level is free (for now) and comes with 2GB of online storage for sensor data and resulting models. Silver and Gold levels permit more simultaneous users, include more storage, more training, and more hardware support. Subscription pricing for the latter two tiers is negotiable.
Machine learning is terra incognita for most of us, like DSPs and GPUs of past years, or like VR now. There’s demand for the talent but no supply. That makes automated tools like AutoML vitally important. Experts may sniff that it’s like putting training wheels on a Ducati. If you don’t know how to operate the machine, stay off it. But product deadlines won’t wait for us to come up to speed. Nobody complains about using a C compiler instead of an assembler, or Verilog instead of a protractor and mechanical pencil. Tools like AutoML raise the level of abstraction and increase productivity by broadening the developer base. It’s a gateway to a whole new world of ML at the edge.