diff options
| author | YurenHao0426 <Blackhao0426@gmail.com> | 2026-07-22 12:59:25 -0500 |
|---|---|---|
| committer | YurenHao0426 <Blackhao0426@gmail.com> | 2026-07-22 12:59:25 -0500 |
| commit | 6fa80efc1c53905b6328c5b44df3db4e4da34dfe (patch) | |
| tree | f8018d3d7fb41c6297d75cd00469b34dbe53f82d | |
| parent | 612196a53285b6efc44c0dd84699c7b57a6dc8e1 (diff) | |
results: close Oral-A v3 causal-capture gate
| -rw-r--r-- | ORAL_A_V3.md | 26 | ||||
| -rw-r--r-- | README.md | 4 | ||||
| -rw-r--r-- | RESULTS.md | 24 | ||||
| -rw-r--r-- | REVIEW_SCORECARD.md | 2 | ||||
| -rw-r--r-- | ROADMAP.md | 10 | ||||
| -rw-r--r-- | experiments/analyze_oral_a_failure.py | 33 | ||||
| -rw-r--r-- | results/oral_a_failure_diagnosis.json | 19 | ||||
| -rw-r--r-- | results/oral_a_v3_calibration/channel_subspace_etaA0.01.json | 393 | ||||
| -rw-r--r-- | results/oral_a_v3_calibration/vectorizer_subspace_etaA0.01.json | 393 | ||||
| -rw-r--r-- | results/oral_a_v3_calibration/vectorizer_subspace_etaA0.1.json | 393 | ||||
| -rw-r--r-- | results/oral_a_v3_calibration/vectorizer_subspace_etaA1.0.json | 393 | ||||
| -rw-r--r-- | results/oral_a_v3_calibration_gate.json | 115 |
12 files changed, 1795 insertions, 10 deletions
diff --git a/ORAL_A_V3.md b/ORAL_A_V3.md index b668ea0..2ffc19d 100644 --- a/ORAL_A_V3.md +++ b/ORAL_A_V3.md @@ -84,3 +84,29 @@ Pareto point. V3-0/V3-1 cannot raise the strict ICLR score. A complete V3-2 pass moves the forecast from 5 to 6; oral-level scale requires V3-3. +## Audited outcome (2026-07-22) + +All four V3-1 records were finite and shared clean source commit `612196a`. +The frozen selector chose `eta_A=0.01`. The matched alignment endpoints were: + +| estimator | early-third alignment | all-layer alignment | +|:--|--:|--:| +| V2 channel subspace | 0.007209 | 0.052740 | +| V3 vectorizer subspace | 0.007139 | 0.062579 | + +V3 improves the all-layer mean by `0.009839`, mostly through middle and late +blocks, but does not improve the binding early-layer endpoint. It fails the +`0.01` absolute early threshold, the `+0.01` matched improvement, and the 60% +family-oracle threshold; only the all-layer check passes. Rates `0.1` and `1.0` +reduce early alignment further to `0.004804` and `0.002234`. + +The calibration MSE/power values are not compared across V2 and V3 because +their metric spaces differ. The valid common endpoint is exact hidden-gradient +alignment. V3-1 status is **failed**; V3-2 was not launched, no test endpoint +or confirmation seed was touched, and the reviewer score remains 5/10. + +The negative result rules out coefficient-then-regress variance as the sole +early-layer bottleneck. Direct matrix estimation works exactly and lowers +matched synthetic variance, yet the real early signal remains unchanged. The +next mechanism must add informative hierarchical/high-level context or remove +the remaining cross-layer/parameter-space noise, not repeat this rate grid. @@ -50,6 +50,10 @@ and scaling behavior. See `NOVELTY.md` for the exact prior-art boundary. `0.0011/0.0117` to `0.0072/0.0527` at matched query count. It nevertheless missed the frozen `0.01` early-layer and improvement gates, so no v2 full ResNet run was launched. +- Direct vectorizer-space perturbation then passed its exact mechanics and + synthetic variance audit, but V3-1 again failed: early alignment was + `0.00714` versus matched V2's `0.00721`, although all-layer alignment rose to + `0.06258`. V3 full training therefore remained closed. - Native author-code fidelity is complete. BurstCCN reaches `80.10%` at its validation-selected epoch versus published `82.97 +/- 0.21%`; Dual Prop reaches `92.46%` versus published `92.41 +/- 0.07%`. Their audited walls are @@ -683,6 +683,30 @@ post-failure oracle diagnostics, not trainable-method results. They rule out a naive basis expansion and point toward both better causal sample efficiency and a more informative hierarchical/high-level feedback context. +V3 tests whether the remaining regression gap comes specifically from +estimating per-example coefficients before fitting A/G. It perturbs random A/G +matrices directly, so each induced hidden intervention already contains the +output-error context and the antithetic scalar estimates the exact matrix +statistic needed by the vectorizer delta rule. Mechanics are strong: at batch +128 the frozen synthetic one-query MSE is `0.03381x` the coefficient estimator, +and exact no-BN/BN JVP errors are below `2e-10`. + +That gain does not transfer to early ResNet credit. All four frozen-forward +records are finite and the selected rate is again `eta_A=0.01`: + +| estimator | early-third alignment | all-layer alignment | +|:--|--:|--:| +| channel-subspace V2 reference | 0.007209 | 0.052740 | +| vectorizer-subspace V3 | 0.007139 | 0.062579 | + +The common all-layer endpoint improves, but the early endpoint is unchanged +and misses three frozen advancement checks. Higher rates are worse. Thus the +coefficient-regression stage was not the dominant early-layer limitation under +the real causal signal. V3-2 is not launched. The result redirects development +toward informative hierarchical/high-level feedback context or a mechanism +that addresses remaining cross-layer/parameter-space noise; it does not +justify another rate or warmup sweep. + ## How to run `experiments/run.py --mode {bp,fa,dfa,sdil} --dataset {mnist,fmnist,cifar10} --depth D --residual {0,1} --act {tanh,gelu,silu,relu}` Batteries: `experiments/run_v2.sh <ds> "<depths>" <res> <act> "<seeds>" <ep> <pfx>`. diff --git a/REVIEW_SCORECARD.md b/REVIEW_SCORECARD.md index 3bbb0c8..59fe99e 100644 --- a/REVIEW_SCORECARD.md +++ b/REVIEW_SCORECARD.md @@ -59,6 +59,7 @@ Every formal result report records: | Oral-A A1/A2 | 5 | BP reached 91.62%; short channel-gated SDIL reached 41.98% versus tuned DFA at 37.16% | Development screening alone cannot raise the score | | Oral-A A3 fails | 5 | Full ResNet-20 SDIL became nonfinite at epoch 89 and ended at 10%; DFA ended finite at 33.06% | Standard-scale and oral-A claims are closed; A4 remains untouched | | Oral-A-v2 causal capture fails | 5 | Structured perturbation improves early/all-layer alignment 6.5x/4.5x but misses the frozen early gate | Mechanism diagnosis sharpens; no full standard-scale endpoint opens | +| Oral-A-v3 causal capture fails | 5 | Direct A/G perturbation lowers synthetic estimator variance but leaves real early alignment at 0.0071 | Coefficient regression is not the dominant early bottleneck; full scale remains closed | | Oral-A A4 | not opened | The prerequisite A3 gate failed | No oral-A confirmation claim is available | These are conditional reviewer forecasts, not promised scores. A failed stage leaves its negative @@ -75,6 +76,7 @@ retroactively reopened by success on standard vision benchmarks. | 2026-07-22 / native C4 | BurstCCN and Dual Prop author-code records pass the strict audit; Dual Prop reproduces 92.46% test in 23119.8 s | 5 → 5 | Closes a baseline-fidelity objection and confirms a strong expensive comparator, but does not repair SDIL's failed A3 evidence | | 2026-07-22 / Oral-A-v2 V2-1 | Six clean frozen-forward records: structured calibration raises early/all-layer alignment to 0.0072/0.0527 but fails two frozen advancement checks | 5 → 5 | Confirms representable-subspace variance was real, while showing that early-layer causal credit remains below the standard-depth gate; V2-2 and confirmation stay closed | | 2026-07-22 / post-failure representation oracle | Current family has a 0.0240 cross-validated early-alignment ceiling on the fixed probe versus 0.0072 learned; unconstrained basis coefficients reach 0.0549 | 5 → 5 | Localizes both a causal-regression gap and an output-error-only capacity gap, but an oracle audit supplies no task-performance evidence | +| 2026-07-22 / Oral-A-v3 V3-1 | Four clean frozen-forward records: vectorizer-space estimation raises all-layer alignment to 0.0626 but leaves early alignment at 0.0071 and fails three advancement checks | 5 → 5 | Exact lower-variance mechanics do not repair early credit; no full ResNet or confirmation evidence is opened | Future rows are appended only after an audited frozen stage. A score staying flat is informative: engineering, theory exposition, or visualization may make the paper more defensible without @@ -373,6 +373,16 @@ reaches `0.00721`. Naive local-average/channel-context fields fall slightly to sample efficiency and feedback context; simply lowering `eta_A`, adding the tested fields, or reopening V2-2 is not justified. +**Vectorizer-space V3 status: causal-capture gate failed.** Directly estimating +the A/G matrix target passed exact mechanics and reduced matched synthetic +one-query MSE to `0.03381x`, but its selected real early alignment was +`0.007139` versus the matched V2 reference's `0.007209`. All-layer alignment +rose from `0.052740` to `0.062579`; three early/oracle checks failed and only +the all-layer check passed. V3 full training was not launched, and test access +remains sealed. This closes learning-rate tuning of the same output-error-only +channel-gated family; a further branch must make a substantive feedback-context +or cross-layer-noise change. + Prepare convolutional local-update primitives and ResNet-20/32/56 protocols early. Queue frozen runs opportunistically on authorized idle GPUs. Because BurstCCN already reports CIFAR-10 and ImageNet scaling, dataset scale alone is not novel. The oral-level target is a memorable joint diff --git a/experiments/analyze_oral_a_failure.py b/experiments/analyze_oral_a_failure.py index ce2e2b0..03549b8 100644 --- a/experiments/analyze_oral_a_failure.py +++ b/experiments/analyze_oral_a_failure.py @@ -29,6 +29,8 @@ def main(): "--representation", default="results/oral_a_representation_diagnosis.json") parser.add_argument( + "--v3_gate", default="results/oral_a_v3_calibration_gate.json") + parser.add_argument( "--out", default="results/oral_a_failure_diagnosis.json") args = parser.parse_args() @@ -37,6 +39,7 @@ def main(): gate = load(args.gate) v2_gate = load(args.v2_gate) representation = load(args.representation) + v3_gate = load(args.v3_gate) expected = { "mode": "sdil", "depth": 20, "epochs": 200, "vectorizer_mode": "channel_gated", "a_scale": 1.0, @@ -54,6 +57,9 @@ def main(): raise ValueError("expected a failed v2 gate with untouched confirmation") if representation["probe"]["test_examples_touched"] != 0: raise ValueError("representation diagnosis touched test examples") + if (v3_gate["status"] != "failed" + or v3_gate["confirmation_test_seeds_touched"]): + raise ValueError("expected a failed v3 gate with untouched confirmation") calibration_rows = [] first_nonfinite_epoch = None @@ -97,10 +103,11 @@ def main(): unit = v2_gate["selected"]["unit_targets"] structured = v2_gate["selected"]["channel_subspace"] output = { - "protocol": "oral_a_A3_failure_diagnosis_v2", + "protocol": "oral_a_A3_failure_diagnosis_v3", "source_paths": { "full": args.full, "short": args.short, "gate": args.gate, "v2_gate": args.v2_gate, "representation": args.representation, + "v3_gate": args.v3_gate, }, "source_commits": { "full": full["provenance"]["git_commit"], @@ -154,6 +161,19 @@ def main(): representation["cosine"]["local_context_cv"] ["early_third_mean"]), }, + "post_failure_v3_refinement": { + "vectorizer_subspace_early_third_alignment": ( + v3_gate["selected_v3"]["metrics"]["early_third_alignment"]), + "vectorizer_subspace_all_layer_alignment": ( + v3_gate["selected_v3"]["metrics"]["all_layer_alignment"]), + "matched_v2_early_third_alignment": ( + v3_gate["matched_v2_reference"]["metrics"] + ["early_third_alignment"]), + "matched_v2_all_layer_alignment": ( + v3_gate["matched_v2_reference"]["metrics"] + ["all_layer_alignment"]), + "vectorizer_subspace_gate_status": v3_gate["status"], + }, "diagnosis": { "classification": ( "early_credit_limited_by_estimator_efficiency_and_feedback_capacity"), @@ -164,18 +184,21 @@ def main(): "matched frozen-forward unit targets later yield only 0.0011 early-layer alignment", "structured learning reaches 0.0072 versus a 0.0240 cross-validated family oracle", "unconstrained coefficients raise the same spatial basis oracle only to 0.0549", + "direct A/G estimation leaves early alignment unchanged at 0.0071", ], "interpretation_limit": ( "instantaneous target metrics alone do not prove zero conditional " "learning; structured v2 has low instantaneous cosine yet positive " "exact-gradient alignment"), "next_test_outcome": ( - "representable-subspace perturbation improved exact alignment but " - "failed the frozen early-layer causal-capture gate"), + "representable-subspace perturbation improved alignment but failed; " + "direct vectorizer-space estimation then improved only middle/late " + "layers and also failed the frozen early-layer gate"), "next_design_constraint": ( "do not add the tested naive local-average/channel-mean bases; " - "improve causal sample efficiency and use a more informative " - "hierarchical or high-level contextual feedback signal"), + "do not repeat the closed A/G rate grid; use a more informative " + "hierarchical or high-level contextual feedback signal and " + "audit remaining cross-layer noise"), }, } os.makedirs(os.path.dirname(os.path.abspath(args.out)), exist_ok=True) diff --git a/results/oral_a_failure_diagnosis.json b/results/oral_a_failure_diagnosis.json index 1b142df..b26d81e 100644 --- a/results/oral_a_failure_diagnosis.json +++ b/results/oral_a_failure_diagnosis.json @@ -51,11 +51,12 @@ "target power grows by orders of magnitude before nonfiniteness", "matched frozen-forward unit targets later yield only 0.0011 early-layer alignment", "structured learning reaches 0.0072 versus a 0.0240 cross-validated family oracle", - "unconstrained coefficients raise the same spatial basis oracle only to 0.0549" + "unconstrained coefficients raise the same spatial basis oracle only to 0.0549", + "direct A/G estimation leaves early alignment unchanged at 0.0071" ], "interpretation_limit": "instantaneous target metrics alone do not prove zero conditional learning; structured v2 has low instantaneous cosine yet positive exact-gradient alignment", - "next_design_constraint": "do not add the tested naive local-average/channel-mean bases; improve causal sample efficiency and use a more informative hierarchical or high-level contextual feedback signal", - "next_test_outcome": "representable-subspace perturbation improved exact alignment but failed the frozen early-layer causal-capture gate" + "next_design_constraint": "do not add the tested naive local-average/channel-mean bases; do not repeat the closed A/G rate grid; use a more informative hierarchical or high-level contextual feedback signal and audit remaining cross-layer noise", + "next_test_outcome": "representable-subspace perturbation improved alignment but failed; direct vectorizer-space estimation then improved only middle/late layers and also failed the frozen early-layer gate" }, "frozen_outcome": { "confirmation_test_seeds_touched": false, @@ -88,7 +89,14 @@ "unit_target_all_layer_alignment": 0.011664319529173602, "unit_target_early_third_alignment": 0.0011051012067279469 }, - "protocol": "oral_a_A3_failure_diagnosis_v2", + "post_failure_v3_refinement": { + "matched_v2_all_layer_alignment": 0.052739956808325494, + "matched_v2_early_third_alignment": 0.007209058462952574, + "vectorizer_subspace_all_layer_alignment": 0.0625791079364717, + "vectorizer_subspace_early_third_alignment": 0.007139206010227402, + "vectorizer_subspace_gate_status": "failed" + }, + "protocol": "oral_a_A3_failure_diagnosis_v3", "short_screen_contrast": { "accuracy": 0.4198, "early_third_alignment": 0.08889565182228883, @@ -104,6 +112,7 @@ "gate": "results/oral_a_full_gate.json", "representation": "results/oral_a_representation_diagnosis.json", "short": "results/oral_a_short/sdil_channel_gated_lr0.03.json", - "v2_gate": "results/oral_a_v2_calibration_gate.json" + "v2_gate": "results/oral_a_v2_calibration_gate.json", + "v3_gate": "results/oral_a_v3_calibration_gate.json" } } diff --git a/results/oral_a_v3_calibration/channel_subspace_etaA0.01.json b/results/oral_a_v3_calibration/channel_subspace_etaA0.01.json new file mode 100644 index 0000000..04dc626 --- /dev/null +++ b/results/oral_a_v3_calibration/channel_subspace_etaA0.01.json @@ -0,0 +1,393 @@ +{ + "apical_warmup": { + "first": { + "calibration_mse": 0.667037273962917, + "parameter_update_rms": 0.023085309606734133, + "prediction_target_cosine": 0.0, + "target_power": 0.667037273962917 + }, + "last": { + "calibration_mse": 0.014343140418299469, + "parameter_update_rms": 0.00343628282575056, + "prediction_target_cosine": -0.005531953824674762, + "target_power": 0.014335632392748118 + }, + "mean": { + "calibration_mse": 0.2708950854477958, + "parameter_update_rms": 0.011981565658686305, + "prediction_target_cosine": 0.00018159585958168355, + "target_power": 0.2708926473589623 + }, + "steps": 400 + }, + "architecture": { + "adaptive_apical_parameters": 390592, + "base_width": 16, + "blocks_per_stage": 3, + "bn_eps": 1e-05, + "bn_momentum": 0.1, + "depth": 20, + "family": "CIFAR 6n+2 ResNet, option-A shortcuts", + "fixed_traffic_coefficients": 188416, + "forward_parameters": 269722, + "hidden_shapes": [ + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 32, + 16, + 16 + ], + [ + 32, + 16, + 16 + ], + [ + 32, + 16, + 16 + ], + [ + 32, + 16, + 16 + ], + [ + 32, + 16, + 16 + ], + [ + 32, + 16, + 16 + ], + [ + 64, + 8, + 8 + ], + [ + 64, + 8, + 8 + ], + [ + 64, + 8, + 8 + ], + [ + 64, + 8, + 8 + ], + [ + 64, + 8, + 8 + ], + [ + 64, + 8, + 8 + ] + ], + "normalization": "batchnorm", + "predictor_parameters": 376832, + "residual_scale": 1.0, + "vectorizer_mode": "channel_gated", + "vectorizer_parameters": 13760 + }, + "args": { + "a_scale": 0.0, + "a_warmup_steps": 400, + "alignment_probe": 64, + "apical_calibration_mode": "channel_subspace", + "apical_seed": null, + "augment_train": 1, + "batch_size": 128, + "bn_eps": 1e-05, + "bn_momentum": 0.1, + "data_dir": "/home/yurenh2/sdrn/data", + "depth": 20, + "device": "cuda:0", + "epochs": 0, + "eta_A": 0.01, + "eta_P": 0.01, + "eval_every": 0, + "eval_split": "validation", + "learn_P": 0, + "loader_seed": 0, + "lr": 0.03, + "lr_gamma": 0.1, + "lr_milestones": "100,150", + "lr_schedule": "constant", + "max_steps": 0, + "mode": "sdil", + "momentum": 0.9, + "normalization": "batchnorm", + "nuisance_scale": 0.0, + "out": "results/oral_a_v3_calibration/channel_subspace_etaA0.01.json", + "output_lr": 0.1, + "pert_directions": 1, + "pert_every": 4, + "pert_sigma": 0.01, + "perturb_seed": 1000, + "predictor_warmup_steps": 0, + "residual_scale": null, + "seed": 0, + "split_seed": 2027, + "train_limit": 10000, + "use_residual": 1, + "val_examples": 5000, + "vectorizer_mode": "channel_gated", + "warmup_epochs": 0, + "weight_decay": 0.0001, + "weight_scale": 1.0, + "width": 16 + }, + "calibration_metric_space": "channel_basis_moments", + "counters": { + "apical_warmup_examples": 50640, + "calibration_event_examples": 50640, + "causal_scalar_observations": 800, + "logical_batch_loss_queries": 800, + "ordinary_examples": 0, + "per_example_loss_terms": 101280, + "perturbation_events": 400, + "perturbation_forward_examples": 101280, + "predictor_warmup_examples": 0 + }, + "diagnostics": { + "early_third_mean": 0.007209058462952574, + "innovation_negative_gradient_cosine": [ + 0.002150021493434906, + 0.005721020977944136, + 0.008716395124793053, + 0.011148940771818161, + 0.0053421612828969955, + 0.010175811126828194, + 0.006470846477895975, + 0.013490992598235607, + 0.025294749066233635, + 0.028453530743718147, + 0.041042692959308624, + 0.018679656088352203, + 0.04189874976873398, + 0.04070262610912323, + 0.09365405142307281, + 0.07153154909610748, + 0.11656917631626129, + 0.19568055868148804, + 0.26533564925193787 + ], + "normalization_state": "training_batch_stats_without_running_update", + "raw_negative_gradient_cosine": [ + 0.002150021493434906, + 0.005721020977944136, + 0.008716395124793053, + 0.011148940771818161, + 0.0053421612828969955, + 0.010175811126828194, + 0.006470846477895975, + 0.013490992598235607, + 0.025294749066233635, + 0.028453530743718147, + 0.041042692959308624, + 0.018679656088352203, + 0.04189874976873398, + 0.04070262610912323, + 0.09365405142307281, + 0.07153154909610748, + 0.11656917631626129, + 0.19568055868148804, + 0.26533564925193787 + ], + "teaching_negative_gradient_cosine": [ + 0.002150021493434906, + 0.005721020977944136, + 0.008716395124793053, + 0.011148940771818161, + 0.0053421612828969955, + 0.010175811126828194, + 0.006470846477895975, + 0.013490992598235607, + 0.025294749066233635, + 0.028453530743718147, + 0.041042692959308624, + 0.018679656088352203, + 0.04189874976873398, + 0.04070262610912323, + 0.09365405142307281, + 0.07153154909610748, + 0.11656917631626129, + 0.19568055868148804, + 0.26533564925193787 + ], + "wall_s": 0.1165304183959961 + }, + "epochs": [], + "evaluation_protocol": { + "test_evaluations": 0, + "test_used_for_selection": false, + "validation_evaluations": 1 + }, + "final": { + "accuracy": 0.1004, + "epoch": 0, + "evaluation_split": "validation", + "finite": true, + "loss": 16.593759375, + "step": 0 + }, + "hardware": { + "cuda_device_name": "NVIDIA GeForce GTX 1080", + "cuda_visible_devices": "5", + "device": "cuda:0", + "device_total_memory_bytes": 8507949056, + "peak_memory_allocated_bytes": 1734868480, + "peak_memory_reserved_bytes": 2575302656, + "torch_version": "2.3.1+cu118" + }, + "protocol_family": "oral_a_cifar_local_resnet_development", + "provenance": { + "git_commit": "612196a53285b6efc44c0dd84699c7b57a6dc8e1", + "git_tracked_dirty": false + }, + "schema_version": 1, + "split": { + "cifar_source_files": [ + { + "bytes": 31035704, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_1", + "sha256": "54636561a3ce25bd3e19253c6b0d8538147b0ae398331ac4a2d86c6d987368cd" + }, + { + "bytes": 31035320, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_2", + "sha256": "766b2cef9fbc745cf056b3152224f7cf77163b330ea9a15f9392beb8b89bc5a8" + }, + { + "bytes": 31035999, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_3", + "sha256": "0f00d98ebfb30b3ec0ad19f9756dc2630b89003e10525f5e148445e82aa6a1f9" + }, + { + "bytes": 31035696, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_4", + "sha256": "3f7bb240661948b8f4d53e36ec720d8306f5668bd0071dcb4e6c947f78e9682b" + }, + { + "bytes": 31035623, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_5", + "sha256": "d91802434d8376bbaeeadf58a737e3a1b12ac839077e931237e0dcd43adcb154" + }, + { + "bytes": 31035526, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/test_batch", + "sha256": "f53d8d457504f7cff4ea9e021afcf0e0ad8e24a91f3fc42091b8adef61157831" + } + ], + "dataset": "cifar10", + "evaluation_split": "validation", + "input_layout": "NCHW", + "input_shape": [ + 3, + 32, + 32 + ], + "loader_seed": 0, + "normalization_mean": [ + 0.49140000343322754, + 0.4821999967098236, + 0.4465000033378601 + ], + "normalization_std": [ + 0.24699999392032623, + 0.2434999942779541, + 0.26159998774528503 + ], + "split_from_training_only": true, + "split_seed": 2027, + "test_examples": 10000, + "train_examples": 10000, + "training_augmentation": "random_crop_32_padding_4_zero_then_horizontal_flip_p0.5", + "validation_class_counts": { + "0": 500, + "1": 500, + "2": 500, + "3": 500, + "4": 500, + "5": 500, + "6": 500, + "7": 500, + "8": 500, + "9": 500 + }, + "validation_examples": 5000, + "validation_index_sha256": "8328b206a97c420e49e54e3eca4abe3274c4756b084355784ea3fb8059e4515b" + }, + "timing": { + "apical_warmup_wall_s": 24.140583515167236, + "evaluation_wall_s": 0.3799288272857666, + "predictor_warmup_wall_s": 0.0, + "timing_excludes_data_loading_hashing_and_model_construction": true, + "total_timed_wall_s": 24.520760536193848, + "train_wall_s": 0.0 + }, + "work": { + "apical_macs_per_example": 202176, + "causal_scalar_observations": 800, + "components": { + "apical_projection_macs": 10238192640, + "apical_regression_macs": 10238192640, + "bp_reverse_macs_estimate": 0, + "local_weight_correlation_macs": 0, + "ordinary_forward_macs": 0, + "perturbation_forward_macs": 4107009331200, + "warmup_clean_forward_macs": 2053504665600 + }, + "definition": "multiply-accumulates in conv/linear maps; one local weight correlation equals one forward-weight MAC count; BP reverse is estimated as one weight-gradient plus one activation-gradient convolution per forward convolution; elementwise nonlinearities and optimizer arithmetic excluded", + "forward_macs_per_example": 40551040, + "logical_batch_loss_queries": 800, + "per_example_cross_entropy_terms": 101280, + "total_clean_forward_examples": 50640, + "total_forward_equivalent_examples": 151920, + "total_macs_estimate": 6180990382080 + } +} diff --git a/results/oral_a_v3_calibration/vectorizer_subspace_etaA0.01.json b/results/oral_a_v3_calibration/vectorizer_subspace_etaA0.01.json new file mode 100644 index 0000000..d959de9 --- /dev/null +++ b/results/oral_a_v3_calibration/vectorizer_subspace_etaA0.01.json @@ -0,0 +1,393 @@ +{ + "apical_warmup": { + "first": { + "calibration_mse": 1.9545826862768833e-07, + "parameter_update_rms": 0.0004421066258581614, + "prediction_target_cosine": 0.0, + "target_power": 1.9545826862768833e-07 + }, + "last": { + "calibration_mse": 3.684547450998358e-05, + "parameter_update_rms": 0.006070047323537402, + "prediction_target_cosine": 0.01877143215663052, + "target_power": 3.6848756204287994e-05 + }, + "mean": { + "calibration_mse": 0.00019177845804523746, + "parameter_update_rms": 0.010982968905010668, + "prediction_target_cosine": 0.0018218688400943384, + "target_power": 0.00019176158875808158 + }, + "steps": 400 + }, + "architecture": { + "adaptive_apical_parameters": 390592, + "base_width": 16, + "blocks_per_stage": 3, + "bn_eps": 1e-05, + "bn_momentum": 0.1, + "depth": 20, + "family": "CIFAR 6n+2 ResNet, option-A shortcuts", + "fixed_traffic_coefficients": 188416, + "forward_parameters": 269722, + "hidden_shapes": [ + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 32, + 16, + 16 + ], + [ + 32, + 16, + 16 + ], + [ + 32, + 16, + 16 + ], + [ + 32, + 16, + 16 + ], + [ + 32, + 16, + 16 + ], + [ + 32, + 16, + 16 + ], + [ + 64, + 8, + 8 + ], + [ + 64, + 8, + 8 + ], + [ + 64, + 8, + 8 + ], + [ + 64, + 8, + 8 + ], + [ + 64, + 8, + 8 + ], + [ + 64, + 8, + 8 + ] + ], + "normalization": "batchnorm", + "predictor_parameters": 376832, + "residual_scale": 1.0, + "vectorizer_mode": "channel_gated", + "vectorizer_parameters": 13760 + }, + "args": { + "a_scale": 0.0, + "a_warmup_steps": 400, + "alignment_probe": 64, + "apical_calibration_mode": "vectorizer_subspace", + "apical_seed": null, + "augment_train": 1, + "batch_size": 128, + "bn_eps": 1e-05, + "bn_momentum": 0.1, + "data_dir": "/home/yurenh2/sdrn/data", + "depth": 20, + "device": "cuda:0", + "epochs": 0, + "eta_A": 0.01, + "eta_P": 0.01, + "eval_every": 0, + "eval_split": "validation", + "learn_P": 0, + "loader_seed": 0, + "lr": 0.03, + "lr_gamma": 0.1, + "lr_milestones": "100,150", + "lr_schedule": "constant", + "max_steps": 0, + "mode": "sdil", + "momentum": 0.9, + "normalization": "batchnorm", + "nuisance_scale": 0.0, + "out": "results/oral_a_v3_calibration/vectorizer_subspace_etaA0.01.json", + "output_lr": 0.1, + "pert_directions": 1, + "pert_every": 4, + "pert_sigma": 0.01, + "perturb_seed": 1000, + "predictor_warmup_steps": 0, + "residual_scale": null, + "seed": 0, + "split_seed": 2027, + "train_limit": 10000, + "use_residual": 1, + "val_examples": 5000, + "vectorizer_mode": "channel_gated", + "warmup_epochs": 0, + "weight_decay": 0.0001, + "weight_scale": 1.0, + "width": 16 + }, + "calibration_metric_space": "vectorizer_parameter_gradients", + "counters": { + "apical_warmup_examples": 50640, + "calibration_event_examples": 50640, + "causal_scalar_observations": 800, + "logical_batch_loss_queries": 800, + "ordinary_examples": 0, + "per_example_loss_terms": 101280, + "perturbation_events": 400, + "perturbation_forward_examples": 101280, + "predictor_warmup_examples": 0 + }, + "diagnostics": { + "early_third_mean": 0.007139206010227402, + "innovation_negative_gradient_cosine": [ + 0.0026028589345514774, + 0.006397380493581295, + 0.008704797364771366, + 0.010101381689310074, + 0.007746903225779533, + 0.0072819143533706665, + 0.020229119807481766, + 0.021337036043405533, + 0.021039098501205444, + 0.03162077069282532, + 0.03877360373735428, + 0.04704105108976364, + 0.06299921870231628, + 0.08475810289382935, + 0.07144122570753098, + 0.14218710362911224, + 0.16116924583911896, + 0.20310530066490173, + 0.24046693742275238 + ], + "normalization_state": "training_batch_stats_without_running_update", + "raw_negative_gradient_cosine": [ + 0.0026028589345514774, + 0.006397380493581295, + 0.008704797364771366, + 0.010101381689310074, + 0.007746903225779533, + 0.0072819143533706665, + 0.020229119807481766, + 0.021337036043405533, + 0.021039098501205444, + 0.03162077069282532, + 0.03877360373735428, + 0.04704105108976364, + 0.06299921870231628, + 0.08475810289382935, + 0.07144122570753098, + 0.14218710362911224, + 0.16116924583911896, + 0.20310530066490173, + 0.24046693742275238 + ], + "teaching_negative_gradient_cosine": [ + 0.0026028589345514774, + 0.006397380493581295, + 0.008704797364771366, + 0.010101381689310074, + 0.007746903225779533, + 0.0072819143533706665, + 0.020229119807481766, + 0.021337036043405533, + 0.021039098501205444, + 0.03162077069282532, + 0.03877360373735428, + 0.04704105108976364, + 0.06299921870231628, + 0.08475810289382935, + 0.07144122570753098, + 0.14218710362911224, + 0.16116924583911896, + 0.20310530066490173, + 0.24046693742275238 + ], + "wall_s": 0.1202707290649414 + }, + "epochs": [], + "evaluation_protocol": { + "test_evaluations": 0, + "test_used_for_selection": false, + "validation_evaluations": 1 + }, + "final": { + "accuracy": 0.1004, + "epoch": 0, + "evaluation_split": "validation", + "finite": true, + "loss": 16.593759375, + "step": 0 + }, + "hardware": { + "cuda_device_name": "NVIDIA GeForce GTX 1080", + "cuda_visible_devices": "7", + "device": "cuda:0", + "device_total_memory_bytes": 8507949056, + "peak_memory_allocated_bytes": 1734868480, + "peak_memory_reserved_bytes": 2575302656, + "torch_version": "2.3.1+cu118" + }, + "protocol_family": "oral_a_cifar_local_resnet_development", + "provenance": { + "git_commit": "612196a53285b6efc44c0dd84699c7b57a6dc8e1", + "git_tracked_dirty": false + }, + "schema_version": 1, + "split": { + "cifar_source_files": [ + { + "bytes": 31035704, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_1", + "sha256": "54636561a3ce25bd3e19253c6b0d8538147b0ae398331ac4a2d86c6d987368cd" + }, + { + "bytes": 31035320, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_2", + "sha256": "766b2cef9fbc745cf056b3152224f7cf77163b330ea9a15f9392beb8b89bc5a8" + }, + { + "bytes": 31035999, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_3", + "sha256": "0f00d98ebfb30b3ec0ad19f9756dc2630b89003e10525f5e148445e82aa6a1f9" + }, + { + "bytes": 31035696, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_4", + "sha256": "3f7bb240661948b8f4d53e36ec720d8306f5668bd0071dcb4e6c947f78e9682b" + }, + { + "bytes": 31035623, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_5", + "sha256": "d91802434d8376bbaeeadf58a737e3a1b12ac839077e931237e0dcd43adcb154" + }, + { + "bytes": 31035526, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/test_batch", + "sha256": "f53d8d457504f7cff4ea9e021afcf0e0ad8e24a91f3fc42091b8adef61157831" + } + ], + "dataset": "cifar10", + "evaluation_split": "validation", + "input_layout": "NCHW", + "input_shape": [ + 3, + 32, + 32 + ], + "loader_seed": 0, + "normalization_mean": [ + 0.49140000343322754, + 0.4821999967098236, + 0.4465000033378601 + ], + "normalization_std": [ + 0.24699999392032623, + 0.2434999942779541, + 0.26159998774528503 + ], + "split_from_training_only": true, + "split_seed": 2027, + "test_examples": 10000, + "train_examples": 10000, + "training_augmentation": "random_crop_32_padding_4_zero_then_horizontal_flip_p0.5", + "validation_class_counts": { + "0": 500, + "1": 500, + "2": 500, + "3": 500, + "4": 500, + "5": 500, + "6": 500, + "7": 500, + "8": 500, + "9": 500 + }, + "validation_examples": 5000, + "validation_index_sha256": "8328b206a97c420e49e54e3eca4abe3274c4756b084355784ea3fb8059e4515b" + }, + "timing": { + "apical_warmup_wall_s": 24.03937554359436, + "evaluation_wall_s": 0.376523494720459, + "predictor_warmup_wall_s": 0.0, + "timing_excludes_data_loading_hashing_and_model_construction": true, + "total_timed_wall_s": 24.41608953475952, + "train_wall_s": 0.0 + }, + "work": { + "apical_macs_per_example": 202176, + "causal_scalar_observations": 800, + "components": { + "apical_projection_macs": 10238192640, + "apical_regression_macs": 10238192640, + "bp_reverse_macs_estimate": 0, + "local_weight_correlation_macs": 0, + "ordinary_forward_macs": 0, + "perturbation_forward_macs": 4107009331200, + "warmup_clean_forward_macs": 2053504665600 + }, + "definition": "multiply-accumulates in conv/linear maps; one local weight correlation equals one forward-weight MAC count; BP reverse is estimated as one weight-gradient plus one activation-gradient convolution per forward convolution; elementwise nonlinearities and optimizer arithmetic excluded", + "forward_macs_per_example": 40551040, + "logical_batch_loss_queries": 800, + "per_example_cross_entropy_terms": 101280, + "total_clean_forward_examples": 50640, + "total_forward_equivalent_examples": 151920, + "total_macs_estimate": 6180990382080 + } +} diff --git a/results/oral_a_v3_calibration/vectorizer_subspace_etaA0.1.json b/results/oral_a_v3_calibration/vectorizer_subspace_etaA0.1.json new file mode 100644 index 0000000..7c5b244 --- /dev/null +++ b/results/oral_a_v3_calibration/vectorizer_subspace_etaA0.1.json @@ -0,0 +1,393 @@ +{ + "apical_warmup": { + "first": { + "calibration_mse": 1.9545826862768833e-07, + "parameter_update_rms": 0.0004421066258581614, + "prediction_target_cosine": 0.0, + "target_power": 1.9545826862768833e-07 + }, + "last": { + "calibration_mse": 3.7359160583142764e-05, + "parameter_update_rms": 0.006112214049192221, + "prediction_target_cosine": 0.011668008991139992, + "target_power": 3.6848756204287994e-05 + }, + "mean": { + "calibration_mse": 0.0001923398035258008, + "parameter_update_rms": 0.011050459120615532, + "prediction_target_cosine": 0.0014602501420039524, + "target_power": 0.00019176158875808158 + }, + "steps": 400 + }, + "architecture": { + "adaptive_apical_parameters": 390592, + "base_width": 16, + "blocks_per_stage": 3, + "bn_eps": 1e-05, + "bn_momentum": 0.1, + "depth": 20, + "family": "CIFAR 6n+2 ResNet, option-A shortcuts", + "fixed_traffic_coefficients": 188416, + "forward_parameters": 269722, + "hidden_shapes": [ + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 32, + 16, + 16 + ], + [ + 32, + 16, + 16 + ], + [ + 32, + 16, + 16 + ], + [ + 32, + 16, + 16 + ], + [ + 32, + 16, + 16 + ], + [ + 32, + 16, + 16 + ], + [ + 64, + 8, + 8 + ], + [ + 64, + 8, + 8 + ], + [ + 64, + 8, + 8 + ], + [ + 64, + 8, + 8 + ], + [ + 64, + 8, + 8 + ], + [ + 64, + 8, + 8 + ] + ], + "normalization": "batchnorm", + "predictor_parameters": 376832, + "residual_scale": 1.0, + "vectorizer_mode": "channel_gated", + "vectorizer_parameters": 13760 + }, + "args": { + "a_scale": 0.0, + "a_warmup_steps": 400, + "alignment_probe": 64, + "apical_calibration_mode": "vectorizer_subspace", + "apical_seed": null, + "augment_train": 1, + "batch_size": 128, + "bn_eps": 1e-05, + "bn_momentum": 0.1, + "data_dir": "/home/yurenh2/sdrn/data", + "depth": 20, + "device": "cuda:0", + "epochs": 0, + "eta_A": 0.1, + "eta_P": 0.01, + "eval_every": 0, + "eval_split": "validation", + "learn_P": 0, + "loader_seed": 0, + "lr": 0.03, + "lr_gamma": 0.1, + "lr_milestones": "100,150", + "lr_schedule": "constant", + "max_steps": 0, + "mode": "sdil", + "momentum": 0.9, + "normalization": "batchnorm", + "nuisance_scale": 0.0, + "out": "results/oral_a_v3_calibration/vectorizer_subspace_etaA0.1.json", + "output_lr": 0.1, + "pert_directions": 1, + "pert_every": 4, + "pert_sigma": 0.01, + "perturb_seed": 1000, + "predictor_warmup_steps": 0, + "residual_scale": null, + "seed": 0, + "split_seed": 2027, + "train_limit": 10000, + "use_residual": 1, + "val_examples": 5000, + "vectorizer_mode": "channel_gated", + "warmup_epochs": 0, + "weight_decay": 0.0001, + "weight_scale": 1.0, + "width": 16 + }, + "calibration_metric_space": "vectorizer_parameter_gradients", + "counters": { + "apical_warmup_examples": 50640, + "calibration_event_examples": 50640, + "causal_scalar_observations": 800, + "logical_batch_loss_queries": 800, + "ordinary_examples": 0, + "per_example_loss_terms": 101280, + "perturbation_events": 400, + "perturbation_forward_examples": 101280, + "predictor_warmup_examples": 0 + }, + "diagnostics": { + "early_third_mean": 0.004803654310914378, + "innovation_negative_gradient_cosine": [ + 0.0022225109860301018, + 0.0028289039619266987, + 0.0034330247435718775, + 0.009060748852789402, + 0.005170748569071293, + 0.006105988752096891, + 0.006368447095155716, + 0.01181209459900856, + 0.006666069850325584, + 0.010817515663802624, + 0.02869417518377304, + 0.02690061554312706, + 0.04461611434817314, + 0.0371469110250473, + 0.024002932012081146, + 0.0602751150727272, + 0.06595541536808014, + 0.109754279255867, + 0.1261977106332779 + ], + "normalization_state": "training_batch_stats_without_running_update", + "raw_negative_gradient_cosine": [ + 0.0022225109860301018, + 0.0028289039619266987, + 0.0034330247435718775, + 0.009060748852789402, + 0.005170748569071293, + 0.006105988752096891, + 0.006368447095155716, + 0.01181209459900856, + 0.006666069850325584, + 0.010817515663802624, + 0.02869417518377304, + 0.02690061554312706, + 0.04461611434817314, + 0.0371469110250473, + 0.024002932012081146, + 0.0602751150727272, + 0.06595541536808014, + 0.109754279255867, + 0.1261977106332779 + ], + "teaching_negative_gradient_cosine": [ + 0.0022225109860301018, + 0.0028289039619266987, + 0.0034330247435718775, + 0.009060748852789402, + 0.005170748569071293, + 0.006105988752096891, + 0.006368447095155716, + 0.01181209459900856, + 0.006666069850325584, + 0.010817515663802624, + 0.02869417518377304, + 0.02690061554312706, + 0.04461611434817314, + 0.0371469110250473, + 0.024002932012081146, + 0.0602751150727272, + 0.06595541536808014, + 0.109754279255867, + 0.1261977106332779 + ], + "wall_s": 0.1158304214477539 + }, + "epochs": [], + "evaluation_protocol": { + "test_evaluations": 0, + "test_used_for_selection": false, + "validation_evaluations": 1 + }, + "final": { + "accuracy": 0.1004, + "epoch": 0, + "evaluation_split": "validation", + "finite": true, + "loss": 16.593759375, + "step": 0 + }, + "hardware": { + "cuda_device_name": "NVIDIA GeForce GTX 1080", + "cuda_visible_devices": "5", + "device": "cuda:0", + "device_total_memory_bytes": 8507949056, + "peak_memory_allocated_bytes": 1734868480, + "peak_memory_reserved_bytes": 2575302656, + "torch_version": "2.3.1+cu118" + }, + "protocol_family": "oral_a_cifar_local_resnet_development", + "provenance": { + "git_commit": "612196a53285b6efc44c0dd84699c7b57a6dc8e1", + "git_tracked_dirty": false + }, + "schema_version": 1, + "split": { + "cifar_source_files": [ + { + "bytes": 31035704, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_1", + "sha256": "54636561a3ce25bd3e19253c6b0d8538147b0ae398331ac4a2d86c6d987368cd" + }, + { + "bytes": 31035320, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_2", + "sha256": "766b2cef9fbc745cf056b3152224f7cf77163b330ea9a15f9392beb8b89bc5a8" + }, + { + "bytes": 31035999, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_3", + "sha256": "0f00d98ebfb30b3ec0ad19f9756dc2630b89003e10525f5e148445e82aa6a1f9" + }, + { + "bytes": 31035696, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_4", + "sha256": "3f7bb240661948b8f4d53e36ec720d8306f5668bd0071dcb4e6c947f78e9682b" + }, + { + "bytes": 31035623, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_5", + "sha256": "d91802434d8376bbaeeadf58a737e3a1b12ac839077e931237e0dcd43adcb154" + }, + { + "bytes": 31035526, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/test_batch", + "sha256": "f53d8d457504f7cff4ea9e021afcf0e0ad8e24a91f3fc42091b8adef61157831" + } + ], + "dataset": "cifar10", + "evaluation_split": "validation", + "input_layout": "NCHW", + "input_shape": [ + 3, + 32, + 32 + ], + "loader_seed": 0, + "normalization_mean": [ + 0.49140000343322754, + 0.4821999967098236, + 0.4465000033378601 + ], + "normalization_std": [ + 0.24699999392032623, + 0.2434999942779541, + 0.26159998774528503 + ], + "split_from_training_only": true, + "split_seed": 2027, + "test_examples": 10000, + "train_examples": 10000, + "training_augmentation": "random_crop_32_padding_4_zero_then_horizontal_flip_p0.5", + "validation_class_counts": { + "0": 500, + "1": 500, + "2": 500, + "3": 500, + "4": 500, + "5": 500, + "6": 500, + "7": 500, + "8": 500, + "9": 500 + }, + "validation_examples": 5000, + "validation_index_sha256": "8328b206a97c420e49e54e3eca4abe3274c4756b084355784ea3fb8059e4515b" + }, + "timing": { + "apical_warmup_wall_s": 24.720736503601074, + "evaluation_wall_s": 0.3711373805999756, + "predictor_warmup_wall_s": 0.0, + "timing_excludes_data_loading_hashing_and_model_construction": true, + "total_timed_wall_s": 25.092053651809692, + "train_wall_s": 0.0 + }, + "work": { + "apical_macs_per_example": 202176, + "causal_scalar_observations": 800, + "components": { + "apical_projection_macs": 10238192640, + "apical_regression_macs": 10238192640, + "bp_reverse_macs_estimate": 0, + "local_weight_correlation_macs": 0, + "ordinary_forward_macs": 0, + "perturbation_forward_macs": 4107009331200, + "warmup_clean_forward_macs": 2053504665600 + }, + "definition": "multiply-accumulates in conv/linear maps; one local weight correlation equals one forward-weight MAC count; BP reverse is estimated as one weight-gradient plus one activation-gradient convolution per forward convolution; elementwise nonlinearities and optimizer arithmetic excluded", + "forward_macs_per_example": 40551040, + "logical_batch_loss_queries": 800, + "per_example_cross_entropy_terms": 101280, + "total_clean_forward_examples": 50640, + "total_forward_equivalent_examples": 151920, + "total_macs_estimate": 6180990382080 + } +} diff --git a/results/oral_a_v3_calibration/vectorizer_subspace_etaA1.0.json b/results/oral_a_v3_calibration/vectorizer_subspace_etaA1.0.json new file mode 100644 index 0000000..61c1891 --- /dev/null +++ b/results/oral_a_v3_calibration/vectorizer_subspace_etaA1.0.json @@ -0,0 +1,393 @@ +{ + "apical_warmup": { + "first": { + "calibration_mse": 1.9545826862768833e-07, + "parameter_update_rms": 0.0004421066258581614, + "prediction_target_cosine": 0.0, + "target_power": 1.9545826862768833e-07 + }, + "last": { + "calibration_mse": 4.264974206656662e-05, + "parameter_update_rms": 0.006530676999099452, + "prediction_target_cosine": 0.0010701752475656546, + "target_power": 3.6848756204287994e-05 + }, + "mean": { + "calibration_mse": 0.00019906028706469792, + "parameter_update_rms": 0.01158272062540019, + "prediction_target_cosine": -0.0001920852658946125, + "target_power": 0.00019176158875808158 + }, + "steps": 400 + }, + "architecture": { + "adaptive_apical_parameters": 390592, + "base_width": 16, + "blocks_per_stage": 3, + "bn_eps": 1e-05, + "bn_momentum": 0.1, + "depth": 20, + "family": "CIFAR 6n+2 ResNet, option-A shortcuts", + "fixed_traffic_coefficients": 188416, + "forward_parameters": 269722, + "hidden_shapes": [ + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 16, + 32, + 32 + ], + [ + 32, + 16, + 16 + ], + [ + 32, + 16, + 16 + ], + [ + 32, + 16, + 16 + ], + [ + 32, + 16, + 16 + ], + [ + 32, + 16, + 16 + ], + [ + 32, + 16, + 16 + ], + [ + 64, + 8, + 8 + ], + [ + 64, + 8, + 8 + ], + [ + 64, + 8, + 8 + ], + [ + 64, + 8, + 8 + ], + [ + 64, + 8, + 8 + ], + [ + 64, + 8, + 8 + ] + ], + "normalization": "batchnorm", + "predictor_parameters": 376832, + "residual_scale": 1.0, + "vectorizer_mode": "channel_gated", + "vectorizer_parameters": 13760 + }, + "args": { + "a_scale": 0.0, + "a_warmup_steps": 400, + "alignment_probe": 64, + "apical_calibration_mode": "vectorizer_subspace", + "apical_seed": null, + "augment_train": 1, + "batch_size": 128, + "bn_eps": 1e-05, + "bn_momentum": 0.1, + "data_dir": "/home/yurenh2/sdrn/data", + "depth": 20, + "device": "cuda:0", + "epochs": 0, + "eta_A": 1.0, + "eta_P": 0.01, + "eval_every": 0, + "eval_split": "validation", + "learn_P": 0, + "loader_seed": 0, + "lr": 0.03, + "lr_gamma": 0.1, + "lr_milestones": "100,150", + "lr_schedule": "constant", + "max_steps": 0, + "mode": "sdil", + "momentum": 0.9, + "normalization": "batchnorm", + "nuisance_scale": 0.0, + "out": "results/oral_a_v3_calibration/vectorizer_subspace_etaA1.0.json", + "output_lr": 0.1, + "pert_directions": 1, + "pert_every": 4, + "pert_sigma": 0.01, + "perturb_seed": 1000, + "predictor_warmup_steps": 0, + "residual_scale": null, + "seed": 0, + "split_seed": 2027, + "train_limit": 10000, + "use_residual": 1, + "val_examples": 5000, + "vectorizer_mode": "channel_gated", + "warmup_epochs": 0, + "weight_decay": 0.0001, + "weight_scale": 1.0, + "width": 16 + }, + "calibration_metric_space": "vectorizer_parameter_gradients", + "counters": { + "apical_warmup_examples": 50640, + "calibration_event_examples": 50640, + "causal_scalar_observations": 800, + "logical_batch_loss_queries": 800, + "ordinary_examples": 0, + "per_example_loss_terms": 101280, + "perturbation_events": 400, + "perturbation_forward_examples": 101280, + "predictor_warmup_examples": 0 + }, + "diagnostics": { + "early_third_mean": 0.002233794856389674, + "innovation_negative_gradient_cosine": [ + -0.0005113005172461271, + 0.000137713534059003, + 0.00045850942842662334, + 0.0053695435635745525, + 0.0032934178598225117, + 0.004654885269701481, + -0.0017309020040556788, + 0.00377076817676425, + -0.007445689290761948, + -0.0006793281063437462, + 0.009065194055438042, + 0.0052467635832726955, + 0.03067660890519619, + 0.010736962780356407, + 0.010169688612222672, + 0.014299523085355759, + -0.00701782526448369, + 0.028061751276254654, + 0.020663894712924957 + ], + "normalization_state": "training_batch_stats_without_running_update", + "raw_negative_gradient_cosine": [ + -0.0005113005172461271, + 0.000137713534059003, + 0.00045850942842662334, + 0.0053695435635745525, + 0.0032934178598225117, + 0.004654885269701481, + -0.0017309020040556788, + 0.00377076817676425, + -0.007445689290761948, + -0.0006793281063437462, + 0.009065194055438042, + 0.0052467635832726955, + 0.03067660890519619, + 0.010736962780356407, + 0.010169688612222672, + 0.014299523085355759, + -0.00701782526448369, + 0.028061751276254654, + 0.020663894712924957 + ], + "teaching_negative_gradient_cosine": [ + -0.0005113005172461271, + 0.000137713534059003, + 0.00045850942842662334, + 0.0053695435635745525, + 0.0032934178598225117, + 0.004654885269701481, + -0.0017309020040556788, + 0.00377076817676425, + -0.007445689290761948, + -0.0006793281063437462, + 0.009065194055438042, + 0.0052467635832726955, + 0.03067660890519619, + 0.010736962780356407, + 0.010169688612222672, + 0.014299523085355759, + -0.00701782526448369, + 0.028061751276254654, + 0.020663894712924957 + ], + "wall_s": 0.12106084823608398 + }, + "epochs": [], + "evaluation_protocol": { + "test_evaluations": 0, + "test_used_for_selection": false, + "validation_evaluations": 1 + }, + "final": { + "accuracy": 0.1004, + "epoch": 0, + "evaluation_split": "validation", + "finite": true, + "loss": 16.593759375, + "step": 0 + }, + "hardware": { + "cuda_device_name": "NVIDIA GeForce GTX 1080", + "cuda_visible_devices": "7", + "device": "cuda:0", + "device_total_memory_bytes": 8507949056, + "peak_memory_allocated_bytes": 1734868480, + "peak_memory_reserved_bytes": 2575302656, + "torch_version": "2.3.1+cu118" + }, + "protocol_family": "oral_a_cifar_local_resnet_development", + "provenance": { + "git_commit": "612196a53285b6efc44c0dd84699c7b57a6dc8e1", + "git_tracked_dirty": false + }, + "schema_version": 1, + "split": { + "cifar_source_files": [ + { + "bytes": 31035704, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_1", + "sha256": "54636561a3ce25bd3e19253c6b0d8538147b0ae398331ac4a2d86c6d987368cd" + }, + { + "bytes": 31035320, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_2", + "sha256": "766b2cef9fbc745cf056b3152224f7cf77163b330ea9a15f9392beb8b89bc5a8" + }, + { + "bytes": 31035999, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_3", + "sha256": "0f00d98ebfb30b3ec0ad19f9756dc2630b89003e10525f5e148445e82aa6a1f9" + }, + { + "bytes": 31035696, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_4", + "sha256": "3f7bb240661948b8f4d53e36ec720d8306f5668bd0071dcb4e6c947f78e9682b" + }, + { + "bytes": 31035623, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/data_batch_5", + "sha256": "d91802434d8376bbaeeadf58a737e3a1b12ac839077e931237e0dcd43adcb154" + }, + { + "bytes": 31035526, + "path": "/home/yurenh2/sdrn/data/cifar-10-batches-py/test_batch", + "sha256": "f53d8d457504f7cff4ea9e021afcf0e0ad8e24a91f3fc42091b8adef61157831" + } + ], + "dataset": "cifar10", + "evaluation_split": "validation", + "input_layout": "NCHW", + "input_shape": [ + 3, + 32, + 32 + ], + "loader_seed": 0, + "normalization_mean": [ + 0.49140000343322754, + 0.4821999967098236, + 0.4465000033378601 + ], + "normalization_std": [ + 0.24699999392032623, + 0.2434999942779541, + 0.26159998774528503 + ], + "split_from_training_only": true, + "split_seed": 2027, + "test_examples": 10000, + "train_examples": 10000, + "training_augmentation": "random_crop_32_padding_4_zero_then_horizontal_flip_p0.5", + "validation_class_counts": { + "0": 500, + "1": 500, + "2": 500, + "3": 500, + "4": 500, + "5": 500, + "6": 500, + "7": 500, + "8": 500, + "9": 500 + }, + "validation_examples": 5000, + "validation_index_sha256": "8328b206a97c420e49e54e3eca4abe3274c4756b084355784ea3fb8059e4515b" + }, + "timing": { + "apical_warmup_wall_s": 26.799011945724487, + "evaluation_wall_s": 0.38268423080444336, + "predictor_warmup_wall_s": 0.0, + "timing_excludes_data_loading_hashing_and_model_construction": true, + "total_timed_wall_s": 27.181934356689453, + "train_wall_s": 0.0 + }, + "work": { + "apical_macs_per_example": 202176, + "causal_scalar_observations": 800, + "components": { + "apical_projection_macs": 10238192640, + "apical_regression_macs": 10238192640, + "bp_reverse_macs_estimate": 0, + "local_weight_correlation_macs": 0, + "ordinary_forward_macs": 0, + "perturbation_forward_macs": 4107009331200, + "warmup_clean_forward_macs": 2053504665600 + }, + "definition": "multiply-accumulates in conv/linear maps; one local weight correlation equals one forward-weight MAC count; BP reverse is estimated as one weight-gradient plus one activation-gradient convolution per forward convolution; elementwise nonlinearities and optimizer arithmetic excluded", + "forward_macs_per_example": 40551040, + "logical_batch_loss_queries": 800, + "per_example_cross_entropy_terms": 101280, + "total_clean_forward_examples": 50640, + "total_forward_equivalent_examples": 151920, + "total_macs_estimate": 6180990382080 + } +} diff --git a/results/oral_a_v3_calibration_gate.json b/results/oral_a_v3_calibration_gate.json new file mode 100644 index 0000000..c0364bc --- /dev/null +++ b/results/oral_a_v3_calibration_gate.json @@ -0,0 +1,115 @@ +{ + "checks": { + "all_four_records_finite": true, + "v3_all_layer_at_least_0.05": true, + "v3_candidate_selected": true, + "v3_early_gain_over_v2_at_least_0.01": false, + "v3_early_third_at_least_0.01": false, + "v3_reaches_60pct_of_family_oracle": false + }, + "confirmation_test_seeds_touched": false, + "family_oracle_early_third": 0.02396580002561188, + "matched_v2_reference": { + "calibration_mode": "channel_subspace", + "eta_A": 0.01, + "finite": true, + "metric_space": "channel_basis_moments", + "metrics": { + "all_layer_alignment": 0.052739956808325494, + "early_third_alignment": 0.007209058462952574, + "mean_calibration_mse": 0.2708950854477958, + "mean_parameter_update_rms": 0.011981565658686305, + "mean_prediction_target_cosine": 0.00018159585958168355, + "mean_target_power": 0.2708926473589623 + }, + "path": "results/oral_a_v3_calibration/channel_subspace_etaA0.01.json", + "source_commit": "612196a53285b6efc44c0dd84699c7b57a6dc8e1" + }, + "protocol": "oral_a_v3_vectorizer_causal_capture_v1", + "review_score_after": 5, + "review_score_before": 5, + "rows": [ + { + "calibration_mode": "channel_subspace", + "eta_A": 0.01, + "finite": true, + "metric_space": "channel_basis_moments", + "metrics": { + "all_layer_alignment": 0.052739956808325494, + "early_third_alignment": 0.007209058462952574, + "mean_calibration_mse": 0.2708950854477958, + "mean_parameter_update_rms": 0.011981565658686305, + "mean_prediction_target_cosine": 0.00018159585958168355, + "mean_target_power": 0.2708926473589623 + }, + "path": "results/oral_a_v3_calibration/channel_subspace_etaA0.01.json", + "source_commit": "612196a53285b6efc44c0dd84699c7b57a6dc8e1" + }, + { + "calibration_mode": "vectorizer_subspace", + "eta_A": 0.01, + "finite": true, + "metric_space": "vectorizer_parameter_gradients", + "metrics": { + "all_layer_alignment": 0.0625791079364717, + "early_third_alignment": 0.007139206010227402, + "mean_calibration_mse": 0.00019177845804523746, + "mean_parameter_update_rms": 0.010982968905010668, + "mean_prediction_target_cosine": 0.0018218688400943384, + "mean_target_power": 0.00019176158875808158 + }, + "path": "results/oral_a_v3_calibration/vectorizer_subspace_etaA0.01.json", + "source_commit": "612196a53285b6efc44c0dd84699c7b57a6dc8e1" + }, + { + "calibration_mode": "vectorizer_subspace", + "eta_A": 0.1, + "finite": true, + "metric_space": "vectorizer_parameter_gradients", + "metrics": { + "all_layer_alignment": 0.0309489116587333, + "early_third_alignment": 0.004803654310914378, + "mean_calibration_mse": 0.0001923398035258008, + "mean_parameter_update_rms": 0.011050459120615532, + "mean_prediction_target_cosine": 0.0014602501420039524, + "mean_target_power": 0.00019176158875808158 + }, + "path": "results/oral_a_v3_calibration/vectorizer_subspace_etaA0.1.json", + "source_commit": "612196a53285b6efc44c0dd84699c7b57a6dc8e1" + }, + { + "calibration_mode": "vectorizer_subspace", + "eta_A": 1.0, + "finite": true, + "metric_space": "vectorizer_parameter_gradients", + "metrics": { + "all_layer_alignment": 0.006801062087393611, + "early_third_alignment": 0.002233794856389674, + "mean_calibration_mse": 0.00019906028706469792, + "mean_parameter_update_rms": 0.01158272062540019, + "mean_prediction_target_cosine": -0.0001920852658946125, + "mean_target_power": 0.00019176158875808158 + }, + "path": "results/oral_a_v3_calibration/vectorizer_subspace_etaA1.0.json", + "source_commit": "612196a53285b6efc44c0dd84699c7b57a6dc8e1" + } + ], + "score_change_rule": "mechanics/calibration alone cannot raise score", + "selected_v3": { + "calibration_mode": "vectorizer_subspace", + "eta_A": 0.01, + "finite": true, + "metric_space": "vectorizer_parameter_gradients", + "metrics": { + "all_layer_alignment": 0.0625791079364717, + "early_third_alignment": 0.007139206010227402, + "mean_calibration_mse": 0.00019177845804523746, + "mean_parameter_update_rms": 0.010982968905010668, + "mean_prediction_target_cosine": 0.0018218688400943384, + "mean_target_power": 0.00019176158875808158 + }, + "path": "results/oral_a_v3_calibration/vectorizer_subspace_etaA0.01.json", + "source_commit": "612196a53285b6efc44c0dd84699c7b57a6dc8e1" + }, + "status": "failed" +} |
