← Quantum Store · Rehberler · Dersler · Sözlük · Paketler · Öğrenme yolları · English
Gürültü ve kuantum hata düzeltme kursu · Ders 5 / 5 · 10 dk
Hata azaltma: bugünkü gürültülü cihazlardan daha iyi sonuç almak
Tam hata düzeltme için gereken milyonlarca kübit henüz yok. Bugünkü cihazlarda sonuçları iyileştiren hata azaltma tekniklerini, özellikle sıfır gürültüye ekstrapolasyonu (ZNE) öğren.
Düzeltme değil, azaltma
Hata düzeltme hataları devre çalışırken yakalar ve ek kübitler ister. Hata azaltma (error mitigation) ise ek kübit kullanmaz: devreyi birçok kez ve küçük değişikliklerle çalıştırır, sonra sonuçları klasik olarak işleyerek gürültünün etkisini tahmin edip çıkarır.
Bedeli daha fazla tekrardır: hata azaltma genellikle çok daha fazla ölçüm ister ve devre büyüdükçe bu sayı hızla artar. Bu yüzden bir köprüdür; hataya dayanıklı bilgisayarlar gelene kadar bugünkü cihazlardan anlamlı sonuç almanın yoludur.
Sıfır gürültüye ekstrapolasyon
ZNE’de devre önce normal hâliyle, sonra gürültüsü kasıtlı olarak 2 ve 3 katına çıkarılarak çalıştırılır (örneğin her kapıyı kendisi, tersi ve yine kendisi olarak üç kez uygulayıp). Ölçülen değerler gürültü düzeyine karşı çizilir ve eğri sıfır gürültüye uzatılır.
Aşağıdaki örnekte gerçek değer 1’dir ama gürültü her kat için onu biraz düşürür. Üç ölçüme bir eğri uydurup sıfıra uzatınca 0,905 yerine 0,999 elde edilir.
import numpy as np
scales = np.array([1, 2, 3]) # gürültü 1, 2 ve 3 katı
measured = np.exp(-0.1 * scales) # gerçek değer 1, gürültü onu düşürüyor
fit = np.polyfit(scales, measured, 2) # ikinci dereceden eğri uydur
print(measured.round(3), round(float(np.polyval(fit, 0)), 3))
# [0.905 0.819 0.741] 0.999
Qiskit’te hata azaltma
IBM cihazlarında Estimator, hata azaltmayı tek bir ayarla açar. resilience_level = 1 ölçüm hatalarını azaltır; 2 buna ZNE’yi ekler. Dinamik ayrıştırma (dynamical decoupling) ise boşta bekleyen kübitlere hatayı söndüren kapı dizileri yerleştirir.
IBM 2023’te 127 kübitlik bir işlemcide hata azaltmayla, o zamanki klasik yöntemlerin zorlandığı bir fizik simülasyonunun sonuçlarını hesapladı. Kısa süre sonra klasik yöntemler de aynı sonuçlara ulaştı; bu yarış hata azaltmanın sınırlarını da gösterdi.
from qiskit_ibm_runtime import EstimatorV2 as Estimator
estimator = Estimator(mode=backend)
estimator.options.resilience_level = 2 # ölçüm hatası azaltma + ZNE
estimator.options.dynamical_decoupling.enable = True
job = estimator.run([(isa_circuit, observable)])
Kendin dene
Simülatörde GHZ yalnızca 000 ve 111 verir. Gerçek bir cihazda her CNOT biraz hata ekler ve 001, 110 gibi yanlış sonuçlar da çıkar; kübit sayısı arttıkça bu artar. Hata azaltma, bu yanlış sonuçların ortalamalara etkisini tahmin edip çıkarır.
Tarayıcıda dene (kurulum yok)Akılda kalsın
- Hata azaltma ek kübit kullanmaz; devreyi çok kez çalıştırıp gürültünün etkisini klasik olarak çıkarır.
- ZNE gürültüyü kasıtlı artırır ve sonuçları sıfır gürültüye uzatır.
- Qiskit Runtime’da resilience_level ve dynamical_decoupling ayarlarıyla açılır.
- Bedeli çok daha fazla ölçümdür; hataya dayanıklı bilgisayarlara kadar bir köprüdür.
Kendini sına
Sıfır gürültüye ekstrapolasyon (ZNE) nasıl çalışır?
- Her kübite yedek kübitler ekler
- Devreyi daha kısa yapar
- Gürültüyü kasıtlı artırıp sonuçları sıfır gürültüye uzatır
Cevabı göster
Gürültüyü kasıtlı artırıp sonuçları sıfır gürültüye uzatır. Devre farklı gürültü düzeylerinde çalıştırılır ve ölçülen değerlerden geçen eğri sıfır gürültüye uzatılır.
← Yüzey kodu ve eşik: hataya dayanıklı kuantum bilgisayara giden yol · Kuantum makine öğrenmesi ve donanım kursu →