IonQ sağlayıcısı

İpucu

İlk kez kullanan kullanıcılar, katılan her kuantum donanım sağlayıcısıyla kullanılmak üzere otomatik olarak ücretsiz 500 ABD Doları (USD)Azure Quantum Kredisi alır. Tüm kredileri kullandıysanız ve daha fazlasına ihtiyacınız varsa Azure Quantum Kredileri programına başvurabilirsiniz.

IonQ'nun kuantum bilgisayarları, Ytterbium iyonlarının hiperfine enerji durumlarını lazerlerle işleyerek hesaplamalar yapar. Atomlar doğanın kubitleridir; her kubit programlar içinde ve programlar arasında aynıdır. Mantıksal işlemler herhangi bir rastgele kubit çifti üzerinde de gerçekleştirilebilir ve böylece fiziksel bağlantı tarafından engellenmeyen karmaşık kuantum programları sağlanır. Daha fazla bilgi almak ister misiniz? IonQ'nun kapana kısılmış iyon kuantum bilgisayar teknolojisine genel bakış bölümünü okuyun.

  • Yayımcı: IonQ
  • Sağlayıcı Kimliği: ionq

Bu sağlayıcıdan aşağıdakiler targets kullanılabilir:

Hedef adı Hedef Kimliği Kubit sayısı Description
Kuantum simülatörü ionq.simulator 29 kubit IonQ'nun bulut tabanlı idealleştirilmiş simülatörü. Ücretsiz.
IonQ Harmony ionq.qpu 11 kubit IonQ'nun kapana kısılmış iyon kuantum bilgisayarı.
IonQ Aria 1 ionq.qpu.aria-1 25 kubit IonQ'nun Aria kapana kısılmış iyon kuantum bilgisayarı.
IonQ Aria 2 ionq.qpu.aria-2 25 kubit IonQ'nun Aria kapana kısılmış iyon kuantum bilgisayarı.
IonQ Forte ionq.qpu.forte 32 kubit IonQ'nun Forte kapana kısılmış iyon kuantum bilgisayarı. Yalnızca Özel Önizleme'de kullanılabilir.

IonQ'lar targets bir No Control Flow profile karşılık geliyor. Bu target profil ve sınırlamaları hakkında daha fazla bilgi için bkz. Azure Quantum'da profil türlerini anlamatarget.

Kuantum simülatörü

IonQ'nun kuantum donanımında sağladığı aynı kapı kümesini kullanarak 29 kubite kadar destekleyen GPU hızlandırmalı idealleştirilmiş simülatör, işleri gerçek bir kuantum bilgisayarda çalıştırmadan önce kontrol etmek için harika bir yerdir.

  • İş türü: Simulation
  • Veri Biçimi: ionq.circuit.v1
  • Hedef Kimliği: ionq.simulator
  • Hedef Yürütme Profili: No Control Flow

IonQ Harmony kuantum bilgisayarı

IonQ Harmony, kapana kısılmış bir iyon kuantum bilgisayarıdır ve 11 kubite kadar kullanmak için yazılımda dinamik olarak yeniden yapılandırılabilir. Tüm kubitler tamamen bağlıdır, yani herhangi bir çift arasında iki kubitli bir geçit çalıştırabilirsiniz.

  • İş türü: Quantum Program
  • Veri Biçimi: ionq.circuit.v1
  • Hedef Kimliği: ionq.qpu
  • Hedef Yürütme Profili: No Control Flow
Parametre Adı Tür Gerekli Açıklama
shots int No Deneysel çekim sayısı. Varsayılan değer 500'dır.

Sistem zamanlaması

Measure Ortalama süre (μs)
T1 >10^7
T2 200,000
Tek kubitli kapı 10
İki kubitli kapı 210
Okuma 100
Sıfırlamayı kaydet 25
Tutarlılık süresi / kapı süresi 1667

Sistem uygunluğu

İşlem Ortalama uygunluk
Tek kubitli kapı %99,35 (istenmeyen posta düzeltildi)
İki kubitli kapı %96,02 (istenmeyen posta düzeltilmedi)
SPAM* 99.3 - 99.8%
Geometrik ortalama op 98.34%

* Durum Hazırlama ve Ölçüm (İsteNMEYEN POSTA): Bu ölçüm, kuantum bilgisayarın ilk durumuna bir kubit ayarlayıp sonunda sonucu ne kadar doğru ölçebileceğini belirler.

