Aracılığıyla paylaş


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 500 ABD doları ücretsizAzure 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 edinmek mi istiyorsunuz? 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ıda aşağıdakiler targets kullanılabilir:

Hedef adı Hedef Kimliği Kubit sayısı Açıklama
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 yazılımda en fazla 11 kubit kullanacak şekilde 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ı Type Zorunlu Açıklama
shots int Hayır Deneysel çekim sayısı. Varsayılan değer 500'dır.

Sistem zamanlaması

Ölçüm 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 bir kubiti ilk durumuna ne kadar doğru ayarlayıp sonunda sonucu ölçebileceğini belirler.

IonQ Aria kuantum bilgisayarı

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

Önemli

Debiasing , Aria sistemlerinde 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ı Type Zorunlu Açıklama
shots int Hayır Deneysel çekim sayısı.

Sistem zamanlaması

Ölçüm 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 bir kubiti ilk durumuna ne kadar doğru ayarlayıp sonunda sonucu ö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 tutsak iyon kuantum bilgisayarıdır. 32 kubitli yazılım tarafından 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 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.forte
  • Hedef Yürütme Profili: No Control Flow
Parametre Adı Type Zorunlu Açıklama
shots int Hayır Deneysel çekim sayısı.

Giriş biçimi

Q# dilinde kuantum ölçümünün çıkışı, 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 çıkışı 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ı, dolayısıyla bu histogramı oluşturmayı basitleştirmek için Result dönüş türünü 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 içinde ö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 çekim devresi gönderdiğinizde görünür. Histogramda tek ç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.

Yetenek 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 doğrudan parametreler aracılığıyla bu ek özelliklerden yararlanabilir.

Hata azaltma

IonQ, işleri IonQ donanımına gönderirken kuantum hatasını azaltmayı etkinleştirme seçeneği sunar. 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ının ve kubit ayrıştırmasının etkisini azaltırken sonuçları toplayan derleyici düzeyinde bir işlemdir. Kuantum hata düzeltme tekniklerinden farklı olarak, hata azaltma büyük geçit ve kubit ek yükü gerektirmez.

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

Keskinleştirme ve Ortalama , varyasyonların sonuçlarını toplama seçenekleridir. 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 etkinleştirilir ve Harmony sistemlerinde varsayılan olarak devre dışı bırakılır.

Azure Quantum'da hata azaltma, Q# veya Qiskit ile gönderilen işler için 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 gürültü modeli benzetimi de 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 benzetimi.

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, makineyi seçin target 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 belirtin


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ı qissoyut kuantum geçitleri kümesini 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 kapılarda bir bağlantı hattı tanımlamak isteyebilirsiniz. Yerel geçit kümesi, kuantum işlemcisinde fiziksel olarak yürütülen kuantum geçitleri kümesidir ve yürütmenin bir parçası olarak devreyi bunlara eşler.

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

Qiskit işleri Azure Quantum'a gönderilirken 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ı Type Zorunlu Açıklama
gateset Dize Hayır Bir bağlantı hattını tanımlamak için kullanılacak kapı kümesini belirtir. değeri qis soyut kapılara (varsayılan davranış) ve nativeIonQ donanım yerel kapılarına 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ı iyileştirmenize ve bağlantı hattını donanım üzerinde çalıştırırken sonuçların daha gerçekçi bir tahminini 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ü girilmemiştir. 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) Tekrarlanabilir gürültülü sonuçlar oluşturarak sahte rastgele kirlilik ve shot-sampling için bir tohum değeri belirtmenize olanak tanır. Parametre belirtilmezse rastgele seed bir değer oluşturulur.

Şut farkındalığı

Gürültü modeli simülasyonu çekime duyarlıdır; yani, sağlanan çekim sayısına göre çıkış durumundan ölçüm örnekleri alır. 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 en fazla 29 kubit simülasyonu yapmanızı sağlarken, donanıma özgü kirlilik 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# 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 benzetimi ile iş çalıştırma

Hata azaltmada daha önce gösterilen örnek programı kullanabilir ve içindeki 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ı, kubit-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 $$

konumu:

  • $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 dayalıdır ve destek bileti ile 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ında ç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 Kredisi 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).