Dostawca IonQ
Ważne
IonQ wycofał swój komputer kwantowy Harmony-2 od 1 września 2024 r.
Napiwek
Podczas tworzenia obszaru roboczego usługi Azure Quantum automatycznie otrzymujesz bezpłatną kwotę 500 USD środków na korzystanie z usługi Azure Quantum dla każdego dostawcy sprzętu kwantowego. Możesz użyć środków na korzystanie z usługi Azure Quantum, aby przesłać swoje pierwsze programy kwantowe do rzeczywistego sprzętu kwantowego.
Komputery kwantowe IonQ wykonują obliczenia, manipulując stanami energii hiperfinii jonów Ytterbium laserami. Atomy to kubity natury — każdy kubit jest identyczny w obrębie i między programami. Operacje logiczne można również wykonywać na dowolnej parze kubitów, co umożliwia tworzenie złożonych programów kwantowych niezakłóconych przez łączność fizyczną. Chcesz dowiedzieć się więcej? Przeczytaj omówienie technologii komputerowej kwantowej uwięzionej jonowej IonQ.
- Wydawca: IonQ
- Identyfikator dostawcy:
ionq
Następujące elementy targets są dostępne u tego dostawcy:
Target nazwa | Target ID | Liczba kubitów | opis |
---|---|---|---|
Symulator kwantowy | ionq.simulator | 29 kubitów | Wyidealizowany symulator oparty na chmurze firmy IonQ. Wolne od kosztów. |
IonQ Aria 1 | ionq.qpu.aria-1 | 25 kubitów | Komputer kwantowy Aria uwięzionych jonów IonQ. |
IonQ Aria 2 | ionq.qpu.aria-2 | 25 kubitów | Komputer kwantowy Aria uwięzionych jonów IonQ. |
IonQ Forte | ionq.qpu.forte | 32 kubity | Forte uwięziony komputer kwantowy IonQ. Dostępne tylko w prywatnej wersji zapoznawczej. |
IonQ targets odpowiada profilowi QIR Base . Aby uzyskać więcej informacji na temat tego target profilu i jego ograniczeń, zobacz Opis target typów profilów w usłudze Azure Quantum.
Symulator kwantowy
Symulowany symulator przyspieszany przez procesor GPU obsługujący maksymalnie 29 kubitów przy użyciu tego samego zestawu bram IonQ zapewnia sprzęt kwantowy — doskonałe miejsce do wstępnego wykonywania zadań przed uruchomieniem ich na rzeczywistym komputerze kwantowym.
- Typ zadania:
Simulation
- Format danych:
ionq.circuit.v1
- Target ID:
ionq.simulator
- Target Profil wykonywania: QIR Base
Komputer kwantowy IonQ Aria
IonQ Aria jest flagą uwięzionych komputerów kwantowych IonQ, z 25-kubitowym dynamicznie rekonfigurowalnym systemem. Aby uzyskać więcej informacji, zobacz IonQ Aria (ionq.com).
Ważne
Debiasing jest domyślnie włączony w systemach Aria, a przesłane zadania podlegają odchyleniu cen. Aby uzyskać więcej informacji na temat debiasingu i sposobu wyłączania/włączania usługi, zobacz Ograniczanie błędów.
- Typ zadania:
Quantum Program
- Format danych:
ionq.circuit.v1
- Target Identyfikator:
ionq.qpu.aria-1
,ionq.qpu.aria-2
- Target Profil wykonywania: QIR Base
Nazwa parametru | Typ | Wymagania | opis |
---|---|---|---|
shots |
int | Nie. | Liczba zdjęć eksperymentalnych. |
Chronometraż systemu
Miara | Średni czas trwania |
---|---|
T1 | 10–100 s |
T2 | 1 s |
Bramka z pojedynczym kubitem | 135 μs |
Bramka z dwoma kubitami | 600 μs |
Wierność systemu
Operacja | Średnia wierność |
---|---|
Bramka z pojedynczym kubitem | 99,95% (poprawiono spam) |
Bramka z dwoma kubitami | 99,6% (nie poprawiono spamu) |
SPAM* | 99.61% |
* Przygotowanie stanu i pomiar (SPAM): Ta miara określa, jak dokładnie komputer kwantowy może ustawić kubit do stanu początkowego, a następnie zmierzyć wynik na końcu.
IonQ Aria jest dostępna za pośrednictwem planu środków na korzystanie z usługi Azure Quantum i oddzielnego planu rozliczeniowego. Aby uzyskać więcej informacji, zobacz Cennik usługi Azure Quantum.
Komputer kwantowy IonQ Forte
IonQ Forte to najbardziej wydajny, komercyjnie dostępny komputer kwantowy IonQ. W przypadku 32-kubitowego systemu konfigurowalnego programowo IonQ Forte jest dostępny w prywatnej wersji zapoznawczej w usłudze Azure Quantum. Aby uzyskać więcej informacji, zobacz IonQ Forte (ionq.com).
Ważne
Odchylenie jest domyślnie włączone w systemie Forte, a przesłane zadania podlegają odchyleniom cenowym. Aby uzyskać więcej informacji na temat debiasingu i sposobu wyłączania/włączania usługi, zobacz Ograniczanie błędów.
- Typ zadania:
Quantum Program
- Format danych:
ionq.circuit.v1
- Target ID:
ionq.qpu.forte
- Target Profil wykonywania: QIR Base
Nazwa parametru | Typ | Wymagania | opis |
---|---|---|---|
shots |
int | Nie. | Liczba zdjęć eksperymentalnych. |
Format danych wejściowych
W języku Q#dane wyjściowe miary kwantowej są wartością typu Result
, która może przyjmować tylko wartości Zero
i One
. Podczas definiowania operacji języka Q# można ją przesłać tylko do sprzętu IonQ, jeśli zwracany typ to kolekcja Result
s, czyli jeśli dane wyjściowe operacji są wynikiem pomiaru kwantowego. Przyczyną jest to, że IonQ tworzy histogram z zwracanych wartości, więc ogranicza typ zwracany w celu Result
uproszczenia tworzenia tego histogramu.
IonQ targets odpowiada elementowi QIR Base profile. Ten profil nie może uruchamiać operacji kwantowych, które wymagają użycia wyników z pomiarów kubitów w celu kontrolowania przepływu programu.
Format wyjściowy
Po przesłaniu programu kwantowego do symulatora IonQ zwraca histogram utworzony przez miary. Symulator IonQ nie próbkuje rozkładu prawdopodobieństwa utworzonego przez program kwantowy, ale zwraca rozkład skalowany do liczby zdjęć. Jest to najbardziej widoczne podczas przesyłania pojedynczego obwodu strzału. Zobaczysz wiele wyników pomiaru w histogramie dla jednego strzału. To zachowanie jest związane z symulatorem IonQ, podczas gdy funkcja QPU IonQ faktycznie uruchamia program i agreguje wyniki.
Dodatkowe możliwości
Dodatkowe możliwości obsługiwane przez sprzęt IonQ są wymienione tutaj.
Możliwość | opis |
---|---|
Środki zaradcze dotyczące błędów | Używanie stronniczość w celu zminimalizowania szumu i zmaksymalizowania wydajności algorytmicznej na sprzęcie IonQ |
Obsługa bram natywnych | Definiowanie i wykonywanie obwodów bezpośrednio na bramach natywnych sprzętowo IonQ |
Symulacja modelu szumu | Symuluj profil szumu, który wystąpi podczas uruchamiania ich na innym sprzęcie IonQ. |
Użytkownicy mogą korzystać z tych dodatkowych możliwości za pośrednictwem parametrów przekazywania w usługach Azure Quantum Q# i Qiskit.
Środki zaradcze dotyczące błędów
Usługa IonQ umożliwia włączenie ograniczania błędów kwantowych podczas przesyłania zadań do sprzętu IonQ. Ograniczenie ryzyka błędów to proces na poziomie kompilatora, który jest uruchamiany i wykonuje wiele symetrycznych odmian obwodu, a następnie agreguje wyniki przy jednoczesnym łagodzeniu wpływu błędów sprzętowych i dekoherencji kubitów. W przeciwieństwie do technik korygowania błędów kwantowych ograniczenie ryzyka błędów nie wymaga dużego nakładu pracy bramy i kubitu.
Debiasing to proces tworzenia niewielkich odmian danego obwodu, który powinien być identyczny na idealnej maszynie bez szumu, przy użyciu technik takich jak różne przypisania kubitów, dekompozycje bramy i rozwiązania impulsów, a następnie wykonywanie tych odmian.
Wyostrzanie i średnie to opcje agregowania wyników odmian. Średnie jest jednakowo oparte na wszystkich wynikach odmian, podczas gdy wyostrzanie filtruje błędne wyniki i może być bardziej niezawodne dla niektórych typów algorytmów.
Aby uzyskać więcej informacji, zobacz Debiasing and Sharpening (Odchylenie i ostrzenie). Aby uzyskać informacje o cenach ograniczania błędów, zobacz Cennik IonQ.
Włączanie ograniczania błędów
Uwaga
Odchylenie jest domyślnie włączone w systemach Aria i Forte.
W usłudze Azure Quantum można włączyć lub wyłączyć ograniczanie błędów dla zadań przesłanych za pomocą języka Q# lub zestawu Qiskit.
Aby włączyć ograniczenie ryzyka błędów, dodaj opcjonalny parametr dla maszyny target :
option_params = {
"error-mitigation": {
"debias": True
}
}
Aby wyłączyć ograniczenie ryzyka błędów, ustaw parametr na False
:
option_params = {
"error-mitigation": {
"debias": False
}
}
Uwaga
Jeśli używasz również symulacji modelu szumu IonQ, te parametry można uwzględnić w tym miejscu, na przykład:
option_params = {
"error-mitigation": {
"debias": False
},
"noise": {
"model": "aria-1",
"seed": 100
}
}
Aby uzyskać więcej informacji, zobacz Symulacja modelu szumu.
Uruchamianie zadania w usłudze Azure Quantum z ograniczeniem błędów
W tym przykładzie użyto prostego generatora liczb losowych.
Najpierw zaimportuj wymagane pakiety i zainicjuj profil podstawowy:
import qsharp
import azure.quantum
qsharp.init(target_profile=qsharp.TargetProfile.Base)
Następnie zdefiniuj funkcję.
%%qsharp
import Std.Measurement.*;
import Std.Arrays.*;
import Std.Convert.*;
operation GenerateRandomBit() : Result {
use target = Qubit();
// Apply an H-gate and measure.
H(target);
return M(target);
}
and compile the operation:
```python
MyProgram = qsharp.compile("GenerateRandomBit()")
Połącz się z usługą Azure Quantum, wybierz maszynę target i skonfiguruj parametry szumu emulatora:
MyWorkspace = azure.quantum.Workspace(
resource_id = "",
location = ""
)
MyTarget = MyWorkspace.get_targets("ionq.qpu.aria-1")
error-mitigation
Określanie konfiguracji
option_params = {
"error-mitigation": {
"debias": True
}
}
Przekaż konfigurację ograniczania ryzyka błędów podczas przesyłania zadania:
job = MyTarget.submit(MyProgram, "Experiment with error mitigation", shots = 10, input_params = option_params)
job.get_results()
W zestawie Qiskit należy przekazać opcjonalne parametry do target konfiguracji maszyny przed przesłaniem zadania:
circuit.name = "Single qubit random - Debias: True"
backend.options.update_options(**option_params)
job = backend.run(circuit, shots=500)
Uwaga
Jeśli parametr nie zostanie przekazany error-mitigation
, target maszyna będzie używać jego domyślnego ustawienia, które jest włączone dla systemów Aria i Forte.
Obsługa i użycie bram natywnych
Domyślnie IonQ umożliwia określenie obwodu kwantowego przy użyciu abstrakcyjnego zestawu bram kwantowych o nazwie qis
, który umożliwia elastyczność i przenośność podczas pisania algorytmu bez martwienia się o optymalizację sprzętu.
Jednak w niektórych zaawansowanych przypadkach użycia można zdefiniować obwód bezpośrednio na bramach natywnych, aby zbliżyć się do sprzętu i obejścia optymalizacji. Natywny zestaw bram jest zestawem bram kwantowych, które są fizycznie wykonywane w procesorze kwantowym i mapują obwód na te w ramach wykonywania.
Aby uzyskać więcej informacji, zobacz Wprowadzenie do bram natywnych (ionq.com).
Aby użyć natywnego zestawu bram podczas przesyłania zadań Qiskit do usługi Azure Quantum, należy określić gateset
parametr podczas inicjowania zaplecza, jak w poniższym przykładzie:
# Here 'provider' is an instance of AzureQuantumProvider
backend = provider.get_backend("ionq.qpu.aria-1", gateset="native")
Nazwa parametru | Typ | Wymagania | opis |
---|---|---|---|
gateset |
string | Nie | Określa zestaw bram, które będą używane do definiowania obwodu. Wartość odpowiada abstrakcyjnym qis bramom (zachowanie domyślne) i native bramom natywnym sprzętu IonQ. |
Aby uzyskać więcej informacji na temat zadań Qiskit, zobacz Submit a circuit with Qiskit (Przesyłanie obwodu za pomocą zestawu Qiskit).
Symulacja modelu szumu
Nawet najlepszy z dzisiejszego sprzętu kwantowego ma nieodłączny szum i znajomość cech szumu target systemu może pomóc w uściśleniu algorytmów i uzyskać bardziej realistyczne przewidywanie wyników podczas uruchamiania obwodu na sprzęcie. Technologia IonQ udostępnia symulację modelu szumu, która wprowadza hałas do obwodu przy użyciu "odcisku palca szumu" specyficznego dla sprzętutarget. Aby uzyskać więcej informacji, zobacz Wprowadzenie do symulacji modelu szumu sprzętowego.
Parametry modelu szumu
Nazwa parametru | Wartości | opis |
---|---|---|
noise |
model , seed |
Umożliwia symulację modelu szumu |
model |
ideal , aria-1 |
Określa model szumu dla sprzętu target .
|
seed |
Liczba całkowita z zakresu od 1 do $2^{31}$ (2,147,483,648) | Umożliwia określenie wartości nasion dla pseudo-losowego szumu i próbkowania strzałów, tworząc powtarzalne wyniki hałaśliwe. Jeśli parametr nie zostanie określony, zostanie utworzona losowa seed wartość. |
Rozpoznawanie strzałów
Symulacja modelu szumu jest świadoma strzałów. Oznacza to, że próbkuje pomiary ze stanu wyjściowego na podstawie liczby dostarczonych zdjęć. W usłudze Azure Quantum shots
parametr jest przesyłany z zadaniem i jest wymagany dla aria-1
modeli szumu. Jeśli żadna wartość nie shot
zostanie określona, zostanie użyta wartość domyślna 1000
. Jeśli jest używany model szumu ideal
, shots
parametr jest ignorowany.
Pojemność kubitu
ideal
Chociaż model szumu umożliwia symulowanie do 29 kubitów za pomocą symulatora kwantowego IonQ, modele szumu specyficzne dla sprzętu są ograniczone do rzeczywistej pojemności kubitów target sprzętu, czyli 25 kubitów dla modelu szumuaria-1
.
Włączanie symulacji modelu szumu
W usłudze Azure Quantum symulacja modelu szumu może być włączona lub wyłączona dla zadań przesłanych za pomocą języka Q# lub z zestawem Qiskit.
Aby włączyć symulację modelu szumu, dodaj opcjonalny parametr dla target maszyny, na przykład:
option_params = {
"noise": {
"model": "aria-1", # targets the Aria quantum computer
"seed" : 1000 # If seed isn't specified, a random value is used
}
}
Uwaga
Jeśli używasz również ograniczania błędów IonQ, te parametry można uwzględnić w tym miejscu, na przykład:
option_params = {
"error-mitigation": {
"debias": False
},
"noise": {
"model": "aria-1",
"seed": 1000
}
}
Aby uzyskać więcej informacji, zobacz Ograniczanie błędów.
Uruchamianie zadania z symulacją modelu szumu
Możesz użyć tego samego przykładowego programu pokazanego wcześniej w ramach ograniczania ryzyka błędów i dodać lub zastąpić konfigurację modelu szumu w programie option_params
;
option_params = {
"error-mitigation": {
"debias": True
},
"noise": {
"model": "aria",
"seed": 1000
}
}
Następnie przekaż opcjonalne parametry podczas przesyłania zadania:
job = MyTarget.submit(MyProgram, "Experiment with noise model simulation", shots = 10, input_params = option_params)
job.get_results()
W zestawie Qiskit należy przekazać opcjonalne parametry do target konfiguracji maszyny przed przesłaniem zadania:
circuit.name = "Single qubit random - Debias: True"
backend.options.update_options(**option_params)
job = backend.run(circuit, shots=500)
Cennik
Aby wyświetlić plan rozliczeniowy IonQ, odwiedź stronę Cennik usługi Azure Quantum.
Limity przydziału i ograniczenia
Limity przydziału IonQ są śledzone na podstawie jednostki użycia QPU, która jest kubit-gate-shot (QGS). Użycie zasobów jest uwzględniane na koncie.
Każdy program kwantowy składa się z $N$ kwantowych bram logicznych co najmniej jednego kubitu i jest wykonywany dla określonej liczby zdjęć. Liczba strzałów bramek jest obliczana przez następującą formułę:
$$ QGS = N · C $$
gdzie:
- $N$ jest liczbą przesłanych bramek jedno-lub dwóch kubitów
- $C$ to liczba żądanych ujęć wykonania
Limity przydziału są oparte na wyborze planu i można je zwiększyć za pomocą biletu pomocy technicznej. Aby wyświetlić bieżące limity i limity przydziału, przejdź do bloku Środki i przydziały , a następnie wybierz kartę Przydziały obszaru roboczego w witrynie Azure Portal. Aby uzyskać więcej informacji, zobacz Limity przydziału usługi Azure Quantum.
Uwaga
Jeśli używasz planu środków na korzystanie z usługi Azure Quantum, a nie planu rozliczeniowego, informacje o limitach przydziału są mapowane na przydzielone środki. W takim przypadku limit przydziału zawiera łączną liczbę otrzymanych środków.
Stan IonQ
Aby uzyskać informacje o opóźnieniach przetwarzania zadań QPU IonQ, zobacz stronę stanu IonQ.
Najlepsze rozwiązania i wykres łączności IonQ
Aby zapoznać się z zalecanymi najlepszymi rozwiązaniami dotyczącymi QPU IonQ, zobacz Najlepsze rozwiązania IonQ (ionq.com).