Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 komputerów kwantowych z jonami pułapkowymi firmy IonQ.
- Wydawca: IonQ
- Identyfikator dostawcy:
ionq
Następujące elementy targets są dostępne u tego dostawcy:
| Nazwa docelowa | ID docelowy | 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 z jonami pułapkowymi IonQ Aria 1. |
| IonQ Forte 1 | ionq.qpu.forte-1 | 36 kubitów | IonQ's Forte 1 komputer kwantowy z uwięzionymi jonami. |
| IonQ Forte Enterprise 1 | ionq.qpu.forte-enterprise-1 | 36 kubitów | Komputer kwantowy IonQ Forte Enterprise 1 z pułapkowanymi jonami. |
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
Symulator przyspieszany przez GPU, obsługujący maksymalnie 29 kubitów, używający tego samego zestawu bram, który IonQ zapewnia w swoim sprzęcie kwantowym — doskonałe miejsce do przetestowania zadań przed uruchomieniem ich na rzeczywistym komputerze kwantowym.
- Typ zadania:
Simulation - Format danych:
ionq.circuit.v1 - Identyfikator docelowy:
ionq.simulator - Docelowy profil wykonywania: QIR Base
Komputer kwantowy IonQ Aria
IonQ Aria jest flagowym modelem komputerów kwantowych na uwięzionych jonach 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ą cenom opartym na debiasingu. 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 - Identyfikator docelowy:
ionq.qpu.aria-1 - Docelowy profil wykonywania: QIR Base
| Nazwa parametru | Typ | Wymagane | opis |
|---|---|---|---|
shots |
int (integer) | Nie. | Liczba zdjęć eksperymentalnych. |
Chronometraż systemu
| Miara | Średni czas trwania |
|---|---|
| T1 | 10–100 sekundy |
| 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 płatności zgodnie z rzeczywistym użyciem. 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. Z 36-kubitowym systemem konfigurowalnym programowo. Aby uzyskać więcej informacji, zobacz IonQ Forte (ionq.com).
Ważne
Usuwanie błędów jest domyślnie włączone w systemie Forte, a przesłane zadania podlegają cenom opartym na usuwaniu błędów. 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 - Identyfikator docelowy:
ionq.qpu.forte-1 - Docelowy profil wykonywania: QIR Base
| Nazwa parametru | Typ | Wymagane | opis |
|---|---|---|---|
shots |
int (integer) | Nie. | Liczba zdjęć eksperymentalnych. |
Komputer kwantowy IonQ Forte Enterprise
IonQ Forte Enterprise to najbardziej wydajny, komercyjnie dostępny komputer kwantowy IonQ. Z 36-kubitowym systemem konfigurowalnym programowo. Aby uzyskać więcej informacji, zobacz IonQ Forte Enterprise (ionq.com).
Forte Enterprise to wersja systemów klasy Forte, które zostały dostosowane i odporne na wdrożenie w standardowym środowisku centrum danych, dzięki czemu jest bardziej odpowiednie dla zadań zorientowanych na środowisko produkcyjne na poziomie przedsiębiorstwa. Podstawowy sprzęt i wydajność obliczeń kwantowych są takie same. Podstawową różnicą między narzędziem IonQ Forte a IonQ Forte Enterprise jest ich wdrożenie i zamierzone przypadki użycia, a nie podstawowe specyfikacje wydajności. Chociaż oba systemy oferują te same metryki o wysokiej wydajności, rozwiązanie Forte Enterprise zostało specjalnie zaprojektowane pod kątem integracji ze środowiskiem centrum danych.
Ważne
Odbiasowanie jest domyślnie włączone w systemie Forte Enterprise, a przesłane zadania podlegają cenom opartym na odbiasowaniu. 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 - Identyfikator docelowy:
ionq.qpu.forte-enterprise-1 - Docelowy profil wykonywania: QIR Base
| Nazwa parametru | Typ | Wymagane | opis |
|---|---|---|---|
shots |
int (integer) | 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 Results, czyli jeśli dane wyjściowe operacji są wynikiem pomiaru kwantowego. IonQ tworzy histogram ze zwracanych wartości, więc ogranicza typ zwracany do Result w celu 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.
| Zdolność | opis |
|---|---|
| Łagodzenie błędów | Zastosowanie odpraszania w celu minimalizacji szumu i maksymalizacji wydajności algorytmicznej na sprzęcie IonQ. |
| Obsługa bram natywnych | Definiuj i wykonuj obwody bezpośrednio na bramach natywnych dla sprzętu 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.
Łagodzenie błędów
Pakiet IonQ zapewnia opcję włączenia 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, stosując techniki takie jak różne przypisania kubitów, dekompozycje bram i rozwiązania impulsowe, i następnie ich wykonanie.
Wyostrzanie i uśrednianie to opcje agregowania wyników wariacji. Ś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. Aby uzyskać informacje o cenach ograniczania błędów, zobacz Cennik IonQ.
Włączanie ograniczania błędów
Uwaga
Debiasing 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:
from qdk import qsharp
from qdk.azure import Workspace
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 = 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 Qiskit przekazujesz opcjonalne parametry do konfiguracji maszyny przed wysłaniem zadania.
circuit.name = "Single qubit random - Debias: True"
backend.options.update_options(**option_params)
job = backend.run(circuit, shots=500)
Uwaga
Jeśli nie przekażesz parametru error-mitigation, maszyna target używa swojego 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 chcieć zdefiniować obwód bezpośrednio na bramach natywnych, aby zbliżyć się do sprzętu oraz pominąć optymalizację. Zestaw rodzimych bram to zestaw bram kwantowych, które są fizycznie wykonywane w procesorze kwantowym, i dopasowują obwód do tych bram podczas wykonywania.
Aby uzyskać więcej informacji, zapoznaj się z Wprowadzenie do bram natywnych (ionq.com).
Aby użyć natywnego zestawu bram podczas przesyłania zadań Qiskit do usługi Azure Quantum, określasz parametr gateset podczas inicjowania zaplecza obliczeniowego, jak w poniższym przykładzie:
# Here 'provider' is an instance of AzureQuantumProvider
backend = provider.get_backend("ionq.qpu.aria-1", gateset="native")
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. Znajomość cech szumu target systemu może pomóc udoskonalić algorytmy i uzyskać bardziej realistyczne przewidywanie wyników podczas uruchamiania obwodu na rzeczywistym 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ętu target . 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 początkowej dla pseudo-losowego szumu i próbkowania, tworząc powtarzalne hałaśliwe wyniki. Jeśli parametr nie zostanie określony, zostanie utworzona losowa seed wartość. |
Rozpoznawanie strzałów
Symulacja modelu szumu jest świadoma strzałów; to znaczy, że próbkuje pomiary ze stanu wyjściowego na podstawie liczby dostarczonych strzałów. Parametr shots jest przesyłany z zadaniem w usłudze Azure Quantum i jest wymagany dla aria-1 modeli szumu. Jeśli nie określono wartości shot, 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 mitigacji błędów i dodać lub zastąpić konfigurację modelu szumu w 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 Qiskit przekazujesz opcjonalne parametry do konfiguracji maszyny przed wysł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
Przydziały IonQ są monitorowane na podstawie jednostki użycia QPU, która jest kubit-gate-shot (QGS). Użycie zasobów jest rozliczane na twoim koncie.
Każdy program kwantowy składa się z $N$ kwantowych bram logicznych jednego lub więcej kubitów i jest wykonywany dla określonej liczby powtórzeń. Liczba strzałów na bramkę jest obliczana przy użyciu następującego wzoru.
$$ QGS = N · C $$
gdzie:
- $N$ jest liczbą przesłanych bramek jedno- lub dwu-kubitowych
- $C$ to liczba żądanych wykonań
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).