IonQ Aria kuantum bilgisayarı

IonQ Aria, 25 kubitli dinamik olarak yeniden yapılandırılabilir bir sisteme sahip IonQ'nun kapana kısılmış iyon kuantum bilgisayarlarının amiral gemisidir. Daha fazla bilgi için bkz . IonQ Aria (ionq.com).

Önemli

Aria sistemlerinde debiasing varsayılan olarak etkindir ve gönderilen işler debiasing tabanlı fiyatlandırmaya tabidir. Sapmaları kaldırma ve hizmeti devre dışı bırakma/etkinleştirme hakkında daha fazla bilgi için bkz. Hata azaltma.

  • İş türü: Quantum Program
  • Veri Biçimi: ionq.circuit.v1
  • Hedef Kimliği: ionq.qpu.aria-1, ionq.qpu.aria-2
  • Hedef Yürütme Profili: No Control Flow
Parametre Adı Tür Gerekli Açıklama
shots int No Deneysel çekim sayısı.

Sistem zamanlaması

Measure Ortalama süre
T1 10-100 sn
T2 1 sn
Tek kubitli kapı 135 μs
İki kubitli kapı 600 μs

Sistem uygunluğu

İşlem Ortalama uygunluk
Tek kubitli kapı %99,95 (istenmeyen posta düzeltildi)
İki kubitli kapı %99,6 (istenmeyen posta düzeltilmedi)
SPAM* 99.61%

* Durum Hazırlama ve Ölçüm (İsteNMEYEN POSTA): Bu ölçüm, kuantum bilgisayarın ilk durumuna bir kubit ayarlayıp sonunda sonucu ne kadar doğru ölçebileceğini belirler.

IonQ Aria, Azure Quantum Kredileri planı ve ayrı bir faturalama planı aracılığıyla kullanılabilir. Daha fazla bilgi için bkz. Azure Quantum fiyatlandırması.

IonQ Forte kuantum bilgisayarı

IonQ Forte, IonQ'nun en yüksek performanslı, ticari olarak kullanılabilir, kapana kısılmış iyon kuantum bilgisayarıdır. 32 kubitli yazılım yapılandırılabilir bir sistemle IonQ Forte, Azure Quantum'da Özel Önizleme'de kullanılabilir. Daha fazla bilgi için bkz . IonQ Forte (ionq.com).

Önemli

Forte sisteminde debiasing varsayılan olarak etkindir ve gönderilen işler sapma tabanlı fiyatlandırmaya tabidir. Sapmaları kaldırma ve hizmeti devre dışı bırakma/etkinleştirme hakkında daha fazla bilgi için bkz. Hata azaltma.

  • İş türü: Quantum Program
  • Veri Biçimi: ionq.circuit.v1
  • Hedef Kimliği: ionq.qpu.forte
  • Hedef Yürütme Profili: No Control Flow
Parametre Adı Tür Gerekli Açıklama
shots int No Deneysel çekim sayısı.

Giriş biçimi

Q# dilinde kuantum ölçümünün çıktısı, yalnızca ve Onedeğerlerini Zero alabilen türünde Resultbir değerdir. Bir Q# işlemi tanımladığınızda, yalnızca dönüş türü bir s koleksiyonuysa Result, yani işlemin çıktısı bir kuantum ölçümünün sonucuysa IonQ donanımına gönderilebilir. Bunun nedeni, IonQ'nun döndürülen değerlerden bir histogram oluşturması ve bu nedenle dönüş türünü bu histogramı oluşturmayı basitleştirmek için Result kısıtlamasıdır.

IonQ'lar targets öğesine No Control Flow profilekarşılık gelir. Bu profil, program akışını denetlemek için kubit ölçümlerinin sonuçlarının kullanılmasını gerektiren kuantum işlemlerini çalıştıramaz.

Not

Şu anda, program akışını denetlemek için sonuçları kullanmasanız bile ile ölçülen No Control Flowtargetskubitlere işlem uygulayan kuantum programları gönderemezsiniz. Yani, No Control Flowtargets orta devre ölçümlerine izin verme.

Örneğin, aşağıdaki kod üzerinde No Control Flowtargetçalıştırılamaz:

operation MeasureQubit(q : Qubit) : Result { 
   return M(q); 
}

