►
Description
SC20 Deep Learning at Scale Tutorial
https://github.com/NERSC/sc20-dl-tutorial/
A
We
are
not
going
to
cover
in
depth
the
basics
of
deep
learning.
Today,
however,
we
will
provide
some
links
and
resources
for
introductory
material
that
you
can
follow
up
on.
If
that's
your
interest,
we've
done
this
tutorial
a
few
times
now,
including
two
previous
years
at
super
computing,
and
in
past
years
we
have
been
able
to
provide
hands-on
examples
with
training
accounts
on
our
corey
supercomputer.
A
But
due
to
the
constraints
of
this
year,
we
decided
we're
not
going
to
be
able
to
do
that,
but
we
will
provide
still
code
examples
as
well
as
do
some
live
demos
which
then
you
can
take
and
and
and
use
on
your
own
systems.
So
we're
going
to
have
examples
and
demos
for
doing
the
performance,
analysis
and
profiling
for
how
to
do
distributed,
training
and
for
how
to
do
hyper
parameter
tuning
with
the
cray
hpo
tool.
A
A
A
After
that,
the
nvidia
guys
are
going
to
talk
for
a
little
bit
about
performance,
optimization
and
profiling
and
then
switch
to
a
live
demo
to
demonstrate
the
use
of
some
profiling
tools,
then
we'll
have
a
break
and
after
the
break,
mustafa
will
tell
us
about
best
practices
for
scaling,
deep
learning
and
then,
after
that,
we're
going
to
have
another
live
demo
demonstrating
how
to
do
distributed.
Training
with
the
example
code
and
then
we'll
finish
off
the
tutorial
with
mike's
talk
about
hyper
parameter,
optimization
with
some
examples
using
the
create
hpo
tool.
A
So,
as
I
said,
we're
not
going
to
go
in
depth
into
the
basics
of
deep
learning
today.
But
here
are
a
few
links
which
you
may
find
useful.
The
first
one
is
a
link
to
our
tutorial
material.
From
last
year
at
sc19
we
did
have
a
talk
and
some
examples
more
tailored
to
introducing
deep
learning
and
also
we
had
hands-on
examples,
specifically
in
keras
and
horovod,
so
today
we're
using
pytorch.
A
If
you
prefer
to
learn
or
wish
to
learn
additionally
about
keras
and
horva,
then
you
can
go
check
out
that
material
at
berkeley
lab
for
the
past
couple
years,
we've
been
doing
a
deep
learning
for
science
school.
So
last
year
in
2019
we
had
an
in-person
week-long
event
and
quite
a
bit
of
lectures
related
to
introduction
to
machine
learning
and
deep
learning.
You
can
watch
the
videos
online
they're
on
youtube
there.
You
can
follow.
Follow
this
link
this
year
in
2020,
we
had
a
webinar
series.
A
Instead,
there
was
one
talk
which
was
introduction
to
pytorch,
which
you
may
find
useful
and
then
quite
a
bit
of
additional
advanced
topics.
So
again,
I
encourage
you
to
check
these
out
if
you're
interested
and
beyond
this.
Of
course,
there
are
many
other
great
resources
for
learning
deep
learning
online,
many
of
which
are
completely
free.
A
A
We
are
certainly
in
the
middle
of
what
you
might
call
an
ai
revolution
and
and
a
lot
of
that's
because
of
the
rise
of
deep
learning
and
ai
and
deep
learning
are
transforming
big
tech
companies
from
the
ground
up
as
they
work
in
every
part
of
their
business,
but
also
deep
learning
is
working
its
way
into
many
many
recent
technologies,
many
of
which
we
interact
with
on
a
day-to-day
basis.
A
For
example,
the
way
our
phone
understands,
what
we
say
how
we
search
the
internet
increasingly,
the
way
we
get
around
with
things
like
self-driving
cars,
deep
learning
applications
are
starting
to
show
promise
in
healthcare
and,
of
course,
many
other
things,
including
some
fun
stuff.
Like
arts
and
games.
A
It's
been
referred
to
as
software
2.0,
where,
instead
of
writing
programs
by
hand
in
some
language,
like
c
plus
plus,
we
define
this
this
complex
function
and
then
we
have
data
where
we
try
to
now
fit
that
function,
to
data,
to
learn
some
functional
mapping
of
inputs
to
outputs.
A
A
A
Some
of
the
emerging
promising
application
areas
of
deep
learning
for
science
include
analysis
of
large
scientific
data
sets
as
more
telescopes
and
particle
accelerators
are
coming
online
or
being
upgraded.
The
amount
of
science
data
out
there.
The
data
sets,
are
growing
getting
more
complex
and
deep
learning
has
shown
promise
that
being
able
to
automatically
do
analysis
of
large
data
without
using
the
handwritten
analysis,
pipelines
or
without
manual
human
analysis
or
sifting
through
data.
A
A
A
Every
day
there
are
more
and
more
papers
being
published
on
science,
applications
of
deep
learning,
there's
a
growing
presence
at
conferences,
including
the
machine
learning
conferences
such
as
nurips,
where
paper
submissions
and
attendance
popularity
is
basically
soaring,
but
also
in
the
domain
science
conferences,
where
we
see
more
and
more
submissions
and
dedicated
tracks
for
machine
learning
and
deep
learning.
A
A
Last
year
we
had
an
ai
for
science
town
hall
series
in
the
national
labs.
There
were
over
a
thousand
attendees
across
four
of
these
meetings,
and
that
culminated
in
this
300
page
report
on
ai
for
science,
which
you
can
now
go
and
read
which
talks
about
all
the
the
challenges,
the
grand
challenges
and
capabilities.
A
So
now
I
can't
talk
about
you
know
everything
that's
going
on
in
deep
learning
for
science,
but
I'm
just
going
to
briefly
highlight
a
handful
of
examples,
some
of
which
were
done
at
nursk
or
with
our
collaborators
and
colleagues
at
nursk,
and
these
kind
of
show
some
of
the
interesting
capabilities
you
can
do
with
deep
learning
for
science
such
as
cosmogan,
which
shows
the
use
of
generative
adversarial
networks
for
basically
learning
to
replace
cosmology
simulations.
A
These
two
demonstrate
super
resolution
methods.
So
the
kind
of
the
theme
here
is
that
you
might
be
able
to
use
simulators
at
a
coarse,
grained
or
lower
resolution
and
then
use
deep
learning
to
to
enhance
the
results
to
make
them
equivalent
to
higher
fidelity
simulators.
A
Exascale,
deep
learning
for
climate
analytics,
work,
torsten
and
josh
were
co-authors.
On
this.
This
shared
the
gordon
bell
prize
in
2018
ran
at
scale
on
summit.
A
Exatrax
project
is
one
that
I'm
involved
in
where
we
look
at
graph
neural
networks
for
particle
tracking.
This
is
a
nice
example
that
shows
in
science.
Often
we
have
data
that
doesn't
fit
into
images
or
sequences.
Maybe
it
has
more
irregular
or
geometric
structure.
So
we
can
utilize
methods
like
graph
neural
networks
to
tackle
problems
and
the
last
one
edoloomis
was
shown
at
sc19
last
year.
A
So,
as
we
start
to
tackle
more
complex
tasks
in
science
or
wherever,
with
bigger,
deep
learning
models
and
bigger
data
sets
the
amount
of
compute
that
we
need
to
train
those
models
grows
and
in
fact,
over
time
it
seems
like
the
amount
of
compute
needed
to
train
deep
learning
models
is
growing
exponentially,
at
least
for
some
of
the
more
popular
cases
here
on
this
open
ai
plot.
A
A
So
one
example
system
is
one:
that's
coming
online
soon
at
nursk
perlmutter,
that's
our
next
generation
system
optimized
for
science.
This
is
one
of
the
early
cray
shasta
systems.
It's
going
to
have
a
few
times
the
capability
of
corey,
our
current
system
and
we're
working
hard
to
make
sure
it
has
an
optimized
hardware,
and
software
stack
for
deep
learning.
A
Perlmutter
is
going
to
be
coming
in
two
phases:
the
first
one
late
this
year
will
have
a
lot
of
gpus
and
in
fact,
these
nvidia
a100,
ampere,
gpus,
single
tier
all
flash
storage
system
and
then
pro
motor
will
also
have
a
cray
slingshot
high
performance
network,
which
comes
in
phase
two
in
mid
2021.
A
So
we
are
very
excited
about
this
system
and
its
capabilities
for
deep
learning.
Now
we
have
our
deep
learning
methods.
We
have
our
interesting
science
problems
and
we
even
have
hpc
systems
to
throw
at
this.
But
how
do
we
make
sure
that
we
make
effective
use
of
these
hpc
systems
for
our
deep
learning
problems?
Okay,
so
this
slide
details
the
road
map
that
reflects
how
we're
structuring
the
tutorial
and
the
things
we're
going
to
go
through
today.
A
So,
first
of
all,
we're
going
to
assume
that
we
start
today
with
already
a
model
which
is
appropriate
for
solving
your
science
problem,
which
trains,
let's
say
on
a
single
cpu
or
gpu,
and
so
once
you
have
something
like
that,
which
can
at
least
learn
on
your
your
data
set
to
solve
a
problem.
A
Now
we
want
to
to
try
and
scale
up
to
use
a
large
system
for
this,
but
before
we
throw
you
know,
hundreds
or
thousands
of
gpus
at
a
problem,
it's
of
course
always
important
to
first
think
about
how
effectively
you're
using
the
single
computational
unit,
so
how
you're,
using
a
single
node
or
single
gpu,
so
we're
first
going
to
talk
about
how
you
optimize
that
performance
on
a
single
gpu
using
the
you
know
profiling
tools,
showing
you
how
to
tune
and
optimize
the
data
pipeline,
which
can
often
be
a
bottleneck
and
how
to
make
effective
use
of
the
hardware
with
things
like
reduced
mixed
precision.
A
So
we're
going
to
show
how
you
can
do
that
with
tools
like
create
hpo,
which
can
seamlessly
work
with
the
schedulers
on
hbc
systems
and
have
sophisticated
search
algorithms
to
tune
once
again,
just
showing
the
agenda
really
quick.
But
this
is
the
end
of
the
introduction.
So
I'll
just
say
thank
you
for
listening
and
I
hope
you
enjoy
the
rest
of
the
tutorial.