Quantum Computing'e Rust ve Python ile Giriş: QuantumNN ve qec-playground
2026'nın başında bir gece, saat 02:00 civarı, arXiv'de bir paper okudum: Li & Martonosi'nin SWIPER-SIM behavioral model'i — kuantum hata düzeltme kodlarının spekülatif pencere dekoder analizi. Paper'ı anlamam 4 saat sürdü. Implemente etmem 2 hafta.
Sonuç: qec-playground — dünyanın ilk open-source SWIPER-SIM simülatörü. Ve yan ürün olarak QuantumNN — kuantum nöral ağlar üzerine bir deney alanı.
Bu yazı, o 2 haftanın ve sonrasının hikayesi.
Neden kuantum?
Dürüst olayım: çünkü havalı.
Ciddi cevap: çünkü klasik bilgisayarların çözemediği problemler var. Integer factorization (Shor), unstructured search (Grover), quantum simulation (Feynman'ın orijinal motivasyonu). Ve bu problemler, kuantum bilgisayarlar yaygınlaştığında birdenbire çözülebilir hale gelecek.
Ama asıl sebep şu: kuantum computing, bilgisayar biliminin son frontier'ı. Yapay zeka patladı, dağıtık sistemler olgunlaştı, WebAssembly standartlaştı. Ama kuantum? Hala her şeyin başındayız. 2026'da kuantum programlama öğrenmek, 1995'te web geliştirme öğrenmek gibi. Erken giren kazanır.
Ben erken giren olmak istedim.
qec-playground: SWIPER-SIM'i implemente etmek
Li & Martonosi'nin paper'ı (arXiv:2606.24048) şunu söylüyor: kuantum hata düzeltme kodlarının (QEC) en büyük problemi, decoding latency. Bir kuantum işlemci çalışırken, hata düzeltme kodunun decode edilmesi zaman alıyor. Ve kuantum bit'ler (qubit'ler) decohere olmadan önce sınırlı bir zaman pencereniz var.
SWIPER (Sliding Window Interleaved Parallel Error Resolution), bu decoding işlemini spekülatif olarak paralelleştiren bir teknik. Fikir şu: hata düzeltme kodunun tümünü beklemek yerine, sliding window ile parça parça decode et, ve spekülatif olarak bir sonraki window'u tahmin et.
Paper teorikti. Bir simülasyon framework'ü tarif ediyordu ama implementasyon yoktu. "Birisi bunu yazmalı" dedim. O birisi bendim.
Teknik detaylar
qec-playground şunları yapıyor:
- Kuantum devre simülasyonu — Qubit'leri, gate'leri, measurement'ları klasik bilgisayarda simüle ediyor. (Gerçek kuantum bilgisayar değil, simülasyon — ama algoritma geliştirmek için yeterli.)
- Hata modelleme — Bit-flip, phase-flip, depolarizing channel gibi kuantum hata modellerini enjekte ediyor.
- SWIPER decoder implementasyonu — Paper'daki sliding window algoritmasını birebir implemente ettim. Pencere boyutu, overlap miktarı, spekülatif tahmin parametreleri — hepsi ayarlanabilir.
- Streamlit arayüzü — Web tabanlı, interaktif. Parametreleri slider'larla değiştirip sonucu anında görebiliyorsunuz.
- Metrik analizi — Decoding latency, logical error rate, pseudo-threshold — paper'daki tüm metrikleri hesaplıyor.
Kod tarafında Python + Streamlit. Oldukça basit bir stack. Çünkü burada zor olan kod değil, fizik. Kuantum mekaniğini anlamak, stabilizer formalizmini çözmek, surface code'ların nasıl çalıştığını kavramak — asıl iş buydu.
Öğrendiklerim
Kuantum hata düzeltme, klasik hata düzeltmeden tamamen farklı. Klasikte bit flip'leri düzeltirsiniz. Kuantumda hem bit flip hem phase flip var, ölçüm yapmak durumu bozuyor, no-cloning theorem yüzünden kopyalayamıyorsunuz. Tamamen farklı bir dünya.
Stabilizer formalizmi güzel. Gottesman-Knill teoremi sayesinde stabilizer devrelerini klasik bilgisayarda verimli şekilde simüle edebiliyorsunuz. Paper'daki matematiksel formalizmi koda dökmek, başlangıçta imkansız gibi görünüyordu. Ama oturup satır satır çalışınca, aslında çok zarif bir sistem olduğunu gördüm.
Streamlit, bilimsel simülasyonlar için mükemmel. Jupyter notebook'tan daha iyi bir UX sunuyor. Parametre değiştir, anında gör. Paper yazarlarına göstermek için ideal.
Açık kaynak, akademik dünyada hızla yayılıyor. Projeyi GitHub'a koyduktan sonra 3 gün içinde bir kuantum computing araştırmacısı issue açtı: "Bunu surface code rotasyonu için de uyarlayabilir miyiz?" Cevap: evet, çalışıyorum.
QuantumNN: Kuantum nöral ağlar
qec-playground'u yazarken bir yan etki oldu: kuantum devre simülasyonu altyapısı hazırdı. "Bunu nöral ağlar için de kullanabilir miyim?" dedim. Cevap evetti. Ortaya QuantumNN çıktı.
QuantumNN, klasik nöral ağ katmanlarını kuantum devrelerle değiştiren bir framework. Fikir:
- Klasik bir nöral ağ katmanı yerine bir variational quantum circuit (VQC) kullan
- Devrenin parametrelerini gradient descent ile optimize et
- Klasik-kuantum hibrit bir model elde et
Ne işe yarıyor?
Teorik olarak, kuantum nöral ağlar şu avantajlara sahip:
- Daha az parametreyle daha yüksek expressiveness. Bir kuantum devresi, klasik bir nöral ağ katmanından exponansiyel olarak daha fazla durumu temsil edebilir (Hilbert uzayının boyutu sayesinde).
- Doğal kuantum veri işleme. Kuantum sensörlerden gelen veriler, klasik ön işleme olmadan doğrudan kuantum modele beslenebilir.
- Kuantum avantajı potansiyeli. Henüz pratikte gösterilmedi (NISQ dönemindeyiz), ama teorik olarak bazı problemlerde klasik modellerden üstün olabilir.
Pratikte? Henüz emin değilim. QuantumNN bir deney alanı. MNIST üzerinde klasik bir CNN'in %99 doğruluk aldığı yerde, quantum NN %92 alıyor. Ama 10x daha az parametreyle. Bu ilginç.
Teknik yapı
QuantumNN şu bileşenlerden oluşuyor:
from quantumnn import QuantumLayer, HybridModel
# Kuantum katman: 4 qubit, 3 katmanlı variational circuit
qlayer = QuantumLayer(n_qubits=4, n_layers=3, encoding="angle")
# Hibrit model: klasik dense + kuantum + klasik dense
model = HybridModel([
torch.nn.Linear(784, 16),
qlayer,
torch.nn.Linear(4, 10)
])
encoding="angle", klasik veriyi qubit rotasyon açılarına encode ediyor. Başka encoding stratejileri de var: amplitude encoding (daha verimli ama daha karmaşık), basis encoding (basit ama az bilgi taşır).
Optimizasyon: parametre shift rule ile gradient hesaplama. Kuantum devrelerde backpropagation çalışmaz — her parametre için devreyi iki kez çalıştırıp farkı almanız gerekir. Bu, classical simulation'da bile yavaş. Gerçek kuantum donanımda daha da yavaş olacak.
Ama işte araştırma bu: yavaş ve zor. Önemli olan başlamak.
NISQ dönemi ve gerçekler
Şu an NISQ (Noisy Intermediate-Scale Quantum) dönemindeyiz. Bu şu demek:
- Noisy: Qubit'ler gürültülü. Hata oranları yüksek. 100 qubit'lik bir devrede, her gate'te %0.1 hata olsa, devrenin doğru çalışma olasılığı çok düşük.
- Intermediate-Scale: 50-1000 qubit arası cihazlar var (IBM, Google, Rigetti). Ama hata düzeltme yok. "Logical qubit" başına binlerce fiziksel qubit gerekiyor.
- Quantum advantage: Google 2019'da "quantum supremacy" iddia etti. IBM itiraz etti. 2024'te tekrar denediler. Tartışma hala sürüyor.
Benim bu alana girmemin sebebi tam da bu: erken. Henüz kimse "quantum developer" değil. Herkes öğreniyor. Ve ben de öğrenenlerden biriyim.
Sırada ne var?
qec-playground:
- Surface code rotasyon simülasyonu
- Color code desteği
- Gerçek IBM Quantum backend ile test (IBM Q Experience API)
- Daha fazla decoder algoritması: MWPM, Union-Find, belief propagation
QuantumNN:
- Daha büyük modeller (8-12 qubit)
- Gerçek kuantum donanımda test (IBM, Rigetti)
- Quantum transfer learning deneyleri
- QML benchmark'larına katılım
Deneyin
# qec-playground
git clone https://github.com/SemantiCAD/qec-playground
cd qec-playground
pip install -r requirements.txt
streamlit run app.py
# QuantumNN
git clone https://github.com/Tuntii/QuantumNN
cd QuantumNN
pip install -r requirements.txt
python examples/mnist_hybrid.py
İkisi de public repo. İkisi de deneysel. İkisi de "production-ready" değil — ama olmaları da gerekmiyor. Araştırma kodunun güzel olması gerekmez, çalışması yeter.
Kuantum computing, kariyerimin en zor öğrenme deneyimi. Ama aynı zamanda en ödüllendiricisi. Eğer siz de merak ediyorsanız, bir paper alın ve implemente edin. En iyi öğrenme yöntemi bu.
Sonraki yazıda Hyperembed'i anlatacağım — Pure-Rust BERT embedding inference motoru, SIMD optimizasyonları ve local-first AI.