[MUSIC PLAYING]
PRIYANKA VERGADIA: Hello, everybody.
Welcome to "AI, the Future of Us."
This is a podcast-style video series
that explores the ways in which AI is shaping our future
and how we can prepare ourselves for the challenges that
lie ahead.
I'm your host, Priyanka Vergadia.
And today, we are joined by Paige Bailey,
who is a Product Lead for generative AI models at Google.
Thank you for being here, Paige.
PAIGE BAILEY: Absolutely, thank you for having me.
PRIYANKA VERGADIA: Amazing.
Well, let's dive right in.
I am so excited to just explain to our viewers
today your background and your expertise in the AI.
I've been watching you for quite some time,
but I think you should go through an introduction.
PAIGE BAILEY: Absolutely.
So I've been doing AI for quite a while,
back before it was cool.
I started off as a machine learning engineer and a data
scientist and was doing that for a bit over a decade
and then transitioned to developer advocacy and product
just a few years ago.
I'm a boomerang back to Alphabet,
so I'm currently working within Google research,
helping bring generative models to all of the product surfaces
that we have in Alphabet, particularly
with the focus on machine learning
for software development.
And while I was gone from Alphabet during the pandemic,
I worked at GitHub as one of their product
leads for machine learning and for ML ops.
So it was really exciting to see how
the industry has changed, especially
in the last couple of years.
And I'm really jazzed to talk to you, too,
about some of the upcoming things
that we've been working on together to get released out
to users from Google.
PRIYANKA VERGADIA: That is amazing.
So with that background, it definitely
leads me into the impact of AI on developers and development
in general.
What are your thoughts about that?
PAIGE BAILEY: Absolutely.
So the software development field, it feels like every day,
there's a new startup being created
for ML for code generation or ML for code explanation, lots
of these kind of inner loop developer activities.
And when I say inner loop, I mean
kind of the process of building software within your IDE.
But really, the most exciting things to me
are what happens after the software has been shipped,
and you can start asking interesting questions
about, how do I make this deployment more efficient?
How do I make this code more concise?
How do I migrate from one API or one framework to another?
So I think they always were the most tedious bits for me
about doing software development and maintaining
systems over time.
And I'm really jazzed, in particular,
about the potential for AI to take away
those more mundane activities and to make it
so that we can all focus on the fun part of the job, which
is asking questions, creating things, and then using code
to solve problems.
PRIYANKA VERGADIA: Yeah, and just
becoming a lot more productive in the process, right?
PAIGE BAILEY: Yes, absolutely.
PRIYANKA VERGADIA: So if you can think of examples
of effective use cases of AI for developers,
what would one, two, three examples be?
PAIGE BAILEY: Sure, so at Google,
we've been thinking about this for quite some time.
We have an internal system such that all of our code
is hosted in a monorepo, and we also
have telemetry baked into our entire software development
process.
So we understand how engineers are working together
to discuss code, to write code, going through this code review
process.
And all of that is really magical training data
for its entire end-to-end lifecycle.
So things that we've been able to do internally
include things like you might have
seen coming from GitHub Copilot or some
of the other tools around really nice code completion.
So being able to do both single-line and then
multi-line code completions that are really contextualized.
And sort of using retrieval techniques as well,
so it's optimized for whatever file or whatever repo you're
working in.
So as you're authoring code, that
makes you much more efficient, much more productive.
We've also started applying machine learning
to code review processes.
So as you could imagine, if a reviewer requests a change,
automatically being able to generate code
to support that change.
And then there's another aspect--
there was a paper released recently from the learning
to perf team where you can identify bits of code that
aren't necessarily as efficient as they could be
and being able to, at scale, apply those changes
and save a lot of money in the process.
So if you imagine all of Google's data centers and all
of the C++ code running in Google's data centers,
if you're capable of finding just one small change that
would impact processes running across multiple systems,
then you can end up saving hundreds of thousands of GCUs.
We refer to them as Google Compute Units internally,
but you can really just think about it
in terms of the order of millions or billions of dollars
of savings per year across Google's entire fleet.
So those are three different categories, both writing code,
this process of reviewing code and collaborating
with your peers, and then also, after the code has
been shipped, how do you make it much more
efficient and performant.
PRIYANKA VERGADIA: The one thing that also sticks out to me from
the cloud side of things-- me being big developing for cloud
and building applications in the cloud--
as a developer in cloud, being able to ask code samples
for Google Cloud specific use cases,
that would be something that I am really looking forward to.
PAIGE BAILEY: Absolutely, being able to get, again,
these kind of context-aware recommendations is really huge.
Because many of these tools, I think,
are trained on publicly available source codes that may
or may not be fit for purpose for the kinds of production
work that you need to do.
And if you can get recommendations
that are hyper-optimized with either the latest
APIs or the kinds of APIs that might
be beneficial for working on GCP,
that would be very, very powerful.
PRIYANKA VERGADIA: All right, so looking ahead for developers
and AI just in general, what do you believe
is the most exciting potential applications of AI
or even things that are coming out from Google, given
you're on the research side and the model building side?
I'm excited to learn a little more about what's
coming, what to look out for, and what's already there
that we maybe haven't looked deeper into?
PAIGE BAILEY: Yeah, so that's a great question.
I think that no one would challenge the statement
that in the last year, it feels like things are increasing
exponentially in terms of the capabilities that are supported
by these generative models.
I think that right now, we're very reliant on language
models, and increasingly, we're going to be focused more
on multimodal models.
So being able to do things like drawing a picture of what you
would want a website to be and then automatically having it
created for you.
I think another thing that I'm really passionate about myself
is tool use and also being able to have these kind of agents
navigate websites.
So you could imagine going on zillow.com saying,
help me find a two bedroom, two bathroom house within Palo
Alto within this budget, and also,
please make sure that it has a lot of very sunny windows.
And then just through looking at the information in HTML, CSS,
and JavaScript on the website, a little agent
is able to self navigate towards a subset of the Zillow
properties that meet those requirements, which
would require it to understand not just code to generate code,
to understand natural language queries,
to decompose them into steps, and then
also to be able to look at images of the properties
and see those characteristics.
So I think that's really interesting in terms
of applications.
PRIYANKA VERGADIA: That is such a great example,
and it applies to so many other things as well, like retail
and searching a product.
It's so hard.
I have stopped shopping at this point
because it's just so hard to find a thing that I would like,
because it takes hours and I'm not a patient person.
So it's like being able to just type something like that.
And I know Lens does that today, which I actually use--
inside Google Photos when you click on the Lens button.
I use that feature quite a bit because I
do come across pictures where it's like, oh,
where did you get that code from, right?
PAIGE BAILEY: Exactly.
PRIYANKA VERGADIA: And then it just points you
to at least similar things or, if not, the exact same thing
that you can buy.
So there are some things that already exist
and some amazing use cases that you just
mentioned that would be so cool and would be so efficient when
it comes to saving our time and just getting us to the answers
faster.
PAIGE BAILEY: Absolutely.
PRIYANKA VERGADIA: OK, anything else
you would like to add before we wrap it up?
PAIGE BAILEY: So one thing that I would like to mention
is that we're currently working on a variety of ML
for software development features that
will be available to folks externally, one of which
is introducing code support into Bard.
So if folks haven't tried it out yet.
There's also the ability in Bard not
only to generate natural language,
but also to generate source code with syntax highlighting.
We're adding support for exporting to Colab,
in addition to a number of other developer services.
So if you generate Python code, you can click a button
and it'll generate a Colab notebook for you
that you can run.
And then Bard will also help you debug, which is kind of cool.
And then one thing--
we were talking a little bit about the training data
that's used for these models and how often we
have these properties that generate code,
but then they don't necessarily tell you where it came from.
And you and I are both really active in the open source
communities.
It can mean a lot to say like, hey, this snippet of code
that was generated, it's very similar to code that's
in this repo with this license.
So making sure that the appropriate authors
are recognized.
And then also, as a user, if I want to write a function
to do foo, bar, baz and somebody has already implemented it,
it's much, much cooler to be able to go to that repo,
pip install whatever library is there,
and then just use that instead of having to implement
and maintain something myself.
So I think those are just a couple of things
that people might want to watch out for, go and try
themselves, and then send us feedback,
because that's the only way we get better.
PRIYANKA VERGADIA: That is so cool.
And I ended up trying to deploy a Cloud Run
application on with sample code that Bard suggested using
Python, and it did a great job.
So I'll be continuing to try on features like that with cloud
users and how cloud architects and developers can utilize Bard
as well.
PAIGE BAILEY: Very, very cool.
Excellent.
And we will never have to write regular expressions again,
like, that is the dream.
PRIYANKA VERGADIA: Oh my God, yeah.
I was always like, OK, oh my God, regular expressions?
Run away.
PAIGE BAILEY: Yes, exactly.
PRIYANKA VERGADIA: That was me.
So now I'm so relieved that at least there's
somebody who can write regular expressions and that's not me.
PAIGE BAILEY: Awesome.
PRIYANKA VERGADIA: Cool, well, thank you so much.
It was so nice having you.
PAIGE BAILEY: It was great being here.
Thank you for Thank you for inviting me,
and I'm looking forward to seeing these features roll out.
PRIYANKA VERGADIA: Amazing.
It's been incredible and insightful to hear
all of your thoughts, and we look forward
to seeing how AI will continue to shape
the world around us, especially in the developer space,
because you and I are both excited about that.
Thank you.
PAIGE BAILEY: Yep, yep.
Bye.
[MUSIC PLAYING]