(Quantum) Business Advantage
John Preskill recently linked to an interesting article over at HPCwire. The article itself is a summary of a talk Bob Sorenson gave regarding the size and state of the QC market and the expectations that possible buyers/users have for QC system performance.
Check it out:
This is super interesting, I’ve never seen anything even remotely like this survey before. Usually claims about the utility of quantum computer are quite vague, but the details matter! We talk about ‘quantum advantage’ a lot, in that quantum advantage is good to have, it’s an important milestone etc. Of course, the concept is a little slippery, and you can ask three physicists to define quantum advantage and get four different answers. Generically, quantum advantage is some sort of performance improvement for a quantum algorithm over a classical one made for the same purpose. This performance improvement doesn’t just have to be time to solution, but that is the most common one. Different users will have different requirements. For some, perhaps temporal performance could be less important than spatial savings. You could imagine many variations on this, all of which will be folded under the umbrella of ‘performance’.
From Sorenson’s slide we can see that there is a stronger form of advantage that will be required for widespread QC adoption. Let’s call it quantum business advantage (QBA). So now we can say stuff like “Quantum Widgets Inc expects to to achieve Quantum Advantage by 2026 and, for some users, Quantum Business Advantage by 2030.” To my mind, QBA is when you start getting real revenues and might even make actual profits.
CoGS
Another evergreen exercise in QC is estimating the total addressable market (TAM) of the field, either now, or at some relevant future date. Sorenson does us the favor of providing two TAM figures. 2020: $320 million; 2024: $830 million. These are substantially more conservative than some other figures you might see1. I have no intuition as to how TAM is calculated, but for the sake of fun, let’s assume they’re more or less reasonable.
How many gates does $320 million buy you?
This is a surprisingly hard question to answer, since pricing for publicly available QCs varies wildly. For example, on Azure, you can pay per gate-shot for IonQ where a 1-qubit gate costs $0.00003, a 2-qubit gate costs $0.0003, and 2-qubit gates with multiple control qubits are billed as 6*(N-2) 2-qubit gates.
On the other hand, if you chose the Honeywell machine, you can pay either $125,000 per month for 10,000 Honeywell Quantum Credits (HQC), or $175,000 per month for 17,000 HQC. Since Substack doesn’t support rendering LaTeX syntax (cowards!) here’s a screenshot of the Azure docs describing the Honeywell Quantum Credit.
Alternatively, you can head over to AWS Braket to choose between a D-Wave, IonQ, or Rigetti QPU. The pricing there is entirely different.
There are two pricing components when using a quantum computer, or quantum processing unit (QPU), on Amazon Braket: a per-shot fee and a per-task fee.
A shot is a single execution of a quantum algorithm on a QPU. For example, a shot is a single pass through each stage of a complete quantum circuit on a gate-based QPU from IonQ or Rigetti. When you use a D-Wave quantum annealer, a shot is when you obtain a result sample of a quantum annealing problem. The per-shot pricing depends on the type of QPU used. The per-shot price is not affected by the number or type of gates used in a quantum circuit or the number of variables used in a quantum annealing problem.
A task is a sequence of repeated shots based on the same circuit design or annealing problem. You define how many shots you want included in a task when you submit the task to Amazon Braket. Per-task pricing is the same across all QPUs.
Emphasis mine. As far as I can tell, Amazon is just eating the per-gate part of IonQ’s (and Rigetti’s?) pricing? This seems a little crazy at first, but also consistent with the characteristics of NISQ era QC programming. NISQ algorithms are unlikely to be especially large, but they are likely to be run many times (many shots) to average out errors, which is why it makes sense to charge per-shot. As qubit tech evolves toward fault-tolerance, we’re likely to see a change in Braket pricing.
Finally, you can swing by the IBMQ Experience and learn that if you want access to their fanciest machines, or even the 2nd fanciest machines, you’ll have to become a member of the IBM Quantum Network. And that means you’ll have to fill out some form and presumably speak with a person. Since I am firmly in the Millenial demographic, I categorically refuse to speak to anyone. The pricing of IBM QPUs will remain forever a mystery.
To recap, the only quantum cloud provider with legible per-gate or quasi per-gate pricing is Azure, so we’ll take these figures. Now we need to figure out how gates are distributed in some algorithms, and we’ll want to compare how many gates we can afford to how many gates we may need to do something useful.
Before we go any further I need any Serious Quantum Computing Theorists, especially you Algorithms People, to understand that I am going to commit some crimes of estimation in what follows. I’m will simplify, gloss over, and ignore the shit out of some very important details. I’m sorry in advance, especially to Craig Gidney and Martin Ekerå2.
In their paper, How to factor 2048 bit RSA integers in 8 hours using 20 million noisy qubits, Gidney and Ekerå present some very nice tables of their hardware estimates alongside estimates made in relevant previous work. One import figure of merit for us will be number of Toffoli gates required to perform the computation. From the paper, we expect to perform 400 million Toffoli gates3 and 2 billion measurements. Toffoli gates can be constructed in a number of ways, but I’m going to prefer a construction with single qubit gates and CNOTs instead of the optimal route using only five two-qubit gates. Each Toffoli is: 2 H-gates, 7 T-gates, 6 CNOT gates. Based on my experimentalist’s (read: tenuous) understanding of how these things will work, you can combine one CCZ and one T4 gate to get 2 T gates more efficiently than just directly creating 2 T gates, so we’ll add some CCZs into our estimate.
So, based on current IonQ pricing, the cost of 400 million Toffolis comes to:
800 million H gates - $24,000.00
2.4 billion CNOT gates - $720,000.00
1.4 billion CCZ gates - $2,520,000.00
1.4 billion T gates - $42,000.00
TOTAL: ~$3.3 million
Alternatively, we can convert this to HQCs if we decide to subscribe to Honeywell’s premium quantum service. With some reasonable assumptions about how CCZ gates will be priced, we get a total of 24 million HQC required to run this algorithm. That’s the better part of 118 years of Honeywell System time on Azure, which will cost you $247 million over the century or so it takes to complete the computation. On the bright side, you’d only need one attempt.
One final note, in all of the above I totally ignored the fact that the Gidney and Ekerå paper ends up estimating that something like 20 million physical qubits are required to do this. I’m pretty sure that, beyond the Toffoli gates, there are also millions (billions?) of error correcting gate operations that have to be included and paid for.
Aside from highlighting my embarrassingly weak knowledge of the structure of actual quantum computations at scale, what have we accomplished? Well, thanks to IonQ and Honeywell publishing some pricing info, we can see (roughly) what a serious quantum computation would cost. And, for IonQ, the result is actually not too crazy! After all, GPT-3 cost about $12 million to train, and I’m sure there are other proprietary ML models that cost as much or more, but provide substantial business value. You could point out that this is $3 million to factor one 2048 bit number out of 10^617 such numbers. However, I’m sure there are some very specific 2048 bit numbers out there, and that factoring them could give a very agreeable ROI.
As for our original question, ‘how many gates does $320 million buy you?’, well the answer is something like 600 billion. As we move closer to fault tolerance, I expect this question to take the form ‘how much QPU time does $X million buy you?’, which can be reduced to gates per $ at some point, since gates will take finite time, but that value will be driven by the demand among users for QPU time.
In the end I’m left wondering, should a useful computation on a QC cost $3 million dollars? Honestly, I have no idea. In terms of power expenditure to run the physical hardware, plus the time of the people involved in building and maintaining it, perhaps not. But if the ROI on useful quantum algorithms is >> $3 million, and if QC time/availability is limited, then surely the QC providers should charge some fraction of the value unlocked for the users.
BCG estimates are firmly in the billions of dollars in terms of “value creation”, even in the near term.
I’ve never met them, but I sure hope they’re cool with all of the glossing over that’s about to happen.
Really it’s 400 million Toffoli + T/2 gates, but this notation is not familiar to me. Not sure if this means that half the T gates plus all of the Toffoli gates sum to 400 million, or whether there is some kind of T/2 gate that makes sense to talk about. It’s easier just to pretend this is total number of Toffoli gates and see what happens.
You should take this section with a huge grain of salt. I’m just a humble experimental physicist and I wouldn’t know an AutoCCZ factory even if Gidney and Fowler slapped me across the face with it.
Cost of Gates Sold
Mindful this post is a bit old, but IBM Quantum did put a few systems on the cloud in a pay-as-you-go model, with a current cost of $1.60 USD per "runtime-second" (https://cloud.ibm.com/catalog/services/quantum-computing), where the cost of sitting in queue is free.
So $3M USD currently buys you 1875000 seconds, or about 21.7 days, of quantum compute time.
Whether that amount of time is enough to unlock >$3M in end-user value, IDK.
From my POV, the interesting tension is the balance between end-users wanting to run more circuits for their work to get more accurate results via error mitigation (which can come with substantial overheads), and those self-same end users wanting to minimize cost.