[MUSIC].
>> It's time now to talk about another impactful topic,
which is Responsible AI.
Sana, who do you have with you?
>> I've got someone who might
know a thing or two about that.
Please welcome Principal Program Manager
for Responsible AI, Sarah Bird.
Hi Sarah, welcome to Microsoft Build.
>> Thanks Sana, thanks for having me.
>> Sarah, you lead
Responsible AI within Cognitive Services.
Can you tell us a little bit more
about what Responsible AI
means and what it looks like within Microsoft products?
>> Absolutely. Responsible AI is
really a collection of tools and
processes and practices that enable us to think
about how do we make sure our technology
has the most positive impact on the world?
As technology creators, we get to
think most of the time about
all the great benefits
that AI is going to bring to everyone.
But we also have to recognize
that as with any technology,
the impact does not fall evenly on all groups of people.
Often the groups that are already left behind in
society historically see the most negative benefit.
We have to make sure as we're developing this technology
that we think about those potential consequences, and
we make sure that we design the technology to avoid them
so we can have all of that positive impact we're looking
for without having unintended consequences on the world.
When we think about how we do
this in Azure Cognitive Services,
we're building a lot of the core models
that are lower in the technology stack,
which means that people can use them to
build many different experiences on top of that.
For example, we'll build a
speech-to-text model which can be
used inside of Microsoft Teams
to transcribe our meeting live.
But it can also be used in other settings such as in
Windows to enable you to
have command and control over your device.
We have to think both about how
we develop the technology responsibly,
like what would we need to do to the core model,
but also how we enable people building
experiences on top of it to use it responsibly.
In our work, a lot of what we're doing is
first looking at a technology,
understanding the full shape of the technology and the
potential for positive benefits
and those potential negative benefits.
Then we look at designing
the technology and figuring out what can we
do to ensure that we're
minimizing those negative outcomes?
One of the main things we've done,
for example, across all of our services is
look at the fairness of the technology.
Look at, for example,
that we looked at that speech to text system
that I was talking about.
I'm going to look at what different factors
might change the performance of the system?
For example, would it vary by
gender or age or people's accents?
We define those factors and then we
actually test the system to make sure
that we're getting good performance
across all of those dimensions for
different groups of people and
improve the performance if we find any disparities.
We install that to make sure it's systematic testing
so that every time we update the model or we change it,
we're still ensuring that we're meeting
our fairness goals and that
the model is going to work well for everyone.
>> Awesome. So this fairness testing,
this is really a thoughtful approach that
you and your team are doing on the Microsoft end.
But how does this translate to
developers who want to start using these models?
Is there something they have to do
more to use these models?
>> Yeah, absolutely. That comes
to that other dimension that I was talking about,
which is the responsible use of the technology.
Developers, they often are
the ones that own the complete system where
they're taking our models and
the cognitive services and they're
building that end-to-end application.
There's a lot that we need to look at
at the application level,
not just the core model.
If we go back to the example
I was just talking about,
the fairness testing, then
we've done testing on the core model,
but it may be that
a developer's application has
a different distribution of
data or is used in a different context.
They actually need to do
their own fairness testing on top of our model,
but with their data and test
the end-to-end system and the performance of that.
But there's more than just thinking about fairness.
For example, if you're
using one of these models in a setting
where failure or an error that
the model made could have significant consequences,
then you may also need to design backup systems.
For example, having a human in
the loop to look at a failure of the model and be able
to adjust so that the end-to-end system is
robust even if the model occasionally makes mistakes.
We've actually released a lot of new documentation,
which I know you were just talking about, that enables
developers to understand how we've created our models.
What are the characteristics of the performance?
What are the limitations of the model?
What are different things that they
actually need to consider when
they're developing the system
so that they can use it responsibly?
>> Awesome. So you mentioned docs.
What are other tools for developers who want
to use these custom AI models,
but want to do so in a responsible way
when integrating into their app?
>> Yes, so we have a suite of
open-source tools which enable
you to better understand the behavior of your model.
These are the same types of tools that we use internally.
Part of the way we analyze our models and make sure
that you aren't having
unintended consequences is
really understanding their behavior.
Understanding the cases where it's making
errors or why it's making particular decisions.
We have an open-source tool called Fairlearn,
which actually developers can use both on
their own data to test the fairness of our models,
as I was just mentioning before,
but you can also use that to look
at the fairness of your model on
your data and understand if
it's performing differently for
different groups of people.
We also have InterpretML, which enables you
to explain why your model is making particular decisions,
so you can understand if it's learned something
incorrectly or it's making
correlations that you don't want it to.
Finally, we actually just released a brand new
one called Error Analysis, which I love,
which enables you to actually look
at the largest clustering of error in your data and say,
okay, I've got a lot of errors here.
Let's look at what's similar
across all of these examples.
You can see, for example,
that all of the images involve women with short hair
and understand that your model's having
challenges there and go and say,
well, maybe I need to improve
the training data, for example.
We have all of these tools in
the open source to enable anyone who's building
in AI systems to be able to
better understand how their models are working.
>> That's really fascinating.
I think it's awesome that you guys have
all these tools and thank you so much for
sharing the principles of
Responsible AI that you and
your team are building in these models,
but also the entire system.
Thank you for joining us, Sarah.
>> Thanks for having me.
>> Awesome.