Placeholder Image

字幕表 動画を再生する

  • [MUSIC PLAYING]

  • PETE WARDEN: So thanks so much, Raziel.

  • And I'm real excited to be here to talk about a new project

  • that I think is pretty cool.

  • So TensorFlow Lite for microcontrollers--

  • what's that all about?

  • So this all comes back to when I actually first joined Google

  • back in 2014.

  • And as you can imagine, there were a whole bunch

  • of internal projects that I didn't actually

  • know about, as a member of the public, that

  • sort of blew my mind.

  • But one in particular came about when I actually

  • spoke to Raziel for the first time, and he explained.

  • And he was on the speech team at the time working

  • with Alex, who you just saw.

  • And he explained that they use neural network models

  • of only 13 kilobytes in size.

  • At that time I only really had experience with image networks.

  • And the very smallest of them was still

  • like multiple megabytes.

  • So this idea of having a 13-kilobyte model

  • was just amazing for me.

  • And what amazed me even more was when

  • he told me why these models had to be so small.

  • They needed to run them on these DSPs and other embedded chips

  • in smartphones.

  • So Android could listen out for wake words, like "Hey, Google,"

  • while the main CPU was powered off to save the battery.

  • These microcontrollers often only

  • had tens of kilobytes of RAM and flash storage.

  • So they simply couldn't fit anything larger.

  • They also couldn't rely on cloud connectivity

  • because the amount of power that would have been drained just

  • keeping a radio connection alive to send data over

  • would have just been prohibitive.

  • So that really struck me, that conversation

  • and the continued work that we did with the speech team,

  • because they had so much experience

  • doing all sorts of different approaches with speech.

  • They'd spent a lot of time and a lot of energy experimenting.

  • And even within the tough constraints

  • of these embedded devices, neural networks

  • were better than any of the traditional methods they used.

  • So I was left wondering if they'd

  • be really useful for other embedded sensor applications

  • as well.

  • And it left me really wanting to see if we could actually

  • build support for these kind of devices into TensorFlow itself,

  • so that more people could actually get access.

  • At the time, only people in the speech community

  • really knew about the groundbreaking work that

  • was being done, so I really wanted

  • to share it a lot more widely.

  • So [LAUGHS] today, I'm pleased to announce

  • that we are releasing the first experimental support

  • for embedded platforms in TensorFlow Lite.

  • And to show you what I mean, here

  • is a demonstration board that I actually have in my pocket.

  • And this is a prototype of a development

  • board built by SparkFun.

  • And it has a Cortex-M4 processor with 384 kilobytes of RAM

  • and a whole megabyte of flash storage.

  • And it was built by Ambiq to be extremely low power,

  • drawing less than one milliwatt in a lot of cases.

  • So it's able to run on a single coin battery like this

  • for many days, potentially.

  • And I'm actually going to take my life in my hands

  • now by trying a live demo.

  • [LAUGHS] So let us see if this is actually--

  • it's going to be extremely hard to see,

  • unless we dim the lights.

  • There we go.

  • So what I'm going to be doing here

  • is, by saying a particular word, and see if it actually lights

  • up the little yellow light.

  • You can see the blue LED flashing.

  • That's just telling me that it's running [INAUDIBLE]..

  • So if I try saying, yes.

  • Yes.

  • [LAUGHS] Yes.

  • [LAUGHS] I knew I was taking my life into my hands here.

  • [LAUGHTER]

  • Yes.

  • There we go.

  • [LAUGHS]

  • [APPLAUSE]

  • So I'm going to quickly move that out of the spotlight.

  • [LAUGHS] So as you can see, it's still far from perfect.

  • [LAUGHS] But it is managing to do

  • a job of recognizing when I say the word,

  • and not lighting up when there's unrelated conversations.

  • So why is this useful?

  • Well first, this is running entirely locally

  • on the embedded chip.

  • So we don't need to have any internet connection.

  • So it's a good, useful first component of a voice interface

  • system.

  • And the model itself isn't quite 13 kilobytes,

  • but it is down to 20 kilobytes.

  • So it only takes up 20 kilobytes of flash storage

  • on this device.

  • And the footprint of the TensorFlow Lite

  • code for microcontrollers is only another 25 kilobytes.

  • And it only needs about 30 kilobytes of RAM

  • available to operate.

  • So it's within the capabilities of a lot

  • of different embedded devices.

  • Secondly, this is all open source.

  • So you can actually grab the code yourself

  • and build it yourself.

  • And you can modify it.

  • I'm showing you here on this particular platform,

  • but it actually works on a whole bunch

  • of different embedded chips.

  • And we really want to see lots more supported,

  • so we're keen to work with the community

  • on collaborating to get more devices supported.

  • You can also train your own model.

  • Just something that recognizes yes isn't all that useful.

  • But the key thing is that this comes with a [INAUDIBLE]

  • that you can use to actually train your own models.

  • And it also comes with a data set

  • of 100,000 utterances of about 20 common words

  • that you use as your training set.

  • And that first link there, the aiyprojects one,

  • if you could actually go to that link

  • and contribute your voice to the open data set,

  • it should actually increase the size

  • and the quality of the data set that we can actually

  • make available.

  • So that would be awesome.

  • And you can actually use the same approach

  • to do a lot of different audio recognition

  • to recognize different kinds of sounds,

  • and even start to use it for similar signal processing

  • problems, like things like predictive maintenance.

  • So how can you try this out for yourself?

  • If you're in the audience here, at the end of today,

  • you will find that you get a gift box.

  • And you actually have one of these in there.

  • [APPLAUSE]

  • [LAUGHS]

  • And all you should need to do is remove the little tab

  • between the battery, and it should automatically boot up,

  • pre-flashed, with this yes example.

  • [LAUGHTER]

  • So you can try it out for yourself,

  • and let me know how it goes.

  • Just say yes to TensorFlow Lite is the--

  • [LAUGHTER]

  • And we also include all the cables,

  • SO you should be able to just program it

  • yourself through the serial port.

  • Now these are the first 700 boards ever built,

  • so there is a wiring issue.

  • So it will drain the battery.

  • It won't last.

  • It would last more like hours than days.

  • But that will actually, knock on wood,

  • be fixed in the final product that's shipping.

  • And you should be able to develop

  • with these in the exact same way that you

  • will with the final shipping product.

  • And if you're watching at home, you

  • can pre-order one of these form SmartFun

  • right now for, I think, it's $15.

  • And you'll also find lots of other instructions

  • for other platforms in the documentation.

  • So we are trying to support as many

  • of the modern microcontrollers that are out there that people

  • are using as possible.

  • And we welcome collaboration with everybody

  • across the community to help unlock all of the creativity

  • that I know is out there.

  • And I'm really hoping that I'm going

  • to be spending a lot of my time over the next few months

  • reviewing pull requests.

  • And finally, this is my first hardware project,

  • so I needed a lot of help from a lot of people

  • to actually help bring this prototype together,

  • including the TF Lite team, especially Raziel, Rocky, Dan,

  • Tim, and Andy.

  • Alister, Nathan, Owen, and Jim at SparkFun were lifesavers.

  • We literally got these in our hands middle of the day

  • yesterday.

  • [LAUGHTER]

  • So the fact that they managed to pull it together

  • is a massive tribute.

  • And also Scott, Steve, Arpit, and Andre

  • at Ambiq, who actually designed this process and helped us

  • get the software going.

  • And actually a lot of people at Arm as well, including a big

  • shout out to Neil and Zach.

  • So this is still a very early experiment,

  • but I really can't wait to see what people build with this.

  • And one final note.

  • I will be around to talk about MCUs

  • with anybody who's interested at the breakout session on day

  • two.

  • So I'm really looking forward to chatting to everyone.

  • Thank you.

  • [APPLAUSE]

  • RAZIEL ALVAREZ: Thanks, Pete.

  • We really hope that you try this.

  • I mean, it's the early stages, but you see a huge effort

  • just to make this happen.

  • We think that it will be really impactful for everybody.

  • Now before we go again--

  • and I promise this is the last thing you hear from me--

  • I want to welcome June, who's going

  • to talk about how, by using TensorFlow Lite with the Edge

  • TPU Delegate are able to train these teachable machines.

  • [MUSIC PLAYING]

  • [APPLAUSE]

  • JUNE TATE-GANS: Thanks, Raziel.

  • Hi.

  • My name is June Tate-Gans.

  • I'm actually one of the lead software engineers inside

  • of Google's new Coral Group.

  • And I've been asked to give a talk about the Edge

  • TPU-based teachable machine demo.

  • So first, I should tell you what Coral is.

  • Coral is a platform for products with on-device machine learning

  • using TensorFlow and TF Lite.

  • Our first two products are a single-board computer

  • and a USB stick.

  • So what is the Edge TPU?

  • It's a Google-designed ASIC that accelerates inference directly

  • on the device that it's embedded in.

  • It's very fast.

  • It localizes data to the edge, rather than the cloud.

  • It doesn't require a network connection to run.

  • And this allows for a whole new range of applications

  • of machine learning.

  • So the first product we built is the Coral Dev Board.

  • This is a single-board computer with a removable SOM.

  • It runs Linux and Android.

  • And the SOM itself has a gigabyte

  • of RAM, a quad-core A53 SoC, Wi-Fi and Bluetooth,

  • and of course the Edge TPU.

  • And the second is our Coral accelerator board.

  • Now, this board is just the Edge TPU connected

  • via USB-C to whatever development system

  • you need, be it a Raspberry Pi, or a Linux workstation.

  • Now, this teachable machine shows off

  • a form of edge training.

  • Now traditionally, there's three ways to do edge training.

  • There's k-nearest neighbors, weight imprinting,

  • and last layer retraining.

  • But for this demo, we're actually

  • using the k-nearest neighbors approach.

  • So in this animated GIF, you can see that the TPU enables

  • very high classification rates.

  • The frame rate you see here is actually

  • the rate at which the TPU is classifying

  • the images that I'm showing it.