All right, yeah, the Mexicans are traveling in June, they're going to talk about the
Apache project related to Quadum.
Thanks for joining.
Good to see everybody.
Hope you're having a good fun as them.
Hope you have a good trip home, wherever you came from.
We came from Chicago and Portland, Oregon.
I had only 17 hours of flight.
So grateful to be here.
Just wanted to give everybody a heads up on a new feature in Mahoot, which has allowed
us to put Quadum compute in our back end.
We're just going to talk about who we are, where the project has been over the years.
The rationale for putting Quadum into Mahoot, quick demo or just screenshots of live notebooks.
And then a way calls to action for how you guys can get involved.
Who am I?
I came from Portland, Oregon, like I said, I've been working on Mahoot for about 13 years.
I got into that when I found a bug in one of the similarity computations on a project
for a bank.
So we were making recommendation in June and we were dropping all our results on the floor,
got on the user list or the dev-lift at least and asked how I could help.
And so I fixed a bug and got the bug for doing matrix math being able to see where
all the arithmetic happens and it's been a fun ride, Metraver there.
Have a lot of hobbies.
Head of technology at a speed chain, which is a B2B startup and then Trevor, who are you?
Hi, I'm Trevor Grant.
I also am a PMC, which is a project lead on the Mahoot project.
I wrote a book in some papers, but nothing on Quadum.
I'm not a Quadum expert and I aside from giving a talk at Fas Dem, don't really pretend
to be one, at least not to be people actually.
No Quadum.
I've got two boys.
I've been kind of out of space.
I used to speak a lot.
I haven't for the last couple of years.
I had a couple of boys.
They're really great.
But I've been card-free since 23.
I've actually been card-free since 22.
A lot of people in here from Europe probably doesn't sound like it's really impressive
in America.
It's pretty hard.
I'm very proud of myself for that.
As always, I have a special thank you to IBM for patroning my artistic endeavors, such
as my vacation to Brussels.
A new wee art, as I was alluding to, we are not Quadum researchers.
You can, I think, awesome phrase I heard.
You can nerd snipers, or try to show that we don't know what we're talking about.
You're going to win.
I'm just going to give that to you right now.
If you're a freshman in a Quadum program, you are going to blow us out of the water with
some questions, some got you question on Quadum computing.
We're not, you're not in a PhD either.
No, we're not a PhD at all.
I've got a master's degree.
Again, we write some stuff, mainly blog posts.
But who we are, we are pretty confident software engineers, who has a background that we're
going to get into of abstracting over back ends and why that's important.
We have a history of doing that, and when we saw this quantum space emerging, it seemed
like a good fit for a number of reasons, so with that, I'm going to turn back to Andrew.
Yeah, so this project has evolved over the years, and basically it's been a small club
of people interested in machine learning, data science, analytics, natural language processing.
We've evolved from initially a sub project of Lucine, became a top level project as
a recommender engine, which Sean Owen donated, I think it was called Taste.
It's evolved over the years from a Hadoop-based MapReduce system, which turned out to be
a bad architectural choice because you're doing full table scans every time you do an iteration
on your machine learning algorithm, so we re-tooled and worked on a spark back end.
Then the direction of the project took a turn where we realized that there were so many
back ends popping up, there was flink, there was H2O, and so we decided that the right
thing to do was to provide a uniform interface where you could write code one time and
then run it on any back end that you chose.
That basically fast forwarding was where the idea for quantum came, because as you'll see
the several back ends in the cloud providers, we thought we had an opportunity to make
something that would benefit the community so that you didn't have vendor lock in, you
didn't have to decide for the next 10 years what platform you'd use, so that's the motivation
for where we are with this.
Yeah, and so coming off of that, we put a Q-mat into Mahood as a way to be a layer in front
of any of these back end systems.
The core capabilities of the project are matrix arithmetic, so matrix multiplication,
factorization, any kind of dot product, similarity calculation, things like that, and what
we looked at when Trevor decided that this might be a good place to work was that the
math behind quantum looked a lot like linear algebra, so we figured it was a good fit.
So everybody here who's a researcher, I'm sure this is grade school level, but this came from
another talk that we did too, but this is just explaining that when we looked at this, we just saw
unit vectors, you know, basis vectors, and so it made a lot of sense for us, and so matrix multiplication
obviously is just what we do all day and in distributed level, and so making it a new layer made
a lot of sense for us, and you're going to do that.
So as I said in the abstract, if you may or may not have, what you may or may not have read,
there's approximately as many quantum programming languages as there are quantum computer vendors
at this point, so you've got a very diversified field, and KISKID is an other slide on this,
but KISKID is emerging as a standard, they also realize like, hey, we don't,
nobody wants to pick one because they're afraid, I will do all this research, that quantum computer
will go away and we'll have to start over from scratch, and so KISKID is kind of making all these
different backends, and I do work for IBM, and I want to, in fact, at least say this is not a
pitch for IBM KISKID, again, upcoming slide will show me turning on them soon, and anybody
in here working for IBM, before I say, I guess it's a livestream, oh yeah, it's a livestream,
I won't say anything too egregiously mean to them, I already said thank you for putting my vacation,
so, yes, you have KISKID, you've got bracket, you've got circuit, and the list goes on and on,
we started with the KISKID bracket in circuit because they are arguably the bigger frameworks,
and we will expand out from there, we have different vendor platforms running on,
very, very similar operations, and I've heard rumors that bracket, for instance, will have
optimizations written into bracket that makes quantum stuff run faster on, they will optimize for
when you're running on AWS, and they're, we're not going to have that, so if you are
performance constrained, which I don't think quantum computing as a disciplines really there yet,
where you're trying to milk like super low latency or things like that out of it, but that day will
come, and when that day happens, you're going to, at least, you're probably used KISKID,
or you use KU-MAT to prototype what you're going to build, go get your BC funding, and then pick
your vendor, and then you can optimize and you can really squeeze all those last little bits out of it.
But our background and who, again, being able to abstract over multiple back ends was a
core value we already had, we understood why it was important, so that is that. So yeah, actually,
and normally if there was another IBM or in here, there would be, and I'd be like, you know,
KISKID does all this, it does, they also won't, they will give you the optimal version for
IBM quantum computers. I feel like at Bob's demo, we're all really big and open source,
and we understand why of vendor having the abstraction layer for all the other vendors is probably
a bad idea. If anybody really needs me to go into that, we need to go into that, we can save
a per Q&A later, save a per Q&A later, when next slide. So current states,
we, at the moment, have basic gates. We plan on doing some machine learning stuff and more,
but basic gates, I mean, this is really not particularly high octane stuff and three back ends.
However, the same circuits, it's translated by once for one, you can just switch one line of code,
and you can run Q-mat, or you can run KISKID, you can run bracket, whatever you want in one line.
We also have some, Tom's side card methods like being able to do drawing, being able to
parameterize circuits, which is starting to lay the groundwork for quantum machine learning.
We have a getting started in quantum guide, which is really fun too.
And as I said, we're not quantum experts, so if you want to make some pull requests,
come and read our stuff, I'm sure there's errors in there, and that's a good on-ramping for
other people getting into quantum computing, which is nice. And we have a co-labrunable notebook,
which we will talk about soon. But coming soon, again, we're eventually working toward doing quantum
machine learning stuff. That is a goal that we have in mind. And then the other beauty of that,
too, is you can lay out a quantum machine learning circuit, and then swap one line, and now you can
run it on, whatever you want to run it on. More algorithms coming back to falls down because it's
really fun coming to Brussels, some day getting some VC monies, so we don't have to work for IBM
any more, we can just buy our own plane tickets, et cetera. So I will hand it back over to Andrew for the demo.
Oh, so yeah, there's a problem with the crackling in the browser. You want, I think it is.
The next slide just shows the notebook and the screenshot. Yeah, yeah.
So we've used co-lab. This interface is really what would GitHub, just as far as developers
tooling. When you have a notebook in GitHub, you can just pop, there's a button for popping up a
co-lab notebook. We do have that button on this exact file. I happen to not point to the right
notebook. So here are some screenshots. This is all run-able. We do have a simplified install,
so you can just run these cells. This is all in github.com slash Apache slash Apache slash Mahoot slash
cumat slash examples. And we have some examples of the circuit being drawn, so you can visualize the
matrices you're multiplying together. We had some other stuff that I think is a work in progress.
There was some bloch spheres. So this all is online. You can run this stuff, bless you.
You can run stuff, you can make pull requests, you can tell us where we're wrong,
you can tell us where we can improve. And then, like Trevor has said, we are not experts.
And we are software engineers who have specialized in machine learning and matrix math.
And we are dipping our toes into quantum computing. We actually looked at this morning at
breakfast. I was looking up how to package this into pipi and I found out that user
Zonky had already done it for us. So somehow there's an unsanctioned Python module out there
that you can install with pip. So we're going to unfortunately Zonky didn't give us any
way to get in touch with them. So we are going to go through the press. If anybody's gone,
so Zonky uses a hook here on my file. If you have, please let them know.
Please play with the notebooks, join the mailing list, and buy us beers. I had my first
non-alcoholic Belgian last night. It was actually very delicious. And I think that's a question time.
Any questions?
Yes, Nate.
Question.
Yeah, the question is what do people use in the food for prior and would that also translate
over to the quantum backend? People have done a lot of recommended systems, a lot of
similarity calculations, a lot of analytics. I think that the quantum stuff, the
the end goal, will be to be able to run workloads in the quantum stuff. I'm really,
do you know more about the use cases for quantum that would be different?
Yeah, I mean that to be fair goes to why do use a classical computer versus why use a quantum
computer? And as I understand it, the answer is their different use cases. So
we're probably not, until we get to some sort of singularity, and I don't know how far
different use of this in the future, where those kind of problems start happening, or you're
getting more crossover.
That is a great idea, and we could probably do that, yes.
More distributed. There was actually a workflow prior where it did an analysis of your job,
and it did, it was able to decide what solvers to use and things like that. So yeah, that would be a
great, a great picture. Yeah, thanks.
Question? Commons? What would we get wrong? Thanks a lot. Thank you.