Dil içinde varyasyonel eğitim
Kuantum modelinin yanında sınırlı bir train bloğu tanımlayın; deterministik yerel optimizasyonu çalıştırıp son parametreleri, maliyet geçmişini, yakınsamayı, çıktıyı ve iz kanıtlarını inceleyin.
Train bloğu sözleşmesi
Bir train bloğu fn main içinde yer alır ve tam olarak bir objective, optimizer ve adım bütçesi bildirir. Parser, formatter, dil servisi, CLI ve runtime aynı birinci sınıf AST sözleşmesini paylaşır.
Çalıştırılabilir train bloğu
1module variational_demo;2 3param theta: Angle = 0.4;4 5fn main() {6 let q: QReg<1> = qreg[1];7 Ry(q[0], theta);8 let cost = expect Z(q[0]);9 train {10 objective: minimize cost;11 optimizer: adam(lr = 0.08);12 steps: 24;13 }14 return cost;15}Validation, early stopping, zamanlama ve checkpoint
NM-RFC-0004; deterministik validation, early stopping, adım zamanlama ve bellek içi en iyi-parametre checkpoint davranışını experimental.qmlTrainingControls feature flag'i arkasında dondurur. Direktif sırası semantik değildir; her kontrol sınırlıdır ve denetimli gömülü dataset gerektirir.
- En fazla eğitim adımı
- 100
- En fazla validation aralığı
- 100
- En fazla early-stop patience
- 100
- En fazla devre değerlendirmesi
- 20.000
Runtime-experimental eğitim kontrolleri
1module qml_training_controls;2param theta: Angle = 0.1;3 4fn main() {5 let q: QReg<2> = qreg[2];6 encode(sample_row(), q, method: "reupload");7 Ry(q[1], theta);8 let cost = expect Z(q[1]);9 10 train {11 objective: minimize cost;12 optimizer: adam(lr = 0.2);13 steps: 40;14 loss: cross_entropy;15 dataset: xor_2d;16 validation: split = validation, every = 5;17 early_stopping: metric = validation_loss, patience = 3, min_delta = 0.001;18 scheduler: step(every = 10, factor = 0.5, min_lr = 0.01);19 checkpoint: best(metric = validation_loss);20 }21 return cost;22}Açık uzlaşma ve fail-closed hatalar
Yürütme yalnız açık feature uzlaşmasıyla kullanılır ve sınırlı validation, learning-rate, early-stop ve checkpoint kanıtı döndürür. Geçersiz veya sonlu olmayan runtime durumu NM-QML-109 ile fail-closed kalır; kontrol niyeti sessizce atılmaz. Feature flag yokken kararlı N/M 0.1 programları değişmez.
nm run main.nm --experimental-qml-training-controls --jsoninitializationOptions.nm.experimental.qmlTrainingControls = truenm.experimental.qmlTrainingControls = trueNM-PARSE-060NM-PARSE-061NM-QML-108NM-QML-109Varsayılanlar ve sonuçlar
Otomatik türev hesabı, uygun gürültüsüz Rx/Ry/Rz/RXX/RYY/RZZ/P/GPhase/CRy/CRz/CP devrelerinde adjoint geçişi kullanır. Açı ifadelerinde skaler veya vektör parametrelerle +, -, *, / ve parantez desteklenir; zincir kuralı paylaşılan katkıları toplar. Düz devrelerde aritmetik sabitlerin türevleri kapı açılarına ve birim terimler dahil gözlenebilir katsayılarına aktarılır. Bağımlı sabitlerle döngü, devre genişletme, değiştiriciler ve bağımlı indeksler desteklenmez; fonksiyon çağrıları kapsam dışıdır. Parameter-shift yedeği, parametre başına en fazla bir doğrudan desteklenen Pauli dönüşü gerektirir; açı ifadelerini ve kontrollü kapıları reddeder. Sonuçlar maliyetleri, son parametreleri, yöntemi ve adım geçmişini bildirir; ardından eniyilenen model yeniden çalıştırılır.
Preview sınırları
Sınırlı yerel eğitim gd, momentum, Adam, deterministik SPSA veya preview QNG ile 1-100 adımı destekler. Denetimli train blokları gömülü XOR, circles, spiral, üç-özellikli blobs veya parity dataset'lerinin tüm satırlarını dolaşır; mse/cross_entropy/hinge loss ve accuracy geçmişi üretir. QNG, full quantum geometric tensor yerine sınırlı fidelity-diagonal yaklaşımı kullanır.
Kararlı eğitim tanıları
NM-QML-101NM-QML-102NM-QML-103NM-QML-104NM-QML-105Bu kodlar yerleşim, zorunlu veya yinelenen direktifler, objective sözdizimi, sayısal aralıklar ve optimizer desteğini kapsar. Tanı gezgini yerelleştirilmiş mesaj ve çözümleri sunar.
OpenQASM'in taşınabilir bir train bloğu karşılığı yoktur. Dışa aktarım train direktifini kaldırır ve bu sınırı açıkça işaretler; N/M sidecar train sözleşmesini korur. Eğitilmiş modeli ancak döndürülen son parametreleri uyguladıktan sonra dışa aktarın.