- Thank you, it's a
pleasure to be here today
to talk to you about IBM's
initiative in quantum computing.
I know I'm very excited
to be in this area.
But one of the questions that
always pops into my mind is,
well why are we actually
interested in quantum computing?
And people will talk about,
have we reached the fundamental
limits of basically classical computation?
Now, I spent 15 years of my career at IBM
working in the HPC arena.
So we were building ever
larger and larger systems
and I actually have an
ancient chart that I built
a long time ago because
we were challenged.
In my tenure at IBM, we
started out with about
2,000 processors, by the time
I started making this chart
in the mid-2000 and noticing this trend,
if you look at that middle line there,
that's a trend of the largest machine
on the top 500 super computer list.
We were up to around 64,000 processors
that happened to be the
IBM Blue Gene/Q system.
But we noticed that the
appetite for HPC performance
was growing at 2X per year.
And I kind of extrapolated it out
and if you look at the fanciful
upper right-hand corner,
you'll say, but by 2030,
where do we have to be
if we want to stay on this line,
this appetite for computing power?
And the answer is, somewhere
around two million petaflops,
it's quite a large number,
and given that we had hit a
frequency wall on processors,
I said, well we're
probably looking at maybe
80 to 300 billion CPUs.
My colleagues laughed at me
and said no one will be able
to engineer such a thing.
And so we continued on but you can see
that we maintained on that line
and before I came to give this talk,
I said, well where are we now?
And the answer is, the
Chinese have a built
a supercomputer system that
puts us right on that line.
We have not fallen off and in
fact that particular system
has 10 million processors in it.
So the engineers have done a fantastic job
of keeping the computers on
the appetite for this humongous
amount of computing power
everybody's interested in.
So if we haven't fallen off this curve,
why are we so interested
in quantum computing?
If I could sum it up in one single chart,
two to the n, exponentials.
All of you folks in
computer science who've done
computer algorithms know this
is the dreaded area of NP.
And just to give a brief
example of why this is so bad,
I'm gonna tell you a little
story about the game of chess.
This is a supposed story
about the inventor of chess.
He presented it to the emperor
and the emperor said, this
is a wonderful invention,
I will give you anything you want.
And he says, I want very little.
I want you to put one grain
of rice on the first square.
When I come back the second
day I want two grains.
When I come back on the third day,
for the third square I want
four, and so on and so forth.
And the emperor said,
what a deal, just rice.
And he said, after a
week it wasn't too bad,
he had 127 grains.
But by the time we got
to the end of the month,
the emperor was in a world
of hurt because he needed,
oh, nearly a quarter
million grains of rice.
And obviously this
story could never finish
because at the end of the chess board,
you would have enough rice to
fill up all of Mount Everest.
So this is an example of
the power of two to the n.
When we have problems that
scale to two to the n,
we just really can't solve
them on classical computers.
Because even if we had a
computer that could solve
a problem, say that of
scale 64, we would spend
an enormous amount of
money, go with the next year
on that HPC curve and all we could do
is add one square to the chess board.
We couldn't double its
size, we couldn't increase
it by even 50% or 10%,
just one lousy square.
And unfortunately, or fortunately
for quantum computing,
there are a number of
rather intriguing problems
that live in this space.
Classical ones such as optimization,
the traveling salesman problem and such.
Machine learning.
But also one that right now
has gotten a lot of interest
and that is quantum chemistry.
Quantum chemistry is
one that I know some of
the earlier clients that
I was selling machines to
were very interested in trying to simulate
on their HPC machines but
they really struggled.
And that's primarily
because in order to actually
simulate what happens to a molecule,
you have to look at it
at the electron level
and if you look at all the various states,
which just so happen to be quantum,
you end up with an
enormous number of states
that you have to simulate.
And so in this example with caffeine,
as you can see we don't
stand a chance of actually
simulating this particular molecule
inside a classical computer.
On a contrast, the estimated
in a quantum system
is we could do it with
about 160 quantum bits.
So this is where there's some really,
really huge opportunities.
And in fact, even with the
systems we have today at IBM,
which by comparison, we
don't have anywhere close
to 160 qubits today, we have
publicly available systems
that you can use with
five qubits or 16 qubits.
But even with those small
machines, we've been able to do
real quantum chemistry,
which was published in the
recent article in Nature.
And proven out, the
techniques that we can do this
such that as the systems scale up,
we will be ready to simulate caffeine
or help out many of the other industries.
Because these are actually
multi-billion dollar questions.
One example I like to use
is the fertilizer industry.
They spend an inordinate amount of money
trying to produce nitrogen
form various forms.
Nature does a wonderful
job in your compost heap
and does it with very little energy.
Unfortunately that doesn't scale for us.
So if we can figure out better
ways of breaking nitrogen
bonds and generating
fertilizer, would could save
an enormous amount of money
and energy in the world.
So what gives quantum
computers their power?
So we'll try and touch on this
as best we can in the short time.
Classical computers
typically as I mentioned,
as you add more transistors
to a particular chip,
the scaling goes up kind of linearly.
The cool thing about quantum systems is,
the main part of a quantum computer
is what's called a quantum bit or a qubit.
This holds the quantum state.
But unlike a classical
system, as we add qubits,
we don't grow linearly,
we grow exponentially.
There is the potential here if you have
the proper connectivity, you
have the proper qubit quality
and so forth, that every
time you add one qubit,
your performance will double.
So now all of a sudden, we can follow
that trend line of two
to the n quite easily
as we scale up our quantum systems.
So there's three kind of
things that I want to go over
and two on this slide that kind of make
a quantum computer different
and give it some of its power.
The first one is called
the uncertainty principle
which deals the fact that
on a classical system,
if I go in and read a bit,
I get a one, I get a zero.
If I go back to it and read it again,
I still get a one or a zero hopefully,
assuming we have good error
correction and so forth.
On a quantum system on the other hand,
I can't go in and read its exact state.
We'll take take a little bit
closer look at that in a minute
but what that means is I can only
get partial information out of it.
This is part of the uncertainty principle.
That is primarily an annoyance
to all of us in the quantum
world in terms of trying to
make these things work better.
The really cool thing is
this mind numbing thing
called entanglement.
In a regular classical system,
if I store a bit number one over here,
a bit zero over here,
they have no relationship
between each other.
If I change the bit on the left,
the bit on the right,
nothing happens to it.
In a quantum system however,
we can actually exploit
something called entanglement.
And entanglement enables us to cause
a relationship to happen two qubits.
And this is part of what gives
quantum systems their power.
I like to give the analogy of this to,
you know, many of us have a best friend
that we do things with and you know,
we almost know their
answer before we ask it.
Hey, you want to go out on Friday night?
Absolutely!
The moment that best friend
gets in a relationship
with somebody, somehow their
answers seem to change.
Even when that other person isn't around.
Hey, you want to go out Friday night?
Uh maybe, maybe.
I'm not sure.
Qubits actually have some
of the same characteristics.
Once their entangled, we can actually
infer different things about them
and their characteristics actually change.
The other aspect that is
intriguing about quantum systems,
and this is often labeled in my mind
because I come at this
from a mathematical side,
I was a math major to start,
incorrectly is that a
quantum bit can be in
multiple states at once
or in two states at once.
Well the problem with that analogy is,
a quantum bit is actually
not just a one or a zero.
So we have the classical
bits over there on the left,
which is represented by a switch
or you can think of it as
north, south, whatever you want.
There's lots of ways to represent that.
But the quantum bit actually
has a much richer state base.
So in this case, it's the
entire surface of a sphere
or I like to think of it as being anywhere
on the surface of the earth.
And we just conveniently describe
a zero or a one in quantum
as being either at the North Pole
or being at the South Pole.
So if I have a classical
bit, I can set it to a zero.
If I try and read it, I'll get a zero.
If set it to a one, I'll also
when I read it get a one.
We can do the exact same
thing to quantum bits.
On the bottom there you can
see that the blue arrows
pointing up to what
would be the North Pole,
defined as zero.
If we read that quantum
bit, I get back a zero.
If it's pointing to the
South Pole, I get a one.
And if we do this over
and over and over again,
we get a consistent
string of zeros and ones.
It looks like a classical system.
Now where life gets interesting
is, change the quantum bit,
point its direction over
to dead on the Equator.
Now, when we come and
read the quantum bit,
as I mentioned, it only
gives us partial information.
And the problem is, when we read it,
it can only answer North Pole, South Pole.
So what is it gonna tell us since
it's pointing over to the Equator?
If I asked a bunch of you in the room,
I put you in the Equator
and forced you to answer,
you know, are you at the
North Pole or the South Pole?
You would probably say, well
I'm North Pole sometimes,
South Pole the other times.
Just if you wanted to be
really technical about it,
I'm kind of 50/50 slit.
In fact, that's exactly what
the quantum qubit will do.
It will read out as a one or a zero
as we do this multiple times
in a perfectly random fashion.
So from the outside it
looks totally random.
Inside, it's actually in
a very specific state.
And what's really interesting about this
is we can say, move ourselves
up here to Baltimore,
which is a little bit off the Equator,
and now we'll answer a
little bit more that we're at
the North Pole and less times
that we're at the South Pole.
But it will still answer
some percentage of the time
that it's at the South Pole.
And so this is the notion
that people kind of think,
well it's in two states at once.
It's actually not, it's somewhere
on a specific state space.
But we can use this to
leverage to use this
much richer state space to solve problems
in a much quicker amount of time.
Now I mentioned the other problem with it
is you get limited
information when you read it.
Not only do you get limited information,
but once you read a quantum bit,
you've destroyed any state it had.
So if I start on the Equator
here, I then read it,
magically I'm not pointing at it
and it says I'm at the North Pole.
If I go and read it again,
it will always answer the North Pole.
It'll never answer one ever again.
Similarly, if it gets read and it's a one,
then it's always going
to point down after that
unless you do other operations on it.
The thing that gets some
of the power out is,
if we put multiple qubits together,
and we put them all on the North Pole,
and we do multiple reads
of those multiple qubits,
we will actually get
a uniform distribution
across all of those so we can get 25%
in one of the four states here.
Or if we have 16 qubits,
we can spread it out
across all of those various states.
And that's typically how
most of the algorithms
end up starting out, they're computations.
So obviously with all this,
more qubits must be better, right?
Well one of the problems
is, quantum computing
is in analog domain, not a digital domain.
So while more qubits in general,
if you had Eric cracking
qubits would be better.
Currently with the way we work,
having more qubits isn't always
the best use of your
time and your resources.
So if you're error rate is very
high for these analog qubits
and you double the number of qubits,
you may actually not increase
the power of computation.
So our physicist that published a paper
that basically describes all
the different characteristics
you need to solve larger
and larger problems,
it includes qubit size as one of them.
It also includes the error rates
that you're seeing from
reading those qubits.
It also includes the connectivity you have
between the qubits in the machine.
All of that put together gives you
what we call a quantum volume,
which that is the thing
that IBM is targeting
and proving over time.
So it's a combination of number of qubits,
our connectivity as well as
the error rates of our qubits.
All three are vitally important.
So I'll just step back
and talk a little bit
about the types of quantum computers.
The first type is universal
fault-tolerant quantum computer.
This is the Holy Grail
of quantum computing.
It's like a quantum computer
that could run forever,
give you perfect calculations
in the quantum world
and in fact, the vast
majority of your text books
on quantum computing, when
they talk about the algorithms
that they're implementing,
they're implementing those
algorithms on a universal
fault-tolerant computer.
Unfortunately today we're still
a little bit away from that.
'Cause you can see you
need quite a lot of qubits
to do something useful.
You need a lot of qubits for
overhead, for error correction.
Right now the error
correction overhead is about
17 error-correcting
qubits to one real qubit.
So it's a huge amount of overhead.
So where we are today is of what's
called approximate quantum computing.
And these qubits have
errors but we can mitigate
those errors as we've done
in the chemistry examples.
As I've said, we've done real chemistry
with just five and 16 qubits.
We actually think we can start
to do more than the world's
largest super computer
once we get up into around
the 1,000 qubit range for
quantum chemistry-type problems.
And then there's also another
type of quantum computer
out there, there's several
different variations on this.
This is where they're exploiting
various quantum aspects
of materials, primarily to
do a very specific function
such as quantum annealing and so forth.
They have a different set of applications.
You can't run general
purpose quantum algorithms
on those but they also
have some applications
specific to optimization.
So, in case you were curious
and you want to go home
and build one, I say well let's give you
a little instructions
on how you could build
your own quantum computer.
Start by getting yourself
a nice laboratory
where you can put up some nice equipment
including the dilution refrigerator
that you see over there on the right.
We'll talk a little bit
about that in a second.
On the left-hand side, you see some racks.
There are some microwave generators.
Our quantum bits are set very specifically
with microwave pulses.
And you also need, not
shown in this picture,
racks and racks of classical equipment
that's going to drive all of this
and run our cloud infrastructure.
So, everyone like this because
it's really kind of cool,
we do set the qubits as I mentioned
with the microwave generators.
In order for IBM's
qubits to work properly,
they have to be kept extremely isolated.
They don't like to be perturbed
by any type of interference
from heat energy, from
mechanical disturbances,
or electromagnet interference.
So we put it in a, what's
called a dilution refrigerator
which gets about 100 times
colder than outer space
at around 20 millikelvin.
We then mount the chip on the board
and isolate that in a
completely magnetically
and electrically shielded container.
Now our particular qubits are based off of
Josephson Junctions, they're
superconducting qubits
and we use the Josephson
Junction to create
what's called an anharmonic oscillator.
This is so that we can actually detect
the difference between a zero state
and the one state that we're interested
in the South Pole but
also differentiate that.
There's actually something
known as two state
and a three state if we
excite the electron too far
or better known as the oh crap state,
I don't want to be there.
So you also have to have
various resonators on the chips
and those resonators
allow the microwave pulses
to actually set the qubit
into the various positions
that we want and also
allow the entanglement.
This is not the only way
you can make a qubit.
Many other folks, including
some of the people here
are working on photonics.
There's also a topological
qubits, there's many ways.
It's great that everyone's
working on different areas
because if you go back
and look at the history
of regular classical computing,
the memory technologies that
were used in the 40s and 50s,
we don't use any of those today.
No one uses punch cards,
mercury delay lines,
et cetera, et cetera.
So who knows where we will be
in 10 to 20 years from now.
But today for IBM's
purposes, these are the ones
that we know how to use the best.
Alright, so that's probably
outside of the realm
of most people's, you know,
initiative to work at home.
But how could I actually
program a quantum computer?
So one of the things we're trying to do,
I mentioned you know, this
technology is sort of on
the same vein as where
we are with the ENIAC
and the UNIVAC, the very first computers.
But we really want to accelerate
the adoption of quantum
computing and make it
available to many more people.
So we're leveraging the
fact that today we have this
wonderful cloud infrastructure.
We have a great rich history
of classical computation
that we can leverage to
allow people to access
quantum computing and
use quantum computing
at a much faster and easier fashion.
You no longer have to make a pilgrimage
to the actual machine and
into its machine room.
Instead you can access it from anywhere.
So in 2016, we put up the
first freely available
quantum device and a quantum experience,
that was a five qubit device.
We're coming up very soon
on its two year anniversary.
That machine has had
remarkable reliability,
especially when you consider how
bleeding edge the technology is.
And it has run a huge number of jobs
and enabled a large amount
of science to be done.
We also have a rather
large, extensive library
of educational material.
I know I'm blowing through
things really quickly here
but there are great videos,
documents and so forth
on our website that can teach you
everything from quantum computing,
from the history of it,
how you actually program
with our Gate model, the background
and even discussion with
a lot of the physicists
at IBM about how we're doing,
how we're working with this
and you can get a great
amount of background,
including with QISKit, our
software engineering stack.
So let's just take a
look at a few statistics
which is pretty amazing.
I mentioned we made this five qubit
computer available about two years ago.
We have 75,000 users,
everywhere around the globe.
Over two million experiments
have been run successfully
but what's really cool to me is,
there have been 60 external papers written
based off of utilizing the
quantum experience machines.
These are papers in real journals.
There are not just people
writing blog posts.
So this is real science being done
with a resource that's freely available
to anybody here in this room.
And we've have 1,500
colleges and universities,
high schools even and
various private institutions
leveraging this.
So this has really made an impact we feel
in folks ability to use research
and work with quantum computing.
To make it even easier,
you know the original
quantum experience, you
basically draw gates
and things on a very graphical interface
which was nice as an
introduction to users.
But to actually write
real meaningful programs
was a little bit difficult
and time consuming
so we've created a series of
Python libraries called QISKit.
We're coming out with support
for other various languages
as well but this is a freely available,
open source download.
You can install it on your own machine.
It provides a lot of
support for you to create
your own quantum programs and
then actually ship them off
and submit them to our
quantum experience machines,
both the five qubit and the 16 qubit.
So where are we gonna go from here?
So in 2017, last year,
we announced that we are
going to actually start
commercializing quantum computing.
We've made it freely
available for research
but we felt we were actually at the point
where we were ready to have
commercial clients come in
and say yes, I can get value out of this.
I want to get ready for the
next generation of quantum,
have my industry get its
algorithms all set up.
So we started the IBM Q Network
and we now have 20 members and counting.
The goal is to accelerate
the research as I mentioned,
start to build up that library
of commercial applications
and also serve as an educational platform,
to get everybody to
understand what it means.
We're trying to drive
education down into not only
the graduate level but
the undergraduate level
and even the high school
level so that kids
are thinking more about,
well this is how you work
with a quantum computer as
opposed to a classical computer.
So we're already starting to build
the quantum computer centers of today.
We actually have a vision
of where we want to go.
We're in the process of building
even cooler looking machines like this.
And you're invited to come along
and join us on this journey.
So Google us at IBM quantum experience.
You can find out and like I said,
read a whole ton of information on that.
You can explore the quantum experience,
run you own jobs, you can use simulators,
it's all freely available to
anybody throughout the world.
I highly encourage you to download QISKit
and try it out for yourself.
Contribute to it if you're interested.
We're always looking for new ideas,
people doing their own research.
And if you're good at
writing big grant proposals
and get yourself a little bit of money,
we invite you to join
us in the IBM Q network
where you can get access
to even larger machines.
At this point, we actually
have a 20 qubit machine
that's up and running for our clients
which provides more capabilities
than the 16 qubit machine we have.
So we've got a lot of exciting things.
I know I've blown through a lot of stuff
in a short period of time.
I will be around for
lunch and would welcome
to talk to any of you who are interested
in learning more about
IBM's quantum computing.
Thank you.
(audience applauding)
- Stay here for a second, I
want to have some questions.
- Okay.
- So first of all, thank
you to Andrew for the talk.
Number two, he doesn't just
speak it, he also wears it.
(laughing)
But we have time for maybe
two or three questions
from the audience and we
have microphone right there.
There, I see a hand up.
And introduce yourself for
a second for the audience
and for our speaker.
- [Audience Member]
Really enjoyed your talk,
lot of information, very little time
which is always hard to do.
Are there use cases
where quantum computing
is less efficient than
conventional computing?
Specific use cases?
- That's an interesting question.
Quantum computing is proven to be
polynomial equivalent to classical.
So theoretically, up to a
polynomial time transformation,
it's going to be as efficient.
Now, diving under your question,
there's the computer
science answer to that
which is the polynomial time
and yes, it's all the same.
The practical matter is
today, say five qubits,
I can simulate that if
you're talking about
the comparison of how long
it takes to actually run it.
I can simulate five
qubits on my cellphone.
It's not a problem, I omitted
the chart on simulation.
But once I get to 10 qubits or 32 qubits,
it starts to become a problem.
We actually offer a 32 qubit simulator
in the cloud for free.
The problem with that one
is we have to be careful
in the access because a
single run of that takes
five to 10 minutes on a
reasonably good size server
and takes 64 gigabytes of ram.
The moment, once again it all doubles,
you add each of these qubits.
The all of a sudden, the time blows up.
So at this point with
the smaller problems,
you're right, from a beating
out a classical computer
which has been in the news
about quantum supremacy,
you're not gonna do it.
But as soon as we get up
into the 50 qubit range,
life becomes very difficult
to actually simulate
and then at that point it's
gonna become more efficient
in its terms of time to solution.
- We have a question up on the--
- [Ajinkya] Good morning,
I'm Ajinkya Borle,
I'm a PhD student here.
So QISKit is made by IBM
for IBM machines, right?
- Correct.
- [Ajinkya] So Rigetti has their own API
and I think INQ also has its own API.
- Yup.
- [Ajinkya] So is there a plan to maybe
standardize the APIs because
otherwise the programmers
will you know, have to learn a lot of APIs
for different machines and, you know.
- Yes, so we would love
to standardize the APIs,
I'm sure Rigetti would, so I
have to get up here and say
we would love it if
they would support ours
and they would probably love
it if we would support theirs.
Obviously that's something that we're
gonna have to work toward in the future.
I mean, because we all
know that open standards
leads to a lot faster development.
So I can't reveal too
much but we are working
on new generations of this.
We're trying to standardize
the interface, we're trying
to standardize some of
the lower level interfaces
and we're hoping to get those
standards into wider adoption.
So that then yes, you
could basically use one
development platform and
say, I want to go to Rigetti,
I want to go to Google, I
want to go to Microsoft,
I want to go to Intel,
I want to go to IBM.
And I think that would be a good area
where we need to go to.
- We have one more question,
with Milt, right up front.
- [Milt] My name is Milt Halem,
you indicated that you
had about 75,000 users
of the five qubit system.
And presumably that will grow as you get
to the next public system.
- Yup.
- [Milt] How long does the
typical average problem
take on the computer?
- So that typical average
run on the system right now
actually takes somewhere
in the neighborhood,
it varies between five
seconds and a minute or two.
It's not terribly long.
- Takes longer to load
it up, right (laughing)?
- Well actually part of my team's job,
it doesn't take that long to load it up
but we're trying to actually improve
the throughputs of the machines a bit.
- [Milt] Is that the actual compute time
or is that--
- That's the compute time.
- [Milt] Or is that the transfer of data
from the machine, how to be used?
- So there's actually very little time
in terms of transferring the
data back out to the user.
The amount of data that comes
back is pretty insignificant
in terms of latency there.
So vast majority of that
time is actually spent
generating microwave wave forms,
executing on the processor and that's it.
But we're working on trying
to actually shorten that.
Because today you can basically run
about 100 gates, total depth.
And our gate time is, well in the 100
to 200 nanosecond range.
But right now we have to
wait for the qubit to relax
to the zero state so we wait
about five milliseconds for that.
So if you do 1,000 what we
call shots in your experiment,
you're looking at about five
seconds of actual run time
and there's other overheads
involved and so forth
and actually getting on to the machine
but that's why I say, it's
somewhere between five seconds,
some of the other jobs
that be more complicated.
We allow you to pack more
circuits into a single execution
if you'd like and so then
they can take a minute
or two minutes to run.
But that's typically the
short amount of time.
I will say that the queue depth
for access to the five qubit
and the 16 qubit machine
can get quite long but we
have started up programs for
research universities and so
forth that we partner with
that allows you to get priority access.
- Thank you very much, Andrew
- You're welcome.
- Both for a really fascinating look
ahead at what we can do already
and for also answering our questions.
So I really thank you for--
- My pleasure, my pleasure.
- And again, help me
thank Andrew for his talk.
(audience applauding).
