You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Update documentation
* Update documentation
* Update resource estimator defaults for values and remove depth from q50 entry
* Update cli tool
* Add method to train simple linear model, improve docstrings
* Add Helmi model type, add new analytical model for Q50
* Update and add new tests
* Update changelog
* Update actual vs predicted plot
* Update documentation
* Update creation of plots
* Clean up codebase and move logic to new modules
Copy file name to clipboardExpand all lines: public/documentation.md
+16-8Lines changed: 16 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,9 +3,9 @@
3
3
4
4
Data is gathered by submitting quantum circuits with varying values for shots, depth, number of circuits in a batch and number of qubits. You can view the data gathered [here](https://github.com/FiQCI/resource-estimator/tree/main/data_analysis/data). QPU seconds is calculated from timestamps returned via IQM Client as explained [here](https://docs.meetiqm.com/iqm-client/integration_guide.html#job-phases-and-related-timestamps). QPU seconds is calculated as `execution_end` - `execution_start`.
5
5
6
-
The data is analyzed using **polynomial ridge regression models** implemented with scikit-learn's [`Ridge`](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Ridge.html) and [`PolynomialFeatures`](https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.PolynomialFeatures.html). A separate model is created for each quantum computer:
7
-
-**Helmi**: Degree-2 polynomial
8
-
-**VTT Q50**: Degree-3 polynomial with **log-transform**
6
+
The data is analyzed using different modeling approaches depending on the quantum computer:
7
+
-**Helmi**: Polynomial ridge regression model (degree-2) implemented with scikit-learn's [`Ridge`](https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Ridge.html) and [`PolynomialFeatures`](https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.PolynomialFeatures.html)
8
+
-**VTT Q50**: Analytical model.
9
9
10
10
## Helmi
11
11
@@ -21,15 +21,19 @@ Where $kshots = shots/1000$ and $B$ is number of circuits in a batch.
21
21
22
22
## VTT Q50
23
23
24
-
The model for VTT Q50 uses a**degree-3 polynomial regression with log-transform**. The equation (showing only the most significant terms) is:
24
+
The model for VTT Q50 uses an**analytical model** that tries to capture the scaling of parameters:
Where only the most significant terms are included. This shows that VTT Q50 is strongly dependent on batches and shots. VTT Q50 has a baseline initialization time of approximately **1.2 seconds**.
34
+
Note that the circuit depth does not affect runtime by a noticeable amount. The number of qubits has a minimal impact.
31
35
32
-
Where $kshots = shots/1000$ and $B$ is number of circuits in a batch.
36
+
The initialization overhead ($T_{init}$) is approximately **1.1-1.2 seconds**.
33
37
34
38

35
39
@@ -43,6 +47,10 @@ The model does not work well for circuits with a high depth (`>1000`) count, how
43
47
44
48
Both VTT Q50 and Helmi have a constant initialization time associated with any quantum job submitted to them. For a batch of circuits, the constant initialization time applies to the whole batch (list of circuits). However, submitting many smaller batches of quantum circuits does apply this time. This is mostly due to the initialization of the control electronics needed before job submission.
45
49
50
+
-**Why does VTT Q50's model not include circuit depth or qubit count?**
51
+
52
+
The circuit depth and number of qubits has minimal impact on QPU execution time. The runtime is largely dominated by the number of circuit executions (shots × batches) and qubit count. Removing depth from the VTT Q50 model simplifies the estimation model.
53
+
46
54
-**Is the initialization time needed every time a parameter is updated in the quantum circuit?**
47
55
48
56
When running variational algorithms you often perform parameter updates outside of the quantum job. Therefore, for each parameter update the constant initialization time is added to the total runtime.
0 commit comments