operation SampleMeasuredQubit(q : Qubit) : Result {
    H(MeasureQubit(q));
    return M(MeasureQubit(q));
}

Çıkış biçimi

IonQ simülatörüne bir kuantum programı gönderdiğinizde, ölçümler tarafından oluşturulan histogramı döndürür. IonQ simülatörü, kuantum programı tarafından oluşturulan olasılık dağılımını örneklemez, bunun yerine çekim sayısına ölçeklendirilmiş dağılımı döndürür. Bu en çok tek bir atış devresi gönderdiğinizde görünür. Histogramda tek bir çekim için birden çok ölçüm sonucu görürsünüz. Bu davranış IonQ simülatörünün doğasında yer alırken, IonQ QPU aslında programı çalıştırır ve sonuçları toplar.

Ek Özellikler

IonQ donanımı tarafından desteklenen ek özellikler burada listelenmiştir.

Özellik Açıklama
Hata azaltma IonQ donanımında gürültüyü en aza indirmek ve algoritmik performansı en üst düzeye çıkarmak için sapmaları azaltmayı kullanın
Yerel geçit desteği Bağlantı hatlarını doğrudan IonQ donanıma özel geçitlerde tanımlama ve yürütme
Gürültü modeli simülasyonu Farklı IonQ donanımlarında çalıştırdığınızda devrelerin karşılaşacağı kirlilik profilinin simülasyonunu oluşturun.

Kullanıcılar, Azure Quantum Q# ve Qiskit sağlayıcılarındaki geçiş parametreleri aracılığıyla bu ek özelliklerden yararlanabilir.

Hata azaltma

IonQ, IonQ donanımına iş gönderirken kuantum hatasını azaltmayı etkinleştirme seçeneği sağlar. Hata azaltma, bir bağlantı hattının birden çok simetrik varyasyonunu çalıştırıp yürüten ve ardından donanım hataları ile kubit ayrıştırma etkisini azaltırken sonuçları toplayan derleyici düzeyinde bir işlemdir. Kuantum hata düzeltme tekniklerinden farklı olarak, hata azaltma büyük bir geçit ve kubit yükü gerektirmez.

Sapma, belirli bir devrenin, farklı kubit atamaları, kapı ayrıştırmaları ve darbe çözümleri gibi teknikleri kullanarak, ideal bir gürültüsüz makinede özdeş olması gereken küçük varyasyonları oluşturma ve ardından bu varyasyonları yürütme işlemidir.

Keskinleştirme ve Ortalama , varyasyonların sonuçlarını toplamaya yönelik seçeneklerdir. Ortalama, tüm varyasyon sonuçlarına eşit olarak dayanırken, Keskinleştirme hatalı sonuçları filtreler ve belirli algoritma türleri için daha güvenilir olabilir.

Daha fazla bilgi için bkz. Debiasing ve Sharpening. Hata azaltma fiyatlandırması için bkz. IonQ fiyatlandırması.

Hata azaltmayı etkinleştirme

Not

Debiasing , Aria ve Forte sistemlerinde varsayılan olarak etkindir ve Harmony sistemlerinde varsayılan olarak devre dışıdır.

Azure Quantum'da Q# veya Qiskit ile gönderilen işler için hata azaltma etkinleştirilebilir veya devre dışı bırakılabilir.

Hata azaltmayı etkinleştirmek için makine için target isteğe bağlı bir parametre ekleyin:


option_params = {
    "error-mitigation": {
        "debias": True
    }
}

Hata azaltmayı devre dışı bırakmak için parametresini olarak Falseayarlayın:


option_params = {
    "error-mitigation": {
        "debias": False
    }
}

Not

IonQ'nun kirlilik modeli simülasyonu da kullanıyorsanız, bu parametreler buraya dahil edilebilir, örneğin:

option_params = {
    "error-mitigation": {
        "debias": False
    },
    "noise": {
    "model": "harmony",
    "seed": 100
    }
}

Daha fazla bilgi için bkz . Gürültü modeli simülasyonu.

Azure Quantum'da hata azaltma ile iş çalıştırma

Bu örnekte basit bir rastgele sayı oluşturucu kullanılır.

İlk olarak gerekli paketleri içeri aktarın ve temel profili başlatın:

import qsharp
import azure.quantum
qsharp.init(target_profile=qsharp.TargetProfile.Base)

Ardından işlevi tanımlayın.

