Transcript
This transcript was autogenerated. To make changes, submit a PR.
Hello everyone. Welcome to this session about quantum
and quantum inspired annealing. What we're going to do
in the next half hour or so is to just have a
look at what annealing is, why you might be interested in
it, what is out there, what the state of play
is of this technology and what it's useful for.
What we're going to do is just brief introduction,
brief introduction of why you
might be interested, what it is the
anitas that are out there, the state of play of the technology.
And then the meat will be to just talk you through the benchmarking
exercise that we went through at my company of utivity, what we
tested, how we tested, what we found, and finally
bring it into a land with conclusions. This is a
very practical session in the sense that we're interested in technology
as it is today, not as it will be ten years from now.
We're not a research institution. We are here to solve our customers business
problems. So the focus will be very practical
about what use is this
quantum and quantum inspired technology today?
A little bit about me my name Peter Den Haan. The funny accent is Dutch.
I'm quantum computing specialist at objectivity,
which is part of accenture. I started
life as a physicist. I've got a phd in
quantum physics on aspects of quantum electrodynamics
in antidicular space. I've also got
twelve years experience as a software developer, mainly using
Java closure and javascript.
So that's enough about me. Let's start with
a short introduction. We're all
familiar with quantum computing, right? The reason why
quantum computers are potentially so much
faster and skilled, so much better than anything else
out there is entanglement. It's the sheer
size of Hilbert space. And here is
probably don't anyone attends this conference? I don't need
to tell you what quantum computing is, but there's a little
illustration for you. It's like a classical computer solves
a problem, amaze just one step at a time, but with
your untangled qubits, you can explore an entire
problem space and ask a question in one go
and solve certain classes of problems much faster
in the business world out there, most industries are by
and large convinced that quantum computing is going to be
significant, even significant in the short term.
By 2025, about half
of companies believe that quantum computing will
start to impact really practically. Virtually everybody
thinks that in the long term there will be serious disruption,
as in improvements that can get you a competitive advantage or
can get your competitors a competitive advantage across
all industries. And actually a
lot of companies are already starting to pay attention and
expecting relatively short term impact,
relatively short term systems out
there that will help them do their business better based on
quantum computing. In reality,
though, you probably know the predictions of when quantum computing will
become practically useful just vary widely.
Some people say the first application is already useful.
Now you can use this stuff actually, even in production,
you hear other voices who say, well, no, quantum computing
is going to be up till 20
years from now. It will become useful, maybe more.
And what to think of this? Well, it really depends. It really depends on what
you're looking at. If you're looking at breaking
cryptographic encryption using shore's algorithm,
then, yeah, that will be a little while
from now because you need
quantum computers with a significant capacity.
You will have to address the noise problem,
error correction, circuit depth, all of that. And we're a long
way away from that. But quantum
computing life doesn't start and end with Schwarz algorithm.
So the answer to the question when does quantum computing become useful? Depends on
the use case, the problem you're trying to solve. In other words,
the technology you're using. So when
you think about quantum computers, by and large, people think about circuit
based quantum computers, or alternatively, gate based quantum
computers means the same thing. And,
well, we got the early ones. We're about 100 qubits.
They're noisy, circuit depth is limited,
decoherence is a problem,
and so on. So actually,
I think that it will emerge
into some practical usefulness, early use cases that
might be sort of commercially useful sooner than many
people think, but we're
not there yet. Then there are
Neeler based quantum computers which
work in a completely different way, which are focused
on optimization. So they're
kind of single purpose circuits,
and actually they're in a much greater state of maturity,
in part because it's simpler, it's easier to scale,
and actually, with annealing, noise isn't that much of a
problem. We'll come back to annealing in a moment. And then
finally, of course, there is actually the
ideas, the foam of ideas that quantum computing
has generated has actually impacted the classical
world as well. And there's a world out there of quantum inspired algorithms,
and we'll come back to that as well.
So what will the quantum computing world look like?
I will go over this briefly, because I assume that most of you
will know what to expect for selected
use cases. We can see the first commercial use of quantum computing.
As I said, annealing is quite actually
already useful. Things like atomic
clock, quantum key distribution, the networks are
already up and running in many places in the world quantum
machine learning, as you can see on a little diagram, that is
probably sort of the next wave of early applications
of quantum computing, but is in the process of emerging
early simulation. Again, that's sort of the medium
term. It will be there, start to get there in a few years.
The big promises of quantum computing, those exponential speed ups,
they're a bit further into the future,
but we need more sophisticated
hardware for that. We need error correction and all of that.
But the early use cases are already here.
And the early use cases, I think we think
the earliest use cases that already here now are
based on annealers. So let's specifically take a look at
annealers. And I don't assume that everyone is completely familiar with annealers.
So let's start by having a look at
what they are and what they do.
Annealers are based on
the idea of the annealing process in metallurgy,
sort of when you heat a metal and the
atoms of that metal, they're sort of in a fairly
reasonably chaotic state, and as it cools
down, it settles into a structure and
at a sort of an energy minimum. And that is the
basic idea of an annealers.
You start with a superposition of states
with the Hamiltonians, or is well defined. And then
you start slowly changing the Hamiltonian
and slowly changing, as it were, the temperature of your system
to a hamiltonian that represents the problem you're trying, the optimization
problem you're trying to solve. And there is something called
the quantum antibiotic theorem that says that if you change,
if you make that change slowly enough and you start
in a minimum, you start in an optimum,
then you will also finish in an
optimum. So that means that at
the end, when the Hamiltonian represents a problem you're trying to solve,
the state of your system, the state of your quantum annealer will
represent the minimum of that Hamiltonian and
therefore the optimum of the problem you're trying to solve,
which is fantastic. Now, you might ask,
slowly enough. What does slowly enough mean? Well, of course,
there's the rub.
You can sort of formulate heuristics or formulate heuristics of
what is slowly enough, but you can't do
it too slowly because in the end, you want your answer at
some point. So there's a little bit of an art to
that. But that is the basic idea. You can see this in the diagram.
You start in a superposition state. You start to modify the
Hamiltonian of your system to represent your problem.
And hopefully, at the very end, you find
the system into the minimum
of the Hamiltonian, and therefore the optimum of the problem, the optimum
that you're looking for, it's probabilistic. So you're
probably going to do this ten times, 100 times,
1000 times, and then look at the distribution of your solutions
to pick out the one that represents the optimum
or something very close to it. And generally,
you can pretty much guarantee, although it's all heuristic, you can
pretty much guarantee that you will end up with something that is either the optimum
or something pretty close to the optimum if you do your job right. And there's
a little bit of an art, to be fair, to doing the job
right. There's of course, science to back
it up, but there's also an art to it,
one of the sort of characteristics of annealers. Apart from
that, they're sort of single purpose optimization
circuits.
Annealing plays an important effect in quantum annealers,
specifically because tunneling allows the
system to transition from an energy state that is a
local minimum, but not your absolute minimum. In other words, not your optimum.
Tunneling allows your system to transition from there
to a better minimum, and hopefully,
ideally the absolute minimum in a way that is
classically impossible. And it has been demonstrated in
can article called computational multi qubit annealing in programmable
quantum annealers in 2016 by Bossio Etol
has been demonstrated that tunneling actually works in that way,
and helps the quantum annealers perform the way
they do. Entanglement actually also plays
a role. There's an article I would recommend as reexamination
of the evidence for entanglement in quantum annealers by Albash Etol
in 2015 that was published in
Fizzrev A. Boxio was
published in Nature.
And the final thing to note is that you will be
surprised by the number of problems that can be
formulated as optimization problems to
run on a quantum annealers. All of Carp's 21 mp
complete problems can be run on a quantum annealers.
That's been, as a famous paper by Andrew
Lucas called icing formulations of many NP problems,
and it was published in Frontiers of
Physics twelve and graph covering
problems, traveling salesman problem, bim packing
problem partitioning problems, the number
of problems that you can formulate as an optimization problem.
In fact, as a binary optimization problem with quadratic interactions,
which is what annealers specialize in
binary, because they're qubits,
and quadratic interactions are what we can model using an annealers.
The number of problems that can be formulated in that way is
enormous. You would be surprised. That's really a
paper I would suggest you read if you're at all interested and in
terms of where the technology is at. B wave, which sort of the
premier quantum annular company,
has hardware running available on the cloud.
If you want it, you can get access to it for free.
And it's got 5614 qubits,
and they're looking to expand that to 7000.
So that's where the quantum and neotechnology is at.
D wave is the prominent player in the quantum
space. There's a whole host of people who've been inspired by
annealing lark and are running quantum inspired
annealing,
and they generally use, they use fpgas,
so programmable gate arrays, or they use sort
of graphics cards, a whole host of graphics cards,
or classical computing resources. Your cpus,
Toshiba and Fujitsu,
have annealers. You can find
one qubit and Microsoft Quantum inspired annealing on Azure.
There are startups, many startups working on this space.
Quantagonia we have tested. We're currently talking to
a company called Lightsover. This is not an exhaustive list,
but there's a lot of people working in that space, because actually businesses
are out there are riddled with optimization problems
that are perfect for annealers. And annealers are actually already
emerging into commercial usefulness and can
really demonstrate value if you pick the right use case.
And that is only sort of the set of
use cases where you can get value is only going to expand and
expand rapidly over the next few years. So there's quite a few players in this
space, and we tried to benchmarked
as many of them as we could put our hands on,
because, as I said, we're a company, we're here to solve our
customers business problems. So we're interested in near
term use of quantum and quantum inspired computing
in a production context. Of course, we also work
with circuit based quantum computers because it is our job
to spot where and when they will be useful for our customers.
But at the moment, an awful lot of work is done with Anilas.
So we want to know what tools are available in the market.
How well do they perform? How well do they perform across a
range of different problem types? What are their strengths and weaknesses?
So we tested a fair number of them
against a number of different problems, and we
tested them with fixed timeouts so as to create a
level playing field. And the problems that we used,
you can find, you can see them here on the slide on the right hand
side. The problems that we selected
is the Sherington Kirkpatrick model, which is a spin
glass. It's perhaps slightly
artificial, but a sort of fully connected,
fully interacting matrix.
The second model is in some ways
quite similar. This one is pulled from an
early application of quantum computing in the I space,
which is feature selection. So,
imagine you have, say you want to build a recommender
system based on artificial intelligence, and you want to recommend stuff
based on the property of the items you're trying to sell,
and you have sort of a data warehouse or a data lake with
all the properties of your items. If you try and train your machine
learning model using all the properties, it probably isn't going
to work all that well. But if you pick the right optimal
subset of properties of your items,
the properties that are most significant, so that
you sort of recommend the best possible article to your customer,
then your AI will work much better. Well,
picking those features that you use as input
for your AI. That's an optimization problem, which set of features to
pick. And that is actually one of the places where Anel has worked
really well. So that's that. A feature selection model.
Again, highly dense interactions, sort of many
interactions between different elements, between different variables of your model.
One constraint, which is the number of features that you want to end
up with, pick the optimal sets of features.
The third problem that we can, traveling salesman problem,
probably most of all of us are familiar with it. You need to
visit, say, ten cities, you know,
geographical locations, the distance between cities. You don't want to visit cities twice.
What's your best route? Actually, very simple problem
to state, computationally hard problem to solve,
impossible to without short circuiting, without sort
of shortcuts, heuristic shortcuts. It's impossible to
solve classically within an acceptable time frame. As soon as the number of cities grows
in New England, works pretty well there. So, traveling salesman
problem, bin packing problem.
I've got a number of bins of given size or given weight.
I've got items of a given size and weight that I want to put into
the bins. What's my optical optimal packing? That's the bin
packing problem. Again, it's an optimization problem. And the
final problem, just to assess the
performance of the annealer on integer variables,
what you need to do with integer variables, you end up coding them down
to binary, which creates a sort of
pretty messy Hamiltonian when you
need to do that. So, to assess
how well an annealers behaves,
because in practice, many optimization problems
actually involve integer variables, not just binary variables,
we formulated a simple integer
linear programming problem, which is I've
got a pile of pizza ingredients. I've got recipes
of pizzas I can make. I know how much the ingredients cost, I know
how much I can sell the pizzas for.
Which pizzas do I need to make in which quantities to maximize my
returns? Again, very simple problem to state,
actually, this is not a particularly problem, hard problem to solve
classically, as I just stated,
and you wouldn't use an annealer normally
to do it, but it allows us to assess how well
does this annealers handle integer variables
when you have to code them down to encode them as binary variables
and stick them in the Hamiltonian in that way.
So, let's have a look at the results. So the first one,
Sharon Kirkpatrick, spring glass,
which is sort of a physical system,
highly dense interactions between sort of
all the different variables, all the different spins in your spin glass perfect
use case for an annealers.
And you can see the results here in front of you.
Now, let's just go in a little bit of, little bit more detail slowly
for this particular case, and familiarize ourselves with what we
tested. So the blue line,
the light blue line is D wave. It's a D wave
cloud service. So that uses the D wave
quantum processor supplemented by
a large amount of classical computing resources.
And D wave won't tell you how exactly they mix up the
two, but it works exceptionally
well in terms of compute time.
Most of the compute time is done by sort of
classical computers, and the time spent on
the actual QPU is measured in milliseconds,
whereas sort of the total execution time, depending on the size of the problem,
is measured in minutes, seconds or minutes,
and sort of on the x axis,
we increase the size of the problem. On the
y axis, you find a percentage, which is
basically the quality of the solution as measured by
the energy of the Hamiltonian, compared to the best possible
solution that we've got. And you can see that
the duive cloud service does an absolute great job on this
particular problem, and is basically pegged at 100%
within a given time. Comes up with the best solution of
all. The next one is
the Microsoft quantum inspired optimizer, which you can access
very cheaply or even for free on the Azure
cloud service, which does.
They're all going up to a scale to 10,000 variables.
10,000 binding variables does pretty
well, starts to drop off a little bit at
3000 10,000 variables, but does a
pretty good job. A startup, quantagonia,
which at the time of testing was in a really early stage with
sort of a maximum number of variables of 8000.
So this is clearly sort of an early effort.
Did pretty well, but started to drop off. We had
5000 and beyond 3000 to start to hit the
limit of the hardware. One qubit,
which is also available on Azure,
didn't scale terribly well. Performed similar
to Pantagonia, but actually didn't really scale
fantastically well.
Toshiba is another
pure quantum inspired annealers.
Msqio, Contagonia, one qubit,
toshiba. They're all quantum inspired rather
than quantum. As such, Toshiba performed very
similarly to the D wave hybrid offering.
Found the optimum solution
to the spin glass problem, right up to 10,000,
which is where the hardware starts to reach its limits.
Then we also tested just a d wave QPu rather
than sort of cloud service with this sort of classical
resources isolating you from the QPU.
And the QPU did pretty well,
but you can get it to about
100 variables. Now, you might wonder,
why can you only get it to 100 variables when
the QPU has more than 5000 qubits?
And the reason for that is connectivity,
because quantum inspired annos
generally have perfect connectivity. You can have interactions between
any two qubits, but a
hardware implementation is
generally more limited and the connections
are only between specific qubits.
D wave, over the years, has been working with a number of different topologies.
But what you need to do when you have a problem is
to find an embedding of your specific problem
on the physical structure of the quantum processor.
And in order to sort of deal with the limits of connectivity,
you quite often need to use multiple physical qubits
on a quantum processor to represent one logical
qubit. And you do that by basically creating a very,
very strong interaction between them. So they always have
the same value. So actually you can lose,
depending on the particular topology of your problem,
you can lose an awful lot of qubits that way. And that is what is
happening here. Because the spin glass is a fully dense
interaction matrix. It's a fully connected problem.
So it's a nightmare to embed
on the QPU. And that is why the D wave QPu,
we couldn't get beyond 100 qubits because of
the nature of this particular problem.
And then just to benchmark these quantum and quantum part
solution against a known quantity, we also
benchmark gurubi as a sort of best in class classical
optimizers. And Gurobi is really, really good.
But this kind of problem,
a completely dense interaction matrix, you don't have any clever algorithm
mathematical algorithms that you can use to sort of shortcut
your way to the answer is a perfect nightmare for classical
optimizer like Gurubi. So you can actually see that within the
given time frame. Gurubi absolutely does a good
job, but the quality of the solution starts to drop
off a little bit at the larger sizes of a
special 30, 00, 10,000 variables.
This is really the kind of territory where an Anila
really works very well.
The next lab feature selection, as I said,
it's actually a really practical use case, an early use case
for annealers in the AI space, selecting the
features to input in a machine learning system.
In many ways, it's similar to SK, as in the
interactions are highly dense, there are a
bit more variety in the interactions, and there is a single constraint, and that constraint
is the number of features that you want to use,
and you can see very similar behaviors.
The D wave cloud service, which combines the QPU
with classical computing resources, performs really
well across the board. MSQio and Quantagonia
start to drop off at larger sizes of 300,000,
3000 features.
One qubit we weren't able to run.
Toshiba performs very well and scales
all the way up to 10,000, but starts to drop off a little
bit in quality at the larger sizes of
3000, 10,000. You can up that quality by simply giving
it more time. But we're working with a level playing field here.
Gurubi actually does better,
does better, perhaps because the constraint gives the whole problem a little bit more structure,
but also sort of drops off at the
largest size of 10,000 that we tested.
Traveling salesmen.
So you want to visit a number of cities,
you know the distance between each city, what is your optimal
route to go from the starting city to the city where you want to finish?
And again, the D wave cloud service,
up to, up to a size of 300.
And actually the Cubo,
sort of the optimization problem for
a 300 city traveling salesman problem.
The size optimization problem scales quadratically.
So you're talking about 90,000 variables here. This is not a small problem.
D wave performs well across the board. The Microsoft
quantum inspired optimization starts to struggle
beyond ten cities.
Quantagonia, similar story.
Toshiba performs a
bit better, but starts to drop off seriously
beyond 100 cities. And then beyond that,
you start to run into the limitations of the hardware, of the
number of variables it can handle.
The QPU, the D wave QPU, has a total nightmare
with this particular problem. We managed to run it for size three, and beyond
that, you run into embedding problems.
Robi again does reasonably
well, but struggles at larger sizes, 30 cities
or larger. To get acceptable solutions.
At 100, 300, you need to give
it more time. The technology really needs more time.
Then Bim packing, sort of.
Bim packing is where you have items, a number of items with
given weight. You have as many bins
as you need with a given maximum weight. How do you
pack the items in the bins optimally? So you use a minimal
number of bins, actually annealers. When you naively
translate this problem into a
binary optimization problem suitable for an annealers,
you get a hamiltonian landscape that is really,
really rough for annealers. And you can see
here that almost
all annealers really start to struggle beyond
ten items, with the
exception of D wave, which of course
supplements their annealers with classical computing resources.
And so it performs better, but it starts to struggle at
100 items as well. So here you see an
example of a problem that annealing
cannot solve very easily. However,
it is actually possible to reformulate the bin packing problem
as using sort of a two step algorithm, by first
selecting for first finding packings
for just one bin and treating them
as a set of candidate solutions. And then in step two, where you're trying
to solve the entire problem, the problem becomes a graph covering
problem, which is a lot easier for anelas to solve.
We're actually working on that. We're busy benchmarking that. Unfortunately,
not in time for this presentation.
But it will be interesting to see how the technology scale then.
But that's just a hint that annealers are not necessarily sort of a natural
choice for absolutely everything.
And the last problem that we checked, pizza parlor, sort of linear programming,
pretty vanilla. Not natural annealers.
But for the purpose of this benchmarked,
we don't mind. We don't mind. Gurubi blows all
of them out of the water on this problem, because actually the linear
programming problems,
you can solve them algorithmically, and that is what
Gurubi excels at.
But the purpose here is not to be the fastest.
The purpose here is to see how
do these anninas cope when you start to have
integer variables and code them down to binary.
How do Anilas deal with the hamiltonian landscape that results?
And you see that dwave
cloud service with
an interesting blip at the smallest size of
size ten. So ten different pizzas.
Other than that, it performs really well, up to
size 100,000, and only starts to drop off a
bit in quality at size 300,000 compared to a
guerobi.
All the others struggle more to find, to find an optimum
solution to your linear programming problem. So Ms.
Qio starts to
struggles from the start, drops off in quality
as you increase the size and doesn't produce feasible solutions
beyond 300 quantagonia. Similar story,
but poorer quality. But remember, early stage startup,
they will improve rapidly, without a shadow of a doubt.
One qubit didn't really perform all that well for us,
and gave up producing feasible solutions quite early.
Toshiba does reasonably well,
certainly handles the
largest problems from any other anila
that we tested, and the
dwave QPU.
So when you just use the raw QPU rather than the cloud service,
you can only tackle the smallest problem, and it
just doesn't perform fantastically well on
that, because you very quickly start to run into embedding problems.
And linear programming isn't sort
of the natural Anila territory, but it gives us an idea
of the impact of what happens when you have
an optimization problem involving integer numbers,
and you see that you really need to give an analyst
quite a bit of time, more time than we've given them
here in this benchmark,
to find the actual optimum,
with the exception of the dwave cloud service,
which performs exceptionally well. And actually,
does this mean that annealers
are useless for this type of problem? Well, no, not necessarily,
because first of all,
many business problems are actually not that simple as a linear program problems.
There are complex constraints, there are perhaps even
nonlinear interactions, which suddenly make
the problem a whole lot more complicated, and then I think it's become a lot
more competitive. In fact, we ran
a pilot for a production optimization system
for a manufacturer customer of ours,
where they had gurubi running and
taking quite a bit of time, and we basically ran that
on a quantum annealers to compare
results. And we found that a quantum annealers was very
competitive with the classical optimizer because the
complex constraints, mainly because the complex constraints
made sort of algorithmically solving
the problem much more difficult,
and therefore made in Neilas, much more competitive.
And there are clever ways to use anilas in solving linear programming
problems. So don't count
them out, but be aware, use the right tool
for the job. But clearly,
you can see from this, most anilas really start to struggle
within a short amount of time to find the optimum.
So having integer variables that
you code down to binaries,
to binary variables, really makes the hamiltonian
landscape that you're trying to optimize against. Find the minimum of
a lot tougher to negotiate for an anita,
whether that's quantum or quantum inspired.
So where does that leave us?
Where does that leave us as to the annealers landscape?
Well, first of all, quantum and quantum
inspired annealers can absolutely bring business value,
and in some problems are showing clear advantage,
like feature selection. So if you have an optimization problem
that is complex enough that you cannot simply number crunch your
way through it, and you don't have any good algorithmic shortcuts
on a classical machine, but your problem is
small enough to match the sort of constraints of today's
quantum or quantum inspired hardware.
You can actually already see real business value
in using this technology. For quantum
annealers, D Wave is the big show in town,
predominantly in their hybrid offering, their leap cloud
service that combines Casco resources with
their QPU that
performs exceptionally well.
The QPU performs as well,
and you can tune it, and you can use all sort of tricks
to get it to bring value.
But it has strong competition
from the quantum inspired annealers out there that also perform
well and don't have the connectivity problems, and therefore don't
have the problems embedding the topology of your problem onto the
topology of the QPU of the
quantum processor hardware.
Generally, though, for most business problems,
you will want to use classical computing to
identify subproblems or boil down your
bigger problem to a form that fits
within the constraints of your quantum processor or your quantum inspired annealers.
And after D wave, it was Toshiba
SQbM plus. That definitely was
sort of the strongest offering, scaled the best and produced
the best solutions. You might have missed Fujitsu.
We didn't test Fujitsu simply for commercial reasons,
because their business model does not match the
way we work with our customers. So that's
the sort of pragmatic reason why we didn't test Fujitsu.
For all I have seen of it, it's a strong offering, but I can't really
say very much about it. So, bottom line
for optimization problems, and actually optimization problems reflect
a wide range of business, practical business problems,
from retail through manufacturing to
banking, portfolio optimization and so on.
You can already see early business value in
quantum computing, specifically in quantum annealing
and quantum inspired annealing. So don't let anyone tell you
that you are working on an abstract problem that will already
only carry fruit 20 years from now.
Some of the big promises, yeah, they're a number of years into the future,
but there is real, current and near term value in
quantum computing to be had if you pick the right problem and you pick the
right technology. Thank you for your attention.
My name Peter den Haan. I will be on discord
if you want to know more, talk to me there.
Send me an email pnhanondoptivity co.
UK and I will be more than
happy to talk to you. Thank you very much for your attention and
bye.