Ana içeriğe geç
Dil v0.2.0 · Ön izleme

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

module variational_demo; param theta: Angle = 0.4; fn main() {  let q: QReg<1> = qreg[1];  Ry(q[0], theta);  let cost = expect Z(q[0]);  train {    objective: minimize cost;    optimizer: adam(lr = 0.08);    steps: 24;  }  return cost;}

NM-RFC-00040.2.0-runtime-experimentalRuntime experimental

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

module qml_training_controls;param theta: Angle = 0.1; fn main() {  let q: QReg<2> = qreg[2];  encode(sample_row(), q, method: "reupload");  Ry(q[1], theta);  let cost = expect Z(q[1]);   train {    objective: minimize cost;    optimizer: adam(lr = 0.2);    steps: 40;    loss: cross_entropy;    dataset: xor_2d;    validation: split = validation, every = 5;    early_stopping: metric = validation_loss, patience = 3, min_delta = 0.001;    scheduler: step(every = 10, factor = 0.5, min_lr = 0.01);    checkpoint: best(metric = validation_loss);  }  return cost;}

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 = true
NM-PARSE-060NM-PARSE-061NM-QML-108NM-QML-109

Varsayı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-105

Bu 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.