%%qsharp
open Microsoft.Quantum.Measurement;
open Microsoft.Quantum.Arrays;
open Microsoft.Quantum.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()")

Azure Quantum'a bağlanın target , makineyi seçin ve öykünücü için kirlilik parametrelerini yapılandırın:

MyWorkspace = azure.quantum.Workspace(
    resource_id = "",
    location = ""
)

MyTarget = MyWorkspace.get_targets("ionq.qpu")

Yapılandırmayı error-mitigation belirtme


option_params = {
    "error-mitigation": {
        "debias": True
    }
}

İşi gönderirken hata azaltma yapılandırmasını geçirin:

job = MyTarget.submit(MyProgram, "Experiment with error mitigation", shots = 10, input_params = option_params)
job.get_results()

Qiskit'te, işi göndermeden önce isteğe bağlı parametreleri target makine yapılandırmasına geçirirsiniz:

circuit.name = "Single qubit random - Debias: True"
backend.options.update_options(**option_params)
job = backend.run(circuit, shots=500)

Not

parametresini error-mitigation geçirmezseniz, target makine varsayılan ayarını kullanır: Aria ve Forte sistemleri için etkin ve Harmony sistemleri için devre dışı .

Yerel geçit desteği ve kullanımı

Varsayılan olarak IonQ, donanım için iyileştirme konusunda endişelenmeden bir algoritma yazarken esneklik ve taşınabilirlik sağlayan adlı qiskuantum geçitlerinden oluşan soyut bir küme kullanarak bir kuantum devresi belirtmenize olanak tanır.

Ancak bazı gelişmiş kullanım örneklerinde, donanıma daha yakın olmak ve iyileştirmeyi atlamak için doğrudan yerel geçitlerde bir bağlantı hattı tanımlamak isteyebilirsiniz. Yerel kapı kümesi, kuantum işlemcisinde fiziksel olarak yürütülen kuantum geçitleri kümesidir ve yürütmenin bir parçası olarak bağlantı hattını bunlarla eşler.

Daha fazla bilgi için bkz . Yerel Geçitleri Kullanmaya Başlama (ionq.com).

Qiskit işlerini Azure Quantum'a gönderirken yerel kapı kümesini kullanmak için aşağıdaki örnekte olduğu gibi arka ucu başlatırken parametresini belirtirsiniz gateset :

# Here 'provider' is an instance of AzureQuantumProvider
backend = provider.get_backend("ionq.qpu", gateset="native")
Parametre Adı Tür Gerekli Description
gateset dize No Bir bağlantı hattını tanımlamak için kullanılacak geçit kümesini belirtir. değeri qis soyut kapılara (varsayılan davranış) ve nativeIonQ donanım yerel geçitlerine karşılık gelir.

Qiskit işleri hakkında daha fazla bilgi için bkz. Qiskit ile bağlantı hattı gönderme.

Gürültü modeli simülasyonu

Günümüzün kuantum donanımının en iyileri bile doğal gürültüye sahiptir ve sisteminizin target kirlilik özelliklerini bilmek, algoritmalarınızı geliştirmenize ve bağlantı hattını donanım üzerinde çalıştırırken daha gerçekçi bir sonuç tahmini almanıza yardımcı olabilir. IonQ, donanıma özgü bir "kirli parmak izi" kullanarak devreye gürültü getiren bir gürültü modeli simülasyonutarget sağlar. Daha fazla bilgi için bkz. Donanım Gürültü Modeli Benzetimi ile Çalışmaya Başlama.

Kirlilik modeli parametreleri

Parametre Adı Değerler Açıklama
noise model, seed Gürültü modeli simülasyonunu etkinleştirir
model ideal, harmony, aria-1 Donanım için target kirlilik modelini belirtir.
  • ideal - Devreye gürültü girmez. Bu, gürültü benzetiminin etkinleştirilmemesiyle aynıdır.
  • harmony - IonQ Harmony kuantum bilgisayarı için gürültü modelini kullanır.
  • aria-1 - IonQ Aria kuantum bilgisayarı için gürültü modelini kullanır.
seed 1 ile $2^{31}$ arasındaki tamsayı (2.147.483.648) Sahte rastgele kirlilik ve shot örnekleme için bir tohum değeri belirtmenize olanak tanır ve yeniden üretilebilir gürültülü sonuçlar oluşturur. Parametre belirtilmezse rastgele seed bir değer oluşturulur.

