[MUSIC PLAYING]
LAURENCE MORONEY: So Lak, you've been at Google
for only two years, which really surprised me,
because you've done so much since you've been here.
But tell me about your journey getting here.
LAK LAKSHMANAN: It's actually pretty interesting
how I got to Google.
I think I'm pretty nontraditional.
I've been in academia over 20 years.
I was working at the National Severe Storms
Laboratory, which is this weather research organization.
And midlife crisis hit.
And about four years ago, I decided
to basically take a leave of absence,
a year off, bring the wife and kids over.
We came to Seattle.
We basically did--
I joined a startup that essentially built machine
learning algorithms for farmers.
Now, we kind of are proud of how we're doing self-driving cars
at Google.
But what people don't realize is that farming,
at least in the United States, is extremely automated.
There's lots of data that's being thrown about.
Combines, tractors, they all have GPS units on them.
So there's a lot of data being thrown about.
And the idea is to basically improve farmer's yield
by taking into account things like soil and weather
and genomics, et cetera.
And something that had happened at the startup that
was very, very, very interesting was
that just before I left NOAA-- as it turned out,
I didn't realize I was leaving NOAA, but I did.
When I left NOAA, basically, we were
building this program to process years and years of radar data.
And we said, let's go back and take 15 years of data
and apply these algorithms to it so that we can build something
on top of that.
And started to do that.
And it took us about four years to basically process
15 years of data.
LAURENCE MORONEY: Wow.
LAK LAKSHMANAN: Come to the startup.
We needed to do the same thing.
We needed to build a good rainfall system.
And the idea was we're not smart people.
We have no ideas.
Instead, what we'll do--
we'll go look at all the papers that
have been published on all the different ways to estimate
rainfall.
And we will basically do all of them
and do an ensemble of them.
LAURENCE MORONEY: OK.
LAK LAKSHMANAN: So what we were doing at the startup
is exactly what we weer doing at NOAA, except we essentially
got this thing done every two weeks.
LAURENCE MORONEY: Instead of four years.
LAK LAKSHMANAN: Instead of four years.
What was different?
LAURENCE MORONEY: Well, we're experts on rainfall in Seattle.
LAK LAKSHMANAN: We're experts, yeah.
So it's probably that, the fact that we're in Seattle,
that we were motivated to do rainfall better.
But also, the difference was that we were doing it
on 70 machines at my old job, and we
were doing it on the cloud at massive scale in the new one.
We couldn't afford to buy machines,
so we were renting them.
And that was one of the things that blew my mind--
that it completely changes the way
we look at data when things that take four years,
you can do in two weeks.
LAURENCE MORONEY: Because you're not
burdened with buying and owning and maintaining machines,
right?
LAK LAKSHMANAN: Exactly.
So the infrastructure is a whole lot better.
The second aspect-- if you recall what happened in machine
learning just 2012, 2013--
CNN has just burst onto the scene.
And radar images-- they're nontraditional images,
but they're still images.
LAURENCE MORONEY: And CNN--
Convolutional Neural Networks.
LAK LAKSHMANAN: Convolutional Neural Networks.
LAURENCE MORONEY: Not the news networks.
LAK LAKSHMANAN: Yes, thank you.
Convolutional Neural Networks completely
changed the way we approach machine learning on images.
So things that we would basically do handcrafted,
we can now basically-- the neural network learns
on its own.
I had this funny realization when
I realized that there's this very famous graphic from Yann
LeCun of how CNNs learn hierarchically.
So at the very bottom, it just learns colors, and then
edges and textures, and so on.
And somewhere in the third layer,
it basically learns textures.
And that's what my PhD thesis was 20 years ago.
LAURENCE MORONEY: Wow.
LAK LAKSHMANAN: Right.
So something I spent four years developing by hand,
and the network just learns in a matter of hours.
LAURENCE MORONEY: How does that make you feel?
LAK LAKSHMANAN: It made me feel a little--
actually, not obsolete, but thrilled that--
LAURENCE MORONEY: It's a vindication of your work,
right?
LAK LAKSHMANAN: It's this idea that things
that used to be so hard, if they are now easy,
we can now start to focus on things
that were impossible before.
LAURENCE MORONEY: Exactly.
LAK LAKSHMANAN: It's that moving up the stack.
Humans move up the stack as well.
So it's like, OK, where do I go--
me asking myself two years ago, where
do I go if I want to basically do cloud,
and I want to be at the forefront of machine learning?
And there's really no other place to be.
LAURENCE MORONEY: So now you're here working at Google,
and you're working at-- and I love your job title.
You work with big data and machine
learning, which is really nice to see the two of those
together.
Because often, we see big data, and we see machine learning.
And that tells me people don't understand the fundamentals.
But when the two of them are connected,
that's just showing that the fundamentals
are being misunderstood.
So what is it that you're doing now?
LAK LAKSHMANAN: Right.
So at Google Cloud, I'm part of what's called the Professional
Services Organization.
So we're the organization that helps
our customers be successful on cloud by doing a few things.
We do consulting, so we work with customers
to help them build-- in terms of machine learning,
to help them build models.
But of course, that's-- you know you can't just go build
a model.
No one gives you a clean dataset in real life.
LAURENCE MORONEY: Wouldn't that be nice?
LAK LAKSHMANAN: Wouldn't that--
it would be-- I think it would be not challenging
if every time, you just got a very clean dataset,
and there's no depth to it at that point.
LAURENCE MORONEY: But I could do it not challenging
once in a while.
So you guys work with the data.
LAK LAKSHMANAN: So we work with our customers
to help them formulate the machine learning problem
in such a way that you can actually solve it,
and to solve and then figure out what
datasets they have, what datasets need to get collected,
come up with a plan, a strategy, which very rare that we can
just go in and-- although we've done it
where the customer actually has digital data.
It's perfect because they've been
doing human analysis on it.
And we just turn that around, and we figure out
how to automate it.
But those are the rare situations.
I think less than 10% of our engagements are that way.
So that's one part of what Professional Services does
in terms of consulting.
The other part that I'm super enthusiastic about as well
is that we take what we learn from teaching our customers how
to do things on cloud, and how to be successful, and create
coursework, create blog posts, create books, create
samples to enable them to do these same things themselves.
LAURENCE MORONEY: And it's a great way to scale.
LAK LAKSHMANAN: It's a great way to scale.
Because our team of a few hundred people,
we're never going to be, I think, a services organization.
We are primarily a product company.
And as Google, we believe in building great products
that scale well, that are very reliable,
but that often require some amount of customer expertise
and knowledge to be able to take advantage of.
And so we are this glue between our product
team and our customer teams.
LAURENCE MORONEY: And educating the customer,
educating the individual developer, I know,
is something that you're passionate about.
You've done a whole bunch of stuff in this area,
including-- you've written one of those animal books
at O'Reilly.
LAK LAKSHMANAN: Right.
And that was funny.
The animal book at O'Reilly came about kind
of in an organic way.
I joined Google Cloud, and I quickly
realized that the way Google approached the data and the way
Google approached processing of data
was fundamentally different from anything I had done before.
Everything I had done before involved
me thinking about Unix machines and installing software
on Unix machines and doing the processing.
And instead, Google was talking completely
about fully managed services, just code.
The idea was that as a data person, you wrote code,
and you handed it off to the system,
and it scaled it for you.
And that was incredibly liberating
where I could just write Python or Java
and not worry about the system internals.
But that was fundamentally different from what
I had ever known before.
And so I set out and said, OK, I'm
going to relearn everything that I think I know, how
to do it the Google way.
So I wrote code.
I picked a problem, and I decided that I would follow it
from [INAUDIBLE] all the way to real time streaming machine
learning, and do it along the way with all of the kinds
of data science approaches--
Bayesian things that you would do,
machine learning with traditional models,
machine learning with wide and deep networks,
the whole shebang.
So I did all of that, and I had all the code around.
And someone at the Python meetup said, hey, Lak,
could you come give us a talk?
I said, OK, I'll just walk through the code.
And I did.
So I walked through the code at this Python meetup
in Singapore.
And at the end of it, the unanimous feedback
was, this is great because it's end to end.
It is a real world example.
It's code.
We should do something more with this.
And that's when I contacted O'Reilly and said, hey,
can I wrap a book around this code?
LAURENCE MORONEY: Nice.
LAK LAKSHMANAN: And that's how.
So normally, people write books, and they write code.
I wrote code, and then I wrapped a book around it.
It's kind of fun.
LAURENCE MORONEY: Which is also my way of doing it.
When I write books, I prefer to do that.
I come up with a couple of scenarios
of how I would learn to do x, y, and z, and then--
LAK LAKSHMANAN: And I think it keeps it much more real.
LAURENCE MORONEY: It makes it easier for the author, too,
don't you find?
LAK LAKSHMANAN: Absolutely.
Absolutely.
Because once you know exactly where you're going,
and you know exactly this is the stuff that we have to--
I have to show people what it is,
this is what I learned along the way,
it is much easier to put that into words.
It's much harder to do it step by step
because you have no idea where a software project is going
to take you, especially a software
project that involves data analysis or machine learning.
If you knew the answer, you wouldn't be doing it.
LAURENCE MORONEY: Exactly.
Now, beyond books, you've also been doing some courses,
writing courses for Coursera, and getting different Googlers
to shoot them for you.
LAK LAKSHMANAN: Yeah.
Including you, Laurence.
LAURENCE MORONEY: See?
It's all about me.
So tell us about the course.
What's it like?
LAK LAKSHMANAN: So again, this course actually started out
with customer engagements.
And we had basically been working with customers
and helping them build ML models.
And essentially, the immediate feedback we heard
was, well, yeah, you've built all these things for us,
but how do we take this forward?
This is just one project.
We want to basically transform our entire company
with machine learning.
And so what we wanted to do was to basically say, OK,
how do you actually apply machine learning in practice?
And that involved how do you recognize
a machine learning problem.
How do you formulate it?
What are some of the ethics things
that you have to think about?
And once you've decided that this
is the problem that you want to solve,
what are the steps towards solving it?
How do you get the data?
How do you do the feature engineering?
What are some of the options available to you?
How do you plan for streaming later on?
And then, of course, how do you put models into production?
Which is where you came in, Laurence, so
thank you very much for providing some of that.
LAURENCE MORONEY: Well, thank you.
That's actually something that I've been looking to learn.
And so I was able to learn so much from this
by reading through how you'd written the course.
So it was like, yay, this is great.
So it's a double bonus for me.
So I hope students can learn it as well.
LAK LAKSHMANAN: So I am super thrilled in the sense
that we basically were able to go from formulating an ML
problem all the way to building really sophisticated image
sequence and recommendation models,
and in very practical terms, and to build up
code that is very reusable that we have used
in a variety of different customer engagements
that our customers have also taken and used and adapted
for their own needs.
And part of doing a course like this
is constantly keeping up to date.
And recently, we announced AutoML and BigQuery ML
and Tensor Processing Units.
And it's been fun to actually go back and take the courses
that we've already shot and say, OK,
now we need to add these other things,
because the better way to do these things has changed.
LAURENCE MORONEY: Yeah.
Well, one of the things I really liked about it
when I was looking through the material--
and I hope students are able to benefit from it
the same way-- is how some very sophisticated scenarios
are explained very simply.
So for example, distributed learning-- it's like,
well, we all just think distributed learning is like,
well, instead of throwing it at one machine,
you throw it at a whole bunch of machines, and it just works.
But some of the strategies that you
need to follow to be very efficient and--
LAK LAKSHMANAN: Absolutely.
So you can throw it at a bunch of different machines.
But when you throw it at bunch of machines,
there are different ways that you can throw it.
You can split your model, or you can split your data.
And what you choose to do, surprisingly--
or not so surprisingly--
has an impact on how fast it trains, how well it trains.
And you choose different strategies
for different types of models.
Models that are sparse, you tend to split your data.
Models that are deep you, tend to have--
so it's all of these kinds of real world, practical--
the rules of thumb, if you will.
But these are things that work and have been shown to work.
And we basically synthesize it, and we--
that's basically what we do do in the course.
LAURENCE MORONEY: So for somebody
who wants to get into machine learning,
just going from end to end, from building that first model all
the way through running it in production,
it's a great course.
But what's it called?
LAK LAKSHMANAN: It's called Machine Learning on GCP.
That's the first five courses.
And Advanced Machine Learning on GCP.
That's the next five.
So look for them, and you will find them linked from
cloud.google.com /training/dataml.
You should see the link on the YouTube video.
LAURENCE MORONEY: Yeah.
We'll put them in the description below.
So thanks so much, Lak.
This has been a whole lot of fun.
LAK LAKSHMANAN: Thanks.
It's been a lot of fun for me well.
LAURENCE MORONEY: And thanks, everybody,
for watching this episode of "Coffee With a Googler."
It you have you questions for me,
or if you have any questions for Lak, just
please leave them in the comments below.
Whatever you do, don't forget to hit that Subscribe button.
Thank you.