Atış farkındalığı

Gürültü modeli simülasyonu çekime duyarlıdır; yani, sağlanan çekim sayısına göre çıkış durumundan ölçümleri örnekler. Azure Quantum'da shots parametresi iş ile birlikte gönderilir ve ve aria-1 gürültü modelleri için harmony gereklidir. Hiçbir shot değer belirtilmezse, varsayılan değeri 1000 kullanılır. ideal Kirlilik modeli kullanılırsa parametresi shots yoksayılır.

Kubit kapasitesi

ideal Gürültü modeli, IonQ kuantum simülatörü ile 29 kubite kadar simülasyon yapmanızı sağlarken, donanıma özgü gürültü modelleri donanımın target gerçek kubit kapasitesiyle sınırlıdır: gürültü modeli için harmony 11 kubit ve gürültü modeli için aria-1 25 kubit.

Gürültü modeli simülasyonu etkinleştirme

Azure Quantum'da gürültü modeli simülasyonu Q# ile veya Qiskit ile gönderilen işler için etkinleştirilebilir veya devre dışı bırakılabilir.

Kirlilik modeli simülasyonunu etkinleştirmek için makine için target isteğe bağlı bir parametre ekleyin, örneğin:


option_params = {
    "noise": {
        "model": "harmony",   # targets the Harmony quantum computer
        "seed" : 1000         # If seed isn't specified, a random value is used  
    }
}

Not

IonQ'nun hata azaltmasını da kullanıyorsanız, bu parametreler buraya dahil edilebilir, örneğin:

option_params = {
    "error-mitigation": {
        "debias": False
    },
    "noise": {
    "model": "harmony",
    "seed": 1000
    }
}

Daha fazla bilgi için bkz. Hata azaltma.

Gürültü modeli simülasyonu ile iş çalıştırma

Hata azaltmada daha önce gösterilen örnek programı kullanabilir ve içinde kirlilik modeli yapılandırmasını option_paramsekleyebilir veya değiştirebilirsiniz;

option_params = {
    "error-mitigation": {
        "debias": True
    },
    "noise": {
    "model": "aria",
    "seed": 1000
    }
}

Ardından işi gönderirken isteğe bağlı parametreleri geçirin:

job = MyTarget.submit(MyProgram, "Experiment with noise model simulation", shots = 10, input_params = option_params)
job.get_results()

Qiskit'te, işi göndermeden önce isteğe bağlı parametreleri target makine yapılandırmasına geçirirsiniz:

circuit.name = "Single qubit random - Debias: True"
backend.options.update_options(**option_params)
job = backend.run(circuit, shots=500)

Fiyatlandırma

IonQ faturalama planını görmek için Azure Quantum fiyatlandırması bölümünü ziyaret edin.

Limitler ve kotalar

IonQ kotaları , qubit-gate-shot (QGS) olan QPU kullanım birimine göre izlenir. Kaynak kullanımı hesabınıza göre alacaklandırılır.

Her kuantum programı bir veya daha fazla kubitin $N$ kuantum mantıksal kapılarından oluşur ve belirli sayıda çekim için yürütülür. Gate-shot sayısı aşağıdaki formülle hesaplanır:

$$ QGS = N · C $$

burada:

  • $N$ gönderilen bir veya iki kubitli kapı sayısıdır
  • $C$ istenen yürütme görüntülerinin sayısıdır

Kotalar plan seçimine bağlıdır ve destek biletiyle artırılabilir. Geçerli sınırlarınızı ve kotalarınızı görmek için Krediler ve kotalar dikey penceresine gidin ve Azure portal çalışma alanınızın Kotalar sekmesini seçin. Daha fazla bilgi için bkz. Azure Quantum kotaları.

Not

Faturalama planı değil de Azure Quantum Kredileri planı kullanıyorsanız kota bilgileri ayrılmış kredilerinizle eşlenir. Bu durumda kota, aldığınız toplam kredi sayısını listeler.

IonQ durumu

IonQ QPU iş işleme gecikmeleri hakkında bilgi için bkz. IonQ durum sayfası.

IonQ en iyi yöntemleri ve bağlantı grafiği

IonQ QPU için önerilen en iyi yöntemleri görmek için bkz. IonQ En İyi Yöntemleri (ionq.com).