From 300b3df06dd031f802c458bd4c55778917a04df2 Mon Sep 17 00:00:00 2001 From: hientran-ai Date: Wed, 4 Nov 2026 23:24:41 +0700 Subject: [PATCH 01/13] Record SmolVLA experiments and mentor review snapshot --- .gitattributes | 3 + MENTOR_REVIEW.md | 36 + NOTES_SMOLVLA.md | 444 +++++ PAPER_READING_SMOLVLA_CLP.md | 21 + PART3_OPTIMIZATION.md | 59 + REPORT_SMOLVLA.md | 73 + eval/client/run_sim_client_direct.py | 8 +- research-notes/.gitignore | 8 + .../smolvla-coupled-tail-30.json | 144 ++ .../smolvla-vision-spaced-10.json | 139 ++ .../smolvla-vision-tail-10.json | 139 ++ .../review-20261104/REPORT_HISTORY.md | 212 +++ .../review-20261104/markdown-audit.json | 288 +++ .../baseline-command.json | 15 + .../check_interfaces.py | 75 + .../smolvla-audit-20261104/cli-actions.out | 61 + .../ctest-build-cuda.log | 85 + .../smolvla-audit-20261104/model-sha256.txt | 1 + .../predict-default.out | 1612 ++++++++++++++++ .../smolvla-audit-20261104/run_baseline.py | 24 + .../smolvla-audit-20261104/telemetry-1.jsonl | 8 + .../smolvla-audit-20261104/telemetry-2.jsonl | 8 + .../smolvla-audit-20261104/telemetry-3.jsonl | 7 + .../telemetry-summary.json | 53 + .../smolvla-audit-20261104/vla_pb2.py | 31 + .../ARCHITECTURE_AND_PROFILE.md | 118 ++ .../ablation-summary.json | 16 + .../audit_memory_all.py | 44 + .../audit_part3_memory.py | 44 + .../bench_candidates.py | 32 + .../defaults-0-telemetry.jsonl | 14 + .../defaults-1-telemetry.jsonl | 22 + .../defaults-2-telemetry.jsonl | 15 + .../candidate-bench/runs.json | 812 +++++++++ .../candidate-bench/selected.json | 272 +++ .../smolvla-coupled-tail-30-0-telemetry.jsonl | 9 + .../smolvla-coupled-tail-30-1-telemetry.jsonl | 27 + .../smolvla-coupled-tail-30-2-telemetry.jsonl | 10 + .../smolvla-q4_0-lm-0-telemetry.jsonl | 8 + .../smolvla-q4_0-lm-1-telemetry.jsonl | 9 + .../smolvla-q4_0-lm-2-telemetry.jsonl | 9 + .../smolvla-q4_0-vision-0-telemetry.jsonl | 9 + .../smolvla-q4_0-vision-1-telemetry.jsonl | 7 + .../smolvla-q4_0-vision-2-telemetry.jsonl | 8 + .../smolvla-q5_0-lm-0-telemetry.jsonl | 10 + .../smolvla-q5_0-lm-1-telemetry.jsonl | 10 + .../smolvla-q5_0-lm-2-telemetry.jsonl | 9 + .../smolvla-q5_0-vision-0-telemetry.jsonl | 7 + .../smolvla-q5_0-vision-1-telemetry.jsonl | 9 + .../smolvla-q5_0-vision-2-telemetry.jsonl | 9 + .../smolvla-q8_0-lm-0-telemetry.jsonl | 10 + .../smolvla-q8_0-lm-1-telemetry.jsonl | 14 + .../smolvla-q8_0-lm-2-telemetry.jsonl | 10 + .../smolvla-q8_0-vision-0-telemetry.jsonl | 7 + .../smolvla-q8_0-vision-1-telemetry.jsonl | 11 + .../smolvla-q8_0-vision-2-telemetry.jsonl | 9 + ...smolvla-vision-spaced-10-0-telemetry.jsonl | 11 + ...smolvla-vision-spaced-10-1-telemetry.jsonl | 14 + ...smolvla-vision-spaced-10-2-telemetry.jsonl | 15 + .../smolvla-vision-tail-10-0-telemetry.jsonl | 23 + .../smolvla-vision-tail-10-1-telemetry.jsonl | 23 + .../smolvla-vision-tail-10-2-telemetry.jsonl | 11 + .../candidate-checks/defaults.out | 1612 ++++++++++++++++ .../candidate-checks/flash-mm.out | 1611 ++++++++++++++++ .../smolvla-coupled-tail-30.out | 1612 ++++++++++++++++ .../candidate-checks/smolvla-q4_0-lm.out | 1613 +++++++++++++++++ .../candidate-checks/smolvla-q4_0-vision.out | 1613 +++++++++++++++++ .../candidate-checks/smolvla-q5_0-lm.out | 1613 +++++++++++++++++ .../candidate-checks/smolvla-q5_0-vision.out | 1613 +++++++++++++++++ .../candidate-checks/smolvla-q8_0-lm.out | 1613 +++++++++++++++++ .../candidate-checks/smolvla-q8_0-vision.out | 1613 +++++++++++++++++ .../smolvla-vision-spaced-10.out | 1612 ++++++++++++++++ .../smolvla-vision-tail-10.out | 1612 ++++++++++++++++ .../candidate-checks/summary.json | 214 +++ .../candidate-smokes/flash-mm/commands.json | 34 + .../smolvla/libero_object/task_0/episodes.csv | 3 + .../smolvla/libero_object/task_0/summary.txt | 6 + .../candidate-smokes/progress.json | 5 + .../candidate-smokes/results.json | 146 ++ .../smolvla-coupled-tail-30/commands.json | 31 + .../smolvla/libero_object/task_0/episodes.csv | 3 + .../smolvla/libero_object/task_0/summary.txt | 6 + .../smolvla-q4_0-lm/commands.json | 31 + .../smolvla/libero_object/task_0/episodes.csv | 3 + .../smolvla/libero_object/task_0/summary.txt | 6 + .../smolvla-q4_0-vision/commands.json | 31 + .../smolvla/libero_object/task_0/episodes.csv | 3 + .../smolvla/libero_object/task_0/summary.txt | 6 + .../smolvla-q5_0-lm/commands.json | 31 + .../smolvla/libero_object/task_0/episodes.csv | 3 + .../smolvla/libero_object/task_0/summary.txt | 6 + .../smolvla-q5_0-vision/commands.json | 31 + .../smolvla/libero_object/task_0/episodes.csv | 3 + .../smolvla/libero_object/task_0/summary.txt | 6 + .../smolvla-q8_0-lm/commands.json | 31 + .../smolvla/libero_object/task_0/episodes.csv | 3 + .../smolvla/libero_object/task_0/summary.txt | 6 + .../smolvla-q8_0-vision/commands.json | 31 + .../smolvla/libero_object/task_0/episodes.csv | 3 + .../smolvla/libero_object/task_0/summary.txt | 6 + .../smolvla-vision-spaced-10/commands.json | 31 + .../smolvla/libero_object/task_0/episodes.csv | 3 + .../smolvla/libero_object/task_0/summary.txt | 6 + .../smolvla-vision-tail-10/commands.json | 31 + .../smolvla/libero_object/task_0/episodes.csv | 3 + .../smolvla/libero_object/task_0/summary.txt | 6 + .../check_candidates.py | 29 + .../smolvla-followup-20261104/commands.json | 39 + .../complete_cpu_route.sh | 12 + .../continue_install.py | 19 + .../finish_libero.sh | 36 + .../full_runtime_pair.py | 33 + .../smolvla-followup-20261104/fused-0.out | 1611 ++++++++++++++++ .../fused-1-repeat.out | 1612 ++++++++++++++++ .../smolvla-followup-20261104/fused-1.out | 1612 ++++++++++++++++ .../inspect_smolvla_metadata.py | 26 + .../install_libero_deps.sh | 20 + .../isolate-commands.json | 42 + .../isolate-summary.json | 38 + .../kernel-parser-graph-rejection.log | 2 + .../defaults-workload/result.json | 286 +++ .../defaults.boundaries.json | 547 ++++++ .../kernel-phase-traces/defaults.kernels.csv | 39 + .../kernel-phase-traces/defaults.summary.json | 46 + .../flash-mm-workload/result.json | 286 +++ .../flash-mm-workload/runtime.json | 1 + .../flash-mm.boundaries.json | 547 ++++++ .../kernel-phase-traces/flash-mm.kernels.csv | 37 + .../kernel-phase-traces/flash-mm.summary.json | 46 + .../kernel-phase-traces/runs.json | 110 ++ .../result.json | 286 +++ .../smolvla-coupled-tail-30.boundaries.json | 547 ++++++ .../smolvla-coupled-tail-30.kernels.csv | 39 + .../smolvla-coupled-tail-30.summary.json | 46 + .../result.json | 286 +++ .../smolvla-vision-spaced-10.boundaries.json | 547 ++++++ .../smolvla-vision-spaced-10.kernels.csv | 39 + .../smolvla-vision-spaced-10.summary.json | 46 + .../kernel-traces/commands.json | 42 + .../defaults-workload/result.json | 278 +++ .../kernel-traces/defaults.kernels.csv | 39 + .../kernel-traces/defaults.modules.json | 161 ++ .../kernel-traces/defaults.summary.json | 46 + .../flash-mm-workload/result.json | 278 +++ .../flash-mm-workload/runtime.json | 1 + .../kernel-traces/flash-mm.kernels.csv | 36 + .../kernel-traces/flash-mm.modules.json | 161 ++ .../kernel-traces/flash-mm.summary.json | 46 + .../lerobot-base-deps.txt | 21 + .../libero-config/config.yaml | 7 + .../libero-freeze.txt | 170 ++ .../libero-pip-check.log | 10 + .../memory-all/children.json | 632 +++++++ .../memory-all/command.json | 12 + .../memory-all/summary.json | 327 ++++ .../memory-flash-mm/commands.json | 80 + .../flash-mm-1.allocations.csv | 156 ++ .../flash-mm-2.allocations.csv | 156 ++ .../flash-mm-3.allocations.csv | 156 ++ .../memory-flash-mm/memory-summary.json | 179 ++ .../memory-flash-mm/summarize_memory.py | 85 + .../memory_children.py | 18 + .../memory_flash_mm.py | 16 + .../no-exact-attn.out | 1612 ++++++++++++++++ .../no-exact-both.out | 1612 ++++++++++++++++ .../no-exact-gemm.out | 1612 ++++++++++++++++ .../smolvla/libero_object/task_0/episodes.csv | 21 + .../smolvla/libero_object/task_0/summary.txt | 6 + .../smolvla/libero_object/task_1/episodes.csv | 21 + .../smolvla/libero_object/task_1/summary.txt | 6 + .../smolvla/libero_object/task_2/episodes.csv | 21 + .../smolvla/libero_object/task_2/summary.txt | 6 + .../smolvla/libero_object/task_3/episodes.csv | 21 + .../smolvla/libero_object/task_3/summary.txt | 6 + .../smolvla/libero_object/task_4/episodes.csv | 21 + .../smolvla/libero_object/task_4/summary.txt | 6 + .../smolvla/libero_object/task_5/episodes.csv | 21 + .../smolvla/libero_object/task_5/summary.txt | 6 + .../smolvla/libero_object/task_6/episodes.csv | 21 + .../smolvla/libero_object/task_6/summary.txt | 6 + .../smolvla/libero_object/task_7/episodes.csv | 21 + .../smolvla/libero_object/task_7/summary.txt | 6 + .../smolvla/libero_object/task_8/episodes.csv | 21 + .../smolvla/libero_object/task_8/summary.txt | 6 + .../official200-defaults/progress.json | 290 +++ .../official200-defaults/protocol.json | 36 + .../smolvla/libero_object/task_9/episodes.csv | 21 + .../smolvla/libero_object/task_9/summary.txt | 6 + .../recovery-task9-retry1/progress.json | 289 +++ .../recovery-task9-retry1/protocol.json | 41 + .../recovery-task9-retry1/result.json | 290 +++ .../recovery-task9-retry1/task-9-command.json | 22 + .../recovery-task9/progress.json | 261 +++ .../recovery-task9/protocol.json | 41 + .../recovery-task9/task-9-command.json | 22 + .../official200-defaults/result.json | 290 +++ .../official200-defaults/task-0-command.json | 20 + .../official200-defaults/task-1-command.json | 20 + .../official200-defaults/task-2-command.json | 20 + .../official200-defaults/task-3-command.json | 20 + .../official200-defaults/task-4-command.json | 20 + .../official200-defaults/task-5-command.json | 20 + .../official200-defaults/task-6-command.json | 20 + .../official200-defaults/task-7-command.json | 20 + .../official200-defaults/task-8-command.json | 20 + .../official200-defaults/task-9-command.json | 20 + .../part3-runner.log | 242 +++ .../part3-runtime/latency-runs.json | 782 ++++++++ .../part3-runtime/memory-runs.json | 782 ++++++++ .../part3-runtime/summary.json | 327 ++++ .../part3-runtime/telemetry.jsonl | 120 ++ .../part3_runtime_children.py | 21 + .../phase-suite/defaults-0/result.json | 286 +++ .../phase-suite/defaults-1/result.json | 286 +++ .../phase-suite/defaults-2/result.json | 286 +++ .../phase-suite/flash-mm-0/result.json | 286 +++ .../phase-suite/flash-mm-0/runtime.json | 1 + .../phase-suite/flash-mm-1/result.json | 286 +++ .../phase-suite/flash-mm-1/runtime.json | 1 + .../phase-suite/flash-mm-2/result.json | 286 +++ .../phase-suite/flash-mm-2/runtime.json | 1 + .../phase-suite/runs.json | 812 +++++++++ .../phase-suite/selected.json | 272 +++ .../smolvla-coupled-tail-30-0/result.json | 286 +++ .../smolvla-coupled-tail-30-1/result.json | 286 +++ .../smolvla-coupled-tail-30-2/result.json | 286 +++ .../smolvla-vision-spaced-10-0/result.json | 286 +++ .../smolvla-vision-spaced-10-1/result.json | 286 +++ .../smolvla-vision-spaced-10-2/result.json | 286 +++ .../smolvla-vision-tail-10-0/result.json | 286 +++ .../smolvla-vision-tail-10-1/result.json | 286 +++ .../smolvla-vision-tail-10-2/result.json | 286 +++ .../prepare_quantized.py | 63 + .../profile_phase.py | 60 + .../smolvla-followup-20261104/prune_depth.py | 74 + .../pruning-summary.json | 23 + .../quantization/manifest.json | 161 ++ .../queue_official200.py | 16 + .../recover_official200_task9.py | 65 + .../smolvla-followup-20261104/report_part3.py | 21 + .../run_memory_all.py | 10 + .../run_official200.py | 57 + .../smolvla-followup-20261104/run_part3.sh | 9 + .../run_phase_suite.py | 21 + .../smolvla-followup-20261104/run_screen40.py | 55 + .../run_screen_variants.py | 22 + .../smolvla-followup-20261104/run_smoke.py | 27 + .../run_variant40.py | 59 + .../defaults-0-telemetry.jsonl | 24 + .../defaults-1-telemetry.jsonl | 7 + .../defaults-2-telemetry.jsonl | 7 + .../flash-mm-0-telemetry.jsonl | 8 + .../flash-mm-1-telemetry.jsonl | 6 + .../flash-mm-2-telemetry.jsonl | 5 + .../runtime-full-pair/runs.json | 155 ++ .../runtime-full-pair/selected.json | 54 + .../runtime-screen/bf16-flash.out | 1611 ++++++++++++++++ .../runtime-screen/bf16.out | 1611 ++++++++++++++++ .../runtime-screen/commands.json | 322 ++++ .../runtime-screen/defaults.out | 1612 ++++++++++++++++ .../runtime-screen/f16-flash.out | 1611 ++++++++++++++++ .../runtime-screen/f16.out | 1611 ++++++++++++++++ .../runtime-screen/flash-mm.out | 1611 ++++++++++++++++ .../runtime-screen/flash.out | 1612 ++++++++++++++++ .../runtime-screen/mm-default.out | 1611 ++++++++++++++++ .../runtime-screen/steps-3.out | 1612 ++++++++++++++++ .../runtime-screen/steps-5.out | 1612 ++++++++++++++++ .../runtime-screen/summary.json | 132 ++ .../screen40-artifact-audit.json | 488 +++++ .../smolvla/libero_object/task_0/episodes.csv | 5 + .../smolvla/libero_object/task_0/summary.txt | 6 + .../smolvla/libero_object/task_1/episodes.csv | 5 + .../smolvla/libero_object/task_1/summary.txt | 6 + .../smolvla/libero_object/task_2/episodes.csv | 5 + .../smolvla/libero_object/task_2/summary.txt | 6 + .../smolvla/libero_object/task_3/episodes.csv | 5 + .../smolvla/libero_object/task_3/summary.txt | 6 + .../smolvla/libero_object/task_4/episodes.csv | 5 + .../smolvla/libero_object/task_4/summary.txt | 6 + .../smolvla/libero_object/task_5/episodes.csv | 5 + .../smolvla/libero_object/task_5/summary.txt | 6 + .../smolvla/libero_object/task_6/episodes.csv | 5 + .../smolvla/libero_object/task_6/summary.txt | 6 + .../smolvla/libero_object/task_7/episodes.csv | 5 + .../smolvla/libero_object/task_7/summary.txt | 6 + .../smolvla/libero_object/task_8/episodes.csv | 5 + .../smolvla/libero_object/task_8/summary.txt | 6 + .../smolvla/libero_object/task_9/episodes.csv | 5 + .../smolvla/libero_object/task_9/summary.txt | 6 + .../screen40-defaults/progress.json | 129 ++ .../screen40-defaults/protocol.json | 35 + .../screen40-defaults/result.json | 130 ++ .../screen40-defaults/task-0-command.json | 20 + .../screen40-defaults/task-1-command.json | 20 + .../screen40-defaults/task-2-command.json | 20 + .../screen40-defaults/task-3-command.json | 20 + .../screen40-defaults/task-4-command.json | 20 + .../screen40-defaults/task-5-command.json | 20 + .../screen40-defaults/task-6-command.json | 20 + .../screen40-defaults/task-7-command.json | 20 + .../screen40-defaults/task-8-command.json | 20 + .../screen40-defaults/task-9-command.json | 20 + .../screen40-variants/batch.json | 13 + .../smolvla/libero_object/task_0/episodes.csv | 5 + .../smolvla/libero_object/task_0/summary.txt | 6 + .../smolvla/libero_object/task_1/episodes.csv | 5 + .../smolvla/libero_object/task_1/summary.txt | 6 + .../smolvla/libero_object/task_2/episodes.csv | 5 + .../smolvla/libero_object/task_2/summary.txt | 6 + .../smolvla/libero_object/task_3/episodes.csv | 5 + .../smolvla/libero_object/task_3/summary.txt | 6 + .../smolvla/libero_object/task_4/episodes.csv | 5 + .../smolvla/libero_object/task_4/summary.txt | 6 + .../smolvla/libero_object/task_5/episodes.csv | 5 + .../smolvla/libero_object/task_5/summary.txt | 6 + .../smolvla/libero_object/task_6/episodes.csv | 5 + .../smolvla/libero_object/task_6/summary.txt | 6 + .../smolvla/libero_object/task_7/episodes.csv | 5 + .../smolvla/libero_object/task_7/summary.txt | 6 + .../smolvla/libero_object/task_8/episodes.csv | 5 + .../smolvla/libero_object/task_8/summary.txt | 6 + .../smolvla/libero_object/task_9/episodes.csv | 5 + .../smolvla/libero_object/task_9/summary.txt | 6 + .../screen40-variants/flash-mm/progress.json | 129 ++ .../screen40-variants/flash-mm/protocol.json | 46 + .../screen40-variants/flash-mm/result.json | 130 ++ .../flash-mm/task-0-command.json | 22 + .../flash-mm/task-1-command.json | 22 + .../flash-mm/task-2-command.json | 22 + .../flash-mm/task-3-command.json | 22 + .../flash-mm/task-4-command.json | 22 + .../flash-mm/task-5-command.json | 22 + .../flash-mm/task-6-command.json | 22 + .../flash-mm/task-7-command.json | 22 + .../flash-mm/task-8-command.json | 22 + .../flash-mm/task-9-command.json | 22 + .../smolvla/libero_object/task_0/episodes.csv | 5 + .../smolvla/libero_object/task_0/summary.txt | 6 + .../smolvla/libero_object/task_1/episodes.csv | 5 + .../smolvla/libero_object/task_1/summary.txt | 6 + .../smolvla/libero_object/task_2/episodes.csv | 5 + .../smolvla/libero_object/task_2/summary.txt | 6 + .../smolvla/libero_object/task_3/episodes.csv | 5 + .../smolvla/libero_object/task_3/summary.txt | 6 + .../smolvla/libero_object/task_4/episodes.csv | 5 + .../smolvla/libero_object/task_4/summary.txt | 6 + .../smolvla/libero_object/task_5/episodes.csv | 2 + .../screen40-variants/q8-lm/progress.json | 69 + .../screen40-variants/q8-lm/protocol.json | 39 + .../q8-lm/task-0-command.json | 22 + .../q8-lm/task-1-command.json | 22 + .../q8-lm/task-2-command.json | 22 + .../q8-lm/task-3-command.json | 22 + .../q8-lm/task-4-command.json | 22 + .../q8-lm/task-5-command.json | 22 + .../screen_runtime.py | 20 + .../smoke-original/commands.json | 34 + .../smoke-original/exit.json | 1 + .../smolvla/libero_object/task_0/episodes.csv | 3 + .../smolvla/libero_object/task_0/summary.txt | 6 + .../smoke_candidates.py | 62 + .../smolvla-metadata.json | 39 + .../summarize_graph_modules.py | 33 + .../summarize_kernels.py | 49 + .../summarize_phase_boundaries.py | 65 + .../summarize_runtime.py | 18 + .../trace_kernels.py | 17 + .../trace_phase_modules.py | 19 + .../update_live_report.py | 57 + .../user-on-off-summary.json | 7 + .../verify_libero.py | 35 + .../watch_live_logs.py | 23 + .../watch_memory_job.py | 18 + .../watch_progress.py | 49 + .../smolvla-followup-20261104/watch_report.py | 15 + .../watch_smoke_job.py | 20 + .../baseline-memory-1.allocations.csv | 206 +++ .../baseline-memory-2.allocations.csv | 206 +++ .../baseline-memory-3.allocations.csv | 206 +++ research-notes/smolvla-vram-20261104/gpu.txt | 2 + .../smolvla-vram-20261104/memory-summary.json | 143 ++ .../smolvla-vram-20261104/nvml-processes.txt | 2 + .../profile-commands.json | 71 + .../smolvla-vram-20261104/summarize_memory.py | 85 + 384 files changed, 71444 insertions(+), 1 deletion(-) create mode 100644 .gitattributes create mode 100644 MENTOR_REVIEW.md create mode 100644 NOTES_SMOLVLA.md create mode 100644 PAPER_READING_SMOLVLA_CLP.md create mode 100644 PART3_OPTIMIZATION.md create mode 100644 REPORT_SMOLVLA.md create mode 100644 research-notes/.gitignore create mode 100644 research-notes/generated-models/smolvla-coupled-tail-30.json create mode 100644 research-notes/generated-models/smolvla-vision-spaced-10.json create mode 100644 research-notes/generated-models/smolvla-vision-tail-10.json create mode 100644 research-notes/review-20261104/REPORT_HISTORY.md create mode 100644 research-notes/review-20261104/markdown-audit.json create mode 100644 research-notes/smolvla-audit-20261104/baseline-command.json create mode 100644 research-notes/smolvla-audit-20261104/check_interfaces.py create mode 100644 research-notes/smolvla-audit-20261104/cli-actions.out create mode 100644 research-notes/smolvla-audit-20261104/ctest-build-cuda.log create mode 100644 research-notes/smolvla-audit-20261104/model-sha256.txt create mode 100644 research-notes/smolvla-audit-20261104/predict-default.out create mode 100644 research-notes/smolvla-audit-20261104/run_baseline.py create mode 100644 research-notes/smolvla-audit-20261104/telemetry-1.jsonl create mode 100644 research-notes/smolvla-audit-20261104/telemetry-2.jsonl create mode 100644 research-notes/smolvla-audit-20261104/telemetry-3.jsonl create mode 100644 research-notes/smolvla-audit-20261104/telemetry-summary.json create mode 100644 research-notes/smolvla-audit-20261104/vla_pb2.py create mode 100644 research-notes/smolvla-followup-20261104/ARCHITECTURE_AND_PROFILE.md create mode 100644 research-notes/smolvla-followup-20261104/ablation-summary.json create mode 100644 research-notes/smolvla-followup-20261104/audit_memory_all.py create mode 100644 research-notes/smolvla-followup-20261104/audit_part3_memory.py create mode 100644 research-notes/smolvla-followup-20261104/bench_candidates.py create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/defaults-0-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/defaults-1-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/defaults-2-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/runs.json create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/selected.json create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-coupled-tail-30-0-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-coupled-tail-30-1-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-coupled-tail-30-2-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-lm-0-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-lm-1-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-lm-2-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-vision-0-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-vision-1-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-vision-2-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-lm-0-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-lm-1-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-lm-2-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-vision-0-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-vision-1-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-vision-2-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-lm-0-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-lm-1-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-lm-2-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-vision-0-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-vision-1-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-vision-2-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-spaced-10-0-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-spaced-10-1-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-spaced-10-2-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-tail-10-0-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-tail-10-1-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-tail-10-2-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/candidate-checks/defaults.out create mode 100644 research-notes/smolvla-followup-20261104/candidate-checks/flash-mm.out create mode 100644 research-notes/smolvla-followup-20261104/candidate-checks/smolvla-coupled-tail-30.out create mode 100644 research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q4_0-lm.out create mode 100644 research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q4_0-vision.out create mode 100644 research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q5_0-lm.out create mode 100644 research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q5_0-vision.out create mode 100644 research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q8_0-lm.out create mode 100644 research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q8_0-vision.out create mode 100644 research-notes/smolvla-followup-20261104/candidate-checks/smolvla-vision-spaced-10.out create mode 100644 research-notes/smolvla-followup-20261104/candidate-checks/smolvla-vision-tail-10.out create mode 100644 research-notes/smolvla-followup-20261104/candidate-checks/summary.json create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/flash-mm/commands.json create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/flash-mm/outputs/smolvla/libero_object/task_0/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/flash-mm/outputs/smolvla/libero_object/task_0/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/progress.json create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/results.json create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-coupled-tail-30/commands.json create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-coupled-tail-30/outputs/smolvla/libero_object/task_0/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-coupled-tail-30/outputs/smolvla/libero_object/task_0/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-lm/commands.json create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-lm/outputs/smolvla/libero_object/task_0/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-lm/outputs/smolvla/libero_object/task_0/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-vision/commands.json create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-vision/outputs/smolvla/libero_object/task_0/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-vision/outputs/smolvla/libero_object/task_0/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-lm/commands.json create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-lm/outputs/smolvla/libero_object/task_0/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-lm/outputs/smolvla/libero_object/task_0/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-vision/commands.json create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-vision/outputs/smolvla/libero_object/task_0/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-vision/outputs/smolvla/libero_object/task_0/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-lm/commands.json create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-lm/outputs/smolvla/libero_object/task_0/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-lm/outputs/smolvla/libero_object/task_0/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-vision/commands.json create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-vision/outputs/smolvla/libero_object/task_0/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-vision/outputs/smolvla/libero_object/task_0/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-spaced-10/commands.json create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-spaced-10/outputs/smolvla/libero_object/task_0/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-spaced-10/outputs/smolvla/libero_object/task_0/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-tail-10/commands.json create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-tail-10/outputs/smolvla/libero_object/task_0/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-tail-10/outputs/smolvla/libero_object/task_0/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/check_candidates.py create mode 100644 research-notes/smolvla-followup-20261104/commands.json create mode 100644 research-notes/smolvla-followup-20261104/complete_cpu_route.sh create mode 100644 research-notes/smolvla-followup-20261104/continue_install.py create mode 100644 research-notes/smolvla-followup-20261104/finish_libero.sh create mode 100644 research-notes/smolvla-followup-20261104/full_runtime_pair.py create mode 100644 research-notes/smolvla-followup-20261104/fused-0.out create mode 100644 research-notes/smolvla-followup-20261104/fused-1-repeat.out create mode 100644 research-notes/smolvla-followup-20261104/fused-1.out create mode 100644 research-notes/smolvla-followup-20261104/inspect_smolvla_metadata.py create mode 100644 research-notes/smolvla-followup-20261104/install_libero_deps.sh create mode 100644 research-notes/smolvla-followup-20261104/isolate-commands.json create mode 100644 research-notes/smolvla-followup-20261104/isolate-summary.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-parser-graph-rejection.log create mode 100644 research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults-workload/result.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults.boundaries.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults.kernels.csv create mode 100644 research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults.summary.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm-workload/result.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm-workload/runtime.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm.boundaries.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm.kernels.csv create mode 100644 research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm.summary.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-phase-traces/runs.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30-workload/result.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30.boundaries.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30.kernels.csv create mode 100644 research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30.summary.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10-workload/result.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10.boundaries.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10.kernels.csv create mode 100644 research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10.summary.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-traces/commands.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-traces/defaults-workload/result.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-traces/defaults.kernels.csv create mode 100644 research-notes/smolvla-followup-20261104/kernel-traces/defaults.modules.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-traces/defaults.summary.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-traces/flash-mm-workload/result.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-traces/flash-mm-workload/runtime.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-traces/flash-mm.kernels.csv create mode 100644 research-notes/smolvla-followup-20261104/kernel-traces/flash-mm.modules.json create mode 100644 research-notes/smolvla-followup-20261104/kernel-traces/flash-mm.summary.json create mode 100644 research-notes/smolvla-followup-20261104/lerobot-base-deps.txt create mode 100644 research-notes/smolvla-followup-20261104/libero-config/config.yaml create mode 100644 research-notes/smolvla-followup-20261104/libero-freeze.txt create mode 100644 research-notes/smolvla-followup-20261104/libero-pip-check.log create mode 100644 research-notes/smolvla-followup-20261104/memory-all/children.json create mode 100644 research-notes/smolvla-followup-20261104/memory-all/command.json create mode 100644 research-notes/smolvla-followup-20261104/memory-all/summary.json create mode 100644 research-notes/smolvla-followup-20261104/memory-flash-mm/commands.json create mode 100644 research-notes/smolvla-followup-20261104/memory-flash-mm/flash-mm-1.allocations.csv create mode 100644 research-notes/smolvla-followup-20261104/memory-flash-mm/flash-mm-2.allocations.csv create mode 100644 research-notes/smolvla-followup-20261104/memory-flash-mm/flash-mm-3.allocations.csv create mode 100644 research-notes/smolvla-followup-20261104/memory-flash-mm/memory-summary.json create mode 100644 research-notes/smolvla-followup-20261104/memory-flash-mm/summarize_memory.py create mode 100644 research-notes/smolvla-followup-20261104/memory_children.py create mode 100644 research-notes/smolvla-followup-20261104/memory_flash_mm.py create mode 100644 research-notes/smolvla-followup-20261104/no-exact-attn.out create mode 100644 research-notes/smolvla-followup-20261104/no-exact-both.out create mode 100644 research-notes/smolvla-followup-20261104/no-exact-gemm.out create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_0/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_0/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_1/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_1/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_2/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_2/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_3/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_3/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_4/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_4/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_5/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_5/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_6/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_6/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_7/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_7/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_8/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_8/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/progress.json create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/protocol.json create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/outputs/smolvla/libero_object/task_9/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/outputs/smolvla/libero_object/task_9/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/progress.json create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/protocol.json create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/result.json create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/task-9-command.json create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9/progress.json create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9/protocol.json create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9/task-9-command.json create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/result.json create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/task-0-command.json create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/task-1-command.json create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/task-2-command.json create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/task-3-command.json create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/task-4-command.json create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/task-5-command.json create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/task-6-command.json create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/task-7-command.json create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/task-8-command.json create mode 100644 research-notes/smolvla-followup-20261104/official200-defaults/task-9-command.json create mode 100644 research-notes/smolvla-followup-20261104/part3-runner.log create mode 100644 research-notes/smolvla-followup-20261104/part3-runtime/latency-runs.json create mode 100644 research-notes/smolvla-followup-20261104/part3-runtime/memory-runs.json create mode 100644 research-notes/smolvla-followup-20261104/part3-runtime/summary.json create mode 100644 research-notes/smolvla-followup-20261104/part3-runtime/telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/part3_runtime_children.py create mode 100644 research-notes/smolvla-followup-20261104/phase-suite/defaults-0/result.json create mode 100644 research-notes/smolvla-followup-20261104/phase-suite/defaults-1/result.json create mode 100644 research-notes/smolvla-followup-20261104/phase-suite/defaults-2/result.json create mode 100644 research-notes/smolvla-followup-20261104/phase-suite/flash-mm-0/result.json create mode 100644 research-notes/smolvla-followup-20261104/phase-suite/flash-mm-0/runtime.json create mode 100644 research-notes/smolvla-followup-20261104/phase-suite/flash-mm-1/result.json create mode 100644 research-notes/smolvla-followup-20261104/phase-suite/flash-mm-1/runtime.json create mode 100644 research-notes/smolvla-followup-20261104/phase-suite/flash-mm-2/result.json create mode 100644 research-notes/smolvla-followup-20261104/phase-suite/flash-mm-2/runtime.json create mode 100644 research-notes/smolvla-followup-20261104/phase-suite/runs.json create mode 100644 research-notes/smolvla-followup-20261104/phase-suite/selected.json create mode 100644 research-notes/smolvla-followup-20261104/phase-suite/smolvla-coupled-tail-30-0/result.json create mode 100644 research-notes/smolvla-followup-20261104/phase-suite/smolvla-coupled-tail-30-1/result.json create mode 100644 research-notes/smolvla-followup-20261104/phase-suite/smolvla-coupled-tail-30-2/result.json create mode 100644 research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-spaced-10-0/result.json create mode 100644 research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-spaced-10-1/result.json create mode 100644 research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-spaced-10-2/result.json create mode 100644 research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-tail-10-0/result.json create mode 100644 research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-tail-10-1/result.json create mode 100644 research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-tail-10-2/result.json create mode 100644 research-notes/smolvla-followup-20261104/prepare_quantized.py create mode 100644 research-notes/smolvla-followup-20261104/profile_phase.py create mode 100644 research-notes/smolvla-followup-20261104/prune_depth.py create mode 100644 research-notes/smolvla-followup-20261104/pruning-summary.json create mode 100644 research-notes/smolvla-followup-20261104/quantization/manifest.json create mode 100644 research-notes/smolvla-followup-20261104/queue_official200.py create mode 100644 research-notes/smolvla-followup-20261104/recover_official200_task9.py create mode 100644 research-notes/smolvla-followup-20261104/report_part3.py create mode 100644 research-notes/smolvla-followup-20261104/run_memory_all.py create mode 100644 research-notes/smolvla-followup-20261104/run_official200.py create mode 100644 research-notes/smolvla-followup-20261104/run_part3.sh create mode 100644 research-notes/smolvla-followup-20261104/run_phase_suite.py create mode 100644 research-notes/smolvla-followup-20261104/run_screen40.py create mode 100644 research-notes/smolvla-followup-20261104/run_screen_variants.py create mode 100644 research-notes/smolvla-followup-20261104/run_smoke.py create mode 100644 research-notes/smolvla-followup-20261104/run_variant40.py create mode 100644 research-notes/smolvla-followup-20261104/runtime-full-pair/defaults-0-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/runtime-full-pair/defaults-1-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/runtime-full-pair/defaults-2-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/runtime-full-pair/flash-mm-0-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/runtime-full-pair/flash-mm-1-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/runtime-full-pair/flash-mm-2-telemetry.jsonl create mode 100644 research-notes/smolvla-followup-20261104/runtime-full-pair/runs.json create mode 100644 research-notes/smolvla-followup-20261104/runtime-full-pair/selected.json create mode 100644 research-notes/smolvla-followup-20261104/runtime-screen/bf16-flash.out create mode 100644 research-notes/smolvla-followup-20261104/runtime-screen/bf16.out create mode 100644 research-notes/smolvla-followup-20261104/runtime-screen/commands.json create mode 100644 research-notes/smolvla-followup-20261104/runtime-screen/defaults.out create mode 100644 research-notes/smolvla-followup-20261104/runtime-screen/f16-flash.out create mode 100644 research-notes/smolvla-followup-20261104/runtime-screen/f16.out create mode 100644 research-notes/smolvla-followup-20261104/runtime-screen/flash-mm.out create mode 100644 research-notes/smolvla-followup-20261104/runtime-screen/flash.out create mode 100644 research-notes/smolvla-followup-20261104/runtime-screen/mm-default.out create mode 100644 research-notes/smolvla-followup-20261104/runtime-screen/steps-3.out create mode 100644 research-notes/smolvla-followup-20261104/runtime-screen/steps-5.out create mode 100644 research-notes/smolvla-followup-20261104/runtime-screen/summary.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-artifact-audit.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_0/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_0/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_1/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_1/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_2/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_2/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_3/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_3/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_4/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_4/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_5/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_5/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_6/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_6/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_7/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_7/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_8/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_8/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_9/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_9/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/progress.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/protocol.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/result.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/task-0-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/task-1-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/task-2-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/task-3-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/task-4-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/task-5-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/task-6-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/task-7-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/task-8-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-defaults/task-9-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/batch.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_0/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_0/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_1/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_1/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_2/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_2/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_3/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_3/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_4/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_4/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_5/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_5/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_6/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_6/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_7/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_7/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_8/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_8/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_9/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_9/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/progress.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/protocol.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/result.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-0-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-1-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-2-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-3-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-4-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-5-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-6-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-7-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-8-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-9-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_0/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_0/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_1/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_1/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_2/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_2/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_3/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_3/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_4/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_4/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_5/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/progress.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/protocol.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-0-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-1-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-2-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-3-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-4-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-5-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen_runtime.py create mode 100644 research-notes/smolvla-followup-20261104/smoke-original/commands.json create mode 100644 research-notes/smolvla-followup-20261104/smoke-original/exit.json create mode 100644 research-notes/smolvla-followup-20261104/smoke-original/outputs/smolvla/libero_object/task_0/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/smoke-original/outputs/smolvla/libero_object/task_0/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/smoke_candidates.py create mode 100644 research-notes/smolvla-followup-20261104/smolvla-metadata.json create mode 100644 research-notes/smolvla-followup-20261104/summarize_graph_modules.py create mode 100644 research-notes/smolvla-followup-20261104/summarize_kernels.py create mode 100644 research-notes/smolvla-followup-20261104/summarize_phase_boundaries.py create mode 100644 research-notes/smolvla-followup-20261104/summarize_runtime.py create mode 100644 research-notes/smolvla-followup-20261104/trace_kernels.py create mode 100644 research-notes/smolvla-followup-20261104/trace_phase_modules.py create mode 100644 research-notes/smolvla-followup-20261104/update_live_report.py create mode 100644 research-notes/smolvla-followup-20261104/user-on-off-summary.json create mode 100644 research-notes/smolvla-followup-20261104/verify_libero.py create mode 100644 research-notes/smolvla-followup-20261104/watch_live_logs.py create mode 100644 research-notes/smolvla-followup-20261104/watch_memory_job.py create mode 100644 research-notes/smolvla-followup-20261104/watch_progress.py create mode 100644 research-notes/smolvla-followup-20261104/watch_report.py create mode 100644 research-notes/smolvla-followup-20261104/watch_smoke_job.py create mode 100644 research-notes/smolvla-vram-20261104/baseline-memory-1.allocations.csv create mode 100644 research-notes/smolvla-vram-20261104/baseline-memory-2.allocations.csv create mode 100644 research-notes/smolvla-vram-20261104/baseline-memory-3.allocations.csv create mode 100644 research-notes/smolvla-vram-20261104/gpu.txt create mode 100644 research-notes/smolvla-vram-20261104/memory-summary.json create mode 100644 research-notes/smolvla-vram-20261104/nvml-processes.txt create mode 100644 research-notes/smolvla-vram-20261104/profile-commands.json create mode 100644 research-notes/smolvla-vram-20261104/summarize_memory.py diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..d498744b --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ + +# CSV exports use standard CRLF record endings. +research-notes/**/*.csv whitespace=cr-at-eol diff --git a/MENTOR_REVIEW.md b/MENTOR_REVIEW.md new file mode 100644 index 00000000..137552a3 --- /dev/null +++ b/MENTOR_REVIEW.md @@ -0,0 +1,36 @@ +# Các điểm nhờ mentor review + +Snapshot 04/11/2026 (UTC+07). Tài liệu chính: [REPORT_SMOLVLA.md](REPORT_SMOLVLA.md), [bảng phần3](PART3_OPTIMIZATION.md). + +## Các vấn đề thực nghiệm còn mở + +| Vấn đề | Bằng chứng / giới hạn | Câu hỏi review | +|---|---|---| +| Hai CUDA tests fail | ctest-build-cuda.log: foldquant_cuda_op, fused_cuda_ops; 13/15pass | Có cần sửa/đổi baseline trước khi dùng SR để kết luận không? | +| Fused/unfused lệch | maxabs0,000545874 trên harness cố định; chưa xác định nguyên nhân | Mức kiểm tra numerics nào cần thêm? | +| VRAM trên WSL | NVML process N/A; trace ledger peak không bao hết driver/context | Có chấp nhận báo peak traced allocation cùng giới hạn không? | +| Noise | Seed42 cho môi trường, server random RNG | Có cần repeated seeds hoặc protocol fixed noise riêng cho final? | +| Batch latency | Control khác nhau112,0 /113,9 /104,0ms theo batch; không gộp | Có cần final rerun trong điều kiện nguồn/nhiệt chặt hơn? | +| Synthetic output | Input6token,50×7real action; benchmark16token | Nên thêm calibration/real observation output checks nào? | +| LIBERO recovery | Task9 official rerun20episode; toàn bộ phần dở bị loại | Policy recovery này có phù hợp không? | +| Dependencies | Bảy metadata conflicts; client import/render/rollout thành công | Có yêu cầu môi trường lock sạch để tái lập không? | +| Pruning | Tail/spaced; cả3smoke0/2; chưa CKA/finetune | Chọn calibration, bảo toàn parity SA/CA và coupling VLM/expert thế nào? | +| Profile | GPU active khác wall; denoise gồm crossKV; vision gồm connector | Cần thêm instrumentation để tách action expert/connector không? | + +## Rà soát Markdown + +Đã đọc các tài liệu thực nghiệm và kiểm tra link file cục bộ trên56Markdown của repo/tài liệu mới. Đây không phải xác minh mọi thông số benchmark upstream trên mọi phần cứng. Kết quả máy đọc: research-notes/review-20261104/markdown-audit.json. + +- Đã thay report tổng bị cũ bằng snapshot hiện trạng; bản cũ giữ ở REPORT_HISTORY.md và gắn nhãn archive. +- Đã sửa tài liệu kiến trúc đang ghi chưa có profile/pruning, bổ sung số đo và giới hạn attribution. +- NOTES_SMOLVLA.md là nhật ký lịch sử: các đoạn chưa chạy/đang cài cũ không phải hiện trạng. +- PART3_OPTIMIZATION.md phân biệt batch, input benchmark và input output-check, cũng như allocation với resident VRAM. +- docs/backend/cuda.md mô tả fast path bit-exact; kết quả tại máy này chưa xác nhận được do test fail và fused/unfused khác. Không tự sửa claim upstream thành kết luận chung chỉ từ một máy. +- docs/EVAL.md trỏ tới thư mục SimplerEnv chưa cài tại máy; eval/README.md trỏ eval/reports chưa có. Đây là đường dẫn tùy môi trường, không thuộc kết quả LIBERO hiện tại. +- Chưa kiểm tra tự động mọi anchor/URL ngoài mạng hoặc render Mermaid bằng trình duyệt. + +## Những gì đưa lên GitHub + +Scripts và dữ liệu nhỏ (JSON/CSV/log cần thiết/output checks), report và bằng chứng lỗi. Không đưa GGUF, wheel, venv, video hoặc nsys/sqlite lớn lên Git. Đường dẫn tuyệt đối trong command/protocol là provenance máy đo; khi tái lập phải thay root/model/config theo máy mới. + +Screening đang chạy: dữ liệu commit là snapshot, chưa phải kết quả cuối. Không chạy official biến thể cho đến khi tổng hợp screening và chọn ứng viên. diff --git a/NOTES_SMOLVLA.md b/NOTES_SMOLVLA.md new file mode 100644 index 00000000..2971c288 --- /dev/null +++ b/NOTES_SMOLVLA.md @@ -0,0 +1,444 @@ +# SmolVLA — nhật ký thực nghiệm + +Ngày: 2026-11-04 (UTC+07). Chặng này: kiểm kê, xác minh toolchain/inference và baseline latency. Không commit/push; không sửa source hoặc nới tiêu chuẩn test. + +## Checklist 6 yêu cầu (trạng thái thực tế) + +| Mục | Trạng thái | Bằng chứng / phần thiếu | +|---|---|---| +| 1. Cài đặt và chạy thử | Đã build và chạy đủ 5 công cụ; chưa đạt toàn bộ test | Incremental build exit 0; ctest 13/15; CLI CUDA trả action; binding và server khớp bit với predict_check. Hai test fail cần khoanh vùng tiếp. | +| 2. Baseline | Đã đo latency và peak allocation CUDA riêng process bằng nsys; NVML resident VRAM vẫn N/A | Latency theo protocol gốc; memory tracing riêng đủ 3 process: peak 1912.47 MiB (Device + Device Static, không bao hết context/driver). Xem bổ sung bên dưới. | +| 3. Runtime flags / quantization | Chưa đo | Đã đọc USAGE.md, cuda.md, MODELS.md. Chưa tạo GGUF mới; chưa có bảng so sánh. | +| 4. LIBERO SR | Chưa sẵn sàng | Python yêu cầu không tồn tại, uv không có trên PATH; LIBERO chỉ có .git và HEAD chưa resolve. Chưa có episode hoặc SR. | +| 5. Architecture / profile | Mới kiểm tra timing source và công cụ | nsys 2026.1.3 đã dùng trace CUDA memory; chưa đọc paper, chưa đo phase hoặc phân tích GEMM/attention/GPU idle. Phase thay đổi cách dựng graph, cần đo riêng baseline throughput. | +| 6. Pruning | Chưa thực hiện | Chưa đọc paper/chọn phương pháp/implement, chưa có speedup module. | + +## Nguyên văn mentor + +         Model: SmolVLA, bản vrfai/smolvla-libero-gguf  +1. Cài đặt và chạy thử. Build vla.cpp có CUDA qua WSL2 theo docs/backend/wsl.md, tự chọn CUDA architecture cho RTX 3060 Laptop và bật build test. Sau đó chạy thử test, CLI, server, Python binding và vla_predict_check để hiểu mỗi công cụ dùng làm gì. +2. Baseline. Đo latency (p50/p90) và VRAM đỉnh bằng vla-bench theo protocol và cấu hình input cho SmolVLA trong docs/benchmark/ (tham khảo rtx-3060.md). Ghi rõ điều kiện đo vì laptop dễ bị throttle. +3. Tối ưu không cần train. Thử các runtime flag trong docs/USAGE.md và docs/backend/cuda.md (attention, dtype, số bước denoise, …). Quantize theo docs/MODELS.md ở nhiều mức, có và không quantize vision tower. Mỗi cấu hình ghi kích thước file, VRAM, latency và độ lệch output so với bản gốc. +4. Đo SR trên LIBERO. Cài theo mục "End-to-end evaluation (LIBERO client on WSL)" trong docs/backend/wsl.md.  +Mức +Episode +Dùng cho +Smoke test +1 task × 2 +Mỗi lần đổi GGUF +Sàng lọc +10 task × 4 = 40 +Cấu hình flag, quantize, pruning +Chính thức +10 task × 20 = 200 +Bản gốc và tối đa 3 cấu hình tốt nhất +5. Profile. Mô tả hoặc vẽ lại kiến trúc SmolVLA (vision, connector, VLM, action expert, vòng denoise) từ paper và src/models/smolvla.cpp. Đo latency từng thành phần bằng cơ chế timing theo phase của repo và ghi rõ nó đo gì, giới hạn gì. Với bản gốc và bản tốt nhất, dùng nsys để xem thời gian nằm ở GEMM, attention hay phần khác, GPU có bị trống giữa các kernel không, và ghi lại hạn chế của nsys trên WSL2. +6. Bạn tự tìm hiểu các phương pháp pruning phù hợp với SmolVLA, chọn và implement lại một vài phương pháp để đánh giá. Nếu cần định dạng checkpoint safetenssors có thể tham khảo HuggingFaceVLA/smolvla_libero.  Dùng vla-bench và nsys để kiểm tra latency của từng module (vision, VLM, action expert) có giảm thật không. +1 số Paper tham khảo: [SmolVLA (arXiv 2506.01844)](https://arxiv.org/abs/2506.01844 "https://arxiv.org/abs/2506.01844"), [CLP: Finetuning VLA Models Requires Fewer Layers Than You Think (arXiv 2606.20246)](https://arxiv.org/html/2606.20246v1 "https://arxiv.org/html/2606.20246v1"). + + +## Kiểm kê và bằng chứng + +- Repo: `/home/doris/projects/vla.cpp`, Linux WSL2, không nằm trên /mnt/c. Git ban đầu sạch. +- HEAD: `4a542ed3bfb8f330388aceb8926294a951156172`. +- origin: https://github.com/hientran-ai/vla.cpp.git; upstream: https://github.com/VinRobotics/vla.cpp.git. +- Không có AGENTS.md áp dụng tại gốc; các AGENTS.md tìm thấy thuộc dependency llama-src, không chỉnh sửa dependency. +- `build-cuda` và `build-cuda-no-fma`: Release, GGML_CUDA=ON, CMAKE_CUDA_ARCHITECTURES=86, VLA_BUILD_TESTS=ON, GGML_CUDA_GRAPHS=ON. Architecture 86 khớp compute capability 8.6 trong banner GPU thực tế. `BUILD_TESTING` không phải cờ test chính của VLA. +- `build-cuda-no-fma` thêm CMAKE_CUDA_FLAGS=-fmad=false; không coi tên thư mục là bằng chứng đã sửa lỗi. +- GPU ngoài sandbox: NVIDIA GeForce RTX 3060 Laptop GPU, 6144 MiB, driver 610.62. nvcc 13.3.73. nsys 2026.1.3.425. +- Trong sandbox: NVML báo GPU access blocked, /dev/dxg và /dev/dri không thấy. Truy vấn ngoài sandbox thành công: đây là giới hạn môi trường chạy lệnh, không kết luận driver WSL hỏng. Lệnh CUDA sau đó chạy ngoài sandbox. +- Model cache: `/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf`, 1,126,360,736 bytes. SHA256: `6fb2d475c98b4c2cef3e27c4eff4e67b483740cbf983fff320a3b8a5e5f74fe8`. Không dùng số 532 MB từ ví dụ docs làm kích thước file hiện tại. +- Log/model tìm ở repo (bao gồm build bị gitignore), research-notes và /home/doris sâu tối đa 5 cấp; chưa tìm thấy log server cũ riêng. Không khẳng định không tồn tại nơi khác. + +## Lệnh đã chạy và ý nghĩa + +Chạy từ gốc repo. Log nằm ở `research-notes/smolvla-audit-20261104/`. + +```bash +pwd +git status --short +git rev-parse HEAD +git remote -v +nvidia-smi --query-gpu=name,memory.total,driver_version --format=csv +nvcc --version +nsys --version +cmake --build build-cuda -j2 +ctest --test-dir build-cuda --output-on-failure +VLA_IMG_SIZE=512 ./build-cuda/tests/vla_predict_check /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf '' 2 +./build-cuda/vla-cli --ckpt /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf --image assets/front.jpg --image assets/front.jpg --tokens 1,100,200,300,400,2 --pretty +.venv/bin/python research-notes/smolvla-audit-20261104/check_interfaces.py +.venv/bin/python research-notes/smolvla-audit-20261104/run_baseline.py +``` + +- Build: `build.log`: `ninja: no work to do.` exit 0. Đây là xác minh build hiện có cập nhật, chưa phải clean rebuild. +- Test: `ctest-build-cuda.log`: 13/15 đạt, 21.76 s. `foldquant_cuda_op` và `fused_cuda_ops` fail. Các test CUDA thực sự thấy GPU; không dựa vào skip do thiếu GPU. +- Lỗi FoldQuant mới: w8a8_rot64_bias K=128 N=64 T=5, y[5] = -3.4419589 vs CPU -3.44195867. Test dùng memcmp bit-exact. Sai khác nhỏ vẫn là fail đúng hợp đồng test. fused_cuda_ops cũng so từng bit. Chưa kết luận nguyên nhân hoặc tác động lên SR. +- Log cũ được giữ nguyên trong `previous-build-cuda-LastTest.log`, `previous-build-cuda-no-fma-LastTest.log` trước khi ctest ghi đè. Build no-fma cũ có cùng lỗi FoldQuant và nhiều lỗi fused. Không chạy lại toàn bộ build no-fma trong chặng này. +- CLI (`cli.log`, `cli-actions.out`): one-shot, hai lần dùng front.jpg và token synthetic; trả 50 hàng, 32 cột, backend CUDA. Không xác minh tokenizer với instruction tự nhiên; không so CLI với harness vì input/noise khác. +- predict_check (`predict-default.log`, `predict-default.out`): ảnh pattern cố định 2×512², 6 tokens, state/noise cố định; real_state=8, max_state=32, real_action=7, max_action=32, chunk=50, steps=10; action_len=1600. Output có banner trước action_len, parser cần bỏ banner. +- Binding (`interfaces.log`, `binding-actions.npy`): C ABI dùng libvla.so hiện có; predict trả (50,32), hữu hạn; so với predict_check max_abs=0, bit_equal=True. +- Server (`server.log`, `server-actions.npy`): bind loopback tcp://127.0.0.1:15555, warmup=0; nhận request protobuf RGB_U8, cùng token/state/noise; trả (50,32), hữu hạn, max_abs=0 và bit_equal=True so binding. Script tự terminate server trong finally. +- Token synthetic chỉ kiểm tra kỹ thuật inference; không chứng minh hiểu instruction hoặc task success. So bit các giao diện cũng không xác nhận mọi kernel đúng. + +## Baseline latency đã đo + +Theo docs/benchmark/rtx-3060.md: engine predict(), không transport/simulator. Defaults, 2 ảnh 512×512, 16 language tokens, chunk=50, padded action dim=32 (real=7), denoise=10, 3 warmup + 20 reps, 3 process chạy tuần tự, gap mặc định 0. Không chạy CLI/server/test đồng thời trong thời gian baseline. Chính script vla-bench sinh synthetic input theo source; không dùng input 6 tokens của predict_check để tính baseline. + +| Process | min ms | mean ms | p50 ms | p90 ms | vision ms | +|---|---:|---:|---:|---:|---:| +| 1 (mean thấp nhất, được chọn) | 111.0 | 112.0 | 111.8 | 112.8 | 55.4 | +| 2 | 112.5 | 113.6 | 113.6 | 114.6 | 55.6 | +| 3 | 113.1 | 114.7 | 114.8 | 115.4 | 56.1 | + +Đây là số in làm tròn từ vla-bench; không có raw latency từng rep. Raw log: baseline-{1,2,3}.log; command đầy đủ baseline-command.json; runner exit 0 cả ba process. Không lấy bảng desktop RTX 3060 12GB trong docs làm số đo laptop này. + +VRAM process theo NVML: **chưa đo được** (bổ sung nsys allocation bên dưới). `nvidia-smi --query-compute-apps=pid,process_name,used_gpu_memory` trả N/A (kể cả process benchmark). VRAM toàn GPU sampled peak = 3944 MiB cả ba process, chỉ tham khảo, có cả phần khác/Windows; không phải peak riêng vla-bench. Sampling ngủ 0.5 s sau hai truy vấn NVML nên chu kỳ thực tế lớn hơn 0.5 s; có thể bỏ lỡ peak ngắn. Không dùng weight_buf hoặc after weights alloc làm peak inference. Cần cơ chế đo tương đương hoặc thống nhất cách báo hạn chế trước khi coi mục VRAM hoàn tất. + +Điều kiện người dùng xác nhận: cắm sạc, chế độ bình thường, không tản nhiệt ngoài. Chưa xác nhận ứng dụng GPU khác, nhiệt độ phòng và vị trí kê máy. Telemetry JSONL có timestamp epoch, GPU và danh sách process, không lọc mất giá trị N/A. Toàn khoảng sampled: 47–62°C, SM 210–2017 MHz, power 10.02–112.83 W (bao gồm load/idle); power limit N/A. Không suy ra không throttle chỉ từ nhiệt độ. Mean tăng nhẹ qua ba lượt, chưa đủ để kết luận nguyên nhân. + +## Khoanh vùng, giả thuyết và phần chưa đo + +Sự thật: lỗi bit-exact tái hiện ở build-cuda; log cũ no-fma cũng fail. Lỗi FoldQuant nằm trong custom quantization kernel test; chưa có bằng chứng nó gây sai model GGUF thường đang chạy. Fused tests liên quan nhiều phép toán, chưa được phép bỏ qua. + +Giả thuyết cần kiểm tra: khác thứ tự tích lũy/rounding hoặc toolchain có thể liên quan sai khác số; **chưa chứng minh**. Không sửa flags/test tolerance hoặc default runtime để che fail. Bước khoanh vùng tiếp: so predict_check cùng input/noise với VLA_FUSED_OPS=0, lưu max_abs/RMSE và kiểm tra kernel cụ thể; ghi đây là ablation, giữ baseline defaults. + +LIBERO: eval/sim/libero/libero_uv/.venv/bin/python không tồn tại; uv không trên PATH; eval/sim/libero/LIBERO có .git nhưng HEAD chưa resolve, chưa phải checkout dùng được. Setup script repo tạo Python 3.10 venv và có rm -rf venv cùng ~/.libero; chưa chạy script trong chặng kiểm kê. Môi trường chính .venv là Python 3.14, không dùng thay venv LIBERO mà chưa kiểm tra tương thích. Smoke đúng yêu cầu: 1 task × 2 episodes cho mỗi GGUF; screening 10×4; official 10×20, bản gốc và tối đa 3 cấu hình. Chưa có SR. + +Timing theo phase: source src/models/smolvla.cpp đo vision gồm preprocessing/vision graph/connector và tensor readback; phase tách prefill graph với denoise graph, copy KV ở giữa. Phase dùng in.n_lang thay cfg.n_lang và dựng graph riêng; tổng các phase không tự bao hết mọi overhead. Không coi số phase là pure kernel time hoặc mặc nhiên bằng default latency. Chưa chạy phase hoặc phân tích kernel bằng nsys nên chưa có số đo thành phần; trace nsys memory được bổ sung ở phần dưới. + +Runtime/quantization kế tiếp: screen defaults, flash-attn, mm-prec default, kết hợp, weight bf16/f16 ± flash; 2 warmup+5 reps, cấu hình thắng >3% rồi đo full. Denoise ít bước cần SR riêng. Quant Q8_0/Q5_0/Q4_0, mỗi mức có/không --vision, giữ action expert float theo MODELS.md; chưa tạo các file hoặc giả định cải thiện. Pruning cần đọc paper và chốt phương pháp/calibration/protocol trước khi implement. + +## Mình cần hiểu + +1. Build cache CUDA không chứng minh GPU truy cập được; cần banner GPU thật. Vì sao binary CUDA có thể vẫn không chạy GPU trong một terminal khác? +2. ctest, CLI, server, binding và predict_check kiểm tra các hợp đồng khác nhau. Vì sao khớp bit giữa các giao diện chưa chứng minh success rate? +3. p50/p90 baseline là engine latency trên synthetic input. Vì sao không dùng VRAM toàn GPU làm peak process hoặc dùng số baseline để suy ra SR? + + +## Bổ sung: peak bộ nhớ CUDA riêng process bằng nsys (2026-11-04) + +Yêu cầu tiếp theo: xử lý phần thiếu peak VRAM do WSL trả N/A. Không đổi GGUF, binary hoặc runtime flags, không sửa source. Kết quả **đo được chỉ số thay thế** sau; không coi nó tương đương số resident VRAM theo process mà docs/benchmark/rtx-3060.md lấy từ NVML. + +| Lượt nsys riêng | Peak traced CUDA allocation (MiB) | Bytes | Check ledger | +|---|---:|---:|---| +| 1 | 1912.469456 | 2005369572 | Không free thiếu allocation, không live âm | +| 2 | 1912.469456 | 2005369572 | Không free thiếu allocation, không live âm | +| 3 | 1912.469456 | 2005369572 | Không free thiếu allocation, không live âm | +| **Peak qua 3 process** | **1912.47 MiB** | **2005369572** | Không thấy diagnostic mất/drop event | + +### Định nghĩa phép đo và giới hạn + +- Nsight Systems 2026.1.3 bật CUDA memory tracing, scope process-tree mặc định; dữ liệu thực tế chỉ có một globalPid và device 0 mỗi lượt. Không lấy bộ nhớ của process khác hoặc trừ hai số toàn GPU để ước lượng. +- Export SQLite `CUDA_GPU_MEMORY_USAGE_EVENTS`; dùng enum từ chính report. Lọc `Device` và `Device Static`, tăng số live bytes ở Allocation, giảm ở Deallocation, lấy high-water mark theo thời gian cho từng process/device. Không cộng host/pinned RAM, memcpy bytes hoặc virtual address reservation. +- Đã đối chiếu VMM: report có 2 sự kiện allocation 2 MiB tương quan `cuMemSetAccess`, và 2 deallocation tương quan `cuMemUnmap`. Không cộng thêm cuMemCreate/cuMemMap để tránh đếm trùng. Số event và VMM chi tiết nằm trong memory-summary.json; ledger từng event nằm trong *.allocations.csv. +- Đây là **peak các CUDA allocation được trace**, không phải tổng resident VRAM của process. Chi phí CUDA context, driver/kernel code và cấp phát nội bộ không được xuất thành event có thể chưa bao gồm. Không gọi đây là số NVML hoặc dùng nó so trực tiếp với peak VRAM desktop trong docs mà không chú thích. +- Kết thúc trace còn 70,681,904 bytes allocation chưa có free (gồm Device + Device Static). Không suy ra memory leak: một số lifetime kết thúc khi process/context bị hủy. Script không ép tổng về zero hoặc bỏ các allocation này. +- Help cài đặt tại máy xác nhận --cuda-memory-usage có thể gây significant runtime overhead. Vì vậy giữ nguyên baseline latency **p50 111.8 ms, p90 112.8 ms** đã đo không profiler; không thay bằng latency dưới nsys. +- Ba process profiled vẫn dùng 2 ảnh 512×512, 16 tokens, 10 steps, 3 warmup + 20 reps; peak tính cả load/warmup/inference/cleanup, không chỉ reps. Latency dưới tracing chỉ để đối chiếu: p50/p90 lần lượt 114.1/114.7, 113.5/114.8, 113.3/114.4 ms. +- Diagnostic nsys có cảnh báo không trace được Unified Memory do thiết bị không hỗ trợ peer-to-peer; không có Managed/Managed Static allocation trong tập memory event đã xuất. Không bật Unified Memory để né giới hạn này. +- Điều kiện laptop ở lần baseline trước người dùng xác nhận cắm sạc/chế độ bình thường/không tản nhiệt ngoài; chưa xác nhận lại ở thời điểm tracing. Đây là lượt đo memory riêng, không dùng để kết luận latency/throttle. +- Truy vấn NVML cuối lượt vẫn cho process memory N/A (raw nvml-processes.txt). Phần **resident VRAM riêng process đúng phương pháp NVML** vẫn là giới hạn WSL, đã có peak allocation riêng process để báo cáo minh bạch. + +### Lệnh tái hiện + +Chạy từ gốc repo, với GPU được truy cập ngoài sandbox. Dùng tên output mới nếu report đã tồn tại; nsys không ghi đè mặc định. + +```bash +nsys profile --trace=cuda --cuda-memory-usage=true --cuda-trace-all-apis=true \ + --sample=none --cpuctxsw=none \ + --output=research-notes/smolvla-vram-20261104/baseline-memory-1 \ + ./build-cuda/vla-bench \ + --ckpt /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf \ + --images 2 --size 512 --tokens 16 --warmup 3 --reps 20 +nsys export --type sqlite \ + --output research-notes/smolvla-vram-20261104/baseline-memory-1.sqlite \ + research-notes/smolvla-vram-20261104/baseline-memory-1.nsys-rep +# Lặp với output baseline-memory-2 và baseline-memory-3, tuần tự. +python3 research-notes/smolvla-vram-20261104/summarize_memory.py +``` + +Lưu kết quả ở `research-notes/smolvla-vram-20261104/`: profile-{1,2,3}.log, *.nsys-rep, *.sqlite, *.allocations.csv, memory-summary.json, profile-commands.json, GPU/NVML evidence. Script kiểm tra unique allocation address còn live, free khớp size/address, live không âm, một process/device, và diagnostic lost/drop trước khi báo kết quả. Không tự xóa report thô. + +**Mình cần hiểu:** p50/p90 mô tả thời gian; peak allocation mô tả số byte CUDA cấp phát đồng thời cao nhất. CUDA context/driver có thể dùng thêm VRAM ngoài các allocation này. Câu hỏi tự giải thích: vì sao 1912.47 MiB allocation riêng benchmark không mâu thuẫn với 3944 MiB toàn GPU đã thấy trước đó? + + +## Báo cáo hiện trạng + +Đã tổng hợp báo cáo ngày 2026-11-04 tại [REPORT_SMOLVLA.md](REPORT_SMOLVLA.md), đối chiếu log baseline, ctest, interfaces và memory-summary.json. Lần lập báo cáo không chạy lại benchmark. Chặng 1 còn hai test fail; chặng 2 có latency và peak allocation CUDA với giới hạn NVML; chặng 3–6 chưa có kết quả đánh giá tương ứng. + + +## Tiếp tục thực nghiệm và cài LIBERO (04/11/2026) + +### Khoanh vùng sai khác CUDA đã đo + +Raw artifacts: `research-notes/smolvla-followup-20261104/`. + +- predict_check 2 ảnh 512², 6 token, state/noise cố định: hai lần default khớp bit hoàn toàn. +- `VLA_FUSED_OPS=0` so default: 350/1600 phần tử khác bit; max_abs=0.0005458742380142212, RMSE=0.00010049711168250623. Các giá trị hữu hạn. Không suy ra SR hoặc coi là bit-exact. +- `VLA_GEMM_EXACT=0` so default: không khác bit trên input này. +- `VLA_ATTN_EXACT=0`, có/không thêm `VLA_GEMM_EXACT=0`: khác default 350 phần tử, max_abs=0.0011349022388458252; vẫn khác unfused. Đây là ablation, chưa chứng minh kernel cụ thể gây lỗi. +- `VLA_FQ_GEMM=wmma` chạy test FoldQuant vẫn fail đúng giá trị đầu tiên như MMA mặc định. Cả target FoldQuant trong build mặc định đã có `-fmad=false` theo build.ninja; chưa kết luận thêm cờ này sẽ sửa lỗi. +- Chưa sửa source/test tolerance hoặc thay baseline. So action là phép kiểm kỹ thuật, không phải success rate. + +### Cài LIBERO — trạng thái đang thực hiện + +Kiểm tra mới: LIBERO checkout đã resolve HEAD `8f1084e3132a39270c3a13ebe37270a43ece2a01`, venv Python 3.10.22 đã tồn tại. Đây là trạng thái mới so với lần kiểm kê đầu. + +Đã cài uv 0.13.7 vào `research-notes/tools/uv`. Lệnh thử tạo venv mới báo existing venv; giữ lại và dùng venv hiện có. Không rm venv hoặc ~/.libero. + +Đã dừng hai installer trùng (PID 41453 mới, 33186 cũ) trong lượt trước; quyết định dừng tiến trình cũ là quá sớm khi chưa kiểm tra kỹ cache/trạng thái và người dùng yêu cầu tiếp tục cài. Đã nhận lỗi và khởi chạy lại requirements với log verbose, sau đó tiếp nối các bước setup đúng repo. Cache cũ ~/.cache/uv còn khoảng 5.5 GiB; cache lượt resume là ~/.cache/uv-vla. Không xóa cache đã tải. Không khẳng định cài xong khi chỉ mới download/build. + +Log cài: `libero-resume.log`; script tiếp nối: `continue_install.py`, `finish_libero.sh`; script xác minh import/reset/render: `verify_libero.py`. Kết quả kiểm tra cuối được ghi bổ sung khi cài xong. + +Sàng lọc runtime đã chạy trước yêu cầu ưu tiên cài: 10 cấu hình, mỗi cấu hình 2 warmup + 5 reps, cùng benchmark input 2×512²/16 tokens; output comparison dùng predict_check với input/noise cố định riêng. Raw log và summary.json nằm trong `runtime-screen/`. Chưa full re-run, chưa đo memory từng cấu hình hoặc SR, chưa chọn cấu hình tốt nhất. Hiện ưu tiên hoàn tất LIBERO. + + +### Tiếp tục cài bằng PyTorch CPU (người dùng đã chọn) + +Người dùng xác nhận “Chuyển ngay sang PyTorch CPU cần dùng”. Cài `torch==2.5.1+cpu`, `torchvision==0.20.1+cpu` cho client; C++ vla-server CUDA không đổi. Đây là biến thể CPU của môi trường client so với lệnh PyPI mặc định trong docs, không báo torch.cuda.is_available=False là lỗi CUDA của server. + +Đã tải wheel CPU từ index chính thức PyTorch. Lượt pip đầu timeout ở 62.4/174.7 MB; lượt sau tăng timeout lên 600 giây và bật --resume-retries 10 đã tải thành công hai wheel. Raw log: download-cpu-wheels-retry.log. Hai partial GPU trung gian không dùng được giữ bằng hardlink trong research-notes/tools/preserved-gpu-partials trước khi dừng installer mới PID 42602 và script chờ PID 43400. Cache hoàn tất ~/.cache/uv-vla và cache cũ ~/.cache/uv không bị xóa. + +Pipeline mới `complete_cpu_route.sh`: cài wheel CPU -> requirements LIBERO từ cache -> editable LIBERO -> phần còn lại trong finish_libero.sh. Cài LeRobot 0.4.3 --no-deps rồi cài danh sách base dependency từ metadata chính thức, loại torch/torchvision để giữ phiên bản CPU đã chọn và tránh bản trung gian. Các pin cuối của repo vẫn được áp dụng sau đó. Có kiểm tra dependency (`uv pip check`), import client/adapters và reset/render, không coi package install success là đủ. + +Tại lần tiếp tục sau khi người dùng xem log test fail: PyTorch CPU, requirements LIBERO, editable LIBERO và LeRobot đã cài; bộ cài đang bổ sung base dependency LeRobot. Log chính: complete-cpu-route.log. Chưa có kết quả reset/render hoặc SR tại thời điểm ghi này. + + +### Xác minh cài LIBERO đã đạt + +`complete_cpu_route.sh` exit 0; `libero-verify.log` kết thúc bằng `LIBERO_INSTALL_AND_RENDER_OK`. Versions thực tế: Python 3.10.22; torch 2.5.1+cpu; torchvision 0.20.1+cpu; transformers 4.51.3; numpy 1.26.4; mujoco 2.3.2; robosuite 1.4.0; lerobot 0.4.3; gymnasium 0.29.1; pyarrow 12.0.1. Freeze lưu trong libero-freeze.txt. + +Đã import client/adapters của repo; load suite libero_object có 10 task; reset task 0; render hai camera agentview/eye_in_hand đều (128,128,3); step dummy action thành công. Đây là xác minh cài đặt, không phải episode hoặc SR. LIBERO_CONFIG_PATH trỏ config riêng trong research-notes, không xóa/ghi đè ~/.libero. + +`uv pip check` còn 7 incompatibilities từ các pin repo: pettingzoo và lerobot yêu cầu Gymnasium mới hơn; datasets yêu cầu PyArrow >=21; OpenCV headless 4.12 yêu cầu NumPy >=2; LeRobot yêu cầu TorchVision >=0.21; rerun-sdk yêu cầu NumPy >=2 và PyArrow >=18. Giữ raw libero-pip-check.log, không báo môi trường metadata sạch. Các module client/adapters và reset/render đã chạy thực tế với bộ pin này; chưa chứng minh mọi tính năng phụ (video dataset, rerun, PettingZoo) hoạt động. + +### Smoke end-to-end đang chạy + +Script run_smoke.py dùng server build-cuda, bind loopback 15556, GGUF gốc/defaults; client CPU, MUJOCO_GL=egl, seed42, libero_object/task0, n_episodes=2, n_action_steps=1. Lệnh/env trong smoke-original/commands.json; log server/client lưu cùng thư mục, video/summary trong smoke-original/outputs. Phân loại smoke, không dùng làm screening hay official SR. + +Phát hiện mới trong startup server: warmup synthetic mặc định dùng ảnh 224², SmolVLA yêu cầu 512² nên log warmup predict failed; server vẫn ready. Chưa sửa source. Cần kiểm tra request thật từ client 512²; không dùng warmup này làm bằng chứng inference thành công. Startup warmup lỗi cũng không thay số baseline vla-bench trước đó (bench đã chỉ định size512). + + +### Kết quả smoke end-to-end đã hoàn tất + +Client exit 0, tất cả episode hoàn tất, không abort/skip. Bản gốc/defaults, libero_object/task0, seed42, n_action_steps=1: + +| Episode | Success | Số bước | Average inference/step do client báo | +|---|---|---:|---:| +| 0 | True | 134 | 151.03 ms | +| 1 | True | 159 | 137.71 ms | + +Summary: 2/2 (100% trong smoke này), average inference/step 144.37 ms theo client. Không dùng số này làm SR chính thức hoặc thay baseline engine latency. CSV/video/summary ở smoke-original/outputs/smolvla/libero_object/task_0; lệnh/env trong smoke-original/commands.json. Hai MP4 đã tạo. Server đã tự dừng theo finally của runner. + +Request thật chạy CUDA, server log trả total khoảng 116–120 ms ở các dòng quan sát, không thấy lỗi kích thước input trên request thật. Warmup synthetic startup 224² fail được giữ trong log, khác request thật 512². + +Khoanh vùng observation warning: kiểm tra `gymnasium.spaces.Text(max_length=512).contains('pick up the alphabet soup and place it in the basket')` trả False; ký tự ngoài charset mặc định là dấu cách. Đã xác nhận nguyên nhân ít nhất ở trường task_description. Chưa sửa declaration hoặc dữ liệu observation; không khẳng định chỉ có nguyên nhân này khi chưa kiểm tra đầy đủ từng trường. + +### Bảng runtime screen và cách đọc độ lệch + +Đã lưu script summarize_runtime.py để tái tạo summary.json. Mean so trên screen cùng lượt (defaults mean111.9ms); không gộp screen 5 reps với baseline full20reps. Denoise3: mean89.2ms nhưng max_abs_real7=0.307970941, RMSE_real7=0.042685641; flash+mm-default: mean93.0ms, max_abs_real7=0.002767146, RMSE_real7=0.000614420. Chưa full rerun, memory từng cấu hình, smoke cho flags hoặc screening40episode; chưa chọn winner. + +RMSE ban đầu của ablation và summary cũ tính trên 50×32 (bao gồm các cột padded zero). Script hiện giữ field legacy `rmse` và thêm `rmse_real7` trên 50×7 chiều hành động thực, để không làm RMSE nhỏ giả do padding. Max_abs không đổi khi bỏ các cột zero. Các chiều action có thể khác đơn vị; đây là độ lệch số học, không phải thước đo SR. + +Đang chờ người dùng chọn baseline cho bước so sánh/SR tiếp theo: giữ defaults kèm công bố lỗi bit-exact, hoặc chuyển VLA_FUSED_OPS=0 và đo lại baseline. Chưa chạy screening/official trong lúc chờ quyết định này. Các log/notes có thể kiểm tra độc lập. + + +Đã kiểm tra hai MP4 bằng PyAV: episode_000000.mp4 có135frame, episode_000001.mp4 có160frame; khung đầu đều256×512, fps30. Raw video-verify.log. Frame count bằng số bước+1 do có frame reset. Không dùng tốc độ phát video làm tốc độ inference. + + +## Baseline đã được người dùng chốt + +Người dùng chọn: **Giữ mặc định của repo, công bố rõ lỗi test và độ lệch fused/unfused**. Thay thế trạng thái chờ quyết định ở các mục trước. Giữ số baseline latency/memory cũ. Chuẩn bị screening defaults: libero_object task0–9, 4episode/task, seed42, n_action_steps1, initial state defaults của repo (episode_index0, stride1). Không cộng smoke vào40episode. Abort/missing episode sẽ dừng và đánh dấu incomplete, không âm thầm giảm mẫu số. Protocol/log/progress lưu ở smolvla-followup-20261104/screen40-defaults; script run_screen40.py. Các file on.txt/off.txt người dùng mới tạo giữ nguyên. + +Screen40 defaults: task 0 hoàn tất 4/4; tổng tạm thời 4/4. Log screen40-defaults/task-0.log; chưa phải official SR. + + +Đã đọc paper SmolVLA/CLP và đối chiếu src/models/smolvla.cpp, viết ARCHITECTURE_AND_PROFILE.md (cùng thư mục smolvla-followup-20261104), có sơ đồ và phạm vi timing. Metadata checkpoint đọc trực tiếp, 791tensor, VLM32/expert32, vision12, hidden960/expert480. Chưa chạy phase/kernel profiling trong lúc GPU dành cho screening. + +Phát hiện về seed SR: --seed42 cố định môi trường nhưng mặc định server SmolVLA rng khởi tạo random_device, noise mỗi predict không được ghim. Client có VLA_FIXED_NOISE_SEED tạo noise theo seed/episode/step. Đã hỏi người dùng chọn protocol; chưa đổi lượt hiện tại. Screening đang chạy giữ nguyên noise ngẫu nhiên mặc định. Seed42 môi trường không đảm bảo tái hiện action/trajectory từng bit; không gộp smoke2 vào screening40. + +Screen40 defaults: task 1 hoàn tất 4/4; tổng tạm thời 8/8. Log screen40-defaults/task-1.log; chưa phải official SR. + +Screen40 defaults: task 2 hoàn tất 4/4; tổng tạm thời 12/12. Log screen40-defaults/task-2.log; chưa phải official SR. + +Screen40 defaults: task 3 hoàn tất 3/4; tổng tạm thời 15/16. Log screen40-defaults/task-3.log; chưa phải official SR. + +Screen40 defaults: task 4 hoàn tất 4/4; tổng tạm thời 19/20. Log screen40-defaults/task-4.log; chưa phải official SR. + +Screen40 defaults: task 5 hoàn tất 3/4; tổng tạm thời 22/24. Log screen40-defaults/task-5.log; chưa phải official SR. + + +Pruning exporter thử lần1 fail: AttributeError cannot set attribute tại renamed.name=name. Đã kiểm tra gguf_reader.py: ReaderTensor là NamedTuple bất biến. Log gốc smolvla-vision-tail-10-export.failed-1.log; không liên quan inference, GGUF gốc không đổi. Sửa bằng tensor._replace(name=name), giữ các field khác nguyên vẹn; kiểm tra payload/dtype/shape sau export. File partial nếu có được đổi tên .failed-1, không dùng đánh giá. + + +Chuẩn bị CPU đã hoàn tất: 6 GGUF Q8_0/Q5_0/Q4_0 × vision false/true bằng script quantize_gguf.py nguyên bản. Manifest quantization/manifest.json có size/hash/lệnh: mỗi bản791tensor, action expert289tensor được giữ raw; các tensor không eligible đúng dtype/shape/payload, metadata không đổi. Số tensor quant225 khi không vision,297 khi thêm vision. Chưa load GPU hoặc smoke từng GGUF. + +Pruning prototype đã export thành công sau sửa NamedTuple: vision-tail10, vision-spaced10 (drop4,8), coupled-tail30 (drop30,31 đồng thời VLM/expert). Metadata số tầng được cập nhật, tensor giữ lại reindex và bit-preserve; không phải CLP, không CKA, không finetune. Sidecar JSON trong generated-models có mapping, removed tensor list, hash, size; pruning-summary.json tổng hợp. Chưa có inference/latency/SR. Không dùng kết quả export này để báo đã đạt mục6. + +Screen40 defaults: task 6 hoàn tất 4/4; tổng tạm thời 26/28. Log screen40-defaults/task-6.log; chưa phải official SR. + +Screen40 defaults: task 7 hoàn tất 4/4; tổng tạm thời 30/32. Log screen40-defaults/task-7.log; chưa phải official SR. + + +Đọc lại cặp on.txt/off.txt người dùng tạo (giữ nguyên file): mỗi file1600giá trị hữu hạn; max_abs=0.0005458742380142212, RMSE toàn32=0.00010049711168250623,350giá trị khác bit. Khớp phép đo trước của agent; không có exitcode riêng được lưu để xác minh lại. Result user-on-off-summary.json. + +Đã chuẩn bị full_runtime_pair.py (3process/config,3warmup+20reps, interleave defaults/flash-mm và telemetry) và profile_phase.py (input khớp vla-bench; phase/none riêng; optional capture sauwarmup). Chưa chạy GPU vìscreeningđang hoạt động. Bộsummarize_kernels.py từ chối graph-only trace; rejection check thực tế lưu kernel-parser-graph-rejection.log. + + +Lưu ý tên quant -lm là nhãn ngắn cho mặc định script repo: 225tensor gồm224matrix VLM và mm.fc.weight (connector)1tensor. Action expert giữfloat; --vision thêm72matrix tower, tổng297. Không gọi mặc định này là chỉ VLM mà không có connector khi giải thích với mentor. + +Screen40 defaults: task 8 hoàn tất 4/4; tổng tạm thời 34/36. Log screen40-defaults/task-8.log; chưa phải official SR. + +Screen40 defaults: task 9 hoàn tất 4/4; tổng tạm thời 38/40. Log screen40-defaults/task-9.log; chưa phải official SR. + + +## Screening defaults hoàn tất: 38/40 =95.0% + +libero_object task0–9 ×4episode, seed42 môi trường, n_action_steps1, noise server ngẫu nhiên mặc định. Không gộp smoke2; không phải official200. Không abort/missing; cả40MP4 mở được frame đầu, frame_count=steps+1. Artifact audit lưu screen40-artifact-audit.json. + +| Task | Success | Steps | +|---|---:|---| +| 0 | 4/4 | 198, 175, 188, 174 | +| 1 | 4/4 | 127, 157, 138, 148 | +| 2 | 4/4 | 128, 125, 147, 120 | +| 3 | 3/4 | 500, 143, 138, 128 | +| 4 | 4/4 | 156, 157, 168, 156 | +| 5 | 3/4 | 220, 500, 222, 142 | +| 6 | 4/4 | 163, 161, 156, 145 | +| 7 | 4/4 | 133, 153, 146, 156 | +| 8 | 4/4 | 184, 159, 173, 162 | +| 9 | 4/4 | 133, 127, 142, 136 | + +Hai failure ở task3 và5 đều chạm500step, is_success=False, tính vào mẫu số40. Chưa phân tích video để quy nguyên nhân cho model/quantization/kernel. Server screening đã dừng trước khi benchmark GPU tiếp theo. Baseline full-runtime-pair đo lại defaults và flash-mm theo3process/config,3warmup+20reps, interleave và telemetry riêng. + + +## Kết quả GPU bổ sung sau screening defaults + +Full runtime pair3process/config,3warmup+20reps: defaults chọnmean113.9,p50113.9,p90115.4ms; flash+mm-default mean91.5,p5091.5,p9091.8ms, mean giảm19.67%. Trace allocations flash3process peak1040.268383MiB vs defaults1912.469456MiB, giảm45.61%tracked allocations, không phải toànresident VRAM. Telemetry lượt pair60–75°C, SM210–1980MHz, power11.32–108.15W, gồmload/idle. Không suy ra throttle chỉ từ các số này. + +ModelGGUF CUDA fixed-input checksđãđạt cho cả9export. Full vla-bench candidate3process/config,3warmup+20reps, input2×512²/16token; memory nsys captureprocess-tree30childprocess (control+9model mỗi3process), auditPIDđủ và khôngfree thiếu/live âm/lost-drop. Controlpeak khớptraceđộc lập chínhxác0MiBchênh. + +| Model | p50/p90 ms | Mean ms | Vision ms | Peak allocation MiB | Max abs real7 | +|---|---:|---:|---:|---:|---:| +| defaults | 113.7/114.6 | 113.7 | 56.1 | 1912.47 | 0 | +| smolvla-coupled-tail-30 | 110.3/110.9 | 110.4 | 56.0 | 1814.40 | 0.063353531 | +| smolvla-q4_0-lm | 110.2/111.0 | 110.0 | 56.1 | 865.07 | 0.08243826 | +| smolvla-q4_0-vision | 109.9/110.4 | 109.7 | 56.2 | 729.75 | 0.17617321 | +| smolvla-q5_0-lm | 110.5/111.2 | 110.6 | 56.0 | 903.98 | 0.033897966 | +| smolvla-q5_0-vision | 111.0/111.9 | 111.4 | 57.4 | 778.78 | 0.10021222 | +| smolvla-q8_0-lm | 109.3/110.3 | 109.5 | 56.0 | 1020.70 | 0.0084213912 | +| smolvla-q8_0-vision | 110.3/111.0 | 110.2 | 56.3 | 925.88 | 0.041252255 | +| smolvla-vision-spaced-10 | 104.5/105.7 | 104.7 | 47.0 | 1885.39 | 0.094964884 | +| smolvla-vision-tail-10 | 106.6/108.1 | 106.4 | 47.4 | 1885.39 | 1.7565101 | + +NhữngmodelnàychưaquaLIBEROsmokeriêngtạithờiđiểmghi. Finitepredict khôngchứngminhSR. Benchvisionbao gồmconnector/preprocess/copy, khôngpureViTkernel. Variantquant-lm theo scriptbao gồmconnector, AEXgiữfloat. + +Phase suite3process/case,3warmup+20reps đãthu; bestwhole-processmeanTotal: baseline192.79ms, flash176.34ms, visiontail211.71ms, visionspaced205.52ms, coupled203.10ms. Phasewallcóbiếnđộnglớn/overhead, khôngthaylatencyvla-bench. CóGPU nodetracesNONE20predictsau3warmupcho defaults/flash, bước tiếp theoPHASEnodetracesđểtáchGPUgraphspans. + +Nsight NONE defaults: 160020kernel events; spanfirst-lasttargetactivity2541.99ms; targetactivitygap10.54%, maxgap16.75ms. KhôngphảiphầntrămtoànGPUidle; khôngsystem-wide, Pythonpacking/preprocess/driver có thể đóng góp. + +Nsight NONE flash-mm: 194100kernel events; spanfirst-lasttargetactivity1921.82ms; targetactivitygap9.13%, maxgap9.26ms. KhôngphảiphầntrămtoànGPUidle; khôngsystem-wide, Pythonpacking/preprocess/driver có thể đóng góp. + +QueryCUDA_GRAPH_EVENTS trên nodetrace ban đầu báo no such table; kiểm tra schema xác nhận node mode không cần table whole-graph. Chuyển sang kernel.graphId+correlationId, xác nhậnNONE60launches=20×[vision,vision,inference]. summarize_graph_modules.py dùng pattern/cardinalityguard và báoGPU first-lastkernelspan, khônggọiđólàCPU+GPUphasewall. PHASEdựkiến80launches=20×[vision,vision,prefill,denoise]; nếu khôngkhớp sẽkhônggánmodule. + + +Điều kiện GPU cần bổ sung: kiểm tra host hiện tại thấy server cũ PID23222 ở127.0.0.1:5555, --warmup0 --timing-detail phase, tồn tại hơn5giờ. Giữ nguyên vì không phải server do các runner mới quản lý. Truy vấn NVML trước từng thấyPIDnày. Không khẳng định GPU hoàn toàn cô lập; các runner chỉ bảo đảm không tự chạy đồng thời các workload do mình tạo. Process allocation theoCUPTI đã táchPID nên không cộng VRAMservercũ; timing có giới hạn vì chưa xác minh hoạt động request của servercũ trong từng lượt. Smoke mới dùng15558. + + +2026-11-04T14:22:51.535885+07:00: người dùng đã dừng server cũ5555; kiểm tra host xác nhận PID23222 không còn, chỉ còn smoke server15558 PID97266 tại lúc kiểm tra. Flash-mm smoke episode1 thành công155step, episode2 đang chạy. Không thay điều kiện các benchmark đã đo trước mốc này; các lần đo sau phải ghi riêng/control mới nếu so sánh thời gian. + +Smoke flash-mm: complete, successes=1/2, steps=[155, 500]; logs candidate-smokes/flash-mm. Không phải screening hoặc official. + + +## Nsight PHASE attribution đã khoanh vùng và sửa + +Bộgánmodule theo80graphlaunch bịtừchối cả4trace. Defaultchỉ54launch thayvì80; có98033kernel graphIdNULL. Khôngphải mấttrace: 98033=13×7541 (13predict main trực tiếp), cộng7predict main bằnggraph và40visionlaunch. Sourceggml-cuda.cu4466–4501 xác nhận khi properties thayđổi graphwarmupreset và chạytrựctiếp đếnkhiổnđịnh. Chưa khẳngđịnh thuộc tính cụ thể gâyđổi, nhưng đãcóbằngchứng modePHASE táidựnggraph vàmixdirect/graph; khôngép gán sai. + +Đã dùngmốcKVcopytừsource: prefix145token=2×64+16+1, head64×KVheads5×float4bytes ->185600bytes/copy, 2copy/layer. Tracemỗi32layer có1280D2Dcopies=20predict×64; coupled30có1200=20×60. Vision40launch được xácnhận; chiaGPUkernels theo biênKVcopy và kiểmtra khôngtrùng/thiếu bất kỳkernel nào. Script summarize_phase_boundaries.py. + +| Config | Vision+connector GPU active ms | KV prefill GPU active ms | Denoise+crossKV GPU active ms | +|---|---:|---:|---:| +| defaults | 52.708 | 14.956 | 36.318 | +| flash-mm | 40.520 | 11.687 | 33.475 | +| smolvla-vision-spaced-10 | 43.740 | 14.920 | 36.591 | +| smolvla-coupled-tail-30 | 52.722 | 14.095 | 34.531 | + +Mỗitrace20predict sau3warmup. Đây là unionthờigian thực thi kernel GPU processđích theo từngmoduleproxy, loại khoảngCPUdispatch/graphbuild/copy; khôngphải walllatency hay phânrã chínhxácbaseline vìPHASE dùng16tokenthực thay48slotpadded. GPUspan cũngđược lưu riêng và cóthể baogồm khoảngchờlaunchtrựctiếp. Denoise gồm crossKVreprojection/actionprojections; vision gồm connector nhưng khôngCPUpreprocess/inter-viewcopy. Kết quả phùhợpvới vla-bench: visionprunegần8%end2end, coupledgần3%, chưa chứngminhSRđượcgiữ. + +Cácsmoke mớiđangchạy: flash-mm complete1/2 (155,500steps), khôngabort. Chưa đủ mẫuđể kếtluậnSRgiảm, khôngchọntốt nhấtchỉtheolatency. + +Smoke smolvla-coupled-tail-30: complete, successes=0/2, steps=[500, 500]; logs candidate-smokes/smolvla-coupled-tail-30. Không phải screening hoặc official. + +Smoke smolvla-q4_0-lm: complete, successes=1/2, steps=[148, 500]; logs candidate-smokes/smolvla-q4_0-lm. Không phải screening hoặc official. + +Smoke smolvla-q4_0-vision: complete, successes=0/2, steps=[500, 500]; logs candidate-smokes/smolvla-q4_0-vision. Không phải screening hoặc official. + +Smoke smolvla-q5_0-lm: complete, successes=1/2, steps=[159, 500]; logs candidate-smokes/smolvla-q5_0-lm. Không phải screening hoặc official. + +Smoke smolvla-q5_0-vision: complete, successes=0/2, steps=[500, 500]; logs candidate-smokes/smolvla-q5_0-vision. Không phải screening hoặc official. + +Smoke smolvla-q8_0-lm: complete, successes=2/2, steps=[193, 147]; logs candidate-smokes/smolvla-q8_0-lm. Không phải screening hoặc official. + +Smoke smolvla-q8_0-vision: complete, successes=2/2, steps=[146, 236]; logs candidate-smokes/smolvla-q8_0-vision. Không phải screening hoặc official. + +Đã khởi chạy queue_official200.py: tự chờ smoke complete và port15558 đóng rồi chạy baseline 10task×20episode trên port15559. Giữ repo defaults, seed42 môi trường, server noise ngẫu nhiên. Log official200-runner.log; protocol/progress/result riêng official200-defaults. Không chạy GPU song song với smoke. + +Smoke smolvla-vision-spaced-10: complete, successes=0/2, steps=[500, 500]; logs candidate-smokes/smolvla-vision-spaced-10. Không phải screening hoặc official. + +Smoke smolvla-vision-tail-10: complete, successes=0/2, steps=[500, 500]; logs candidate-smokes/smolvla-vision-tail-10. Không phải screening hoặc official. + +Official200 defaults: task 0 hoàn tất 18/20; tổng tạm thời 18/20. Log official200-defaults/task-0.log; SR tạm thời; chỉ chốt sau đủ200 episode. + +Official200 defaults: task 1 hoàn tất 20/20; tổng tạm thời 38/40. Log official200-defaults/task-1.log; SR tạm thời; chỉ chốt sau đủ200 episode. + +Official200 defaults: task 2 hoàn tất 17/20; tổng tạm thời 55/60. Log official200-defaults/task-2.log; SR tạm thời; chỉ chốt sau đủ200 episode. + +Official200 defaults: task 3 hoàn tất 17/20; tổng tạm thời 72/80. Log official200-defaults/task-3.log; SR tạm thời; chỉ chốt sau đủ200 episode. + +Official200 defaults: task 4 hoàn tất 19/20; tổng tạm thời 91/100. Log official200-defaults/task-4.log; SR tạm thời; chỉ chốt sau đủ200 episode. + +Official200 defaults: task 5 hoàn tất 13/20; tổng tạm thời 104/120. Log official200-defaults/task-5.log; SR tạm thời; chỉ chốt sau đủ200 episode. + +Official200 defaults: task 6 hoàn tất 16/20; tổng tạm thời 120/140. Log official200-defaults/task-6.log; SR tạm thời; chỉ chốt sau đủ200 episode. + +Official200 defaults: task 7 hoàn tất 20/20; tổng tạm thời 140/160. Log official200-defaults/task-7.log; SR tạm thời; chỉ chốt sau đủ200 episode. + +Official200 defaults: task 8 hoàn tất 20/20; tổng tạm thời 160/180. Log official200-defaults/task-8.log; SR tạm thời; chỉ chốt sau đủ200 episode. + +Recovery official200: original task9 interrupted at episode4 by zmq.error.Again after SIGSTOP/SIGCONT; exact cause not proven. Original task0–8 retained (160/180). Restart task9 all20 in official200-defaults/recovery-task9; exclude original partial3 successes from denominator. Explicit --recv-timeout-ms -1 disables receive deadline; requires manual intervention if server hangs. Client now checkpoints episodes.csv atomically after each completed episode. Original logs/videos preserved. Recovery runner appends official200-runner.log and publishes result.json only after all200 counted episodes. + +Official200 defaults: task 9 hoàn tất 17/20; tổng tạm thời 177/200. Log official200-defaults/task-9.log; SR tạm thời; chỉ chốt sau đủ200 episode. + +Phần3 hoàn tất bổ sung: run_part3.sh exit0; latency30process, memory30process, audit không thiếu PID/không unmatched free/không lost-drop theo diagnostic. Report PART3_OPTIMIZATION.md và raw part3-runtime/. Output delta tái sử dụng fixed harness đã lưu, không benchmark lẫn input. + +Khởi chạy run_screen_variants.py theo yêu cầu người dùng: flash-mm, q8-lm, q8-vision tuần tự, mỗi40episode; port15560; no VLA env inherited; offline cached tokenizer. Không ghi đè baseline và không đổi file GGUF. + +Screen40 flash-mm: task 0 hoàn tất 4/4; tổng tạm thời 4/4. Log screen40-variants/flash-mm/task-0.log; chưa phải official SR. + +Screen40 flash-mm: task 1 hoàn tất 4/4; tổng tạm thời 8/8. Log screen40-variants/flash-mm/task-1.log; chưa phải official SR. + +Screen40 flash-mm: task 2 hoàn tất 3/4; tổng tạm thời 11/12. Log screen40-variants/flash-mm/task-2.log; chưa phải official SR. + +Screen40 flash-mm: task 3 hoàn tất 4/4; tổng tạm thời 15/16. Log screen40-variants/flash-mm/task-3.log; chưa phải official SR. + +Screen40 flash-mm: task 4 hoàn tất 4/4; tổng tạm thời 19/20. Log screen40-variants/flash-mm/task-4.log; chưa phải official SR. + +Screen40 flash-mm: task 5 hoàn tất 1/4; tổng tạm thời 20/24. Log screen40-variants/flash-mm/task-5.log; chưa phải official SR. + +Screen40 flash-mm: task 6 hoàn tất 4/4; tổng tạm thời 24/28. Log screen40-variants/flash-mm/task-6.log; chưa phải official SR. + +Screen40 flash-mm: task 7 hoàn tất 4/4; tổng tạm thời 28/32. Log screen40-variants/flash-mm/task-7.log; chưa phải official SR. + +Screen40 flash-mm: task 8 hoàn tất 4/4; tổng tạm thời 32/36. Log screen40-variants/flash-mm/task-8.log; chưa phải official SR. + +Screen40 flash-mm: task 9 hoàn tất 3/4; tổng tạm thời 35/40. Log screen40-variants/flash-mm/task-9.log; chưa phải official SR. + +Screen40 q8-lm: task 0 hoàn tất 4/4; tổng tạm thời 4/4. Log screen40-variants/q8-lm/task-0.log; chưa phải official SR. + +Screen40 q8-lm: task 1 hoàn tất 4/4; tổng tạm thời 8/8. Log screen40-variants/q8-lm/task-1.log; chưa phải official SR. + +Screen40 q8-lm: task 2 hoàn tất 3/4; tổng tạm thời 11/12. Log screen40-variants/q8-lm/task-2.log; chưa phải official SR. + +Screen40 q8-lm: task 3 hoàn tất 4/4; tổng tạm thời 15/16. Log screen40-variants/q8-lm/task-3.log; chưa phải official SR. + +Screen40 q8-lm: task 4 hoàn tất 4/4; tổng tạm thời 19/20. Log screen40-variants/q8-lm/task-4.log; chưa phải official SR. diff --git a/PAPER_READING_SMOLVLA_CLP.md b/PAPER_READING_SMOLVLA_CLP.md new file mode 100644 index 00000000..7f081f24 --- /dev/null +++ b/PAPER_READING_SMOLVLA_CLP.md @@ -0,0 +1,21 @@ +# Ghi chú đọc hai paper mentor cung cấp + +## SmolVLA — kiến trúc và inference + +Nguồn: https://arxiv.org/html/2506.01844v1 — mục3.1,3.3 và4.7. + +Paper kết hợp VLM nhỏ với action expert flow matching. Các hướng giảm chi phí gồm giảm visual token, dùng đặc trưng từ các layer VLM sớm và attention xen kẽ. Asynchronous execution tách dự đoán khỏi thực thi action. Không đồng nhất cải thiện điều khiển bất đồng bộ với giảm latency một forward. + +## CLP — chọn layer bằng dữ liệu + +Nguồn: https://arxiv.org/html/2606.20246v1 — mục3,4 và5. + +CLP dùng activation calibration để tính CKA giữa layer liên tiếp. Gom vùng tương tự cao, giữ layer đầu làm anchor, chọn các layer dư thừa theo ngân sách rồi loại bỏ. Bước chọn/cắt không cần training; kết quả chất lượng phải đọc cùng downstream finetuning. CKA cao chưa đảm bảo bỏ layer an toàn. + +## Áp dụng vào repo này — đề xuất thực nghiệm của mình + +Các bản tail/spaced hiện có là đối chứng depth ablation, chưa phải tái hiện CLP. Bước tiếp theo cần thu activation trên dữ liệu calibration tách khỏi episode đánh giá, chọn layer theo điểm số và xuất GGUF. Loader hiện có ràng buộc ghép layer VLM/expert và parity SA/CA; phải kiểm tra mapping trước khi áp dụng lựa chọn độc lập. Có thể cần sửa loader nếu muốn đúng phạm vi pruning của phương pháp. + +Cần ghi rõ bản không finetune là adaptation training-free của ý tưởng, không gán kết quả paper cho checkpoint này. So sánh với tail/spaced cùng số layer bị bỏ, chạy smoke rồi screening40. Đánh giá latency module bằng cả benchmark và nsys; official200 chỉ dành cấu hình được chọn. Không sử dụng dữ liệu episode đánh giá làm calibration. + +Paper mô tả kiến trúc tổng quát; bảng số layer/hidden size phải lấy metadata checkpoint đang dùng. Kết quả đang chạy trên GPU không bị thay đổi bởi việc đọc tài liệu này. diff --git a/PART3_OPTIMIZATION.md b/PART3_OPTIMIZATION.md new file mode 100644 index 00000000..b4e1147c --- /dev/null +++ b/PART3_OPTIMIZATION.md @@ -0,0 +1,59 @@ +# Phần 3 — Tối ưu SmolVLA không cần train + +## Phạm vi và protocol + +Không thay GGUF gốc. Runtime flags dùng cùng checkpoint; quantization xuất sáu file riêng, không train, không pruning. +Latency: vla-bench, 2 ảnh512×512,16token,3warmup+20reps,3process/config. Chọn cả lượt có mean thấp nhất; p50/p90 thuộc cùng lượt. Bộ nhớ lấy peak lớn nhất trong3process/config, đo bằng nsys riêng với cùng workload. +Output: vla_predict_check,2ảnh512,6token theo harness, noise cố định; so với defaults. Max abs và RMSE trên50×7 action thực, loại padding32chiều. Đây là input khác benchmark; không suy ra SR từ độ lệch synthetic. + +## Runtime flags + +| Cấu hình | File MiB | Mean / p50 / p90 ms | Peak allocation MiB | Max abs real7 | RMSE real7 | +|---|---:|---:|---:|---:|---:| +| bf16-flash | 1074.18 | 111.3 / 111.2 / 112.0 | 1044.27 | 0.00078821182 | 0.00028052564 | +| bf16 | 1074.18 | 123.1 / 123.0 / 123.7 | 1134.34 | 0 | 0 | +| defaults | 1074.18 | 104.0 / 103.7 / 105.0 | 1912.47 | 0 | 0 | +| f16-flash | 1074.18 | 109.1 / 109.1 / 109.9 | 1044.27 | 0.0012158751 | 0.0002933432 | +| f16 | 1074.18 | 125.9 / 126.0 / 126.5 | 1119.39 | 0.00097492337 | 0.00026844391 | +| flash-mm | 1074.18 | 85.5 / 85.4 / 85.9 | 1040.27 | 0.0027671456 | 0.00061441981 | +| flash | 1074.18 | 91.8 / 91.8 / 92.3 | 1818.39 | 0.00078821182 | 0.00028052564 | +| mm-default | 1074.18 | 97.4 / 97.4 / 97.9 | 1134.34 | 0.0020601451 | 0.00066080622 | +| steps-3 | 1074.18 | 79.2 / 79.0 / 80.0 | 1911.83 | 0.30797094 | 0.042685641 | +| steps-5 | 1074.18 | 86.2 / 86.1 / 87.1 | 1912.01 | 0.059932411 | 0.018432219 | + +Flags chính xác của mỗi cấu hình nằm trong `part3-runtime/latency-runs.json`. bf16/f16 chỉ đổi weight dtype; activation giữ mặc định F32. Không thử act-dtype BF16 cho SmolVLA vì docs giới hạn flag này cho các kiến trúc khác. steps-5/3 đổi số bước solver; các cấu hình khác giữ10bước. + +## Quantization — runtime defaults + +| Model | File MiB | Mean / p50 / p90 ms | Peak allocation MiB | Max abs real7 | RMSE real7 | +|---|---:|---:|---:|---:|---:| +| defaults | 1074.18 | 113.7 / 113.7 / 114.6 | 1912.47 | 0 | 0 | +| smolvla-q4_0-lm | 626.76 | 110.0 / 110.2 / 111.0 | 865.07 | 0.08243826 | 0.025425385 | +| smolvla-q4_0-vision | 510.32 | 109.7 / 109.9 / 110.4 | 729.75 | 0.17617321 | 0.050421203 | +| smolvla-q5_0-lm | 665.67 | 110.6 / 110.5 / 111.2 | 903.98 | 0.033897966 | 0.0089555682 | +| smolvla-q5_0-vision | 559.35 | 111.4 / 111.0 / 111.9 | 778.78 | 0.10021222 | 0.029256382 | +| smolvla-q8_0-lm | 782.38 | 109.5 / 109.3 / 110.3 | 1020.70 | 0.0084213912 | 0.0021052691 | +| smolvla-q8_0-vision | 706.45 | 110.2 / 110.3 / 111.0 | 925.88 | 0.041252255 | 0.011150829 | + +Quantization theo scripts/quantize_gguf.py trong docs/MODELS.md. `lm` gồm225tensor (VLM và connector mm.fc1); `vision` thêm72tensor. Action expert289tensor giữ float. Chi tiết kích thước byte, SHA256 và command ở `quantization/manifest.json`. + +## Điều kiện đo và giới hạn + +RTX3060Laptop6GiB, WSL2; laptop cắm sạc, chế độ nguồn bình thường, không tản nhiệt ngoài theo người dùng. Đợt runtime bổ sung từ chối chạy nếu còn vla-server; không khẳng định loại hết ứng dụng Windows. Số đo quantization là batch trước, có control cùng batch; không ghép batch để suy ra chênh lệch nhỏ. +WSL báo N/A cho process resident VRAM. Cột bộ nhớ là peak traced device allocation (Device+DeviceStatic), không bao hết context/driver hoặc allocation không được ghi nhận. Không coi đây là toàn bộ peak resident VRAM. +Hai CUDA tests bit-exact còn fail; baseline giữ defaults theo lựa chọn người dùng. Fused/unfused có sai lệch đã ghi riêng. Không gán đảm bảo bit-exact trong docs thành kết quả đã xác nhận trên máy này. + +## Nguồn dữ liệu và tái lập + +- Runtime: part3_runtime_children.py, run_part3.sh, part3-runtime/*, audit_part3_memory.py. +- Quantization: prepare_quantized.py, quantization/manifest.json, candidate-bench/selected.json, candidate-checks/summary.json, memory-all/summary.json. +- Docs repo: docs/USAGE.md, docs/backend/cuda.md, docs/MODELS.md. +- Không kết luận SR trong phần này. Đánh giá LIBERO thuộc phần4. + +## Nhận xét từ số đo +- Runtime nhanh nhất trong tập thử: steps-3, mean 79.2ms; giảm 23.85% so với control cùng batch. Cần đọc kèm độ lệch action; không xem giảm solver steps là miễn phí chất lượng. +- File runtime không đổi kích thước vì dùng cùng GGUF; resident weight dtype thay đổi trong bộ nhớ. +- Quantization giảm rõ kích thước và allocation; latency cần so với defaults của chính candidate-bench. Không suy ra tốc độ chỉ từ số bit. +- Output synthetic không chứng minh giữ khả năng điều khiển. Phần3 hoàn tất phép đo, chưa chốt cấu hình triển khai theo SR. + +Telemetry bổ sung: 120 mẫu, nhiệt độ ghi nhận 53–72°C; không phủ toàn bộ batch và không đủ để kết luận có/không throttle. Raw: `part3-runtime/telemetry.jsonl`. diff --git a/REPORT_SMOLVLA.md b/REPORT_SMOLVLA.md new file mode 100644 index 00000000..39519e1b --- /dev/null +++ b/REPORT_SMOLVLA.md @@ -0,0 +1,73 @@ +# Báo cáo thực nghiệm SmolVLA + +Snapshot để mentor review, ngày 04/11/2026 (UTC+07). Repo gốc tại commit `4a542ed3bfb8f330388aceb8926294a951156172`; các kết quả là số đo cục bộ trên RTX 3060 Laptop 6 GiB qua WSL2. Snapshot screening có thể cũ hơn tiến trình đang chạy. + +## Trạng thái sáu phần + +| Phần | Kết quả hiện có | Chưa hoàn tất | +|---|---|---| +| 1. Cài đặt | CUDA arch86; CLI, server, binding, predict_check đã chạy | Tests13/15; hai lỗi bit-exact còn mở | +| 2. Baseline | Có p50/p90, traced allocation và điều kiện đo | Không đo được toàn bộ resident VRAM riêng process trên WSL | +| 3. Không train | 10 runtime configs và Q8/Q5/Q4 có/không vision; đủ4chỉ tiêu | Chưa kết luận giữ chất lượng điều khiển | +| 4. LIBERO | Baseline screening38/40; official177/200 | Screening biến thể đang chạy; official biến thể chưa chạy | +| 5. Profile | Kiến trúc, phase, nsys kernel/module traces | Chưa chọn bản tốt nhất theo SR; chưa tách connector khỏi vision | +| 6. Pruning | 3depth ablations; module latency và smoke | Smoke cả3bản0/2; chưa implement CKA/finetuning | + +## Protocol và kết quả baseline + +- Checkpoint gốc: `vrfai/smolvla-libero-gguf`; hash/metadata lưu trong research-notes. +- vla-bench:2views512×512,16tokens,10solver steps;3process/config,3warmup+20reps. Chọn lượt có mean thấp nhất và p50/p90 cùng lượt; bộ nhớ lấy peak lớn nhất. +- LIBERO: libero_object, task0–9, n_action_steps1, seed môi trường42; server noise mặc định ngẫu nhiên. Seed42 không đảm bảo output bitwise hoặc cùng noise giữa các cấu hình. +- Defaults screening38/40=95%; official177/200=88,5%. Không so screening của biến thể trực tiếp với official baseline để kết luận giảm SR. +- Task9 official từng timeout. Chạy lại toàn bộ20episode task9, loại toàn bộ phần dở; giữ180episode task0–8. Lần recovery đầu lỗi config trước episode; retry thành công. Kết quả cuối đã đối chiếu10CSV đủ200episode, không abort. + +| Task | Thành công /20 | +|---|---:| +| 0 | 18 | +| 1 | 20 | +| 2 | 17 | +| 3 | 17 | +| 4 | 19 | +| 5 | 13 | +| 6 | 16 | +| 7 | 20 | +| 8 | 20 | +| 9 | 17 | + +## Tối ưu không train + +[Bảng phần3](PART3_OPTIMIZATION.md) có kích thước file, mean/p50/p90, peak allocation và max abs/RMSE real7 cho từng cấu hình. + +Ba batch latency phải đọc riêng: baseline ban đầu mean112,0ms; runtime-pair defaults113,9ms/flash+mm91,5ms; runtime bổ sung defaults104,0ms/flash+mm85,5ms. Đây là các lượt ở thời điểm/điều kiện khác nhau, không phải một control chung. Không chọn số thấp nhất xuyên batch để tính speedup. Quantization có control riêng mean113,7ms. + +Sai lệch output dùng input harness6token và noise cố định; benchmark dùng16token. Metric lấy50×7 action thực, loại padding. Không suy ra SR từ sai số synthetic. + +## Screening biến thể — snapshot + +| Cấu hình | Episode đã chốt | Thành công | Trạng thái | +|---|---:|---:|---| +| flash-mm | 40/40 | 35 | complete | +| q8-lm | 16/40 | 15 | running task 4 | +| q8-vision | 0/40 | 0 | chưa bắt đầu | + +Đếm theo task đã hoàn tất. Chạy tuần tự flash+mm → Q8 không vision → Q8 có vision, tổng120episode. Raw progress: `research-notes/smolvla-followup-20261104/screen40-variants/`. Snapshot không phải kết quả cuối nếu batch còn running. + +## Profile và pruning + +[Kiến trúc và profile](research-notes/smolvla-followup-20261104/ARCHITECTURE_AND_PROFILE.md) giải thích phạm vi phase, module GPU-active và giới hạn nsys/WSL. [Ghi chú paper](PAPER_READING_SMOLVLA_CLP.md) nêu hướng CKA. Pruning hiện chỉ bỏ layer tail/spaced, không gọi là tái hiện CLP. + +## Vấn đề cần mentor review + +1. Hai CUDA tests fail và fused/unfused maxabs0,000545874: chưa tìm ra nguyên nhân; giữ defaults theo quyết định baseline của người dùng. +2. Peak allocation1912,47MiB chưa bao hết context/driver. NVML process memory trả N/A; không gọi là toàn bộ process resident VRAM. +3. Bảy xung đột dependency metadata còn tồn tại dù client chạy được. Môi trường chưa có lock portable sạch. +4. Random server noise và screening40 nhỏ làm khác biệt SR có độ bất định. Chưa có interval hoặc repeated-seed evaluation. +5. Batch latency có khác biệt điều kiện nhiệt/tải; đề nghị thống nhất protocol final trước kết luận triển khai. +6. Chọn calibration riêng và kiểm tra ràng buộc layer VLM/expert, parity SA/CA trước CKA; không dùng episode đánh giá để chọn layer. + +## Tài liệu và bằng chứng + +- [Nhật ký](NOTES_SMOLVLA.md) là lịch sử, không dùng các dòng trạng thái cũ làm hiện trạng. +- [Report lịch sử](research-notes/review-20261104/REPORT_HISTORY.md) giữ nguyên snapshot cũ, có nội dung đã hết hiệu lực. +- [Review Markdown](MENTOR_REVIEW.md) liệt kê các vấn đề tài liệu và phương pháp. +- Dữ liệu nhỏ/scripts được commit; GGUF, video, trace nsys/sqlite, wheel và môi trường cài đặt không đưa lên Git. diff --git a/eval/client/run_sim_client_direct.py b/eval/client/run_sim_client_direct.py index 7f3f8786..813a19bc 100644 --- a/eval/client/run_sim_client_direct.py +++ b/eval/client/run_sim_client_direct.py @@ -75,7 +75,7 @@ parser.add_argument("--max-length", type=int, default=None, help="prompt token budget; default = arch preset's max_length (pi05=200) or 48.") parser.add_argument("--recv-timeout-ms", type=int, default=120_000, - help="ZMQ receive timeout. π0 CPU inference is slow (~5–10 s/step with 2 views).") + help="ZMQ receive timeout in ms; -1 waits indefinitely (supports process pauses).") parser.add_argument( "--n-action-steps", type=int, default=1, help="How many actions to replay from each predicted chunk before " @@ -187,6 +187,12 @@ skipped += 1 episodes.append((episode, 0 if episode_aborted else int(bool(info.get("is_success", 0))), step_id, int(episode_aborted))) + # Preserve completed episodes even if a later request or rollout fails. + checkpoint = output_dir / "episodes.csv.tmp" + with checkpoint.open("w") as f: + f.write("episode,success,steps,aborted\n") + f.writelines(f"{e},{s},{n},{a}\n" for e, s, n, a in episodes) + checkpoint.replace(output_dir / "episodes.csv") env.close() counted = max(1, args.n_episodes - skipped) diff --git a/research-notes/.gitignore b/research-notes/.gitignore new file mode 100644 index 00000000..d28ea93c --- /dev/null +++ b/research-notes/.gitignore @@ -0,0 +1,8 @@ +# Local binaries, environments, downloaded packages and large measurement artifacts +tools/ +*.nsys-rep +*.sqlite +*.sqlite-* +*.qdstrm +*.mp4 +*.npy diff --git a/research-notes/generated-models/smolvla-coupled-tail-30.json b/research-notes/generated-models/smolvla-coupled-tail-30.json new file mode 100644 index 00000000..1cf2ad83 --- /dev/null +++ b/research-notes/generated-models/smolvla-coupled-tail-30.json @@ -0,0 +1,144 @@ +{ + "method": "structured depth ablation; no CKA/calibration/finetuning", + "source": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "output": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "drop": { + "vit": [], + "vlm": [ + 30, + 31 + ], + "aex": [ + 30, + 31 + ] + }, + "retained_layer_maps": { + "vit": { + "0": 0, + "1": 1, + "2": 2, + "3": 3, + "4": 4, + "5": 5, + "6": 6, + "7": 7, + "8": 8, + "9": 9, + "10": 10, + "11": 11 + }, + "vlm": { + "0": 0, + "1": 1, + "2": 2, + "3": 3, + "4": 4, + "5": 5, + "6": 6, + "7": 7, + "8": 8, + "9": 9, + "10": 10, + "11": 11, + "12": 12, + "13": 13, + "14": 14, + "15": 15, + "16": 16, + "17": 17, + "18": 18, + "19": 19, + "20": 20, + "21": 21, + "22": 22, + "23": 23, + "24": 24, + "25": 25, + "26": 26, + "27": 27, + "28": 28, + "29": 29 + }, + "aex": { + "0": 0, + "1": 1, + "2": 2, + "3": 3, + "4": 4, + "5": 5, + "6": 6, + "7": 7, + "8": 8, + "9": 9, + "10": 10, + "11": 11, + "12": 12, + "13": 13, + "14": 14, + "15": 15, + "16": 16, + "17": 17, + "18": 18, + "19": 19, + "20": 20, + "21": 21, + "22": 22, + "23": 23, + "24": 24, + "25": 25, + "26": 26, + "27": 27, + "28": 28, + "29": 29 + } + }, + "source_tensors": 791, + "removed_tensors": [ + "vlm.blk.30.attn_norm.weight", + "vlm.blk.30.attn_q.weight", + "vlm.blk.30.attn_k.weight", + "vlm.blk.30.attn_v.weight", + "vlm.blk.30.attn_o.weight", + "vlm.blk.30.ffn_norm.weight", + "vlm.blk.30.ffn_gate.weight", + "vlm.blk.30.ffn_up.weight", + "vlm.blk.30.ffn_down.weight", + "vlm.blk.31.attn_norm.weight", + "vlm.blk.31.attn_q.weight", + "vlm.blk.31.attn_k.weight", + "vlm.blk.31.attn_v.weight", + "vlm.blk.31.attn_o.weight", + "vlm.blk.31.ffn_norm.weight", + "vlm.blk.31.ffn_gate.weight", + "vlm.blk.31.ffn_up.weight", + "vlm.blk.31.ffn_down.weight", + "aex.blk.30.attn_norm.weight", + "aex.blk.30.attn_q.weight", + "aex.blk.30.attn_k.weight", + "aex.blk.30.attn_v.weight", + "aex.blk.30.attn_o.weight", + "aex.blk.30.ffn_norm.weight", + "aex.blk.30.ffn_gate.weight", + "aex.blk.30.ffn_up.weight", + "aex.blk.30.ffn_down.weight", + "aex.blk.31.attn_norm.weight", + "aex.blk.31.attn_q.weight", + "aex.blk.31.attn_k.weight", + "aex.blk.31.attn_v.weight", + "aex.blk.31.attn_o.weight", + "aex.blk.31.ffn_norm.weight", + "aex.blk.31.ffn_gate.weight", + "aex.blk.31.ffn_up.weight", + "aex.blk.31.ffn_down.weight" + ], + "retained_tensors": 755, + "bytes": 1074532544, + "sha256": "d2f3b377ef7c4c99d1cf516733fa43f05725c131670c32d59e5508bf86f29087", + "raw_weights_preserved": true, + "inference_validated": true, + "latency_measured": false, + "sr_measured": false, + "inference_scope": "single fixed-input CUDA predict, not LIBERO smoke", + "inference_evidence": "candidate-checks/summary.json" +} diff --git a/research-notes/generated-models/smolvla-vision-spaced-10.json b/research-notes/generated-models/smolvla-vision-spaced-10.json new file mode 100644 index 00000000..53307a83 --- /dev/null +++ b/research-notes/generated-models/smolvla-vision-spaced-10.json @@ -0,0 +1,139 @@ +{ + "method": "structured depth ablation; no CKA/calibration/finetuning", + "source": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "output": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "drop": { + "vit": [ + 4, + 8 + ], + "vlm": [], + "aex": [] + }, + "retained_layer_maps": { + "vit": { + "0": 0, + "1": 1, + "2": 2, + "3": 3, + "5": 4, + "6": 5, + "7": 6, + "9": 7, + "10": 8, + "11": 9 + }, + "vlm": { + "0": 0, + "1": 1, + "2": 2, + "3": 3, + "4": 4, + "5": 5, + "6": 6, + "7": 7, + "8": 8, + "9": 9, + "10": 10, + "11": 11, + "12": 12, + "13": 13, + "14": 14, + "15": 15, + "16": 16, + "17": 17, + "18": 18, + "19": 19, + "20": 20, + "21": 21, + "22": 22, + "23": 23, + "24": 24, + "25": 25, + "26": 26, + "27": 27, + "28": 28, + "29": 29, + "30": 30, + "31": 31 + }, + "aex": { + "0": 0, + "1": 1, + "2": 2, + "3": 3, + "4": 4, + "5": 5, + "6": 6, + "7": 7, + "8": 8, + "9": 9, + "10": 10, + "11": 11, + "12": 12, + "13": 13, + "14": 14, + "15": 15, + "16": 16, + "17": 17, + "18": 18, + "19": 19, + "20": 20, + "21": 21, + "22": 22, + "23": 23, + "24": 24, + "25": 25, + "26": 26, + "27": 27, + "28": 28, + "29": 29, + "30": 30, + "31": 31 + } + }, + "source_tensors": 791, + "removed_tensors": [ + "vit.blk.4.ln1.bias", + "vit.blk.4.ln1.weight", + "vit.blk.4.ln2.bias", + "vit.blk.4.ln2.weight", + "vit.blk.4.fc1.bias", + "vit.blk.4.fc1.weight", + "vit.blk.4.fc2.bias", + "vit.blk.4.fc2.weight", + "vit.blk.4.attn_k.bias", + "vit.blk.4.attn_k.weight", + "vit.blk.4.attn_o.bias", + "vit.blk.4.attn_o.weight", + "vit.blk.4.attn_q.bias", + "vit.blk.4.attn_q.weight", + "vit.blk.4.attn_v.bias", + "vit.blk.4.attn_v.weight", + "vit.blk.8.ln1.bias", + "vit.blk.8.ln1.weight", + "vit.blk.8.ln2.bias", + "vit.blk.8.ln2.weight", + "vit.blk.8.fc1.bias", + "vit.blk.8.fc1.weight", + "vit.blk.8.fc2.bias", + "vit.blk.8.fc2.weight", + "vit.blk.8.attn_k.bias", + "vit.blk.8.attn_k.weight", + "vit.blk.8.attn_o.bias", + "vit.blk.8.attn_o.weight", + "vit.blk.8.attn_q.bias", + "vit.blk.8.attn_q.weight", + "vit.blk.8.attn_v.bias", + "vit.blk.8.attn_v.weight" + ], + "retained_tensors": 759, + "bytes": 1097967488, + "sha256": "dc717aa1c335b386d85132c9ba5afe67b69aef86a7f9d6705203ddde82b0bd2d", + "raw_weights_preserved": true, + "inference_validated": true, + "latency_measured": false, + "sr_measured": false, + "inference_scope": "single fixed-input CUDA predict, not LIBERO smoke", + "inference_evidence": "candidate-checks/summary.json" +} diff --git a/research-notes/generated-models/smolvla-vision-tail-10.json b/research-notes/generated-models/smolvla-vision-tail-10.json new file mode 100644 index 00000000..82ca26c8 --- /dev/null +++ b/research-notes/generated-models/smolvla-vision-tail-10.json @@ -0,0 +1,139 @@ +{ + "method": "structured depth ablation; no CKA/calibration/finetuning", + "source": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "output": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "drop": { + "vit": [ + 10, + 11 + ], + "vlm": [], + "aex": [] + }, + "retained_layer_maps": { + "vit": { + "0": 0, + "1": 1, + "2": 2, + "3": 3, + "4": 4, + "5": 5, + "6": 6, + "7": 7, + "8": 8, + "9": 9 + }, + "vlm": { + "0": 0, + "1": 1, + "2": 2, + "3": 3, + "4": 4, + "5": 5, + "6": 6, + "7": 7, + "8": 8, + "9": 9, + "10": 10, + "11": 11, + "12": 12, + "13": 13, + "14": 14, + "15": 15, + "16": 16, + "17": 17, + "18": 18, + "19": 19, + "20": 20, + "21": 21, + "22": 22, + "23": 23, + "24": 24, + "25": 25, + "26": 26, + "27": 27, + "28": 28, + "29": 29, + "30": 30, + "31": 31 + }, + "aex": { + "0": 0, + "1": 1, + "2": 2, + "3": 3, + "4": 4, + "5": 5, + "6": 6, + "7": 7, + "8": 8, + "9": 9, + "10": 10, + "11": 11, + "12": 12, + "13": 13, + "14": 14, + "15": 15, + "16": 16, + "17": 17, + "18": 18, + "19": 19, + "20": 20, + "21": 21, + "22": 22, + "23": 23, + "24": 24, + "25": 25, + "26": 26, + "27": 27, + "28": 28, + "29": 29, + "30": 30, + "31": 31 + } + }, + "source_tensors": 791, + "removed_tensors": [ + "vit.blk.10.ln1.bias", + "vit.blk.10.ln1.weight", + "vit.blk.10.ln2.bias", + "vit.blk.10.ln2.weight", + "vit.blk.10.fc1.bias", + "vit.blk.10.fc1.weight", + "vit.blk.10.fc2.bias", + "vit.blk.10.fc2.weight", + "vit.blk.10.attn_k.bias", + "vit.blk.10.attn_k.weight", + "vit.blk.10.attn_o.bias", + "vit.blk.10.attn_o.weight", + "vit.blk.10.attn_q.bias", + "vit.blk.10.attn_q.weight", + "vit.blk.10.attn_v.bias", + "vit.blk.10.attn_v.weight", + "vit.blk.11.ln1.bias", + "vit.blk.11.ln1.weight", + "vit.blk.11.ln2.bias", + "vit.blk.11.ln2.weight", + "vit.blk.11.fc1.bias", + "vit.blk.11.fc1.weight", + "vit.blk.11.fc2.bias", + "vit.blk.11.fc2.weight", + "vit.blk.11.attn_k.bias", + "vit.blk.11.attn_k.weight", + "vit.blk.11.attn_o.bias", + "vit.blk.11.attn_o.weight", + "vit.blk.11.attn_q.bias", + "vit.blk.11.attn_q.weight", + "vit.blk.11.attn_v.bias", + "vit.blk.11.attn_v.weight" + ], + "retained_tensors": 759, + "bytes": 1097967488, + "sha256": "f7392aabb0f0a5df9e80652aff398329bd6396c4316a4f1f454ff9eb9fdb1d1f", + "raw_weights_preserved": true, + "inference_validated": true, + "latency_measured": false, + "sr_measured": false, + "inference_scope": "single fixed-input CUDA predict, not LIBERO smoke", + "inference_evidence": "candidate-checks/summary.json" +} diff --git a/research-notes/review-20261104/REPORT_HISTORY.md b/research-notes/review-20261104/REPORT_HISTORY.md new file mode 100644 index 00000000..ae102c5d --- /dev/null +++ b/research-notes/review-20261104/REPORT_HISTORY.md @@ -0,0 +1,212 @@ +> ARCHIVE: các trạng thái trong file này có thể đã hết hiệu lực. Xem REPORT_SMOLVLA.md ở root cho snapshot hiện tại. + +# Báo cáo tiến độ thực nghiệm SmolVLA + + +## Hiện trạng mới nhất +Cập nhật: 04/11/2026 15:00:32 UTC+07. Khối này tổng hợp dữ liệu mới; các mục phía dưới giữ lịch sử số đo. + +- Defaults screening: **38/40**; không phải official200. +- CUDA tests: **13/15**, hai lỗi bit-exact còn mở. Dependency client còn7metadata incompatibilities. +- Smoke biến thể: **10/10 cấu hình đã hoàn tất**, đang chạy `—`. +- Server cũ5555 đã được người dùng dừng sau các lượt benchmark/trace; không gán lại điều kiện đo trước đó. + +### Runtime flags — full protocol + +| Config | Mean / p50 / p90 (ms) | Peak traced allocation (MiB) | SR biến thể | +|---|---:|---:|---| +| defaults | 113.9 / 113.9 / 115.4 | 1912.47 | 38/40 screening | +| flash-mm | 91.5 / 91.5 / 91.8 | 1040.27 | 1/2 smoke | + +3process/config,3warmup+20reps,2views512²/16tokens. Best process theo mean; flash+mm giảmmean19,67% trong batch đối chiếu. Allocation không bao hết context/driver, không phải NVML resident VRAM. + +### GGUF — cùng runtime defaults + +| Model | File MiB | p50 / p90 ms | Peak allocation MiB | Max abs real7 | Smoke task0 | +|---|---:|---:|---:|---:|---| +| defaults | 1074.18 | 113.7 / 114.6 | 1912.47 | 0 | 2/2 (lượt gốc) | +| smolvla-coupled-tail-30 | 1024.75 | 110.3 / 110.9 | 1814.40 | 0.06335353 | 0/2; complete | +| smolvla-q4_0-lm | 626.76 | 110.2 / 111.0 | 865.07 | 0.08243826 | 1/2; complete | +| smolvla-q4_0-vision | 510.32 | 109.9 / 110.4 | 729.75 | 0.1761732 | 0/2; complete | +| smolvla-q5_0-lm | 665.67 | 110.5 / 111.2 | 903.98 | 0.03389797 | 1/2; complete | +| smolvla-q5_0-vision | 559.35 | 111.0 / 111.9 | 778.78 | 0.1002122 | 0/2; complete | +| smolvla-q8_0-lm | 782.38 | 109.3 / 110.3 | 1020.70 | 0.008421391 | 2/2; complete | +| smolvla-q8_0-vision | 706.45 | 110.3 / 111.0 | 925.88 | 0.04125226 | 2/2; complete | +| smolvla-vision-spaced-10 | 1047.10 | 104.5 / 105.7 | 1885.39 | 0.09496488 | 0/2; complete | +| smolvla-vision-tail-10 | 1047.10 | 106.6 / 108.1 | 1885.39 | 1.75651 | 0/2; complete | + +Latency bảng GGUF thuộc candidate-bench, có control riêng (khác batch runtime-pair). Mỗi config3process×(3warmup+20reps). Max abs dùng harness6token/noise cố định, không phải input16token của benchmark. Quant-lm bao gồm connector; action expert289tensor giữ float. Smoke2episode không thay screening40/official200. + +### Phase — GPU active kernel time + +| Config | Vision+connector ms | KV prefill ms | Denoise+crossKV ms | +|---|---:|---:|---:| +| defaults | 52.708 | 14.956 | 36.318 | +| flash-mm | 40.520 | 11.687 | 33.475 | +| smolvla-vision-spaced-10 | 43.740 | 14.920 | 36.591 | +| smolvla-coupled-tail-30 | 52.722 | 14.095 | 34.531 | + +20predict sau3warmup/trace. Gán module bằng biênD2D KVcopy từ source và kiểm tra toàn bộ kernel không thiếu/trùng; có cả direct launches và graph replay. Đây là active GPU time, loại CPU/copy/gaps; phase dùng16token thực thay48slot padded nên không phải phân rã chính xác baseline throughput. Denoise chưa phải riêng action expert, vision chưa tách connector. + +### Còn cần thực hiện + +- Hoàn tất smoke các biến thể; sau đó screening40 cho cấu hình được chọn. +- Baseline official10×20 đã xếp hàng tự chạy sau smoke (`official200-runner.log`); biến thể official chưa chạy. +- Chưa có CLP/CKA/calibration/finetuning; pruning hiện là depth ablation với lựa chọn tail/spaced. +- Chưa chốt cấu hình tốt nhất: tốc độ/memory và output synthetic không chứng minh giữ SR. + +Raw data: `research-notes/smolvla-followup-20261104/` — `screen40-defaults`, `candidate-bench`, `memory-all`, `candidate-checks`, `candidate-smokes`, `kernel-phase-traces`. + + + +**Cập nhật:** 04/11/2026 (UTC+07). **Model:** `vrfai/smolvla-libero-gguf`. + +Đã xác minh các giao diện CUDA, đo baseline, screen 10 cấu hình runtime, cài LIBERO và hoàn thành smoke task0 **2/2 episode thành công**. Đã có SR sàng lọc defaults38/40=95,0%; chưa có SR chính thức200 hoặc speedup pruning. Còn hai test CUDA fail và bảy xung đột dependency metadata cần được công bố rõ. + +## 1. Trạng thái sáu chặng + +| Chặng | Trạng thái thực tế | Phần còn mở | +|---|---|---| +| **1. Cài đặt** | Build hiện có cập nhật; CLI, server, binding, predict_check chạy CUDA; ctest 13/15 | Hai test bit-exact fail; đã có ablation fused/unfused, chưa sửa nguyên nhân | +| **2. Baseline** | p50/p90 đủ protocol; peak allocation CUDA riêng process đã đo | Resident VRAM NVML vẫn N/A; allocation không bao hết context/driver | +| **3. Tối ưu** | Screen 10 cấu hình runtime; đã export 6 GGUF quant và kiểm tra cấu trúc/raw tensors | Chưa full rerun, memory mỗi cấu hình, inference/smoke các GGUF mới hoặc SR theo flags | +| **4. LIBERO** | Smoke2/2; screening10task×4 đủ40episode: **38/40=95,0%**, có CSV/video | 7 metadata incompatibilities; chưa official200 hoặc SR biến thể | +| **5. Profile** | Đã đọc paper/source, có sơ đồ kiến trúc và source map; nsys memory đã đo | Chưa đo phase hoặc phân tích GEMM/attention/GPU idle | +| **6. Pruning** | Có exporter depth-ablation và 3 GGUF prototype đã kiểm tra cấu trúc | Chưa CKA/CLP, inference, latency module hoặc SR; chưa chứng minh speedup | + +## 2. Môi trường tái hiện + +| Thành phần | Đã xác minh | +|---|---| +| Repo / commit | `/home/doris/projects/vla.cpp` trên Linux WSL2; `4a542ed3bfb8f330388aceb8926294a951156172` | +| GPU | RTX 3060 Laptop, 6144 MiB, compute capability 8.6 | +| Driver / toolkit / profiler | 610.62 / nvcc13.3.73 / nsys2026.1.3 | +| Build benchmark/server | `build-cuda`, Release, CUDA ON, architecture86, VLA_BUILD_TESTS ON, CUDA graphs ON | +| GGUF | `~/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf`; 1.126.360.736 bytes | +| GGUF SHA256 | `6fb2d475c98b4c2cef3e27c4eff4e67b483740cbf983fff320a3b8a5e5f74fe8` | +| Điều kiện laptop baseline | Người dùng xác nhận cắm sạc, chế độ bình thường, không tản nhiệt ngoài | +| Client LIBERO | Python3.10.22; torch2.5.1+cpu; torchvision0.20.1+cpu; transformers4.51.3; numpy1.26.4 | +| Simulator / phụ trợ | mujoco2.3.2, robosuite1.4.0, lerobot0.4.3, gymnasium0.29.1, pyarrow12.0.1 | + +PyTorch CPU cho client là lựa chọn đã được người dùng xác nhận. Server C++ inference vẫn CUDA; `torch.cuda.is_available=False` ở client là dự kiến. Config LIBERO riêng trong `research-notes/smolvla-followup-20261104/libero-config`; không xóa/ghi đè `~/.libero`. Phiên bản đầy đủ: [libero-freeze.txt](research-notes/smolvla-followup-20261104/libero-freeze.txt). + +Không sửa source mô hình, test tolerance, commit hoặc push. Các số baseline và screen được tổng hợp từ log đã lưu, không coi là một lượt đo duy nhất cùng thời điểm. Ứng dụng GPU khác, nhiệt độ phòng và vị trí kê máy chưa xác nhận đầy đủ. + +## 3. Chạy thử và lỗi CUDA còn mở + +- Incremental build exit0 (`ninja: no work to do`), chưa phải clean rebuild. +- ctest: **13/15 đạt**, 21,76 giây. Hai fail: `foldquant_cuda_op`, `fused_cuda_ops`. +- CLI chạy one-shot CUDA và trả action. Input smoke là ảnh có sẵn/token synthetic, chưa xác minh tokenizer tự nhiên ở lượt CLI. +- Binding, server loopback và predict_check: output hữu hạn `(50,32)`, khớp bit với cùng ảnh/token/state/noise cố định, max_abs=0. Chỉ 7 cột đầu là action thực. +- FoldQuant fail đầu tiên: `w8a8_rot64_bias K=128 N=64 T=5`, CUDA `-3.4419589` vs CPU `-3.44195867`. Test dùng so từng bit. Log no-fma cũ cũng fail; target FoldQuant mặc định đã có `-fmad=false`. +- Chuyển kernel FoldQuant sang WMMA vẫn fail cùng giá trị. Chưa xác định nguyên nhân hoặc tác động SR. + +Ablation predict_check trên cùng input: default lặp lại khớp bit; `VLA_FUSED_OPS=0` so default khác 350/1600 giá trị, max_abs **0,000545874**, RMSE toàn32 **0,000100497**. Tắt exact GEMM riêng không đổi output trên input này; tắt exact attention có đổi output nhưng vẫn chưa khớp unfused. Không kết luận kernel cụ thể từ các ablation này. + +Bằng chứng: [ctest](research-notes/smolvla-audit-20261104/ctest-build-cuda.log), [interfaces](research-notes/smolvla-audit-20261104/interfaces.log), [ablation](research-notes/smolvla-followup-20261104/ablation-summary.json), [isolate](research-notes/smolvla-followup-20261104/isolate-summary.json). + +## 4. Baseline latency và memory + +Engine `predict()` trên synthetic input: defaults, 2 views×512×512, 16 tokens, chunk50, real action7/padded32, 10 denoise steps. Mỗi process 3 warmup+20 reps, ba process tuần tự. Chọn process có mean thấp nhất theo docs/benchmark/rtx-3060.md. + +| Process | min ms | mean ms | p50 ms | p90 ms | vision ms | +|---|---:|---:|---:|---:|---:| +| **1 — được chọn** | 111,0 | 112,0 | **111,8** | **112,8** | 55,4 | +| 2 | 112,5 | 113,6 | 113,6 | 114,6 | 55,6 | +| 3 | 113,1 | 114,7 | 114,8 | 115,4 | 56,1 | + +Không gồm simulator/transport/video. Số làm tròn từ benchmark, không có latency raw từng rep. Telemetry sampled gồm cả load/idle: 47–62°C, SM210–2017MHz, power10,02–112,83W; chưa đủ kết luận throttle. Chu kỳ thực tế lớn hơn0,5s vì thời gian query NVML. + +| Chỉ số bộ nhớ | Kết quả | Giới hạn | +|---|---:|---| +| **Peak traced CUDA allocation riêng benchmark** | **1912,47 MiB** | 2.005.369.572bytes, giống cả3 process nsys; Device+Device Static, có VMM | +| Resident VRAM process qua NVML | **N/A** | Chưa có số theo phương pháp gốc của repo | +| Peak sampled VRAM toàn GPU, lượt baseline trước | 3944MiB | Có cả phần khác, chỉ tham khảo | + +Peak allocation được tính bằng ledger allocation/deallocation theo timestamp, từng process/device; không đếm host/pinned RAM hoặc virtual address reservation. Không có free thiếu allocation, live âm hoặc diagnostic lost/drop. Không bao hết context/driver không được xuất thành event. Peak tính cả load/warmup/inference/cleanup. Latency dưới tracing không thay baseline; hai số1912,47 và3944 thuộc các lượt khác nhau, không trừ để tính overhead. + +Bằng chứng: [baseline1](research-notes/smolvla-audit-20261104/baseline-1.log), [baseline2](research-notes/smolvla-audit-20261104/baseline-2.log), [baseline3](research-notes/smolvla-audit-20261104/baseline-3.log), [memory summary](research-notes/smolvla-vram-20261104/memory-summary.json). + +## 5. Runtime screen — kết quả sơ bộ + +2 warmup+5 reps mỗi cấu hình, một process/config, cùng benchmark input512²/2views/16tokens. Độ lệch action dùng **harness riêng** với 6 tokens và ảnh/state/noise cố định, so defaults cùng lượt. RMSE dưới đây chỉ tính50×7 chiều thực, loại padding zero. Các chiều có thể khác đơn vị; không dùng độ lệch này suy ra SR. + +| Runtime flags | Mean screen (ms) | Max abs, real7 | RMSE, real7 | +|---|---:|---:|---:| +| `defaults` | 111.9 | 0 | 0 | +| `--flash-attn` | 99.9 | 0.00078821182 | 0.00028052564 | +| `--mm-prec default` | 106.1 | 0.0020601451 | 0.00066080622 | +| `--flash-attn --mm-prec default` | 93.0 | 0.0027671456 | 0.00061441981 | +| `--weight-dtype bf16` | 134.3 | 0 | 0 | +| `--weight-dtype bf16 --flash-attn` | 121.9 | 0.00078821182 | 0.00028052564 | +| `--weight-dtype f16` | 135.8 | 0.00097492337 | 0.00026844391 | +| `--weight-dtype f16 --flash-attn` | 118.7 | 0.0012158751 | 0.0002933432 | +| `--num-steps 5` | 95.6 | 0.059932411 | 0.018432219 | +| `--num-steps 3` | 89.2 | 0.30797094 | 0.042685641 | + +`flash+mm-default` là ứng viên screen nhanh hơn defaults, chưa phải cấu hình được xác nhận tốt nhất. `steps3` có mean thấp nhất trong screen nhưng độ lệch action lớn hơn đáng kể. Chưa full rerun theo protocol, memory từng cấu hình, quantization hoặc SR cho các flags. Không gộp số screen5 reps vào baseline20 reps. + +Bằng chứng: [screen summary](research-notes/smolvla-followup-20261104/runtime-screen/summary.json), [script screen](research-notes/smolvla-followup-20261104/screen_runtime.py), [script đối chiếu](research-notes/smolvla-followup-20261104/summarize_runtime.py). + +## 6. LIBERO — cài đặt và smoke + +Kiểm tra cài đặt exit0, marker `LIBERO_INSTALL_AND_RENDER_OK`: import client/adapters OK; suite libero_object có10 task; task0 reset, render agentview/eye_in_hand đều128×128×3, thực hiện1 dummy action thành công. Đây là kiểm tra riêng trước smoke. + +Smoke GGUF gốc/defaults: libero_object/task0 “pick up the alphabet soup and place it in the basket”, seed42, n_action_steps1; serverCUDA loopback15556, clientCPU+EGL. Client exit0, hai video được lưu và mở/giải mã frame đầu thành công (135/160 frame, 256×512, 30fps), không skip/abort. + +| Episode | Success | Số bước | Average inference/step do client báo | +|---|---|---:|---:| +| 0 | True | 134 | 151,03ms | +| 1 | True | 159 | 137,71ms | + +**Smoke: 2/2 thành công.** Summary client ghi average144,37ms/step. Chưa phải screening40 episode hoặc official200 episode; không dùng client timing thay engine baseline. Không suy ra SR tổng quát từ hai episode của một task. + +Giới hạn và cảnh báo đã giữ nguyên: + +- `uv pip check` có7 xung đột: pettingzoo/Gymnasium; datasets/PyArrow; OpenCV headless/NumPy; LeRobot/TorchVision; LeRobot/Gymnasium; rerun/NumPy; rerun/PyArrow. Các pin repo chạy được import/reset/render/smoke, nhưng chưa chứng minh mọi tính năng phụ của các package này hoạt động. Không báo môi trường dependency sạch. +- Warmup synthetic startup server dùng224², không hợp SmolVLA512² nên fail và skip; request thật của client512² đã chạy CUDA. Chưa sửa warmup. +- Observation space cảnh báo: đã xác nhận Text mặc định không chấp nhận dấu cách trong task_description. Chưa sửa declaration hoặc observation; chưa loại trừ mọi nguyên nhân khác ở từng trường. +- Cảnh báo thiếu dataset path không ngăn smoke (task/init/assets có sẵn); chưa tải training dataset. Tokenizer fork warning được giữ trong log. + +Bằng chứng: [verify](research-notes/smolvla-followup-20261104/libero-verify.log), [pip check](research-notes/smolvla-followup-20261104/libero-pip-check.log), [smoke client](research-notes/smolvla-followup-20261104/smoke-original/client.log), [smoke server](research-notes/smolvla-followup-20261104/smoke-original/server.log), [CSV](research-notes/smolvla-followup-20261104/smoke-original/outputs/smolvla/libero_object/task_0/episodes.csv), [summary](research-notes/smolvla-followup-20261104/smoke-original/outputs/smolvla/libero_object/task_0/summary.txt). + +## 7. Quyết định và bước tiếp theo + +**Baseline đã chốt:** người dùng chọn defaults của repo, công bố rõ hai test fail và độ lệch fused/unfused. Screening bản gốc 10 task × 4 episode được triển khai riêng với seed42 và n_action_steps1; kết quả/progress ở screen40-defaults. Chưa có official SR. + +Sau khi chốt: full rerun ứng viên runtime, đo allocation từng cấu hình cùng định nghĩa; quantization nhiều mức có/không vision, smoke mỗi GGUF mới; screening10×4, official10×20 cho bản gốc và tối đa3 cấu hình tốt nhất. Kiến trúc/phase/nsys kernel và pruning vẫn chưa có kết quả. + +Lệnh tái hiện đầy đủ, diễn biến cài và nguyên văn mentor: [NOTES_SMOLVLA.md](NOTES_SMOLVLA.md). Không commit/push. + + +Bổ sung kiến trúc: [ARCHITECTURE_AND_PROFILE.md](research-notes/smolvla-followup-20261104/ARCHITECTURE_AND_PROFILE.md), dựa trên paper và metadata checkpoint thật. Source cfg32 VLM/expert, vision12; chưa dùng số minh họa paper để thay cấu hình đang chạy. Phase có thay đổi topology/padding nên chưa coi là phân rã chính xác của baseline. Screening hiện giữ noise mặc định ngẫu nhiên; seed42 môi trường không ghim noise action. Các lượt smoke/screen không bảo đảm tái hiện trajectory từng bit giữa hai server. + + +Các file model chuẩn bị, chưa inference/SR: [quantization manifest](research-notes/smolvla-followup-20261104/quantization/manifest.json), [pruning summary](research-notes/smolvla-followup-20261104/pruning-summary.json). Mô hình gốc không bị sửa. + + +## Model quantization đã export (chưa inference) + +| File | Bytes | MiB | Scope | +|---|---:|---:|---| +| smolvla-q8_0-lm | 820389536 | 782.38 | VLM + connector; giữ ViT float | +| smolvla-q8_0-vision | 740763296 | 706.45 | VLM + connector + ViT | +| smolvla-q5_0-lm | 698001056 | 665.67 | VLM + connector; giữ ViT float | +| smolvla-q5_0-vision | 586524320 | 559.35 | VLM + connector + ViT | +| smolvla-q4_0-lm | 657204896 | 626.76 | VLM + connector; giữ ViT float | +| smolvla-q4_0-vision | 535111328 | 510.32 | VLM + connector + ViT | + +Action expert giữ float và được kiểm tra raw payload không đổi (289tensor). Giữ791tensor và metadata. Không điền latency/VRAM/SR cho các model chưa chạy. + + +## Kết quả screening defaults đã chốt + +**38/40 (95,0%)**, 10task ×4episode,0abort/missing. Task3 và5 đạt3/4, tám task khác4/4; hai failure đều500step. Đây là screening, không thay official10×20. Seed42 chỉ cố định môi trường; noise server vẫn random theo defaults. Raw [result.json](research-notes/smolvla-followup-20261104/screen40-defaults/result.json), [protocol](research-notes/smolvla-followup-20261104/screen40-defaults/protocol.json), [artifact audit](research-notes/smolvla-followup-20261104/screen40-artifact-audit.json). Cả40video đã mở frame đầu và kiểm tra sốframe khớp steps+1, chưa decode toàn bộ mọi frame. + +## Phần 3 — đã bổ sung đủ bảng tối ưu không train + +Xem [PART3_OPTIMIZATION.md](PART3_OPTIMIZATION.md): 10 runtime configs và 6 quantized GGUF, mỗi hàng có kích thước, peak traced allocation, latency p50/p90/mean và max abs/RMSE action real7. Runtime bổ sung đủ 3 process × (3 warmup +20 reps), memory trace riêng đủ 30 PID; giữ dữ liệu batch quantization riêng. Runtime mới defaults mean104.0ms, flash+mm85.5ms; không thay thế các số lịch sử bằng số mới. WSL vẫn chưa đo được toàn bộ peak resident VRAM process. Không chạy SR/pruning trong đợt này. + +## Sàng lọc biến thể — đang chạy + +Đã bắt đầu flash+mm → Q8 không vision → Q8 có vision, mỗi cấu hình10task×4episode (tổng120). Giữ seed42, actionsteps1, repo default random noise. Nhận ZMQ không timeout; mỗi task có giới hạn1800giây ở runner. Nếu thiếu/abort hoặc client lỗi sẽ dừng batch và giữ artifact, không giảm mẫu số. Raw: `research-notes/smolvla-followup-20261104/screen40-variants/`; log tổng `screen-variants-runner.log`. Đây là screening, chưa phải official200 của biến thể. diff --git a/research-notes/review-20261104/markdown-audit.json b/research-notes/review-20261104/markdown-audit.json new file mode 100644 index 00000000..921aa928 --- /dev/null +++ b/research-notes/review-20261104/markdown-audit.json @@ -0,0 +1,288 @@ +[ + { + "file": ".github/ISSUE_TEMPLATE/bug_report.md", + "lines": 26, + "missing_relative_targets": [] + }, + { + "file": ".github/ISSUE_TEMPLATE/model_request.md", + "lines": 20, + "missing_relative_targets": [] + }, + { + "file": ".github/pull_request_template.md", + "lines": 12, + "missing_relative_targets": [] + }, + { + "file": "CHANGELOG.md", + "lines": 258, + "missing_relative_targets": [] + }, + { + "file": "CONTRIBUTING.md", + "lines": 89, + "missing_relative_targets": [] + }, + { + "file": "LICENSE.md", + "lines": 201, + "missing_relative_targets": [] + }, + { + "file": "NOTES_SMOLVLA.md", + "lines": 444, + "missing_relative_targets": [] + }, + { + "file": "PAPER_READING_SMOLVLA_CLP.md", + "lines": 21, + "missing_relative_targets": [] + }, + { + "file": "PART3_OPTIMIZATION.md", + "lines": 59, + "missing_relative_targets": [] + }, + { + "file": "README.md", + "lines": 203, + "missing_relative_targets": [] + }, + { + "file": "REPORT_SMOLVLA.md", + "lines": 73, + "missing_relative_targets": [ + "MENTOR_REVIEW.md" + ] + }, + { + "file": "SECURITY.md", + "lines": 23, + "missing_relative_targets": [] + }, + { + "file": "bindings/python/README.md", + "lines": 57, + "missing_relative_targets": [] + }, + { + "file": "ci/README.md", + "lines": 132, + "missing_relative_targets": [] + }, + { + "file": "docs/ADOPTION.md", + "lines": 50, + "missing_relative_targets": [] + }, + { + "file": "docs/ARCHITECTURE.md", + "lines": 130, + "missing_relative_targets": [] + }, + { + "file": "docs/DOCKER.md", + "lines": 307, + "missing_relative_targets": [] + }, + { + "file": "docs/EVAL.md", + "lines": 91, + "missing_relative_targets": [ + "../eval/sim/simpler/SimplerEnv" + ] + }, + { + "file": "docs/KNOWN_ISSUES.md", + "lines": 9, + "missing_relative_targets": [] + }, + { + "file": "docs/MODELS.md", + "lines": 71, + "missing_relative_targets": [] + }, + { + "file": "docs/PREBUILT.md", + "lines": 52, + "missing_relative_targets": [] + }, + { + "file": "docs/QUANTIZATION.md", + "lines": 343, + "missing_relative_targets": [] + }, + { + "file": "docs/UPSTREAMING.md", + "lines": 86, + "missing_relative_targets": [] + }, + { + "file": "docs/USAGE.md", + "lines": 109, + "missing_relative_targets": [] + }, + { + "file": "docs/backend/cuda.md", + "lines": 191, + "missing_relative_targets": [] + }, + { + "file": "docs/backend/hexagon-windows.md", + "lines": 333, + "missing_relative_targets": [] + }, + { + "file": "docs/backend/hexagon.md", + "lines": 359, + "missing_relative_targets": [] + }, + { + "file": "docs/backend/metal.md", + "lines": 150, + "missing_relative_targets": [] + }, + { + "file": "docs/backend/ov-progress.md", + "lines": 194, + "missing_relative_targets": [] + }, + { + "file": "docs/backend/ov.md", + "lines": 411, + "missing_relative_targets": [] + }, + { + "file": "docs/backend/rocm.md", + "lines": 271, + "missing_relative_targets": [] + }, + { + "file": "docs/backend/sycl.md", + "lines": 417, + "missing_relative_targets": [] + }, + { + "file": "docs/backend/wsl.md", + "lines": 196, + "missing_relative_targets": [] + }, + { + "file": "docs/benchmark/README.md", + "lines": 69, + "missing_relative_targets": [] + }, + { + "file": "docs/benchmark/TEMPLATE.md", + "lines": 177, + "missing_relative_targets": [] + }, + { + "file": "docs/benchmark/apple-m4.md", + "lines": 141, + "missing_relative_targets": [] + }, + { + "file": "docs/benchmark/arc-a380.md", + "lines": 145, + "missing_relative_targets": [] + }, + { + "file": "docs/benchmark/core-i5-12400f.md", + "lines": 141, + "missing_relative_targets": [] + }, + { + "file": "docs/benchmark/core-i7-14700f.md", + "lines": 147, + "missing_relative_targets": [] + }, + { + "file": "docs/benchmark/core-i9-14900hx.md", + "lines": 143, + "missing_relative_targets": [] + }, + { + "file": "docs/benchmark/core-ultra-x7-358h.md", + "lines": 480, + "missing_relative_targets": [] + }, + { + "file": "docs/benchmark/jetson-agx-orin.md", + "lines": 218, + "missing_relative_targets": [] + }, + { + "file": "docs/benchmark/jetson-orin-nano.md", + "lines": 139, + "missing_relative_targets": [] + }, + { + "file": "docs/benchmark/jetson-orin-nx.md", + "lines": 155, + "missing_relative_targets": [] + }, + { + "file": "docs/benchmark/libero.md", + "lines": 61, + "missing_relative_targets": [] + }, + { + "file": "docs/benchmark/qualcomm-iq10.md", + "lines": 148, + "missing_relative_targets": [] + }, + { + "file": "docs/benchmark/rtx-3060.md", + "lines": 145, + "missing_relative_targets": [] + }, + { + "file": "docs/benchmark/rtx-3090.md", + "lines": 137, + "missing_relative_targets": [] + }, + { + "file": "docs/benchmark/rtx-5070-laptop.md", + "lines": 145, + "missing_relative_targets": [] + }, + { + "file": "docs/benchmark/rtx-5090.md", + "lines": 123, + "missing_relative_targets": [] + }, + { + "file": "docs/benchmark/rx-9060-xt.md", + "lines": 163, + "missing_relative_targets": [] + }, + { + "file": "docs/benchmark/ryzen-5-5500.md", + "lines": 141, + "missing_relative_targets": [] + }, + { + "file": "docs/benchmark/snapdragon-x-hexagon.md", + "lines": 221, + "missing_relative_targets": [] + }, + { + "file": "eval/README.md", + "lines": 122, + "missing_relative_targets": [ + "reports/" + ] + }, + { + "file": "examples/chat/README.md", + "lines": 158, + "missing_relative_targets": [] + }, + { + "file": "research-notes/smolvla-followup-20261104/ARCHITECTURE_AND_PROFILE.md", + "lines": 118, + "missing_relative_targets": [] + } +] diff --git a/research-notes/smolvla-audit-20261104/baseline-command.json b/research-notes/smolvla-audit-20261104/baseline-command.json new file mode 100644 index 00000000..89c923f4 --- /dev/null +++ b/research-notes/smolvla-audit-20261104/baseline-command.json @@ -0,0 +1,15 @@ +[ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" +] diff --git a/research-notes/smolvla-audit-20261104/check_interfaces.py b/research-notes/smolvla-audit-20261104/check_interfaces.py new file mode 100644 index 00000000..511e47c3 --- /dev/null +++ b/research-notes/smolvla-audit-20261104/check_interfaces.py @@ -0,0 +1,75 @@ +"""Run from repo root: .venv/bin/python research-notes/smolvla-audit-20261104/check_interfaces.py.""" +import os +from pathlib import Path +import subprocess +import sys +import time + +import numpy as np +import zmq + +ROOT = Path(__file__).resolve().parents[2] +OUT = Path(__file__).resolve().parent +MODEL = Path('/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf') +os.environ['VLA_LIBRARY'] = str(ROOT / 'build-cuda/libvla.so') +sys.path.insert(0, str(ROOT / 'bindings/python')) +import vla_cpp + +y, x, c = np.indices((512, 512, 3)) +images = [((x + 2*y + 40*c + 17*v) & 255).astype(np.uint8) for v in range(2)] +tokens = [1, 100, 200, 300, 400, 2] +with vla_cpp.load(str(MODEL)) as model: + cfg = model.config + state = np.zeros(cfg.max_state_dim, dtype=np.float32) + state[:cfg.real_state_dim] = np.float32(.01) * np.arange(1, cfg.real_state_dim+1, dtype=np.float32) + noise = np.float32(.001) * ((np.arange(cfg.max_action_dim*cfg.n_suffix, dtype=np.uint64)*2654435761) % 1000).astype(np.float32) - np.float32(.5) + actions = model.predict(images, tokens=tokens, state=state, noise=noise) + np.save(OUT / 'binding-actions.npy', actions) + print('binding shape:', actions.shape, 'finite:', bool(np.isfinite(actions).all()), flush=True) + for name, _ in cfg._fields_: + print('config', name, getattr(cfg, name), flush=True) + +lines = (OUT / 'predict-default.out').read_text().splitlines() +start = next(i for i, line in enumerate(lines) if line.startswith('action_len=')) +reference = np.asarray([float(v) for v in lines[start+1:]], dtype=np.float32).reshape(actions.shape) +print('binding vs predict_check: max_abs =', float(np.max(np.abs(actions-reference))), 'bit_equal =', np.array_equal(actions.view(np.uint32), reference.view(np.uint32)), flush=True) + +subprocess.run(['protoc', '--proto_path=src/serving', '--python_out='+str(OUT), 'src/serving/vla.proto'], cwd=ROOT, check=True) +import vla_pb2 as pb +req = pb.PredictRequest(request_id=1, lang_tokens=tokens, state=state.tolist(), noise=noise.tolist()) +for image in images: + req.images.add(encoding=pb.Image.RGB_U8, height=512, width=512, data=image.tobytes()) +context = zmq.Context() +with (OUT / 'server.log').open('w') as log: + server = subprocess.Popen([str(ROOT/'build-cuda/vla-server'), '--bind', 'tcp://127.0.0.1:15555', '--warmup', '0', str(MODEL)], cwd=ROOT, stdout=log, stderr=subprocess.STDOUT) + try: + deadline = time.monotonic() + 120 + while 'ready.' not in (OUT / 'server.log').read_text(): + if server.poll() is not None: + raise RuntimeError('server exited; see server.log') + if time.monotonic() > deadline: + raise TimeoutError('server readiness timeout') + time.sleep(.2) + socket = context.socket(zmq.REQ) + socket.setsockopt(zmq.LINGER, 0) + socket.setsockopt(zmq.RCVTIMEO, 120000) + socket.connect('tcp://127.0.0.1:15555') + try: + socket.send(req.SerializeToString()) + response = pb.PredictResponse.FromString(socket.recv()) + finally: + socket.close() + if response.error: + raise RuntimeError(response.error) + received = np.asarray(response.action_chunk, dtype=np.float32).reshape(response.chunk_size, response.action_dim) + np.save(OUT / 'server-actions.npy', received) + print('server shape:', received.shape, 'finite:', bool(np.isfinite(received).all()), flush=True) + print('server vs binding: max_abs =', float(np.max(np.abs(received-actions))), 'bit_equal =', np.array_equal(received.view(np.uint32), actions.view(np.uint32)), flush=True) + finally: + server.terminate() + try: + server.wait(timeout=10) + except subprocess.TimeoutExpired: + server.kill() + server.wait() + context.term() diff --git a/research-notes/smolvla-audit-20261104/cli-actions.out b/research-notes/smolvla-audit-20261104/cli-actions.out new file mode 100644 index 00000000..80b8f1ea --- /dev/null +++ b/research-notes/smolvla-audit-20261104/cli-actions.out @@ -0,0 +1,61 @@ +vla: arch = smolvla +vla: config = /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 416 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 1763.1 MiB +vla: [vram] after weights alloc used=2789.5 MiB free=3354.0 MiB (+1764.0 MiB) +-0.2005 0.083126 -0.639693 0.060837 -0.0769788 -0.0152894 0.995776 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.244202 0.0311372 -0.646793 0.0545044 -0.0311276 -0.00754145 0.999332 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.249417 -0.0122615 -0.552275 0.0473419 0.0134398 -0.00192703 0.984477 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.299404 -0.0277845 -0.518961 0.0440475 0.0170677 0.0096071 -0.975142 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.348568 0.0996208 -0.513189 0.0219729 0.0387334 0.00876038 -0.986454 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.448424 0.119546 -0.460303 0.00377726 0.0377579 0.0117348 -1.015 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.482831 0.138071 -0.407174 -0.00666456 0.0306444 0.018602 -0.98842 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.509109 0.118347 -0.405963 -0.000809437 0.0347861 0.0248744 -0.986556 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.436464 0.122401 -0.379172 -0.000145182 0.0261476 0.0170095 -0.977945 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.346601 0.162555 -0.36363 -0.000453367 0.0101075 0.00218556 -0.989808 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.388072 0.155596 -0.362273 -0.000266909 0.0188567 -0.00228986 -0.992223 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.316723 0.113955 -0.307371 -0.000347775 0.0184278 -0.0105199 -0.975766 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.329813 0.106166 -0.325433 -0.000966191 0.0147046 -0.00946901 -0.98568 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.293601 0.12925 -0.315502 0.000393145 0.00892196 -0.00572366 -0.987991 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.157253 0.131793 -0.224854 0.000853621 -0.00394587 -0.0113398 -1.00981 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.00020045 0.0953648 -0.161395 0.00066393 -0.0343169 -0.0466027 -0.990618 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +0.0104467 0.102673 -0.13747 0.000500017 -0.037793 -0.0612388 -0.990518 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.0156969 0.114205 -0.11111 0.00126827 -0.0334451 -0.0585205 -0.983881 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.0311869 0.136692 -0.102157 9.18956e-05 -0.0343705 -0.0598496 -0.998083 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.0479693 0.0935576 -0.12901 0.00732773 -0.0509172 -0.0676083 -0.989117 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.038686 0.0985549 -0.0680581 0.00280945 -0.0496286 -0.0650105 -1.00653 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.121732 0.087699 -0.061225 0.00117402 -0.0500174 -0.0519715 -1.03001 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.096312 0.0865532 -0.0220088 0.000744937 -0.0460039 -0.0496328 -1.0163 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.104663 0.0705012 -0.0481502 0.00187821 -0.0633426 -0.0422587 -1.00122 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.112702 0.06518 -0.073937 0.00131609 -0.0529548 -0.0313544 -0.991963 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.164033 0.0533079 -0.0478849 0.00173752 -0.0735801 -0.0274567 -0.996738 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.224469 0.0339829 -0.064068 0.00305167 -0.0746036 -0.0328372 -1.00188 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.203056 0.0406677 -0.0719261 0.00559608 -0.0666863 -0.0321427 -0.998614 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.196092 0.0458669 -0.0667414 0.00560506 -0.0650084 -0.0334847 -1.00576 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.1776 0.0407042 -0.0466766 0.00379752 -0.0586686 -0.0355793 -0.993362 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.156434 0.0382966 -0.0332516 0.0023999 -0.0561778 -0.0365461 -0.997623 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.133944 0.0372678 -0.0250896 0.00230024 -0.0527898 -0.0368608 -0.988567 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.141485 0.0415614 -0.0309051 0.00243032 -0.0515571 -0.0365175 -1.01395 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.138345 0.0537318 -0.0345346 0.00309144 -0.0541852 -0.0360976 -0.983134 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.136702 0.0583981 -0.0369655 0.00191516 -0.056972 -0.0337258 -0.994811 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.137927 0.0669506 -0.0420278 0.00200846 -0.0581153 -0.0335089 -1.01489 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.130931 0.0775143 -0.0475641 0.00221379 -0.0570611 -0.0318992 -0.985911 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.12977 0.0792115 -0.0471211 0.00396061 -0.0567787 -0.0330722 -0.995258 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.130141 0.0807026 -0.0504019 0.0018089 -0.0568163 -0.0322515 -1.00208 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.134261 0.0881126 -0.0606516 0.00189031 -0.0566257 -0.032361 -1.00829 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.140379 0.0837541 -0.0604891 0.00218404 -0.0551269 -0.032974 -0.990654 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.14196 0.0811076 -0.0515429 0.00351508 -0.0551562 -0.0333947 -0.990106 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.123685 0.0731909 -0.0404097 0.00231516 -0.0567213 -0.0333122 -0.991671 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.127306 0.0714076 -0.0514111 0.00276595 -0.0552363 -0.0329821 -0.997399 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.135193 0.063899 -0.0617174 0.00250466 -0.0551197 -0.0325633 -0.997465 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.145309 0.0713867 -0.0712721 0.00288032 -0.0603882 -0.0325981 -0.997845 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.149813 0.0806633 -0.0751688 0.00298135 -0.0619012 -0.0332217 -1.00475 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.151318 0.0757708 -0.082219 0.0028774 -0.064324 -0.032728 -1.01087 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.148432 0.0710765 -0.0814138 0.00297051 -0.0663903 -0.0320776 -1.02887 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 +-0.144003 0.0830998 -0.0867932 0.00248128 -0.0694296 -0.0300263 -0.982323 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 diff --git a/research-notes/smolvla-audit-20261104/ctest-build-cuda.log b/research-notes/smolvla-audit-20261104/ctest-build-cuda.log new file mode 100644 index 00000000..32c810e0 --- /dev/null +++ b/research-notes/smolvla-audit-20261104/ctest-build-cuda.log @@ -0,0 +1,85 @@ +Test project /home/doris/projects/vla.cpp/build-cuda + Start 1: vision_common + 1/15 Test #1: vision_common .................... Passed 0.00 sec + Start 2: rope_conventions + 2/15 Test #2: rope_conventions ................. Passed 0.01 sec + Start 3: c_api + 3/15 Test #3: c_api ............................ Passed 1.08 sec + Start 4: dit_common + 4/15 Test #4: dit_common ....................... Passed 0.00 sec + Start 5: graph_names + 5/15 Test #5: graph_names ...................... Passed 0.00 sec + Start 6: qwen3vl_vit + 6/15 Test #6: qwen3vl_vit ...................... Passed 0.00 sec + Start 7: config_guard + 7/15 Test #7: config_guard ..................... Passed 0.08 sec + Start 8: prompt + 8/15 Test #8: prompt ........................... Passed 0.07 sec + Start 9: foldquant_cpu_op + 9/15 Test #9: foldquant_cpu_op ................. Passed 0.08 sec + Start 10: foldquant_dequant +10/15 Test #10: foldquant_dequant ................ Passed 0.06 sec + Start 11: foldquant_cuda_op +11/15 Test #11: foldquant_cuda_op ................***Failed 0.71 sec +ggml_cuda_init: found 1 CUDA devices (Total VRAM: 6143 MiB): + Device 0: NVIDIA GeForce RTX 3060 Laptop GPU, compute capability 8.6, VMM: yes, VRAM: 6143 MiB +FAIL: w8a8_rot64_bias K=128 N=64 T=5: y[5] = -3.4419589 vs CPU -3.44195867 + + Start 12: foldquant_cuda_op_ref +12/15 Test #12: foldquant_cuda_op_ref ............ Passed 18.03 sec + Start 13: fused_cuda_ops +13/15 Test #13: fused_cuda_ops ...................***Failed 0.81 sec +ggml_cuda_init: found 1 CUDA devices (Total VRAM: 6143 MiB): + Device 0: NVIDIA GeForce RTX 3060 Laptop GPU, compute capability 8.6, VMM: yes, VRAM: 6143 MiB +vla(test): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +ln_affine/768 FAIL (1671 of 59136 values differ) +ln_affine/1152 FAIL (2085 of 88704 values differ) +ln_modulate FAIL (4814 of 62976 values differ) +rms_mul/896 FAIL (7908 of 47488 values differ) +rms_mul/1024 bit-identical +rms_mul/2048 bit-identical +rms_modulate bit-identical +bias_res bit-identical +bias_gelu bit-identical +bias_gelu_erf bit-identical +bias_gate_res bit-identical +gate_res bit-identical +silu_mul bit-identical +gelu_mul bit-identical +mm_exact bit-identical +ln_bf16_mm_exact FAIL (3441 of 294912 values differ) +qkv_heads_attn/hd64 FAIL (1243 of 263168 values differ) +qkv_heads_attn/hd72 FAIL (808 of 296064 values differ) +heads_rope_gqa_mask FAIL (63 of 107520 values differ) +glu_act/gelu_mul_A8_K16384_rot64 bit-identical +glu_act/gelu_mul_A4_K16384_rot64 bit-identical +glu_act/gelu_mul_A8_K4096_rot64_pre bit-identical +glu_act/gelu_mul_A4_K4096_rot64_post bit-identical +glu_act/gelu_mul_A8_K1024_rot32_pre bit-identical +glu_act/gelu_mul_A8_K2048_rot1 bit-identical +glu_act/silu_mul_A8_K6144_rot64 bit-identical +glu_act/silu_mul_A4_K6144_rot64 bit-identical +glu_act/gelu_A8_K6144_rot64_pre bit-identical +glu_act/gelu_A4_K6144_rot64_pre bit-identical +norm_act/ln_modulate_A4_K1536_rot64_pre FAIL (5 of 8036 values differ) +norm_act/ln_modulate_A8_K1536_rot64_post FAIL (3 of 15908 values differ) +norm_act/ln_A4_K1536_rot64_pre FAIL (4 of 8036 values differ) +norm_act/ln_A8_K2048_rot32 bit-identical +norm_act/rms_modulate_A4_K1024_rot64_pre bit-identical +norm_act/rms_modulate_A8_K1024_rot64_post bit-identical +norm_act/rms_modulate_A4_K3072_rot16 FAIL (1 of 5044 values differ) +FAIL + + Start 14: bf16_cuda_ops +14/15 Test #14: bf16_cuda_ops .................... Passed 0.45 sec + Start 15: bf16_cuda_ops_flat +15/15 Test #15: bf16_cuda_ops_flat ............... Passed 0.36 sec + +87% tests passed, 2 tests failed out of 15 + +Total Test time (real) = 21.76 sec + +The following tests FAILED: + 11 - foldquant_cuda_op (Failed) + 13 - fused_cuda_ops (Failed) +Errors while running CTest diff --git a/research-notes/smolvla-audit-20261104/model-sha256.txt b/research-notes/smolvla-audit-20261104/model-sha256.txt new file mode 100644 index 00000000..7f3a0727 --- /dev/null +++ b/research-notes/smolvla-audit-20261104/model-sha256.txt @@ -0,0 +1 @@ +6fb2d475c98b4c2cef3e27c4eff4e67b483740cbf983fff320a3b8a5e5f74fe8 /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf diff --git a/research-notes/smolvla-audit-20261104/predict-default.out b/research-notes/smolvla-audit-20261104/predict-default.out new file mode 100644 index 00000000..16c9492c --- /dev/null +++ b/research-notes/smolvla-audit-20261104/predict-default.out @@ -0,0 +1,1612 @@ +vla: arch = smolvla +vla: config = /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 416 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 1763.1 MiB +vla: [vram] after weights alloc used=2789.5 MiB free=3354.0 MiB (+1764.0 MiB) +action_len=1600 +-0.0459292755 +0.0341953859 +0.111380555 +-0.0117479227 +-0.00130276568 +-0.000827913638 +-0.955941021 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0409535393 +0.00839561969 +0.173567623 +-0.00718310522 +-0.00332403276 +-0.00521435356 +-0.968266487 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0364043266 +0.00978957117 +0.180259198 +-0.00279493257 +-0.00202238094 +-0.0046483581 +-0.963026881 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0441624671 +0.023518689 +0.187531054 +-0.00325232884 +-0.00412750989 +-0.00208654278 +-0.960187614 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0508211404 +0.0315208621 +0.20181182 +-0.00275587779 +-0.00556899048 +-0.00195607846 +-0.961035192 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0481168181 +0.0402021967 +0.203507304 +-0.00413073879 +-0.00420359522 +-0.00160450698 +-0.953900695 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0521454811 +0.0615724251 +0.195817262 +-0.00465205312 +-0.00416458305 +0.000179628842 +-0.960034311 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.057125546 +0.0744654909 +0.198190033 +-0.00416312972 +-0.00544448942 +0.000444445293 +-0.953751504 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0552474782 +0.0903604701 +0.198524803 +-0.00502330577 +-0.00397205632 +3.38288955e-05 +-0.954802036 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0567289963 +0.115455031 +0.188435823 +-0.00477811648 +-0.00339048635 +0.000540214125 +-0.959164679 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0611783862 +0.127692863 +0.173895508 +-0.00410703477 +-0.00407716725 +0.00132880453 +-0.956106663 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0613110363 +0.145774573 +0.161288112 +-0.00461252034 +-0.00258826744 +0.000812980812 +-0.95600611 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.062781252 +0.176988751 +0.147910476 +-0.00416984176 +-0.00253205653 +0.000739258248 +-0.962402582 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0673238859 +0.195170179 +0.135933816 +-0.00403788127 +-0.003237959 +4.04343009e-05 +-0.959477901 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0668527856 +0.225084648 +0.120072447 +-0.0040273997 +-0.00166392513 +-0.000405945349 +-0.961005986 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0699436739 +0.241317227 +0.114043958 +-0.00368076563 +-0.00166478707 +-0.000405153725 +-0.962355077 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0756761953 +0.260480165 +0.103559814 +-0.00356320431 +-0.00227724854 +-0.00139288907 +-0.958776832 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0754467174 +0.286450297 +0.0936303958 +-0.00320748542 +-0.001822263 +-0.00168756489 +-0.960526884 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0773755088 +0.301988751 +0.0847595707 +-0.00288008223 +-0.00241805892 +-0.00118877739 +-0.961845994 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0798752531 +0.318407148 +0.0761555657 +-0.00306809694 +-0.00281785056 +-0.00206404342 +-0.95898968 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0826331899 +0.333106905 +0.0682327375 +-0.00263386872 +-0.00221640337 +-0.00297755352 +-0.961342394 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0871713236 +0.343411654 +0.0620126054 +-0.00253051706 +-0.00279493257 +-0.00238397764 +-0.960875988 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.092976816 +0.352109134 +0.0607408509 +-0.00235187262 +-0.00296045095 +-0.00329686049 +-0.952581763 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.093807213 +0.362307757 +0.0511165038 +-0.00251081563 +-0.00242645387 +-0.00358932395 +-0.956782937 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0984461829 +0.369093657 +0.0464726016 +-0.00261871889 +-0.00314341299 +-0.00291383825 +-0.946969032 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101479776 +0.377058178 +0.0450695232 +-0.00241838838 +-0.003201182 +-0.00377047481 +-0.950872362 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0990167633 +0.384353131 +0.037363641 +-0.00243317173 +-0.00242845528 +-0.00437981309 +-0.956552923 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102177538 +0.386311293 +0.0345103815 +-0.002544221 +-0.0030117901 +-0.00380470371 +-0.950489223 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106403433 +0.387463868 +0.0265679583 +-0.00218085479 +-0.00290853903 +-0.00477884663 +-0.951434314 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.105015509 +0.392766267 +0.0153573379 +-0.00212678034 +-0.00224885065 +-0.00465536257 +-0.958195508 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108022906 +0.391944557 +0.0111999512 +-0.00242293393 +-0.00293609686 +-0.00536249205 +-0.95263207 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108865373 +0.390826315 +0.000375665724 +-0.00203082035 +-0.00283798017 +-0.00624960195 +-0.954785168 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107667826 +0.388228446 +-0.0100272 +-0.00182676874 +-0.00202763313 +-0.00610639714 +-0.956821442 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109844662 +0.381451666 +-0.0134500936 +-0.00217823964 +-0.00258272979 +-0.00741820689 +-0.953450382 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110522516 +0.372876585 +-0.0201391876 +-0.00174460351 +-0.00213477481 +-0.00796917826 +-0.954102814 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110060059 +0.364292622 +-0.0287230238 +-0.00152715109 +-0.00228315033 +-0.00785809103 +-0.956465125 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110937797 +0.353769422 +-0.0329893753 +-0.00195254176 +-0.00281237438 +-0.00897077285 +-0.954507887 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110322915 +0.345952839 +-0.0397435799 +-0.00144116464 +-0.00211623637 +-0.00960329548 +-0.956501842 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115415893 +0.33977586 +-0.0490987487 +-0.00129180541 +-0.00233923085 +-0.00911582634 +-0.95596838 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117474355 +0.333389163 +-0.0504915565 +-0.00103267585 +-0.00272229221 +-0.0102462918 +-0.953025699 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117742456 +0.326791644 +-0.0587476715 +-0.00135422638 +-0.00201040879 +-0.0107997879 +-0.956496358 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122484021 +0.322899699 +-0.0660447776 +-0.00138096581 +-0.00206982996 +-0.0102602234 +-0.958528638 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124809437 +0.313825309 +-0.0646588653 +-0.00100804283 +-0.00275041722 +-0.0109823123 +-0.951194048 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122059189 +0.306751162 +-0.0721061155 +-0.0011989153 +-0.00168106332 +-0.0112186484 +-0.95513612 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124723069 +0.301912069 +-0.0762959123 +-0.00139054796 +-0.00212712586 +-0.0107525066 +-0.951275766 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125362456 +0.29181993 +-0.0828018114 +-0.000905683322 +-0.00223303493 +-0.0114273224 +-0.951536 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122644015 +0.284579605 +-0.0901383907 +-0.00114992377 +-0.00137727242 +-0.0117503367 +-0.956807613 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125641465 +0.281635255 +-0.0920918733 +-0.00131616695 +-0.00180637464 +-0.0109490231 +-0.952611804 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126308501 +0.274704874 +-0.0969400108 +-0.000971565198 +-0.00187887205 +-0.0114795752 +-0.952839851 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.12516439 +0.271317273 +-0.102007307 +-0.000939435849 +-0.000883858185 +-0.0111095123 +-0.953489244 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-audit-20261104/run_baseline.py b/research-notes/smolvla-audit-20261104/run_baseline.py new file mode 100644 index 00000000..b7b4732d --- /dev/null +++ b/research-notes/smolvla-audit-20261104/run_baseline.py @@ -0,0 +1,24 @@ +"""Run serial baseline processes; retain raw NVML evidence, including N/A.""" +from pathlib import Path +import json +import subprocess +import time + +root = Path(__file__).resolve().parents[2] +out = Path(__file__).resolve().parent +command = [str(root/'build-cuda/vla-bench'), '--ckpt', '/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf', '--images', '2', '--size', '512', '--tokens', '16', '--warmup', '3', '--reps', '20'] +(out/'baseline-command.json').write_text(json.dumps(command, indent=2)+'\n') +for trial in range(1, 4): + with (out/f'baseline-{trial}.log').open('w') as log, (out/f'telemetry-{trial}.jsonl').open('w') as telemetry: + process = subprocess.Popen(command, cwd=root, stdout=log, stderr=subprocess.STDOUT) + while process.poll() is None: + record = {'time': time.time(), 'pid': process.pid} + for key, fields in [('gpu', '--query-gpu=temperature.gpu,power.draw,power.limit,clocks.sm,clocks.mem,pstate,memory.used'), ('processes', '--query-compute-apps=pid,process_name,used_gpu_memory')]: + result = subprocess.run(['nvidia-smi', fields, '--format=csv'], capture_output=True, text=True, timeout=10) + record[key] = result.stdout + result.stderr + telemetry.write(json.dumps(record)+'\n') + telemetry.flush() + time.sleep(.5) + print('trial', trial, 'exit', process.returncode, flush=True) + if process.returncode: + raise SystemExit(process.returncode) diff --git a/research-notes/smolvla-audit-20261104/telemetry-1.jsonl b/research-notes/smolvla-audit-20261104/telemetry-1.jsonl new file mode 100644 index 00000000..9c88fd0f --- /dev/null +++ b/research-notes/smolvla-audit-20261104/telemetry-1.jsonl @@ -0,0 +1,8 @@ +{"time": 1793761638.304785, "pid": 29550, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n47, 10.02 W, [N/A], 210 MHz, 405 MHz, P8, 1873 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n"} +{"time": 1793761638.91479, "pid": 29550, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n48, 13.81 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n29550, [Not Found], [N/A]\n23222, [Not Found], [N/A]\n"} +{"time": 1793761639.5306814, "pid": 29550, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n49, 21.12 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n29550, [Not Found], [N/A]\n23222, [Not Found], [N/A]\n"} +{"time": 1793761640.124121, "pid": 29550, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n49, 32.50 W, [N/A], 1425 MHz, 7001 MHz, P0, 3908 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n29550, [Not Found], [N/A]\n23222, [Not Found], [N/A]\n"} +{"time": 1793761640.7337422, "pid": 29550, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n52, 92.84 W, [N/A], 2017 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n29550, [Not Found], [N/A]\n23222, [Not Found], [N/A]\n"} +{"time": 1793761641.324405, "pid": 29550, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n58, 77.98 W, [N/A], 1762 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n29550, [Not Found], [N/A]\n23222, [Not Found], [N/A]\n"} +{"time": 1793761641.9627163, "pid": 29550, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n58, 90.89 W, [N/A], 1837 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n29550, [Not Found], [N/A]\n23222, [Not Found], [N/A]\n"} +{"time": 1793761642.6647785, "pid": 29550, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n59, 95.55 W, [N/A], 1762 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n29550, [Not Found], [N/A]\n23222, [Not Found], [N/A]\n"} diff --git a/research-notes/smolvla-audit-20261104/telemetry-2.jsonl b/research-notes/smolvla-audit-20261104/telemetry-2.jsonl new file mode 100644 index 00000000..229dde3f --- /dev/null +++ b/research-notes/smolvla-audit-20261104/telemetry-2.jsonl @@ -0,0 +1,8 @@ +{"time": 1793761643.358412, "pid": 29615, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n54, 33.80 W, [N/A], 2002 MHz, 7001 MHz, P0, 1873 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n"} +{"time": 1793761644.0314896, "pid": 29615, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n54, 34.49 W, [N/A], 2002 MHz, 7001 MHz, P0, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n29615, [Not Found], [N/A]\n"} +{"time": 1793761644.7010725, "pid": 29615, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n53, 28.59 W, [N/A], 2002 MHz, 7001 MHz, P0, 3826 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n29615, [Not Found], [N/A]\n"} +{"time": 1793761645.3191555, "pid": 29615, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n58, 53.31 W, [N/A], 1942 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n29615, [Not Found], [N/A]\n"} +{"time": 1793761645.9376006, "pid": 29615, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 94.56 W, [N/A], 1717 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n29615, [Not Found], [N/A]\n"} +{"time": 1793761646.5483866, "pid": 29615, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 84.29 W, [N/A], 1837 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n29615, [Not Found], [N/A]\n"} +{"time": 1793761647.1325467, "pid": 29615, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 93.52 W, [N/A], 1807 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n29615, [Not Found], [N/A]\n"} +{"time": 1793761647.7365565, "pid": 29615, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 42.46 W, [N/A], 1897 MHz, 7001 MHz, P0, 1873 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n"} diff --git a/research-notes/smolvla-audit-20261104/telemetry-3.jsonl b/research-notes/smolvla-audit-20261104/telemetry-3.jsonl new file mode 100644 index 00000000..bd04ed4f --- /dev/null +++ b/research-notes/smolvla-audit-20261104/telemetry-3.jsonl @@ -0,0 +1,7 @@ +{"time": 1793761648.6046867, "pid": 29696, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n56, 33.56 W, [N/A], 1987 MHz, 7001 MHz, P0, 1873 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n"} +{"time": 1793761649.229053, "pid": 29696, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n55, 34.35 W, [N/A], 2002 MHz, 7001 MHz, P0, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n29696, [Not Found], [N/A]\n"} +{"time": 1793761649.8349025, "pid": 29696, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n54, 22.35 W, [N/A], 1425 MHz, 7001 MHz, P0, 3792 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n29696, [Not Found], [N/A]\n"} +{"time": 1793761650.4373007, "pid": 29696, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n57, 112.83 W, [N/A], 1755 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n29696, [Not Found], [N/A]\n"} +{"time": 1793761651.2467043, "pid": 29696, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 84.64 W, [N/A], 1702 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n29696, [Not Found], [N/A]\n"} +{"time": 1793761651.8990686, "pid": 29696, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 72.65 W, [N/A], 1800 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n29696, [Not Found], [N/A]\n"} +{"time": 1793761652.6959295, "pid": 29696, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 80.42 W, [N/A], 1650 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n29696, [Not Found], [N/A]\n"} diff --git a/research-notes/smolvla-audit-20261104/telemetry-summary.json b/research-notes/smolvla-audit-20261104/telemetry-summary.json new file mode 100644 index 00000000..895e23b5 --- /dev/null +++ b/research-notes/smolvla-audit-20261104/telemetry-summary.json @@ -0,0 +1,53 @@ +[ + { + "trial": 1, + "samples": 8, + "temp_C_min_max": [ + 47.0, + 59.0 + ], + "power_W_min_max": [ + 10.02, + 95.55 + ], + "sm_MHz_min_max": [ + 210, + 2017 + ], + "whole_GPU_peak_MiB": 3944 + }, + { + "trial": 2, + "samples": 8, + "temp_C_min_max": [ + 53.0, + 61.0 + ], + "power_W_min_max": [ + 28.59, + 94.56 + ], + "sm_MHz_min_max": [ + 1717, + 2002 + ], + "whole_GPU_peak_MiB": 3944 + }, + { + "trial": 3, + "samples": 7, + "temp_C_min_max": [ + 54.0, + 62.0 + ], + "power_W_min_max": [ + 22.35, + 112.83 + ], + "sm_MHz_min_max": [ + 1425, + 2002 + ], + "whole_GPU_peak_MiB": 3944 + } +] diff --git a/research-notes/smolvla-audit-20261104/vla_pb2.py b/research-notes/smolvla-audit-20261104/vla_pb2.py new file mode 100644 index 00000000..b9891d85 --- /dev/null +++ b/research-notes/smolvla-audit-20261104/vla_pb2.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: vla.proto +"""Generated protocol buffer code.""" +from google.protobuf.internal import builder as _builder +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\tvla.proto\x12\x03vla\"\x8d\x01\n\x05Image\x12%\n\x08\x65ncoding\x18\x01 \x01(\x0e\x32\x13.vla.Image.Encoding\x12\x0e\n\x06height\x18\x02 \x01(\r\x12\r\n\x05width\x18\x03 \x01(\r\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\"0\n\x08\x45ncoding\x12\x08\n\x04JPEG\x10\x00\x12\n\n\x06RGB_U8\x10\x01\x12\x0e\n\nF32_RGB_01\x10\x02\"\xcd\x01\n\x0ePredictRequest\x12\x1a\n\x06images\x18\x01 \x03(\x0b\x32\n.vla.Image\x12\x13\n\x0blang_tokens\x18\x02 \x03(\x05\x12\r\n\x05state\x18\x03 \x03(\x02\x12\r\n\x05noise\x18\x04 \x03(\x02\x12\x12\n\nrequest_id\x18\x05 \x01(\x04\x12\x1b\n\x13precomputed_img_emb\x18\x06 \x03(\x02\x12#\n\x1bprecomputed_img_emb_n_views\x18\x07 \x01(\r\x12\x16\n\x0e\x61ttention_mask\x18\x08 \x03(\r\"\xfd\x01\n\x0fPredictResponse\x12\x12\n\nrequest_id\x18\x01 \x01(\x04\x12\x14\n\x0c\x61\x63tion_chunk\x18\x02 \x03(\x02\x12\x12\n\nchunk_size\x18\x03 \x01(\r\x12\x12\n\naction_dim\x18\x04 \x01(\r\x12\x18\n\x10latency_ms_total\x18\x05 \x01(\x02\x12\x1c\n\x14latency_ms_inference\x18\x06 \x01(\x02\x12\x1a\n\x12latency_ms_prefill\x18\x08 \x01(\x02\x12\x1a\n\x12latency_ms_denoise\x18\t \x01(\x02\x12\x19\n\x11latency_ms_vision\x18\n \x01(\x02\x12\r\n\x05\x65rror\x18\x07 \x01(\tb\x06proto3') + +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, globals()) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'vla_pb2', globals()) +if _descriptor._USE_C_DESCRIPTORS == False: + + DESCRIPTOR._options = None + _IMAGE._serialized_start=19 + _IMAGE._serialized_end=160 + _IMAGE_ENCODING._serialized_start=112 + _IMAGE_ENCODING._serialized_end=160 + _PREDICTREQUEST._serialized_start=163 + _PREDICTREQUEST._serialized_end=368 + _PREDICTRESPONSE._serialized_start=371 + _PREDICTRESPONSE._serialized_end=624 +# @@protoc_insertion_point(module_scope) diff --git a/research-notes/smolvla-followup-20261104/ARCHITECTURE_AND_PROFILE.md b/research-notes/smolvla-followup-20261104/ARCHITECTURE_AND_PROFILE.md new file mode 100644 index 00000000..6e15e16e --- /dev/null +++ b/research-notes/smolvla-followup-20261104/ARCHITECTURE_AND_PROFILE.md @@ -0,0 +1,118 @@ +# SmolVLA: kiến trúc và giới hạn profiling + +Cập nhật 04/11/2026. Tài liệu kiến trúc từ paper và source, đã bổ sung kết quả trace ở cuối. Các đoạn kế hoạch được giữ làm giải thích phương pháp; số liệu hiện tại ở mục Kết quả profiling. + +## Paper và checkpoint đang dùng + +Paper mô tả VLM xử lý ảnh, instruction và state; action expert sinh action chunk bằng flow matching, kết hợp cross-attention và self-attention. Paper cũng dùng giảm visual token và bỏ bớt tầng để giảm tính toán. Đây là mô tả thiết kế; số tầng/chiều cụ thể phải lấy từ checkpoint đang đo. [SmolVLA, mục 3.1](https://arxiv.org/html/2506.01844v1#S3.SS1). + +GGUF thực tế có 791 tensor; metadata đọc bằng script inspect_smolvla_metadata.py và lưu smolvla-metadata.json: + +| Module | Cấu hình checkpoint | +|---|---| +| Vision | SigLIP, 12 tầng; hidden768, FFN3072, 12 head; input512, patch16 | +| Connector | Pixel shuffle factor4; 64 token/ảnh; projection sang hidden960 | +| VLM | 32 tầng; hidden960, FFN2560; query heads15, KV heads5, head_dim64 | +| Action expert | 32 tầng được source dựng theo cfg.n_layers; hidden480, FFN1280 | +| Attention expert | self_attn_every_n_layers=2: source chọn SA ở index chẵn, CA ở index lẻ | +| State / action | real state8, padded state32; chunk50, real action7, padded action32 | +| Solver | 10 bước, dt=-1/10; tokenizer_max_length48 | + +Không thay số tầng32 hoặc expert width0.5 trong checkpoint bằng thông số minh họa của paper. Không khẳng định checkpoint này đã áp dụng đúng cấu hình layer skipping của paper. + +## Luồng thực thi theo src/models/smolvla.cpp + +```mermaid +flowchart TD + RGB["RGB views, input 512 x 512"] --> PRE["Preprocess và chuyển tensor"] + PRE --> VIS["SigLIP: patch embedding + 12 encoder layers + post norm"] + VIS --> SHUF["Pixel shuffle factor 4: grid 32 x 32 thành 8 x 8"] + SHUF --> CON["Linear connector: 12288 sang 960; 64 token mỗi view"] + TXT["Instruction token IDs"] --> EMB["Embedding hidden 960"] + STATE["State: 8 chiều thực, padding 32"] --> SP["Normalize + linear state projector: 1 token"] + CON --> CAT["Ghép visual + language + state prefix"] + EMB --> CAT + SP --> CAT + CAT --> VLM["VLM layers: tạo prefix K/V caches"] + VLM --> KV["Prefix K/V và projection cho cross-attention"] + NOISE["Noise: chunk 50 x 32"] --> X["Action hiện tại x_t"] + X --> AT["Action projector + time embedding + MLP"] + AT --> AE["Action expert: 32 layers SA/CA xen kẽ"] + KV --> AE + AE --> OUT["Norm + action-out linear: velocity v_t"] + OUT --> EULER["Euler: x_next = x_t + dt * v_t"] + EULER --> LOOP{"Đủ 10 bước?"} + LOOP -- Chưa --> X + LOOP -- Rồi --> DENORM["Denormalize 7 chiều thực; padded columns = 0"] + DENORM --> ACTION["Output chunk 50 x 32; dùng 7 cột đầu"] +``` + +Đây là sơ đồ luồng tính toán, không phải phép đo thời gian từng node. Connector là linear sau pixel shuffle, không tự coi là một transformer riêng. Caches được tái dùng giữa các bước denoise; không chạy lại toàn bộ vision/VLM mỗi bước. + +| Source anchor | Vai trò | +|---|---| +| SmolVLAModelArch, khoảng dòng240 | Defaults vision, buffers, model state | +| Loader, khoảng dòng945 | Vision weights và connector mm_fc | +| expert_self_attn, khoảng dòng233 | Quy tắc chọn SA/CA | +| build_graph, khoảng dòng1205–1298 | VLM prefix K/V, cross-KV projection, vòng expert và Euler | +| predict_impl, khoảng dòng1307 | Preprocess, graph allocation, input/noise, execution và denormalization | + +## Timing phase thật sự đo gì? + +Đọc source khoảng dòng1350–1575; đây là giải thích phạm vi phép đo: + +| Chỉ số | Phạm vi / giới hạn | +|---|---| +| ms_vision | Bao gồm phần xử lý vision trong predict: preprocess, tensor transfer, vision graph và connector, đọc embedding về host; chạy các view theo vòng lặp. Không phải pure GPU kernel time của riêng ViT. | +| ms_prefill | Khi bật PHASE: graph compute cần tạo prefix K/V caches. Không phải đồng hồ bao toàn bộ CPU graph construction, mọi copy hoặc một VLM standalone bất kỳ. | +| ms_denoise | Graph còn lại để sinh action: gồm phần expert/solver và các dependency như cross-KV reprojection. Không phải thời gian một bước hoặc riêng GEMM action expert. | +| ms_inference | ms_prefill + thời gian graph inference/denoise; ở default chưa bật phase, prefill không tách riêng. | +| ms_total | Wall-clock predict_impl, có nhiều overhead ngoài tổng các phase. | + +PHASE dựng graph khác default: tách prefill, copy caches sang KV leaves, rồi chạy graph denoise. Copy K/V giữa hai đoạn không tự nằm trong hai đồng hồ compute. Phase dùng in.n_lang, còn default dùng cfg.n_lang (48 trong checkpoint này), nên input16token có topology/padding khác. Không lấy số phase rồi gọi đó là phân rã chính xác của baseline111,8ms nếu chưa kiểm tra khác biệt. + +Chưa tách connector khỏi vision. Nếu cần số riêng vision/connector/VLM/action expert, phải thêm timing/instrumentation thích hợp, giữ default path làm đối chứng, và công bố overhead cùng thay đổi graph. + +## Kế hoạch trace nsys + +Sau khi LIBERO kết thúc, chạy workload engine riêng cho bản gốc và cấu hình tốt nhất đã được xác nhận; giữ cùng views/resolution/tokens/warmup/reps. Không chạy nsys cùng simulator để suy ra engine baseline. CUDA memory tracing trước đây chưa phải phân tích bottleneck kernel. + +Đọc CUDA API/kernel timeline và kernel summary: phân loại GEMM, attention/norm/activation, copy, phần chưa phân loại; kiểm tra khoảng trống GPU và tương quan CPU launch/synchronization. Không chỉ cộng tổng duration kernel để suy ra wall-clock hoặc tỷ lệ idle khi có overlap. Phân tích kernel-name có ở mục kết quả, chưa phân loại toàn bộ attention theo ngữ nghĩa module. + +Giới hạn quan sát tại máy: NVML process VRAM N/A; CPU sampling/context-switch tracing chưa được dùng; memory trace có diagnostic không trace được Unified Memory do peer-to-peer capability. Mọi giới hạn profiling khác trên WSL2 phải được xác minh từ log/tool docs trước khi khẳng định; không suy diễn là không trace được CUDA vì máy đã tạo được CUDA traces. + +## Pruning: đọc CLP để chọn phương pháp + +CLP dùng CKA của hidden states để chọn các tầng gần nhau có biểu diễn tương tự, rồi loại tầng theo cấu trúc. Paper có bước fine-tuning sau pruning; không được chuyển kết quả của paper thành lời hứa rằng bỏ tầng SmolVLA GGUF sẽ giữ SR mà không train. [CLP, mục 4](https://arxiv.org/html/2606.20246v1#S4). + +Các hướng đã thử bằng depth ablation: (1) depth ablation có cấu trúc ở vision; (2) depth ablation có cấu trúc ở VLM/action expert, bảo toàn mapping K/V và loại SA/CA. Nếu chọn CKA-guided, cần calibration data/hidden states thật, không gọi random layer dropping là CLP. Không chọn tầng trên chính tập evaluation rồi báo SR như một kiểm tra độc lập. Zero weights đơn thuần chưa làm dense GEMM nhỏ đi. + +Mỗi biến thể cần sửa graph/định dạng phù hợp, kiểm tra shape/output, đo latency module thật, smoke riêng; sau đó screening40 và official cho ứng viên được chọn. Đã có ba GGUF pruned và số đo module; cả ba smoke0/2, chưa có ứng viên đạt chất lượng. + +### Đối chiếu tài liệu NVIDIA về WSL2 + +Bảng hỗ trợ hiện tại liệt kê Nsight Systems CLI/CUPTI trace trên GPU phù hợp và đặt điều kiện driver/Windows cho profiler. Tài liệu cũng nói NVML chưa hỗ trợ đầy đủ mọi query. Do đó không dùng tài liệu CUDA cũ để kết luận toàn bộ profiling trên WSL2 không được hỗ trợ. [NVIDIA CUDA on WSL User Guide, support/limitations](https://docs.nvidia.com/cuda/wsl-user-guide/index.html). + +Trên máy này bằng chứng thực tế là nsys memory trace đã tạo được và process-memory NVML trả N/A. Chưa xác minh Windows build; chưa nâng cấp profiler từ bản2026.1.3 đã dùng để đo. Các phần CPU sampling/counters hay Unified Memory cần báo đúng theo log và khả năng của môi trường cụ thể. + +### Granularity của CUDA graph trong nsys cài tại máy + +`nsys profile --help` xác nhận trên driver mới default là graph: chỉ thu cả graph, không thu hoạt động từng node. `--cuda-graph-trace=node` thu từng node và có thể gây overhead đáng kể. Các trace memory ban đầu dùng graph default, nên kernel table không đủ đại diện cho toàn bộ steady-state để chia GEMM/attention hoặc tính GPU idle từ các kernel thiếu. + +Kế hoạch trace kernel dùng node và capture-range=cudaProfilerApi: load model + 3warmup trước capture, 20predict trong capture; không đưa startup/autotuning vào kết luận steady-state. Tỷ lệ thời gian dựa tên kernel chỉ phân biệt loại kernel; GEMM có thể thuộc linear hoặc attention, nên không coi toàn bộ GEMM là VLM/FFN và softmax là toàn bộ attention. + + +## Kết quả profiling đã đo + +20predict sau3warmup, capture-range=cudaProfilerApi, cuda-graph-trace=node. Timing PHASE không tương đương throughput default vì topology/padding và graph/copy khác. + +| Cấu hình | Vision+connector GPU active ms | Prefill GPU active ms | Denoise+crossKV GPU active ms | +|---|---:|---:|---:| +| defaults |52.708|14.956|36.318| +| flash-mm |40.520|11.687|33.475| +| vision-spaced-10 |43.740|14.920|36.591| +| coupled-tail-30 |52.722|14.095|34.531| + +Attribution theo vision graph và biên D2D KV copy từ source, kiểm tra đủ kernel không thiếu/trùng. Cách ban đầu đếm80graph launch thất bại do có direct launches; log lỗi được giữ. Cách sửa dùng1280KVcopies mặc định hoặc1200 cho30layer; xem summarize_phase_boundaries.py và kernel-phase-traces/*.boundaries.json. Active time loại khoảng trống, không phải wall time riêng module. + +Trace default path: tổng duration kernel2260,227ms →1733,185ms (flash-mm); GEMM theo tên58,30% →51,85%; gaps trong traced GPU activity10,54% →9,13%. GEMM gồm cả phép nhân attention; gaps chưa chứng minh toàn GPU rảnh hoặc nguyên nhân CPU. Raw kernel-traces/*.summary.json. Không gọi flash-mm là best theo SR; mới là ứng viên runtime nhanh. diff --git a/research-notes/smolvla-followup-20261104/ablation-summary.json b/research-notes/smolvla-followup-20261104/ablation-summary.json new file mode 100644 index 00000000..52286309 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/ablation-summary.json @@ -0,0 +1,16 @@ +{ + "fused-1-repeat": { + "count": 1600, + "finite": true, + "bit_differences": 0, + "max_abs": 0.0, + "rmse": 0.0 + }, + "fused-0": { + "count": 1600, + "finite": true, + "bit_differences": 350, + "max_abs": 0.0005458742380142212, + "rmse": 0.00010049711168250623 + } +} diff --git a/research-notes/smolvla-followup-20261104/audit_memory_all.py b/research-notes/smolvla-followup-20261104/audit_memory_all.py new file mode 100644 index 00000000..a0da40f5 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/audit_memory_all.py @@ -0,0 +1,44 @@ +from pathlib import Path +import collections,json,sqlite3 +base=Path(__file__).resolve().parent;out=base/'memory-all' +children=json.loads((out/'children.json').read_text()) +assert len(children)==30 and all(r['exit']==0 for r in children) +con=sqlite3.connect(out/'all-models.sqlite');con.row_factory=sqlite3.Row +kinds={r['label']:r['id'] for r in con.execute('SELECT * FROM ENUM_CUDA_MEM_KIND')} +ops={r['label']:r['id'] for r in con.execute('SELECT * FROM ENUM_CUDA_DEV_MEM_EVENT_OPER')} +pids={r['globalPid']:r['pid'] for r in con.execute('SELECT * FROM PROCESSES')} +expected={r['pid']:r for r in children} +live=collections.defaultdict(int);peak=collections.defaultdict(int);ledger={};unmatched=[] +for event in con.execute('SELECT rowid,* FROM CUDA_GPU_MEMORY_USAGE_EVENTS ORDER BY start,rowid'): + if event['memKind'] not in (kinds['Device'],kinds['Device Static']):continue + pid=pids.get(event['globalPid']) + if pid not in expected:raise RuntimeError('Unexpected/unmapped CUDA process: '+str(pid)) + key=(pid,event['deviceId']);address=(*key,event['address']) + if event['memoryOperationType']==ops['Allocation']: + if address in ledger:raise RuntimeError('Duplicate active address') + ledger[address]=event['bytes'];delta=event['bytes'] + elif event['memoryOperationType']==ops['Deallocation']: + if ledger.pop(address,None)!=event['bytes']:unmatched.append(dict(event)) + delta=-event['bytes'] + else:raise RuntimeError('Unknown operation') + live[key]+=delta + if live[key]<0:raise RuntimeError('Negative live memory') + peak[key]=max(peak[key],live[key]) +assert not unmatched +assert {key[0] for key in peak}==set(expected),'Missing CUDA memory capture for some child process' +loss=[r['text'] for r in con.execute('SELECT text FROM DIAGNOSTIC_EVENT') if any(x in r['text'].lower() for x in ['lost','drop'])] +assert not loss,loss +rows=[] +for (pid,device),amount in peak.items(): + record=expected[pid] + rows.append(dict(name=record['name'],trial=record['trial'],pid=pid,device=device,peak_bytes=amount,peak_MiB=amount/1048576,live_at_trace_end_bytes=live[(pid,device)])) +summary={} +for name in sorted({r['name'] for r in rows}): + group=[r for r in rows if r['name']==name];assert len(group)==3 + summary[name]=dict(peak_MiB=max(r['peak_MiB'] for r in group),runs=group) +# Cross-check the same defaults workload against the earlier independent capture. +old=json.loads((base.parent/'smolvla-vram-20261104/memory-summary.json').read_text()) +reference=max(g['peak_MiB'] for r in old for g in r['process_device_groups']) +summary['_control_comparison']=dict(previous_defaults_peak_MiB=reference,current_defaults_peak_MiB=summary['defaults']['peak_MiB'],difference_MiB=summary['defaults']['peak_MiB']-reference) +(out/'summary.json').write_text(json.dumps(summary,indent=2)+'\n') +print(json.dumps({k:v['peak_MiB'] for k,v in summary.items() if not k.startswith('_')},indent=2)) diff --git a/research-notes/smolvla-followup-20261104/audit_part3_memory.py b/research-notes/smolvla-followup-20261104/audit_part3_memory.py new file mode 100644 index 00000000..1390cefc --- /dev/null +++ b/research-notes/smolvla-followup-20261104/audit_part3_memory.py @@ -0,0 +1,44 @@ +from pathlib import Path +import collections,json,sqlite3 +base=Path(__file__).resolve().parent;out=base/'part3-runtime' +children=json.loads((out/'memory-runs.json').read_text()) +assert len(children)==30 and all(r['exit']==0 for r in children) +con=sqlite3.connect(out/'runtime.sqlite');con.row_factory=sqlite3.Row +kinds={r['label']:r['id'] for r in con.execute('SELECT * FROM ENUM_CUDA_MEM_KIND')} +ops={r['label']:r['id'] for r in con.execute('SELECT * FROM ENUM_CUDA_DEV_MEM_EVENT_OPER')} +pids={r['globalPid']:r['pid'] for r in con.execute('SELECT * FROM PROCESSES')} +expected={r['pid']:r for r in children} +live=collections.defaultdict(int);peak=collections.defaultdict(int);ledger={};unmatched=[] +for event in con.execute('SELECT rowid,* FROM CUDA_GPU_MEMORY_USAGE_EVENTS ORDER BY start,rowid'): + if event['memKind'] not in (kinds['Device'],kinds['Device Static']):continue + pid=pids.get(event['globalPid']) + if pid not in expected:raise RuntimeError('Unexpected/unmapped CUDA process: '+str(pid)) + key=(pid,event['deviceId']);address=(*key,event['address']) + if event['memoryOperationType']==ops['Allocation']: + if address in ledger:raise RuntimeError('Duplicate active address') + ledger[address]=event['bytes'];delta=event['bytes'] + elif event['memoryOperationType']==ops['Deallocation']: + if ledger.pop(address,None)!=event['bytes']:unmatched.append(dict(event)) + delta=-event['bytes'] + else:raise RuntimeError('Unknown operation') + live[key]+=delta + if live[key]<0:raise RuntimeError('Negative live memory') + peak[key]=max(peak[key],live[key]) +assert not unmatched +assert {key[0] for key in peak}==set(expected),'Missing CUDA memory capture for some child process' +loss=[r['text'] for r in con.execute('SELECT text FROM DIAGNOSTIC_EVENT') if any(x in r['text'].lower() for x in ['lost','drop'])] +assert not loss,loss +rows=[] +for (pid,device),amount in peak.items(): + record=expected[pid] + rows.append(dict(name=record['name'],trial=record['trial'],pid=pid,device=device,peak_bytes=amount,peak_MiB=amount/1048576,live_at_trace_end_bytes=live[(pid,device)])) +summary={} +for name in sorted({r['name'] for r in rows}): + group=[r for r in rows if r['name']==name];assert len(group)==3 + summary[name]=dict(peak_MiB=max(r['peak_MiB'] for r in group),runs=group) +# Cross-check the same defaults workload against the earlier independent capture. +old=json.loads((base.parent/'smolvla-vram-20261104/memory-summary.json').read_text()) +reference=max(g['peak_MiB'] for r in old for g in r['process_device_groups']) +summary['_control_comparison']=dict(previous_defaults_peak_MiB=reference,current_defaults_peak_MiB=summary['defaults']['peak_MiB'],difference_MiB=summary['defaults']['peak_MiB']-reference) +(out/'summary.json').write_text(json.dumps(summary,indent=2)+'\n') +print(json.dumps({k:v['peak_MiB'] for k,v in summary.items() if not k.startswith('_')},indent=2)) diff --git a/research-notes/smolvla-followup-20261104/bench_candidates.py b/research-notes/smolvla-followup-20261104/bench_candidates.py new file mode 100644 index 00000000..d720c90a --- /dev/null +++ b/research-notes/smolvla-followup-20261104/bench_candidates.py @@ -0,0 +1,32 @@ +"""vla-bench full protocol for prepared GGUFs, with defaults control each round.""" +from pathlib import Path +import json,os,re,subprocess,time +root=Path(__file__).resolve().parents[2];base=Path(__file__).resolve().parent +out=base/'candidate-bench';out.mkdir(exist_ok=False) +checks=json.loads((base/'candidate-checks/summary.json').read_text()) +valid={r['name'] for r in checks if r['status']=='cuda_predict_ok'} +source=Path('/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf') +cases=[('defaults',source)]+[(p.stem,p) for p in sorted((root/'research-notes/generated-models').glob('*.gguf')) if p.stem in valid] +env={k:v for k,v in os.environ.items() if not k.startswith('VLA_')} +results=[] +for trial in range(3): + for name,model in cases: + command=[str(root/'build-cuda/vla-bench'),'--ckpt',str(model),'--images','2','--size','512','--tokens','16','--warmup','3','--reps','20'] + with (out/f'{name}-{trial}.log').open('w') as log,(out/f'{name}-{trial}-telemetry.jsonl').open('w') as telemetry: + process=subprocess.Popen(command,cwd=root,env=env,stdout=log,stderr=subprocess.STDOUT) + while process.poll() is None: + query=subprocess.run(['nvidia-smi','--query-gpu=temperature.gpu,power.draw,power.limit,clocks.sm,clocks.mem,pstate,memory.used','--format=csv'],capture_output=True,text=True,timeout=10) + telemetry.write(json.dumps({'time':time.time(),'pid':process.pid,'gpu':query.stdout+query.stderr})+'\n');telemetry.flush();time.sleep(.5) + record=dict(name=name,model=str(model),trial=trial,command=command,exit=process.returncode) + if process.returncode:record['status']='benchmark_failed' + else: + text=(out/f'{name}-{trial}.log').read_text();m=re.search(r'min ([\d.]+) ms\s+mean ([\d.]+) ms\s+p50 ([\d.]+) ms\s+p90 ([\d.]+) ms\s+vision ([\d.]+) ms',text) + if m is None:raise RuntimeError('Missing benchmark summary: '+name) + record.update(status='ok',min_ms=float(m[1]),mean_ms=float(m[2]),p50_ms=float(m[3]),p90_ms=float(m[4]),vision_ms=float(m[5])) + results.append(record);(out/'runs.json').write_text(json.dumps(results,indent=2)+'\n') + print(name,trial,record['status'],record.get('mean_ms'),flush=True) +selected={} +for name,_ in cases: + rows=[r for r in results if r['name']==name and r['status']=='ok'] + if len(rows)==3:selected[name]=min(rows,key=lambda r:r['mean_ms']) +(out/'selected.json').write_text(json.dumps(selected,indent=2)+'\n') diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/defaults-0-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/defaults-0-telemetry.jsonl new file mode 100644 index 00000000..95dabb74 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/defaults-0-telemetry.jsonl @@ -0,0 +1,14 @@ +{"time": 1793775314.70878, "pid": 86285, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n50, 10.69 W, [N/A], 210 MHz, 405 MHz, P8, 1873 MiB\n"} +{"time": 1793775315.2766333, "pid": 86285, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n50, 21.18 W, [N/A], 210 MHz, 405 MHz, P0, 3746 MiB\n"} +{"time": 1793775315.833534, "pid": 86285, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n52, 21.31 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775316.3796453, "pid": 86285, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n52, 21.33 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775316.9358692, "pid": 86285, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n52, 21.37 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775317.5089736, "pid": 86285, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n52, 21.24 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775318.0686584, "pid": 86285, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n52, 21.32 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775318.6423993, "pid": 86285, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n53, 21.32 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775319.2086077, "pid": 86285, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n53, 21.27 W, [N/A], 1425 MHz, 7001 MHz, P0, 3826 MiB\n"} +{"time": 1793775319.7887862, "pid": 86285, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n54, 36.22 W, [N/A], 1425 MHz, 7001 MHz, P0, 3944 MiB\n"} +{"time": 1793775320.3555498, "pid": 86285, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 93.95 W, [N/A], 1807 MHz, 7001 MHz, P0, 3944 MiB\n"} +{"time": 1793775320.9170783, "pid": 86285, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 92.49 W, [N/A], 1710 MHz, 7001 MHz, P0, 3944 MiB\n"} +{"time": 1793775321.4779685, "pid": 86285, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 86.14 W, [N/A], 1695 MHz, 7001 MHz, P0, 3944 MiB\n"} +{"time": 1793775322.0419717, "pid": 86285, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 92.67 W, [N/A], 1845 MHz, 7001 MHz, P0, 3944 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/defaults-1-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/defaults-1-telemetry.jsonl new file mode 100644 index 00000000..369ce9b7 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/defaults-1-telemetry.jsonl @@ -0,0 +1,22 @@ +{"time": 1793775380.2902482, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 36.39 W, [N/A], 1612 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775380.8738563, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 37.24 W, [N/A], 1972 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775381.4377146, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 36.21 W, [N/A], 1972 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775381.999319, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.35 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775382.6068792, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.23 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775383.1605475, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.19 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775383.7575974, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.33 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775384.3347175, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.18 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775384.9100995, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.21 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775385.4742558, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.42 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775386.0325592, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.11 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775386.602009, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.03 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775387.1668227, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 16.09 W, [N/A], 1425 MHz, 7001 MHz, P5, 3746 MiB\n"} +{"time": 1793775387.7245545, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 15.81 W, [N/A], 345 MHz, 810 MHz, P5, 3746 MiB\n"} +{"time": 1793775388.3004317, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 14.43 W, [N/A], 270 MHz, 810 MHz, P8, 3746 MiB\n"} +{"time": 1793775388.8973844, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 12.95 W, [N/A], 210 MHz, 405 MHz, P8, 3746 MiB\n"} +{"time": 1793775389.481684, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 13.68 W, [N/A], 210 MHz, 405 MHz, P8, 3826 MiB\n"} +{"time": 1793775390.0504122, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 51.33 W, [N/A], 375 MHz, 405 MHz, P0, 3866 MiB\n"} +{"time": 1793775390.655974, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 86.73 W, [N/A], 1927 MHz, 7001 MHz, P0, 3944 MiB\n"} +{"time": 1793775391.2321181, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 99.16 W, [N/A], 1762 MHz, 7001 MHz, P0, 3944 MiB\n"} +{"time": 1793775391.8043518, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 95.50 W, [N/A], 1867 MHz, 7001 MHz, P0, 3944 MiB\n"} +{"time": 1793775392.445406, "pid": 86841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 113.18 W, [N/A], 1867 MHz, 7001 MHz, P0, 3944 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/defaults-2-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/defaults-2-telemetry.jsonl new file mode 100644 index 00000000..f780c5bf --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/defaults-2-telemetry.jsonl @@ -0,0 +1,15 @@ +{"time": 1793775474.4981358, "pid": 87570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 36.67 W, [N/A], 1972 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775475.0604908, "pid": 87570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 37.41 W, [N/A], 1972 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775475.6878803, "pid": 87570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 36.02 W, [N/A], 1972 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775476.2949986, "pid": 87570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 22.33 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775476.9303062, "pid": 87570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.24 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775477.6139078, "pid": 87570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.23 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775478.5899203, "pid": 87570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.30 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775479.2238698, "pid": 87570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.63 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n"} +{"time": 1793775479.8853478, "pid": 87570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.17 W, [N/A], 1425 MHz, 7001 MHz, P0, 3790 MiB\n"} +{"time": 1793775480.4949183, "pid": 87570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.40 W, [N/A], 1425 MHz, 7001 MHz, P0, 3826 MiB\n"} +{"time": 1793775481.1010516, "pid": 87570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 36.36 W, [N/A], 1432 MHz, 7001 MHz, P0, 3892 MiB\n"} +{"time": 1793775481.7501059, "pid": 87570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 85.17 W, [N/A], 1972 MHz, 7001 MHz, P0, 3944 MiB\n"} +{"time": 1793775482.3485386, "pid": 87570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 101.10 W, [N/A], 1687 MHz, 7001 MHz, P0, 3944 MiB\n"} +{"time": 1793775482.9450908, "pid": 87570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 94.38 W, [N/A], 1785 MHz, 7001 MHz, P0, 3944 MiB\n"} +{"time": 1793775483.5366278, "pid": 87570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 92.71 W, [N/A], 1695 MHz, 7001 MHz, P0, 3944 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/runs.json b/research-notes/smolvla-followup-20261104/candidate-bench/runs.json new file mode 100644 index 00000000..25e7c120 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/runs.json @@ -0,0 +1,812 @@ +[ + { + "name": "defaults", + "model": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "trial": 0, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 113.6, + "mean_ms": 114.7, + "p50_ms": 114.7, + "p90_ms": 115.5, + "vision_ms": 56.1 + }, + { + "name": "smolvla-coupled-tail-30", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "trial": 0, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 109.2, + "mean_ms": 110.4, + "p50_ms": 110.3, + "p90_ms": 110.9, + "vision_ms": 56.0 + }, + { + "name": "smolvla-q4_0-lm", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-lm.gguf", + "trial": 0, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 108.2, + "mean_ms": 110.0, + "p50_ms": 110.2, + "p90_ms": 111.0, + "vision_ms": 56.1 + }, + { + "name": "smolvla-q4_0-vision", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-vision.gguf", + "trial": 0, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 112.2, + "mean_ms": 113.8, + "p50_ms": 113.9, + "p90_ms": 114.5, + "vision_ms": 57.3 + }, + { + "name": "smolvla-q5_0-lm", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-lm.gguf", + "trial": 0, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 108.8, + "mean_ms": 110.6, + "p50_ms": 110.5, + "p90_ms": 111.2, + "vision_ms": 56.0 + }, + { + "name": "smolvla-q5_0-vision", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-vision.gguf", + "trial": 0, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 111.1, + "mean_ms": 112.6, + "p50_ms": 112.6, + "p90_ms": 113.8, + "vision_ms": 57.7 + }, + { + "name": "smolvla-q8_0-lm", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-lm.gguf", + "trial": 0, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 109.0, + "mean_ms": 111.8, + "p50_ms": 111.3, + "p90_ms": 114.3, + "vision_ms": 56.7 + }, + { + "name": "smolvla-q8_0-vision", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-vision.gguf", + "trial": 0, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 108.9, + "mean_ms": 110.7, + "p50_ms": 110.6, + "p90_ms": 111.7, + "vision_ms": 56.5 + }, + { + "name": "smolvla-vision-spaced-10", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "trial": 0, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 105.9, + "mean_ms": 107.7, + "p50_ms": 107.6, + "p90_ms": 109.5, + "vision_ms": 47.8 + }, + { + "name": "smolvla-vision-tail-10", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "trial": 0, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 104.1, + "mean_ms": 108.5, + "p50_ms": 108.5, + "p90_ms": 109.7, + "vision_ms": 48.1 + }, + { + "name": "defaults", + "model": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 112.0, + "mean_ms": 113.7, + "p50_ms": 113.7, + "p90_ms": 114.6, + "vision_ms": 56.1 + }, + { + "name": "smolvla-coupled-tail-30", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 114.3, + "mean_ms": 115.9, + "p50_ms": 115.9, + "p90_ms": 116.3, + "vision_ms": 57.8 + }, + { + "name": "smolvla-q4_0-lm", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-lm.gguf", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 109.6, + "mean_ms": 110.6, + "p50_ms": 110.4, + "p90_ms": 111.4, + "vision_ms": 56.5 + }, + { + "name": "smolvla-q4_0-vision", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-vision.gguf", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 108.1, + "mean_ms": 109.7, + "p50_ms": 109.9, + "p90_ms": 110.4, + "vision_ms": 56.2 + }, + { + "name": "smolvla-q5_0-lm", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-lm.gguf", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 109.8, + "mean_ms": 111.0, + "p50_ms": 110.9, + "p90_ms": 111.9, + "vision_ms": 56.2 + }, + { + "name": "smolvla-q5_0-vision", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-vision.gguf", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 109.5, + "mean_ms": 111.4, + "p50_ms": 111.0, + "p90_ms": 111.9, + "vision_ms": 57.4 + }, + { + "name": "smolvla-q8_0-lm", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-lm.gguf", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 108.4, + "mean_ms": 109.5, + "p50_ms": 109.3, + "p90_ms": 110.3, + "vision_ms": 56.0 + }, + { + "name": "smolvla-q8_0-vision", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-vision.gguf", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 108.7, + "mean_ms": 110.2, + "p50_ms": 110.3, + "p90_ms": 111.0, + "vision_ms": 56.3 + }, + { + "name": "smolvla-vision-spaced-10", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 103.7, + "mean_ms": 104.7, + "p50_ms": 104.5, + "p90_ms": 105.7, + "vision_ms": 47.0 + }, + { + "name": "smolvla-vision-tail-10", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 104.0, + "mean_ms": 106.4, + "p50_ms": 106.6, + "p90_ms": 108.1, + "vision_ms": 47.4 + }, + { + "name": "defaults", + "model": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "trial": 2, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 114.1, + "mean_ms": 115.4, + "p50_ms": 115.1, + "p90_ms": 116.9, + "vision_ms": 56.5 + }, + { + "name": "smolvla-coupled-tail-30", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "trial": 2, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 109.1, + "mean_ms": 110.5, + "p50_ms": 110.7, + "p90_ms": 111.6, + "vision_ms": 56.1 + }, + { + "name": "smolvla-q4_0-lm", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-lm.gguf", + "trial": 2, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 111.0, + "mean_ms": 112.2, + "p50_ms": 112.2, + "p90_ms": 112.9, + "vision_ms": 56.9 + }, + { + "name": "smolvla-q4_0-vision", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-vision.gguf", + "trial": 2, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 110.2, + "mean_ms": 112.0, + "p50_ms": 111.9, + "p90_ms": 113.5, + "vision_ms": 56.8 + }, + { + "name": "smolvla-q5_0-lm", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-lm.gguf", + "trial": 2, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 112.5, + "mean_ms": 115.1, + "p50_ms": 115.0, + "p90_ms": 116.6, + "vision_ms": 57.6 + }, + { + "name": "smolvla-q5_0-vision", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-vision.gguf", + "trial": 2, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 114.1, + "mean_ms": 115.7, + "p50_ms": 115.8, + "p90_ms": 116.6, + "vision_ms": 58.7 + }, + { + "name": "smolvla-q8_0-lm", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-lm.gguf", + "trial": 2, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 110.5, + "mean_ms": 112.0, + "p50_ms": 111.8, + "p90_ms": 113.7, + "vision_ms": 56.7 + }, + { + "name": "smolvla-q8_0-vision", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-vision.gguf", + "trial": 2, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 110.5, + "mean_ms": 111.3, + "p50_ms": 111.2, + "p90_ms": 111.9, + "vision_ms": 56.5 + }, + { + "name": "smolvla-vision-spaced-10", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "trial": 2, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 106.5, + "mean_ms": 109.8, + "p50_ms": 109.8, + "p90_ms": 110.9, + "vision_ms": 48.4 + }, + { + "name": "smolvla-vision-tail-10", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "trial": 2, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 106.0, + "mean_ms": 106.7, + "p50_ms": 106.5, + "p90_ms": 107.8, + "vision_ms": 47.6 + } +] diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/selected.json b/research-notes/smolvla-followup-20261104/candidate-bench/selected.json new file mode 100644 index 00000000..4a042e0a --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/selected.json @@ -0,0 +1,272 @@ +{ + "defaults": { + "name": "defaults", + "model": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 112.0, + "mean_ms": 113.7, + "p50_ms": 113.7, + "p90_ms": 114.6, + "vision_ms": 56.1 + }, + "smolvla-coupled-tail-30": { + "name": "smolvla-coupled-tail-30", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "trial": 0, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 109.2, + "mean_ms": 110.4, + "p50_ms": 110.3, + "p90_ms": 110.9, + "vision_ms": 56.0 + }, + "smolvla-q4_0-lm": { + "name": "smolvla-q4_0-lm", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-lm.gguf", + "trial": 0, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 108.2, + "mean_ms": 110.0, + "p50_ms": 110.2, + "p90_ms": 111.0, + "vision_ms": 56.1 + }, + "smolvla-q4_0-vision": { + "name": "smolvla-q4_0-vision", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-vision.gguf", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 108.1, + "mean_ms": 109.7, + "p50_ms": 109.9, + "p90_ms": 110.4, + "vision_ms": 56.2 + }, + "smolvla-q5_0-lm": { + "name": "smolvla-q5_0-lm", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-lm.gguf", + "trial": 0, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 108.8, + "mean_ms": 110.6, + "p50_ms": 110.5, + "p90_ms": 111.2, + "vision_ms": 56.0 + }, + "smolvla-q5_0-vision": { + "name": "smolvla-q5_0-vision", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-vision.gguf", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 109.5, + "mean_ms": 111.4, + "p50_ms": 111.0, + "p90_ms": 111.9, + "vision_ms": 57.4 + }, + "smolvla-q8_0-lm": { + "name": "smolvla-q8_0-lm", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-lm.gguf", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 108.4, + "mean_ms": 109.5, + "p50_ms": 109.3, + "p90_ms": 110.3, + "vision_ms": 56.0 + }, + "smolvla-q8_0-vision": { + "name": "smolvla-q8_0-vision", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-vision.gguf", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 108.7, + "mean_ms": 110.2, + "p50_ms": 110.3, + "p90_ms": 111.0, + "vision_ms": 56.3 + }, + "smolvla-vision-spaced-10": { + "name": "smolvla-vision-spaced-10", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 103.7, + "mean_ms": 104.7, + "p50_ms": 104.5, + "p90_ms": 105.7, + "vision_ms": 47.0 + }, + "smolvla-vision-tail-10": { + "name": "smolvla-vision-tail-10", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "status": "ok", + "min_ms": 104.0, + "mean_ms": 106.4, + "p50_ms": 106.6, + "p90_ms": 108.1, + "vision_ms": 47.4 + } +} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-coupled-tail-30-0-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-coupled-tail-30-0-telemetry.jsonl new file mode 100644 index 00000000..8b4c243c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-coupled-tail-30-0-telemetry.jsonl @@ -0,0 +1,9 @@ +{"time": 1793775322.6206174, "pid": 86352, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 63.63 W, [N/A], 1957 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775323.1739917, "pid": 86352, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n57, 35.73 W, [N/A], 1987 MHz, 7001 MHz, P0, 3648 MiB\n"} +{"time": 1793775323.7278135, "pid": 86352, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n57, 34.84 W, [N/A], 1995 MHz, 7001 MHz, P0, 3648 MiB\n"} +{"time": 1793775324.298676, "pid": 86352, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n57, 60.80 W, [N/A], 1995 MHz, 7001 MHz, P0, 3714 MiB\n"} +{"time": 1793775324.867292, "pid": 86352, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 63.41 W, [N/A], 1747 MHz, 7001 MHz, P0, 3842 MiB\n"} +{"time": 1793775325.444196, "pid": 86352, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 90.65 W, [N/A], 1725 MHz, 7001 MHz, P0, 3842 MiB\n"} +{"time": 1793775326.0065181, "pid": 86352, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 92.06 W, [N/A], 1710 MHz, 7001 MHz, P0, 3842 MiB\n"} +{"time": 1793775326.5561357, "pid": 86352, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 92.96 W, [N/A], 1747 MHz, 7001 MHz, P0, 3842 MiB\n"} +{"time": 1793775327.1483703, "pid": 86352, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 73.29 W, [N/A], 1732 MHz, 7001 MHz, P0, 3842 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-coupled-tail-30-1-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-coupled-tail-30-1-telemetry.jsonl new file mode 100644 index 00000000..8da9f27d --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-coupled-tail-30-1-telemetry.jsonl @@ -0,0 +1,27 @@ +{"time": 1793775393.075024, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 36.55 W, [N/A], 1957 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775393.6761277, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 36.89 W, [N/A], 1972 MHz, 7001 MHz, P0, 3648 MiB\n"} +{"time": 1793775394.234306, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 35.76 W, [N/A], 1972 MHz, 7001 MHz, P0, 3648 MiB\n"} +{"time": 1793775394.8054924, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 26.91 W, [N/A], 1972 MHz, 7001 MHz, P0, 3648 MiB\n"} +{"time": 1793775395.35974, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.15 W, [N/A], 1425 MHz, 7001 MHz, P0, 3648 MiB\n"} +{"time": 1793775395.9142528, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.25 W, [N/A], 1425 MHz, 7001 MHz, P0, 3648 MiB\n"} +{"time": 1793775396.4725053, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.23 W, [N/A], 1425 MHz, 7001 MHz, P0, 3648 MiB\n"} +{"time": 1793775397.0706742, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.25 W, [N/A], 1425 MHz, 7001 MHz, P0, 3648 MiB\n"} +{"time": 1793775397.6590567, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 22.08 W, [N/A], 1425 MHz, 7001 MHz, P0, 3648 MiB\n"} +{"time": 1793775398.2714164, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 22.13 W, [N/A], 1425 MHz, 7001 MHz, P0, 3648 MiB\n"} +{"time": 1793775398.8246737, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 22.02 W, [N/A], 1425 MHz, 7001 MHz, P0, 3648 MiB\n"} +{"time": 1793775399.3947022, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 22.24 W, [N/A], 1425 MHz, 7001 MHz, P0, 3648 MiB\n"} +{"time": 1793775399.9702096, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 22.01 W, [N/A], 1425 MHz, 7001 MHz, P5, 3648 MiB\n"} +{"time": 1793775400.5813422, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 14.00 W, [N/A], 322 MHz, 810 MHz, P5, 3648 MiB\n"} +{"time": 1793775401.1487525, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 13.73 W, [N/A], 255 MHz, 405 MHz, P8, 3648 MiB\n"} +{"time": 1793775401.736084, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n59, 12.41 W, [N/A], 225 MHz, 405 MHz, P8, 3648 MiB\n"} +{"time": 1793775402.2898543, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n59, 12.69 W, [N/A], 210 MHz, 405 MHz, P8, 3648 MiB\n"} +{"time": 1793775402.8784153, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n59, 12.91 W, [N/A], 210 MHz, 405 MHz, P8, 3648 MiB\n"} +{"time": 1793775403.437947, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n59, 12.93 W, [N/A], 210 MHz, 405 MHz, P8, 3648 MiB\n"} +{"time": 1793775403.996036, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n59, 12.56 W, [N/A], 210 MHz, 405 MHz, P8, 3648 MiB\n"} +{"time": 1793775404.6209397, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n59, 12.88 W, [N/A], 210 MHz, 405 MHz, P8, 3718 MiB\n"} +{"time": 1793775405.2315567, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n59, 12.91 W, [N/A], 210 MHz, 405 MHz, P8, 3786 MiB\n"} +{"time": 1793775405.863465, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 43.79 W, [N/A], 1402 MHz, 7001 MHz, P0, 3794 MiB\n"} +{"time": 1793775406.5069213, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 61.39 W, [N/A], 1657 MHz, 7001 MHz, P0, 3842 MiB\n"} +{"time": 1793775407.06419, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 79.54 W, [N/A], 1717 MHz, 7001 MHz, P0, 3842 MiB\n"} +{"time": 1793775407.6497073, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n67, 80.76 W, [N/A], 1545 MHz, 7001 MHz, P0, 3842 MiB\n"} +{"time": 1793775408.2199237, "pid": 86942, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 83.86 W, [N/A], 1590 MHz, 7001 MHz, P0, 3842 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-coupled-tail-30-2-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-coupled-tail-30-2-telemetry.jsonl new file mode 100644 index 00000000..e827b698 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-coupled-tail-30-2-telemetry.jsonl @@ -0,0 +1,10 @@ +{"time": 1793775484.1281626, "pid": 87646, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 36.55 W, [N/A], 1710 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775484.687142, "pid": 87646, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 36.55 W, [N/A], 1972 MHz, 7001 MHz, P0, 3648 MiB\n"} +{"time": 1793775485.2527611, "pid": 87646, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 42.26 W, [N/A], 1972 MHz, 7001 MHz, P0, 3648 MiB\n"} +{"time": 1793775485.8650105, "pid": 87646, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 23.89 W, [N/A], 1425 MHz, 7001 MHz, P0, 3648 MiB\n"} +{"time": 1793775486.47228, "pid": 87646, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 22.58 W, [N/A], 1425 MHz, 7001 MHz, P0, 3694 MiB\n"} +{"time": 1793775487.0591197, "pid": 87646, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 40.65 W, [N/A], 1425 MHz, 7001 MHz, P0, 3810 MiB\n"} +{"time": 1793775487.673399, "pid": 87646, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 84.23 W, [N/A], 1935 MHz, 7001 MHz, P0, 3842 MiB\n"} +{"time": 1793775488.2806942, "pid": 87646, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 92.31 W, [N/A], 1702 MHz, 7001 MHz, P0, 3842 MiB\n"} +{"time": 1793775488.881302, "pid": 87646, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 96.06 W, [N/A], 1732 MHz, 7001 MHz, P0, 3842 MiB\n"} +{"time": 1793775489.4465468, "pid": 87646, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n73, 102.34 W, [N/A], 1867 MHz, 7001 MHz, P0, 3842 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-lm-0-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-lm-0-telemetry.jsonl new file mode 100644 index 00000000..cc3c9586 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-lm-0-telemetry.jsonl @@ -0,0 +1,8 @@ +{"time": 1793775327.7214484, "pid": 86392, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 35.04 W, [N/A], 1987 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775328.2931056, "pid": 86392, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n59, 41.51 W, [N/A], 1987 MHz, 7001 MHz, P0, 2698 MiB\n"} +{"time": 1793775328.8818047, "pid": 86392, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 49.89 W, [N/A], 1777 MHz, 7001 MHz, P0, 2836 MiB\n"} +{"time": 1793775329.495173, "pid": 86392, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 54.13 W, [N/A], 1800 MHz, 7001 MHz, P0, 2898 MiB\n"} +{"time": 1793775330.0635726, "pid": 86392, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 94.06 W, [N/A], 1860 MHz, 7001 MHz, P0, 2898 MiB\n"} +{"time": 1793775330.7027998, "pid": 86392, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 113.60 W, [N/A], 1792 MHz, 7001 MHz, P0, 2898 MiB\n"} +{"time": 1793775331.2833042, "pid": 86392, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 88.87 W, [N/A], 1747 MHz, 7001 MHz, P0, 2898 MiB\n"} +{"time": 1793775331.8978868, "pid": 86392, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 88.55 W, [N/A], 1687 MHz, 7001 MHz, P0, 2126 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-lm-1-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-lm-1-telemetry.jsonl new file mode 100644 index 00000000..cb495389 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-lm-1-telemetry.jsonl @@ -0,0 +1,9 @@ +{"time": 1793775408.806723, "pid": 87063, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n67, 35.69 W, [N/A], 1740 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775409.3739119, "pid": 87063, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 36.23 W, [N/A], 1972 MHz, 7001 MHz, P0, 2698 MiB\n"} +{"time": 1793775409.9423761, "pid": 87063, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 36.96 W, [N/A], 1972 MHz, 7001 MHz, P0, 2744 MiB\n"} +{"time": 1793775410.5208197, "pid": 87063, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 58.65 W, [N/A], 1665 MHz, 7001 MHz, P0, 2836 MiB\n"} +{"time": 1793775411.127505, "pid": 87063, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 34.72 W, [N/A], 1935 MHz, 7001 MHz, P0, 2898 MiB\n"} +{"time": 1793775411.7729788, "pid": 87063, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n67, 91.06 W, [N/A], 1642 MHz, 7001 MHz, P0, 2898 MiB\n"} +{"time": 1793775412.3422997, "pid": 87063, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 92.80 W, [N/A], 1665 MHz, 7001 MHz, P0, 2898 MiB\n"} +{"time": 1793775412.9100232, "pid": 87063, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 91.02 W, [N/A], 1822 MHz, 7001 MHz, P0, 2898 MiB\n"} +{"time": 1793775413.482547, "pid": 87063, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 94.67 W, [N/A], 1695 MHz, 7001 MHz, P0, 2642 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-lm-2-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-lm-2-telemetry.jsonl new file mode 100644 index 00000000..3b21cf93 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-lm-2-telemetry.jsonl @@ -0,0 +1,9 @@ +{"time": 1793775490.0574691, "pid": 87693, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 65.53 W, [N/A], 1965 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775490.6105163, "pid": 87693, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n67, 37.13 W, [N/A], 1965 MHz, 7001 MHz, P0, 2698 MiB\n"} +{"time": 1793775491.1634173, "pid": 87693, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 36.62 W, [N/A], 1972 MHz, 7001 MHz, P0, 2698 MiB\n"} +{"time": 1793775491.773369, "pid": 87693, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 93.11 W, [N/A], 1972 MHz, 7001 MHz, P0, 2828 MiB\n"} +{"time": 1793775492.3647542, "pid": 87693, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n67, 40.54 W, [N/A], 1972 MHz, 7001 MHz, P0, 2898 MiB\n"} +{"time": 1793775492.9187891, "pid": 87693, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 86.23 W, [N/A], 1830 MHz, 7001 MHz, P0, 2898 MiB\n"} +{"time": 1793775493.470355, "pid": 87693, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 86.40 W, [N/A], 1627 MHz, 7001 MHz, P0, 2898 MiB\n"} +{"time": 1793775494.0492418, "pid": 87693, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 88.85 W, [N/A], 1807 MHz, 7001 MHz, P0, 2898 MiB\n"} +{"time": 1793775494.662875, "pid": 87693, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 86.21 W, [N/A], 1680 MHz, 7001 MHz, P0, 2898 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-vision-0-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-vision-0-telemetry.jsonl new file mode 100644 index 00000000..3f622934 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-vision-0-telemetry.jsonl @@ -0,0 +1,9 @@ +{"time": 1793775332.4980109, "pid": 86429, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 35.19 W, [N/A], 1987 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775333.0769463, "pid": 86429, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 35.85 W, [N/A], 1987 MHz, 7001 MHz, P0, 2638 MiB\n"} +{"time": 1793775334.1273477, "pid": 86429, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 21.83 W, [N/A], 1425 MHz, 7001 MHz, P0, 2732 MiB\n"} +{"time": 1793775335.2417512, "pid": 86429, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n59, 21.79 W, [N/A], 1425 MHz, 7001 MHz, P0, 2734 MiB\n"} +{"time": 1793775336.191273, "pid": 86429, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n59, 26.53 W, [N/A], 1425 MHz, 7001 MHz, P0, 2734 MiB\n"} +{"time": 1793775337.2624521, "pid": 86429, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n58, 35.37 W, [N/A], 1425 MHz, 7001 MHz, P0, 2788 MiB\n"} +{"time": 1793775338.2286832, "pid": 86429, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 78.58 W, [N/A], 1612 MHz, 7001 MHz, P0, 2788 MiB\n"} +{"time": 1793775338.8490114, "pid": 86429, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 78.08 W, [N/A], 1612 MHz, 7001 MHz, P0, 2788 MiB\n"} +{"time": 1793775339.4785733, "pid": 86429, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 36.02 W, [N/A], 1740 MHz, 7001 MHz, P0, 1873 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-vision-1-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-vision-1-telemetry.jsonl new file mode 100644 index 00000000..dda92e4c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-vision-1-telemetry.jsonl @@ -0,0 +1,7 @@ +{"time": 1793775414.0534458, "pid": 87108, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 36.30 W, [N/A], 1972 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775414.636326, "pid": 87108, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 37.50 W, [N/A], 1972 MHz, 7001 MHz, P0, 2638 MiB\n"} +{"time": 1793775415.2681174, "pid": 87108, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 59.40 W, [N/A], 1972 MHz, 7001 MHz, P0, 2734 MiB\n"} +{"time": 1793775415.906499, "pid": 87108, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 96.75 W, [N/A], 1717 MHz, 7001 MHz, P0, 2788 MiB\n"} +{"time": 1793775416.4721978, "pid": 87108, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 94.72 W, [N/A], 1890 MHz, 7001 MHz, P0, 2788 MiB\n"} +{"time": 1793775417.0432599, "pid": 87108, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 86.79 W, [N/A], 1725 MHz, 7001 MHz, P0, 2788 MiB\n"} +{"time": 1793775417.6517887, "pid": 87108, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 96.42 W, [N/A], 1740 MHz, 7001 MHz, P0, 2788 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-vision-2-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-vision-2-telemetry.jsonl new file mode 100644 index 00000000..ebff9f87 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q4_0-vision-2-telemetry.jsonl @@ -0,0 +1,8 @@ +{"time": 1793775495.2390354, "pid": 87735, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 37.12 W, [N/A], 1965 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775495.8466253, "pid": 87735, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 37.86 W, [N/A], 1965 MHz, 7001 MHz, P0, 2582 MiB\n"} +{"time": 1793775496.4070415, "pid": 87735, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n67, 37.12 W, [N/A], 1965 MHz, 7001 MHz, P0, 2660 MiB\n"} +{"time": 1793775496.9782054, "pid": 87735, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 47.94 W, [N/A], 1425 MHz, 7001 MHz, P0, 2788 MiB\n"} +{"time": 1793775497.5481782, "pid": 87735, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 80.80 W, [N/A], 1627 MHz, 7001 MHz, P0, 2788 MiB\n"} +{"time": 1793775498.118604, "pid": 87735, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 87.35 W, [N/A], 1837 MHz, 7001 MHz, P0, 2788 MiB\n"} +{"time": 1793775498.7472656, "pid": 87735, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 82.30 W, [N/A], 1665 MHz, 7001 MHz, P0, 2788 MiB\n"} +{"time": 1793775499.3556252, "pid": 87735, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n73, 89.81 W, [N/A], 1680 MHz, 7001 MHz, P0, 2788 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-lm-0-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-lm-0-telemetry.jsonl new file mode 100644 index 00000000..47ca3830 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-lm-0-telemetry.jsonl @@ -0,0 +1,10 @@ +{"time": 1793775340.1120145, "pid": 86488, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 35.71 W, [N/A], 1987 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775340.7599618, "pid": 86488, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 35.29 W, [N/A], 1987 MHz, 7001 MHz, P0, 2738 MiB\n"} +{"time": 1793775341.435135, "pid": 86488, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 29.00 W, [N/A], 1425 MHz, 7001 MHz, P0, 2738 MiB\n"} +{"time": 1793775342.1314425, "pid": 86488, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 22.66 W, [N/A], 1425 MHz, 7001 MHz, P0, 2738 MiB\n"} +{"time": 1793775342.9032545, "pid": 86488, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n59, 21.86 W, [N/A], 1425 MHz, 7001 MHz, P0, 2738 MiB\n"} +{"time": 1793775343.484874, "pid": 86488, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n59, 22.10 W, [N/A], 1425 MHz, 7001 MHz, P0, 2806 MiB\n"} +{"time": 1793775344.110592, "pid": 86488, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 68.41 W, [N/A], 1830 MHz, 7001 MHz, P0, 2884 MiB\n"} +{"time": 1793775344.9006033, "pid": 86488, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n67, 90.97 W, [N/A], 1725 MHz, 7001 MHz, P0, 2938 MiB\n"} +{"time": 1793775345.580581, "pid": 86488, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n67, 112.75 W, [N/A], 1807 MHz, 7001 MHz, P0, 2938 MiB\n"} +{"time": 1793775346.146494, "pid": 86488, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 92.56 W, [N/A], 1717 MHz, 7001 MHz, P0, 2938 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-lm-1-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-lm-1-telemetry.jsonl new file mode 100644 index 00000000..04fd40d1 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-lm-1-telemetry.jsonl @@ -0,0 +1,10 @@ +{"time": 1793775418.292346, "pid": 87144, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 37.06 W, [N/A], 1972 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775418.8921962, "pid": 87144, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 37.13 W, [N/A], 1972 MHz, 7001 MHz, P0, 2738 MiB\n"} +{"time": 1793775419.5096602, "pid": 87144, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 36.65 W, [N/A], 1972 MHz, 7001 MHz, P0, 2782 MiB\n"} +{"time": 1793775420.5992963, "pid": 87144, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.33 W, [N/A], 1425 MHz, 7001 MHz, P0, 2808 MiB\n"} +{"time": 1793775421.2263312, "pid": 87144, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 39.32 W, [N/A], 1425 MHz, 7001 MHz, P0, 2876 MiB\n"} +{"time": 1793775421.8754406, "pid": 87144, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 66.61 W, [N/A], 1965 MHz, 7001 MHz, P0, 2884 MiB\n"} +{"time": 1793775422.5389786, "pid": 87144, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 92.12 W, [N/A], 1732 MHz, 7001 MHz, P0, 2938 MiB\n"} +{"time": 1793775423.2023036, "pid": 87144, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 109.63 W, [N/A], 1837 MHz, 7001 MHz, P0, 2938 MiB\n"} +{"time": 1793775423.7741008, "pid": 87144, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 95.89 W, [N/A], 1762 MHz, 7001 MHz, P0, 2938 MiB\n"} +{"time": 1793775424.4076138, "pid": 87144, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 93.86 W, [N/A], 1762 MHz, 7001 MHz, P0, 2938 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-lm-2-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-lm-2-telemetry.jsonl new file mode 100644 index 00000000..907698ac --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-lm-2-telemetry.jsonl @@ -0,0 +1,9 @@ +{"time": 1793775499.9337757, "pid": 87818, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 48.78 W, [N/A], 1965 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775500.5177379, "pid": 87818, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 38.08 W, [N/A], 1965 MHz, 7001 MHz, P0, 2738 MiB\n"} +{"time": 1793775501.171, "pid": 87818, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 37.03 W, [N/A], 1965 MHz, 7001 MHz, P0, 2806 MiB\n"} +{"time": 1793775501.7974572, "pid": 87818, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 23.22 W, [N/A], 1425 MHz, 7001 MHz, P0, 2876 MiB\n"} +{"time": 1793775502.4393477, "pid": 87818, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 36.91 W, [N/A], 1972 MHz, 7001 MHz, P0, 2884 MiB\n"} +{"time": 1793775503.0956712, "pid": 87818, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 68.48 W, [N/A], 1972 MHz, 7001 MHz, P0, 2938 MiB\n"} +{"time": 1793775503.7468455, "pid": 87818, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 69.43 W, [N/A], 1612 MHz, 7001 MHz, P0, 2938 MiB\n"} +{"time": 1793775504.4227364, "pid": 87818, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 80.24 W, [N/A], 1762 MHz, 7001 MHz, P0, 2938 MiB\n"} +{"time": 1793775504.9941266, "pid": 87818, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 93.89 W, [N/A], 1612 MHz, 7001 MHz, P0, 2938 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-vision-0-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-vision-0-telemetry.jsonl new file mode 100644 index 00000000..fbce7357 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-vision-0-telemetry.jsonl @@ -0,0 +1,7 @@ +{"time": 1793775346.7174408, "pid": 86535, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 47.15 W, [N/A], 1837 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775347.283837, "pid": 86535, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 36.22 W, [N/A], 1972 MHz, 7001 MHz, P0, 2632 MiB\n"} +{"time": 1793775347.8523824, "pid": 86535, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 75.21 W, [N/A], 1837 MHz, 7001 MHz, P0, 2838 MiB\n"} +{"time": 1793775348.4329286, "pid": 86535, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n67, 89.57 W, [N/A], 1717 MHz, 7001 MHz, P0, 2838 MiB\n"} +{"time": 1793775349.0034347, "pid": 86535, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 69.93 W, [N/A], 1845 MHz, 7001 MHz, P0, 2838 MiB\n"} +{"time": 1793775349.56389, "pid": 86535, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 90.59 W, [N/A], 1777 MHz, 7001 MHz, P0, 2838 MiB\n"} +{"time": 1793775350.1217375, "pid": 86535, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 106.18 W, [N/A], 1762 MHz, 7001 MHz, P0, 2838 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-vision-1-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-vision-1-telemetry.jsonl new file mode 100644 index 00000000..5f6f808d --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-vision-1-telemetry.jsonl @@ -0,0 +1,9 @@ +{"time": 1793775425.04729, "pid": 87218, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n67, 36.73 W, [N/A], 1972 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775425.6410522, "pid": 87218, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 36.90 W, [N/A], 1972 MHz, 7001 MHz, P0, 2632 MiB\n"} +{"time": 1793775426.2081625, "pid": 87218, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 36.29 W, [N/A], 1972 MHz, 7001 MHz, P0, 2632 MiB\n"} +{"time": 1793775426.7880967, "pid": 87218, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 22.46 W, [N/A], 1972 MHz, 7001 MHz, P0, 2686 MiB\n"} +{"time": 1793775427.8659666, "pid": 87218, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 33.11 W, [N/A], 1425 MHz, 7001 MHz, P0, 2784 MiB\n"} +{"time": 1793775428.6413188, "pid": 87218, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 65.18 W, [N/A], 1425 MHz, 7001 MHz, P0, 2838 MiB\n"} +{"time": 1793775429.2852068, "pid": 87218, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 95.43 W, [N/A], 1830 MHz, 7001 MHz, P0, 2838 MiB\n"} +{"time": 1793775429.9676461, "pid": 87218, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 97.27 W, [N/A], 1762 MHz, 7001 MHz, P0, 2838 MiB\n"} +{"time": 1793775430.6279874, "pid": 87218, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 100.32 W, [N/A], 1822 MHz, 7001 MHz, P0, 2838 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-vision-2-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-vision-2-telemetry.jsonl new file mode 100644 index 00000000..22412f68 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q5_0-vision-2-telemetry.jsonl @@ -0,0 +1,9 @@ +{"time": 1793775505.555016, "pid": 87880, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n73, 54.96 W, [N/A], 1672 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775506.148373, "pid": 87880, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 37.33 W, [N/A], 1965 MHz, 7001 MHz, P0, 2632 MiB\n"} +{"time": 1793775506.7184348, "pid": 87880, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 37.40 W, [N/A], 1965 MHz, 7001 MHz, P0, 2632 MiB\n"} +{"time": 1793775507.2956517, "pid": 87880, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 24.26 W, [N/A], 1965 MHz, 7001 MHz, P0, 2764 MiB\n"} +{"time": 1793775507.9525764, "pid": 87880, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n67, 38.90 W, [N/A], 1650 MHz, 7001 MHz, P0, 2838 MiB\n"} +{"time": 1793775508.5902991, "pid": 87880, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 69.85 W, [N/A], 1770 MHz, 7001 MHz, P0, 2838 MiB\n"} +{"time": 1793775509.200933, "pid": 87880, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 105.09 W, [N/A], 1567 MHz, 7001 MHz, P0, 2838 MiB\n"} +{"time": 1793775509.8186104, "pid": 87880, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n73, 83.80 W, [N/A], 1627 MHz, 7001 MHz, P0, 2838 MiB\n"} +{"time": 1793775510.4475513, "pid": 87880, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n74, 55.42 W, [N/A], 1687 MHz, 7001 MHz, P0, 1873 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-lm-0-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-lm-0-telemetry.jsonl new file mode 100644 index 00000000..719e7901 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-lm-0-telemetry.jsonl @@ -0,0 +1,10 @@ +{"time": 1793775350.6941838, "pid": 86570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n67, 36.34 W, [N/A], 1972 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775351.249007, "pid": 86570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 36.39 W, [N/A], 1972 MHz, 7001 MHz, P0, 2854 MiB\n"} +{"time": 1793775351.9608104, "pid": 86570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 36.01 W, [N/A], 1972 MHz, 7001 MHz, P0, 2854 MiB\n"} +{"time": 1793775352.5851762, "pid": 86570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.52 W, [N/A], 1425 MHz, 7001 MHz, P0, 2854 MiB\n"} +{"time": 1793775353.15792, "pid": 86570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.32 W, [N/A], 1425 MHz, 7001 MHz, P0, 2900 MiB\n"} +{"time": 1793775353.7305849, "pid": 86570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 71.87 W, [N/A], 1425 MHz, 7001 MHz, P0, 3000 MiB\n"} +{"time": 1793775354.3061945, "pid": 86570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 75.33 W, [N/A], 1980 MHz, 7001 MHz, P0, 3054 MiB\n"} +{"time": 1793775354.8837645, "pid": 86570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 94.37 W, [N/A], 1860 MHz, 7001 MHz, P0, 3054 MiB\n"} +{"time": 1793775355.4781287, "pid": 86570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 88.97 W, [N/A], 1695 MHz, 7001 MHz, P0, 3054 MiB\n"} +{"time": 1793775356.0405645, "pid": 86570, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 72.25 W, [N/A], 1807 MHz, 7001 MHz, P0, 3054 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-lm-1-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-lm-1-telemetry.jsonl new file mode 100644 index 00000000..df67d928 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-lm-1-telemetry.jsonl @@ -0,0 +1,14 @@ +{"time": 1793775431.2791586, "pid": 87263, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 36.61 W, [N/A], 1972 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775431.8950036, "pid": 87263, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 36.99 W, [N/A], 1972 MHz, 7001 MHz, P0, 2854 MiB\n"} +{"time": 1793775432.5175695, "pid": 87263, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 36.48 W, [N/A], 1972 MHz, 7001 MHz, P0, 2854 MiB\n"} +{"time": 1793775433.2944415, "pid": 87263, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 22.47 W, [N/A], 1425 MHz, 7001 MHz, P0, 2854 MiB\n"} +{"time": 1793775434.1541135, "pid": 87263, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 22.23 W, [N/A], 1425 MHz, 7001 MHz, P0, 2854 MiB\n"} +{"time": 1793775434.897728, "pid": 87263, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.25 W, [N/A], 1425 MHz, 7001 MHz, P0, 2898 MiB\n"} +{"time": 1793775435.6120474, "pid": 87263, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.21 W, [N/A], 1425 MHz, 7001 MHz, P0, 2900 MiB\n"} +{"time": 1793775436.4310317, "pid": 87263, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.05 W, [N/A], 1425 MHz, 7001 MHz, P0, 2924 MiB\n"} +{"time": 1793775437.1537294, "pid": 87263, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 23.14 W, [N/A], 1425 MHz, 7001 MHz, P0, 3016 MiB\n"} +{"time": 1793775437.7761633, "pid": 87263, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 62.87 W, [N/A], 1425 MHz, 7001 MHz, P0, 3000 MiB\n"} +{"time": 1793775438.414745, "pid": 87263, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 97.79 W, [N/A], 1890 MHz, 7001 MHz, P0, 3054 MiB\n"} +{"time": 1793775438.9960349, "pid": 87263, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 94.99 W, [N/A], 1807 MHz, 7001 MHz, P0, 3054 MiB\n"} +{"time": 1793775439.5764678, "pid": 87263, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 98.57 W, [N/A], 1747 MHz, 7001 MHz, P0, 3054 MiB\n"} +{"time": 1793775440.2774007, "pid": 87263, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 96.72 W, [N/A], 1837 MHz, 7001 MHz, P0, 2166 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-lm-2-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-lm-2-telemetry.jsonl new file mode 100644 index 00000000..fb6ea58b --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-lm-2-telemetry.jsonl @@ -0,0 +1,10 @@ +{"time": 1793775511.0154102, "pid": 87952, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 37.15 W, [N/A], 1965 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775511.6013436, "pid": 87952, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 37.91 W, [N/A], 1965 MHz, 7001 MHz, P0, 2854 MiB\n"} +{"time": 1793775512.26672, "pid": 87952, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 35.52 W, [N/A], 1965 MHz, 7001 MHz, P0, 2854 MiB\n"} +{"time": 1793775512.8724759, "pid": 87952, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n67, 22.74 W, [N/A], 1425 MHz, 7001 MHz, P0, 2854 MiB\n"} +{"time": 1793775513.6154373, "pid": 87952, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 22.71 W, [N/A], 1425 MHz, 7001 MHz, P0, 2900 MiB\n"} +{"time": 1793775514.2476509, "pid": 87952, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 47.08 W, [N/A], 1425 MHz, 7001 MHz, P0, 3016 MiB\n"} +{"time": 1793775514.9633677, "pid": 87952, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 88.04 W, [N/A], 1635 MHz, 7001 MHz, P0, 3054 MiB\n"} +{"time": 1793775515.6539497, "pid": 87952, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n73, 87.90 W, [N/A], 1807 MHz, 7001 MHz, P0, 3054 MiB\n"} +{"time": 1793775516.2936292, "pid": 87952, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n73, 89.31 W, [N/A], 1605 MHz, 7001 MHz, P0, 3054 MiB\n"} +{"time": 1793775516.9141297, "pid": 87952, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n75, 87.24 W, [N/A], 1635 MHz, 7001 MHz, P0, 3054 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-vision-0-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-vision-0-telemetry.jsonl new file mode 100644 index 00000000..28cb0184 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-vision-0-telemetry.jsonl @@ -0,0 +1,7 @@ +{"time": 1793775356.6374936, "pid": 86635, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 36.50 W, [N/A], 1597 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775357.2281044, "pid": 86635, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 36.70 W, [N/A], 1972 MHz, 7001 MHz, P0, 2778 MiB\n"} +{"time": 1793775357.8480744, "pid": 86635, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 47.25 W, [N/A], 1950 MHz, 7001 MHz, P0, 2930 MiB\n"} +{"time": 1793775358.3991284, "pid": 86635, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 91.51 W, [N/A], 1837 MHz, 7001 MHz, P0, 2984 MiB\n"} +{"time": 1793775358.9862044, "pid": 86635, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 93.96 W, [N/A], 1740 MHz, 7001 MHz, P0, 2984 MiB\n"} +{"time": 1793775359.5784347, "pid": 86635, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 103.79 W, [N/A], 1777 MHz, 7001 MHz, P0, 2984 MiB\n"} +{"time": 1793775360.1421173, "pid": 86635, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 71.17 W, [N/A], 1702 MHz, 7001 MHz, P0, 2984 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-vision-1-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-vision-1-telemetry.jsonl new file mode 100644 index 00000000..468e8db3 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-vision-1-telemetry.jsonl @@ -0,0 +1,11 @@ +{"time": 1793775440.903841, "pid": 87329, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 36.62 W, [N/A], 1965 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775441.4695985, "pid": 87329, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 37.43 W, [N/A], 1965 MHz, 7001 MHz, P0, 2778 MiB\n"} +{"time": 1793775442.0664577, "pid": 87329, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 36.67 W, [N/A], 1965 MHz, 7001 MHz, P0, 2778 MiB\n"} +{"time": 1793775442.6196525, "pid": 87329, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 22.34 W, [N/A], 1425 MHz, 7001 MHz, P0, 2778 MiB\n"} +{"time": 1793775443.8568609, "pid": 87329, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 24.19 W, [N/A], 1425 MHz, 7001 MHz, P0, 2834 MiB\n"} +{"time": 1793775444.6525128, "pid": 87329, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.22 W, [N/A], 1425 MHz, 7001 MHz, P0, 2928 MiB\n"} +{"time": 1793775445.287912, "pid": 87329, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 43.07 W, [N/A], 1425 MHz, 7001 MHz, P0, 2930 MiB\n"} +{"time": 1793775445.9278107, "pid": 87329, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 77.75 W, [N/A], 1762 MHz, 7001 MHz, P0, 2984 MiB\n"} +{"time": 1793775446.5195138, "pid": 87329, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 95.95 W, [N/A], 1680 MHz, 7001 MHz, P0, 2984 MiB\n"} +{"time": 1793775447.095357, "pid": 87329, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 98.88 W, [N/A], 1830 MHz, 7001 MHz, P0, 2984 MiB\n"} +{"time": 1793775447.6741695, "pid": 87329, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 94.29 W, [N/A], 1687 MHz, 7001 MHz, P0, 2984 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-vision-2-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-vision-2-telemetry.jsonl new file mode 100644 index 00000000..7cfad2de --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-q8_0-vision-2-telemetry.jsonl @@ -0,0 +1,9 @@ +{"time": 1793775517.488755, "pid": 88033, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 37.49 W, [N/A], 1965 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775518.059639, "pid": 88033, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 37.90 W, [N/A], 1965 MHz, 7001 MHz, P0, 2778 MiB\n"} +{"time": 1793775518.9054625, "pid": 88033, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 37.06 W, [N/A], 1965 MHz, 7001 MHz, P0, 2778 MiB\n"} +{"time": 1793775519.5195618, "pid": 88033, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n67, 22.98 W, [N/A], 1425 MHz, 7001 MHz, P0, 2834 MiB\n"} +{"time": 1793775520.1973038, "pid": 88033, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n67, 22.59 W, [N/A], 1425 MHz, 7001 MHz, P0, 2910 MiB\n"} +{"time": 1793775520.841725, "pid": 88033, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 33.18 W, [N/A], 1425 MHz, 7001 MHz, P0, 2984 MiB\n"} +{"time": 1793775521.7805834, "pid": 88033, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n73, 87.61 W, [N/A], 1665 MHz, 7001 MHz, P0, 2984 MiB\n"} +{"time": 1793775522.6448631, "pid": 88033, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n74, 90.57 W, [N/A], 1680 MHz, 7001 MHz, P0, 2984 MiB\n"} +{"time": 1793775523.2567346, "pid": 88033, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n74, 88.87 W, [N/A], 1792 MHz, 7001 MHz, P0, 2984 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-spaced-10-0-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-spaced-10-0-telemetry.jsonl new file mode 100644 index 00000000..325442f3 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-spaced-10-0-telemetry.jsonl @@ -0,0 +1,11 @@ +{"time": 1793775360.730222, "pid": 86669, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 36.54 W, [N/A], 1905 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775361.2914057, "pid": 86669, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 38.21 W, [N/A], 1972 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775361.8773541, "pid": 86669, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 36.62 W, [N/A], 1972 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775362.4528077, "pid": 86669, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 23.33 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775363.0240135, "pid": 86669, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.41 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775363.5825446, "pid": 86669, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.47 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775364.151461, "pid": 86669, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 30.86 W, [N/A], 1425 MHz, 7001 MHz, P0, 3882 MiB\n"} +{"time": 1793775364.7022376, "pid": 86669, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 99.90 W, [N/A], 1425 MHz, 7001 MHz, P0, 3918 MiB\n"} +{"time": 1793775365.261202, "pid": 86669, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 83.05 W, [N/A], 1680 MHz, 7001 MHz, P0, 3918 MiB\n"} +{"time": 1793775365.8867707, "pid": 86669, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 84.11 W, [N/A], 1770 MHz, 7001 MHz, P0, 3918 MiB\n"} +{"time": 1793775366.5052123, "pid": 86669, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 87.00 W, [N/A], 1725 MHz, 7001 MHz, P0, 3918 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-spaced-10-1-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-spaced-10-1-telemetry.jsonl new file mode 100644 index 00000000..20e7ac9a --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-spaced-10-1-telemetry.jsonl @@ -0,0 +1,14 @@ +{"time": 1793775448.2350504, "pid": 87393, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 36.37 W, [N/A], 1965 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775448.8091955, "pid": 87393, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 36.79 W, [N/A], 1965 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775449.3935268, "pid": 87393, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 36.46 W, [N/A], 1965 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775449.9897604, "pid": 87393, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 22.49 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775450.6183777, "pid": 87393, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 22.52 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775451.2656898, "pid": 87393, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 22.27 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775451.8852444, "pid": 87393, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.67 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775452.5103161, "pid": 87393, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.37 W, [N/A], 1425 MHz, 7001 MHz, P0, 3764 MiB\n"} +{"time": 1793775453.740254, "pid": 87393, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 23.86 W, [N/A], 1425 MHz, 7001 MHz, P0, 3800 MiB\n"} +{"time": 1793775454.4507456, "pid": 87393, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 56.99 W, [N/A], 1425 MHz, 7001 MHz, P0, 3856 MiB\n"} +{"time": 1793775455.2000275, "pid": 87393, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n67, 124.81 W, [N/A], 1980 MHz, 7001 MHz, P0, 3918 MiB\n"} +{"time": 1793775455.8537843, "pid": 87393, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 95.53 W, [N/A], 1905 MHz, 7001 MHz, P0, 3918 MiB\n"} +{"time": 1793775456.5218155, "pid": 87393, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 73.40 W, [N/A], 1672 MHz, 7001 MHz, P0, 3918 MiB\n"} +{"time": 1793775457.165761, "pid": 87393, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 96.07 W, [N/A], 1717 MHz, 7001 MHz, P0, 3918 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-spaced-10-2-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-spaced-10-2-telemetry.jsonl new file mode 100644 index 00000000..ffb0469c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-spaced-10-2-telemetry.jsonl @@ -0,0 +1,15 @@ +{"time": 1793775523.8776872, "pid": 88103, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 38.44 W, [N/A], 1965 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775524.4751644, "pid": 88103, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 37.74 W, [N/A], 1965 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775525.2558372, "pid": 88103, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 30.69 W, [N/A], 1965 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775526.0907214, "pid": 88103, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n67, 22.71 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775526.9605916, "pid": 88103, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 22.81 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775527.7099578, "pid": 88103, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 22.59 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775528.41374, "pid": 88103, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 22.49 W, [N/A], 1425 MHz, 7001 MHz, P0, 3766 MiB\n"} +{"time": 1793775529.1719708, "pid": 88103, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 22.45 W, [N/A], 1425 MHz, 7001 MHz, P0, 3788 MiB\n"} +{"time": 1793775529.8019447, "pid": 88103, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 22.36 W, [N/A], 1425 MHz, 7001 MHz, P0, 3800 MiB\n"} +{"time": 1793775530.4829602, "pid": 88103, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 23.16 W, [N/A], 1492 MHz, 7001 MHz, P0, 3882 MiB\n"} +{"time": 1793775531.1998923, "pid": 88103, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n67, 44.04 W, [N/A], 1612 MHz, 7001 MHz, P0, 3866 MiB\n"} +{"time": 1793775531.7750285, "pid": 88103, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 80.75 W, [N/A], 1575 MHz, 7001 MHz, P0, 3918 MiB\n"} +{"time": 1793775532.3538475, "pid": 88103, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 78.20 W, [N/A], 1680 MHz, 7001 MHz, P0, 3918 MiB\n"} +{"time": 1793775532.9158082, "pid": 88103, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 83.50 W, [N/A], 1687 MHz, 7001 MHz, P0, 3918 MiB\n"} +{"time": 1793775533.4943275, "pid": 88103, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n73, 81.08 W, [N/A], 1575 MHz, 7001 MHz, P0, 3918 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-tail-10-0-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-tail-10-0-telemetry.jsonl new file mode 100644 index 00000000..03a8b19c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-tail-10-0-telemetry.jsonl @@ -0,0 +1,23 @@ +{"time": 1793775367.1027899, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 37.46 W, [N/A], 1680 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775367.6700568, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 36.28 W, [N/A], 1972 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775368.2417185, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 36.89 W, [N/A], 1972 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775368.8178236, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 36.50 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775369.4034095, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.65 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775369.979299, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.22 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775370.5394642, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.54 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775371.0954123, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.22 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775371.67101, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.26 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775372.2535744, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.28 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775372.8414738, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.21 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775373.4561076, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.16 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775374.0237834, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 22.13 W, [N/A], 1425 MHz, 7001 MHz, P5, 3720 MiB\n"} +{"time": 1793775374.588472, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 16.08 W, [N/A], 337 MHz, 810 MHz, P5, 3720 MiB\n"} +{"time": 1793775375.1714568, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 13.07 W, [N/A], 262 MHz, 810 MHz, P8, 3720 MiB\n"} +{"time": 1793775375.747995, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 13.41 W, [N/A], 232 MHz, 405 MHz, P8, 3720 MiB\n"} +{"time": 1793775376.3425884, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 12.66 W, [N/A], 210 MHz, 405 MHz, P8, 3790 MiB\n"} +{"time": 1793775376.9261796, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 12.65 W, [N/A], 367 MHz, 405 MHz, P8, 3858 MiB\n"} +{"time": 1793775377.4804971, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 53.47 W, [N/A], 1425 MHz, 7001 MHz, P0, 3866 MiB\n"} +{"time": 1793775378.0401654, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 86.76 W, [N/A], 1725 MHz, 7001 MHz, P0, 3918 MiB\n"} +{"time": 1793775378.5963063, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 84.19 W, [N/A], 1642 MHz, 7001 MHz, P0, 3918 MiB\n"} +{"time": 1793775379.1545758, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 85.85 W, [N/A], 1777 MHz, 7001 MHz, P0, 3918 MiB\n"} +{"time": 1793775379.7108781, "pid": 86720, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 81.48 W, [N/A], 1605 MHz, 7001 MHz, P0, 3918 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-tail-10-1-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-tail-10-1-telemetry.jsonl new file mode 100644 index 00000000..fde0ad04 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-tail-10-1-telemetry.jsonl @@ -0,0 +1,23 @@ +{"time": 1793775457.820104, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 36.45 W, [N/A], 1755 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775458.4235144, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 36.75 W, [N/A], 1965 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775459.0028377, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 36.23 W, [N/A], 1965 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775459.5915916, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 22.58 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775460.1443615, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 22.39 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775460.7327733, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 22.30 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775461.3363364, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 22.23 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775461.937259, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.24 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775462.5636604, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.22 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775463.3599844, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.73 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775464.1468098, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.32 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775464.8584116, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.43 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775466.0007663, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n62, 14.15 W, [N/A], 285 MHz, 405 MHz, P8, 3720 MiB\n"} +{"time": 1793775466.9674828, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 12.51 W, [N/A], 210 MHz, 405 MHz, P8, 3764 MiB\n"} +{"time": 1793775467.6963785, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 12.81 W, [N/A], 210 MHz, 405 MHz, P8, 3766 MiB\n"} +{"time": 1793775468.6771128, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 13.92 W, [N/A], 210 MHz, 405 MHz, P8, 3786 MiB\n"} +{"time": 1793775470.0846627, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 12.50 W, [N/A], 360 MHz, 405 MHz, P8, 3858 MiB\n"} +{"time": 1793775470.8384078, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 35.46 W, [N/A], 1987 MHz, 7001 MHz, P0, 3856 MiB\n"} +{"time": 1793775471.4912446, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 35.67 W, [N/A], 1972 MHz, 7001 MHz, P0, 3918 MiB\n"} +{"time": 1793775472.1091142, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 90.69 W, [N/A], 1717 MHz, 7001 MHz, P0, 3918 MiB\n"} +{"time": 1793775472.717233, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 89.35 W, [N/A], 1755 MHz, 7001 MHz, P0, 3918 MiB\n"} +{"time": 1793775473.3196113, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 87.59 W, [N/A], 1642 MHz, 7001 MHz, P0, 3918 MiB\n"} +{"time": 1793775473.8992248, "pid": 87458, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 89.33 W, [N/A], 1792 MHz, 7001 MHz, P0, 2124 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-tail-10-2-telemetry.jsonl b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-tail-10-2-telemetry.jsonl new file mode 100644 index 00000000..28c88af2 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-bench/smolvla-vision-tail-10-2-telemetry.jsonl @@ -0,0 +1,11 @@ +{"time": 1793775534.0646582, "pid": 88210, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 37.04 W, [N/A], 1965 MHz, 7001 MHz, P0, 1873 MiB\n"} +{"time": 1793775534.6411133, "pid": 88210, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 37.00 W, [N/A], 1965 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775535.2028065, "pid": 88210, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 37.96 W, [N/A], 1965 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775535.8373227, "pid": 88210, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 22.82 W, [N/A], 1965 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775536.415496, "pid": 88210, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 22.69 W, [N/A], 1425 MHz, 7001 MHz, P0, 3720 MiB\n"} +{"time": 1793775537.1799786, "pid": 88210, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 22.53 W, [N/A], 1425 MHz, 7001 MHz, P0, 3788 MiB\n"} +{"time": 1793775537.7951088, "pid": 88210, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 23.26 W, [N/A], 1425 MHz, 7001 MHz, P0, 3882 MiB\n"} +{"time": 1793775538.3778827, "pid": 88210, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 63.55 W, [N/A], 1867 MHz, 7001 MHz, P0, 3918 MiB\n"} +{"time": 1793775538.987097, "pid": 88210, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n73, 89.20 W, [N/A], 1732 MHz, 7001 MHz, P0, 3918 MiB\n"} +{"time": 1793775539.5844483, "pid": 88210, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n74, 86.58 W, [N/A], 1672 MHz, 7001 MHz, P0, 3918 MiB\n"} +{"time": 1793775540.1500747, "pid": 88210, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n74, 91.29 W, [N/A], 1792 MHz, 7001 MHz, P0, 3918 MiB\n"} diff --git a/research-notes/smolvla-followup-20261104/candidate-checks/defaults.out b/research-notes/smolvla-followup-20261104/candidate-checks/defaults.out new file mode 100644 index 00000000..16c9492c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-checks/defaults.out @@ -0,0 +1,1612 @@ +vla: arch = smolvla +vla: config = /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 416 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 1763.1 MiB +vla: [vram] after weights alloc used=2789.5 MiB free=3354.0 MiB (+1764.0 MiB) +action_len=1600 +-0.0459292755 +0.0341953859 +0.111380555 +-0.0117479227 +-0.00130276568 +-0.000827913638 +-0.955941021 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0409535393 +0.00839561969 +0.173567623 +-0.00718310522 +-0.00332403276 +-0.00521435356 +-0.968266487 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0364043266 +0.00978957117 +0.180259198 +-0.00279493257 +-0.00202238094 +-0.0046483581 +-0.963026881 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0441624671 +0.023518689 +0.187531054 +-0.00325232884 +-0.00412750989 +-0.00208654278 +-0.960187614 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0508211404 +0.0315208621 +0.20181182 +-0.00275587779 +-0.00556899048 +-0.00195607846 +-0.961035192 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0481168181 +0.0402021967 +0.203507304 +-0.00413073879 +-0.00420359522 +-0.00160450698 +-0.953900695 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0521454811 +0.0615724251 +0.195817262 +-0.00465205312 +-0.00416458305 +0.000179628842 +-0.960034311 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.057125546 +0.0744654909 +0.198190033 +-0.00416312972 +-0.00544448942 +0.000444445293 +-0.953751504 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0552474782 +0.0903604701 +0.198524803 +-0.00502330577 +-0.00397205632 +3.38288955e-05 +-0.954802036 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0567289963 +0.115455031 +0.188435823 +-0.00477811648 +-0.00339048635 +0.000540214125 +-0.959164679 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0611783862 +0.127692863 +0.173895508 +-0.00410703477 +-0.00407716725 +0.00132880453 +-0.956106663 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0613110363 +0.145774573 +0.161288112 +-0.00461252034 +-0.00258826744 +0.000812980812 +-0.95600611 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.062781252 +0.176988751 +0.147910476 +-0.00416984176 +-0.00253205653 +0.000739258248 +-0.962402582 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0673238859 +0.195170179 +0.135933816 +-0.00403788127 +-0.003237959 +4.04343009e-05 +-0.959477901 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0668527856 +0.225084648 +0.120072447 +-0.0040273997 +-0.00166392513 +-0.000405945349 +-0.961005986 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0699436739 +0.241317227 +0.114043958 +-0.00368076563 +-0.00166478707 +-0.000405153725 +-0.962355077 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0756761953 +0.260480165 +0.103559814 +-0.00356320431 +-0.00227724854 +-0.00139288907 +-0.958776832 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0754467174 +0.286450297 +0.0936303958 +-0.00320748542 +-0.001822263 +-0.00168756489 +-0.960526884 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0773755088 +0.301988751 +0.0847595707 +-0.00288008223 +-0.00241805892 +-0.00118877739 +-0.961845994 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0798752531 +0.318407148 +0.0761555657 +-0.00306809694 +-0.00281785056 +-0.00206404342 +-0.95898968 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0826331899 +0.333106905 +0.0682327375 +-0.00263386872 +-0.00221640337 +-0.00297755352 +-0.961342394 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0871713236 +0.343411654 +0.0620126054 +-0.00253051706 +-0.00279493257 +-0.00238397764 +-0.960875988 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.092976816 +0.352109134 +0.0607408509 +-0.00235187262 +-0.00296045095 +-0.00329686049 +-0.952581763 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.093807213 +0.362307757 +0.0511165038 +-0.00251081563 +-0.00242645387 +-0.00358932395 +-0.956782937 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0984461829 +0.369093657 +0.0464726016 +-0.00261871889 +-0.00314341299 +-0.00291383825 +-0.946969032 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101479776 +0.377058178 +0.0450695232 +-0.00241838838 +-0.003201182 +-0.00377047481 +-0.950872362 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0990167633 +0.384353131 +0.037363641 +-0.00243317173 +-0.00242845528 +-0.00437981309 +-0.956552923 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102177538 +0.386311293 +0.0345103815 +-0.002544221 +-0.0030117901 +-0.00380470371 +-0.950489223 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106403433 +0.387463868 +0.0265679583 +-0.00218085479 +-0.00290853903 +-0.00477884663 +-0.951434314 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.105015509 +0.392766267 +0.0153573379 +-0.00212678034 +-0.00224885065 +-0.00465536257 +-0.958195508 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108022906 +0.391944557 +0.0111999512 +-0.00242293393 +-0.00293609686 +-0.00536249205 +-0.95263207 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108865373 +0.390826315 +0.000375665724 +-0.00203082035 +-0.00283798017 +-0.00624960195 +-0.954785168 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107667826 +0.388228446 +-0.0100272 +-0.00182676874 +-0.00202763313 +-0.00610639714 +-0.956821442 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109844662 +0.381451666 +-0.0134500936 +-0.00217823964 +-0.00258272979 +-0.00741820689 +-0.953450382 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110522516 +0.372876585 +-0.0201391876 +-0.00174460351 +-0.00213477481 +-0.00796917826 +-0.954102814 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110060059 +0.364292622 +-0.0287230238 +-0.00152715109 +-0.00228315033 +-0.00785809103 +-0.956465125 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110937797 +0.353769422 +-0.0329893753 +-0.00195254176 +-0.00281237438 +-0.00897077285 +-0.954507887 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110322915 +0.345952839 +-0.0397435799 +-0.00144116464 +-0.00211623637 +-0.00960329548 +-0.956501842 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115415893 +0.33977586 +-0.0490987487 +-0.00129180541 +-0.00233923085 +-0.00911582634 +-0.95596838 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117474355 +0.333389163 +-0.0504915565 +-0.00103267585 +-0.00272229221 +-0.0102462918 +-0.953025699 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117742456 +0.326791644 +-0.0587476715 +-0.00135422638 +-0.00201040879 +-0.0107997879 +-0.956496358 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122484021 +0.322899699 +-0.0660447776 +-0.00138096581 +-0.00206982996 +-0.0102602234 +-0.958528638 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124809437 +0.313825309 +-0.0646588653 +-0.00100804283 +-0.00275041722 +-0.0109823123 +-0.951194048 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122059189 +0.306751162 +-0.0721061155 +-0.0011989153 +-0.00168106332 +-0.0112186484 +-0.95513612 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124723069 +0.301912069 +-0.0762959123 +-0.00139054796 +-0.00212712586 +-0.0107525066 +-0.951275766 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125362456 +0.29181993 +-0.0828018114 +-0.000905683322 +-0.00223303493 +-0.0114273224 +-0.951536 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122644015 +0.284579605 +-0.0901383907 +-0.00114992377 +-0.00137727242 +-0.0117503367 +-0.956807613 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125641465 +0.281635255 +-0.0920918733 +-0.00131616695 +-0.00180637464 +-0.0109490231 +-0.952611804 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126308501 +0.274704874 +-0.0969400108 +-0.000971565198 +-0.00187887205 +-0.0114795752 +-0.952839851 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.12516439 +0.271317273 +-0.102007307 +-0.000939435849 +-0.000883858185 +-0.0111095123 +-0.953489244 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/candidate-checks/flash-mm.out b/research-notes/smolvla-followup-20261104/candidate-checks/flash-mm.out new file mode 100644 index 00000000..a6940f03 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-checks/flash-mm.out @@ -0,0 +1,1611 @@ +vla: arch = smolvla +vla: config = /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: [vram] weight_buf = 985.0 MiB +vla: [vram] after weights alloc used=2011.5 MiB free=4132.0 MiB (+986.0 MiB) +action_len=1600 +-0.0464000255 +0.0340551659 +0.110990308 +-0.0117715877 +-0.0013827947 +-0.000799478963 +-0.956473529 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.04134994 +0.00809901208 +0.173498929 +-0.00722194556 +-0.00340186525 +-0.00517664989 +-0.968564093 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.036777921 +0.00974227488 +0.180387199 +-0.00283011561 +-0.00207959488 +-0.00460273819 +-0.96298331 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0445779115 +0.0232077092 +0.187888086 +-0.00327085913 +-0.00418783166 +-0.00205874047 +-0.960477233 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0511960685 +0.031567663 +0.202072501 +-0.00277388562 +-0.00563737378 +-0.00190785131 +-0.960838079 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0484330207 +0.0399987511 +0.203865737 +-0.00415642234 +-0.00426462665 +-0.00156533392 +-0.953376353 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0525100753 +0.0613571368 +0.196237057 +-0.00465707202 +-0.00421903748 +0.000238850713 +-0.959890664 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0575715005 +0.0741821229 +0.198608547 +-0.00416748459 +-0.0054763956 +0.000477418769 +-0.95331198 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0553398654 +0.0900718868 +0.198886812 +-0.00504184747 +-0.0040401211 +7.84806907e-05 +-0.954835773 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0571667999 +0.115113541 +0.188854486 +-0.00476844143 +-0.00346049666 +0.000597782433 +-0.959138989 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0618005395 +0.127236813 +0.174427986 +-0.00412497669 +-0.00412352011 +0.00139402645 +-0.956301987 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0615859777 +0.14490813 +0.161745191 +-0.00462421589 +-0.00263014901 +0.000928785652 +-0.956069171 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0630528554 +0.175950259 +0.148421317 +-0.00419028243 +-0.00259212498 +0.00079114316 +-0.962303698 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0676777139 +0.193733007 +0.136485428 +-0.00405405182 +-0.00328893028 +9.91094857e-05 +-0.959772766 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.067102693 +0.223136902 +0.120741583 +-0.00404720195 +-0.00172042521 +-0.000320192892 +-0.960704386 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0701882467 +0.239326507 +0.114455156 +-0.00369849149 +-0.00172971375 +-0.000302224886 +-0.962669015 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0757648274 +0.258123666 +0.10427054 +-0.00358371483 +-0.00234798528 +-0.00128672644 +-0.958236158 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0757167265 +0.284030616 +0.0942897275 +-0.00323554385 +-0.00189883215 +-0.00158677064 +-0.960688531 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0775682554 +0.299432635 +0.0854624286 +-0.00289324741 +-0.00247035548 +-0.00113459071 +-0.961607635 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0800856277 +0.315791965 +0.077017732 +-0.00310206343 +-0.0028708959 +-0.00192681723 +-0.958999097 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0825687572 +0.330364406 +0.069032751 +-0.00264721364 +-0.00224867463 +-0.00286865258 +-0.961318135 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0874012187 +0.340717942 +0.0625353977 +-0.00250963075 +-0.00285198167 +-0.00227271114 +-0.961087286 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0932188407 +0.349341989 +0.061457254 +-0.00238512876 +-0.00300364755 +-0.00314605725 +-0.952486455 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0940390453 +0.359710306 +0.0519986823 +-0.00253621559 +-0.00247317273 +-0.00354212755 +-0.957162261 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0985609517 +0.366474897 +0.0470384434 +-0.00261828885 +-0.00321471505 +-0.00280477619 +-0.947342694 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101657636 +0.374814838 +0.0455517098 +-0.00241885264 +-0.00325916428 +-0.00368678989 +-0.951068819 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0993007794 +0.382303149 +0.0379577205 +-0.00243799947 +-0.00249351189 +-0.00424199924 +-0.956688881 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102333106 +0.384423494 +0.035259001 +-0.00252811727 +-0.00308145955 +-0.00365823996 +-0.950655997 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106565021 +0.385433584 +0.0273104161 +-0.00217866106 +-0.00295587443 +-0.00462636491 +-0.951530218 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.10520006 +0.391010046 +0.0161383078 +-0.00213657529 +-0.00230844878 +-0.00452358834 +-0.95867753 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108510323 +0.390433729 +0.011862956 +-0.00244282209 +-0.00301127881 +-0.00522113312 +-0.952792108 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108928896 +0.389475673 +0.00110503286 +-0.0020419592 +-0.00291846693 +-0.00615241658 +-0.954628289 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108029984 +0.386906147 +-0.00929249823 +-0.00182605092 +-0.0020932341 +-0.00594528392 +-0.95656991 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110213257 +0.380230755 +-0.0127682537 +-0.00217404892 +-0.00265924539 +-0.00730654411 +-0.953423798 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110784404 +0.371919006 +-0.0194263756 +-0.00175764388 +-0.00214087451 +-0.00783031248 +-0.954275668 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110163338 +0.363364071 +-0.0281287879 +-0.00154346856 +-0.00229945499 +-0.00775149278 +-0.956515551 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.111362167 +0.353081644 +-0.0325511545 +-0.00195985171 +-0.00286570936 +-0.00879007298 +-0.954426885 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110592119 +0.34520793 +-0.0393792093 +-0.00146284373 +-0.00215090532 +-0.00945219398 +-0.956197321 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115757294 +0.339333057 +-0.0486675985 +-0.00128770643 +-0.00236489903 +-0.0089887483 +-0.956040561 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117830776 +0.332626998 +-0.050307665 +-0.00103915227 +-0.00277773757 +-0.0100848936 +-0.953105211 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.118127294 +0.325992167 +-0.0582503118 +-0.00135779381 +-0.00205294276 +-0.0106585659 +-0.956650615 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122887991 +0.322497249 +-0.0654410794 +-0.00138329389 +-0.00206972053 +-0.0101160854 +-0.958295465 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125303984 +0.313508868 +-0.0639750957 +-0.000984954648 +-0.0027717948 +-0.0108194053 +-0.951281667 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122727729 +0.306291759 +-0.0716999173 +-0.00121143437 +-0.00169312675 +-0.0110969432 +-0.95532912 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125449538 +0.301688313 +-0.0760119781 +-0.00138896029 +-0.00214147428 +-0.0105832815 +-0.951600909 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126002491 +0.291474432 +-0.0827243105 +-0.000902853499 +-0.00226099044 +-0.0112220477 +-0.951747477 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.123226024 +0.284409642 +-0.0898036659 +-0.00115231681 +-0.00141940359 +-0.0115774497 +-0.956648827 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126339614 +0.281504571 +-0.0920593068 +-0.00133272447 +-0.00185541902 +-0.0108033186 +-0.952897191 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126737386 +0.274339795 +-0.096792087 +-0.000979183475 +-0.00186657533 +-0.0113369543 +-0.952970386 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125874966 +0.27072522 +-0.101609483 +-0.000944802363 +-0.000871719792 +-0.0109815262 +-0.953795314 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-coupled-tail-30.out b/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-coupled-tail-30.out new file mode 100644 index 00000000..dc272268 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-coupled-tail-30.out @@ -0,0 +1,1612 @@ +vla: arch = smolvla +vla: config = /home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=30 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 390 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 1665.0 MiB +vla: [vram] after weights alloc used=2691.5 MiB free=3452.0 MiB (+1666.0 MiB) +action_len=1600 +-0.0345162228 +0.0622892305 +0.105961643 +-0.0093795443 +0.00346689788 +-0.00360183814 +-0.950167537 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0367567167 +0.0343230926 +0.137595296 +-0.00656779995 +0.00102689676 +-0.00704839034 +-0.978255749 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0383947417 +0.029804606 +0.137974709 +-0.00368703343 +0.000416778959 +-0.00678830873 +-0.975904942 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0451848656 +0.0354497358 +0.141901791 +-0.00394133944 +-0.00135499705 +-0.00540065719 +-0.970671773 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0533313155 +0.0421777703 +0.151071638 +-0.00398579473 +-0.00310051348 +-0.00470526749 +-0.971038759 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0553334951 +0.0450843759 +0.158097476 +-0.00498227077 +-0.00293783471 +-0.00470519019 +-0.963065565 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0574468374 +0.0565908849 +0.157183856 +-0.00580509286 +-0.00255534146 +-0.00406395644 +-0.966704547 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0626283512 +0.068869397 +0.162540853 +-0.00604667747 +-0.00360125396 +-0.00305936486 +-0.958538175 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0638407394 +0.077700004 +0.171148241 +-0.0065857619 +-0.00296335574 +-0.00360614574 +-0.964053333 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.063979663 +0.0931556225 +0.169660002 +-0.00689227134 +-0.00202391436 +-0.00383114535 +-0.966801822 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0682311282 +0.106116578 +0.170939922 +-0.00693891989 +-0.00248689577 +-0.00276476587 +-0.960801363 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0702385828 +0.116477333 +0.163964808 +-0.00716278888 +-0.00187439844 +-0.00342845428 +-0.963986099 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0700733885 +0.13436994 +0.157236457 +-0.00733874599 +-0.00121090747 +-0.00297215814 +-0.968033612 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0744296238 +0.151363105 +0.155506581 +-0.00751091866 +-0.00180113316 +-0.00346355815 +-0.963651657 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0768743977 +0.170420498 +0.146997452 +-0.00738628255 +-0.00108553143 +-0.00403223233 +-0.967792928 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0780820176 +0.188560665 +0.140999049 +-0.00743261492 +-0.000345637556 +-0.00336163724 +-0.969539404 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0838297829 +0.205284685 +0.139321625 +-0.00733150216 +-0.00082996767 +-0.00401094789 +-0.96410656 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.087045379 +0.225900769 +0.131332934 +-0.00685944734 +-5.93126751e-05 +-0.00428980496 +-0.968184888 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0869002268 +0.245544598 +0.124240451 +-0.00678610243 +-0.000456615351 +-0.00344987633 +-0.971813083 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0902158692 +0.261840522 +0.121265762 +-0.00671949331 +-0.000887364615 +-0.004152535 +-0.967728436 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0908383355 +0.277771175 +0.114086114 +-0.00632307352 +-5.13577834e-05 +-0.00487481849 +-0.970301151 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0954805836 +0.294387609 +0.107952677 +-0.00628811633 +-0.000451816712 +-0.00422541983 +-0.972651958 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.100168489 +0.305194795 +0.108690836 +-0.00619030371 +-0.000748731662 +-0.00507359998 +-0.96602869 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.100486197 +0.318428338 +0.100782327 +-0.00633645616 +-0.000122822355 +-0.0055938377 +-0.968487918 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.104628228 +0.330412179 +0.0949393585 +-0.00641839392 +-0.000689669512 +-0.00480763381 +-0.960621536 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107481264 +0.339700431 +0.0953790918 +-0.00627799006 +-0.00091205677 +-0.00571063161 +-0.967319787 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.105906956 +0.349441946 +0.0885584429 +-0.00633172505 +-0.000179220922 +-0.00648624171 +-0.970409751 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109147184 +0.356214374 +0.0884035155 +-0.00644240016 +-0.000644041691 +-0.00597855775 +-0.964437366 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.113138519 +0.359366566 +0.0804512575 +-0.00612767739 +-0.000736854505 +-0.00703981472 +-0.969141662 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.111978568 +0.36717841 +0.0710731819 +-0.00610849448 +-0.00010911189 +-0.00659970893 +-0.972824514 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115483351 +0.371328533 +0.0690865889 +-0.00636437349 +-0.000750620849 +-0.00727748219 +-0.96816057 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117895551 +0.373809308 +0.0588143095 +-0.00604786351 +-0.000910193659 +-0.00819576159 +-0.973711133 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115755729 +0.376973927 +0.0491960719 +-0.00607701018 +-0.000143768732 +-0.00778284762 +-0.975299418 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.118418239 +0.374606639 +0.0481558964 +-0.00625314936 +-0.000519978814 +-0.00895631686 +-0.970101297 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.120569907 +0.370215148 +0.0397675559 +-0.00586171448 +0.000135591254 +-0.00982323661 +-0.973585308 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.118252419 +0.367652029 +0.0321153849 +-0.00583310891 +-4.6168454e-05 +-0.00951640494 +-0.975286424 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.119730897 +0.361124814 +0.0303641558 +-0.0060394695 +-0.000398040749 +-0.0105454102 +-0.970430315 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.11849869 +0.355570674 +0.0207009539 +-0.00562563259 +0.000424990896 +-0.0112717422 +-0.973468482 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.121893235 +0.354081184 +0.0114968717 +-0.00565442722 +0.000185552984 +-0.01073022 +-0.97537303 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124729298 +0.349087507 +0.0097867772 +-0.00544500444 +-9.81870107e-05 +-0.0116991801 +-0.971771598 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124431022 +0.344320148 +0.000529482961 +-0.00564996712 +0.000683510676 +-0.0124323368 +-0.974648654 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.127801359 +0.342536509 +-0.00720304251 +-0.00568606285 +0.000648232177 +-0.0118206404 +-0.977282763 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.130499244 +0.335528553 +-0.00820554793 +-0.00537478039 +0.000221803784 +-0.0126214791 +-0.972453296 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.128414631 +0.329609454 +-0.017720893 +-0.00541789178 +0.0010596225 +-0.0130501827 +-0.974501133 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.129821002 +0.326159537 +-0.0207091346 +-0.00560911465 +0.00080646202 +-0.0125383697 +-0.969707072 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.131220877 +0.316362768 +-0.0303194337 +-0.00523935305 +0.000658390578 +-0.0133874202 +-0.973472774 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.128997713 +0.309695065 +-0.0393587388 +-0.00531086046 +0.00137715787 +-0.0138641289 +-0.976960182 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.131296784 +0.306670249 +-0.0408446081 +-0.00549398549 +0.00114855589 +-0.0133319348 +-0.97321558 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.133221984 +0.299640536 +-0.049104277 +-0.00519117899 +0.000973606482 +-0.0140052233 +-0.976745605 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.131688029 +0.297336996 +-0.0568227023 +-0.00514233718 +0.00182739994 +-0.0135731883 +-0.977573693 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q4_0-lm.out b/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q4_0-lm.out new file mode 100644 index 00000000..92abb6e4 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q4_0-lm.out @@ -0,0 +1,1613 @@ +vla: arch = smolvla +vla: config = /home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-lm.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 225 GEMM weights kept packed as in the file (q4_0) +vla: 192 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 715.7 MiB +vla: [vram] after weights alloc used=1741.5 MiB free=4402.0 MiB (+716.0 MiB) +action_len=1600 +-0.00910197943 +0.0414431132 +0.128470361 +-0.0133613646 +-0.00074805785 +0.00482052192 +-0.960571706 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.00279878825 +0.0112831965 +0.185230523 +-0.00882361084 +-0.00218296889 +0.00179023528 +-0.974009037 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.00151787698 +0.010108687 +0.188246548 +-0.00381131424 +-0.000661116559 +0.00247008447 +-0.969100654 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.00621815026 +0.0237438455 +0.192603916 +-0.00411153631 +-0.00266435184 +0.00507524144 +-0.966315925 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0138520524 +0.0310110413 +0.202084422 +-0.00331718312 +-0.00384068303 +0.00551424362 +-0.968649864 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0121317804 +0.0398671478 +0.200712889 +-0.00455155503 +-0.00231232494 +0.0060005039 +-0.961171091 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0173070729 +0.0624332577 +0.191715717 +-0.00491076615 +-0.00203462411 +0.00823106524 +-0.96734935 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0231550932 +0.0757546499 +0.190832198 +-0.00447259471 +-0.00302889291 +0.00885782205 +-0.961402535 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0224665701 +0.0949995592 +0.189805597 +-0.00520678842 +-0.0013868073 +0.0089091612 +-0.962833166 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0248068422 +0.124871269 +0.178676397 +-0.00472019054 +-0.000593757257 +0.00992528629 +-0.967529655 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0300474241 +0.138768047 +0.16181615 +-0.00397777278 +-0.00107430713 +0.0107594877 +-0.964650691 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.030930616 +0.16418314 +0.148242414 +-0.00430862932 +0.000582736451 +0.0105650146 +-0.964570761 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0341600552 +0.20485644 +0.133601516 +-0.00376247242 +0.000777943991 +0.0106490105 +-0.971724331 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0388059765 +0.226515412 +0.119870894 +-0.00367155252 +0.000357173383 +0.00997469295 +-0.969221771 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0393556133 +0.268860042 +0.103811152 +-0.00353029557 +0.00205042958 +0.00972518418 +-0.970494747 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0426282138 +0.286798328 +0.0989700481 +-0.0032156969 +0.00197792496 +0.0096649155 +-0.972142875 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0486544967 +0.312752068 +0.0875716582 +-0.00308756786 +0.00144473277 +0.00874134433 +-0.968820393 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0495620295 +0.347206861 +0.0783458576 +-0.00267538358 +0.00153965876 +0.0084649045 +-0.970874488 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0516901091 +0.363021106 +0.070533298 +-0.00243222481 +0.00107228244 +0.00883719232 +-0.971621275 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0542618483 +0.384971768 +0.0611451641 +-0.00257645594 +0.000644817483 +0.00802131649 +-0.969124615 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0591209903 +0.405850857 +0.0533477738 +-0.00214948342 +0.00092717493 +0.00702760555 +-0.9710989 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0626839176 +0.414354622 +0.0483039245 +-0.0020629561 +0.000523925759 +0.00743871182 +-0.970235348 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.069079645 +0.428395897 +0.0459969714 +-0.00175865437 +0.000195150264 +0.00657494459 +-0.961754084 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.071178101 +0.441655695 +0.0366332605 +-0.00191865256 +0.000605216715 +0.00621316303 +-0.965786695 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0754025802 +0.445984066 +0.0330043361 +-0.00211191457 +1.10762194e-05 +0.00681974553 +-0.955240846 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0790440068 +0.456691355 +0.0304384008 +-0.00179118034 +-0.000127820298 +0.00598681904 +-0.959543645 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0777202323 +0.465262771 +0.023272194 +-0.00182232051 +0.000621327199 +0.00526505057 +-0.964793324 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0804882422 +0.465797335 +0.0210423321 +-0.00193050527 +0.000177984126 +0.00572551601 +-0.95800209 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0852483138 +0.468528748 +0.0132320374 +-0.00151606766 +0.00022359984 +0.00471823476 +-0.95924288 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0842322335 +0.47513473 +0.00288182497 +-0.0014769088 +0.000981179997 +0.00467885751 +-0.966367543 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.08713568 +0.473062515 +-0.000906810164 +-0.00174888689 +0.00042032171 +0.00392823853 +-0.960762262 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0887084082 +0.473264575 +-0.0112687424 +-0.00129952282 +0.000521562994 +0.00294076093 +-0.962985516 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0870507732 +0.469253629 +-0.020738855 +-0.00122359861 +0.00138260052 +0.00295688026 +-0.965420008 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0892461613 +0.46248287 +-0.0239362121 +-0.00155245955 +0.000890329015 +0.00161733059 +-0.962316692 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.090013437 +0.453571767 +-0.0309583209 +-0.00107392087 +0.00124845468 +0.00094914902 +-0.96356672 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0891196951 +0.442265987 +-0.0388192758 +-0.000946118322 +0.00122148078 +0.000854380894 +-0.965744317 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0897094086 +0.430141717 +-0.0438437685 +-0.00134043233 +0.000760036986 +-0.000299278181 +-0.964204252 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.089839451 +0.421546072 +-0.0509619638 +-0.000856381783 +0.00135635026 +-0.0010216753 +-0.965858161 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.094350554 +0.411841333 +-0.0601248816 +-0.000743564393 +0.00136619946 +-0.000711456873 +-0.964954078 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.096627824 +0.404386073 +-0.0620348975 +-0.000453968823 +0.00101959147 +-0.00186027959 +-0.961930573 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0974709913 +0.396346122 +-0.0705925748 +-0.000810664089 +0.00171529874 +-0.00243767956 +-0.965616703 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101704277 +0.38891387 +-0.0777716637 +-0.000840810069 +0.00186708407 +-0.002003795 +-0.968389392 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.104537569 +0.378489882 +-0.0774171352 +-0.000442017161 +0.00117648067 +-0.00265781232 +-0.960693002 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102421619 +0.36828953 +-0.0849618912 +-0.000676620461 +0.00221719383 +-0.00292584137 +-0.964257121 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.104768477 +0.359375209 +-0.0892917663 +-0.000830350851 +0.00202860008 +-0.0024984621 +-0.959899604 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.105986409 +0.34820652 +-0.0958509296 +-0.000355880591 +0.00186842773 +-0.00318873883 +-0.960699677 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.103276201 +0.338600099 +-0.102796853 +-0.000633972173 +0.00269786501 +-0.00351492967 +-0.965664089 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106194906 +0.331729382 +-0.105350547 +-0.000720959099 +0.00249630678 +-0.00272809109 +-0.961621463 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107445545 +0.324188262 +-0.110417448 +-0.000380926824 +0.00235847826 +-0.00322570698 +-0.961344898 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106100835 +0.316871434 +-0.115521252 +-0.000400163583 +0.00344951916 +-0.00283863372 +-0.961494088 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q4_0-vision.out b/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q4_0-vision.out new file mode 100644 index 00000000..65631fd9 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q4_0-vision.out @@ -0,0 +1,1613 @@ +vla: arch = smolvla +vla: config = /home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-vision.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 297 GEMM weights kept packed as in the file (q4_0) +vla: 192 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 599.3 MiB +vla: [vram] after weights alloc used=1625.5 MiB free=4518.0 MiB (+600.0 MiB) +action_len=1600 +-0.0211237222 +0.0163374618 +0.119525947 +-0.0103909336 +-0.00199146662 +-0.00100935018 +-0.967145324 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0155983865 +-0.0039415434 +0.187010676 +-0.00679005543 +-0.00302513689 +-0.00344554312 +-0.97712028 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0136049613 +-0.00477349758 +0.195128649 +-0.00378617458 +-0.000890951138 +-0.00295443926 +-0.974257052 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0220868066 +0.00502839684 +0.199271858 +-0.00432579266 +-0.00277291238 +-0.000386100262 +-0.972153187 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0297952592 +0.0108648911 +0.212553322 +-0.00398588181 +-0.00375320669 +0.00014676014 +-0.973501205 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.029559277 +0.0160698667 +0.21283856 +-0.00540388469 +-0.00193367526 +0.000757303555 +-0.968091249 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0333722457 +0.0312961414 +0.207036912 +-0.00605681865 +-0.00150581263 +0.00283032842 +-0.971859753 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0400069281 +0.0413796157 +0.209731281 +-0.00572235323 +-0.00219123252 +0.00323379226 +-0.966102362 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0401501581 +0.0516242012 +0.211552471 +-0.00653976062 +-0.000468313228 +0.00304388069 +-0.968301713 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0414779186 +0.0669792518 +0.204608709 +-0.00637587393 +0.000441951677 +0.00335486792 +-0.96988827 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0470539555 +0.0744920895 +0.193061858 +-0.00567562552 +-1.03916973e-05 +0.00389688555 +-0.96826005 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.048570171 +0.0841010958 +0.183874875 +-0.00621580239 +0.00145783648 +0.00330082793 +-0.968634546 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0500403866 +0.0978049859 +0.175181717 +-0.00599725358 +0.00171617465 +0.0033333078 +-0.972274303 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.05471953 +0.107625887 +0.167543262 +-0.00594080053 +0.00128336018 +0.00245347666 +-0.972144961 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0558383614 +0.121267416 +0.157418519 +-0.00603871793 +0.00256424746 +0.00174025539 +-0.973244548 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0577745959 +0.130459905 +0.153111994 +-0.00560970791 +0.00275346427 +0.00188720878 +-0.973215759 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0631257817 +0.136798665 +0.147794962 +-0.00545975612 +0.00237449468 +0.00072100712 +-0.973030984 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0645144954 +0.147814453 +0.141880572 +-0.00521243643 +0.00312283589 +0.000152949244 +-0.97438091 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0653922632 +0.157724306 +0.13509807 +-0.00471825199 +0.00270043779 +0.000728794839 +-0.973881245 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0683663115 +0.163668126 +0.130535871 +-0.00486636162 +0.00233527133 +-0.000264745671 +-0.973774195 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0699017569 +0.171444386 +0.12526229 +-0.00458873902 +0.00310020708 +-0.00128487032 +-0.973074317 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0745718405 +0.180905953 +0.119398437 +-0.00429596473 +0.00269299163 +-0.000706862193 +-0.972302616 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0802926645 +0.182503909 +0.12093062 +-0.00435177237 +0.00251873978 +-0.00143240346 +-0.966769695 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0804521665 +0.189272702 +0.113558017 +-0.00444875658 +0.00325503666 +-0.00197082828 +-0.968689084 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0849821195 +0.197023183 +0.10827478 +-0.00436576689 +0.00275251782 +-0.00121653453 +-0.961046338 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0888536647 +0.20096007 +0.109572716 +-0.00441704225 +0.00263037533 +-0.00192305748 +-0.964773953 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0865772143 +0.208179921 +0.103168316 +-0.00436964072 +0.00366636063 +-0.00275616976 +-0.967711031 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0900567845 +0.214508235 +0.101190589 +-0.00439461879 +0.00322470278 +-0.00224265479 +-0.964930713 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0946744457 +0.217292815 +0.0945449546 +-0.00415717019 +0.00328708556 +-0.00322261895 +-0.96552366 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0936869308 +0.22295548 +0.0851686224 +-0.00397979468 +0.00413905364 +-0.00292215822 +-0.96998632 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0971947387 +0.227339417 +0.0821624473 +-0.00421045953 +0.00360709545 +-0.00372645911 +-0.967711747 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0994339511 +0.229693055 +0.0725176856 +-0.00392307388 +0.00370302657 +-0.0046125697 +-0.968883097 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0986675397 +0.234440282 +0.0632615909 +-0.00360723771 +0.00450757798 +-0.00436879648 +-0.970373094 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101043753 +0.233633623 +0.0619712844 +-0.00392565737 +0.00419544056 +-0.00571920816 +-0.968798041 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102615483 +0.230750084 +0.0554862544 +-0.00354623282 +0.00477857608 +-0.00639351737 +-0.968893349 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.10180942 +0.230775163 +0.0484428629 +-0.00324798352 +0.00456387643 +-0.00626869639 +-0.970488369 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.10211461 +0.22627227 +0.0464848056 +-0.00366066163 +0.00409239531 +-0.00743830949 +-0.969420731 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.100929745 +0.223402292 +0.0399116799 +-0.00320400996 +0.00496663712 +-0.0081109684 +-0.969165981 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.105946191 +0.225300908 +0.0317734182 +-0.00299720722 +0.00475384435 +-0.00762445666 +-0.969231129 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108230717 +0.22266084 +0.0312299803 +-0.00285704643 +0.00438678032 +-0.00878754165 +-0.966997445 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107792072 +0.220882371 +0.0234642923 +-0.00315362005 +0.00538419094 +-0.0095112361 +-0.968756437 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.112476356 +0.224403128 +0.0172345266 +-0.00309816818 +0.00529818656 +-0.00898432732 +-0.970951259 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115163989 +0.21947144 +0.0189557523 +-0.00279533793 +0.00478659011 +-0.00981074385 +-0.964470625 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.112275817 +0.216842085 +0.0116121024 +-0.00295669329 +0.00601210864 +-0.0101733627 +-0.96682173 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.114817254 +0.219673514 +0.00995907933 +-0.00310194865 +0.0056471806 +-0.00968537014 +-0.962295771 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.11629384 +0.213211879 +0.00132419169 +-0.00269283471 +0.00545804808 +-0.0105827842 +-0.96246773 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.113373749 +0.209143952 +-0.00608079135 +-0.00289441878 +0.00639792206 +-0.0110161323 +-0.965845764 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.116502397 +0.21160236 +-0.00658595562 +-0.00308065605 +0.006094513 +-0.0102911722 +-0.962979555 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.118062072 +0.20707415 +-0.0127097294 +-0.00278370176 +0.00596790668 +-0.0109659983 +-0.962325633 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.116914161 +0.208791271 +-0.0176033378 +-0.00270967977 +0.00700332783 +-0.0103079742 +-0.962269008 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q5_0-lm.out b/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q5_0-lm.out new file mode 100644 index 00000000..83e8f065 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q5_0-lm.out @@ -0,0 +1,1613 @@ +vla: arch = smolvla +vla: config = /home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-lm.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 225 GEMM weights kept packed as in the file (q5_0) +vla: 192 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 754.6 MiB +vla: [vram] after weights alloc used=1781.5 MiB free=4362.0 MiB (+756.0 MiB) +action_len=1600 +-0.0498206764 +0.0465593003 +0.0921192989 +-0.0117283957 +-0.00161028793 +0.00186148379 +-0.958619118 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0455025509 +0.0161676928 +0.146714479 +-0.00693119969 +-0.00380167365 +-0.00264987699 +-0.972656727 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0406463891 +0.0157960951 +0.147752821 +-0.00258584158 +-0.00252279639 +-0.00215188554 +-0.964843571 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0489730984 +0.0282751806 +0.153633088 +-0.00308531174 +-0.0046419017 +0.000301476102 +-0.960684538 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.055176504 +0.0338036083 +0.168673426 +-0.00244437018 +-0.00612211134 +2.40015797e-05 +-0.96238625 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0513406023 +0.0408453792 +0.171325862 +-0.00369088864 +-0.00477715582 +0.000201507472 +-0.953719795 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.055820778 +0.0620354041 +0.164353192 +-0.00412277645 +-0.00471978541 +0.0019667889 +-0.959825695 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0596978143 +0.0737289712 +0.167634487 +-0.00353106856 +-0.00606461708 +0.00207091356 +-0.954513431 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0566447079 +0.0885790065 +0.169623643 +-0.00433547981 +-0.00456376933 +0.00168173807 +-0.95443517 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0581778511 +0.114230156 +0.160773635 +-0.00406129984 +-0.00386192743 +0.00246008951 +-0.958962679 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.061945349 +0.125474095 +0.145562768 +-0.00336486031 +-0.00452097412 +0.00333680678 +-0.956956148 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0610755756 +0.143858373 +0.133877933 +-0.0037825224 +-0.00293120369 +0.00295176264 +-0.955379367 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0627904311 +0.176077873 +0.120186232 +-0.00326625095 +-0.00280094054 +0.00295580644 +-0.962289631 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0669148341 +0.193625078 +0.108499847 +-0.00324100885 +-0.00342209078 +0.00243159756 +-0.960324943 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0651992336 +0.22291936 +0.0939537808 +-0.00320813223 +-0.00171841169 +0.0021725148 +-0.961112142 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0684851632 +0.238572344 +0.0881694332 +-0.00283393217 +-0.00168240024 +0.00225395756 +-0.962353051 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0738127902 +0.256574601 +0.0785409138 +-0.00292999763 +-0.00221988745 +0.00144074392 +-0.959926963 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0728217587 +0.280764043 +0.0698920563 +-0.00259235594 +-0.00179814408 +0.00131817162 +-0.961064756 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0747169033 +0.295313984 +0.0616114959 +-0.00231142505 +-0.00231986586 +0.00189310359 +-0.962268293 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0769810602 +0.309973061 +0.0540608838 +-0.00262399274 +-0.00267628767 +0.00112334127 +-0.960473895 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0798879787 +0.323654443 +0.0464389548 +-0.0021204669 +-0.00209156005 +0.00028995052 +-0.962849677 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0838155523 +0.3346138 +0.0408522859 +-0.00202494254 +-0.00265521556 +0.000852262136 +-0.962150216 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0888237283 +0.341221094 +0.0405843034 +-0.00174086518 +-0.00281684194 +1.79884955e-06 +-0.954149842 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0898256972 +0.351378471 +0.0314212888 +-0.00193613605 +-0.00225843117 +-0.000196917914 +-0.958846569 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0943965837 +0.358631581 +0.0276303515 +-0.00211578142 +-0.00302339904 +0.000459701754 +-0.949583054 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0965535715 +0.364993334 +0.0271135569 +-0.00183400325 +-0.00308661815 +-0.000321600121 +-0.952732205 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0944164023 +0.372390568 +0.0198098123 +-0.00188863743 +-0.00232468359 +-0.000843746588 +-0.958645999 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0972201601 +0.373426974 +0.0176764652 +-0.00202825014 +-0.00297865644 +-0.000248040073 +-0.95383352 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.100659542 +0.374375522 +0.0103668645 +-0.00163731724 +-0.00290681142 +-0.00113436999 +-0.953939497 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0996096805 +0.379510075 +-0.000429414213 +-0.00159823475 +-0.00227204431 +-0.00105306227 +-0.960487723 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102497183 +0.377907068 +-0.00362452865 +-0.0019206889 +-0.00305846334 +-0.001681444 +-0.956340551 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102308996 +0.376542002 +-0.013813369 +-0.00150703732 +-0.00298362505 +-0.00254626921 +-0.957860172 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.10144379 +0.37391606 +-0.0232379586 +-0.00129218912 +-0.00230107456 +-0.00245544291 +-0.959885776 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.10319107 +0.366706878 +-0.0254145041 +-0.00170286186 +-0.00297597237 +-0.00369719928 +-0.957597196 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102975227 +0.358322889 +-0.031775631 +-0.00123888138 +-0.00260862242 +-0.00421873666 +-0.957393825 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102729134 +0.350249946 +-0.0397428758 +-0.00103034172 +-0.00282961503 +-0.00411842484 +-0.959456027 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.103707992 +0.339880735 +-0.0428976007 +-0.00150992209 +-0.00342024583 +-0.00522511872 +-0.957887352 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102928229 +0.332134485 +-0.0495329909 +-0.000970175664 +-0.00276147295 +-0.00584715512 +-0.959481478 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107607774 +0.326415926 +-0.0579172932 +-0.000832065998 +-0.0030773012 +-0.00545035815 +-0.958576679 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109331183 +0.31981805 +-0.0581190139 +-0.00056863291 +-0.00347491913 +-0.0065938835 +-0.956548691 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109304227 +0.313747346 +-0.0658283681 +-0.000875578437 +-0.00276398007 +-0.00716194138 +-0.959630489 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.113654949 +0.310463578 +-0.0723810643 +-0.00093944493 +-0.00288795028 +-0.00667570392 +-0.960942805 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115367018 +0.301479995 +-0.0698725656 +-0.000569419411 +-0.00355491508 +-0.00738689397 +-0.95433104 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.112779655 +0.295614481 +-0.077277571 +-0.000750304025 +-0.00247395691 +-0.00761213433 +-0.957714856 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115358464 +0.291486979 +-0.0806479231 +-0.000957496173 +-0.00302953366 +-0.00720511004 +-0.954122424 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115376495 +0.281969398 +-0.0867407173 +-0.000486846373 +-0.00310050603 +-0.00792719238 +-0.954143286 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.113077886 +0.27564472 +-0.0938060954 +-0.000719632662 +-0.00227638148 +-0.00825699698 +-0.95892638 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115819253 +0.272700131 +-0.0950918943 +-0.000879826548 +-0.00275337696 +-0.00752346963 +-0.955474019 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115890183 +0.266169548 +-0.099726066 +-0.000569725351 +-0.00279007107 +-0.0080403788 +-0.955169082 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115199812 +0.262880147 +-0.104651608 +-0.000522832212 +-0.00187687529 +-0.00777472369 +-0.955706775 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q5_0-vision.out b/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q5_0-vision.out new file mode 100644 index 00000000..e9ddffe8 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q5_0-vision.out @@ -0,0 +1,1613 @@ +vla: arch = smolvla +vla: config = /home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-vision.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 297 GEMM weights kept packed as in the file (q5_0) +vla: 192 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 648.3 MiB +vla: [vram] after weights alloc used=1675.5 MiB free=4468.0 MiB (+650.0 MiB) +action_len=1600 +-0.0647441223 +0.0284554809 +0.0765040591 +-0.010048097 +-0.00428151712 +0.00229810597 +-0.95255816 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0604132563 +-0.0016015619 +0.130100787 +-0.00538371131 +-0.00650207512 +-0.00173898996 +-0.96549499 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0541395247 +-0.00148514658 +0.130064189 +-0.00212666159 +-0.00547710899 +-0.0010047094 +-0.95756042 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0614530966 +0.00933825225 +0.134263813 +-0.0023975512 +-0.00776870176 +0.00132373301 +-0.954931855 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0669947639 +0.0148139596 +0.147870123 +-0.0020126095 +-0.00923656765 +0.00125843473 +-0.95807755 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0629694387 +0.0199744478 +0.148997843 +-0.0028698314 +-0.00810163189 +0.00154145295 +-0.949055851 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0664397702 +0.0375005119 +0.141296536 +-0.00308547704 +-0.00795493554 +0.00301079825 +-0.95615983 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.069426693 +0.0490870476 +0.144465834 +-0.00293435715 +-0.00924875587 +0.00325506367 +-0.9506253 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0661530271 +0.0599400774 +0.1461519 +-0.00346862338 +-0.00783137418 +0.00293641072 +-0.951009929 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0667421743 +0.0800828338 +0.137508243 +-0.00329106092 +-0.00702014752 +0.00343960803 +-0.956479788 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0695161596 +0.0912016332 +0.125347435 +-0.00300216419 +-0.00770559628 +0.00444121193 +-0.953433692 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0687955245 +0.10460262 +0.114633955 +-0.00334444083 +-0.0062143812 +0.00397322979 +-0.952458143 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0702224001 +0.127826765 +0.102769174 +-0.00299565145 +-0.00589729752 +0.00404630043 +-0.959631085 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0740401223 +0.142949939 +0.0944893286 +-0.00321484543 +-0.00652272627 +0.0035207402 +-0.956656337 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0727748498 +0.164199442 +0.0821310654 +-0.00320394733 +-0.00496732164 +0.00316331815 +-0.957713485 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0758475587 +0.17693305 +0.0770579949 +-0.00284827128 +-0.00480731111 +0.00343600195 +-0.959252894 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0807769522 +0.190439224 +0.0704078004 +-0.0030774232 +-0.00538666081 +0.00267266296 +-0.956863999 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0803041533 +0.20821391 +0.0633030012 +-0.00284705218 +-0.00470548496 +0.00253974786 +-0.958666861 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0818509832 +0.2211622 +0.0556900278 +-0.00252244249 +-0.00516766589 +0.00323495083 +-0.959868908 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0838349536 +0.231709272 +0.0501636937 +-0.0029025129 +-0.00554080587 +0.00248995842 +-0.958071887 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0856137797 +0.241211131 +0.0439436957 +-0.00246926094 +-0.00478048436 +0.00171900727 +-0.959972084 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0896922722 +0.252253652 +0.0383353904 +-0.00233245105 +-0.00533404201 +0.00235535018 +-0.958945096 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0939279124 +0.25529477 +0.0395076349 +-0.00218483014 +-0.00549538899 +0.00171106122 +-0.951339066 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0942582712 +0.264241487 +0.0313469842 +-0.00235173688 +-0.00483428221 +0.00145920366 +-0.95593828 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0988872573 +0.27220428 +0.0277244076 +-0.00249812589 +-0.00560323521 +0.00216727983 +-0.947894394 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101036124 +0.276845962 +0.0284152105 +-0.00230584084 +-0.00569020119 +0.00151626952 +-0.949909091 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0988016203 +0.284214377 +0.0217651799 +-0.0023289402 +-0.0048375763 +0.000952491071 +-0.955380917 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.10160125 +0.287320197 +0.0207473487 +-0.00248670811 +-0.00558235217 +0.00157392165 +-0.951388657 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.104850881 +0.28797543 +0.0144021288 +-0.00216639158 +-0.00551823806 +0.000809916761 +-0.951017201 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.103777774 +0.293270707 +0.00488632917 +-0.00208538398 +-0.00488770567 +0.000983770937 +-0.957000732 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106393151 +0.294414699 +0.00280584395 +-0.00242176023 +-0.00568900816 +0.000331849791 +-0.953814447 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.10617388 +0.294236779 +-0.00668090582 +-0.00209439755 +-0.00561740901 +-0.000426259357 +-0.954426706 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.105668731 +0.294427603 +-0.0152587742 +-0.00179513847 +-0.00500059221 +-0.000385522842 +-0.955782533 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107265495 +0.290008873 +-0.0163292289 +-0.00223777606 +-0.00569185615 +-0.00150145148 +-0.954106212 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106986053 +0.283527225 +-0.0223488808 +-0.00186042488 +-0.00521831401 +-0.00194740365 +-0.953710854 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106848337 +0.279112577 +-0.0291309319 +-0.0015781282 +-0.00552345905 +-0.00181224593 +-0.955294073 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.10729631 +0.272179425 +-0.0312341936 +-0.00205862545 +-0.00615277048 +-0.00280942046 +-0.954560757 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106129594 +0.266360343 +-0.0369718671 +-0.00155859301 +-0.00535994209 +-0.00335142179 +-0.955374777 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110704787 +0.264740348 +-0.0447195284 +-0.00138306268 +-0.00573932473 +-0.00294102589 +-0.953421652 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.112090446 +0.259752959 +-0.0445733368 +-0.00123768952 +-0.00617071986 +-0.00392809231 +-0.952477098 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.111465015 +0.256186247 +-0.0513030738 +-0.00148987793 +-0.00539649837 +-0.00445431005 +-0.954892397 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115739919 +0.25614813 +-0.0569802783 +-0.00152687822 +-0.00560809858 +-0.00392178493 +-0.955058157 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.116921924 +0.249163613 +-0.0543914512 +-0.00121844234 +-0.00624646153 +-0.00450318959 +-0.949281812 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.114048086 +0.246263355 +-0.0614001714 +-0.00132889161 +-0.00510912109 +-0.00472399965 +-0.952258945 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.116405271 +0.245448992 +-0.0640725121 +-0.00154597429 +-0.00572197698 +-0.0042766477 +-0.948834181 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.116234623 +0.2371362 +-0.0702404454 +-0.00113857677 +-0.00577697437 +-0.00492820051 +-0.947651148 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.114004336 +0.23302637 +-0.0770375878 +-0.00129989604 +-0.00497134496 +-0.00525202835 +-0.95264262 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.116654105 +0.232441306 +-0.0775539503 +-0.00150631787 +-0.00543387514 +-0.00450820895 +-0.949700236 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.11654029 +0.227161288 +-0.0821837261 +-0.001256485 +-0.00542898104 +-0.00490815798 +-0.948837876 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.116093628 +0.226413965 +-0.0868336111 +-0.00113757793 +-0.00457602274 +-0.004725629 +-0.949181259 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q8_0-lm.out b/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q8_0-lm.out new file mode 100644 index 00000000..b1333a1f --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q8_0-lm.out @@ -0,0 +1,1613 @@ +vla: arch = smolvla +vla: config = /home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-lm.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 225 GEMM weights kept packed as in the file (q8_0) +vla: 192 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 871.3 MiB +vla: [vram] after weights alloc used=1897.5 MiB free=4246.0 MiB (+872.0 MiB) +action_len=1600 +-0.04722251 +0.0350421593 +0.103789605 +-0.0117551405 +-0.00100481138 +-0.000734942034 +-0.955862463 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0419496074 +0.00869992375 +0.165495038 +-0.00713918591 +-0.00308983307 +-0.00523352949 +-0.968521893 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0371556804 +0.0100012124 +0.171837807 +-0.0027546729 +-0.00182082923 +-0.00473086396 +-0.96327734 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0446571037 +0.0236352012 +0.17940405 +-0.00325256214 +-0.00396127719 +-0.00215450977 +-0.960302353 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0510702655 +0.0314043723 +0.194277436 +-0.00273892563 +-0.00543862209 +-0.00210834737 +-0.961058855 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0481178463 +0.0398159958 +0.196628004 +-0.00415618159 +-0.00404210482 +-0.00179686351 +-0.953990102 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0519493446 +0.0610214248 +0.189578086 +-0.00469807349 +-0.00402304903 +1.50161795e-05 +-0.959867775 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0567119122 +0.0736588389 +0.192572802 +-0.00417930866 +-0.00530188344 +0.000222182833 +-0.95363307 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0546809286 +0.0892363191 +0.193552375 +-0.00505826715 +-0.00379842799 +-0.000190806575 +-0.954695284 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0560215116 +0.114074752 +0.183945924 +-0.00481323805 +-0.00321508385 +0.000329928938 +-0.958828032 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0605525821 +0.125986367 +0.169722974 +-0.00411275541 +-0.00391330756 +0.00109476643 +-0.955937207 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0606397092 +0.143739611 +0.157336891 +-0.00463427464 +-0.00239569228 +0.000591297168 +-0.955655634 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0622063801 +0.174492627 +0.144110084 +-0.00418891711 +-0.00235344656 +0.000523340888 +-0.962164223 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.066854395 +0.192538738 +0.132238537 +-0.00403436646 +-0.00307655986 +-0.0001987 +-0.959515691 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0664512143 +0.221940368 +0.116699211 +-0.00406433875 +-0.00147421425 +-0.00060774805 +-0.960921645 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0696325973 +0.237869695 +0.110780962 +-0.00370069873 +-0.00147439074 +-0.000589471776 +-0.96224612 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.075497888 +0.256542116 +0.100505166 +-0.00358366454 +-0.00209596893 +-0.00158799975 +-0.958915293 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.075323157 +0.282090902 +0.091015406 +-0.0032395497 +-0.00162811205 +-0.00185214914 +-0.960435688 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0773029104 +0.297439754 +0.0821086392 +-0.00289415312 +-0.00222447235 +-0.00133467885 +-0.961857378 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.079926528 +0.313559413 +0.0736971274 +-0.00307864347 +-0.00264192838 +-0.00223021 +-0.959136486 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0827712938 +0.328170478 +0.0658597127 +-0.00266332389 +-0.00203722483 +-0.0030963053 +-0.961248875 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0873316601 +0.338701159 +0.059591867 +-0.0025381695 +-0.0026197331 +-0.00251459004 +-0.960786402 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0933528915 +0.347164184 +0.058405064 +-0.00240430166 +-0.00276895333 +-0.00340491906 +-0.952580035 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0942129418 +0.357407033 +0.0487848595 +-0.00255174539 +-0.00225513615 +-0.00366009283 +-0.956747591 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0989908502 +0.364357889 +0.0441709831 +-0.00265424512 +-0.00299691409 +-0.00300538237 +-0.947052002 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102092169 +0.372263879 +0.0428014621 +-0.00247648521 +-0.0030542342 +-0.00384759437 +-0.950849712 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0997335985 +0.379635066 +0.0350390151 +-0.00248041423 +-0.00228297804 +-0.00441384735 +-0.956507683 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102963753 +0.381616712 +0.0321665406 +-0.00258506252 +-0.00289110839 +-0.0038674078 +-0.950575233 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107266612 +0.382736295 +0.0241088867 +-0.00224212673 +-0.00275770575 +-0.00481958222 +-0.951343596 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.105992742 +0.387896955 +0.0130099431 +-0.00217543682 +-0.00211520726 +-0.00468370691 +-0.957921267 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.10910935 +0.387223333 +0.00871944427 +-0.00245999102 +-0.00282521453 +-0.00539109809 +-0.952678859 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109939627 +0.386025518 +-0.00209385902 +-0.00208704383 +-0.00270297006 +-0.00627200538 +-0.954735219 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108896203 +0.383448064 +-0.0123445466 +-0.00185985863 +-0.00191445649 +-0.00612603826 +-0.956580997 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.111140676 +0.376651675 +-0.0158490092 +-0.00221419474 +-0.00247206818 +-0.00742633548 +-0.953370869 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.111806639 +0.368187696 +-0.0226042569 +-0.0017932367 +-0.00203244993 +-0.00796269625 +-0.953887939 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.111512415 +0.359691024 +-0.0312784687 +-0.00154941459 +-0.00216943119 +-0.00786238536 +-0.956403375 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.112494417 +0.349203169 +-0.0355173387 +-0.00197745813 +-0.00270537008 +-0.00897790119 +-0.954484403 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.111994691 +0.341560185 +-0.0422703139 +-0.00147365732 +-0.00201939791 +-0.00959063601 +-0.956271827 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117131136 +0.335531652 +-0.051624164 +-0.00131195737 +-0.00225363858 +-0.00910373218 +-0.955712676 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.119252197 +0.329116821 +-0.0530576333 +-0.00107598957 +-0.00264306273 +-0.0102349529 +-0.952906728 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.119586714 +0.322614074 +-0.0613088235 +-0.00138594303 +-0.00193170458 +-0.0107544791 +-0.956311285 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124359094 +0.318854749 +-0.0685565323 +-0.00139551866 +-0.00199050643 +-0.0102315489 +-0.958311498 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126690179 +0.309734702 +-0.0671296567 +-0.00102976733 +-0.00267720129 +-0.0109514035 +-0.951277733 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.123941995 +0.302884907 +-0.0747463852 +-0.00121123763 +-0.00159962103 +-0.01117195 +-0.955165148 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126630366 +0.29816255 +-0.0788979903 +-0.00140688126 +-0.00205423124 +-0.0107191093 +-0.951346636 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.127327174 +0.288229197 +-0.0854212567 +-0.000924854132 +-0.00216069119 +-0.011388462 +-0.951423705 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124583207 +0.281175315 +-0.0928310528 +-0.0011700897 +-0.00130324531 +-0.01168242 +-0.956697524 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.127682596 +0.278284162 +-0.0947475284 +-0.00133041665 +-0.00174605427 +-0.0109004909 +-0.952510238 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.12830016 +0.271461189 +-0.0996130928 +-0.000991460634 +-0.00180326775 +-0.0114247203 +-0.952688754 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.127302796 +0.268241584 +-0.104688697 +-0.000944336003 +-0.000818819739 +-0.011053225 +-0.953297317 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q8_0-vision.out b/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q8_0-vision.out new file mode 100644 index 00000000..b660a34b --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-q8_0-vision.out @@ -0,0 +1,1613 @@ +vla: arch = smolvla +vla: config = /home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-vision.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 297 GEMM weights kept packed as in the file (q8_0) +vla: 192 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 795.4 MiB +vla: [vram] after weights alloc used=1821.5 MiB free=4322.0 MiB (+796.0 MiB) +action_len=1600 +-0.0492738187 +0.032355912 +0.0948071703 +-0.0111320661 +-0.000925698318 +-0.000943763182 +-0.957165658 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0437754616 +0.00624105334 +0.154628277 +-0.00660399208 +-0.00293890666 +-0.00539092813 +-0.970132172 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0389206111 +0.00752435625 +0.159709573 +-0.00252114353 +-0.00161282392 +-0.00493802642 +-0.964307725 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0467856005 +0.0203633234 +0.166788638 +-0.00296584866 +-0.00383463036 +-0.00244467263 +-0.96137917 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0531095415 +0.0276906006 +0.181698143 +-0.00252079172 +-0.005297116 +-0.00242890348 +-0.962026775 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0500898287 +0.0352951176 +0.184240103 +-0.00385927735 +-0.00392828602 +-0.00215375051 +-0.954743862 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0540371165 +0.0552445017 +0.177879632 +-0.00436425442 +-0.00398025848 +-0.000388548709 +-0.96071285 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.058569625 +0.0672711879 +0.181277901 +-0.00391491875 +-0.00525718741 +-0.000230587088 +-0.95451951 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0566138327 +0.0809353292 +0.183301687 +-0.00476600556 +-0.00380810909 +-0.000671165995 +-0.955263853 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0578099936 +0.103360862 +0.174764365 +-0.0045642769 +-0.00323466305 +-0.00020623114 +-0.95931077 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0621926561 +0.114521377 +0.1615659 +-0.00392921874 +-0.00394156389 +0.000526995398 +-0.9565292 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0622279719 +0.130097732 +0.150166482 +-0.00445058849 +-0.00246106088 +1.26115046e-05 +-0.955962479 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0635776445 +0.156922907 +0.138335377 +-0.0040611946 +-0.00239023753 +-2.81552784e-05 +-0.962127686 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0682662949 +0.173422903 +0.127514273 +-0.00396177685 +-0.003136863 +-0.000744500197 +-0.959556699 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0679627135 +0.198913872 +0.113083519 +-0.00399045181 +-0.00158080878 +-0.00115962094 +-0.961123765 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0710083917 +0.213425368 +0.107407503 +-0.00363533711 +-0.00156037277 +-0.00106831687 +-0.962360322 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0768400654 +0.229256749 +0.0982136056 +-0.00357625773 +-0.00217924174 +-0.00205801264 +-0.95922637 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0766210333 +0.251604736 +0.0894620344 +-0.00326549681 +-0.00163436076 +-0.00229493296 +-0.960852265 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0786722526 +0.26580739 +0.0808322206 +-0.00290640723 +-0.00222586282 +-0.001745268 +-0.96197015 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0813608989 +0.279859185 +0.0732056424 +-0.00313316821 +-0.00263879821 +-0.00260958588 +-0.959487498 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0839019641 +0.29300642 +0.0659073815 +-0.00271618715 +-0.00197755545 +-0.00343408622 +-0.96167475 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0886694118 +0.303828955 +0.0597037151 +-0.00257686991 +-0.00257680845 +-0.00281798723 +-0.961259842 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0944876745 +0.310856879 +0.0591455922 +-0.00245632953 +-0.00272382423 +-0.00365151558 +-0.953218937 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0953438058 +0.321060926 +0.0497829393 +-0.00261322991 +-0.00219958741 +-0.00390951149 +-0.957314253 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.100218542 +0.328724176 +0.0450199768 +-0.00269306288 +-0.00294346828 +-0.00323279225 +-0.94811666 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.103341542 +0.33617574 +0.0442644581 +-0.00252368767 +-0.00302300695 +-0.00401781825 +-0.951631129 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101109885 +0.344026119 +0.0365665779 +-0.00252835313 +-0.00224353559 +-0.00459875399 +-0.957221866 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.104366742 +0.34691754 +0.0336792395 +-0.0026335842 +-0.00287289266 +-0.00403083302 +-0.95170331 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.10864196 +0.348386168 +0.0258495137 +-0.00229035201 +-0.00276817475 +-0.00496592931 +-0.952245533 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107438289 +0.353945285 +0.0150561258 +-0.00222318503 +-0.00212516775 +-0.00481013535 +-0.958362103 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110545821 +0.354436576 +0.0109411255 +-0.00251202239 +-0.00285713188 +-0.0055180788 +-0.953556657 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.111315511 +0.353916734 +0.000265091658 +-0.00214570714 +-0.00275729038 +-0.00637088809 +-0.955321014 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110500462 +0.352686316 +-0.00979208201 +-0.00190151157 +-0.00201772572 +-0.00623991946 +-0.956893206 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.112775601 +0.347137153 +-0.0130247623 +-0.00226338394 +-0.00257267989 +-0.0075192824 +-0.954247475 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.113338597 +0.339544564 +-0.0196075663 +-0.0018565855 +-0.00212521944 +-0.00803913735 +-0.954644203 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.113188095 +0.332575917 +-0.0279516242 +-0.00159107428 +-0.00232032314 +-0.00793158077 +-0.95685035 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.114032425 +0.323497742 +-0.0318533517 +-0.00204038806 +-0.00285189319 +-0.00901575945 +-0.955210865 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.113433503 +0.316744208 +-0.0385347717 +-0.00153127895 +-0.00215439871 +-0.00959975086 +-0.9563604 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.118654273 +0.312216163 +-0.0475414097 +-0.00135022309 +-0.00243553799 +-0.00911557395 +-0.95581907 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.12071263 +0.306616515 +-0.0488268882 +-0.00112963514 +-0.00281195994 +-0.0102178892 +-0.953506827 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.120916419 +0.300996572 +-0.0568501428 +-0.00144198933 +-0.00209474191 +-0.0107280258 +-0.95654279 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125746429 +0.298445165 +-0.0637827814 +-0.00144690182 +-0.00221667439 +-0.0102039836 +-0.958339155 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.127859622 +0.290204942 +-0.0621909797 +-0.00110071199 +-0.00288624875 +-0.0108914124 +-0.951496661 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125081331 +0.284416795 +-0.069776237 +-0.00127045647 +-0.00179136544 +-0.0111059155 +-0.955004036 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.127764761 +0.281093746 +-0.0736701488 +-0.00146486773 +-0.00228389353 +-0.0106466645 +-0.951579392 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.128326416 +0.271561742 +-0.0803370103 +-0.000984423095 +-0.00239206944 +-0.0113213304 +-0.951301038 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125683159 +0.265379131 +-0.087945722 +-0.00121738319 +-0.00152806472 +-0.0116003156 +-0.956412137 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.128744632 +0.26353997 +-0.0896739736 +-0.00138022867 +-0.00197071815 +-0.0108200032 +-0.952520669 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.129280537 +0.257214248 +-0.0946309045 +-0.00105063966 +-0.00201381883 +-0.0113552399 +-0.952527523 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.128344238 +0.254784226 +-0.0997242481 +-0.00098374486 +-0.00105565041 +-0.0110095926 +-0.952827394 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-vision-spaced-10.out b/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-vision-spaced-10.out new file mode 100644 index 00000000..5f3a5a44 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-vision-spaced-10.out @@ -0,0 +1,1612 @@ +vla: arch = smolvla +vla: config = /home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 416 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 1736.0 MiB +vla: [vram] after weights alloc used=2763.5 MiB free=3380.0 MiB (+1738.0 MiB) +action_len=1600 +-2.15694308e-05 +0.104548655 +0.0955505148 +-0.00577177387 +-0.00142964721 +0.0127844661 +-0.933728099 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.00580675155 +0.0698871911 +0.157823384 +-0.00362409186 +-0.00114640035 +0.00841076858 +-0.946667492 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0160711631 +0.0666852742 +0.16211617 +-0.00256910524 +0.00258048833 +0.00914752483 +-0.933074057 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0116657093 +0.0754030719 +0.163287401 +-0.00229333644 +0.0022096585 +0.0122515876 +-0.93178916 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.00485121459 +0.0780257657 +0.178139925 +-0.00197161874 +0.00155448355 +0.0126526188 +-0.931321383 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.00819769502 +0.083576858 +0.177204847 +-0.00185137661 +0.00309803314 +0.0128998924 +-0.921147287 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.00697442144 +0.0969336256 +0.166217476 +-0.00178920594 +0.00363469729 +0.0153060164 +-0.932217658 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.00216197968 +0.108277224 +0.167809606 +-0.00187914656 +0.00299009285 +0.0157843977 +-0.92430836 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.00297095254 +0.119916558 +0.170059651 +-0.00157388463 +0.0045648641 +0.0160757564 +-0.925875068 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.00391580909 +0.13627544 +0.161880493 +-0.00153370341 +0.00558628701 +0.0177446231 +-0.936632752 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.000772044063 +0.147532076 +0.155862182 +-0.00165636046 +0.00464840699 +0.018771559 +-0.927636266 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.000719860196 +0.162763655 +0.146458626 +-0.00134428591 +0.00565760536 +0.0192923248 +-0.927504539 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.00150042027 +0.178690314 +0.136905164 +-0.00130426884 +0.00594447879 +0.0208118539 +-0.936656058 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.00472105294 +0.193588167 +0.132221609 +-0.00156431342 +0.00514767133 +0.0206488203 +-0.929248154 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.00482488424 +0.212704122 +0.12126144 +-0.00112257805 +0.00647467002 +0.021147266 +-0.930682182 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.00601229072 +0.223181009 +0.116418116 +-0.00108841155 +0.00679980591 +0.0222085342 +-0.929166436 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.00929011405 +0.234205276 +0.115219496 +-0.00127869123 +0.00631311769 +0.0220567212 +-0.925077617 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.00825928897 +0.247705638 +0.107188247 +-0.000827923592 +0.00719044544 +0.0228088386 +-0.932213247 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.00862897933 +0.261943817 +0.102785997 +-0.000757078582 +0.00652559754 +0.0242246706 +-0.928717434 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.00989429653 +0.273678422 +0.100080408 +-0.000859321735 +0.00615912955 +0.0243176576 +-0.927259386 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.00818218291 +0.286837995 +0.0918192491 +-0.000309543044 +0.00722820638 +0.0247040633 +-0.932266355 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0128205046 +0.299288481 +0.0880245194 +-0.0002916308 +0.00662124995 +0.0258722529 +-0.926931977 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0158831775 +0.306154966 +0.0908794478 +0.000320662075 +0.00652244687 +0.0254325699 +-0.920270264 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0144795328 +0.31727463 +0.0823117718 +-1.96998008e-06 +0.00734419003 +0.0261941571 +-0.925673068 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.017529048 +0.323743999 +0.0811047032 +-0.00014477974 +0.00663040765 +0.0270975176 +-0.914461613 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0190312639 +0.332416594 +0.0816760883 +0.000488702441 +0.00648070732 +0.0270717386 +-0.917443991 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0151773915 +0.342615515 +0.0732566491 +0.000449356827 +0.00755229034 +0.0277984347 +-0.925339818 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0172635615 +0.348217219 +0.0729656592 +0.000422605459 +0.0072624851 +0.0286998693 +-0.917200863 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0199224353 +0.356340587 +0.0642411336 +0.000919284415 +0.00725718681 +0.0285550337 +-0.915631413 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0190113708 +0.363538772 +0.0548854992 +0.000845933799 +0.00797165371 +0.0296990145 +-0.921102107 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0199073777 +0.367325395 +0.0534148589 +0.000713246583 +0.0075188796 +0.0290608797 +-0.917735577 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0201512873 +0.373121589 +0.0435389653 +0.00125464157 +0.00773181021 +0.0290714595 +-0.9196136 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0207151994 +0.375155449 +0.0353718176 +0.00128648418 +0.00840843655 +0.0296768304 +-0.915910125 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0207311511 +0.375413001 +0.0346843824 +0.00119037577 +0.00807770155 +0.0291361418 +-0.915841758 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0219047293 +0.373519421 +0.028261438 +0.00163412117 +0.00853739958 +0.0291707534 +-0.915568411 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0230314583 +0.372324765 +0.0228153914 +0.00167044369 +0.00818485022 +0.0296309646 +-0.911853909 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0219429135 +0.369994551 +0.0214045495 +0.00151690305 +0.00777302915 +0.0291348938 +-0.914962173 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0200670138 +0.37003842 +0.0131982118 +0.00193457678 +0.00840901863 +0.0296899434 +-0.916125655 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0253980458 +0.368706256 +0.00750897825 +0.00204909127 +0.00797139574 +0.0303390268 +-0.91053921 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0254691094 +0.369923651 +0.00769022852 +0.00239087036 +0.00785556436 +0.0297600348 +-0.910927773 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0249591172 +0.37032786 +-0.0015238449 +0.00205936981 +0.0088026002 +0.0303375181 +-0.912917554 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0298204646 +0.370403528 +-0.00447414815 +0.00193192787 +0.00883439649 +0.0306955595 +-0.909047425 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0298445523 +0.36932826 +-0.00268993527 +0.00233975961 +0.00825376809 +0.0305317137 +-0.907792091 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0280127525 +0.367878169 +-0.011237368 +0.00224479055 +0.00927887391 +0.0312433671 +-0.91271615 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0298347175 +0.369102657 +-0.0120267272 +0.00216004951 +0.00910830125 +0.0316094011 +-0.911216617 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0311095044 +0.366816163 +-0.0191075355 +0.00257248059 +0.00888860412 +0.0316034481 +-0.90821141 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0297052264 +0.365102172 +-0.0270111561 +0.00250399811 +0.00988970511 +0.0320767462 +-0.911964834 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0315798521 +0.364444703 +-0.0273234695 +0.00232212106 +0.00983635895 +0.0324912667 +-0.908196151 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.03276214 +0.364010632 +-0.0325429216 +0.00264334166 +0.00975384563 +0.0326402038 +-0.906660914 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0325602144 +0.359843731 +-0.0365992375 +0.00260489061 +0.0108558554 +0.032895796 +-0.903114319 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-vision-tail-10.out b/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-vision-tail-10.out new file mode 100644 index 00000000..827c5efb --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-checks/smolvla-vision-tail-10.out @@ -0,0 +1,1612 @@ +vla: arch = smolvla +vla: config = /home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 416 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 1736.0 MiB +vla: [vram] after weights alloc used=2763.5 MiB free=3380.0 MiB (+1738.0 MiB) +action_len=1600 +0.00982546434 +0.114914112 +0.0695738271 +-0.0117119448 +0.0149149802 +0.0409061983 +0.63881439 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.021762576 +0.0509708188 +0.101168372 +-0.00940573215 +0.0177921392 +0.0343846157 +0.772530556 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.060565412 +0.0718195438 +0.0530381128 +-0.00634047855 +0.0246628821 +0.0398924351 +0.630786896 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0101431198 +0.0977815315 +0.0808694586 +-0.0104758255 +0.0164182521 +0.046096988 +0.715335369 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0201785192 +0.051789891 +0.103652544 +-0.00838315953 +0.0170608163 +0.0391058549 +0.795474887 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0547695234 +0.074810788 +0.0740509108 +-0.0138068404 +0.0240189582 +0.0434994102 +0.64079845 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0113865398 +0.112966418 +0.0937362835 +-0.0112163173 +0.0148661025 +0.04909347 +0.7050879 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0303511173 +0.0762490556 +0.112345673 +-0.00699713873 +0.0174894016 +0.0399513468 +0.387313843 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0639480576 +0.112511694 +0.0833503976 +-0.0127675841 +0.0234123804 +0.0471149907 +0.585968792 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.021396596 +0.14651446 +0.0952835754 +-0.00946868956 +0.014688829 +0.0534250885 +0.702156484 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0427537486 +0.123526379 +0.0281259045 +-0.0059854514 +0.0180916935 +0.047243461 +0.378261656 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0696832985 +0.146011367 +0.0652454421 +-0.0108055985 +0.0236575752 +0.0533630028 +0.547473133 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0331850015 +0.178269982 +0.0881050751 +-0.00832862966 +0.0120594809 +0.0455948934 +0.670305371 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0555931143 +0.146721065 +0.0325606614 +-0.00519466866 +0.0172998048 +0.0470573232 +0.361350179 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0810951591 +0.174223542 +0.0647830293 +-0.00908582099 +0.022622738 +0.0533802062 +0.535614789 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0403288528 +0.136739835 +0.0764142498 +-0.00658609625 +0.0129167316 +0.0459353402 +0.672938526 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0672239736 +0.158774614 +0.0283181444 +-0.00384119572 +0.0180304088 +0.0479854271 +0.343005568 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0878931955 +0.1853441 +0.055113472 +-0.00617939373 +0.0102883857 +0.0542716235 +0.481800139 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0466111302 +0.145970657 +0.0671791658 +-0.00469622202 +0.0101651568 +0.0478692278 +0.645755589 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0736622438 +0.166997194 +0.0141799077 +-0.00198288099 +0.0152209727 +0.0510359779 +0.317473322 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0311372243 +0.182298452 +0.0332298651 +-0.00535468198 +0.00884312764 +0.0560744181 +0.476166487 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.03284318 +0.147394761 +0.0465131178 +-0.00353009021 +0.00880429801 +0.0504959747 +0.669173598 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0636993945 +0.163873658 +0.0189036503 +-0.00805183221 +0.0153267225 +0.0531127304 +0.42778334 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0231865346 +0.189745426 +0.0317767709 +-0.00585804367 +0.00885530561 +0.0586602911 +0.516474545 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0366802514 +0.154960543 +0.0429240391 +-0.00279848767 +0.0110184588 +0.0500184223 +-0.0474924371 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0592262745 +0.177088529 +0.0173762292 +-0.00783917215 +0.0159024093 +0.0560454279 +0.255144358 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0186220966 +0.19374907 +0.026737459 +-0.00467328075 +0.00904939044 +0.0621536225 +0.470966935 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0366378427 +0.171403751 +-0.0309148543 +-0.00179912942 +0.0132989446 +0.0542012975 +-0.102651052 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0584399141 +0.184361488 +0.00236538798 +-0.00597896846 +0.018441055 +0.0599906892 +0.189092398 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0183770657 +0.20386593 +0.0204358101 +-0.00300857145 +0.00991754699 +0.0528297648 +0.48742646 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0373659879 +0.180637687 +-0.02889001 +-0.00103618088 +0.0148525499 +0.0529133528 +-0.131882757 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0608655326 +0.198483616 +0.00148510188 +-0.00491867121 +0.0195059907 +0.0591517761 +0.0607051104 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0185350627 +0.154166952 +0.0169407427 +-0.00296917278 +0.0112619046 +0.0516986996 +0.42639333 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0437358767 +0.179423392 +-0.0281584188 +-0.00104867085 +0.0160431266 +0.0527839214 +-0.152017266 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0657096058 +0.195814937 +-0.000459447503 +-0.00412316667 +0.00927783083 +0.0597381741 +0.050240621 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0213265494 +0.14607963 +0.0199310556 +-0.00262518623 +0.0112688337 +0.052309148 +0.476351321 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0471011065 +0.171300441 +-0.0315493494 +-0.000622893276 +0.0159037504 +0.0550334081 +-0.0633700714 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.00786044449 +0.17519176 +-0.00766862184 +-0.00376794487 +0.00994607341 +0.0610400662 +0.17732656 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.00436734036 +0.137700304 +0.0110972896 +-0.00122061814 +0.00998104457 +0.0540447161 +0.577238917 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0405560657 +0.163595408 +-0.0192753375 +-0.00534562068 +0.0165625121 +0.0563996062 +0.118983366 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.000739961863 +0.188967556 +-0.00545865297 +-0.00304954429 +0.00998256728 +0.0617414787 +0.201702267 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.00130905956 +0.150564119 +0.0106140971 +-0.00123345666 +0.0110784769 +0.055634141 +0.621315777 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0322521292 +0.171382934 +-0.0132478848 +-0.00507132197 +0.0166241582 +0.0598429963 +0.314346522 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.00775528699 +0.184192389 +-0.00486709923 +-0.00312735955 +0.0107145999 +0.0664630681 +0.414856106 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.00832467154 +0.163440138 +-0.0623924583 +-0.000872248493 +0.0126835154 +0.0581108332 +-0.253676951 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0352190919 +0.174552649 +-0.0290842988 +-0.00498485379 +0.0176967494 +0.0638469905 +0.0457136109 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.00483585149 +0.192596614 +-0.00957798213 +-0.00271173194 +0.0100139873 +0.0690645128 +0.426149637 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0143525861 +0.174057394 +-0.0575527512 +-0.000520121248 +0.0147347804 +0.0606041849 +-0.192703724 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0.0376009196 +0.191666543 +-0.0275858119 +-0.00421707006 +0.0197279193 +0.0656082705 +0.0549081713 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.00462371856 +0.151841402 +-0.00930281729 +-0.00178370322 +0.011451995 +0.0570586398 +0.458064973 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/candidate-checks/summary.json b/research-notes/smolvla-followup-20261104/candidate-checks/summary.json new file mode 100644 index 00000000..9852d068 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-checks/summary.json @@ -0,0 +1,214 @@ +[ + { + "name": "defaults", + "model": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/tests/vla_predict_check", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "", + "2" + ], + "exit": 0, + "status": "cuda_predict_ok", + "shape": [ + 50, + 32 + ], + "max_abs_real7": 0.0, + "rmse_real7": 0.0, + "changed_real7": 0 + }, + { + "name": "flash-mm", + "model": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/tests/vla_predict_check", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "", + "2", + "--flash-attn", + "--mm-prec", + "default" + ], + "exit": 0, + "status": "cuda_predict_ok", + "shape": [ + 50, + 32 + ], + "max_abs_real7": 0.0027671456336975098, + "rmse_real7": 0.0006144198053008273, + "changed_real7": 350 + }, + { + "name": "smolvla-coupled-tail-30", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/tests/vla_predict_check", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "", + "2" + ], + "exit": 0, + "status": "cuda_predict_ok", + "shape": [ + 50, + 32 + ], + "max_abs_real7": 0.063353531062603, + "rmse_real7": 0.02246576012054003, + "changed_real7": 350 + }, + { + "name": "smolvla-q4_0-lm", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-lm.gguf", + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/tests/vla_predict_check", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-lm.gguf", + "", + "2" + ], + "exit": 0, + "status": "cuda_predict_ok", + "shape": [ + 50, + 32 + ], + "max_abs_real7": 0.08243826031684875, + "rmse_real7": 0.02542538503214637, + "changed_real7": 350 + }, + { + "name": "smolvla-q4_0-vision", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-vision.gguf", + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/tests/vla_predict_check", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-vision.gguf", + "", + "2" + ], + "exit": 0, + "status": "cuda_predict_ok", + "shape": [ + 50, + 32 + ], + "max_abs_real7": 0.17617321014404297, + "rmse_real7": 0.050421202602250734, + "changed_real7": 350 + }, + { + "name": "smolvla-q5_0-lm", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-lm.gguf", + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/tests/vla_predict_check", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-lm.gguf", + "", + "2" + ], + "exit": 0, + "status": "cuda_predict_ok", + "shape": [ + 50, + 32 + ], + "max_abs_real7": 0.033897966146469116, + "rmse_real7": 0.008955568154993855, + "changed_real7": 350 + }, + { + "name": "smolvla-q5_0-vision", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-vision.gguf", + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/tests/vla_predict_check", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-vision.gguf", + "", + "2" + ], + "exit": 0, + "status": "cuda_predict_ok", + "shape": [ + 50, + 32 + ], + "max_abs_real7": 0.1002122163772583, + "rmse_real7": 0.029256381601376395, + "changed_real7": 350 + }, + { + "name": "smolvla-q8_0-lm", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-lm.gguf", + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/tests/vla_predict_check", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-lm.gguf", + "", + "2" + ], + "exit": 0, + "status": "cuda_predict_ok", + "shape": [ + 50, + 32 + ], + "max_abs_real7": 0.008421391248703003, + "rmse_real7": 0.0021052691273129235, + "changed_real7": 350 + }, + { + "name": "smolvla-q8_0-vision", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-vision.gguf", + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/tests/vla_predict_check", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-vision.gguf", + "", + "2" + ], + "exit": 0, + "status": "cuda_predict_ok", + "shape": [ + 50, + 32 + ], + "max_abs_real7": 0.0412522554397583, + "rmse_real7": 0.01115082934177754, + "changed_real7": 350 + }, + { + "name": "smolvla-vision-spaced-10", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/tests/vla_predict_check", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "", + "2" + ], + "exit": 0, + "status": "cuda_predict_ok", + "shape": [ + 50, + 32 + ], + "max_abs_real7": 0.0949648842215538, + "rmse_real7": 0.04167182272408045, + "changed_real7": 350 + }, + { + "name": "smolvla-vision-tail-10", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/tests/vla_predict_check", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "", + "2" + ], + "exit": 0, + "status": "cuda_predict_ok", + "shape": [ + 50, + 32 + ], + "max_abs_real7": 1.756510078907013, + "rmse_real7": 0.5190063762719732, + "changed_real7": 350 + } +] diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/flash-mm/commands.json b/research-notes/smolvla-followup-20261104/candidate-smokes/flash-mm/commands.json new file mode 100644 index 00000000..023d5a14 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/flash-mm/commands.json @@ -0,0 +1,34 @@ +{ + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15558", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--flash-attn", + "--mm-prec", + "default" + ], + "client": [ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15558", + "--task", + "libero_object", + "--task-id", + "0", + "--n-episodes", + "2", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/candidate-smokes/flash-mm/outputs" + ], + "classification": "smoke only", + "noise": "repo defaults, random server RNG", + "tokenizer": "same cached HF tokenizer, offline to freeze cached assets" +} diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/flash-mm/outputs/smolvla/libero_object/task_0/episodes.csv b/research-notes/smolvla-followup-20261104/candidate-smokes/flash-mm/outputs/smolvla/libero_object/task_0/episodes.csv new file mode 100644 index 00000000..be5dc8a9 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/flash-mm/outputs/smolvla/libero_object/task_0/episodes.csv @@ -0,0 +1,3 @@ +episode,success,steps,aborted +0,1,155,0 +1,0,500,0 diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/flash-mm/outputs/smolvla/libero_object/task_0/summary.txt b/research-notes/smolvla-followup-20261104/candidate-smokes/flash-mm/outputs/smolvla/libero_object/task_0/summary.txt new file mode 100644 index 00000000..fc14b227 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/flash-mm/outputs/smolvla/libero_object/task_0/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_0 +n_action_steps: 1 +Success rate: 50.00% (1/2) +Skipped (terminated mid-step): 0/2 +Average inference time per step: 128.91 ms diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/progress.json b/research-notes/smolvla-followup-20261104/candidate-smokes/progress.json new file mode 100644 index 00000000..d9cb3443 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/progress.json @@ -0,0 +1,5 @@ +{ + "state": "complete", + "completed": 10, + "expected": 10 +} diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/results.json b/research-notes/smolvla-followup-20261104/candidate-smokes/results.json new file mode 100644 index 00000000..6d5be9a3 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/results.json @@ -0,0 +1,146 @@ +[ + { + "name": "flash-mm", + "model": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "flags": [ + "--flash-attn", + "--mm-prec", + "default" + ], + "expected_episodes": 2, + "status": "complete", + "client_exit": 0, + "completed_episodes": 2, + "successes": 1, + "steps": [ + 155, + 500 + ] + }, + { + "name": "smolvla-coupled-tail-30", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "flags": [], + "expected_episodes": 2, + "status": "complete", + "client_exit": 0, + "completed_episodes": 2, + "successes": 0, + "steps": [ + 500, + 500 + ] + }, + { + "name": "smolvla-q4_0-lm", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-lm.gguf", + "flags": [], + "expected_episodes": 2, + "status": "complete", + "client_exit": 0, + "completed_episodes": 2, + "successes": 1, + "steps": [ + 148, + 500 + ] + }, + { + "name": "smolvla-q4_0-vision", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-vision.gguf", + "flags": [], + "expected_episodes": 2, + "status": "complete", + "client_exit": 0, + "completed_episodes": 2, + "successes": 0, + "steps": [ + 500, + 500 + ] + }, + { + "name": "smolvla-q5_0-lm", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-lm.gguf", + "flags": [], + "expected_episodes": 2, + "status": "complete", + "client_exit": 0, + "completed_episodes": 2, + "successes": 1, + "steps": [ + 159, + 500 + ] + }, + { + "name": "smolvla-q5_0-vision", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-vision.gguf", + "flags": [], + "expected_episodes": 2, + "status": "complete", + "client_exit": 0, + "completed_episodes": 2, + "successes": 0, + "steps": [ + 500, + 500 + ] + }, + { + "name": "smolvla-q8_0-lm", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-lm.gguf", + "flags": [], + "expected_episodes": 2, + "status": "complete", + "client_exit": 0, + "completed_episodes": 2, + "successes": 2, + "steps": [ + 193, + 147 + ] + }, + { + "name": "smolvla-q8_0-vision", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-vision.gguf", + "flags": [], + "expected_episodes": 2, + "status": "complete", + "client_exit": 0, + "completed_episodes": 2, + "successes": 2, + "steps": [ + 146, + 236 + ] + }, + { + "name": "smolvla-vision-spaced-10", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "flags": [], + "expected_episodes": 2, + "status": "complete", + "client_exit": 0, + "completed_episodes": 2, + "successes": 0, + "steps": [ + 500, + 500 + ] + }, + { + "name": "smolvla-vision-tail-10", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "flags": [], + "expected_episodes": 2, + "status": "complete", + "client_exit": 0, + "completed_episodes": 2, + "successes": 0, + "steps": [ + 500, + 500 + ] + } +] diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-coupled-tail-30/commands.json b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-coupled-tail-30/commands.json new file mode 100644 index 00000000..d0bdf0a7 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-coupled-tail-30/commands.json @@ -0,0 +1,31 @@ +{ + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15558", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf" + ], + "client": [ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15558", + "--task", + "libero_object", + "--task-id", + "0", + "--n-episodes", + "2", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-coupled-tail-30/outputs" + ], + "classification": "smoke only", + "noise": "repo defaults, random server RNG", + "tokenizer": "same cached HF tokenizer, offline to freeze cached assets" +} diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-coupled-tail-30/outputs/smolvla/libero_object/task_0/episodes.csv b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-coupled-tail-30/outputs/smolvla/libero_object/task_0/episodes.csv new file mode 100644 index 00000000..887c4357 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-coupled-tail-30/outputs/smolvla/libero_object/task_0/episodes.csv @@ -0,0 +1,3 @@ +episode,success,steps,aborted +0,0,500,0 +1,0,500,0 diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-coupled-tail-30/outputs/smolvla/libero_object/task_0/summary.txt b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-coupled-tail-30/outputs/smolvla/libero_object/task_0/summary.txt new file mode 100644 index 00000000..2fdbbe46 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-coupled-tail-30/outputs/smolvla/libero_object/task_0/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_0 +n_action_steps: 1 +Success rate: 0.00% (0/2) +Skipped (terminated mid-step): 0/2 +Average inference time per step: 129.56 ms diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-lm/commands.json b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-lm/commands.json new file mode 100644 index 00000000..19f2fa85 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-lm/commands.json @@ -0,0 +1,31 @@ +{ + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15558", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-lm.gguf" + ], + "client": [ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15558", + "--task", + "libero_object", + "--task-id", + "0", + "--n-episodes", + "2", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-lm/outputs" + ], + "classification": "smoke only", + "noise": "repo defaults, random server RNG", + "tokenizer": "same cached HF tokenizer, offline to freeze cached assets" +} diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-lm/outputs/smolvla/libero_object/task_0/episodes.csv b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-lm/outputs/smolvla/libero_object/task_0/episodes.csv new file mode 100644 index 00000000..6fd2b1cc --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-lm/outputs/smolvla/libero_object/task_0/episodes.csv @@ -0,0 +1,3 @@ +episode,success,steps,aborted +0,1,148,0 +1,0,500,0 diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-lm/outputs/smolvla/libero_object/task_0/summary.txt b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-lm/outputs/smolvla/libero_object/task_0/summary.txt new file mode 100644 index 00000000..e191f784 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-lm/outputs/smolvla/libero_object/task_0/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_0 +n_action_steps: 1 +Success rate: 50.00% (1/2) +Skipped (terminated mid-step): 0/2 +Average inference time per step: 134.91 ms diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-vision/commands.json b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-vision/commands.json new file mode 100644 index 00000000..bcc5eea8 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-vision/commands.json @@ -0,0 +1,31 @@ +{ + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15558", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-vision.gguf" + ], + "client": [ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15558", + "--task", + "libero_object", + "--task-id", + "0", + "--n-episodes", + "2", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-vision/outputs" + ], + "classification": "smoke only", + "noise": "repo defaults, random server RNG", + "tokenizer": "same cached HF tokenizer, offline to freeze cached assets" +} diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-vision/outputs/smolvla/libero_object/task_0/episodes.csv b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-vision/outputs/smolvla/libero_object/task_0/episodes.csv new file mode 100644 index 00000000..887c4357 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-vision/outputs/smolvla/libero_object/task_0/episodes.csv @@ -0,0 +1,3 @@ +episode,success,steps,aborted +0,0,500,0 +1,0,500,0 diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-vision/outputs/smolvla/libero_object/task_0/summary.txt b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-vision/outputs/smolvla/libero_object/task_0/summary.txt new file mode 100644 index 00000000..eb0718c5 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q4_0-vision/outputs/smolvla/libero_object/task_0/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_0 +n_action_steps: 1 +Success rate: 0.00% (0/2) +Skipped (terminated mid-step): 0/2 +Average inference time per step: 130.51 ms diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-lm/commands.json b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-lm/commands.json new file mode 100644 index 00000000..15f55b43 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-lm/commands.json @@ -0,0 +1,31 @@ +{ + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15558", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-lm.gguf" + ], + "client": [ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15558", + "--task", + "libero_object", + "--task-id", + "0", + "--n-episodes", + "2", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-lm/outputs" + ], + "classification": "smoke only", + "noise": "repo defaults, random server RNG", + "tokenizer": "same cached HF tokenizer, offline to freeze cached assets" +} diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-lm/outputs/smolvla/libero_object/task_0/episodes.csv b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-lm/outputs/smolvla/libero_object/task_0/episodes.csv new file mode 100644 index 00000000..4a8f710c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-lm/outputs/smolvla/libero_object/task_0/episodes.csv @@ -0,0 +1,3 @@ +episode,success,steps,aborted +0,1,159,0 +1,0,500,0 diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-lm/outputs/smolvla/libero_object/task_0/summary.txt b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-lm/outputs/smolvla/libero_object/task_0/summary.txt new file mode 100644 index 00000000..76b63709 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-lm/outputs/smolvla/libero_object/task_0/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_0 +n_action_steps: 1 +Success rate: 50.00% (1/2) +Skipped (terminated mid-step): 0/2 +Average inference time per step: 147.88 ms diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-vision/commands.json b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-vision/commands.json new file mode 100644 index 00000000..f18a318a --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-vision/commands.json @@ -0,0 +1,31 @@ +{ + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15558", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-vision.gguf" + ], + "client": [ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15558", + "--task", + "libero_object", + "--task-id", + "0", + "--n-episodes", + "2", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-vision/outputs" + ], + "classification": "smoke only", + "noise": "repo defaults, random server RNG", + "tokenizer": "same cached HF tokenizer, offline to freeze cached assets" +} diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-vision/outputs/smolvla/libero_object/task_0/episodes.csv b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-vision/outputs/smolvla/libero_object/task_0/episodes.csv new file mode 100644 index 00000000..887c4357 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-vision/outputs/smolvla/libero_object/task_0/episodes.csv @@ -0,0 +1,3 @@ +episode,success,steps,aborted +0,0,500,0 +1,0,500,0 diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-vision/outputs/smolvla/libero_object/task_0/summary.txt b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-vision/outputs/smolvla/libero_object/task_0/summary.txt new file mode 100644 index 00000000..597b8b2f --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q5_0-vision/outputs/smolvla/libero_object/task_0/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_0 +n_action_steps: 1 +Success rate: 0.00% (0/2) +Skipped (terminated mid-step): 0/2 +Average inference time per step: 133.17 ms diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-lm/commands.json b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-lm/commands.json new file mode 100644 index 00000000..4fa5331c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-lm/commands.json @@ -0,0 +1,31 @@ +{ + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15558", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-lm.gguf" + ], + "client": [ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15558", + "--task", + "libero_object", + "--task-id", + "0", + "--n-episodes", + "2", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-lm/outputs" + ], + "classification": "smoke only", + "noise": "repo defaults, random server RNG", + "tokenizer": "same cached HF tokenizer, offline to freeze cached assets" +} diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-lm/outputs/smolvla/libero_object/task_0/episodes.csv b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-lm/outputs/smolvla/libero_object/task_0/episodes.csv new file mode 100644 index 00000000..d0a3fe1b --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-lm/outputs/smolvla/libero_object/task_0/episodes.csv @@ -0,0 +1,3 @@ +episode,success,steps,aborted +0,1,193,0 +1,1,147,0 diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-lm/outputs/smolvla/libero_object/task_0/summary.txt b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-lm/outputs/smolvla/libero_object/task_0/summary.txt new file mode 100644 index 00000000..da797f74 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-lm/outputs/smolvla/libero_object/task_0/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_0 +n_action_steps: 1 +Success rate: 100.00% (2/2) +Skipped (terminated mid-step): 0/2 +Average inference time per step: 132.4 ms diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-vision/commands.json b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-vision/commands.json new file mode 100644 index 00000000..5c5a37a1 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-vision/commands.json @@ -0,0 +1,31 @@ +{ + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15558", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-vision.gguf" + ], + "client": [ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15558", + "--task", + "libero_object", + "--task-id", + "0", + "--n-episodes", + "2", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-vision/outputs" + ], + "classification": "smoke only", + "noise": "repo defaults, random server RNG", + "tokenizer": "same cached HF tokenizer, offline to freeze cached assets" +} diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-vision/outputs/smolvla/libero_object/task_0/episodes.csv b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-vision/outputs/smolvla/libero_object/task_0/episodes.csv new file mode 100644 index 00000000..5067ce9c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-vision/outputs/smolvla/libero_object/task_0/episodes.csv @@ -0,0 +1,3 @@ +episode,success,steps,aborted +0,1,146,0 +1,1,236,0 diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-vision/outputs/smolvla/libero_object/task_0/summary.txt b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-vision/outputs/smolvla/libero_object/task_0/summary.txt new file mode 100644 index 00000000..7b399b86 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-q8_0-vision/outputs/smolvla/libero_object/task_0/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_0 +n_action_steps: 1 +Success rate: 100.00% (2/2) +Skipped (terminated mid-step): 0/2 +Average inference time per step: 132.59 ms diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-spaced-10/commands.json b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-spaced-10/commands.json new file mode 100644 index 00000000..cf7c7678 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-spaced-10/commands.json @@ -0,0 +1,31 @@ +{ + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15558", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf" + ], + "client": [ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15558", + "--task", + "libero_object", + "--task-id", + "0", + "--n-episodes", + "2", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-spaced-10/outputs" + ], + "classification": "smoke only", + "noise": "repo defaults, random server RNG", + "tokenizer": "same cached HF tokenizer, offline to freeze cached assets" +} diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-spaced-10/outputs/smolvla/libero_object/task_0/episodes.csv b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-spaced-10/outputs/smolvla/libero_object/task_0/episodes.csv new file mode 100644 index 00000000..887c4357 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-spaced-10/outputs/smolvla/libero_object/task_0/episodes.csv @@ -0,0 +1,3 @@ +episode,success,steps,aborted +0,0,500,0 +1,0,500,0 diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-spaced-10/outputs/smolvla/libero_object/task_0/summary.txt b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-spaced-10/outputs/smolvla/libero_object/task_0/summary.txt new file mode 100644 index 00000000..fa4cea9e --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-spaced-10/outputs/smolvla/libero_object/task_0/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_0 +n_action_steps: 1 +Success rate: 0.00% (0/2) +Skipped (terminated mid-step): 0/2 +Average inference time per step: 126.11 ms diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-tail-10/commands.json b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-tail-10/commands.json new file mode 100644 index 00000000..0bc0f5ee --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-tail-10/commands.json @@ -0,0 +1,31 @@ +{ + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15558", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf" + ], + "client": [ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15558", + "--task", + "libero_object", + "--task-id", + "0", + "--n-episodes", + "2", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-tail-10/outputs" + ], + "classification": "smoke only", + "noise": "repo defaults, random server RNG", + "tokenizer": "same cached HF tokenizer, offline to freeze cached assets" +} diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-tail-10/outputs/smolvla/libero_object/task_0/episodes.csv b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-tail-10/outputs/smolvla/libero_object/task_0/episodes.csv new file mode 100644 index 00000000..887c4357 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-tail-10/outputs/smolvla/libero_object/task_0/episodes.csv @@ -0,0 +1,3 @@ +episode,success,steps,aborted +0,0,500,0 +1,0,500,0 diff --git a/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-tail-10/outputs/smolvla/libero_object/task_0/summary.txt b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-tail-10/outputs/smolvla/libero_object/task_0/summary.txt new file mode 100644 index 00000000..e7f4cb5f --- /dev/null +++ b/research-notes/smolvla-followup-20261104/candidate-smokes/smolvla-vision-tail-10/outputs/smolvla/libero_object/task_0/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_0 +n_action_steps: 1 +Success rate: 0.00% (0/2) +Skipped (terminated mid-step): 0/2 +Average inference time per step: 125.08 ms diff --git a/research-notes/smolvla-followup-20261104/check_candidates.py b/research-notes/smolvla-followup-20261104/check_candidates.py new file mode 100644 index 00000000..e449baee --- /dev/null +++ b/research-notes/smolvla-followup-20261104/check_candidates.py @@ -0,0 +1,29 @@ +"""CUDA fixed-input checks for exports; not a LIBERO smoke test.""" +from pathlib import Path +import json,os,subprocess +import numpy as np +root=Path(__file__).resolve().parents[2];base=Path(__file__).resolve().parent +if json.loads((base/'screen40-defaults/progress.json').read_text())['state']!='complete':raise SystemExit('Wait for LIBERO to finish') +out=base/'candidate-checks';out.mkdir(exist_ok=False) +source=Path('/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf') +candidates=[('defaults',source,[]),('flash-mm',source,['--flash-attn','--mm-prec','default'])]+[(p.stem,p,[]) for p in sorted((root/'research-notes/generated-models').glob('*.gguf'))] +env={k:v for k,v in os.environ.items() if not k.startswith('VLA_')};env['VLA_IMG_SIZE']='512' +results=[];reference=None +for name,model,flags in candidates: + command=[str(root/'build-cuda/tests/vla_predict_check'),str(model),'','2']+flags + with (out/(name+'.out')).open('w') as stdout,(out/(name+'.log')).open('w') as stderr: + result=subprocess.run(command,cwd=root,env=env,stdout=stdout,stderr=stderr,timeout=180) + record=dict(name=name,model=str(model),command=command,exit=result.returncode,status='failed') + if result.returncode==0: + lines=(out/(name+'.out')).read_text().splitlines() + index=next(i for i,s in enumerate(lines) if s.startswith('action_len=')) + actions=np.asarray([float(s) for s in lines[index+1:]],dtype=np.float32).reshape(50,32) + assert np.isfinite(actions).all(),name + assert np.all(actions[:,7:]==0),name + banner='\n'.join(lines)+(out/(name+'.log')).read_text() + assert 'backend = CUDA' in banner,name + if reference is None:reference=actions + d=actions[:,:7].astype(float)-reference[:,:7].astype(float) + record.update(status='cuda_predict_ok',shape=list(actions.shape),max_abs_real7=float(np.abs(d).max()),rmse_real7=float(np.sqrt(np.mean(d*d))),changed_real7=int(np.count_nonzero(actions[:,:7].copy().view(np.uint32)!=reference[:,:7].copy().view(np.uint32)))) + results.append(record);(out/'summary.json').write_text(json.dumps(results,indent=2)+'\n') + print(name,record['status'],record.get('max_abs_real7'),flush=True) diff --git a/research-notes/smolvla-followup-20261104/commands.json b/research-notes/smolvla-followup-20261104/commands.json new file mode 100644 index 00000000..594c9c42 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/commands.json @@ -0,0 +1,39 @@ +[ + { + "name": "fused-1", + "command": [ + "./build-cuda/tests/vla_predict_check", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "", + "2" + ], + "env": { + "VLA_IMG_SIZE": "512" + } + }, + { + "name": "fused-1-repeat", + "command": [ + "./build-cuda/tests/vla_predict_check", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "", + "2" + ], + "env": { + "VLA_IMG_SIZE": "512" + } + }, + { + "name": "fused-0", + "command": [ + "./build-cuda/tests/vla_predict_check", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "", + "2" + ], + "env": { + "VLA_IMG_SIZE": "512", + "VLA_FUSED_OPS": "0" + } + } +] diff --git a/research-notes/smolvla-followup-20261104/complete_cpu_route.sh b/research-notes/smolvla-followup-20261104/complete_cpu_route.sh new file mode 100644 index 00000000..e09c2116 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/complete_cpu_route.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash +set -euo pipefail +export PATH="$PWD/research-notes/tools/uv/bin:$PATH" +export UV_CACHE_DIR="$HOME/.cache/uv-vla" +export UV_LINK_MODE=copy +export UV_HTTP_TIMEOUT=600 +export UV_CONCURRENT_DOWNLOADS=4 +export CMAKE_POLICY_VERSION_MINIMUM=3.5 +export VIRTUAL_ENV="$PWD/eval/sim/libero/libero_uv/.venv" +uv pip install research-notes/tools/cpu-wheels/*.whl +uv pip install --requirements eval/sim/libero/LIBERO/requirements.txt +bash research-notes/smolvla-followup-20261104/finish_libero.sh diff --git a/research-notes/smolvla-followup-20261104/continue_install.py b/research-notes/smolvla-followup-20261104/continue_install.py new file mode 100644 index 00000000..53b61356 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/continue_install.py @@ -0,0 +1,19 @@ +import os +from pathlib import Path +import subprocess +import time +out=Path(__file__).resolve().parent +pid=42602 +print('Waiting for requirements installer PID',pid,flush=True) +while True: + try: os.kill(pid,0) + except ProcessLookupError: break + time.sleep(3) +log=(out/'libero-resume.log').read_text() +if 'Installed ' not in log: + raise SystemExit('Requirements installer ended without Installed marker; inspect libero-resume.log') +print('Requirements completed; continuing remaining repo setup steps',flush=True) +with (out/'libero-finish.log').open('w') as output: + r=subprocess.run(['bash',str(out/'finish_libero.sh')],stdout=output,stderr=subprocess.STDOUT) +print('Remaining install exit',r.returncode,flush=True) +raise SystemExit(r.returncode) diff --git a/research-notes/smolvla-followup-20261104/finish_libero.sh b/research-notes/smolvla-followup-20261104/finish_libero.sh new file mode 100644 index 00000000..a6c24683 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/finish_libero.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash +set -euo pipefail +export PATH="$PWD/research-notes/tools/uv/bin:$PATH" +export UV_CACHE_DIR="$HOME/.cache/uv-vla" +export UV_LINK_MODE=copy +export UV_HTTP_TIMEOUT=600 +export UV_CONCURRENT_DOWNLOADS=4 +export CMAKE_POLICY_VERSION_MINIMUM=3.5 +export VIRTUAL_ENV="$PWD/eval/sim/libero/libero_uv/.venv" +uv pip install -e eval/sim/libero/LIBERO --config-settings editable_mode=compat +uv pip install research-notes/tools/cpu-wheels/*.whl +uv pip install pydantic av tianshou==0.5.1 tyro pandas dm_tree einops==0.8.1 albumentations==1.4.18 zmq +uv pip install lerobot==0.4.3 --no-deps +uv pip install --requirements research-notes/smolvla-followup-20261104/lerobot-base-deps.txt +uv pip install transformers==4.51.3 msgpack==1.1.0 msgpack-numpy==0.4.8 gymnasium==0.29.1 +uv pip install pandas==2.0.3 +uv pip install pyarrow==12.0.1 +uv pip install diffusers==0.30.1 +uv pip install numpy==1.26.4 +uv pip install mujoco==2.3.2 +export LIBERO_CONFIG_PATH="$PWD/research-notes/smolvla-followup-20261104/libero-config" +export MUJOCO_GL=egl +export CUDA_VISIBLE_DEVICES=0 +python3 - <<'PY' +from pathlib import Path +import json +root=Path('eval/sim/libero/LIBERO/libero/libero').resolve() +p=Path('research-notes/smolvla-followup-20261104/libero-config') +p.mkdir(exist_ok=True) +config={'benchmark_root':str(root),'bddl_files':str(root/'bddl_files'),'init_states':str(root/'init_files'),'datasets':str(root.parent/'datasets'),'assets':str(root/'assets')} +f=p/'config.yaml' +if not f.exists(): f.write_text(json.dumps(config,indent=2)+'\n') +PY +uv pip freeze > research-notes/smolvla-followup-20261104/libero-freeze.txt +uv pip check > research-notes/smolvla-followup-20261104/libero-pip-check.log 2>&1 || true +"$VIRTUAL_ENV/bin/python" research-notes/smolvla-followup-20261104/verify_libero.py > research-notes/smolvla-followup-20261104/libero-verify.log 2>&1 diff --git a/research-notes/smolvla-followup-20261104/full_runtime_pair.py b/research-notes/smolvla-followup-20261104/full_runtime_pair.py new file mode 100644 index 00000000..72981a78 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/full_runtime_pair.py @@ -0,0 +1,33 @@ +"""Full vla-bench protocol, interleaved defaults vs flash+mm-default.""" +from pathlib import Path +import json,os,re,subprocess,time +root=Path(__file__).resolve().parents[2] +base=Path(__file__).resolve().parent +screen=json.loads((base/'screen40-defaults/progress.json').read_text()) +if screen['state']!='complete':raise SystemExit('LIBERO screening still active: do not share GPU') +out=base/'runtime-full-pair';out.mkdir(exist_ok=False) +env={k:v for k,v in os.environ.items() if not k.startswith('VLA_')} +results=[] +for trial in range(3): + order=['defaults','flash-mm'] if trial%2==0 else ['flash-mm','defaults'] + for name in order: + flags=[] if name=='defaults' else ['--flash-attn','--mm-prec','default'] + command=[str(root/'build-cuda/vla-bench'),'--ckpt','/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf','--images','2','--size','512','--tokens','16','--warmup','3','--reps','20']+flags + with (out/f'{name}-{trial}.log').open('w') as log,(out/f'{name}-{trial}-telemetry.jsonl').open('w') as telemetry: + process=subprocess.Popen(command,cwd=root,env=env,stdout=log,stderr=subprocess.STDOUT) + while process.poll() is None: + data={'time':time.time(),'pid':process.pid} + for label,fields in [('gpu','--query-gpu=temperature.gpu,power.draw,power.limit,clocks.sm,clocks.mem,pstate,memory.used'),('processes','--query-compute-apps=pid,process_name,used_gpu_memory')]: + query=subprocess.run(['nvidia-smi',fields,'--format=csv'],capture_output=True,text=True,timeout=10) + data[label]=query.stdout+query.stderr + telemetry.write(json.dumps(data)+'\n');telemetry.flush();time.sleep(.5) + if process.returncode:raise RuntimeError(f'{name} trial {trial} exit {process.returncode}') + text=(out/f'{name}-{trial}.log').read_text() + match=re.search(r'min ([\d.]+) ms\s+mean ([\d.]+) ms\s+p50 ([\d.]+) ms\s+p90 ([\d.]+) ms\s+vision ([\d.]+) ms',text) + if match is None:raise RuntimeError('Missing benchmark summary') + record=dict(variant=name,trial=trial,command=command,min_ms=float(match[1]),mean_ms=float(match[2]),p50_ms=float(match[3]),p90_ms=float(match[4]),vision_ms=float(match[5])) + results.append(record);(out/'runs.json').write_text(json.dumps(results,indent=2)+'\n') + print(name,trial,record['mean_ms'],flush=True) +selected={name:min((r for r in results if r['variant']==name),key=lambda r:r['mean_ms']) for name in ['defaults','flash-mm']} +selected['relative_mean_change']=selected['flash-mm']['mean_ms']/selected['defaults']['mean_ms']-1 +(out/'selected.json').write_text(json.dumps(selected,indent=2)+'\n') diff --git a/research-notes/smolvla-followup-20261104/fused-0.out b/research-notes/smolvla-followup-20261104/fused-0.out new file mode 100644 index 00000000..2960c0b3 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/fused-0.out @@ -0,0 +1,1611 @@ +vla: arch = smolvla +vla: config = /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 416 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 1763.1 MiB +vla: [vram] after weights alloc used=2789.5 MiB free=3354.0 MiB (+1764.0 MiB) +action_len=1600 +-0.0458057597 +0.0342532732 +0.111389495 +-0.0117774457 +-0.00128144305 +-0.000810575671 +-0.955963969 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0408211127 +0.00842810422 +0.173675597 +-0.00721335411 +-0.00330224633 +-0.00519818533 +-0.968318224 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.036229521 +0.00977936387 +0.180411279 +-0.00280933292 +-0.00200261595 +-0.00462407246 +-0.962966442 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0439337119 +0.0235059485 +0.18777886 +-0.0032737921 +-0.00409580208 +-0.00207103277 +-0.960139453 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0506914407 +0.0315268859 +0.20204097 +-0.00277179223 +-0.00553639885 +-0.00193318282 +-0.960901201 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0479326621 +0.0402360857 +0.203804553 +-0.00415559532 +-0.00416566432 +-0.00157873007 +-0.95391494 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0520052612 +0.061598558 +0.196166784 +-0.0046945028 +-0.00411784556 +0.000206967816 +-0.960009813 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0569724217 +0.0745266303 +0.198494405 +-0.00420601573 +-0.00539782364 +0.000476334244 +-0.95359242 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0550930575 +0.0904754773 +0.198892653 +-0.00507226819 +-0.00392663199 +6.87669963e-05 +-0.95456624 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0565537512 +0.115622334 +0.188812822 +-0.00482355151 +-0.00333387405 +0.000570350327 +-0.959002376 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0610426739 +0.127850085 +0.174288034 +-0.0041555725 +-0.00402496103 +0.00135406991 +-0.955919027 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0611429363 +0.145881161 +0.161727458 +-0.00465705805 +-0.00252397079 +0.000854826998 +-0.955890536 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0626649186 +0.177159458 +0.148345798 +-0.00421841815 +-0.00246714335 +0.000780557282 +-0.962254107 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0671526715 +0.19533065 +0.136339664 +-0.00407929951 +-0.00318168569 +7.63055868e-05 +-0.959475338 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.06672398 +0.225125566 +0.12046846 +-0.00407146197 +-0.00161300786 +-0.000372972339 +-0.960935652 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0697997436 +0.241314963 +0.114545502 +-0.00372287631 +-0.00159927225 +-0.00035306206 +-0.962241948 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0755278245 +0.260420382 +0.104007639 +-0.00360062113 +-0.00222140457 +-0.00135718891 +-0.958682954 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0752895102 +0.286269367 +0.0941762701 +-0.00324395113 +-0.00176281901 +-0.00165256695 +-0.960427999 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0771802291 +0.301781476 +0.0852319971 +-0.00291854492 +-0.00235833135 +-0.00114217075 +-0.961761951 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0796706453 +0.31806314 +0.0766055509 +-0.00309085241 +-0.0027647689 +-0.00202377001 +-0.95899421 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0824590847 +0.332757384 +0.0687168464 +-0.00266358815 +-0.0021572453 +-0.00292339642 +-0.961185575 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0869629905 +0.343017846 +0.0625282452 +-0.00255191815 +-0.0027285181 +-0.00235556369 +-0.960669219 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0927379951 +0.35170424 +0.061188437 +-0.00239002868 +-0.00289819762 +-0.00325596146 +-0.952452421 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.093627654 +0.361792088 +0.051583983 +-0.00253809988 +-0.00236916263 +-0.00354418578 +-0.956606567 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0982306376 +0.368678749 +0.0469209179 +-0.00264688325 +-0.00308830012 +-0.00285961688 +-0.946768761 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101238854 +0.376604587 +0.0455027893 +-0.00245099375 +-0.0031431485 +-0.00372601161 +-0.950702071 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0988193825 +0.383930475 +0.0377779976 +-0.00246890495 +-0.00236897916 +-0.00433512824 +-0.956481278 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101970889 +0.385912687 +0.0349727646 +-0.00257477956 +-0.00296404585 +-0.00375988754 +-0.950255394 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106192581 +0.387130439 +0.0269050077 +-0.00221118052 +-0.00284975395 +-0.00474089384 +-0.95125556 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.104771607 +0.392380178 +0.0158438161 +-0.00215208158 +-0.00219685212 +-0.00461245794 +-0.957947373 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107769929 +0.3916502 +0.0115950033 +-0.00244473224 +-0.00288944971 +-0.0053026448 +-0.952356756 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108579673 +0.39060843 +0.000762835145 +-0.00205777306 +-0.0027810866 +-0.00620484259 +-0.954702199 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107465185 +0.388048202 +-0.00959704816 +-0.00185434381 +-0.00197947444 +-0.00607081223 +-0.956575453 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109565131 +0.381275535 +-0.013060838 +-0.00219815387 +-0.00253014173 +-0.00738275331 +-0.953208685 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110265069 +0.372725248 +-0.0197336078 +-0.00177238765 +-0.00208536675 +-0.00793394819 +-0.953927875 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109820075 +0.364302248 +-0.0283355452 +-0.00154983136 +-0.00224393513 +-0.00781982299 +-0.956384957 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110656016 +0.353823245 +-0.0326498635 +-0.00197819597 +-0.00275673997 +-0.00893503986 +-0.954372466 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110085942 +0.346041292 +-0.0393087715 +-0.00146101625 +-0.00206613308 +-0.00956474058 +-0.956178308 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115133367 +0.339925289 +-0.0486926883 +-0.0013148156 +-0.00228563882 +-0.00907010864 +-0.955676973 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117275722 +0.333593071 +-0.050081756 +-0.00106302835 +-0.00266470294 +-0.0102182906 +-0.952939212 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117481507 +0.32699573 +-0.0583334565 +-0.00137809175 +-0.00194636034 +-0.0107678007 +-0.956380248 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122248836 +0.323208272 +-0.0655738562 +-0.00140590686 +-0.00202635303 +-0.0102334181 +-0.958276033 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124519177 +0.314220428 +-0.0641736835 +-0.0010343988 +-0.00269654673 +-0.0109564234 +-0.951152623 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.121822499 +0.307127118 +-0.0717130452 +-0.00122186821 +-0.00161763048 +-0.0111919343 +-0.955025554 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124480419 +0.302327871 +-0.0758505315 +-0.00141677796 +-0.00207904959 +-0.0107292216 +-0.951096117 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125144273 +0.292246789 +-0.0822983459 +-0.000929701666 +-0.00217909273 +-0.011400871 +-0.951310396 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122415684 +0.285048723 +-0.0896931961 +-0.00117588998 +-0.0013207267 +-0.011717733 +-0.956682146 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125459284 +0.282095373 +-0.0916229337 +-0.00134368381 +-0.0017552129 +-0.0109283738 +-0.952442825 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126051724 +0.275170267 +-0.0965160355 +-0.000999437878 +-0.00182072725 +-0.0114568686 +-0.952692866 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124991305 +0.27182138 +-0.101607397 +-0.000963236031 +-0.000841847155 +-0.0110958517 +-0.953255177 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/fused-1-repeat.out b/research-notes/smolvla-followup-20261104/fused-1-repeat.out new file mode 100644 index 00000000..16c9492c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/fused-1-repeat.out @@ -0,0 +1,1612 @@ +vla: arch = smolvla +vla: config = /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 416 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 1763.1 MiB +vla: [vram] after weights alloc used=2789.5 MiB free=3354.0 MiB (+1764.0 MiB) +action_len=1600 +-0.0459292755 +0.0341953859 +0.111380555 +-0.0117479227 +-0.00130276568 +-0.000827913638 +-0.955941021 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0409535393 +0.00839561969 +0.173567623 +-0.00718310522 +-0.00332403276 +-0.00521435356 +-0.968266487 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0364043266 +0.00978957117 +0.180259198 +-0.00279493257 +-0.00202238094 +-0.0046483581 +-0.963026881 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0441624671 +0.023518689 +0.187531054 +-0.00325232884 +-0.00412750989 +-0.00208654278 +-0.960187614 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0508211404 +0.0315208621 +0.20181182 +-0.00275587779 +-0.00556899048 +-0.00195607846 +-0.961035192 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0481168181 +0.0402021967 +0.203507304 +-0.00413073879 +-0.00420359522 +-0.00160450698 +-0.953900695 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0521454811 +0.0615724251 +0.195817262 +-0.00465205312 +-0.00416458305 +0.000179628842 +-0.960034311 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.057125546 +0.0744654909 +0.198190033 +-0.00416312972 +-0.00544448942 +0.000444445293 +-0.953751504 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0552474782 +0.0903604701 +0.198524803 +-0.00502330577 +-0.00397205632 +3.38288955e-05 +-0.954802036 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0567289963 +0.115455031 +0.188435823 +-0.00477811648 +-0.00339048635 +0.000540214125 +-0.959164679 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0611783862 +0.127692863 +0.173895508 +-0.00410703477 +-0.00407716725 +0.00132880453 +-0.956106663 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0613110363 +0.145774573 +0.161288112 +-0.00461252034 +-0.00258826744 +0.000812980812 +-0.95600611 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.062781252 +0.176988751 +0.147910476 +-0.00416984176 +-0.00253205653 +0.000739258248 +-0.962402582 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0673238859 +0.195170179 +0.135933816 +-0.00403788127 +-0.003237959 +4.04343009e-05 +-0.959477901 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0668527856 +0.225084648 +0.120072447 +-0.0040273997 +-0.00166392513 +-0.000405945349 +-0.961005986 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0699436739 +0.241317227 +0.114043958 +-0.00368076563 +-0.00166478707 +-0.000405153725 +-0.962355077 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0756761953 +0.260480165 +0.103559814 +-0.00356320431 +-0.00227724854 +-0.00139288907 +-0.958776832 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0754467174 +0.286450297 +0.0936303958 +-0.00320748542 +-0.001822263 +-0.00168756489 +-0.960526884 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0773755088 +0.301988751 +0.0847595707 +-0.00288008223 +-0.00241805892 +-0.00118877739 +-0.961845994 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0798752531 +0.318407148 +0.0761555657 +-0.00306809694 +-0.00281785056 +-0.00206404342 +-0.95898968 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0826331899 +0.333106905 +0.0682327375 +-0.00263386872 +-0.00221640337 +-0.00297755352 +-0.961342394 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0871713236 +0.343411654 +0.0620126054 +-0.00253051706 +-0.00279493257 +-0.00238397764 +-0.960875988 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.092976816 +0.352109134 +0.0607408509 +-0.00235187262 +-0.00296045095 +-0.00329686049 +-0.952581763 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.093807213 +0.362307757 +0.0511165038 +-0.00251081563 +-0.00242645387 +-0.00358932395 +-0.956782937 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0984461829 +0.369093657 +0.0464726016 +-0.00261871889 +-0.00314341299 +-0.00291383825 +-0.946969032 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101479776 +0.377058178 +0.0450695232 +-0.00241838838 +-0.003201182 +-0.00377047481 +-0.950872362 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0990167633 +0.384353131 +0.037363641 +-0.00243317173 +-0.00242845528 +-0.00437981309 +-0.956552923 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102177538 +0.386311293 +0.0345103815 +-0.002544221 +-0.0030117901 +-0.00380470371 +-0.950489223 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106403433 +0.387463868 +0.0265679583 +-0.00218085479 +-0.00290853903 +-0.00477884663 +-0.951434314 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.105015509 +0.392766267 +0.0153573379 +-0.00212678034 +-0.00224885065 +-0.00465536257 +-0.958195508 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108022906 +0.391944557 +0.0111999512 +-0.00242293393 +-0.00293609686 +-0.00536249205 +-0.95263207 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108865373 +0.390826315 +0.000375665724 +-0.00203082035 +-0.00283798017 +-0.00624960195 +-0.954785168 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107667826 +0.388228446 +-0.0100272 +-0.00182676874 +-0.00202763313 +-0.00610639714 +-0.956821442 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109844662 +0.381451666 +-0.0134500936 +-0.00217823964 +-0.00258272979 +-0.00741820689 +-0.953450382 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110522516 +0.372876585 +-0.0201391876 +-0.00174460351 +-0.00213477481 +-0.00796917826 +-0.954102814 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110060059 +0.364292622 +-0.0287230238 +-0.00152715109 +-0.00228315033 +-0.00785809103 +-0.956465125 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110937797 +0.353769422 +-0.0329893753 +-0.00195254176 +-0.00281237438 +-0.00897077285 +-0.954507887 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110322915 +0.345952839 +-0.0397435799 +-0.00144116464 +-0.00211623637 +-0.00960329548 +-0.956501842 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115415893 +0.33977586 +-0.0490987487 +-0.00129180541 +-0.00233923085 +-0.00911582634 +-0.95596838 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117474355 +0.333389163 +-0.0504915565 +-0.00103267585 +-0.00272229221 +-0.0102462918 +-0.953025699 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117742456 +0.326791644 +-0.0587476715 +-0.00135422638 +-0.00201040879 +-0.0107997879 +-0.956496358 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122484021 +0.322899699 +-0.0660447776 +-0.00138096581 +-0.00206982996 +-0.0102602234 +-0.958528638 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124809437 +0.313825309 +-0.0646588653 +-0.00100804283 +-0.00275041722 +-0.0109823123 +-0.951194048 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122059189 +0.306751162 +-0.0721061155 +-0.0011989153 +-0.00168106332 +-0.0112186484 +-0.95513612 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124723069 +0.301912069 +-0.0762959123 +-0.00139054796 +-0.00212712586 +-0.0107525066 +-0.951275766 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125362456 +0.29181993 +-0.0828018114 +-0.000905683322 +-0.00223303493 +-0.0114273224 +-0.951536 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122644015 +0.284579605 +-0.0901383907 +-0.00114992377 +-0.00137727242 +-0.0117503367 +-0.956807613 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125641465 +0.281635255 +-0.0920918733 +-0.00131616695 +-0.00180637464 +-0.0109490231 +-0.952611804 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126308501 +0.274704874 +-0.0969400108 +-0.000971565198 +-0.00187887205 +-0.0114795752 +-0.952839851 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.12516439 +0.271317273 +-0.102007307 +-0.000939435849 +-0.000883858185 +-0.0111095123 +-0.953489244 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/fused-1.out b/research-notes/smolvla-followup-20261104/fused-1.out new file mode 100644 index 00000000..16c9492c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/fused-1.out @@ -0,0 +1,1612 @@ +vla: arch = smolvla +vla: config = /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 416 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 1763.1 MiB +vla: [vram] after weights alloc used=2789.5 MiB free=3354.0 MiB (+1764.0 MiB) +action_len=1600 +-0.0459292755 +0.0341953859 +0.111380555 +-0.0117479227 +-0.00130276568 +-0.000827913638 +-0.955941021 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0409535393 +0.00839561969 +0.173567623 +-0.00718310522 +-0.00332403276 +-0.00521435356 +-0.968266487 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0364043266 +0.00978957117 +0.180259198 +-0.00279493257 +-0.00202238094 +-0.0046483581 +-0.963026881 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0441624671 +0.023518689 +0.187531054 +-0.00325232884 +-0.00412750989 +-0.00208654278 +-0.960187614 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0508211404 +0.0315208621 +0.20181182 +-0.00275587779 +-0.00556899048 +-0.00195607846 +-0.961035192 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0481168181 +0.0402021967 +0.203507304 +-0.00413073879 +-0.00420359522 +-0.00160450698 +-0.953900695 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0521454811 +0.0615724251 +0.195817262 +-0.00465205312 +-0.00416458305 +0.000179628842 +-0.960034311 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.057125546 +0.0744654909 +0.198190033 +-0.00416312972 +-0.00544448942 +0.000444445293 +-0.953751504 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0552474782 +0.0903604701 +0.198524803 +-0.00502330577 +-0.00397205632 +3.38288955e-05 +-0.954802036 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0567289963 +0.115455031 +0.188435823 +-0.00477811648 +-0.00339048635 +0.000540214125 +-0.959164679 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0611783862 +0.127692863 +0.173895508 +-0.00410703477 +-0.00407716725 +0.00132880453 +-0.956106663 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0613110363 +0.145774573 +0.161288112 +-0.00461252034 +-0.00258826744 +0.000812980812 +-0.95600611 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.062781252 +0.176988751 +0.147910476 +-0.00416984176 +-0.00253205653 +0.000739258248 +-0.962402582 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0673238859 +0.195170179 +0.135933816 +-0.00403788127 +-0.003237959 +4.04343009e-05 +-0.959477901 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0668527856 +0.225084648 +0.120072447 +-0.0040273997 +-0.00166392513 +-0.000405945349 +-0.961005986 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0699436739 +0.241317227 +0.114043958 +-0.00368076563 +-0.00166478707 +-0.000405153725 +-0.962355077 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0756761953 +0.260480165 +0.103559814 +-0.00356320431 +-0.00227724854 +-0.00139288907 +-0.958776832 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0754467174 +0.286450297 +0.0936303958 +-0.00320748542 +-0.001822263 +-0.00168756489 +-0.960526884 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0773755088 +0.301988751 +0.0847595707 +-0.00288008223 +-0.00241805892 +-0.00118877739 +-0.961845994 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0798752531 +0.318407148 +0.0761555657 +-0.00306809694 +-0.00281785056 +-0.00206404342 +-0.95898968 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0826331899 +0.333106905 +0.0682327375 +-0.00263386872 +-0.00221640337 +-0.00297755352 +-0.961342394 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0871713236 +0.343411654 +0.0620126054 +-0.00253051706 +-0.00279493257 +-0.00238397764 +-0.960875988 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.092976816 +0.352109134 +0.0607408509 +-0.00235187262 +-0.00296045095 +-0.00329686049 +-0.952581763 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.093807213 +0.362307757 +0.0511165038 +-0.00251081563 +-0.00242645387 +-0.00358932395 +-0.956782937 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0984461829 +0.369093657 +0.0464726016 +-0.00261871889 +-0.00314341299 +-0.00291383825 +-0.946969032 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101479776 +0.377058178 +0.0450695232 +-0.00241838838 +-0.003201182 +-0.00377047481 +-0.950872362 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0990167633 +0.384353131 +0.037363641 +-0.00243317173 +-0.00242845528 +-0.00437981309 +-0.956552923 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102177538 +0.386311293 +0.0345103815 +-0.002544221 +-0.0030117901 +-0.00380470371 +-0.950489223 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106403433 +0.387463868 +0.0265679583 +-0.00218085479 +-0.00290853903 +-0.00477884663 +-0.951434314 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.105015509 +0.392766267 +0.0153573379 +-0.00212678034 +-0.00224885065 +-0.00465536257 +-0.958195508 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108022906 +0.391944557 +0.0111999512 +-0.00242293393 +-0.00293609686 +-0.00536249205 +-0.95263207 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108865373 +0.390826315 +0.000375665724 +-0.00203082035 +-0.00283798017 +-0.00624960195 +-0.954785168 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107667826 +0.388228446 +-0.0100272 +-0.00182676874 +-0.00202763313 +-0.00610639714 +-0.956821442 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109844662 +0.381451666 +-0.0134500936 +-0.00217823964 +-0.00258272979 +-0.00741820689 +-0.953450382 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110522516 +0.372876585 +-0.0201391876 +-0.00174460351 +-0.00213477481 +-0.00796917826 +-0.954102814 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110060059 +0.364292622 +-0.0287230238 +-0.00152715109 +-0.00228315033 +-0.00785809103 +-0.956465125 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110937797 +0.353769422 +-0.0329893753 +-0.00195254176 +-0.00281237438 +-0.00897077285 +-0.954507887 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110322915 +0.345952839 +-0.0397435799 +-0.00144116464 +-0.00211623637 +-0.00960329548 +-0.956501842 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115415893 +0.33977586 +-0.0490987487 +-0.00129180541 +-0.00233923085 +-0.00911582634 +-0.95596838 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117474355 +0.333389163 +-0.0504915565 +-0.00103267585 +-0.00272229221 +-0.0102462918 +-0.953025699 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117742456 +0.326791644 +-0.0587476715 +-0.00135422638 +-0.00201040879 +-0.0107997879 +-0.956496358 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122484021 +0.322899699 +-0.0660447776 +-0.00138096581 +-0.00206982996 +-0.0102602234 +-0.958528638 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124809437 +0.313825309 +-0.0646588653 +-0.00100804283 +-0.00275041722 +-0.0109823123 +-0.951194048 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122059189 +0.306751162 +-0.0721061155 +-0.0011989153 +-0.00168106332 +-0.0112186484 +-0.95513612 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124723069 +0.301912069 +-0.0762959123 +-0.00139054796 +-0.00212712586 +-0.0107525066 +-0.951275766 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125362456 +0.29181993 +-0.0828018114 +-0.000905683322 +-0.00223303493 +-0.0114273224 +-0.951536 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122644015 +0.284579605 +-0.0901383907 +-0.00114992377 +-0.00137727242 +-0.0117503367 +-0.956807613 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125641465 +0.281635255 +-0.0920918733 +-0.00131616695 +-0.00180637464 +-0.0109490231 +-0.952611804 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126308501 +0.274704874 +-0.0969400108 +-0.000971565198 +-0.00187887205 +-0.0114795752 +-0.952839851 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.12516439 +0.271317273 +-0.102007307 +-0.000939435849 +-0.000883858185 +-0.0111095123 +-0.953489244 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/inspect_smolvla_metadata.py b/research-notes/smolvla-followup-20261104/inspect_smolvla_metadata.py new file mode 100644 index 00000000..b750a44e --- /dev/null +++ b/research-notes/smolvla-followup-20261104/inspect_smolvla_metadata.py @@ -0,0 +1,26 @@ +"""Read GGUF metadata only; never read tensor payloads.""" +from pathlib import Path +import struct,json +p=Path('/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf') +formats={0:'B',1:'b',2:'H',3:'h',4:'I',5:'i',6:'f',7:'?',10:'Q',11:'q',12:'d'} +with p.open('rb') as f: + def number(fmt): + return struct.unpack('<'+fmt,f.read(struct.calcsize('<'+fmt)))[0] + def string(): + return f.read(number('Q')).decode('utf-8') + def value(kind): + if kind in formats:return number(formats[kind]) + if kind==8:return string() + if kind==9: + element,count=number('I'),number('Q') + return [value(element) for _ in range(count)] + raise ValueError(kind) + assert f.read(4)==b'GGUF' + version=number('I');tensors=number('Q');count=number('Q') + metadata={} + for _ in range(count): + key=string();metadata[key]=value(number('I')) +filtered={k:v for k,v in metadata.items() if k.startswith('smolvla.') or k in ['general.architecture','general.name']} +result=dict(file=str(p),gguf_version=version,tensor_count=tensors,metadata=filtered) +Path(__file__).with_name('smolvla-metadata.json').write_text(json.dumps(result,indent=2)+'\n') +print(json.dumps(result,indent=2)) diff --git a/research-notes/smolvla-followup-20261104/install_libero_deps.sh b/research-notes/smolvla-followup-20261104/install_libero_deps.sh new file mode 100644 index 00000000..22f5a340 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/install_libero_deps.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash +set -euo pipefail +export PATH="$PWD/research-notes/tools/uv/bin:$PATH" +export UV_CACHE_DIR="$PWD/research-notes/tools/uv-cache" +export UV_LINK_MODE=copy +export CMAKE_POLICY_VERSION_MINIMUM=3.5 +export VIRTUAL_ENV="$PWD/eval/sim/libero/libero_uv/.venv" +LIBERO_REPO="$PWD/eval/sim/libero/LIBERO" +uv pip install --requirements "$LIBERO_REPO/requirements.txt" +uv pip install -e "$LIBERO_REPO" --config-settings editable_mode=compat +uv pip install lerobot==0.4.3 +uv pip install torch==2.5.1 torchvision==0.20.1 pydantic av tianshou==0.5.1 tyro pandas dm_tree einops==0.8.1 albumentations==1.4.18 zmq +uv pip install transformers==4.51.3 msgpack==1.1.0 msgpack-numpy==0.4.8 gymnasium==0.29.1 +uv pip install pandas==2.0.3 +uv pip install pyarrow==12.0.1 +uv pip install diffusers==0.30.1 +uv pip install numpy==1.26.4 +# robosuite 1.4.0 calls the mujoco 2.3 mj_fullM(m, dst, M) signature; mujoco 3.x +# changed it, so a transitive dep pulling 3.x breaks the OSC controller at reset. +uv pip install mujoco==2.3.2 diff --git a/research-notes/smolvla-followup-20261104/isolate-commands.json b/research-notes/smolvla-followup-20261104/isolate-commands.json new file mode 100644 index 00000000..a77377a3 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/isolate-commands.json @@ -0,0 +1,42 @@ +[ + { + "name": "no-exact-gemm", + "command": [ + "./build-cuda/tests/vla_predict_check", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "", + "2" + ], + "env": { + "VLA_IMG_SIZE": "512", + "VLA_GEMM_EXACT": "0" + } + }, + { + "name": "no-exact-attn", + "command": [ + "./build-cuda/tests/vla_predict_check", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "", + "2" + ], + "env": { + "VLA_IMG_SIZE": "512", + "VLA_ATTN_EXACT": "0" + } + }, + { + "name": "no-exact-both", + "command": [ + "./build-cuda/tests/vla_predict_check", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "", + "2" + ], + "env": { + "VLA_IMG_SIZE": "512", + "VLA_GEMM_EXACT": "0", + "VLA_ATTN_EXACT": "0" + } + } +] diff --git a/research-notes/smolvla-followup-20261104/isolate-summary.json b/research-notes/smolvla-followup-20261104/isolate-summary.json new file mode 100644 index 00000000..9c62ddb8 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/isolate-summary.json @@ -0,0 +1,38 @@ +{ + "no-exact-gemm": { + "default": { + "bit_differences": 0, + "max_abs": 0.0, + "rmse": 0.0 + }, + "unfused": { + "bit_differences": 350, + "max_abs": 0.0005458742380142212, + "rmse": 0.00010049711168250623 + } + }, + "no-exact-attn": { + "default": { + "bit_differences": 350, + "max_abs": 0.0011349022388458252, + "rmse": 0.000195887559953955 + }, + "unfused": { + "bit_differences": 350, + "max_abs": 0.0006968528032302856, + "rmse": 0.00011599645763902995 + } + }, + "no-exact-both": { + "default": { + "bit_differences": 350, + "max_abs": 0.0011349022388458252, + "rmse": 0.000195887559953955 + }, + "unfused": { + "bit_differences": 350, + "max_abs": 0.0006968528032302856, + "rmse": 0.00011599645763902995 + } + } +} diff --git a/research-notes/smolvla-followup-20261104/kernel-parser-graph-rejection.log b/research-notes/smolvla-followup-20261104/kernel-parser-graph-rejection.log new file mode 100644 index 00000000..a71303f6 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-parser-graph-rejection.log @@ -0,0 +1,2 @@ +Expected rejection of graph-only trace; exit=1 +Whole-graph aggregate events found: use --cuda-graph-trace=node before kernel attribution diff --git a/research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults-workload/result.json b/research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults-workload/result.json new file mode 100644 index 00000000..e810e174 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults-workload/result.json @@ -0,0 +1,286 @@ +{ + "model": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "variant": "defaults", + "mode": "phase", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 32, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 187.26881408691406, + "ms_vision": 56.95362091064453, + "ms_inference": 85.02351379394531, + "ms_prefill": 18.13332748413086, + "ms_denoise": 66.89018249511719, + "python_wall_ms": 196.4703420017031, + "unaccounted_ms": 45.29167938232422 + }, + { + "ms_total": 374.8182373046875, + "ms_vision": 55.602882385253906, + "ms_inference": 277.2771911621094, + "ms_prefill": 21.892860412597656, + "ms_denoise": 255.3843231201172, + "python_wall_ms": 384.1750590072479, + "unaccounted_ms": 41.93816375732422 + }, + { + "ms_total": 191.97898864746094, + "ms_vision": 55.825016021728516, + "ms_inference": 92.13298034667969, + "ms_prefill": 16.55521583557129, + "ms_denoise": 75.57776641845703, + "python_wall_ms": 200.3718089981703, + "unaccounted_ms": 44.020992279052734 + }, + { + "ms_total": 186.42495727539062, + "ms_vision": 56.80449676513672, + "ms_inference": 86.23151397705078, + "ms_prefill": 16.72340965270996, + "ms_denoise": 69.50810241699219, + "python_wall_ms": 194.19819599715993, + "unaccounted_ms": 43.388946533203125 + }, + { + "ms_total": 234.71121215820312, + "ms_vision": 54.887733459472656, + "ms_inference": 136.18634033203125, + "ms_prefill": 21.364336013793945, + "ms_denoise": 114.8219985961914, + "python_wall_ms": 244.9945749976905, + "unaccounted_ms": 43.63713836669922 + }, + { + "ms_total": 185.8446807861328, + "ms_vision": 56.277915954589844, + "ms_inference": 87.16649627685547, + "ms_prefill": 16.5145320892334, + "ms_denoise": 70.65196228027344, + "python_wall_ms": 194.16076900233747, + "unaccounted_ms": 42.4002685546875 + }, + { + "ms_total": 181.02589416503906, + "ms_vision": 56.23954391479492, + "ms_inference": 80.91901397705078, + "ms_prefill": 16.673202514648438, + "ms_denoise": 64.24581146240234, + "python_wall_ms": 189.81514599727234, + "unaccounted_ms": 43.86733627319336 + }, + { + "ms_total": 621.7606201171875, + "ms_vision": 56.79975128173828, + "ms_inference": 522.11865234375, + "ms_prefill": 33.634910583496094, + "ms_denoise": 488.4837341308594, + "python_wall_ms": 630.6938699999591, + "unaccounted_ms": 42.84221649169922 + }, + { + "ms_total": 322.03814697265625, + "ms_vision": 61.38045120239258, + "ms_inference": 189.4499969482422, + "ms_prefill": 16.449356079101562, + "ms_denoise": 173.00064086914062, + "python_wall_ms": 331.0674510066747, + "unaccounted_ms": 71.20769882202148 + }, + { + "ms_total": 269.0413818359375, + "ms_vision": 77.84862518310547, + "ms_inference": 101.37124633789062, + "ms_prefill": 16.426513671875, + "ms_denoise": 84.94473266601562, + "python_wall_ms": 277.6603499951307, + "unaccounted_ms": 89.8215103149414 + }, + { + "ms_total": 590.8313598632812, + "ms_vision": 56.62200927734375, + "ms_inference": 490.37841796875, + "ms_prefill": 87.16807556152344, + "ms_denoise": 403.2103576660156, + "python_wall_ms": 599.9248899970553, + "unaccounted_ms": 43.8309326171875 + }, + { + "ms_total": 211.18141174316406, + "ms_vision": 57.12419509887695, + "ms_inference": 104.79248046875, + "ms_prefill": 17.060550689697266, + "ms_denoise": 87.73193359375, + "python_wall_ms": 219.77628500462743, + "unaccounted_ms": 49.26473617553711 + }, + { + "ms_total": 264.2577209472656, + "ms_vision": 57.031925201416016, + "ms_inference": 158.59059143066406, + "ms_prefill": 17.06805992126465, + "ms_denoise": 141.5225372314453, + "python_wall_ms": 273.4411070050555, + "unaccounted_ms": 48.63520431518555 + }, + { + "ms_total": 884.4830932617188, + "ms_vision": 65.62689971923828, + "ms_inference": 775.0455932617188, + "ms_prefill": 93.41680908203125, + "ms_denoise": 681.6287841796875, + "python_wall_ms": 906.9101069981116, + "unaccounted_ms": 43.81060028076172 + }, + { + "ms_total": 294.6977233886719, + "ms_vision": 59.9943962097168, + "ms_inference": 153.56558227539062, + "ms_prefill": 16.38477897644043, + "ms_denoise": 137.18080139160156, + "python_wall_ms": 303.6176220048219, + "unaccounted_ms": 81.13774490356445 + }, + { + "ms_total": 220.43814086914062, + "ms_vision": 88.37142944335938, + "ms_inference": 82.20698547363281, + "ms_prefill": 16.563501358032227, + "ms_denoise": 65.64348602294922, + "python_wall_ms": 229.005266999593, + "unaccounted_ms": 49.85972595214844 + }, + { + "ms_total": 257.64007568359375, + "ms_vision": 55.78471374511719, + "ms_inference": 159.5677490234375, + "ms_prefill": 24.63079071044922, + "ms_denoise": 134.93695068359375, + "python_wall_ms": 265.1014280054369, + "unaccounted_ms": 42.28761291503906 + }, + { + "ms_total": 309.2974853515625, + "ms_vision": 56.268707275390625, + "ms_inference": 210.5091552734375, + "ms_prefill": 16.69036293029785, + "ms_denoise": 193.81878662109375, + "python_wall_ms": 317.8509589997702, + "unaccounted_ms": 42.519622802734375 + }, + { + "ms_total": 232.67050170898438, + "ms_vision": 69.90843200683594, + "ms_inference": 116.12439727783203, + "ms_prefill": 16.3613224029541, + "ms_denoise": 99.76307678222656, + "python_wall_ms": 244.38878200453473, + "unaccounted_ms": 46.637672424316406 + }, + { + "ms_total": 348.05615234375, + "ms_vision": 60.9641227722168, + "ms_inference": 243.8284149169922, + "ms_prefill": 48.8248291015625, + "ms_denoise": 195.0035858154297, + "python_wall_ms": 363.9316999979201, + "unaccounted_ms": 43.263614654541016 + } + ], + "summary": { + "ms_total": { + "mean": 318.42332992553713, + "p50": 260.9488983154297, + "p90": 593.9242858886719 + }, + "ms_vision": { + "mean": 60.815843391418454, + "p50": 56.879058837890625, + "p90": 70.7024513244629 + }, + "ms_inference": { + "mean": 207.62431564331055, + "p50": 144.87596130371094, + "p90": 493.55244140625007 + }, + "ms_prefill": { + "mean": 27.426837253570557, + "p50": 16.891980171203613, + "p90": 52.65915374755865 + }, + "ms_denoise": { + "mean": 180.19747772216797, + "p50": 124.87947463989258, + "p90": 411.73769531250014 + }, + "python_wall_ms": { + "mean": 328.37778570101364, + "p50": 269.2712675052462, + "p90": 603.0017879973457 + }, + "unaccounted_ms": { + "mean": 49.983170890808104, + "p50": 43.84913444519043, + "p90": 72.20070343017579 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults.boundaries.json b/research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults.boundaries.json new file mode 100644 index 00000000..89fbb57c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults.boundaries.json @@ -0,0 +1,547 @@ +{ + "trace": "research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults.sqlite", + "workload": "research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults-workload/result.json", + "reps": 20, + "prefix_tokens": 145, + "kv_copy_bytes": 185600, + "kv_copies_per_predict": 64, + "matched_kernel_count": 160020, + "summary": { + "vision_plus_connector": { + "gpu_active_kernel_ms": { + "mean": 52.70752485, + "p50": 52.776708, + "p90": 53.2094109 + }, + "gpu_kernel_span_ms": { + "mean": 52.96830565, + "p50": 53.052391, + "p90": 53.5758344 + }, + "kernel_count": { + "mean": 460, + "p50": 460.0, + "p90": 460.0 + }, + "direct_kernel_count": { + "mean": 0, + "p50": 0.0, + "p90": 0.0 + } + }, + "kv_prefill": { + "gpu_active_kernel_ms": { + "mean": 14.95621615, + "p50": 14.886264, + "p90": 15.221531500000001 + }, + "gpu_kernel_span_ms": { + "mean": 15.9025081, + "p50": 16.1178595, + "p90": 16.8043822 + }, + "kernel_count": { + "mean": 723, + "p50": 723.0, + "p90": 723.0 + }, + "direct_kernel_count": { + "mean": 469.95, + "p50": 723.0, + "p90": 723.0 + } + }, + "denoise_with_cross_kv": { + "gpu_active_kernel_ms": { + "mean": 36.31802625, + "p50": 36.445816, + "p90": 36.7341734 + }, + "gpu_kernel_span_ms": { + "mean": 59.01260245, + "p50": 65.603836, + "p90": 78.78474320000001 + }, + "kernel_count": { + "mean": 6818, + "p50": 6818.0, + "p90": 6818.0 + }, + "direct_kernel_count": { + "mean": 4431.7, + "p50": 6818.0, + "p90": 6818.0 + } + } + }, + "samples": [ + { + "prediction": 0, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.481838, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 51.836258, + "gpu_kernel_span_ms": 52.118435, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.872391, + "gpu_kernel_span_ms": 17.311456, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 37.048512, + "gpu_kernel_span_ms": 65.73549, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 1, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.350102, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.699692, + "gpu_kernel_span_ms": 52.932844, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.788969, + "gpu_kernel_span_ms": 14.991851, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 35.790814, + "gpu_kernel_span_ms": 37.772223, + "direct_kernel_count": 0 + } + }, + { + "prediction": 2, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.96709, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.282213, + "gpu_kernel_span_ms": 52.508231, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.016549, + "gpu_kernel_span_ms": 16.205719, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.721131, + "gpu_kernel_span_ms": 71.720921, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 3, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.267189, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.754951, + "gpu_kernel_span_ms": 52.992395, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.035207, + "gpu_kernel_span_ms": 16.42892, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.443657, + "gpu_kernel_span_ms": 66.632521, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 4, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.237333, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 51.422907, + "gpu_kernel_span_ms": 51.663488, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.750731, + "gpu_kernel_span_ms": 14.950603, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 35.892524, + "gpu_kernel_span_ms": 37.902719, + "direct_kernel_count": 0 + } + }, + { + "prediction": 5, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.516335, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.897192, + "gpu_kernel_span_ms": 53.132811000000004, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.973579, + "gpu_kernel_span_ms": 16.16463, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.509089, + "gpu_kernel_span_ms": 66.685387, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 6, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.456557, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.404807, + "gpu_kernel_span_ms": 52.642313, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.082126, + "gpu_kernel_span_ms": 16.318551, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.851555, + "gpu_kernel_span_ms": 61.403898, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 7, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.115092, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.960843, + "gpu_kernel_span_ms": 53.194541, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.87358, + "gpu_kernel_span_ms": 15.08382, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 35.809701, + "gpu_kernel_span_ms": 37.817245, + "direct_kernel_count": 0 + } + }, + { + "prediction": 8, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.506222, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.606466, + "gpu_kernel_span_ms": 52.863432, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.894792, + "gpu_kernel_span_ms": 16.04882, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.457005, + "gpu_kernel_span_ms": 79.032344, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 9, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.612431, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.880135, + "gpu_kernel_span_ms": 53.129001, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.788557, + "gpu_kernel_span_ms": 16.109428, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.477397, + "gpu_kernel_span_ms": 66.8986, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 10, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.52363, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 53.313927, + "gpu_kernel_span_ms": 53.57771, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.578823, + "gpu_kernel_span_ms": 14.785193, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.058982, + "gpu_kernel_span_ms": 38.050879, + "direct_kernel_count": 0 + } + }, + { + "prediction": 11, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.398029, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 53.716015, + "gpu_kernel_span_ms": 54.007378, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.494983, + "gpu_kernel_span_ms": 16.830331, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.454633, + "gpu_kernel_span_ms": 73.992746, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 12, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.425005, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.915176, + "gpu_kernel_span_ms": 53.182603, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.532082, + "gpu_kernel_span_ms": 16.801499, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.420575, + "gpu_kernel_span_ms": 79.105817, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 13, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.098835, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.647427, + "gpu_kernel_span_ms": 52.879526999999996, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.815241, + "gpu_kernel_span_ms": 15.015882, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 35.801211, + "gpu_kernel_span_ms": 38.193726, + "direct_kernel_count": 0 + } + }, + { + "prediction": 14, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.428237, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 53.03629, + "gpu_kernel_span_ms": 53.275974, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.877736, + "gpu_kernel_span_ms": 16.126291, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.409303, + "gpu_kernel_span_ms": 65.472182, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 15, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.371405, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.456994, + "gpu_kernel_span_ms": 52.700162, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.074506, + "gpu_kernel_span_ms": 16.278005, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.498009, + "gpu_kernel_span_ms": 62.709213, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 16, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.423053, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.401278, + "gpu_kernel_span_ms": 52.662786, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.906155, + "gpu_kernel_span_ms": 15.125419, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 35.915423, + "gpu_kernel_span_ms": 37.897658, + "direct_kernel_count": 0 + } + }, + { + "prediction": 17, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.455597, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 53.197798, + "gpu_kernel_span_ms": 53.575626, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.191148, + "gpu_kernel_span_ms": 16.39775, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.447975, + "gpu_kernel_span_ms": 78.757232, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 18, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.861361, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.921663, + "gpu_kernel_span_ms": 53.214469, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.737416, + "gpu_kernel_span_ms": 16.029041, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.467275, + "gpu_kernel_span_ms": 76.524791, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 19, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.832593, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.798465, + "gpu_kernel_span_ms": 53.112387, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.839752, + "gpu_kernel_span_ms": 15.046953, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 35.885754, + "gpu_kernel_span_ms": 37.946457, + "direct_kernel_count": 0 + } + } + ], + "attribution": "source phase K/V tensor-copy boundary, validated byte size/count and full kernel coverage", + "limitations": [ + "GPU active time excludes host setup, inter-kernel/phase gaps and transfer cost", + "GPU span can include CPU launch gaps for direct kernels", + "vision excludes preprocessing/inter-view transfers", + "prefill is cache-producing graph; denoise includes cross-KV reprojection", + "phase graph/padding differ from normal throughput; node tracing overhead" + ] +} diff --git a/research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults.kernels.csv b/research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults.kernels.csv new file mode 100644 index 00000000..db7300a7 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults.kernels.csv @@ -0,0 +1,39 @@ +kernel,calls,summed_ms +"void ::k_softmax_rows_loop<(int)1024, float>(float *, int, int, float, const T2 *, int, long)",480,401.57942 +void cutlass::Kernel2(T1::Params),10820,331.643367 +void cutlass::Kernel2(T1::Params),20480,265.819821 +ampere_s1688gemm_bf16_128x128_ldg8_stages_32x1_tn,960,193.259736 +void cutlass::Kernel2(T1::Params),13000,171.653803 +ampere_s1688gemm_bf16_64x128_sliced1x2_ldg8_tn,1920,119.724593 +void cutlass::Kernel2(T1::Params),480,108.707682 +"void flash_attn_ext_f16<(int)64, (int)64, (int)64, (int)1, (bool)0, (bool)0, (bool)0>(const char *, const char *, const char *, const char *, const char *, const int *, float *, float2 *, float, float, float, float, unsigned int, float, int, uint3, int, int, int, int, int, int, int, int, int, int, int, long, int, int, long, int, int, int, int, int, long)",7020,98.258456 +"void cublasLt::splitKreduce_kernel<(int)32, (int)16, int, float, float, float, float, (bool)0, float, float, float, (bool)1, (bool)0, (bool)0, (bool)0>(cublasLt::cublasSplitKParams, const T4 *, const T10 *, T9 *, T5 *, const T6 *, const T6 *, const T11 *, const T4 *, T11 *, void *, long, T6 *, int *, T6 *, T6 *, const T6 *, const T6 *, const T6 *, const T6 *, const T6 *)",23540,64.061566 +"void rope_neox<(bool)1, (bool)0, float, float>(const T3 *, T4 *, int, int, int, int, int, int, int, int, int, int, int, const int *, float, float, float, rope_corr_dims, float, const float *, const long *, int, bool)",10860,37.079399 +"void k_bin_bcast<&op_add, float, float, float, const float *>(const T2 *, const T3 *, T4 *, unsigned int, unsigned int, unsigned int, uint3, uint3, uint3, uint3, uint3, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, T5...)",15160,35.435991 +"void rms_norm_f32<(int)256, (bool)1, (bool)0, (bool)0>(const float *, float *, int, long, long, long, float, const float *, long, long, long, uint3, uint3, uint3, uint3, const float *, long, long, long, uint3, uint3, uint3, uint3, float)",14260,35.04873 +"void ::k_bias_gelu<__nv_bfloat16>(const float *, const float *, T1 *, long, int)",480,30.757342 +"::k_bias_res(const float *, const float *, const float *, float *, long, int)",960,30.60973 +"void k_bin_bcast<&op_mul, float, float, float, const float *>(const T2 *, const T3 *, T4 *, unsigned int, unsigned int, unsigned int, uint3, uint3, uint3, uint3, uint3, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, T5...)",7060,22.878837 +"void ::k_qkv_rows(const float *, const float *, const float *, const float *, T1 *, int, int, int, int, int, int, int)",960,21.051896 +"void flash_attn_stream_k_fixup_uniform<(int)64, (int)64, (int)1>(float *, const float2 *, int, int, int, int, int, int, uint3, uint3, uint3)",6400,18.31984 +"void concat_cont(const T1 *, const T1 *, T1 *, long, long, long, long, long, long)",6400,15.546773 +"void unary_op_kernel<&op_silu, float>(const T2 *, T2 *, int)",7220,14.877144 +"void ::k_ln_reg<(int)32, (int)0, __nv_bfloat16>(const float *, const float *, const float *, T3 *, int, int, float)",960,14.743156 +"void ::k_qkv_vt(const float *, const float *, T1 *, int, int, int, int, int, int, int)",480,13.064543 +"void ::k_heads_to_rows<__nv_bfloat16>(const float *, T1 *, int, int, int, int)",480,12.817043 +"void convert_unary_cont_vec4(const void *, T2 *, long)",7680,11.04864 +ampere_s16816gemm_bf16_64x64_ldg8_stages_64x5_tn,40,3.703651 +"void cpy_scalar<&cpy_1_scalar>(const char *, char *, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long)",80,3.620322 +ampere_h1688gemm_128x128_ldg8_stages_32x1_tn,40,1.650282 +"void cpy_scalar_contiguous(const char *, char *, long)",700,1.19857 +"void norm_f32<(int)32>(const float *, float *, int, long, long, long, float)",40,1.028006 +"void im2col_kernel<__half>(const float *, T1 *, long, long, long, long, long, long, long, long, long, long, long, long, long, int, int, int, int, int, int)",40,0.99806 +ampere_sgemm_64x32_sliced1x4_tn,200,0.951301 +"void cpy_scalar_transpose(const char *, char *, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long)",40,0.847275 +ampere_sgemm_32x32_sliced1x4_tn,200,0.706119 +"void concat_cont(const T1 *, const T1 *, T1 *, long, long, long, long, long, long)",200,0.54967 +"void convert_unary_cont_vec4<__half, float>(const void *, T2 *, long)",40,0.516037 +"void convert_unary_cont_vec4(const void *, T2 *, long)",40,0.499044 +"scale_f32(const float *, float *, float, float, long)",240,0.324641 +"void concat_cont(const T1 *, const T1 *, T1 *, long, long, long, long, long, long)",40,0.224833 +"void mul_mat_vec_f(const T1 *, const float *, const int *, ggml_cuda_mm_fusion_args_device, float *, int, uint3, int, int, int, uint3, int, int, int, uint3, int, int, int, int)",20,0.077761 diff --git a/research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults.summary.json b/research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults.summary.json new file mode 100644 index 00000000..bbf97d98 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults.summary.json @@ -0,0 +1,46 @@ +{ + "trace": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults.sqlite", + "kernel_events": 160020, + "summed_kernel_ms": 2084.88308, + "groups": { + "other_unclassified": { + "calls": 72800, + "summed_ms": 295.671113, + "fraction_of_summed_kernel_time": 0.14181663990481422 + }, + "GEMM_or_matmul_including_attention_products": { + "calls": 48160, + "summed_ms": 1197.898116, + "fraction_of_summed_kernel_time": 0.5745636901614646 + }, + "softmax_or_RoPE_not_all_attention": { + "calls": 11340, + "summed_ms": 438.658819, + "fraction_of_summed_kernel_time": 0.21039972131195003 + }, + "norm_or_fused_norm": { + "calls": 14300, + "summed_ms": 36.076736, + "fraction_of_summed_kernel_time": 0.017303961237001356 + }, + "attention_named_kernels_including_layout": { + "calls": 13420, + "summed_ms": 116.578296, + "fraction_of_summed_kernel_time": 0.0559159873847698 + } + }, + "gpu_activity_span_ms": 6558.560152, + "gpu_activity_union_ms": 2099.542919, + "gap_ms": 4459.017233, + "gap_fraction": 0.6798774623787273, + "max_gap_ms": 644.145762, + "gaps_over_100us": 372, + "scope": "target process activities only: first to last GPU activity within captured 20 predictions; excludes edge gaps and other processes", + "limitations": [ + "summed kernel durations may overlap; use union for busy fraction", + "name-based categories are not exact module attribution", + "GEMM includes attention matmuls", + "node tracing overhead affects timings", + "gaps do not prove whole-GPU idle or a CPU bottleneck" + ] +} diff --git a/research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm-workload/result.json b/research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm-workload/result.json new file mode 100644 index 00000000..21491c24 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm-workload/result.json @@ -0,0 +1,286 @@ +{ + "model": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "variant": "flash-mm", + "mode": "phase", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 32, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 176.5773468017578, + "ms_vision": 44.541419982910156, + "ms_inference": 89.8924789428711, + "ms_prefill": 14.24657154083252, + "ms_denoise": 75.64590454101562, + "python_wall_ms": 186.42211800033692, + "unaccounted_ms": 42.14344787597656 + }, + { + "ms_total": 233.2840118408203, + "ms_vision": 42.847511291503906, + "ms_inference": 149.72201538085938, + "ms_prefill": 20.675716400146484, + "ms_denoise": 129.04629516601562, + "python_wall_ms": 241.5854999999283, + "unaccounted_ms": 40.71448516845703 + }, + { + "ms_total": 172.0477752685547, + "ms_vision": 44.46775817871094, + "ms_inference": 82.81651306152344, + "ms_prefill": 13.8707275390625, + "ms_denoise": 68.94578552246094, + "python_wall_ms": 182.77981100254692, + "unaccounted_ms": 44.76350402832031 + }, + { + "ms_total": 175.98385620117188, + "ms_vision": 45.546592712402344, + "ms_inference": 86.1712875366211, + "ms_prefill": 14.138936042785645, + "ms_denoise": 72.0323486328125, + "python_wall_ms": 185.99436100339517, + "unaccounted_ms": 44.26597595214844 + }, + { + "ms_total": 594.1187744140625, + "ms_vision": 43.810760498046875, + "ms_inference": 507.4356689453125, + "ms_prefill": 20.155303955078125, + "ms_denoise": 487.2803649902344, + "python_wall_ms": 602.0586000013282, + "unaccounted_ms": 42.872344970703125 + }, + { + "ms_total": 291.5773010253906, + "ms_vision": 48.9937744140625, + "ms_inference": 154.42996215820312, + "ms_prefill": 13.730766296386719, + "ms_denoise": 140.69918823242188, + "python_wall_ms": 299.1402499974356, + "unaccounted_ms": 88.153564453125 + }, + { + "ms_total": 229.87733459472656, + "ms_vision": 45.521644592285156, + "ms_inference": 126.25568389892578, + "ms_prefill": 13.614004135131836, + "ms_denoise": 112.64167785644531, + "python_wall_ms": 239.5827169966651, + "unaccounted_ms": 58.100006103515625 + }, + { + "ms_total": 1618.2755126953125, + "ms_vision": 50.33469772338867, + "ms_inference": 1526.40283203125, + "ms_prefill": 57.71469497680664, + "ms_denoise": 1468.6881103515625, + "python_wall_ms": 1633.0537559988443, + "unaccounted_ms": 41.53798294067383 + }, + { + "ms_total": 335.85113525390625, + "ms_vision": 49.19822692871094, + "ms_inference": 197.75448608398438, + "ms_prefill": 13.568122863769531, + "ms_denoise": 184.1863555908203, + "python_wall_ms": 344.1927520034369, + "unaccounted_ms": 88.89842224121094 + }, + { + "ms_total": 319.32269287109375, + "ms_vision": 66.06609344482422, + "ms_inference": 173.9769287109375, + "ms_prefill": 15.106850624084473, + "ms_denoise": 158.8700714111328, + "python_wall_ms": 329.57162499951664, + "unaccounted_ms": 79.27967071533203 + }, + { + "ms_total": 1246.8167724609375, + "ms_vision": 75.02678680419922, + "ms_inference": 1129.97607421875, + "ms_prefill": 70.69734191894531, + "ms_denoise": 1059.2786865234375, + "python_wall_ms": 1266.1859689978883, + "unaccounted_ms": 41.81391143798828 + }, + { + "ms_total": 293.8524475097656, + "ms_vision": 50.0679817199707, + "ms_inference": 155.3531494140625, + "ms_prefill": 13.917601585388184, + "ms_denoise": 141.435546875, + "python_wall_ms": 305.18135800230084, + "unaccounted_ms": 88.43131637573242 + }, + { + "ms_total": 303.2129211425781, + "ms_vision": 65.71173858642578, + "ms_inference": 145.9622802734375, + "ms_prefill": 13.860905647277832, + "ms_denoise": 132.10137939453125, + "python_wall_ms": 312.14228099997854, + "unaccounted_ms": 91.53890228271484 + }, + { + "ms_total": 927.6522827148438, + "ms_vision": 63.8446159362793, + "ms_inference": 820.6231689453125, + "ms_prefill": 53.84469223022461, + "ms_denoise": 766.7785034179688, + "python_wall_ms": 941.2038980008219, + "unaccounted_ms": 43.18449783325195 + }, + { + "ms_total": 278.6275939941406, + "ms_vision": 45.53815841674805, + "ms_inference": 165.2251739501953, + "ms_prefill": 13.58975601196289, + "ms_denoise": 151.6354217529297, + "python_wall_ms": 289.61682799854316, + "unaccounted_ms": 67.86426162719727 + }, + { + "ms_total": 276.7480773925781, + "ms_vision": 64.01050567626953, + "ms_inference": 136.28530883789062, + "ms_prefill": 14.58112907409668, + "ms_denoise": 121.70418548583984, + "python_wall_ms": 284.88180699787335, + "unaccounted_ms": 76.45226287841797 + }, + { + "ms_total": 1028.9544677734375, + "ms_vision": 53.221195220947266, + "ms_inference": 934.3486328125, + "ms_prefill": 66.13534545898438, + "ms_denoise": 868.2132568359375, + "python_wall_ms": 1043.1785429973388, + "unaccounted_ms": 41.384639739990234 + }, + { + "ms_total": 377.51202392578125, + "ms_vision": 47.91735076904297, + "ms_inference": 270.78607177734375, + "ms_prefill": 13.814911842346191, + "ms_denoise": 256.9711608886719, + "python_wall_ms": 387.40266500099096, + "unaccounted_ms": 58.80860137939453 + }, + { + "ms_total": 334.3394775390625, + "ms_vision": 96.14096069335938, + "ms_inference": 134.72625732421875, + "ms_prefill": 13.953661918640137, + "ms_denoise": 120.77259826660156, + "python_wall_ms": 345.20076499757124, + "unaccounted_ms": 103.47225952148438 + }, + { + "ms_total": 1115.03369140625, + "ms_vision": 63.05356979370117, + "ms_inference": 1009.5765991210938, + "ms_prefill": 65.1148452758789, + "ms_denoise": 944.4617309570312, + "python_wall_ms": 1131.2040179982432, + "unaccounted_ms": 42.40352249145508 + } + ], + "summary": { + "ms_total": { + "mean": 516.4832748413086, + "p50": 311.26780700683594, + "p90": 1128.211999511719 + }, + "ms_vision": { + "mean": 55.293067169189456, + "p50": 49.63310432434082, + "p90": 66.96216278076173 + }, + "ms_inference": { + "mean": 399.8860286712646, + "p50": 160.2891616821289, + "p90": 1021.6165466308596 + }, + "ms_prefill": { + "mean": 26.816594266891478, + "p50": 14.192753791809082, + "p90": 65.21689529418946 + }, + "ms_denoise": { + "mean": 373.06942863464354, + "p50": 146.53548431396484, + "p90": 955.9434265136721 + }, + "python_wall_ms": { + "mean": 527.5289810997492, + "p50": 320.8569529997476, + "p90": 1144.702213098208 + }, + "unaccounted_ms": { + "mean": 61.30417900085449, + "p50": 51.43175506591797, + "p90": 89.16247024536133 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm-workload/runtime.json b/research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm-workload/runtime.json new file mode 100644 index 00000000..3108c9e5 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm-workload/runtime.json @@ -0,0 +1 @@ +{"runtime": {"flash_attn": true, "mm_prec": "default"}} diff --git a/research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm.boundaries.json b/research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm.boundaries.json new file mode 100644 index 00000000..e5cb900c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm.boundaries.json @@ -0,0 +1,547 @@ +{ + "trace": "research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm.sqlite", + "workload": "research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm-workload/result.json", + "reps": 20, + "prefix_tokens": 145, + "kv_copy_bytes": 185600, + "kv_copies_per_predict": 64, + "matched_kernel_count": 195340, + "summary": { + "vision_plus_connector": { + "gpu_active_kernel_ms": { + "mean": 40.51973695, + "p50": 40.4392685, + "p90": 41.1272168 + }, + "gpu_kernel_span_ms": { + "mean": 40.83222365, + "p50": 40.7322295, + "p90": 41.4137126 + }, + "kernel_count": { + "mean": 820, + "p50": 820.0, + "p90": 820.0 + }, + "direct_kernel_count": { + "mean": 0, + "p50": 0.0, + "p90": 0.0 + } + }, + "kv_prefill": { + "gpu_active_kernel_ms": { + "mean": 11.6873484, + "p50": 11.706116999999999, + "p90": 11.8668557 + }, + "gpu_kernel_span_ms": { + "mean": 13.02188785, + "p50": 13.334255500000001, + "p90": 13.9708593 + }, + "kernel_count": { + "mean": 849, + "p50": 849.0, + "p90": 849.0 + }, + "direct_kernel_count": { + "mean": 551.85, + "p50": 849.0, + "p90": 849.0 + } + }, + "denoise_with_cross_kv": { + "gpu_active_kernel_ms": { + "mean": 33.4747097, + "p50": 33.5980885, + "p90": 33.7422982 + }, + "gpu_kernel_span_ms": { + "mean": 66.2860289, + "p50": 71.0125405, + "p90": 93.14702750000001 + }, + "kernel_count": { + "mean": 8098, + "p50": 8098.0, + "p90": 8098.0 + }, + "direct_kernel_count": { + "mean": 5263.7, + "p50": 8098.0, + "p90": 8098.0 + } + } + }, + "samples": [ + { + "prediction": 0, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.997909, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.768168, + "gpu_kernel_span_ms": 41.072713, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.915696, + "gpu_kernel_span_ms": 13.943173, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.80269, + "gpu_kernel_span_ms": 74.355931, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 1, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.43313, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 39.935264, + "gpu_kernel_span_ms": 40.215747, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.684371, + "gpu_kernel_span_ms": 11.922102, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 32.95892, + "gpu_kernel_span_ms": 35.298335, + "direct_kernel_count": 0 + } + }, + { + "prediction": 2, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.712045, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 41.310314, + "gpu_kernel_span_ms": 41.600013000000004, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 12.031384, + "gpu_kernel_span_ms": 13.635714, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.815244, + "gpu_kernel_span_ms": 63.30801, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 3, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.498283, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.931657, + "gpu_kernel_span_ms": 41.221803, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.861429, + "gpu_kernel_span_ms": 13.860357, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.718994, + "gpu_kernel_span_ms": 67.960204, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 4, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.483563, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.358503, + "gpu_kernel_span_ms": 40.700007, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.718611, + "gpu_kernel_span_ms": 11.960918, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 32.844774, + "gpu_kernel_span_ms": 35.356064, + "direct_kernel_count": 0 + } + }, + { + "prediction": 5, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.449355, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 41.15444, + "gpu_kernel_span_ms": 41.446667, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.648213, + "gpu_kernel_span_ms": 13.304576, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.57479, + "gpu_kernel_span_ms": 64.399026, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 6, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.618891, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.118434, + "gpu_kernel_span_ms": 40.406276, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.750194, + "gpu_kernel_span_ms": 13.310945, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.577551, + "gpu_kernel_span_ms": 79.552768, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 7, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.556459, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.42711, + "gpu_kernel_span_ms": 40.721159, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.452244, + "gpu_kernel_span_ms": 11.697908, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 32.877117, + "gpu_kernel_span_ms": 35.821473, + "direct_kernel_count": 0 + } + }, + { + "prediction": 8, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.628236, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 39.973311, + "gpu_kernel_span_ms": 40.290944999999994, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.624435, + "gpu_kernel_span_ms": 13.19571, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.588126, + "gpu_kernel_span_ms": 90.535881, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 9, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.860749, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.451427, + "gpu_kernel_span_ms": 40.743300000000005, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.751379, + "gpu_kernel_span_ms": 14.825161, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.608051, + "gpu_kernel_span_ms": 93.004467, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 10, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.781805, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.165275, + "gpu_kernel_span_ms": 40.463582, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.444496, + "gpu_kernel_span_ms": 11.687091, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.205862, + "gpu_kernel_span_ms": 35.716733, + "direct_kernel_count": 0 + } + }, + { + "prediction": 11, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.236719, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.727264, + "gpu_kernel_span_ms": 41.063203, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.707509, + "gpu_kernel_span_ms": 13.613665, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.693682, + "gpu_kernel_span_ms": 74.064877, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 12, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.701708, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.536802, + "gpu_kernel_span_ms": 40.894466, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.738193, + "gpu_kernel_span_ms": 13.471167, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.730297, + "gpu_kernel_span_ms": 79.535567, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 13, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.285456, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.218301, + "gpu_kernel_span_ms": 40.534205, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.547312, + "gpu_kernel_span_ms": 11.786354, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.400668, + "gpu_kernel_span_ms": 35.780955, + "direct_kernel_count": 0 + } + }, + { + "prediction": 14, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.251152, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 41.124192, + "gpu_kernel_span_ms": 41.410050999999996, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.787216, + "gpu_kernel_span_ms": 13.357566, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.723451, + "gpu_kernel_span_ms": 80.808281, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 15, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.941166, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.414527, + "gpu_kernel_span_ms": 40.694207000000006, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.704725, + "gpu_kernel_span_ms": 14.220036, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.735195, + "gpu_kernel_span_ms": 94.430072, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 16, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.372266, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.095612, + "gpu_kernel_span_ms": 40.388061, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.493585, + "gpu_kernel_span_ms": 11.733203, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.023105, + "gpu_kernel_span_ms": 35.832888, + "direct_kernel_count": 0 + } + }, + { + "prediction": 17, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.452906, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.242038, + "gpu_kernel_span_ms": 40.720794, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.728658, + "gpu_kernel_span_ms": 13.546622, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.735588, + "gpu_kernel_span_ms": 122.223088, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 18, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.146927, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.586233, + "gpu_kernel_span_ms": 40.881564, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.66818, + "gpu_kernel_span_ms": 13.638175, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.719009, + "gpu_kernel_span_ms": 91.822301, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 19, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.688299, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.855867, + "gpu_kernel_span_ms": 41.175709999999995, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.489138, + "gpu_kernel_span_ms": 11.727314, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.16108, + "gpu_kernel_span_ms": 35.913657, + "direct_kernel_count": 0 + } + } + ], + "attribution": "source phase K/V tensor-copy boundary, validated byte size/count and full kernel coverage", + "limitations": [ + "GPU active time excludes host setup, inter-kernel/phase gaps and transfer cost", + "GPU span can include CPU launch gaps for direct kernels", + "vision excludes preprocessing/inter-view transfers", + "prefill is cache-producing graph; denoise includes cross-KV reprojection", + "phase graph/padding differ from normal throughput; node tracing overhead" + ] +} diff --git a/research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm.kernels.csv b/research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm.kernels.csv new file mode 100644 index 00000000..c8b3dd24 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm.kernels.csv @@ -0,0 +1,37 @@ +kernel,calls,summed_ms +void cutlass::Kernel2(T1::Params),32000,306.982737 +"void flash_attn_ext_f16<(int)64, (int)64, (int)64, (int)1, (bool)0, (bool)0, (bool)0>(const char *, const char *, const char *, const char *, const char *, const int *, float *, float2 *, float, float, float, float, unsigned int, float, int, uint3, int, int, int, int, int, int, int, int, int, int, int, long, int, int, long, int, int, int, int, int, long)",7500,206.593391 +"void k_bin_bcast<&op_add, float, float, float, const float *>(const T2 *, const T3 *, T4 *, unsigned int, unsigned int, unsigned int, uint3, uint3, uint3, uint3, uint3, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, T5...)",19960,165.346756 +void cutlass::Kernel2(T1::Params),480,120.773344 +ampere_s1688gemm_bf16_64x128_sliced1x2_ldg8_tn,1920,116.971355 +"void convert_unary_cont_vec4(const void *, T2 *, long)",45700,113.878293 +ampere_s1688gemm_bf16_128x128_ldg8_stages_32x1_tn,480,92.713751 +ampere_s16816gemm_bf16_256x128_ldg8_stages_32x3_tn,1240,89.532324 +ampere_s16816gemm_bf16_64x64_ldg8_stages_64x5_tn,6440,73.621557 +"void cpy_scalar<&cpy_1_scalar>(const char *, char *, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long)",1520,65.197624 +"void unary_op_kernel<&op_gelu, float>(const T2 *, T2 *, int)",480,38.626049 +"void k_bin_bcast<&op_mul, float, float, float, const float *>(const T2 *, const T3 *, T4 *, unsigned int, unsigned int, unsigned int, uint3, uint3, uint3, uint3, uint3, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, T5...)",8020,38.483013 +"void rope_neox<(bool)1, (bool)0, float, float>(const T3 *, T4 *, int, int, int, int, int, int, int, int, int, int, int, const int *, float, float, float, rope_corr_dims, float, const float *, const long *, int, bool)",10860,36.993915 +"void cublasLt::splitKreduce_kernel<(int)32, (int)16, int, float, float, float, float, (bool)0, float, float, float, (bool)1, (bool)0, (bool)0, (bool)0>(cublasLt::cublasSplitKParams, const T4 *, const T10 *, T9 *, T5 *, const T6 *, const T6 *, const T11 *, const T4 *, T11 *, void *, long, T6 *, int *, T6 *, T6 *, const T6 *, const T6 *, const T6 *, const T6 *, const T6 *)",8880,36.280766 +"void rms_norm_f32<(int)256, (bool)1, (bool)0, (bool)0>(const float *, float *, int, long, long, long, float, const float *, long, long, long, uint3, uint3, uint3, uint3, const float *, long, long, long, uint3, uint3, uint3, uint3, float)",14260,34.844167 +ampere_s16816gemm_bf16_128x64_ldg8_stages_64x4_tn,620,28.839205 +"void convert_unary_cont_vec4(const void *, T2 *, long)",8640,26.345874 +ampere_s16816gemm_bf16_128x64_ldg8_stages_32x6_tn,1240,24.067463 +"void norm_f32<(int)32>(const float *, float *, int, long, long, long, float)",1000,23.440038 +"void flash_attn_stream_k_fixup_uniform<(int)64, (int)64, (int)1>(float *, const float2 *, int, int, int, int, int, int, uint3, uint3, uint3)",6400,18.256676 +"void concat_cont(const T1 *, const T1 *, T1 *, long, long, long, long, long, long)",6400,15.888868 +ampere_s16816gemm_bf16_64x64_sliced1x2_ldg8_stages_64x5_tn,1280,14.699127 +"void unary_op_kernel<&op_silu, float>(const T2 *, T2 *, int)",7220,14.666372 +void cutlass::Kernel2(T1::Params),840,6.805531 +void cutlass::Kernel2(T1::Params),200,2.422291 +ampere_h1688gemm_128x128_ldg8_stages_32x1_tn,40,1.626891 +"void cpy_scalar_contiguous(const char *, char *, long)",700,1.197991 +"void im2col_kernel<__half>(const float *, T1 *, long, long, long, long, long, long, long, long, long, long, long, long, long, int, int, int, int, int, int)",40,0.992424 +ampere_sgemm_64x32_sliced1x4_tn,200,0.977703 +"void cpy_scalar_transpose(const char *, char *, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long)",40,0.841224 +ampere_sgemm_32x32_sliced1x4_tn,200,0.714054 +"void concat_cont(const T1 *, const T1 *, T1 *, long, long, long, long, long, long)",200,0.556515 +"void convert_unary_cont_vec4<__half, float>(const void *, T2 *, long)",40,0.518755 +"scale_f32(const float *, float *, float, float, long)",240,0.323458 +"void concat_cont(const T1 *, const T1 *, T1 *, long, long, long, long, long, long)",40,0.221985 +"void mul_mat_vec_f(const T1 *, const float *, const int *, ggml_cuda_mm_fusion_args_device, float *, int, uint3, int, int, int, uint3, int, int, int, uint3, int, int, int, int)",20,0.077056 diff --git a/research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm.summary.json b/research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm.summary.json new file mode 100644 index 00000000..bed882b0 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm.summary.json @@ -0,0 +1,46 @@ +{ + "trace": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm.sqlite", + "kernel_events": 195340, + "summed_kernel_ms": 1720.318543, + "groups": { + "other_unclassified": { + "calls": 108120, + "summed_ms": 519.365967, + "fraction_of_summed_kernel_time": 0.30190104566000714 + }, + "GEMM_or_matmul_including_attention_products": { + "calls": 47200, + "summed_ms": 880.824389, + "fraction_of_summed_kernel_time": 0.5120123785121579 + }, + "norm_or_fused_norm": { + "calls": 15260, + "summed_ms": 58.284205, + "fraction_of_summed_kernel_time": 0.03387989116152892 + }, + "attention_named_kernels_including_layout": { + "calls": 13900, + "summed_ms": 224.850067, + "fraction_of_summed_kernel_time": 0.13070257709824615 + }, + "softmax_or_RoPE_not_all_attention": { + "calls": 10860, + "summed_ms": 36.993915, + "fraction_of_summed_kernel_time": 0.021504107568059854 + } + }, + "gpu_activity_span_ms": 10541.717151, + "gpu_activity_union_ms": 1731.985158, + "gap_ms": 8809.731993, + "gap_fraction": 0.8357017995084699, + "max_gap_ms": 1433.585862, + "gaps_over_100us": 399, + "scope": "target process activities only: first to last GPU activity within captured 20 predictions; excludes edge gaps and other processes", + "limitations": [ + "summed kernel durations may overlap; use union for busy fraction", + "name-based categories are not exact module attribution", + "GEMM includes attention matmuls", + "node tracing overhead affects timings", + "gaps do not prove whole-GPU idle or a CPU bottleneck" + ] +} diff --git a/research-notes/smolvla-followup-20261104/kernel-phase-traces/runs.json b/research-notes/smolvla-followup-20261104/kernel-phase-traces/runs.json new file mode 100644 index 00000000..7fa35fad --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-phase-traces/runs.json @@ -0,0 +1,110 @@ +[ + { + "name": "defaults", + "model": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "command": [ + "nsys", + "profile", + "--trace=cuda", + "--cuda-graph-trace=node", + "--capture-range=cudaProfilerApi", + "--capture-range-end=stop", + "--sample=none", + "--cpuctxsw=none", + "--output=/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults", + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--variant", + "defaults", + "--mode", + "phase", + "--capture", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults-workload" + ], + "module_analysis_exit": 1 + }, + { + "name": "flash-mm", + "model": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "command": [ + "nsys", + "profile", + "--trace=cuda", + "--cuda-graph-trace=node", + "--capture-range=cudaProfilerApi", + "--capture-range-end=stop", + "--sample=none", + "--cpuctxsw=none", + "--output=/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm", + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--variant", + "flash-mm", + "--mode", + "phase", + "--capture", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm-workload" + ], + "module_analysis_exit": 1 + }, + { + "name": "smolvla-vision-spaced-10", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "command": [ + "nsys", + "profile", + "--trace=cuda", + "--cuda-graph-trace=node", + "--capture-range=cudaProfilerApi", + "--capture-range-end=stop", + "--sample=none", + "--cpuctxsw=none", + "--output=/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10", + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "--variant", + "defaults", + "--mode", + "phase", + "--capture", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10-workload" + ], + "module_analysis_exit": 1 + }, + { + "name": "smolvla-coupled-tail-30", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "command": [ + "nsys", + "profile", + "--trace=cuda", + "--cuda-graph-trace=node", + "--capture-range=cudaProfilerApi", + "--capture-range-end=stop", + "--sample=none", + "--cpuctxsw=none", + "--output=/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30", + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "--variant", + "defaults", + "--mode", + "phase", + "--capture", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30-workload" + ], + "module_analysis_exit": 1 + } +] diff --git a/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30-workload/result.json b/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30-workload/result.json new file mode 100644 index 00000000..d81c6718 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30-workload/result.json @@ -0,0 +1,286 @@ +{ + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "variant": "defaults", + "mode": "phase", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 30, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 176.96763610839844, + "ms_vision": 56.824100494384766, + "ms_inference": 76.29808807373047, + "ms_prefill": 15.621554374694824, + "ms_denoise": 60.676536560058594, + "python_wall_ms": 185.1751950016478, + "unaccounted_ms": 43.8454475402832 + }, + { + "ms_total": 247.4581756591797, + "ms_vision": 54.92757034301758, + "ms_inference": 152.42355346679688, + "ms_prefill": 23.1918888092041, + "ms_denoise": 129.23165893554688, + "python_wall_ms": 254.28513899532845, + "unaccounted_ms": 40.107051849365234 + }, + { + "ms_total": 175.03680419921875, + "ms_vision": 55.67871856689453, + "ms_inference": 77.31562042236328, + "ms_prefill": 15.71407413482666, + "ms_denoise": 61.60154342651367, + "python_wall_ms": 184.05681299918797, + "unaccounted_ms": 42.04246520996094 + }, + { + "ms_total": 180.874755859375, + "ms_vision": 60.6705436706543, + "ms_inference": 77.66261291503906, + "ms_prefill": 15.531173706054688, + "ms_denoise": 62.13144302368164, + "python_wall_ms": 188.6990249986411, + "unaccounted_ms": 42.54159927368164 + }, + { + "ms_total": 252.25657653808594, + "ms_vision": 55.722503662109375, + "ms_inference": 157.92820739746094, + "ms_prefill": 28.464876174926758, + "ms_denoise": 129.4633331298828, + "python_wall_ms": 260.17659199715126, + "unaccounted_ms": 38.605865478515625 + }, + { + "ms_total": 176.50025939941406, + "ms_vision": 55.61644744873047, + "ms_inference": 80.12993621826172, + "ms_prefill": 15.881345748901367, + "ms_denoise": 64.24858856201172, + "python_wall_ms": 186.53454900049837, + "unaccounted_ms": 40.753875732421875 + }, + { + "ms_total": 178.08804321289062, + "ms_vision": 56.703758239746094, + "ms_inference": 78.3578872680664, + "ms_prefill": 15.947996139526367, + "ms_denoise": 62.409889221191406, + "python_wall_ms": 186.85374199412763, + "unaccounted_ms": 43.026397705078125 + }, + { + "ms_total": 244.4093780517578, + "ms_vision": 55.06800842285156, + "ms_inference": 150.280517578125, + "ms_prefill": 23.299087524414062, + "ms_denoise": 126.9814224243164, + "python_wall_ms": 252.95124100375688, + "unaccounted_ms": 39.06085205078125 + }, + { + "ms_total": 171.7730712890625, + "ms_vision": 56.42367935180664, + "ms_inference": 74.82374572753906, + "ms_prefill": 15.549030303955078, + "ms_denoise": 59.27471160888672, + "python_wall_ms": 179.98345899832202, + "unaccounted_ms": 40.5256462097168 + }, + { + "ms_total": 175.1173858642578, + "ms_vision": 56.15290451049805, + "ms_inference": 78.90251159667969, + "ms_prefill": 15.379812240600586, + "ms_denoise": 63.522701263427734, + "python_wall_ms": 183.00577699847054, + "unaccounted_ms": 40.06196975708008 + }, + { + "ms_total": 239.19943237304688, + "ms_vision": 55.89895248413086, + "ms_inference": 143.23875427246094, + "ms_prefill": 20.094045639038086, + "ms_denoise": 123.14471435546875, + "python_wall_ms": 247.22242200368783, + "unaccounted_ms": 40.06172561645508 + }, + { + "ms_total": 178.78073120117188, + "ms_vision": 55.93332290649414, + "ms_inference": 82.16154479980469, + "ms_prefill": 15.851913452148438, + "ms_denoise": 66.30963134765625, + "python_wall_ms": 187.49545399623457, + "unaccounted_ms": 40.68586349487305 + }, + { + "ms_total": 178.57908630371094, + "ms_vision": 56.58749771118164, + "ms_inference": 78.94706726074219, + "ms_prefill": 15.865734100341797, + "ms_denoise": 63.081329345703125, + "python_wall_ms": 186.58178499754285, + "unaccounted_ms": 43.04452133178711 + }, + { + "ms_total": 217.71275329589844, + "ms_vision": 55.43975067138672, + "ms_inference": 121.03543090820312, + "ms_prefill": 20.042095184326172, + "ms_denoise": 100.99333953857422, + "python_wall_ms": 224.1870400030166, + "unaccounted_ms": 41.237571716308594 + }, + { + "ms_total": 189.0404052734375, + "ms_vision": 56.56848907470703, + "ms_inference": 91.87083435058594, + "ms_prefill": 15.773279190063477, + "ms_denoise": 76.0975570678711, + "python_wall_ms": 196.26607700047316, + "unaccounted_ms": 40.60108184814453 + }, + { + "ms_total": 199.58145141601562, + "ms_vision": 61.29515838623047, + "ms_inference": 90.00484466552734, + "ms_prefill": 15.740167617797852, + "ms_denoise": 74.26467895507812, + "python_wall_ms": 207.98381200438598, + "unaccounted_ms": 48.28144836425781 + }, + { + "ms_total": 626.0825805664062, + "ms_vision": 56.99932861328125, + "ms_inference": 528.029052734375, + "ms_prefill": 117.92133331298828, + "ms_denoise": 410.10772705078125, + "python_wall_ms": 638.9660200002254, + "unaccounted_ms": 41.05419921875 + }, + { + "ms_total": 233.13308715820312, + "ms_vision": 60.231197357177734, + "ms_inference": 110.94882202148438, + "ms_prefill": 15.445618629455566, + "ms_denoise": 95.50320434570312, + "python_wall_ms": 241.1296529971878, + "unaccounted_ms": 61.953067779541016 + }, + { + "ms_total": 259.703857421875, + "ms_vision": 80.42430114746094, + "ms_inference": 103.20724487304688, + "ms_prefill": 15.537999153137207, + "ms_denoise": 87.66924285888672, + "python_wall_ms": 267.3426429973915, + "unaccounted_ms": 76.07231140136719 + }, + { + "ms_total": 672.8572387695312, + "ms_vision": 64.70555877685547, + "ms_inference": 569.1558227539062, + "ms_prefill": 29.418563842773438, + "ms_denoise": 539.7372436523438, + "python_wall_ms": 682.8186029961216, + "unaccounted_ms": 38.99585723876953 + } + ], + "summary": { + "ms_total": { + "mean": 248.6576354980469, + "p50": 194.31092834472656, + "p90": 296.34172973632866 + }, + "ms_vision": { + "mean": 58.39358959197998, + "p50": 56.496084213256836, + "p90": 61.636198425292974 + }, + "ms_inference": { + "mean": 146.13610496520997, + "p50": 90.93783950805664, + "p90": 194.93829193115286 + }, + "ms_prefill": { + "mean": 23.31357946395874, + "p50": 15.858823776245117, + "p90": 28.560244941711428 + }, + "ms_denoise": { + "mean": 122.8225248336792, + "p50": 75.18111801147461, + "p90": 157.52777252197305 + }, + "python_wall_ms": { + "mean": 257.08575204916997, + "p50": 202.12494450242957, + "p90": 304.5049806976754 + }, + "unaccounted_ms": { + "mean": 44.12794094085693, + "p50": 40.90403747558594, + "p90": 49.64861030578615 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30.boundaries.json b/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30.boundaries.json new file mode 100644 index 00000000..0bd25e2d --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30.boundaries.json @@ -0,0 +1,547 @@ +{ + "trace": "research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30.sqlite", + "workload": "research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30-workload/result.json", + "reps": 20, + "prefix_tokens": 145, + "kv_copy_bytes": 185600, + "kv_copies_per_predict": 60, + "matched_kernel_count": 150780, + "summary": { + "vision_plus_connector": { + "gpu_active_kernel_ms": { + "mean": 52.7215519, + "p50": 52.5654765, + "p90": 53.148875499999995 + }, + "gpu_kernel_span_ms": { + "mean": 52.98235915, + "p50": 52.823974500000006, + "p90": 53.4164998 + }, + "kernel_count": { + "mean": 460, + "p50": 460.0, + "p90": 460.0 + }, + "direct_kernel_count": { + "mean": 0, + "p50": 0.0, + "p90": 0.0 + } + }, + "kv_prefill": { + "gpu_active_kernel_ms": { + "mean": 14.09515935, + "p50": 14.0652865, + "p90": 14.2580375 + }, + "gpu_kernel_span_ms": { + "mean": 14.96514045, + "p50": 15.223264499999999, + "p90": 15.6021448 + }, + "kernel_count": { + "mean": 677, + "p50": 677.0, + "p90": 677.0 + }, + "direct_kernel_count": { + "mean": 440.05, + "p50": 677.0, + "p90": 677.0 + } + }, + "denoise_with_cross_kv": { + "gpu_active_kernel_ms": { + "mean": 34.5306574, + "p50": 34.557175, + "p90": 35.286926099999995 + }, + "gpu_kernel_span_ms": { + "mean": 51.68980115, + "p50": 58.2645385, + "p90": 62.732523300000004 + }, + "kernel_count": { + "mean": 6402, + "p50": 6402.0, + "p90": 6402.0 + }, + "direct_kernel_count": { + "mean": 4161.3, + "p50": 6402.0, + "p90": 6402.0 + } + } + }, + "samples": [ + { + "prediction": 0, + "kv_copy_count": 60, + "kv_copy_span_ms": 2.672377, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.555509, + "gpu_kernel_span_ms": 52.883928, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 677, + "gpu_active_kernel_ms": 14.19047, + "gpu_kernel_span_ms": 15.38005, + "direct_kernel_count": 677 + }, + "denoise_with_cross_kv": { + "kernel_count": 6402, + "gpu_active_kernel_ms": 35.200463, + "gpu_kernel_span_ms": 59.644216, + "direct_kernel_count": 6402 + } + }, + { + "prediction": 1, + "kv_copy_count": 60, + "kv_copy_span_ms": 1.748017, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.424691, + "gpu_kernel_span_ms": 52.70767, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 677, + "gpu_active_kernel_ms": 14.002598, + "gpu_kernel_span_ms": 14.189127, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6402, + "gpu_active_kernel_ms": 33.868151, + "gpu_kernel_span_ms": 35.681747, + "direct_kernel_count": 0 + } + }, + { + "prediction": 2, + "kv_copy_count": 60, + "kv_copy_span_ms": 1.55483, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.60338, + "gpu_kernel_span_ms": 52.833335000000005, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 677, + "gpu_active_kernel_ms": 14.209932, + "gpu_kernel_span_ms": 15.39029, + "direct_kernel_count": 677 + }, + "denoise_with_cross_kv": { + "kernel_count": 6402, + "gpu_active_kernel_ms": 34.718658, + "gpu_kernel_span_ms": 55.996373, + "direct_kernel_count": 6402 + } + }, + { + "prediction": 3, + "kv_copy_count": 60, + "kv_copy_span_ms": 1.357293, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.463345, + "gpu_kernel_span_ms": 52.693461, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 677, + "gpu_active_kernel_ms": 14.093802, + "gpu_kernel_span_ms": 15.259249, + "direct_kernel_count": 677 + }, + "denoise_with_cross_kv": { + "kernel_count": 6402, + "gpu_active_kernel_ms": 34.616967, + "gpu_kernel_span_ms": 58.125609, + "direct_kernel_count": 6402 + } + }, + { + "prediction": 4, + "kv_copy_count": 60, + "kv_copy_span_ms": 1.358156, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 53.077114, + "gpu_kernel_span_ms": 53.313147, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 677, + "gpu_active_kernel_ms": 13.99415, + "gpu_kernel_span_ms": 14.180135, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6402, + "gpu_active_kernel_ms": 33.760032, + "gpu_kernel_span_ms": 35.563699, + "direct_kernel_count": 0 + } + }, + { + "prediction": 5, + "kv_copy_count": 60, + "kv_copy_span_ms": 1.229484, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.575444, + "gpu_kernel_span_ms": 52.814614, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 677, + "gpu_active_kernel_ms": 14.341805, + "gpu_kernel_span_ms": 15.646997, + "direct_kernel_count": 677 + }, + "denoise_with_cross_kv": { + "kernel_count": 6402, + "gpu_active_kernel_ms": 35.284659, + "gpu_kernel_span_ms": 59.120755, + "direct_kernel_count": 6402 + } + }, + { + "prediction": 6, + "kv_copy_count": 60, + "kv_copy_span_ms": 1.237836, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.360848, + "gpu_kernel_span_ms": 52.587029, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 677, + "gpu_active_kernel_ms": 14.221478, + "gpu_kernel_span_ms": 15.597876, + "direct_kernel_count": 677 + }, + "denoise_with_cross_kv": { + "kernel_count": 6402, + "gpu_active_kernel_ms": 35.30733, + "gpu_kernel_span_ms": 58.403468, + "direct_kernel_count": 6402 + } + }, + { + "prediction": 7, + "kv_copy_count": 60, + "kv_copy_span_ms": 1.456014, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.504244, + "gpu_kernel_span_ms": 52.742455, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 677, + "gpu_active_kernel_ms": 14.041191, + "gpu_kernel_span_ms": 14.225832, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6402, + "gpu_active_kernel_ms": 33.922978, + "gpu_kernel_span_ms": 35.828085, + "direct_kernel_count": 0 + } + }, + { + "prediction": 8, + "kv_copy_count": 60, + "kv_copy_span_ms": 1.506478, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.648436, + "gpu_kernel_span_ms": 52.926839, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 677, + "gpu_active_kernel_ms": 14.148329, + "gpu_kernel_span_ms": 15.310226, + "direct_kernel_count": 677 + }, + "denoise_with_cross_kv": { + "kernel_count": 6402, + "gpu_active_kernel_ms": 35.555241, + "gpu_kernel_span_ms": 55.562033, + "direct_kernel_count": 6402 + } + }, + { + "prediction": 9, + "kv_copy_count": 60, + "kv_copy_span_ms": 2.074452, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.525744, + "gpu_kernel_span_ms": 52.76511, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 677, + "gpu_active_kernel_ms": 13.943203, + "gpu_kernel_span_ms": 15.081999, + "direct_kernel_count": 677 + }, + "denoise_with_cross_kv": { + "kernel_count": 6402, + "gpu_active_kernel_ms": 35.232352, + "gpu_kernel_span_ms": 60.404446, + "direct_kernel_count": 6402 + } + }, + { + "prediction": 10, + "kv_copy_count": 60, + "kv_copy_span_ms": 1.581039, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.960089, + "gpu_kernel_span_ms": 53.26089, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 677, + "gpu_active_kernel_ms": 13.962691, + "gpu_kernel_span_ms": 14.149862, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6402, + "gpu_active_kernel_ms": 33.911188, + "gpu_kernel_span_ms": 35.73893, + "direct_kernel_count": 0 + } + }, + { + "prediction": 11, + "kv_copy_count": 60, + "kv_copy_span_ms": 1.340173, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 53.049689, + "gpu_kernel_span_ms": 53.303289, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 677, + "gpu_active_kernel_ms": 14.416327, + "gpu_kernel_span_ms": 15.640564, + "direct_kernel_count": 677 + }, + "denoise_with_cross_kv": { + "kernel_count": 6402, + "gpu_active_kernel_ms": 34.644665, + "gpu_kernel_span_ms": 61.870379, + "direct_kernel_count": 6402 + } + }, + { + "prediction": 12, + "kv_copy_count": 60, + "kv_copy_span_ms": 1.406765, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.485555, + "gpu_kernel_span_ms": 52.805685, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 677, + "gpu_active_kernel_ms": 14.216262, + "gpu_kernel_span_ms": 15.58786, + "direct_kernel_count": 677 + }, + "denoise_with_cross_kv": { + "kernel_count": 6402, + "gpu_active_kernel_ms": 35.141487, + "gpu_kernel_span_ms": 60.136474, + "direct_kernel_count": 6402 + } + }, + { + "prediction": 13, + "kv_copy_count": 60, + "kv_copy_span_ms": 2.113716, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.493042, + "gpu_kernel_span_ms": 52.736531, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 677, + "gpu_active_kernel_ms": 14.03722, + "gpu_kernel_span_ms": 14.230535, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6402, + "gpu_active_kernel_ms": 33.798229, + "gpu_kernel_span_ms": 35.609681, + "direct_kernel_count": 0 + } + }, + { + "prediction": 14, + "kv_copy_count": 60, + "kv_copy_span_ms": 1.338476, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 53.552538, + "gpu_kernel_span_ms": 53.792061000000004, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 677, + "gpu_active_kernel_ms": 14.24873, + "gpu_kernel_span_ms": 15.560019, + "direct_kernel_count": 677 + }, + "denoise_with_cross_kv": { + "kernel_count": 6402, + "gpu_active_kernel_ms": 34.497383, + "gpu_kernel_span_ms": 68.043748, + "direct_kernel_count": 6402 + } + }, + { + "prediction": 15, + "kv_copy_count": 60, + "kv_copy_span_ms": 1.490446, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 53.310331, + "gpu_kernel_span_ms": 53.580315999999996, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 677, + "gpu_active_kernel_ms": 14.089382, + "gpu_kernel_span_ms": 15.477235, + "direct_kernel_count": 677 + }, + "denoise_with_cross_kv": { + "kernel_count": 6402, + "gpu_active_kernel_ms": 34.77062, + "gpu_kernel_span_ms": 65.221674, + "direct_kernel_count": 6402 + } + }, + { + "prediction": 16, + "kv_copy_count": 60, + "kv_copy_span_ms": 2.656441, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.472819, + "gpu_kernel_span_ms": 52.789013, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 677, + "gpu_active_kernel_ms": 13.798437, + "gpu_kernel_span_ms": 13.992517, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6402, + "gpu_active_kernel_ms": 33.820698, + "gpu_kernel_span_ms": 35.628434, + "direct_kernel_count": 0 + } + }, + { + "prediction": 17, + "kv_copy_count": 60, + "kv_copy_span_ms": 1.261388, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 53.130936, + "gpu_kernel_span_ms": 53.398298, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 677, + "gpu_active_kernel_ms": 14.017989, + "gpu_kernel_span_ms": 15.134063, + "direct_kernel_count": 677 + }, + "denoise_with_cross_kv": { + "kernel_count": 6402, + "gpu_active_kernel_ms": 34.352935, + "gpu_kernel_span_ms": 59.059951, + "direct_kernel_count": 6402 + } + }, + { + "prediction": 18, + "kv_copy_count": 60, + "kv_copy_span_ms": 1.393389, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.957942, + "gpu_kernel_span_ms": 53.203672, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 677, + "gpu_active_kernel_ms": 14.030468, + "gpu_kernel_span_ms": 15.18728, + "direct_kernel_count": 677 + }, + "denoise_with_cross_kv": { + "kernel_count": 6402, + "gpu_active_kernel_ms": 34.373723, + "gpu_kernel_span_ms": 62.455951, + "direct_kernel_count": 6402 + } + }, + { + "prediction": 19, + "kv_copy_count": 60, + "kv_copy_span_ms": 1.433677, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.279342, + "gpu_kernel_span_ms": 52.50984, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 677, + "gpu_active_kernel_ms": 13.898723, + "gpu_kernel_span_ms": 14.081093, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6402, + "gpu_active_kernel_ms": 33.835389, + "gpu_kernel_span_ms": 35.70037, + "direct_kernel_count": 0 + } + } + ], + "attribution": "source phase K/V tensor-copy boundary, validated byte size/count and full kernel coverage", + "limitations": [ + "GPU active time excludes host setup, inter-kernel/phase gaps and transfer cost", + "GPU span can include CPU launch gaps for direct kernels", + "vision excludes preprocessing/inter-view transfers", + "prefill is cache-producing graph; denoise includes cross-KV reprojection", + "phase graph/padding differ from normal throughput; node tracing overhead" + ] +} diff --git a/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30.kernels.csv b/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30.kernels.csv new file mode 100644 index 00000000..49788082 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30.kernels.csv @@ -0,0 +1,39 @@ +kernel,calls,summed_ms +"void ::k_softmax_rows_loop<(int)1024, float>(float *, int, int, float, const T2 *, int, long)",480,402.050958 +void cutlass::Kernel2(T1::Params),10180,318.404049 +void cutlass::Kernel2(T1::Params),19200,252.230237 +ampere_s1688gemm_bf16_128x128_ldg8_stages_32x1_tn,960,193.455793 +void cutlass::Kernel2(T1::Params),12200,163.247845 +ampere_s1688gemm_bf16_64x128_sliced1x2_ldg8_tn,1920,118.767188 +void cutlass::Kernel2(T1::Params),480,109.10561 +"void flash_attn_ext_f16<(int)64, (int)64, (int)64, (int)1, (bool)0, (bool)0, (bool)0>(const char *, const char *, const char *, const char *, const char *, const int *, float *, float2 *, float, float, float, float, unsigned int, float, int, uint3, int, int, int, int, int, int, int, int, int, int, int, long, int, int, long, int, int, int, int, int, long)",6580,92.733887 +"void cublasLt::splitKreduce_kernel<(int)32, (int)16, int, float, float, float, float, (bool)0, float, float, float, (bool)1, (bool)0, (bool)0, (bool)0>(cublasLt::cublasSplitKParams, const T4 *, const T10 *, T9 *, T5 *, const T6 *, const T6 *, const T11 *, const T4 *, T11 *, void *, long, T6 *, int *, T6 *, T6 *, const T6 *, const T6 *, const T6 *, const T6 *, const T6 *)",22100,60.876835 +"void rope_neox<(bool)1, (bool)0, float, float>(const T3 *, T4 *, int, int, int, int, int, int, int, int, int, int, int, const int *, float, float, float, rope_corr_dims, float, const float *, const long *, int, bool)",10180,35.470115 +"void k_bin_bcast<&op_add, float, float, float, const float *>(const T2 *, const T3 *, T4 *, unsigned int, unsigned int, unsigned int, uint3, uint3, uint3, uint3, uint3, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, T5...)",14280,33.989609 +"void rms_norm_f32<(int)256, (bool)1, (bool)0, (bool)0>(const float *, float *, int, long, long, long, float, const float *, long, long, long, uint3, uint3, uint3, uint3, const float *, long, long, long, uint3, uint3, uint3, uint3, float)",13380,33.340204 +"::k_bias_res(const float *, const float *, const float *, float *, long, int)",960,30.693845 +"void ::k_bias_gelu<__nv_bfloat16>(const float *, const float *, T1 *, long, int)",480,30.6653 +"void k_bin_bcast<&op_mul, float, float, float, const float *>(const T2 *, const T3 *, T4 *, unsigned int, unsigned int, unsigned int, uint3, uint3, uint3, uint3, uint3, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, T5...)",6620,21.511865 +"void ::k_qkv_rows(const float *, const float *, const float *, const float *, T1 *, int, int, int, int, int, int, int)",960,21.013799 +"void flash_attn_stream_k_fixup_uniform<(int)64, (int)64, (int)1>(float *, const float2 *, int, int, int, int, int, int, uint3, uint3, uint3)",6000,17.501238 +"void concat_cont(const T1 *, const T1 *, T1 *, long, long, long, long, long, long)",6000,14.814561 +"void ::k_ln_reg<(int)32, (int)0, __nv_bfloat16>(const float *, const float *, const float *, T3 *, int, int, float)",960,14.755776 +"void unary_op_kernel<&op_silu, float>(const T2 *, T2 *, int)",6780,14.139309 +"void ::k_heads_to_rows<__nv_bfloat16>(const float *, T1 *, int, int, int, int)",480,12.849943 +"void ::k_qkv_vt(const float *, const float *, T1 *, int, int, int, int, int, int, int)",480,12.821142 +"void convert_unary_cont_vec4(const void *, T2 *, long)",7200,10.512442 +ampere_s16816gemm_bf16_64x64_ldg8_stages_64x5_tn,40,3.687011 +"void cpy_scalar<&cpy_1_scalar>(const char *, char *, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long)",80,3.616126 +ampere_h1688gemm_128x128_ldg8_stages_32x1_tn,40,1.650672 +"void cpy_scalar_contiguous(const char *, char *, long)",660,1.157006 +"void norm_f32<(int)32>(const float *, float *, int, long, long, long, float)",40,1.053995 +"void im2col_kernel<__half>(const float *, T1 *, long, long, long, long, long, long, long, long, long, long, long, long, long, int, int, int, int, int, int)",40,0.991882 +ampere_sgemm_64x32_sliced1x4_tn,200,0.965867 +"void cpy_scalar_transpose(const char *, char *, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long)",40,0.843628 +ampere_sgemm_32x32_sliced1x4_tn,200,0.721893 +"void concat_cont(const T1 *, const T1 *, T1 *, long, long, long, long, long, long)",200,0.560547 +"void convert_unary_cont_vec4<__half, float>(const void *, T2 *, long)",40,0.521604 +"void convert_unary_cont_vec4(const void *, T2 *, long)",40,0.507653 +"scale_f32(const float *, float *, float, float, long)",240,0.334306 +"void concat_cont(const T1 *, const T1 *, T1 *, long, long, long, long, long, long)",40,0.228736 +"void mul_mat_vec_f(const T1 *, const float *, const int *, ggml_cuda_mm_fusion_args_device, float *, int, uint3, int, int, int, uint3, int, int, int, uint3, int, int, int, int)",20,0.079648 diff --git a/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30.summary.json b/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30.summary.json new file mode 100644 index 00000000..ae4cbb70 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30.summary.json @@ -0,0 +1,46 @@ +{ + "trace": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-coupled-tail-30.sqlite", + "kernel_events": 150780, + "summed_kernel_ms": 2031.872124, + "groups": { + "other_unclassified": { + "calls": 68680, + "summed_ms": 287.405914, + "fraction_of_summed_kernel_time": 0.1414488198372468 + }, + "GEMM_or_matmul_including_attention_products": { + "calls": 45440, + "summed_ms": 1162.315813, + "fraction_of_summed_kernel_time": 0.5720418127061229 + }, + "softmax_or_RoPE_not_all_attention": { + "calls": 10660, + "summed_ms": 437.521073, + "fraction_of_summed_kernel_time": 0.2153290395749334 + }, + "norm_or_fused_norm": { + "calls": 13420, + "summed_ms": 34.394199, + "fraction_of_summed_kernel_time": 0.01692734429186942 + }, + "attention_named_kernels_including_layout": { + "calls": 12580, + "summed_ms": 110.235125, + "fraction_of_summed_kernel_time": 0.054252983589827525 + } + }, + "gpu_activity_span_ms": 5133.480133, + "gpu_activity_union_ms": 2045.329206, + "gap_ms": 3088.150927, + "gap_fraction": 0.6015706396033694, + "max_gap_ms": 504.692228, + "gaps_over_100us": 273, + "scope": "target process activities only: first to last GPU activity within captured 20 predictions; excludes edge gaps and other processes", + "limitations": [ + "summed kernel durations may overlap; use union for busy fraction", + "name-based categories are not exact module attribution", + "GEMM includes attention matmuls", + "node tracing overhead affects timings", + "gaps do not prove whole-GPU idle or a CPU bottleneck" + ] +} diff --git a/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10-workload/result.json b/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10-workload/result.json new file mode 100644 index 00000000..446d6bc1 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10-workload/result.json @@ -0,0 +1,286 @@ +{ + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "variant": "defaults", + "mode": "phase", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 32, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 171.6676483154297, + "ms_vision": 47.61172103881836, + "ms_inference": 82.40628814697266, + "ms_prefill": 16.491884231567383, + "ms_denoise": 65.9144058227539, + "python_wall_ms": 183.739770000102, + "unaccounted_ms": 41.64963912963867 + }, + { + "ms_total": 277.8074951171875, + "ms_vision": 46.496646881103516, + "ms_inference": 188.4813690185547, + "ms_prefill": 24.931947708129883, + "ms_denoise": 163.54942321777344, + "python_wall_ms": 284.68833200167865, + "unaccounted_ms": 42.8294792175293 + }, + { + "ms_total": 174.17320251464844, + "ms_vision": 46.44674301147461, + "ms_inference": 84.36339569091797, + "ms_prefill": 16.679590225219727, + "ms_denoise": 67.68380737304688, + "python_wall_ms": 185.98641399876215, + "unaccounted_ms": 43.36306381225586 + }, + { + "ms_total": 184.50965881347656, + "ms_vision": 51.166568756103516, + "ms_inference": 87.28229522705078, + "ms_prefill": 16.629724502563477, + "ms_denoise": 70.65257263183594, + "python_wall_ms": 193.28323799709324, + "unaccounted_ms": 46.060794830322266 + }, + { + "ms_total": 232.31524658203125, + "ms_vision": 48.50796127319336, + "ms_inference": 141.40322875976562, + "ms_prefill": 22.9554443359375, + "ms_denoise": 118.44779205322266, + "python_wall_ms": 242.15050200291444, + "unaccounted_ms": 42.404056549072266 + }, + { + "ms_total": 175.03623962402344, + "ms_vision": 46.7364387512207, + "ms_inference": 84.69493103027344, + "ms_prefill": 16.628887176513672, + "ms_denoise": 68.0660400390625, + "python_wall_ms": 184.93307899916545, + "unaccounted_ms": 43.6048698425293 + }, + { + "ms_total": 180.93125915527344, + "ms_vision": 48.43196105957031, + "ms_inference": 85.26856231689453, + "ms_prefill": 16.717981338500977, + "ms_denoise": 68.55058288574219, + "python_wall_ms": 190.9265940048499, + "unaccounted_ms": 47.230735778808594 + }, + { + "ms_total": 238.57666015625, + "ms_vision": 47.252037048339844, + "ms_inference": 149.4801788330078, + "ms_prefill": 24.957496643066406, + "ms_denoise": 124.5226821899414, + "python_wall_ms": 246.80668400105787, + "unaccounted_ms": 41.844444274902344 + }, + { + "ms_total": 188.67677307128906, + "ms_vision": 47.340084075927734, + "ms_inference": 97.34587097167969, + "ms_prefill": 16.69438362121582, + "ms_denoise": 80.6514892578125, + "python_wall_ms": 196.3698640029179, + "unaccounted_ms": 43.99081802368164 + }, + { + "ms_total": 202.9613494873047, + "ms_vision": 48.504207611083984, + "ms_inference": 111.93448638916016, + "ms_prefill": 16.40071678161621, + "ms_denoise": 95.53376770019531, + "python_wall_ms": 211.2503230018774, + "unaccounted_ms": 42.52265548706055 + }, + { + "ms_total": 686.0357055664062, + "ms_vision": 47.8143196105957, + "ms_inference": 592.469482421875, + "ms_prefill": 84.97268676757812, + "ms_denoise": 507.4967956542969, + "python_wall_ms": 693.3308559964644, + "unaccounted_ms": 45.75190353393555 + }, + { + "ms_total": 280.5867919921875, + "ms_vision": 49.838104248046875, + "ms_inference": 160.32215881347656, + "ms_prefill": 16.52216148376465, + "ms_denoise": 143.8000030517578, + "python_wall_ms": 289.8072130046785, + "unaccounted_ms": 70.42652893066406 + }, + { + "ms_total": 221.0623779296875, + "ms_vision": 48.612701416015625, + "ms_inference": 89.05778503417969, + "ms_prefill": 16.522672653198242, + "ms_denoise": 72.53511047363281, + "python_wall_ms": 230.53955799696269, + "unaccounted_ms": 83.39189147949219 + }, + { + "ms_total": 1157.2176513671875, + "ms_vision": 65.5457763671875, + "ms_inference": 1051.3988037109375, + "ms_prefill": 116.68534088134766, + "ms_denoise": 934.7135009765625, + "python_wall_ms": 1189.4317409969517, + "unaccounted_ms": 40.2730712890625 + }, + { + "ms_total": 264.0542297363281, + "ms_vision": 48.664337158203125, + "ms_inference": 132.92747497558594, + "ms_prefill": 16.494672775268555, + "ms_denoise": 116.43280029296875, + "python_wall_ms": 272.79852199717425, + "unaccounted_ms": 82.46241760253906 + }, + { + "ms_total": 273.43048095703125, + "ms_vision": 56.81863021850586, + "ms_inference": 142.2832489013672, + "ms_prefill": 16.602067947387695, + "ms_denoise": 125.68118286132812, + "python_wall_ms": 283.5950270018657, + "unaccounted_ms": 74.3286018371582 + }, + { + "ms_total": 956.8441772460938, + "ms_vision": 55.88225173950195, + "ms_inference": 859.2141723632812, + "ms_prefill": 59.854915618896484, + "ms_denoise": 799.3592529296875, + "python_wall_ms": 978.0988860002253, + "unaccounted_ms": 41.74775314331055 + }, + { + "ms_total": 392.2069396972656, + "ms_vision": 56.729881286621094, + "ms_inference": 219.69464111328125, + "ms_prefill": 16.46780776977539, + "ms_denoise": 203.22683715820312, + "python_wall_ms": 400.8042880013818, + "unaccounted_ms": 115.78241729736328 + }, + { + "ms_total": 270.4509582519531, + "ms_vision": 63.43074417114258, + "ms_inference": 150.02195739746094, + "ms_prefill": 16.60064697265625, + "ms_denoise": 133.4213104248047, + "python_wall_ms": 281.5116260026116, + "unaccounted_ms": 56.99825668334961 + }, + { + "ms_total": 1036.7711181640625, + "ms_vision": 67.83952331542969, + "ms_inference": 923.9483642578125, + "ms_prefill": 52.856388092041016, + "ms_denoise": 871.0919799804688, + "python_wall_ms": 1049.1149189983844, + "unaccounted_ms": 44.98323059082031 + } + ], + "summary": { + "ms_total": { + "mean": 378.2657981872559, + "p50": 251.31544494628906, + "p90": 964.8368713378908 + }, + "ms_vision": { + "mean": 51.9835319519043, + "p50": 48.56033134460449, + "p90": 63.64224739074707 + }, + "ms_inference": { + "mean": 271.69993476867677, + "p50": 141.8432388305664, + "p90": 865.6875915527345 + }, + "ms_prefill": { + "mean": 30.133370876312256, + "p50": 16.6546573638916, + "p90": 62.36669273376469 + }, + "ms_denoise": { + "mean": 241.5665668487549, + "p50": 121.48523712158203, + "p90": 806.5325256347658 + }, + "python_wall_ms": { + "mean": 389.45837180035596, + "p50": 259.80260299911606, + "p90": 985.2004893000413 + }, + "unaccounted_ms": { + "mean": 54.5823314666748, + "p50": 44.48702430725098, + "p90": 82.55536499023438 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10.boundaries.json b/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10.boundaries.json new file mode 100644 index 00000000..48d96967 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10.boundaries.json @@ -0,0 +1,547 @@ +{ + "trace": "research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10.sqlite", + "workload": "research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10-workload/result.json", + "reps": 20, + "prefix_tokens": 145, + "kv_copy_bytes": 185600, + "kv_copies_per_predict": 64, + "matched_kernel_count": 158580, + "summary": { + "vision_plus_connector": { + "gpu_active_kernel_ms": { + "mean": 43.74003815, + "p50": 43.790524500000004, + "p90": 44.1382438 + }, + "gpu_kernel_span_ms": { + "mean": 43.9644885, + "p50": 44.0137105, + "p90": 44.3431544 + }, + "kernel_count": { + "mean": 388, + "p50": 388.0, + "p90": 388.0 + }, + "direct_kernel_count": { + "mean": 0, + "p50": 0.0, + "p90": 0.0 + } + }, + "kv_prefill": { + "gpu_active_kernel_ms": { + "mean": 14.920336, + "p50": 14.921851, + "p90": 15.0534222 + }, + "gpu_kernel_span_ms": { + "mean": 15.81257815, + "p50": 16.2040365, + "p90": 16.3289053 + }, + "kernel_count": { + "mean": 723, + "p50": 723.0, + "p90": 723.0 + }, + "direct_kernel_count": { + "mean": 469.95, + "p50": 723.0, + "p90": 723.0 + } + }, + "denoise_with_cross_kv": { + "gpu_active_kernel_ms": { + "mean": 36.590659, + "p50": 36.600675499999994, + "p90": 37.312281600000006 + }, + "gpu_kernel_span_ms": { + "mean": 59.651191749999995, + "p50": 62.683156, + "p90": 83.9105091 + }, + "kernel_count": { + "mean": 6818, + "p50": 6818.0, + "p90": 6818.0 + }, + "direct_kernel_count": { + "mean": 4431.7, + "p50": 6818.0, + "p90": 6818.0 + } + } + }, + "samples": [ + { + "prediction": 0, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.511979, + "vision_plus_connector": { + "kernel_count": 388, + "gpu_active_kernel_ms": 43.898235, + "gpu_kernel_span_ms": 44.101887000000005, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.013454, + "gpu_kernel_span_ms": 16.326646, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 37.044847, + "gpu_kernel_span_ms": 64.748725, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 1, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.203184, + "vision_plus_connector": { + "kernel_count": 388, + "gpu_active_kernel_ms": 43.711067, + "gpu_kernel_span_ms": 43.913982, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.874474, + "gpu_kernel_span_ms": 15.075725, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 35.967743, + "gpu_kernel_span_ms": 37.989747, + "direct_kernel_count": 0 + } + }, + { + "prediction": 2, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.423019, + "vision_plus_connector": { + "kernel_count": 388, + "gpu_active_kernel_ms": 43.383226, + "gpu_kernel_span_ms": 43.58182, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.009547, + "gpu_kernel_span_ms": 16.207157, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 37.326534, + "gpu_kernel_span_ms": 62.547109, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 3, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.440938, + "vision_plus_connector": { + "kernel_count": 388, + "gpu_active_kernel_ms": 43.340186, + "gpu_kernel_span_ms": 43.643261, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.023729, + "gpu_kernel_span_ms": 16.267318, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 37.151514, + "gpu_kernel_span_ms": 63.914959, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 4, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.949358, + "vision_plus_connector": { + "kernel_count": 388, + "gpu_active_kernel_ms": 43.7055, + "gpu_kernel_span_ms": 43.925534, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.842124, + "gpu_kernel_span_ms": 15.047469, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.115656, + "gpu_kernel_span_ms": 38.124436, + "direct_kernel_count": 0 + } + }, + { + "prediction": 5, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.430282, + "vision_plus_connector": { + "kernel_count": 388, + "gpu_active_kernel_ms": 43.420826, + "gpu_kernel_span_ms": 43.621052000000006, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.049963, + "gpu_kernel_span_ms": 16.216533, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.582242, + "gpu_kernel_span_ms": 61.80368, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 6, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.50181, + "vision_plus_connector": { + "kernel_count": 388, + "gpu_active_kernel_ms": 43.608152, + "gpu_kernel_span_ms": 43.811420999999996, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.132012, + "gpu_kernel_span_ms": 16.349239, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 37.439765, + "gpu_kernel_span_ms": 64.709205, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 7, + "kv_copy_count": 64, + "kv_copy_span_ms": 3.106518, + "vision_plus_connector": { + "kernel_count": 388, + "gpu_active_kernel_ms": 43.61238, + "gpu_kernel_span_ms": 43.829629999999995, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.861514, + "gpu_kernel_span_ms": 15.078157, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.015493, + "gpu_kernel_span_ms": 38.017395, + "direct_kernel_count": 0 + } + }, + { + "prediction": 8, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.270538, + "vision_plus_connector": { + "kernel_count": 388, + "gpu_active_kernel_ms": 43.127354, + "gpu_kernel_span_ms": 43.323930000000004, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.084555, + "gpu_kernel_span_ms": 16.356727, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.681154, + "gpu_kernel_span_ms": 74.317498, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 9, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.182184, + "vision_plus_connector": { + "kernel_count": 388, + "gpu_active_kernel_ms": 43.928253, + "gpu_kernel_span_ms": 44.133855, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.828523, + "gpu_kernel_span_ms": 16.075348, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 37.310698, + "gpu_kernel_span_ms": 91.649397, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 10, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.358097, + "vision_plus_connector": { + "kernel_count": 388, + "gpu_active_kernel_ms": 44.203969, + "gpu_kernel_span_ms": 44.457953, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.702507, + "gpu_kernel_span_ms": 14.90478, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.09911, + "gpu_kernel_span_ms": 38.148564, + "direct_kernel_count": 0 + } + }, + { + "prediction": 11, + "kv_copy_count": 64, + "kv_copy_span_ms": 3.254584, + "vision_plus_connector": { + "kernel_count": 388, + "gpu_active_kernel_ms": 43.869982, + "gpu_kernel_span_ms": 44.121983, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.979279, + "gpu_kernel_span_ms": 16.184245, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.601758, + "gpu_kernel_span_ms": 83.558459, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 12, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.542027, + "vision_plus_connector": { + "kernel_count": 388, + "gpu_active_kernel_ms": 44.007451, + "gpu_kernel_span_ms": 44.261727, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.873449, + "gpu_kernel_span_ms": 16.214293, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.837443, + "gpu_kernel_span_ms": 60.831671, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 13, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.356074, + "vision_plus_connector": { + "kernel_count": 388, + "gpu_active_kernel_ms": 44.130941, + "gpu_kernel_span_ms": 44.330399, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.850186, + "gpu_kernel_span_ms": 15.053133, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.016285, + "gpu_kernel_span_ms": 38.021649, + "direct_kernel_count": 0 + } + }, + { + "prediction": 14, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.634476, + "vision_plus_connector": { + "kernel_count": 388, + "gpu_active_kernel_ms": 43.903671, + "gpu_kernel_span_ms": 44.120893, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.969228, + "gpu_kernel_span_ms": 16.223796, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.599593, + "gpu_kernel_span_ms": 62.819203, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 15, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.947221, + "vision_plus_connector": { + "kernel_count": 388, + "gpu_active_kernel_ms": 43.481271, + "gpu_kernel_span_ms": 43.710425, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.973769, + "gpu_kernel_span_ms": 16.317045, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.576599, + "gpu_kernel_span_ms": 70.720923, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 16, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.623595, + "vision_plus_connector": { + "kernel_count": 388, + "gpu_active_kernel_ms": 43.163892, + "gpu_kernel_span_ms": 43.404087000000004, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.726601, + "gpu_kernel_span_ms": 14.932172, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.17626, + "gpu_kernel_span_ms": 38.377619, + "direct_kernel_count": 0 + } + }, + { + "prediction": 17, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.686892, + "vision_plus_connector": { + "kernel_count": 388, + "gpu_active_kernel_ms": 44.343518, + "gpu_kernel_span_ms": 44.549184, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.873127, + "gpu_kernel_span_ms": 16.200916, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.604771, + "gpu_kernel_span_ms": 77.646284, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 18, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.46065, + "vision_plus_connector": { + "kernel_count": 388, + "gpu_active_kernel_ms": 43.96214, + "gpu_kernel_span_ms": 44.163773000000006, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.0307, + "gpu_kernel_span_ms": 16.304853, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.667961, + "gpu_kernel_span_ms": 87.07896, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 19, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.225904, + "vision_plus_connector": { + "kernel_count": 388, + "gpu_active_kernel_ms": 43.998749, + "gpu_kernel_span_ms": 44.282974, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.707979, + "gpu_kernel_span_ms": 14.916011, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 35.997754, + "gpu_kernel_span_ms": 37.998352, + "direct_kernel_count": 0 + } + } + ], + "attribution": "source phase K/V tensor-copy boundary, validated byte size/count and full kernel coverage", + "limitations": [ + "GPU active time excludes host setup, inter-kernel/phase gaps and transfer cost", + "GPU span can include CPU launch gaps for direct kernels", + "vision excludes preprocessing/inter-view transfers", + "prefill is cache-producing graph; denoise includes cross-KV reprojection", + "phase graph/padding differ from normal throughput; node tracing overhead" + ] +} diff --git a/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10.kernels.csv b/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10.kernels.csv new file mode 100644 index 00000000..46e9a4da --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10.kernels.csv @@ -0,0 +1,39 @@ +kernel,calls,summed_ms +"void ::k_softmax_rows_loop<(int)1024, float>(float *, int, int, float, const T2 *, int, long)",400,334.678285 +void cutlass::Kernel2(T1::Params),10740,316.007163 +void cutlass::Kernel2(T1::Params),20480,267.419587 +void cutlass::Kernel2(T1::Params),13000,172.633131 +ampere_s1688gemm_bf16_128x128_ldg8_stages_32x1_tn,800,158.96527 +"void flash_attn_ext_f16<(int)64, (int)64, (int)64, (int)1, (bool)0, (bool)0, (bool)0>(const char *, const char *, const char *, const char *, const char *, const int *, float *, float2 *, float, float, float, float, unsigned int, float, int, uint3, int, int, int, int, int, int, int, int, int, int, int, long, int, int, long, int, int, int, int, int, long)",7020,98.583484 +ampere_s1688gemm_bf16_64x128_sliced1x2_ldg8_tn,1600,97.460533 +void cutlass::Kernel2(T1::Params),400,89.412074 +"void cublasLt::splitKreduce_kernel<(int)32, (int)16, int, float, float, float, float, (bool)0, float, float, float, (bool)1, (bool)0, (bool)0, (bool)0>(cublasLt::cublasSplitKParams, const T4 *, const T10 *, T9 *, T5 *, const T6 *, const T6 *, const T11 *, const T4 *, T11 *, void *, long, T6 *, int *, T6 *, T6 *, const T6 *, const T6 *, const T6 *, const T6 *, const T6 *)",23540,64.349125 +"void rope_neox<(bool)1, (bool)0, float, float>(const T3 *, T4 *, int, int, int, int, int, int, int, int, int, int, int, const int *, float, float, float, rope_corr_dims, float, const float *, const long *, int, bool)",10860,37.231531 +"void k_bin_bcast<&op_add, float, float, float, const float *>(const T2 *, const T3 *, T4 *, unsigned int, unsigned int, unsigned int, uint3, uint3, uint3, uint3, uint3, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, T5...)",15160,35.845067 +"void rms_norm_f32<(int)256, (bool)1, (bool)0, (bool)0>(const float *, float *, int, long, long, long, float, const float *, long, long, long, uint3, uint3, uint3, uint3, const float *, long, long, long, uint3, uint3, uint3, uint3, float)",14260,35.350725 +"::k_bias_res(const float *, const float *, const float *, float *, long, int)",800,25.594457 +"void ::k_bias_gelu<__nv_bfloat16>(const float *, const float *, T1 *, long, int)",400,25.557973 +"void k_bin_bcast<&op_mul, float, float, float, const float *>(const T2 *, const T3 *, T4 *, unsigned int, unsigned int, unsigned int, uint3, uint3, uint3, uint3, uint3, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, T5...)",7060,22.829556 +"void flash_attn_stream_k_fixup_uniform<(int)64, (int)64, (int)1>(float *, const float2 *, int, int, int, int, int, int, uint3, uint3, uint3)",6400,18.511825 +"void ::k_qkv_rows(const float *, const float *, const float *, const float *, T1 *, int, int, int, int, int, int, int)",800,17.434618 +"void concat_cont(const T1 *, const T1 *, T1 *, long, long, long, long, long, long)",6400,15.691723 +"void unary_op_kernel<&op_silu, float>(const T2 *, T2 *, int)",7220,14.9608 +"void ::k_ln_reg<(int)32, (int)0, __nv_bfloat16>(const float *, const float *, const float *, T3 *, int, int, float)",800,12.27441 +"void convert_unary_cont_vec4(const void *, T2 *, long)",7680,11.128431 +"void ::k_qkv_vt(const float *, const float *, T1 *, int, int, int, int, int, int, int)",400,10.558539 +"void ::k_heads_to_rows<__nv_bfloat16>(const float *, T1 *, int, int, int, int)",400,10.544021 +ampere_s16816gemm_bf16_64x64_ldg8_stages_64x5_tn,40,3.752986 +"void cpy_scalar<&cpy_1_scalar>(const char *, char *, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long)",80,3.560469 +ampere_h1688gemm_128x128_ldg8_stages_32x1_tn,40,1.645931 +"void cpy_scalar_contiguous(const char *, char *, long)",700,1.220844 +"void norm_f32<(int)32>(const float *, float *, int, long, long, long, float)",40,1.044935 +"void im2col_kernel<__half>(const float *, T1 *, long, long, long, long, long, long, long, long, long, long, long, long, long, int, int, int, int, int, int)",40,0.984363 +ampere_sgemm_64x32_sliced1x4_tn,200,0.974693 +"void cpy_scalar_transpose(const char *, char *, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long)",40,0.84362 +ampere_sgemm_32x32_sliced1x4_tn,200,0.717475 +"void concat_cont(const T1 *, const T1 *, T1 *, long, long, long, long, long, long)",200,0.55498 +"void convert_unary_cont_vec4<__half, float>(const void *, T2 *, long)",40,0.522601 +"void convert_unary_cont_vec4(const void *, T2 *, long)",40,0.507205 +"scale_f32(const float *, float *, float, float, long)",240,0.325988 +"void concat_cont(const T1 *, const T1 *, T1 *, long, long, long, long, long, long)",40,0.222691 +"void mul_mat_vec_f(const T1 *, const float *, const int *, ggml_cuda_mm_fusion_args_device, float *, int, uint3, int, int, int, uint3, int, int, int, uint3, int, int, int, int)",20,0.078209 diff --git a/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10.summary.json b/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10.summary.json new file mode 100644 index 00000000..b62f6fa1 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10.summary.json @@ -0,0 +1,46 @@ +{ + "trace": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/kernel-phase-traces/smolvla-vision-spaced-10.sqlite", + "kernel_events": 158580, + "summed_kernel_ms": 1909.979318, + "groups": { + "other_unclassified": { + "calls": 72080, + "summed_ms": 275.511481, + "fraction_of_summed_kernel_time": 0.14424841065216185 + }, + "GEMM_or_matmul_including_attention_products": { + "calls": 47520, + "summed_ms": 1109.067052, + "fraction_of_summed_kernel_time": 0.580669665659699 + }, + "softmax_or_RoPE_not_all_attention": { + "calls": 11260, + "summed_ms": 371.909816, + "fraction_of_summed_kernel_time": 0.1947192896253131 + }, + "norm_or_fused_norm": { + "calls": 14300, + "summed_ms": 36.39566, + "fraction_of_summed_kernel_time": 0.01905552571014803 + }, + "attention_named_kernels_including_layout": { + "calls": 13420, + "summed_ms": 117.095309, + "fraction_of_summed_kernel_time": 0.06130710835267798 + } + }, + "gpu_activity_span_ms": 7781.164767, + "gpu_activity_union_ms": 1924.755074, + "gap_ms": 5856.409693, + "gap_fraction": 0.7526392087001028, + "max_gap_ms": 897.403289, + "gaps_over_100us": 337, + "scope": "target process activities only: first to last GPU activity within captured 20 predictions; excludes edge gaps and other processes", + "limitations": [ + "summed kernel durations may overlap; use union for busy fraction", + "name-based categories are not exact module attribution", + "GEMM includes attention matmuls", + "node tracing overhead affects timings", + "gaps do not prove whole-GPU idle or a CPU bottleneck" + ] +} diff --git a/research-notes/smolvla-followup-20261104/kernel-traces/commands.json b/research-notes/smolvla-followup-20261104/kernel-traces/commands.json new file mode 100644 index 00000000..7dcef550 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-traces/commands.json @@ -0,0 +1,42 @@ +[ + [ + "nsys", + "profile", + "--trace=cuda", + "--cuda-graph-trace=node", + "--capture-range=cudaProfilerApi", + "--capture-range-end=stop", + "--sample=none", + "--cpuctxsw=none", + "--output=/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/kernel-traces/defaults", + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--variant", + "defaults", + "--mode", + "none", + "--capture", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/kernel-traces/defaults-workload" + ], + [ + "nsys", + "profile", + "--trace=cuda", + "--cuda-graph-trace=node", + "--capture-range=cudaProfilerApi", + "--capture-range-end=stop", + "--sample=none", + "--cpuctxsw=none", + "--output=/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/kernel-traces/flash-mm", + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--variant", + "flash-mm", + "--mode", + "none", + "--capture", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/kernel-traces/flash-mm-workload" + ] +] diff --git a/research-notes/smolvla-followup-20261104/kernel-traces/defaults-workload/result.json b/research-notes/smolvla-followup-20261104/kernel-traces/defaults-workload/result.json new file mode 100644 index 00000000..60116ddf --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-traces/defaults-workload/result.json @@ -0,0 +1,278 @@ +{ + "model": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "variant": "defaults", + "mode": "none", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 32, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 118.16378021240234, + "ms_vision": 57.5052375793457, + "ms_inference": 59.91963195800781, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 118.76239300181624, + "unaccounted_ms": 0.7389106750488281 + }, + { + "ms_total": 122.77515411376953, + "ms_vision": 61.04243087768555, + "ms_inference": 60.846641540527344, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 123.42009400163079, + "unaccounted_ms": 0.8860816955566406 + }, + { + "ms_total": 121.57782745361328, + "ms_vision": 59.80107116699219, + "ms_inference": 60.693206787109375, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 122.39106100605568, + "unaccounted_ms": 1.0835494995117188 + }, + { + "ms_total": 120.96614837646484, + "ms_vision": 59.973636627197266, + "ms_inference": 60.089576721191406, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 121.43332399864448, + "unaccounted_ms": 0.9029350280761719 + }, + { + "ms_total": 120.21908569335938, + "ms_vision": 57.89350509643555, + "ms_inference": 61.573638916015625, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 120.7740690006176, + "unaccounted_ms": 0.7519416809082031 + }, + { + "ms_total": 123.40841674804688, + "ms_vision": 60.88557052612305, + "ms_inference": 61.82623291015625, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 123.88244799512904, + "unaccounted_ms": 0.6966133117675781 + }, + { + "ms_total": 131.04600524902344, + "ms_vision": 68.01595306396484, + "ms_inference": 62.11846160888672, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 131.47871900582686, + "unaccounted_ms": 0.911590576171875 + }, + { + "ms_total": 124.56936645507812, + "ms_vision": 59.26263427734375, + "ms_inference": 64.24532318115234, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 125.24204099463532, + "unaccounted_ms": 1.0614089965820312 + }, + { + "ms_total": 124.73004913330078, + "ms_vision": 59.93987274169922, + "ms_inference": 63.89797592163086, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 125.25325099704787, + "unaccounted_ms": 0.8922004699707031 + }, + { + "ms_total": 124.17730712890625, + "ms_vision": 60.24588394165039, + "ms_inference": 62.9566764831543, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 125.01128199801315, + "unaccounted_ms": 0.9747467041015625 + }, + { + "ms_total": 122.31803131103516, + "ms_vision": 59.05119323730469, + "ms_inference": 62.572975158691406, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 123.08764199406141, + "unaccounted_ms": 0.6938629150390625 + }, + { + "ms_total": 127.0478515625, + "ms_vision": 63.23561096191406, + "ms_inference": 62.99766540527344, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 127.5603800022509, + "unaccounted_ms": 0.8145751953125 + }, + { + "ms_total": 133.4399871826172, + "ms_vision": 70.0929946899414, + "ms_inference": 62.498497009277344, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 133.90677199640777, + "unaccounted_ms": 0.8484954833984375 + }, + { + "ms_total": 129.4443817138672, + "ms_vision": 65.46724700927734, + "ms_inference": 62.95805358886719, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 129.9141019990202, + "unaccounted_ms": 1.0190811157226562 + }, + { + "ms_total": 129.8533935546875, + "ms_vision": 66.19622039794922, + "ms_inference": 61.920074462890625, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 130.4134759993758, + "unaccounted_ms": 1.7370986938476562 + }, + { + "ms_total": 132.19921875, + "ms_vision": 70.04080200195312, + "ms_inference": 60.633609771728516, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 132.76343799952883, + "unaccounted_ms": 1.5248069763183594 + }, + { + "ms_total": 132.13560485839844, + "ms_vision": 71.03258514404297, + "ms_inference": 60.426910400390625, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 132.61116299690912, + "unaccounted_ms": 0.6761093139648438 + }, + { + "ms_total": 128.59100341796875, + "ms_vision": 66.8681640625, + "ms_inference": 60.93767166137695, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 129.04539299779572, + "unaccounted_ms": 0.7851676940917969 + }, + { + "ms_total": 131.72769165039062, + "ms_vision": 68.5365982055664, + "ms_inference": 61.98708724975586, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 132.20123999781208, + "unaccounted_ms": 1.2040061950683594 + }, + { + "ms_total": 134.38436889648438, + "ms_vision": 71.73173522949219, + "ms_inference": 61.026119232177734, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 134.89449500048067, + "unaccounted_ms": 1.6265144348144531 + } + ], + "summary": { + "ms_total": { + "mean": 126.6387336730957, + "p50": 125.88895034790039, + "p90": 132.32329559326172 + }, + "ms_vision": { + "mean": 63.84094734191895, + "p50": 62.139020919799805, + "p90": 70.18695373535157 + }, + "ms_inference": { + "mean": 61.806301498413085, + "p50": 61.87315368652344, + "p90": 63.08769645690918 + }, + "ms_prefill": null, + "ms_denoise": null, + "python_wall_ms": { + "mean": 127.20233914915298, + "p50": 126.40681549964938, + "p90": 132.87777139921673 + }, + "unaccounted_ms": { + "mean": 0.9914848327636718, + "p50": 0.8975677490234375, + "p90": 1.5349777221679688 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/kernel-traces/defaults.kernels.csv b/research-notes/smolvla-followup-20261104/kernel-traces/defaults.kernels.csv new file mode 100644 index 00000000..6825e2be --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-traces/defaults.kernels.csv @@ -0,0 +1,39 @@ +kernel,calls,summed_ms +"void ::k_softmax_rows_loop<(int)1024, float>(float *, int, int, float, const T2 *, int, long)",480,402.821843 +void cutlass::Kernel2(T1::Params),10820,368.373173 +void cutlass::Kernel2(T1::Params),20480,301.899495 +ampere_s1688gemm_bf16_128x128_ldg8_stages_32x1_tn,960,204.174625 +void cutlass::Kernel2(T1::Params),13000,195.835265 +ampere_s1688gemm_bf16_64x128_sliced1x2_ldg8_tn,1920,125.511352 +void cutlass::Kernel2(T1::Params),480,114.616958 +"void flash_attn_ext_f16<(int)64, (int)64, (int)64, (int)1, (bool)0, (bool)0, (bool)0>(const char *, const char *, const char *, const char *, const char *, const int *, float *, float2 *, float, float, float, float, unsigned int, float, int, uint3, int, int, int, int, int, int, int, int, int, int, int, long, int, int, long, int, int, int, int, int, long)",7020,109.06193 +"void cublasLt::splitKreduce_kernel<(int)32, (int)16, int, float, float, float, float, (bool)0, float, float, float, (bool)1, (bool)0, (bool)0, (bool)0>(cublasLt::cublasSplitKParams, const T4 *, const T10 *, T9 *, T5 *, const T6 *, const T6 *, const T11 *, const T4 *, T11 *, void *, long, T6 *, int *, T6 *, T6 *, const T6 *, const T6 *, const T6 *, const T6 *, const T6 *)",23540,79.127762 +"void rope_neox<(bool)1, (bool)0, float, float>(const T3 *, T4 *, int, int, int, int, int, int, int, int, int, int, int, const int *, float, float, float, rope_corr_dims, float, const float *, const long *, int, bool)",10860,43.625941 +"void k_bin_bcast<&op_add, float, float, float, const float *>(const T2 *, const T3 *, T4 *, unsigned int, unsigned int, unsigned int, uint3, uint3, uint3, uint3, uint3, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, T5...)",15160,38.935014 +"void rms_norm_f32<(int)256, (bool)1, (bool)0, (bool)0>(const float *, float *, int, long, long, long, float, const float *, long, long, long, uint3, uint3, uint3, uint3, const float *, long, long, long, uint3, uint3, uint3, uint3, float)",14260,38.244493 +"void ::k_bias_gelu<__nv_bfloat16>(const float *, const float *, T1 *, long, int)",480,30.949544 +"::k_bias_res(const float *, const float *, const float *, float *, long, int)",960,30.665665 +"void k_bin_bcast<&op_mul, float, float, float, const float *>(const T2 *, const T3 *, T4 *, unsigned int, unsigned int, unsigned int, uint3, uint3, uint3, uint3, uint3, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, T5...)",7060,25.239549 +"void ::k_qkv_rows(const float *, const float *, const float *, const float *, T1 *, int, int, int, int, int, int, int)",960,21.453654 +"void flash_attn_stream_k_fixup_uniform<(int)64, (int)64, (int)1>(float *, const float2 *, int, int, int, int, int, int, uint3, uint3, uint3)",6400,20.880187 +"void concat_cont(const T1 *, const T1 *, T1 *, long, long, long, long, long, long)",6400,18.910314 +"void unary_op_kernel<&op_silu, float>(const T2 *, T2 *, int)",7220,17.621785 +"void ::k_ln_reg<(int)32, (int)0, __nv_bfloat16>(const float *, const float *, const float *, T3 *, int, int, float)",960,14.959629 +"void ::k_heads_to_rows<__nv_bfloat16>(const float *, T1 *, int, int, int, int)",480,13.598881 +"void ::k_qkv_vt(const float *, const float *, T1 *, int, int, int, int, int, int, int)",480,13.364792 +"void convert_unary_cont_vec4(const void *, T2 *, long)",7680,12.37656 +"void cpy_scalar<&cpy_1_scalar>(const char *, char *, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long)",80,3.854357 +ampere_s16816gemm_bf16_64x64_ldg8_stages_64x5_tn,40,3.732268 +ampere_h1688gemm_128x128_ldg8_stages_32x1_tn,40,1.688421 +"void cpy_scalar_contiguous(const char *, char *, long)",700,1.471018 +"void im2col_kernel<__half>(const float *, T1 *, long, long, long, long, long, long, long, long, long, long, long, long, long, int, int, int, int, int, int)",40,1.089989 +ampere_sgemm_64x32_sliced1x4_tn,200,1.051175 +"void norm_f32<(int)32>(const float *, float *, int, long, long, long, float)",40,1.043877 +"void cpy_scalar_transpose(const char *, char *, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long)",40,0.856932 +ampere_sgemm_32x32_sliced1x4_tn,200,0.783842 +"void concat_cont(const T1 *, const T1 *, T1 *, long, long, long, long, long, long)",200,0.619811 +"void convert_unary_cont_vec4<__half, float>(const void *, T2 *, long)",40,0.519168 +"void convert_unary_cont_vec4(const void *, T2 *, long)",40,0.502343 +"scale_f32(const float *, float *, float, float, long)",240,0.374723 +"void concat_cont(const T1 *, const T1 *, T1 *, long, long, long, long, long, long)",40,0.308865 +"void mul_mat_vec_f(const T1 *, const float *, const int *, ggml_cuda_mm_fusion_args_device, float *, int, uint3, int, int, int, uint3, int, int, int, uint3, int, int, int, int)",20,0.082112 diff --git a/research-notes/smolvla-followup-20261104/kernel-traces/defaults.modules.json b/research-notes/smolvla-followup-20261104/kernel-traces/defaults.modules.json new file mode 100644 index 00000000..7f05f56b --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-traces/defaults.modules.json @@ -0,0 +1,161 @@ +{ + "mode": "none", + "predictions": 20, + "graph_launches": 60, + "summary": { + "vision_plus_connector_gpu_span_ms": { + "mean": 54.3177741, + "p50": 54.3748575, + "p90": 54.985017799999994 + }, + "vision_kernel_sum_ms": { + "mean": 54.11065285, + "p50": 54.166808, + "p90": 54.731659900000004 + }, + "combined_inference_gpu_span_ms": { + "mean": 60.70422335, + "p50": 60.8457075, + "p90": 62.0356046 + }, + "combined_inference_kernel_sum_ms": { + "mean": 58.900712750000004, + "p50": 59.053875500000004, + "p90": 60.2322139 + } + }, + "samples": [ + { + "vision_plus_connector_gpu_span_ms": 53.312981, + "vision_kernel_sum_ms": 53.111956, + "combined_inference_gpu_span_ms": 58.979186, + "combined_inference_kernel_sum_ms": 57.207751 + }, + { + "vision_plus_connector_gpu_span_ms": 54.014648, + "vision_kernel_sum_ms": 53.737269999999995, + "combined_inference_gpu_span_ms": 59.288724, + "combined_inference_kernel_sum_ms": 57.509385 + }, + { + "vision_plus_connector_gpu_span_ms": 54.123031999999995, + "vision_kernel_sum_ms": 53.928917, + "combined_inference_gpu_span_ms": 59.461204, + "combined_inference_kernel_sum_ms": 57.709998 + }, + { + "vision_plus_connector_gpu_span_ms": 54.030328, + "vision_kernel_sum_ms": 53.851319000000004, + "combined_inference_gpu_span_ms": 59.081458, + "combined_inference_kernel_sum_ms": 57.355721 + }, + { + "vision_plus_connector_gpu_span_ms": 54.151033, + "vision_kernel_sum_ms": 53.838615000000004, + "combined_inference_gpu_span_ms": 60.477273, + "combined_inference_kernel_sum_ms": 58.702544 + }, + { + "vision_plus_connector_gpu_span_ms": 54.793853, + "vision_kernel_sum_ms": 54.578458, + "combined_inference_gpu_span_ms": 60.813723, + "combined_inference_kernel_sum_ms": 59.035351 + }, + { + "vision_plus_connector_gpu_span_ms": 54.820797, + "vision_kernel_sum_ms": 54.632829, + "combined_inference_gpu_span_ms": 61.123933, + "combined_inference_kernel_sum_ms": 59.332914 + }, + { + "vision_plus_connector_gpu_span_ms": 54.81254, + "vision_kernel_sum_ms": 54.624699, + "combined_inference_gpu_span_ms": 63.285833, + "combined_inference_kernel_sum_ms": 61.40995 + }, + { + "vision_plus_connector_gpu_span_ms": 54.969212999999996, + "vision_kernel_sum_ms": 54.710300000000004, + "combined_inference_gpu_span_ms": 62.726405, + "combined_inference_kernel_sum_ms": 60.86953 + }, + { + "vision_plus_connector_gpu_span_ms": 55.321246, + "vision_kernel_sum_ms": 55.097437, + "combined_inference_gpu_span_ms": 61.148957, + "combined_inference_kernel_sum_ms": 59.279864 + }, + { + "vision_plus_connector_gpu_span_ms": 55.127261000000004, + "vision_kernel_sum_ms": 54.923899, + "combined_inference_gpu_span_ms": 61.491135, + "combined_inference_kernel_sum_ms": 59.689145 + }, + { + "vision_plus_connector_gpu_span_ms": 54.402682, + "vision_kernel_sum_ms": 54.165914, + "combined_inference_gpu_span_ms": 61.935265, + "combined_inference_kernel_sum_ms": 59.871284 + }, + { + "vision_plus_connector_gpu_span_ms": 54.617979, + "vision_kernel_sum_ms": 54.416091, + "combined_inference_gpu_span_ms": 61.468767, + "combined_inference_kernel_sum_ms": 59.67861 + }, + { + "vision_plus_connector_gpu_span_ms": 54.402074, + "vision_kernel_sum_ms": 54.213883, + "combined_inference_gpu_span_ms": 61.958849, + "combined_inference_kernel_sum_ms": 60.161401 + }, + { + "vision_plus_connector_gpu_span_ms": 54.550874, + "vision_kernel_sum_ms": 54.370872, + "combined_inference_gpu_span_ms": 60.877692, + "combined_inference_kernel_sum_ms": 59.0724 + }, + { + "vision_plus_connector_gpu_span_ms": 54.069944, + "vision_kernel_sum_ms": 53.887832, + "combined_inference_gpu_span_ms": 59.60431, + "combined_inference_kernel_sum_ms": 57.87239 + }, + { + "vision_plus_connector_gpu_span_ms": 53.09541, + "vision_kernel_sum_ms": 52.920719000000005, + "combined_inference_gpu_span_ms": 59.449555, + "combined_inference_kernel_sum_ms": 57.636455 + }, + { + "vision_plus_connector_gpu_span_ms": 53.932373999999996, + "vision_kernel_sum_ms": 53.750550000000004, + "combined_inference_gpu_span_ms": 59.934645, + "combined_inference_kernel_sum_ms": 58.153451 + }, + { + "vision_plus_connector_gpu_span_ms": 54.347640999999996, + "vision_kernel_sum_ms": 54.167702000000006, + "combined_inference_gpu_span_ms": 60.980219, + "combined_inference_kernel_sum_ms": 59.210706 + }, + { + "vision_plus_connector_gpu_span_ms": 53.459571999999994, + "vision_kernel_sum_ms": 53.283795, + "combined_inference_gpu_span_ms": 59.997334, + "combined_inference_kernel_sum_ms": 58.255405 + } + ], + "extra_non_graph_kernels": { + "count": 0, + "summed_ms": 0.0 + }, + "attribution": "source predict_impl order, guarded by launch cardinality and paired vision graph IDs", + "limitations": [ + "GPU first-to-last kernel spans, not full CPU+GPU phase wall time", + "vision sums two graph launches; excludes preprocessing and inter-view copies/gaps", + "KV prefill is cache-producing graph, not arbitrary standalone full VLM", + "denoise includes cross-KV reprojection and action projections", + "PHASE graph/padding differ from default throughput graph" + ] +} diff --git a/research-notes/smolvla-followup-20261104/kernel-traces/defaults.summary.json b/research-notes/smolvla-followup-20261104/kernel-traces/defaults.summary.json new file mode 100644 index 00000000..a6f21c93 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-traces/defaults.summary.json @@ -0,0 +1,46 @@ +{ + "trace": "research-notes/smolvla-followup-20261104/kernel-traces/defaults.sqlite", + "kernel_events": 160020, + "summed_kernel_ms": 2260.227312, + "groups": { + "other_unclassified": { + "calls": 72800, + "summed_ms": 326.800355, + "fraction_of_summed_kernel_time": 0.14458738431526394 + }, + "GEMM_or_matmul_including_attention_products": { + "calls": 48160, + "summed_ms": 1317.748686, + "fraction_of_summed_kernel_time": 0.5830159997641865 + }, + "softmax_or_RoPE_not_all_attention": { + "calls": 11340, + "summed_ms": 446.447784, + "fraction_of_summed_kernel_time": 0.19752340024816054 + }, + "norm_or_fused_norm": { + "calls": 14300, + "summed_ms": 39.28837, + "fraction_of_summed_kernel_time": 0.017382486173585357 + }, + "attention_named_kernels_including_layout": { + "calls": 13420, + "summed_ms": 129.942117, + "fraction_of_summed_kernel_time": 0.057490729498803614 + } + }, + "gpu_activity_span_ms": 2541.98674, + "gpu_activity_union_ms": 2274.032569, + "gap_ms": 267.954171, + "gap_fraction": 0.10541131736981445, + "max_gap_ms": 16.748886, + "gaps_over_100us": 199, + "scope": "target process activities only: first to last GPU activity within captured 20 predictions; excludes edge gaps and other processes", + "limitations": [ + "summed kernel durations may overlap; use union for busy fraction", + "name-based categories are not exact module attribution", + "GEMM includes attention matmuls", + "node tracing overhead affects timings", + "gaps do not prove whole-GPU idle or a CPU bottleneck" + ] +} diff --git a/research-notes/smolvla-followup-20261104/kernel-traces/flash-mm-workload/result.json b/research-notes/smolvla-followup-20261104/kernel-traces/flash-mm-workload/result.json new file mode 100644 index 00000000..1e8b44fd --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-traces/flash-mm-workload/result.json @@ -0,0 +1,278 @@ +{ + "model": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "variant": "flash-mm", + "mode": "none", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 32, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 94.39488983154297, + "ms_vision": 43.998443603515625, + "ms_inference": 49.67167663574219, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 94.91491800145013, + "unaccounted_ms": 0.7247695922851562 + }, + { + "ms_total": 95.55021667480469, + "ms_vision": 44.99932861328125, + "ms_inference": 49.36716842651367, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 96.05186900444096, + "unaccounted_ms": 1.1837196350097656 + }, + { + "ms_total": 93.65984344482422, + "ms_vision": 44.23671340942383, + "ms_inference": 48.467628479003906, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 94.16679399873829, + "unaccounted_ms": 0.9555015563964844 + }, + { + "ms_total": 95.18817901611328, + "ms_vision": 44.50636672973633, + "ms_inference": 49.17195510864258, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 95.67949199845316, + "unaccounted_ms": 1.509857177734375 + }, + { + "ms_total": 95.71641540527344, + "ms_vision": 45.316471099853516, + "ms_inference": 49.052738189697266, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 96.201784996083, + "unaccounted_ms": 1.3472061157226562 + }, + { + "ms_total": 95.6690444946289, + "ms_vision": 44.84549331665039, + "ms_inference": 49.539127349853516, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 96.13787499984028, + "unaccounted_ms": 1.284423828125 + }, + { + "ms_total": 96.34687805175781, + "ms_vision": 45.678062438964844, + "ms_inference": 49.37051773071289, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 96.82812399842078, + "unaccounted_ms": 1.2982978820800781 + }, + { + "ms_total": 95.62212371826172, + "ms_vision": 45.18770217895508, + "ms_inference": 49.17030715942383, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 96.1235549984849, + "unaccounted_ms": 1.2641143798828125 + }, + { + "ms_total": 96.41818237304688, + "ms_vision": 45.81969451904297, + "ms_inference": 49.225379943847656, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 96.89288800291251, + "unaccounted_ms": 1.37310791015625 + }, + { + "ms_total": 95.63538360595703, + "ms_vision": 45.4016227722168, + "ms_inference": 49.04199981689453, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 96.09440300118877, + "unaccounted_ms": 1.1917610168457031 + }, + { + "ms_total": 94.3883285522461, + "ms_vision": 44.55481719970703, + "ms_inference": 48.474483489990234, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 94.8530270034098, + "unaccounted_ms": 1.3590278625488281 + }, + { + "ms_total": 94.27901458740234, + "ms_vision": 44.527278900146484, + "ms_inference": 48.97096633911133, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 94.72172999812756, + "unaccounted_ms": 0.7807693481445312 + }, + { + "ms_total": 101.87581634521484, + "ms_vision": 51.67800521850586, + "ms_inference": 48.891048431396484, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 102.34945999400225, + "unaccounted_ms": 1.3067626953125 + }, + { + "ms_total": 95.80384063720703, + "ms_vision": 44.56343078613281, + "ms_inference": 50.04672622680664, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 96.25483199488372, + "unaccounted_ms": 1.1936836242675781 + }, + { + "ms_total": 94.36205291748047, + "ms_vision": 44.249176025390625, + "ms_inference": 48.986106872558594, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 94.8223710001912, + "unaccounted_ms": 1.12677001953125 + }, + { + "ms_total": 94.79681396484375, + "ms_vision": 44.6007080078125, + "ms_inference": 49.04328918457031, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 95.30701600306202, + "unaccounted_ms": 1.1528167724609375 + }, + { + "ms_total": 95.65528869628906, + "ms_vision": 45.301719665527344, + "ms_inference": 48.87505340576172, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 96.21742299350444, + "unaccounted_ms": 1.478515625 + }, + { + "ms_total": 95.85650634765625, + "ms_vision": 45.60714340209961, + "ms_inference": 49.18084716796875, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 96.30389800440753, + "unaccounted_ms": 1.0685157775878906 + }, + { + "ms_total": 96.01783752441406, + "ms_vision": 45.676334381103516, + "ms_inference": 48.99931716918945, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 96.47502600273583, + "unaccounted_ms": 1.3421859741210938 + }, + { + "ms_total": 96.19412231445312, + "ms_vision": 45.87970733642578, + "ms_inference": 49.019622802734375, + "ms_prefill": 0.0, + "ms_denoise": 0.0, + "python_wall_ms": 96.7280219992972, + "unaccounted_ms": 1.2947921752929688 + } + ], + "summary": { + "ms_total": { + "mean": 95.67153892517089, + "p50": 95.64533615112305, + "p90": 96.35400848388672 + }, + "ms_vision": { + "mean": 45.33141098022461, + "p50": 45.093515396118164, + "p90": 45.82569580078125 + }, + "ms_inference": { + "mean": 49.128297996521, + "p50": 49.04801368713379, + "p90": 49.55238227844238 + }, + "ms_prefill": null, + "ms_denoise": null, + "python_wall_ms": { + "mean": 96.15622539968172, + "p50": 96.13071499916259, + "p90": 96.83460039886995 + }, + "unaccounted_ms": { + "mean": 1.211829948425293, + "p50": 1.2742691040039062, + "p90": 1.383648681640625 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/kernel-traces/flash-mm-workload/runtime.json b/research-notes/smolvla-followup-20261104/kernel-traces/flash-mm-workload/runtime.json new file mode 100644 index 00000000..3108c9e5 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-traces/flash-mm-workload/runtime.json @@ -0,0 +1 @@ +{"runtime": {"flash_attn": true, "mm_prec": "default"}} diff --git a/research-notes/smolvla-followup-20261104/kernel-traces/flash-mm.kernels.csv b/research-notes/smolvla-followup-20261104/kernel-traces/flash-mm.kernels.csv new file mode 100644 index 00000000..2ad567d1 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-traces/flash-mm.kernels.csv @@ -0,0 +1,36 @@ +kernel,calls,summed_ms +void cutlass::Kernel2(T1::Params),32000,308.177763 +"void flash_attn_ext_f16<(int)64, (int)64, (int)64, (int)1, (bool)0, (bool)0, (bool)0>(const char *, const char *, const char *, const char *, const char *, const int *, float *, float2 *, float, float, float, float, unsigned int, float, int, uint3, int, int, int, int, int, int, int, int, int, int, int, long, int, int, long, int, int, int, int, int, long)",7500,214.348223 +"void k_bin_bcast<&op_add, float, float, float, const float *>(const T2 *, const T3 *, T4 *, unsigned int, unsigned int, unsigned int, uint3, uint3, uint3, uint3, uint3, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, T5...)",19960,165.302269 +void cutlass::Kernel2(T1::Params),480,121.614369 +ampere_s1688gemm_bf16_64x128_sliced1x2_ldg8_tn,1920,117.349684 +"void convert_unary_cont_vec4(const void *, T2 *, long)",45700,115.733686 +ampere_s16816gemm_bf16_128x128_ldg8_stages_32x5_tn,1240,96.10649 +ampere_s1688gemm_bf16_128x128_ldg8_stages_32x1_tn,480,92.811952 +ampere_s16816gemm_bf16_64x64_ldg8_stages_64x5_tn,6440,77.102792 +"void cpy_scalar<&cpy_1_scalar>(const char *, char *, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long)",1520,65.469737 +ampere_s16816gemm_bf16_128x64_ldg8_stages_32x6_tn,1860,57.186579 +"void k_bin_bcast<&op_mul, float, float, float, const float *>(const T2 *, const T3 *, T4 *, unsigned int, unsigned int, unsigned int, uint3, uint3, uint3, uint3, uint3, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, T5...)",8020,40.132635 +"void rope_neox<(bool)1, (bool)0, float, float>(const T3 *, T4 *, int, int, int, int, int, int, int, int, int, int, int, const int *, float, float, float, rope_corr_dims, float, const float *, const long *, int, bool)",10860,39.604952 +"void unary_op_kernel<&op_gelu, float>(const T2 *, T2 *, int)",480,38.661808 +"void rms_norm_f32<(int)256, (bool)1, (bool)0, (bool)0>(const float *, float *, int, long, long, long, float, const float *, long, long, long, uint3, uint3, uint3, uint3, const float *, long, long, long, uint3, uint3, uint3, uint3, float)",14260,34.987532 +"void convert_unary_cont_vec4(const void *, T2 *, long)",8640,26.627031 +"void norm_f32<(int)32>(const float *, float *, int, long, long, long, float)",1000,23.47324 +"void flash_attn_stream_k_fixup_uniform<(int)64, (int)64, (int)1>(float *, const float2 *, int, int, int, int, int, int, uint3, uint3, uint3)",6400,18.629418 +"void concat_cont(const T1 *, const T1 *, T1 *, long, long, long, long, long, long)",6400,17.292441 +"void unary_op_kernel<&op_silu, float>(const T2 *, T2 *, int)",7220,16.127663 +ampere_s16816gemm_bf16_64x64_sliced1x2_ldg8_stages_64x5_tn,1280,15.464354 +"void cublasLt::splitKreduce_kernel<(int)32, (int)16, int, float, float, float, float, (bool)0, float, float, float, (bool)1, (bool)0, (bool)0, (bool)0>(cublasLt::cublasSplitKParams, const T4 *, const T10 *, T9 *, T5 *, const T6 *, const T6 *, const T11 *, const T4 *, T11 *, void *, long, T6 *, int *, T6 *, T6 *, const T6 *, const T6 *, const T6 *, const T6 *, const T6 *)",7640,13.220679 +void cutlass::Kernel2(T1::Params),840,7.064991 +void cutlass::Kernel2(T1::Params),200,2.494326 +ampere_h1688gemm_128x128_ldg8_stages_32x1_tn,40,1.600057 +"void cpy_scalar_contiguous(const char *, char *, long)",700,1.324956 +"void im2col_kernel<__half>(const float *, T1 *, long, long, long, long, long, long, long, long, long, long, long, long, long, int, int, int, int, int, int)",40,1.016158 +ampere_sgemm_64x32_sliced1x4_tn,200,0.953053 +"void cpy_scalar_transpose(const char *, char *, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long)",40,0.841981 +ampere_sgemm_32x32_sliced1x4_tn,200,0.702172 +"void concat_cont(const T1 *, const T1 *, T1 *, long, long, long, long, long, long)",200,0.558527 +"void convert_unary_cont_vec4<__half, float>(const void *, T2 *, long)",40,0.517151 +"scale_f32(const float *, float *, float, float, long)",240,0.337662 +"void concat_cont(const T1 *, const T1 *, T1 *, long, long, long, long, long, long)",40,0.27542 +"void mul_mat_vec_f(const T1 *, const float *, const int *, ggml_cuda_mm_fusion_args_device, float *, int, uint3, int, int, int, uint3, int, int, int, uint3, int, int, int, int)",20,0.073056 diff --git a/research-notes/smolvla-followup-20261104/kernel-traces/flash-mm.modules.json b/research-notes/smolvla-followup-20261104/kernel-traces/flash-mm.modules.json new file mode 100644 index 00000000..4544f209 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-traces/flash-mm.modules.json @@ -0,0 +1,161 @@ +{ + "mode": "none", + "predictions": 20, + "graph_launches": 60, + "summary": { + "vision_plus_connector_gpu_span_ms": { + "mean": 40.9407104, + "p50": 40.9438935, + "p90": 41.184246 + }, + "vision_kernel_sum_ms": { + "mean": 40.79204285, + "p50": 40.7885505, + "p90": 41.0373841 + }, + "combined_inference_gpu_span_ms": { + "mean": 48.1044852, + "p50": 48.070679999999996, + "p90": 48.4821957 + }, + "combined_inference_kernel_sum_ms": { + "mean": 45.8671975, + "p50": 45.8500475, + "p90": 46.0795343 + } + }, + "samples": [ + { + "vision_plus_connector_gpu_span_ms": 40.351895999999996, + "vision_kernel_sum_ms": 40.219672, + "combined_inference_gpu_span_ms": 48.637974, + "combined_inference_kernel_sum_ms": 46.434142 + }, + { + "vision_plus_connector_gpu_span_ms": 41.200662, + "vision_kernel_sum_ms": 41.043577, + "combined_inference_gpu_span_ms": 48.233336, + "combined_inference_kernel_sum_ms": 46.056162 + }, + { + "vision_plus_connector_gpu_span_ms": 40.917846, + "vision_kernel_sum_ms": 40.774746, + "combined_inference_gpu_span_ms": 47.468443, + "combined_inference_kernel_sum_ms": 45.328739 + }, + { + "vision_plus_connector_gpu_span_ms": 40.927575000000004, + "vision_kernel_sum_ms": 40.775063, + "combined_inference_gpu_span_ms": 48.137112, + "combined_inference_kernel_sum_ms": 45.959838 + }, + { + "vision_plus_connector_gpu_span_ms": 41.352180000000004, + "vision_kernel_sum_ms": 41.208661, + "combined_inference_gpu_span_ms": 48.100152, + "combined_inference_kernel_sum_ms": 45.930786 + }, + { + "vision_plus_connector_gpu_span_ms": 40.904374, + "vision_kernel_sum_ms": 40.75119, + "combined_inference_gpu_span_ms": 48.464887, + "combined_inference_kernel_sum_ms": 46.289885 + }, + { + "vision_plus_connector_gpu_span_ms": 41.017783, + "vision_kernel_sum_ms": 40.871511, + "combined_inference_gpu_span_ms": 48.296408, + "combined_inference_kernel_sum_ms": 45.954756 + }, + { + "vision_plus_connector_gpu_span_ms": 40.97935, + "vision_kernel_sum_ms": 40.82412, + "combined_inference_gpu_span_ms": 48.227192, + "combined_inference_kernel_sum_ms": 46.031713 + }, + { + "vision_plus_connector_gpu_span_ms": 41.182422, + "vision_kernel_sum_ms": 41.036696, + "combined_inference_gpu_span_ms": 48.193656, + "combined_inference_kernel_sum_ms": 46.016515 + }, + { + "vision_plus_connector_gpu_span_ms": 40.984791, + "vision_kernel_sum_ms": 40.830297, + "combined_inference_gpu_span_ms": 48.041208, + "combined_inference_kernel_sum_ms": 45.827457 + }, + { + "vision_plus_connector_gpu_span_ms": 40.823159000000004, + "vision_kernel_sum_ms": 40.686394, + "combined_inference_gpu_span_ms": 47.453148, + "combined_inference_kernel_sum_ms": 45.285473 + }, + { + "vision_plus_connector_gpu_span_ms": 40.899287, + "vision_kernel_sum_ms": 40.751222999999996, + "combined_inference_gpu_span_ms": 48.030329, + "combined_inference_kernel_sum_ms": 45.850625 + }, + { + "vision_plus_connector_gpu_span_ms": 40.672534999999996, + "vision_kernel_sum_ms": 40.533462, + "combined_inference_gpu_span_ms": 47.946361, + "combined_inference_kernel_sum_ms": 45.762081 + }, + { + "vision_plus_connector_gpu_span_ms": 41.035799, + "vision_kernel_sum_ms": 40.887321, + "combined_inference_gpu_span_ms": 49.041652, + "combined_inference_kernel_sum_ms": 45.84947 + }, + { + "vision_plus_connector_gpu_span_ms": 40.644248, + "vision_kernel_sum_ms": 40.500728, + "combined_inference_gpu_span_ms": 48.007065, + "combined_inference_kernel_sum_ms": 45.835554 + }, + { + "vision_plus_connector_gpu_span_ms": 40.945493, + "vision_kernel_sum_ms": 40.802037999999996, + "combined_inference_gpu_span_ms": 47.907065, + "combined_inference_kernel_sum_ms": 45.738368 + }, + { + "vision_plus_connector_gpu_span_ms": 41.089398, + "vision_kernel_sum_ms": 40.937430000000006, + "combined_inference_gpu_span_ms": 47.854105, + "combined_inference_kernel_sum_ms": 45.696514 + }, + { + "vision_plus_connector_gpu_span_ms": 41.023926, + "vision_kernel_sum_ms": 40.890904, + "combined_inference_gpu_span_ms": 48.200952, + "combined_inference_kernel_sum_ms": 46.016065 + }, + { + "vision_plus_connector_gpu_span_ms": 40.91919, + "vision_kernel_sum_ms": 40.774967000000004, + "combined_inference_gpu_span_ms": 47.944186, + "combined_inference_kernel_sum_ms": 45.75213 + }, + { + "vision_plus_connector_gpu_span_ms": 40.942294000000004, + "vision_kernel_sum_ms": 40.740857, + "combined_inference_gpu_span_ms": 47.904473, + "combined_inference_kernel_sum_ms": 45.727677 + } + ], + "extra_non_graph_kernels": { + "count": 0, + "summed_ms": 0.0 + }, + "attribution": "source predict_impl order, guarded by launch cardinality and paired vision graph IDs", + "limitations": [ + "GPU first-to-last kernel spans, not full CPU+GPU phase wall time", + "vision sums two graph launches; excludes preprocessing and inter-view copies/gaps", + "KV prefill is cache-producing graph, not arbitrary standalone full VLM", + "denoise includes cross-KV reprojection and action projections", + "PHASE graph/padding differ from default throughput graph" + ] +} diff --git a/research-notes/smolvla-followup-20261104/kernel-traces/flash-mm.summary.json b/research-notes/smolvla-followup-20261104/kernel-traces/flash-mm.summary.json new file mode 100644 index 00000000..d4f46405 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/kernel-traces/flash-mm.summary.json @@ -0,0 +1,46 @@ +{ + "trace": "research-notes/smolvla-followup-20261104/kernel-traces/flash-mm.sqlite", + "kernel_events": 194100, + "summed_kernel_ms": 1733.184807, + "groups": { + "other_unclassified": { + "calls": 106880, + "summed_ms": 503.439804, + "fraction_of_summed_kernel_time": 0.2904709307205461 + }, + "GEMM_or_matmul_including_attention_products": { + "calls": 47200, + "summed_ms": 898.701638, + "fraction_of_summed_kernel_time": 0.518526145838757 + }, + "norm_or_fused_norm": { + "calls": 15260, + "summed_ms": 58.460772, + "fraction_of_summed_kernel_time": 0.03373025874903137 + }, + "attention_named_kernels_including_layout": { + "calls": 13900, + "summed_ms": 232.977641, + "fraction_of_summed_kernel_time": 0.13442169586246552 + }, + "softmax_or_RoPE_not_all_attention": { + "calls": 10860, + "summed_ms": 39.604952, + "fraction_of_summed_kernel_time": 0.02285096882919999 + } + }, + "gpu_activity_span_ms": 1921.820922, + "gpu_activity_union_ms": 1746.417765, + "gap_ms": 175.403157, + "gap_fraction": 0.09126925146462736, + "max_gap_ms": 9.262489, + "gaps_over_100us": 214, + "scope": "target process activities only: first to last GPU activity within captured 20 predictions; excludes edge gaps and other processes", + "limitations": [ + "summed kernel durations may overlap; use union for busy fraction", + "name-based categories are not exact module attribution", + "GEMM includes attention matmuls", + "node tracing overhead affects timings", + "gaps do not prove whole-GPU idle or a CPU bottleneck" + ] +} diff --git a/research-notes/smolvla-followup-20261104/lerobot-base-deps.txt b/research-notes/smolvla-followup-20261104/lerobot-base-deps.txt new file mode 100644 index 00000000..718c8cfa --- /dev/null +++ b/research-notes/smolvla-followup-20261104/lerobot-base-deps.txt @@ -0,0 +1,21 @@ +datasets<4.2.0,>=4.0.0 +diffusers<0.36.0,>=0.27.2 +huggingface-hub[cli,hf-transfer]<0.36.0,>=0.34.2 +accelerate<2.0.0,>=1.10.0 +setuptools<81.0.0,>=71.0.0 +cmake<4.2.0,>=3.29.0.1 +einops<0.9.0,>=0.8.0 +opencv-python-headless<4.13.0,>=4.9.0 +av<16.0.0,>=15.0.0 +jsonlines<5.0.0,>=4.0.0 +packaging<26.0,>=24.2 +pynput<1.9.0,>=1.7.7 +pyserial<4.0,>=3.5 +wandb<0.25.0,>=0.24.0 +torchcodec<0.6.0,>=0.2.1; sys_platform != "win32" and (sys_platform != "linux" or (platform_machine != "aarch64" and platform_machine != "arm64" and platform_machine != "armv7l")) and (sys_platform != "darwin" or platform_machine != "x86_64") +draccus==0.10.0 +gymnasium<2.0.0,>=1.1.1 +rerun-sdk<0.27.0,>=0.24.0 +deepdiff<9.0.0,>=7.0.1 +imageio[ffmpeg]<3.0.0,>=2.34.0 +termcolor<4.0.0,>=2.4.0 diff --git a/research-notes/smolvla-followup-20261104/libero-config/config.yaml b/research-notes/smolvla-followup-20261104/libero-config/config.yaml new file mode 100644 index 00000000..70891ce2 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/libero-config/config.yaml @@ -0,0 +1,7 @@ +{ + "benchmark_root": "/home/doris/projects/vla.cpp/eval/sim/libero/LIBERO/libero/libero", + "bddl_files": "/home/doris/projects/vla.cpp/eval/sim/libero/LIBERO/libero/libero/bddl_files", + "init_states": "/home/doris/projects/vla.cpp/eval/sim/libero/LIBERO/libero/libero/init_files", + "datasets": "/home/doris/projects/vla.cpp/eval/sim/libero/LIBERO/libero/datasets", + "assets": "/home/doris/projects/vla.cpp/eval/sim/libero/LIBERO/libero/libero/assets" +} diff --git a/research-notes/smolvla-followup-20261104/libero-freeze.txt b/research-notes/smolvla-followup-20261104/libero-freeze.txt new file mode 100644 index 00000000..db8b9a79 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/libero-freeze.txt @@ -0,0 +1,170 @@ +absl-py==2.5.1 +accelerate==1.15.0 +aiohappyeyeballs==2.7.1 +aiohttp==3.14.5 +aiosignal==1.4.0 +albucore==0.0.17 +albumentations==1.4.18 +annotated-types==0.8.0 +antlr4-python3-runtime==4.9.3 +async-timeout==5.0.1 +attrs==26.1.0 +av==15.1.0 +bddl==1.0.1 +certifi==2026.10.23 +charset-normalizer==3.5.2 +click==8.5.0 +cloudpickle==2.1.0 +cmake==4.1.3 +cycler==0.12.1 +datasets==4.1.1 +deepdiff==8.6.2 +diffusers==0.30.1 +dill==0.4.0 +dm-tree==0.1.10 +docker-pycreds==0.4.0 +docstring-parser==0.18.0 +draccus==0.10.0 +easydict==1.9 +egl-probe==1.0.2 +einops==0.8.1 +etils==1.13.0 +eval-type-backport==0.4.0 +evdev==1.9.3 +exceptiongroup==1.3.1 +farama-notifications==0.0.6 +fastjsonschema==2.22.3 +filelock==4.1.0 +fonttools==4.65.0 +frozenlist==1.8.0 +fsspec==2025.9.0 +future==0.18.2 +gitdb==4.0.12 +gitpython==3.2.1 +glfw==2.11.0 +grpcio==1.85.1 +gym==0.25.2 +gym-notices==0.1.0 +gymnasium==0.29.1 +h5py==3.16.0 +hf-transfer==0.1.9 +hf-xet==1.8.0 +huggingface-hub==0.35.3 +hydra-core==1.2.0 +idna==3.20 +imageio==2.38.0 +imageio-ffmpeg==0.8.1 +importlib-metadata==9.0.1 +importlib-resources==7.1.0 +iniconfig==2.3.1 +inquirerpy==0.3.4 +jinja2==3.1.6 +jsonlines==4.0.0 +jsonschema==4.26.0 +jsonschema-specifications==2025.9.1 +jupyter-core==5.9.1 +jupytext==1.19.6 +kiwisolver==1.5.1 +lazy-loader==0.6 +lerobot==0.4.3 +-e file:///home/doris/projects/vla.cpp/eval/sim/libero/LIBERO +llvmlite==0.50.0 +markdown==3.10.3 +markdown-it-py==4.2.0 +markupsafe==3.0.4 +matplotlib==3.5.3 +mdit-py-plugins==0.6.1 +mdurl==0.1.2 +mergedeep==1.3.4 +mpmath==1.3.0 +msgpack==1.1.0 +msgpack-numpy==0.4.8 +mujoco==2.3.2 +multidict==7.1.0 +multiprocess==0.70.16 +mypy-extensions==1.2.0 +nbformat==5.11.1 +networkx==3.4.2 +numba==0.68.1 +numpy==1.26.4 +omegaconf==2.4.0 +opencv-python==4.6.0.66 +opencv-python-headless==4.12.0.88 +orderly-set==5.5.0 +packaging==25.0 +pandas==2.0.3 +pathtools==0.1.2 +pettingzoo==1.27.0 +pfzy==0.3.4 +pillow==12.3.0 +platformdirs==4.12.4 +pluggy==1.7.0 +promise==2.3 +prompt-toolkit==3.0.53 +propcache==0.5.4 +protobuf==3.20.3 +psutil==7.2.2 +pyarrow==12.0.1 +pydantic==2.14.2 +pydantic-core==2.50.2 +pygments==2.21.0 +pynput==1.8.2 +pyopengl==3.1.10 +pyparsing==3.3.3 +pyserial==3.5 +pytest==9.2.0 +python-dateutil==3.0.0 +python-xlib==0.33 +pytz==2026.6 +pyyaml==6.0.3 +pyyaml-include==1.4.1 +pyzmq==27.3.0 +referencing==0.37.0 +regex==2026.9.29 +requests==2.34.2 +rerun-sdk==0.26.2 +robomimic==0.2.0 +robosuite==1.4.0 +rpds-py==0.30.0 +safetensors==0.8.0 +scikit-image==0.25.2 +scipy==1.13.1 +sentry-sdk==2.73.0 +setproctitle==1.3.8 +setuptools==80.10.2 +shortuuid==1.0.13 +six==1.17.0 +smmap==5.0.3 +sympy==1.13.1 +tensorboard==2.20.0 +tensorboard-data-server==0.7.2 +tensorboardx==2.6.5 +termcolor==3.3.0 +thop==0.1.1.post2209072238 +tianshou==0.5.1 +tifffile==2025.5.10 +tokenizers==0.21.4 +toml==0.10.2 +tomli==2.5.0 +torch @ file:///home/doris/projects/vla.cpp/research-notes/tools/cpu-wheels/torch-2.5.1+cpu-cp310-cp310-linux_x86_64.whl +torchcodec==0.5 +torchvision @ file:///home/doris/projects/vla.cpp/research-notes/tools/cpu-wheels/torchvision-0.20.1+cpu-cp310-cp310-linux_x86_64.whl +tqdm==4.70.1 +traitlets==5.16.1 +transformers==4.51.3 +typeguard==4.6.0 +typing-extensions==4.16.0 +typing-inspect==0.9.0 +typing-inspection==0.4.4 +tyro==1.0.16 +tzdata==2026.6 +urllib3==2.8.0 +wandb==0.24.2 +wcwidth==0.9.4 +websockets==16.1.1 +werkzeug==3.1.9 +wrapt==2.5.2 +xxhash==4.0.2 +yarl==1.25.1 +zipp==4.1.2 +zmq==0.0.0 diff --git a/research-notes/smolvla-followup-20261104/libero-pip-check.log b/research-notes/smolvla-followup-20261104/libero-pip-check.log new file mode 100644 index 00000000..88a20481 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/libero-pip-check.log @@ -0,0 +1,10 @@ +Using Python 3.10.22 environment at: eval/sim/libero/libero_uv/.venv +Checked 170 packages in 1ms +Found 7 incompatibilities +The package `pettingzoo` requires `gymnasium>=1.0.0`, but `0.29.1` is installed +The package `datasets` requires `pyarrow>=21.0.0`, but `12.0.1` is installed +The package `opencv-python-headless` requires `numpy>=2,<2.3.0 ; python_full_version >= '3.9'`, but `1.26.4` is installed +The package `lerobot` requires `torchvision>=0.21.0,<0.23.0`, but `0.20.1+cpu` is installed +The package `lerobot` requires `gymnasium>=1.1.1,<2.0.0`, but `0.29.1` is installed +The package `rerun-sdk` requires `numpy>=2`, but `1.26.4` is installed +The package `rerun-sdk` requires `pyarrow>=18.0.0`, but `12.0.1` is installed diff --git a/research-notes/smolvla-followup-20261104/memory-all/children.json b/research-notes/smolvla-followup-20261104/memory-all/children.json new file mode 100644 index 00000000..e606cd03 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/memory-all/children.json @@ -0,0 +1,632 @@ +[ + { + "name": "defaults", + "trial": 0, + "pid": 89914, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-coupled-tail-30", + "trial": 0, + "pid": 90057, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-q4_0-lm", + "trial": 0, + "pid": 90170, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-q4_0-vision", + "trial": 0, + "pid": 90263, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-q5_0-lm", + "trial": 0, + "pid": 90314, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-q5_0-vision", + "trial": 0, + "pid": 90381, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-q8_0-lm", + "trial": 0, + "pid": 90425, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-q8_0-vision", + "trial": 0, + "pid": 90506, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-vision-spaced-10", + "trial": 0, + "pid": 90571, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-vision-tail-10", + "trial": 0, + "pid": 90662, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "defaults", + "trial": 1, + "pid": 90727, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-coupled-tail-30", + "trial": 1, + "pid": 90771, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-q4_0-lm", + "trial": 1, + "pid": 90816, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-q4_0-vision", + "trial": 1, + "pid": 90871, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-q5_0-lm", + "trial": 1, + "pid": 90920, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-q5_0-vision", + "trial": 1, + "pid": 90966, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-q8_0-lm", + "trial": 1, + "pid": 91035, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-q8_0-vision", + "trial": 1, + "pid": 91123, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-vision-spaced-10", + "trial": 1, + "pid": 91177, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-vision-tail-10", + "trial": 1, + "pid": 91273, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "defaults", + "trial": 2, + "pid": 91332, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-coupled-tail-30", + "trial": 2, + "pid": 91417, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-q4_0-lm", + "trial": 2, + "pid": 91473, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-q4_0-vision", + "trial": 2, + "pid": 91517, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-q5_0-lm", + "trial": 2, + "pid": 91555, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-q5_0-vision", + "trial": 2, + "pid": 91621, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-q8_0-lm", + "trial": 2, + "pid": 91665, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-lm.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-q8_0-vision", + "trial": 2, + "pid": 91754, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-vision.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-vision-spaced-10", + "trial": 2, + "pid": 91805, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + }, + { + "name": "smolvla-vision-tail-10", + "trial": 2, + "pid": 91876, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0 + } +] diff --git a/research-notes/smolvla-followup-20261104/memory-all/command.json b/research-notes/smolvla-followup-20261104/memory-all/command.json new file mode 100644 index 00000000..2ed6aca7 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/memory-all/command.json @@ -0,0 +1,12 @@ +[ + "nsys", + "profile", + "--trace=cuda", + "--cuda-memory-usage=true", + "--cuda-trace-all-apis=true", + "--sample=none", + "--cpuctxsw=none", + "--output=/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/memory-all/all-models", + "python3", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/memory_children.py" +] diff --git a/research-notes/smolvla-followup-20261104/memory-all/summary.json b/research-notes/smolvla-followup-20261104/memory-all/summary.json new file mode 100644 index 00000000..5e1a8fb6 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/memory-all/summary.json @@ -0,0 +1,327 @@ +{ + "defaults": { + "peak_MiB": 1912.4694557189941, + "runs": [ + { + "name": "defaults", + "trial": 0, + "pid": 89914, + "device": 0, + "peak_bytes": 2005369572, + "peak_MiB": 1912.4694557189941, + "live_at_trace_end_bytes": 70681904 + }, + { + "name": "defaults", + "trial": 1, + "pid": 90727, + "device": 0, + "peak_bytes": 2005369572, + "peak_MiB": 1912.4694557189941, + "live_at_trace_end_bytes": 70681904 + }, + { + "name": "defaults", + "trial": 2, + "pid": 91332, + "device": 0, + "peak_bytes": 2005369572, + "peak_MiB": 1912.4694557189941, + "live_at_trace_end_bytes": 70681904 + } + ] + }, + "smolvla-coupled-tail-30": { + "peak_MiB": 1814.4006080627441, + "runs": [ + { + "name": "smolvla-coupled-tail-30", + "trial": 0, + "pid": 90057, + "device": 0, + "peak_bytes": 1902536932, + "peak_MiB": 1814.4006080627441, + "live_at_trace_end_bytes": 70681904 + }, + { + "name": "smolvla-coupled-tail-30", + "trial": 1, + "pid": 90771, + "device": 0, + "peak_bytes": 1902536932, + "peak_MiB": 1814.4006080627441, + "live_at_trace_end_bytes": 70681904 + }, + { + "name": "smolvla-coupled-tail-30", + "trial": 2, + "pid": 91417, + "device": 0, + "peak_bytes": 1902536932, + "peak_MiB": 1814.4006080627441, + "live_at_trace_end_bytes": 70681904 + } + ] + }, + "smolvla-q4_0-lm": { + "peak_MiB": 865.0710182189941, + "runs": [ + { + "name": "smolvla-q4_0-lm", + "trial": 0, + "pid": 90170, + "device": 0, + "peak_bytes": 907092708, + "peak_MiB": 865.0710182189941, + "live_at_trace_end_bytes": 70736150 + }, + { + "name": "smolvla-q4_0-lm", + "trial": 1, + "pid": 90816, + "device": 0, + "peak_bytes": 907092708, + "peak_MiB": 865.0710182189941, + "live_at_trace_end_bytes": 70736150 + }, + { + "name": "smolvla-q4_0-lm", + "trial": 2, + "pid": 91473, + "device": 0, + "peak_bytes": 907092708, + "peak_MiB": 865.0710182189941, + "live_at_trace_end_bytes": 70736150 + } + ] + }, + "smolvla-q4_0-vision": { + "peak_MiB": 729.7497425079346, + "runs": [ + { + "name": "smolvla-q4_0-vision", + "trial": 0, + "pid": 90263, + "device": 0, + "peak_bytes": 765198066, + "peak_MiB": 729.7497425079346, + "live_at_trace_end_bytes": 66541810 + }, + { + "name": "smolvla-q4_0-vision", + "trial": 1, + "pid": 90871, + "device": 0, + "peak_bytes": 765198066, + "peak_MiB": 729.7497425079346, + "live_at_trace_end_bytes": 66541810 + }, + { + "name": "smolvla-q4_0-vision", + "trial": 2, + "pid": 91517, + "device": 0, + "peak_bytes": 765198066, + "peak_MiB": 729.7497425079346, + "live_at_trace_end_bytes": 66541810 + } + ] + }, + "smolvla-q5_0-lm": { + "peak_MiB": 903.9772682189941, + "runs": [ + { + "name": "smolvla-q5_0-lm", + "trial": 0, + "pid": 90314, + "device": 0, + "peak_bytes": 947888868, + "peak_MiB": 903.9772682189941, + "live_at_trace_end_bytes": 70736150 + }, + { + "name": "smolvla-q5_0-lm", + "trial": 1, + "pid": 90920, + "device": 0, + "peak_bytes": 947888868, + "peak_MiB": 903.9772682189941, + "live_at_trace_end_bytes": 70736150 + }, + { + "name": "smolvla-q5_0-lm", + "trial": 2, + "pid": 91555, + "device": 0, + "peak_bytes": 947888868, + "peak_MiB": 903.9772682189941, + "live_at_trace_end_bytes": 70736150 + } + ] + }, + "smolvla-q5_0-vision": { + "peak_MiB": 778.7809925079346, + "runs": [ + { + "name": "smolvla-q5_0-vision", + "trial": 0, + "pid": 90381, + "device": 0, + "peak_bytes": 816611058, + "peak_MiB": 778.7809925079346, + "live_at_trace_end_bytes": 66541810 + }, + { + "name": "smolvla-q5_0-vision", + "trial": 1, + "pid": 90966, + "device": 0, + "peak_bytes": 816611058, + "peak_MiB": 778.7809925079346, + "live_at_trace_end_bytes": 66541810 + }, + { + "name": "smolvla-q5_0-vision", + "trial": 2, + "pid": 91621, + "device": 0, + "peak_bytes": 816611058, + "peak_MiB": 778.7809925079346, + "live_at_trace_end_bytes": 66541810 + } + ] + }, + "smolvla-q8_0-lm": { + "peak_MiB": 1020.6960182189941, + "runs": [ + { + "name": "smolvla-q8_0-lm", + "trial": 0, + "pid": 90425, + "device": 0, + "peak_bytes": 1070277348, + "peak_MiB": 1020.6960182189941, + "live_at_trace_end_bytes": 70736150 + }, + { + "name": "smolvla-q8_0-lm", + "trial": 1, + "pid": 91035, + "device": 0, + "peak_bytes": 1070277348, + "peak_MiB": 1020.6960182189941, + "live_at_trace_end_bytes": 70736150 + }, + { + "name": "smolvla-q8_0-lm", + "trial": 2, + "pid": 91665, + "device": 0, + "peak_bytes": 1070277348, + "peak_MiB": 1020.6960182189941, + "live_at_trace_end_bytes": 70736150 + } + ] + }, + "smolvla-q8_0-vision": { + "peak_MiB": 925.8820667266846, + "runs": [ + { + "name": "smolvla-q8_0-vision", + "trial": 0, + "pid": 90506, + "device": 0, + "peak_bytes": 970857714, + "peak_MiB": 925.8820667266846, + "live_at_trace_end_bytes": 66541810 + }, + { + "name": "smolvla-q8_0-vision", + "trial": 1, + "pid": 91123, + "device": 0, + "peak_bytes": 970857714, + "peak_MiB": 925.8820667266846, + "live_at_trace_end_bytes": 66541810 + }, + { + "name": "smolvla-q8_0-vision", + "trial": 2, + "pid": 91754, + "device": 0, + "peak_bytes": 970857714, + "peak_MiB": 925.8820667266846, + "live_at_trace_end_bytes": 66541810 + } + ] + }, + "smolvla-vision-spaced-10": { + "peak_MiB": 1885.3932838439941, + "runs": [ + { + "name": "smolvla-vision-spaced-10", + "trial": 0, + "pid": 90571, + "device": 0, + "peak_bytes": 1976978148, + "peak_MiB": 1885.3932838439941, + "live_at_trace_end_bytes": 70681904 + }, + { + "name": "smolvla-vision-spaced-10", + "trial": 1, + "pid": 91177, + "device": 0, + "peak_bytes": 1976978148, + "peak_MiB": 1885.3932838439941, + "live_at_trace_end_bytes": 70681904 + }, + { + "name": "smolvla-vision-spaced-10", + "trial": 2, + "pid": 91805, + "device": 0, + "peak_bytes": 1976978148, + "peak_MiB": 1885.3932838439941, + "live_at_trace_end_bytes": 70681904 + } + ] + }, + "smolvla-vision-tail-10": { + "peak_MiB": 1885.3932838439941, + "runs": [ + { + "name": "smolvla-vision-tail-10", + "trial": 0, + "pid": 90662, + "device": 0, + "peak_bytes": 1976978148, + "peak_MiB": 1885.3932838439941, + "live_at_trace_end_bytes": 70681904 + }, + { + "name": "smolvla-vision-tail-10", + "trial": 1, + "pid": 91273, + "device": 0, + "peak_bytes": 1976978148, + "peak_MiB": 1885.3932838439941, + "live_at_trace_end_bytes": 70681904 + }, + { + "name": "smolvla-vision-tail-10", + "trial": 2, + "pid": 91876, + "device": 0, + "peak_bytes": 1976978148, + "peak_MiB": 1885.3932838439941, + "live_at_trace_end_bytes": 70681904 + } + ] + }, + "_control_comparison": { + "previous_defaults_peak_MiB": 1912.4694557189941, + "current_defaults_peak_MiB": 1912.4694557189941, + "difference_MiB": 0.0 + } +} diff --git a/research-notes/smolvla-followup-20261104/memory-flash-mm/commands.json b/research-notes/smolvla-followup-20261104/memory-flash-mm/commands.json new file mode 100644 index 00000000..985d0033 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/memory-flash-mm/commands.json @@ -0,0 +1,80 @@ +[ + [ + "nsys", + "profile", + "--trace=cuda", + "--cuda-memory-usage=true", + "--cuda-trace-all-apis=true", + "--sample=none", + "--cpuctxsw=none", + "--output=/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/memory-flash-mm/flash-mm-1", + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--flash-attn", + "--mm-prec", + "default" + ], + [ + "nsys", + "profile", + "--trace=cuda", + "--cuda-memory-usage=true", + "--cuda-trace-all-apis=true", + "--sample=none", + "--cpuctxsw=none", + "--output=/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/memory-flash-mm/flash-mm-2", + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--flash-attn", + "--mm-prec", + "default" + ], + [ + "nsys", + "profile", + "--trace=cuda", + "--cuda-memory-usage=true", + "--cuda-trace-all-apis=true", + "--sample=none", + "--cpuctxsw=none", + "--output=/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/memory-flash-mm/flash-mm-3", + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--flash-attn", + "--mm-prec", + "default" + ] +] diff --git a/research-notes/smolvla-followup-20261104/memory-flash-mm/flash-mm-1.allocations.csv b/research-notes/smolvla-followup-20261104/memory-flash-mm/flash-mm-1.allocations.csv new file mode 100644 index 00000000..8dd04ffe --- /dev/null +++ b/research-notes/smolvla-followup-20261104/memory-flash-mm/flash-mm-1.allocations.csv @@ -0,0 +1,156 @@ +timestamp_ns,globalPid,deviceId,address,memKind,operation,bytes,live_bytes +953261074,282873793871872,0,21613248512,2,0,1032836992,1032836992 +9768407106,282873793871872,0,22647144448,2,0,22020096,1054857088 +9776626792,282873793871872,0,22670213120,5,0,8,1054857096 +9776635435,282873793871872,0,22670213376,5,0,128,1054857224 +9776635653,282873793871872,0,22670213632,5,0,1024,1054858248 +9776635818,282873793871872,0,22670214656,5,0,2048,1054860296 +9776635962,282873793871872,0,22670216704,5,0,4096,1054864392 +9776636167,282873793871872,0,22670220800,5,0,8192,1054872584 +9776636316,282873793871872,0,22670228992,5,0,1024,1054873608 +9776636452,282873793871872,0,22670230016,5,0,2048,1054875656 +9776636591,282873793871872,0,22670232064,5,0,16,1054875672 +9776636763,282873793871872,0,22670232320,5,0,16,1054875688 +9776636888,282873793871872,0,22670232576,5,0,8192,1054883880 +9779998810,282873793871872,0,22670240768,5,0,128,1054884008 +9780623626,282873793871872,0,22672310272,2,0,1024,1054885032 +9780637926,282873793871872,0,22672311296,2,0,131072,1055016104 +9780876882,282873793871872,0,22674407424,2,0,8388608,1063404712 +9781131541,282873793871872,0,22682796032,2,0,4194304,1067599016 +9781615607,282873793871872,0,34359738368,2,0,2097152,1069696168 +9783404874,282873793871872,0,22670241024,5,0,8,1069696176 +9783406271,282873793871872,0,22670241280,5,0,128,1069696304 +9783411686,282873793871872,0,22670241536,5,0,1024,1069697328 +9783411862,282873793871872,0,22670242560,5,0,2048,1069699376 +9783412099,282873793871872,0,22670244608,5,0,4096,1069703472 +9783412511,282873793871872,0,22670248704,5,0,8192,1069711664 +9783412655,282873793871872,0,22670256896,5,0,1024,1069712688 +9783412853,282873793871872,0,22670257920,5,0,2048,1069714736 +9783413000,282873793871872,0,22670259968,5,0,16,1069714752 +9783413157,282873793871872,0,22670260224,5,0,16,1069714768 +9783413264,282873793871872,0,22670260480,5,0,8192,1069722960 +9783791667,282873793871872,0,34361835520,2,0,2097152,1071820112 +9876916860,282873793871872,0,22670268672,5,0,8,1071820120 +9876922363,282873793871872,0,22670268928,5,0,128,1071820248 +9876923765,282873793871872,0,22670269184,5,0,1024,1071821272 +9876924781,282873793871872,0,22670270208,5,0,2048,1071823320 +9876925418,282873793871872,0,22670272256,5,0,4096,1071827416 +9876925874,282873793871872,0,22670276352,5,0,8192,1071835608 +9876926171,282873793871872,0,22670284544,5,0,1024,1071836632 +9876928374,282873793871872,0,22670285568,5,0,2048,1071838680 +9876928551,282873793871872,0,22670287616,5,0,16,1071838696 +9876931583,282873793871872,0,22670287872,5,0,16,1071838712 +9876931714,282873793871872,0,22670288128,5,0,8192,1071846904 +9882245390,282873793871872,0,22670296320,5,0,8,1071846912 +9882248094,282873793871872,0,22670296576,5,0,128,1071847040 +9882248965,282873793871872,0,22670296832,5,0,1024,1071848064 +9882249958,282873793871872,0,22670297856,5,0,2048,1071850112 +9882250496,282873793871872,0,22670299904,5,0,4096,1071854208 +9882251497,282873793871872,0,22670304000,5,0,8192,1071862400 +9882252296,282873793871872,0,22670312192,5,0,1024,1071863424 +9882252807,282873793871872,0,22670313216,5,0,2048,1071865472 +9882256383,282873793871872,0,22670315264,5,0,16,1071865488 +9882256603,282873793871872,0,22670315520,5,0,16,1071865504 +9882256884,282873793871872,0,22670315776,5,0,8192,1071873696 +9884736194,282873793871872,0,22670323968,5,0,8,1071873704 +9884738628,282873793871872,0,22670324224,5,0,128,1071873832 +9884738982,282873793871872,0,22670324480,5,0,1024,1071874856 +9884739738,282873793871872,0,22670325504,5,0,2048,1071876904 +9884739903,282873793871872,0,22670327552,5,0,4096,1071881000 +9884740331,282873793871872,0,22670331648,5,0,8192,1071889192 +9884740986,282873793871872,0,22670339840,5,0,1024,1071890216 +9884743870,282873793871872,0,22670340864,5,0,2048,1071892264 +9884743997,282873793871872,0,22670342912,5,0,16,1071892280 +9884744171,282873793871872,0,22670343168,5,0,16,1071892296 +9884744603,282873793871872,0,22670343424,5,0,8192,1071900488 +10017458008,282873793871872,0,22670351616,5,0,8,1071900496 +10017466207,282873793871872,0,22670351872,5,0,128,1071900624 +10017467842,282873793871872,0,22670352128,5,0,1024,1071901648 +10017468763,282873793871872,0,22670353152,5,0,2048,1071903696 +10017476735,282873793871872,0,22670355200,5,0,4096,1071907792 +10017477064,282873793871872,0,22670359296,5,0,8192,1071915984 +10017477368,282873793871872,0,22670367488,5,0,1024,1071917008 +10017477605,282873793871872,0,22670368512,5,0,2048,1071919056 +10017478001,282873793871872,0,22670370560,5,0,16,1071919072 +10017478301,282873793871872,0,22670370816,5,0,16,1071919088 +10017480912,282873793871872,0,22670371072,5,0,8192,1071927280 +10017481325,282873793871872,0,22670379264,5,0,19,1071927299 +10017481533,282873793871872,0,22670379520,5,0,19,1071927318 +10017481717,282873793871872,0,22670379776,5,0,19,1071927337 +10017481957,282873793871872,0,22670380032,5,0,19,1071927356 +10017482164,282873793871872,0,22670380288,5,0,113,1071927469 +10017482402,282873793871872,0,22670380544,5,0,115,1071927584 +10017482750,282873793871872,0,22670380800,5,0,4,1071927588 +10026781083,282873793871872,0,22670381056,5,0,16,1071927604 +10026784362,282873793871872,0,22670381072,5,0,16,1071927620 +10045504308,282873793871872,0,22670381312,5,0,8,1071927628 +10045507051,282873793871872,0,22670381568,5,0,128,1071927756 +10045508181,282873793871872,0,22670381824,5,0,1024,1071928780 +10045508824,282873793871872,0,22670382848,5,0,2048,1071930828 +10045511881,282873793871872,0,22670384896,5,0,4096,1071934924 +10045512661,282873793871872,0,22670388992,5,0,8192,1071943116 +10045513041,282873793871872,0,22670397184,5,0,1024,1071944140 +10045513843,282873793871872,0,22670398208,5,0,2048,1071946188 +10045514930,282873793871872,0,22670400256,5,0,16,1071946204 +10045515362,282873793871872,0,22670400512,5,0,16,1071946220 +10045515549,282873793871872,0,22670400768,5,0,8192,1071954412 +10046099329,282873793871872,0,34363932672,2,0,2097152,1074051564 +10409993152,282873793871872,0,21512585216,2,0,16641664,1090693228 +10618647649,282873793871872,0,22670408960,5,0,8,1090693236 +10618649728,282873793871872,0,22670409216,5,0,128,1090693364 +10618650327,282873793871872,0,22670409472,5,0,1024,1090694388 +10618650887,282873793871872,0,22670410496,5,0,2048,1090696436 +10618651456,282873793871872,0,22670412544,5,0,4096,1090700532 +10618651638,282873793871872,0,22670416640,5,0,8192,1090708724 +10618651934,282873793871872,0,22670424832,5,0,1024,1090709748 +10618653219,282873793871872,0,22670425856,5,0,2048,1090711796 +10618654245,282873793871872,0,22670427904,5,0,16,1090711812 +10618657117,282873793871872,0,22670428160,5,0,16,1090711828 +10618657494,282873793871872,0,22670428416,5,0,8192,1090720020 +10619668069,282873793871872,0,22670436608,5,0,16,1090720036 +10619670567,282873793871872,0,22670436624,5,0,16,1090720052 +10712958272,282873793871872,0,22670436864,5,0,16,1090720068 +10712960833,282873793871872,0,22670436880,5,0,16,1090720084 +10716249924,282873793871872,0,22670437120,5,0,8,1090720092 +10716253112,282873793871872,0,22670437376,5,0,128,1090720220 +10716254703,282873793871872,0,22670437632,5,0,1024,1090721244 +10716256130,282873793871872,0,22670438656,5,0,2048,1090723292 +10716256359,282873793871872,0,22670440704,5,0,4096,1090727388 +10716257377,282873793871872,0,22670444800,5,0,8192,1090735580 +10716257562,282873793871872,0,22670452992,5,0,1024,1090736604 +10716259194,282873793871872,0,22670454016,5,0,2048,1090738652 +10716259943,282873793871872,0,22670456064,5,0,16,1090738668 +10716260110,282873793871872,0,22670456320,5,0,16,1090738684 +10716260419,282873793871872,0,22670456576,5,0,8192,1090746876 +10716870567,282873793871872,0,22670464768,5,0,8,1090746884 +10716872353,282873793871872,0,22670465024,5,0,128,1090747012 +10716873421,282873793871872,0,22670465280,5,0,1024,1090748036 +10716874716,282873793871872,0,22670466304,5,0,2048,1090750084 +10716874928,282873793871872,0,22670468352,5,0,4096,1090754180 +10716875739,282873793871872,0,22670472448,5,0,8192,1090762372 +10716876398,282873793871872,0,22670480640,5,0,1024,1090763396 +10716876789,282873793871872,0,22670481664,5,0,2048,1090765444 +10716878247,282873793871872,0,22670483712,5,0,16,1090765460 +10716878927,282873793871872,0,22670483968,5,0,16,1090765476 +10716879075,282873793871872,0,22670484224,5,0,8192,1090773668 +10745877613,282873793871872,0,22670492416,5,0,8,1090773676 +10745880679,282873793871872,0,22670492672,5,0,128,1090773804 +10745883626,282873793871872,0,22670492928,5,0,1024,1090774828 +10745885399,282873793871872,0,22670493952,5,0,2048,1090776876 +10745903633,282873793871872,0,22670496000,5,0,4096,1090780972 +10745903819,282873793871872,0,22670500096,5,0,8192,1090789164 +10745903975,282873793871872,0,22670508288,5,0,1024,1090790188 +10745904133,282873793871872,0,22670509312,5,0,2048,1090792236 +10745904414,282873793871872,0,22670511360,5,0,16,1090792252 +10745904657,282873793871872,0,22670511616,5,0,16,1090792268 +10745904864,282873793871872,0,22670511872,5,0,8192,1090800460 +13128084063,282873793871872,0,21613248512,2,1,1032836992,57963468 +13134090768,282873793871872,0,22672310272,2,1,1024,57962444 +13134108135,282873793871872,0,22672311296,2,1,131072,57831372 +13134240533,282873793871872,0,22674407424,2,1,8388608,49442764 +13134390574,282873793871872,0,22682796032,2,1,4194304,45248460 +13134637752,282873793871872,0,34359738368,2,1,2097152,43151308 +13134839267,282873793871872,0,34361835520,2,1,2097152,41054156 +13135007157,282873793871872,0,34363932672,2,1,2097152,38957004 +13145209191,282873793871872,0,21512585216,2,1,16641664,22315340 +13145587342,282873793871872,0,22647144448,2,1,22020096,295244 diff --git a/research-notes/smolvla-followup-20261104/memory-flash-mm/flash-mm-2.allocations.csv b/research-notes/smolvla-followup-20261104/memory-flash-mm/flash-mm-2.allocations.csv new file mode 100644 index 00000000..c88354e4 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/memory-flash-mm/flash-mm-2.allocations.csv @@ -0,0 +1,156 @@ +timestamp_ns,globalPid,deviceId,address,memKind,operation,bytes,live_bytes +565904852,282876109127680,0,21613248512,2,0,1032836992,1032836992 +1469492434,282876109127680,0,22647144448,2,0,22020096,1054857088 +1472665864,282876109127680,0,22670213120,5,0,8,1054857096 +1472673530,282876109127680,0,22670213376,5,0,128,1054857224 +1472673780,282876109127680,0,22670213632,5,0,1024,1054858248 +1472673935,282876109127680,0,22670214656,5,0,2048,1054860296 +1472674125,282876109127680,0,22670216704,5,0,4096,1054864392 +1472674497,282876109127680,0,22670220800,5,0,8192,1054872584 +1472674658,282876109127680,0,22670228992,5,0,1024,1054873608 +1472674795,282876109127680,0,22670230016,5,0,2048,1054875656 +1472674957,282876109127680,0,22670232064,5,0,16,1054875672 +1472675126,282876109127680,0,22670232320,5,0,16,1054875688 +1472675255,282876109127680,0,22670232576,5,0,8192,1054883880 +1473724812,282876109127680,0,22670240768,5,0,128,1054884008 +1474030513,282876109127680,0,22672310272,2,0,1024,1054885032 +1474042020,282876109127680,0,22672311296,2,0,131072,1055016104 +1474268484,282876109127680,0,22674407424,2,0,8388608,1063404712 +1474511900,282876109127680,0,22682796032,2,0,4194304,1067599016 +1474802085,282876109127680,0,34359738368,2,0,2097152,1069696168 +1475510458,282876109127680,0,22670241024,5,0,8,1069696176 +1475511635,282876109127680,0,22670241280,5,0,128,1069696304 +1475514866,282876109127680,0,22670241536,5,0,1024,1069697328 +1475515060,282876109127680,0,22670242560,5,0,2048,1069699376 +1475515218,282876109127680,0,22670244608,5,0,4096,1069703472 +1475515432,282876109127680,0,22670248704,5,0,8192,1069711664 +1475515588,282876109127680,0,22670256896,5,0,1024,1069712688 +1475515705,282876109127680,0,22670257920,5,0,2048,1069714736 +1475515885,282876109127680,0,22670259968,5,0,16,1069714752 +1475516140,282876109127680,0,22670260224,5,0,16,1069714768 +1475516301,282876109127680,0,22670260480,5,0,8192,1069722960 +1475895117,282876109127680,0,34361835520,2,0,2097152,1071820112 +1522100339,282876109127680,0,22670268672,5,0,8,1071820120 +1522105196,282876109127680,0,22670268928,5,0,128,1071820248 +1522105748,282876109127680,0,22670269184,5,0,1024,1071821272 +1522106496,282876109127680,0,22670270208,5,0,2048,1071823320 +1522107121,282876109127680,0,22670272256,5,0,4096,1071827416 +1522108103,282876109127680,0,22670276352,5,0,8192,1071835608 +1522108994,282876109127680,0,22670284544,5,0,1024,1071836632 +1522110816,282876109127680,0,22670285568,5,0,2048,1071838680 +1522110960,282876109127680,0,22670287616,5,0,16,1071838696 +1522113432,282876109127680,0,22670287872,5,0,16,1071838712 +1522113658,282876109127680,0,22670288128,5,0,8192,1071846904 +1525310324,282876109127680,0,22670296320,5,0,8,1071846912 +1525312628,282876109127680,0,22670296576,5,0,128,1071847040 +1525313014,282876109127680,0,22670296832,5,0,1024,1071848064 +1525313272,282876109127680,0,22670297856,5,0,2048,1071850112 +1525313470,282876109127680,0,22670299904,5,0,4096,1071854208 +1525313972,282876109127680,0,22670304000,5,0,8192,1071862400 +1525314334,282876109127680,0,22670312192,5,0,1024,1071863424 +1525314557,282876109127680,0,22670313216,5,0,2048,1071865472 +1525316801,282876109127680,0,22670315264,5,0,16,1071865488 +1525317151,282876109127680,0,22670315520,5,0,16,1071865504 +1525317295,282876109127680,0,22670315776,5,0,8192,1071873696 +1526437134,282876109127680,0,22670323968,5,0,8,1071873704 +1526438593,282876109127680,0,22670324224,5,0,128,1071873832 +1526438834,282876109127680,0,22670324480,5,0,1024,1071874856 +1526439531,282876109127680,0,22670325504,5,0,2048,1071876904 +1526439648,282876109127680,0,22670327552,5,0,4096,1071881000 +1526439750,282876109127680,0,22670331648,5,0,8192,1071889192 +1526439896,282876109127680,0,22670339840,5,0,1024,1071890216 +1526442510,282876109127680,0,22670340864,5,0,2048,1071892264 +1526442734,282876109127680,0,22670342912,5,0,16,1071892280 +1526443175,282876109127680,0,22670343168,5,0,16,1071892296 +1526444131,282876109127680,0,22670343424,5,0,8192,1071900488 +1606465312,282876109127680,0,22670351616,5,0,8,1071900496 +1606471643,282876109127680,0,22670351872,5,0,128,1071900624 +1606472547,282876109127680,0,22670352128,5,0,1024,1071901648 +1606473554,282876109127680,0,22670353152,5,0,2048,1071903696 +1606480772,282876109127680,0,22670355200,5,0,4096,1071907792 +1606481073,282876109127680,0,22670359296,5,0,8192,1071915984 +1606481315,282876109127680,0,22670367488,5,0,1024,1071917008 +1606481648,282876109127680,0,22670368512,5,0,2048,1071919056 +1606482025,282876109127680,0,22670370560,5,0,16,1071919072 +1606482244,282876109127680,0,22670370816,5,0,16,1071919088 +1606484324,282876109127680,0,22670371072,5,0,8192,1071927280 +1606484650,282876109127680,0,22670379264,5,0,19,1071927299 +1606484895,282876109127680,0,22670379520,5,0,19,1071927318 +1606485114,282876109127680,0,22670379776,5,0,19,1071927337 +1606485407,282876109127680,0,22670380032,5,0,19,1071927356 +1606485585,282876109127680,0,22670380288,5,0,113,1071927469 +1606485851,282876109127680,0,22670380544,5,0,115,1071927584 +1606486245,282876109127680,0,22670380800,5,0,4,1071927588 +1608779355,282876109127680,0,22670381056,5,0,16,1071927604 +1608781138,282876109127680,0,22670381072,5,0,16,1071927620 +1614773660,282876109127680,0,22670381312,5,0,8,1071927628 +1614775305,282876109127680,0,22670381568,5,0,128,1071927756 +1614775464,282876109127680,0,22670381824,5,0,1024,1071928780 +1614776091,282876109127680,0,22670382848,5,0,2048,1071930828 +1614777999,282876109127680,0,22670384896,5,0,4096,1071934924 +1614778663,282876109127680,0,22670388992,5,0,8192,1071943116 +1614779328,282876109127680,0,22670397184,5,0,1024,1071944140 +1614779835,282876109127680,0,22670398208,5,0,2048,1071946188 +1614780176,282876109127680,0,22670400256,5,0,16,1071946204 +1614780621,282876109127680,0,22670400512,5,0,16,1071946220 +1614780981,282876109127680,0,22670400768,5,0,8192,1071954412 +1615388455,282876109127680,0,34363932672,2,0,2097152,1074051564 +1677179695,282876109127680,0,21512585216,2,0,16641664,1090693228 +1750979764,282876109127680,0,22670408960,5,0,8,1090693236 +1750982102,282876109127680,0,22670409216,5,0,128,1090693364 +1750982687,282876109127680,0,22670409472,5,0,1024,1090694388 +1750983435,282876109127680,0,22670410496,5,0,2048,1090696436 +1750983560,282876109127680,0,22670412544,5,0,4096,1090700532 +1750983699,282876109127680,0,22670416640,5,0,8192,1090708724 +1750984259,282876109127680,0,22670424832,5,0,1024,1090709748 +1750984755,282876109127680,0,22670425856,5,0,2048,1090711796 +1750985311,282876109127680,0,22670427904,5,0,16,1090711812 +1750987685,282876109127680,0,22670428160,5,0,16,1090711828 +1750987798,282876109127680,0,22670428416,5,0,8192,1090720020 +1752381044,282876109127680,0,22670436608,5,0,16,1090720036 +1752382574,282876109127680,0,22670436624,5,0,16,1090720052 +1784469786,282876109127680,0,22670436864,5,0,16,1090720068 +1784472594,282876109127680,0,22670436880,5,0,16,1090720084 +1786930908,282876109127680,0,22670437120,5,0,8,1090720092 +1786932769,282876109127680,0,22670437376,5,0,128,1090720220 +1786934328,282876109127680,0,22670437632,5,0,1024,1090721244 +1786934708,282876109127680,0,22670438656,5,0,2048,1090723292 +1786935524,282876109127680,0,22670440704,5,0,4096,1090727388 +1786935643,282876109127680,0,22670444800,5,0,8192,1090735580 +1786936063,282876109127680,0,22670452992,5,0,1024,1090736604 +1786936521,282876109127680,0,22670454016,5,0,2048,1090738652 +1786937542,282876109127680,0,22670456064,5,0,16,1090738668 +1786937792,282876109127680,0,22670456320,5,0,16,1090738684 +1786938439,282876109127680,0,22670456576,5,0,8192,1090746876 +1787517575,282876109127680,0,22670464768,5,0,8,1090746884 +1787519649,282876109127680,0,22670465024,5,0,128,1090747012 +1787520189,282876109127680,0,22670465280,5,0,1024,1090748036 +1787520900,282876109127680,0,22670466304,5,0,2048,1090750084 +1787521134,282876109127680,0,22670468352,5,0,4096,1090754180 +1787521296,282876109127680,0,22670472448,5,0,8192,1090762372 +1787522323,282876109127680,0,22670480640,5,0,1024,1090763396 +1787523240,282876109127680,0,22670481664,5,0,2048,1090765444 +1787523370,282876109127680,0,22670483712,5,0,16,1090765460 +1787524054,282876109127680,0,22670483968,5,0,16,1090765476 +1787524210,282876109127680,0,22670484224,5,0,8192,1090773668 +1799594530,282876109127680,0,22670492416,5,0,8,1090773676 +1799597296,282876109127680,0,22670492672,5,0,128,1090773804 +1799598921,282876109127680,0,22670492928,5,0,1024,1090774828 +1799599497,282876109127680,0,22670493952,5,0,2048,1090776876 +1799616285,282876109127680,0,22670496000,5,0,4096,1090780972 +1799616453,282876109127680,0,22670500096,5,0,8192,1090789164 +1799616609,282876109127680,0,22670508288,5,0,1024,1090790188 +1799616762,282876109127680,0,22670509312,5,0,2048,1090792236 +1799616882,282876109127680,0,22670511360,5,0,16,1090792252 +1799617112,282876109127680,0,22670511616,5,0,16,1090792268 +1799617237,282876109127680,0,22670511872,5,0,8192,1090800460 +4054370232,282876109127680,0,21613248512,2,1,1032836992,57963468 +4060977167,282876109127680,0,22672310272,2,1,1024,57962444 +4060995181,282876109127680,0,22672311296,2,1,131072,57831372 +4061129707,282876109127680,0,22674407424,2,1,8388608,49442764 +4061260599,282876109127680,0,22682796032,2,1,4194304,45248460 +4061402178,282876109127680,0,34359738368,2,1,2097152,43151308 +4061587595,282876109127680,0,34361835520,2,1,2097152,41054156 +4061747526,282876109127680,0,34363932672,2,1,2097152,38957004 +4073248399,282876109127680,0,21512585216,2,1,16641664,22315340 +4073863886,282876109127680,0,22647144448,2,1,22020096,295244 diff --git a/research-notes/smolvla-followup-20261104/memory-flash-mm/flash-mm-3.allocations.csv b/research-notes/smolvla-followup-20261104/memory-flash-mm/flash-mm-3.allocations.csv new file mode 100644 index 00000000..fd5e721a --- /dev/null +++ b/research-notes/smolvla-followup-20261104/memory-flash-mm/flash-mm-3.allocations.csv @@ -0,0 +1,156 @@ +timestamp_ns,globalPid,deviceId,address,memKind,operation,bytes,live_bytes +477788713,282877853958144,0,21613248512,2,0,1032836992,1032836992 +1418593996,282877853958144,0,22647144448,2,0,22020096,1054857088 +1422009824,282877853958144,0,22670213120,5,0,8,1054857096 +1422018182,282877853958144,0,22670213376,5,0,128,1054857224 +1422018406,282877853958144,0,22670213632,5,0,1024,1054858248 +1422018609,282877853958144,0,22670214656,5,0,2048,1054860296 +1422018786,282877853958144,0,22670216704,5,0,4096,1054864392 +1422018966,282877853958144,0,22670220800,5,0,8192,1054872584 +1422019126,282877853958144,0,22670228992,5,0,1024,1054873608 +1422019263,282877853958144,0,22670230016,5,0,2048,1054875656 +1422019401,282877853958144,0,22670232064,5,0,16,1054875672 +1422019565,282877853958144,0,22670232320,5,0,16,1054875688 +1422019702,282877853958144,0,22670232576,5,0,8192,1054883880 +1423059590,282877853958144,0,22670240768,5,0,128,1054884008 +1423301534,282877853958144,0,22672310272,2,0,1024,1054885032 +1423313817,282877853958144,0,22672311296,2,0,131072,1055016104 +1423476722,282877853958144,0,22674407424,2,0,8388608,1063404712 +1423682027,282877853958144,0,22682796032,2,0,4194304,1067599016 +1423935023,282877853958144,0,34359738368,2,0,2097152,1069696168 +1424682201,282877853958144,0,22670241024,5,0,8,1069696176 +1424683261,282877853958144,0,22670241280,5,0,128,1069696304 +1424686952,282877853958144,0,22670241536,5,0,1024,1069697328 +1424687144,282877853958144,0,22670242560,5,0,2048,1069699376 +1424687296,282877853958144,0,22670244608,5,0,4096,1069703472 +1424687436,282877853958144,0,22670248704,5,0,8192,1069711664 +1424687631,282877853958144,0,22670256896,5,0,1024,1069712688 +1424687765,282877853958144,0,22670257920,5,0,2048,1069714736 +1424687903,282877853958144,0,22670259968,5,0,16,1069714752 +1424688124,282877853958144,0,22670260224,5,0,16,1069714768 +1424688255,282877853958144,0,22670260480,5,0,8192,1069722960 +1425129876,282877853958144,0,34361835520,2,0,2097152,1071820112 +1479357296,282877853958144,0,22670268672,5,0,8,1071820120 +1479362316,282877853958144,0,22670268928,5,0,128,1071820248 +1479363140,282877853958144,0,22670269184,5,0,1024,1071821272 +1479372047,282877853958144,0,22670270208,5,0,2048,1071823320 +1479372617,282877853958144,0,22670272256,5,0,4096,1071827416 +1479372827,282877853958144,0,22670276352,5,0,8192,1071835608 +1479373369,282877853958144,0,22670284544,5,0,1024,1071836632 +1479376405,282877853958144,0,22670285568,5,0,2048,1071838680 +1479376605,282877853958144,0,22670287616,5,0,16,1071838696 +1479378872,282877853958144,0,22670287872,5,0,16,1071838712 +1479379005,282877853958144,0,22670288128,5,0,8192,1071846904 +1482397302,282877853958144,0,22670296320,5,0,8,1071846912 +1482398865,282877853958144,0,22670296576,5,0,128,1071847040 +1482399634,282877853958144,0,22670296832,5,0,1024,1071848064 +1482400281,282877853958144,0,22670297856,5,0,2048,1071850112 +1482400872,282877853958144,0,22670299904,5,0,4096,1071854208 +1482401163,282877853958144,0,22670304000,5,0,8192,1071862400 +1482401744,282877853958144,0,22670312192,5,0,1024,1071863424 +1482401895,282877853958144,0,22670313216,5,0,2048,1071865472 +1482404292,282877853958144,0,22670315264,5,0,16,1071865488 +1482404600,282877853958144,0,22670315520,5,0,16,1071865504 +1482404825,282877853958144,0,22670315776,5,0,8192,1071873696 +1483468022,282877853958144,0,22670323968,5,0,8,1071873704 +1483469470,282877853958144,0,22670324224,5,0,128,1071873832 +1483469910,282877853958144,0,22670324480,5,0,1024,1071874856 +1483470529,282877853958144,0,22670325504,5,0,2048,1071876904 +1483471145,282877853958144,0,22670327552,5,0,4096,1071881000 +1483471450,282877853958144,0,22670331648,5,0,8192,1071889192 +1483471767,282877853958144,0,22670339840,5,0,1024,1071890216 +1483474058,282877853958144,0,22670340864,5,0,2048,1071892264 +1483474551,282877853958144,0,22670342912,5,0,16,1071892280 +1483474683,282877853958144,0,22670343168,5,0,16,1071892296 +1483474888,282877853958144,0,22670343424,5,0,8192,1071900488 +1575454459,282877853958144,0,22670351616,5,0,8,1071900496 +1575463346,282877853958144,0,22670351872,5,0,128,1071900624 +1575464781,282877853958144,0,22670352128,5,0,1024,1071901648 +1575465637,282877853958144,0,22670353152,5,0,2048,1071903696 +1575474882,282877853958144,0,22670355200,5,0,4096,1071907792 +1575475343,282877853958144,0,22670359296,5,0,8192,1071915984 +1575475688,282877853958144,0,22670367488,5,0,1024,1071917008 +1575475882,282877853958144,0,22670368512,5,0,2048,1071919056 +1575476140,282877853958144,0,22670370560,5,0,16,1071919072 +1575476541,282877853958144,0,22670370816,5,0,16,1071919088 +1575479710,282877853958144,0,22670371072,5,0,8192,1071927280 +1575480009,282877853958144,0,22670379264,5,0,19,1071927299 +1575480230,282877853958144,0,22670379520,5,0,19,1071927318 +1575480493,282877853958144,0,22670379776,5,0,19,1071927337 +1575480806,282877853958144,0,22670380032,5,0,19,1071927356 +1575481024,282877853958144,0,22670380288,5,0,113,1071927469 +1575481297,282877853958144,0,22670380544,5,0,115,1071927584 +1575481464,282877853958144,0,22670380800,5,0,4,1071927588 +1577426339,282877853958144,0,22670381056,5,0,16,1071927604 +1577428431,282877853958144,0,22670381072,5,0,16,1071927620 +1581555044,282877853958144,0,22670381312,5,0,8,1071927628 +1581556625,282877853958144,0,22670381568,5,0,128,1071927756 +1581556843,282877853958144,0,22670381824,5,0,1024,1071928780 +1581556972,282877853958144,0,22670382848,5,0,2048,1071930828 +1581559242,282877853958144,0,22670384896,5,0,4096,1071934924 +1581559804,282877853958144,0,22670388992,5,0,8192,1071943116 +1581560347,282877853958144,0,22670397184,5,0,1024,1071944140 +1581560488,282877853958144,0,22670398208,5,0,2048,1071946188 +1581561361,282877853958144,0,22670400256,5,0,16,1071946204 +1581561746,282877853958144,0,22670400512,5,0,16,1071946220 +1581561885,282877853958144,0,22670400768,5,0,8192,1071954412 +1582142546,282877853958144,0,34363932672,2,0,2097152,1074051564 +1641436535,282877853958144,0,21512585216,2,0,16641664,1090693228 +1733898429,282877853958144,0,22670408960,5,0,8,1090693236 +1733901858,282877853958144,0,22670409216,5,0,128,1090693364 +1733902936,282877853958144,0,22670409472,5,0,1024,1090694388 +1733904606,282877853958144,0,22670410496,5,0,2048,1090696436 +1733904859,282877853958144,0,22670412544,5,0,4096,1090700532 +1733905001,282877853958144,0,22670416640,5,0,8192,1090708724 +1733905915,282877853958144,0,22670424832,5,0,1024,1090709748 +1733906183,282877853958144,0,22670425856,5,0,2048,1090711796 +1733920839,282877853958144,0,22670427904,5,0,16,1090711812 +1733924582,282877853958144,0,22670428160,5,0,16,1090711828 +1733925267,282877853958144,0,22670428416,5,0,8192,1090720020 +1735511593,282877853958144,0,22670436608,5,0,16,1090720036 +1735514017,282877853958144,0,22670436624,5,0,16,1090720052 +1759311532,282877853958144,0,22670436864,5,0,16,1090720068 +1759313706,282877853958144,0,22670436880,5,0,16,1090720084 +1761926060,282877853958144,0,22670437120,5,0,8,1090720092 +1761927785,282877853958144,0,22670437376,5,0,128,1090720220 +1761929202,282877853958144,0,22670437632,5,0,1024,1090721244 +1761929950,282877853958144,0,22670438656,5,0,2048,1090723292 +1761930191,282877853958144,0,22670440704,5,0,4096,1090727388 +1761930327,282877853958144,0,22670444800,5,0,8192,1090735580 +1761931245,282877853958144,0,22670452992,5,0,1024,1090736604 +1761931666,282877853958144,0,22670454016,5,0,2048,1090738652 +1761932400,282877853958144,0,22670456064,5,0,16,1090738668 +1761932534,282877853958144,0,22670456320,5,0,16,1090738684 +1761943762,282877853958144,0,22670456576,5,0,8192,1090746876 +1762512685,282877853958144,0,22670464768,5,0,8,1090746884 +1762515121,282877853958144,0,22670465024,5,0,128,1090747012 +1762515856,282877853958144,0,22670465280,5,0,1024,1090748036 +1762517109,282877853958144,0,22670466304,5,0,2048,1090750084 +1762518035,282877853958144,0,22670468352,5,0,4096,1090754180 +1762518277,282877853958144,0,22670472448,5,0,8192,1090762372 +1762519638,282877853958144,0,22670480640,5,0,1024,1090763396 +1762520231,282877853958144,0,22670481664,5,0,2048,1090765444 +1762520392,282877853958144,0,22670483712,5,0,16,1090765460 +1762520521,282877853958144,0,22670483968,5,0,16,1090765476 +1762520718,282877853958144,0,22670484224,5,0,8192,1090773668 +1775056433,282877853958144,0,22670492416,5,0,8,1090773676 +1775064239,282877853958144,0,22670492672,5,0,128,1090773804 +1775066574,282877853958144,0,22670492928,5,0,1024,1090774828 +1775085168,282877853958144,0,22670493952,5,0,2048,1090776876 +1775104473,282877853958144,0,22670496000,5,0,4096,1090780972 +1775104693,282877853958144,0,22670500096,5,0,8192,1090789164 +1775104807,282877853958144,0,22670508288,5,0,1024,1090790188 +1775105050,282877853958144,0,22670509312,5,0,2048,1090792236 +1775105231,282877853958144,0,22670511360,5,0,16,1090792252 +1775105392,282877853958144,0,22670511616,5,0,16,1090792268 +1775105560,282877853958144,0,22670511872,5,0,8192,1090800460 +4007906458,282877853958144,0,21613248512,2,1,1032836992,57963468 +4013635619,282877853958144,0,22672310272,2,1,1024,57962444 +4013651311,282877853958144,0,22672311296,2,1,131072,57831372 +4013814519,282877853958144,0,22674407424,2,1,8388608,49442764 +4013958184,282877853958144,0,22682796032,2,1,4194304,45248460 +4014090133,282877853958144,0,34359738368,2,1,2097152,43151308 +4014270054,282877853958144,0,34361835520,2,1,2097152,41054156 +4014430349,282877853958144,0,34363932672,2,1,2097152,38957004 +4023044552,282877853958144,0,21512585216,2,1,16641664,22315340 +4023415642,282877853958144,0,22647144448,2,1,22020096,295244 diff --git a/research-notes/smolvla-followup-20261104/memory-flash-mm/memory-summary.json b/research-notes/smolvla-followup-20261104/memory-flash-mm/memory-summary.json new file mode 100644 index 00000000..08a3845a --- /dev/null +++ b/research-notes/smolvla-followup-20261104/memory-flash-mm/memory-summary.json @@ -0,0 +1,179 @@ +[ + { + "trace": "flash-mm-1.sqlite", + "metric": "peak traced CUDA allocations (Device + Device Static), not NVML resident VRAM", + "process_device_groups": [ + { + "globalPid": 282873793871872, + "deviceId": 0, + "peak_bytes": 1090800460, + "peak_MiB": 1040.268383026123, + "live_at_trace_end_bytes": 295244 + } + ], + "counts": { + "allocations": 145, + "deallocations": 10 + }, + "vmm_events": [ + { + "api": "cuMemSetAccess", + "start": 9781615607, + "bytes": 2097152, + "memoryOperationType": 0 + }, + { + "api": "cuMemSetAccess", + "start": 9783791667, + "bytes": 2097152, + "memoryOperationType": 0 + }, + { + "api": "cuMemSetAccess", + "start": 10046099329, + "bytes": 2097152, + "memoryOperationType": 0 + }, + { + "api": "cuMemUnmap", + "start": 13134637752, + "bytes": 2097152, + "memoryOperationType": 1 + }, + { + "api": "cuMemUnmap", + "start": 13134839267, + "bytes": 2097152, + "memoryOperationType": 1 + }, + { + "api": "cuMemUnmap", + "start": 13135007157, + "bytes": 2097152, + "memoryOperationType": 1 + } + ], + "unmatched_frees": 0, + "negative_live_events": 0, + "lost_or_dropped_diagnostics": [], + "allocations_still_live_at_trace_end": 135 + }, + { + "trace": "flash-mm-2.sqlite", + "metric": "peak traced CUDA allocations (Device + Device Static), not NVML resident VRAM", + "process_device_groups": [ + { + "globalPid": 282876109127680, + "deviceId": 0, + "peak_bytes": 1090800460, + "peak_MiB": 1040.268383026123, + "live_at_trace_end_bytes": 295244 + } + ], + "counts": { + "allocations": 145, + "deallocations": 10 + }, + "vmm_events": [ + { + "api": "cuMemSetAccess", + "start": 1474802085, + "bytes": 2097152, + "memoryOperationType": 0 + }, + { + "api": "cuMemSetAccess", + "start": 1475895117, + "bytes": 2097152, + "memoryOperationType": 0 + }, + { + "api": "cuMemSetAccess", + "start": 1615388455, + "bytes": 2097152, + "memoryOperationType": 0 + }, + { + "api": "cuMemUnmap", + "start": 4061402178, + "bytes": 2097152, + "memoryOperationType": 1 + }, + { + "api": "cuMemUnmap", + "start": 4061587595, + "bytes": 2097152, + "memoryOperationType": 1 + }, + { + "api": "cuMemUnmap", + "start": 4061747526, + "bytes": 2097152, + "memoryOperationType": 1 + } + ], + "unmatched_frees": 0, + "negative_live_events": 0, + "lost_or_dropped_diagnostics": [], + "allocations_still_live_at_trace_end": 135 + }, + { + "trace": "flash-mm-3.sqlite", + "metric": "peak traced CUDA allocations (Device + Device Static), not NVML resident VRAM", + "process_device_groups": [ + { + "globalPid": 282877853958144, + "deviceId": 0, + "peak_bytes": 1090800460, + "peak_MiB": 1040.268383026123, + "live_at_trace_end_bytes": 295244 + } + ], + "counts": { + "allocations": 145, + "deallocations": 10 + }, + "vmm_events": [ + { + "api": "cuMemSetAccess", + "start": 1423935023, + "bytes": 2097152, + "memoryOperationType": 0 + }, + { + "api": "cuMemSetAccess", + "start": 1425129876, + "bytes": 2097152, + "memoryOperationType": 0 + }, + { + "api": "cuMemSetAccess", + "start": 1582142546, + "bytes": 2097152, + "memoryOperationType": 0 + }, + { + "api": "cuMemUnmap", + "start": 4014090133, + "bytes": 2097152, + "memoryOperationType": 1 + }, + { + "api": "cuMemUnmap", + "start": 4014270054, + "bytes": 2097152, + "memoryOperationType": 1 + }, + { + "api": "cuMemUnmap", + "start": 4014430349, + "bytes": 2097152, + "memoryOperationType": 1 + } + ], + "unmatched_frees": 0, + "negative_live_events": 0, + "lost_or_dropped_diagnostics": [], + "allocations_still_live_at_trace_end": 135 + } +] diff --git a/research-notes/smolvla-followup-20261104/memory-flash-mm/summarize_memory.py b/research-notes/smolvla-followup-20261104/memory-flash-mm/summarize_memory.py new file mode 100644 index 00000000..59f8bda5 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/memory-flash-mm/summarize_memory.py @@ -0,0 +1,85 @@ +"""Extract per-process CUDA allocation high-water marks from nsys SQLite exports. + +Run: python3 research-notes/smolvla-vram-20261104/summarize_memory.py +Includes Device and Device Static events, excludes host/pinned memory. +This is not an NVML resident-VRAM reading and excludes unreported driver overhead. +""" +from pathlib import Path +import collections +import csv +import json +import sqlite3 + +out = Path(__file__).resolve().parent +summaries = [] +for path in sorted(out.glob('flash-mm-*.sqlite')): + with sqlite3.connect(path) as db: + db.row_factory = sqlite3.Row + kinds = {r['label']: r['id'] for r in db.execute('SELECT * FROM ENUM_CUDA_MEM_KIND')} + ops = {r['label']: r['id'] for r in db.execute('SELECT * FROM ENUM_CUDA_DEV_MEM_EVENT_OPER')} + events = db.execute('SELECT rowid, * FROM CUDA_GPU_MEMORY_USAGE_EVENTS ORDER BY start,rowid').fetchall() + live = collections.defaultdict(int) + peak = collections.defaultdict(int) + counts = collections.Counter() + ledger = {} + unmatched = [] + negative = [] + rows = [] + for event in events: + if event['memKind'] not in (kinds['Device'], kinds['Device Static']): + continue + group = (event['globalPid'], event['deviceId']) + address = (*group, event['address']) + operation = event['memoryOperationType'] + if operation == ops['Allocation']: + if address in ledger: + raise ValueError(f'duplicate active allocation address: {address}') + ledger[address] = event['bytes'] + delta = event['bytes'] + counts['allocations'] += 1 + elif operation == ops['Deallocation']: + previous = ledger.pop(address, None) + if previous != event['bytes']: + unmatched.append(dict(event)) + delta = -event['bytes'] + counts['deallocations'] += 1 + else: + raise ValueError(f'unknown memory operation: {operation}') + live[group] += delta + peak[group] = max(peak[group], live[group]) + if live[group] < 0: + negative.append(dict(event)) + rows.append([event['start'], *group, event['address'], event['memKind'], operation, event['bytes'], live[group]]) + vmm = [dict(r) for r in db.execute(""" + SELECT s.value AS api, e.start, e.bytes, e.memoryOperationType + FROM CUDA_GPU_MEMORY_USAGE_EVENTS e + JOIN CUPTI_ACTIVITY_KIND_RUNTIME r ON e.correlationId=r.correlationId + JOIN StringIds s ON r.nameId=s.id + WHERE s.value IN ('cuMemSetAccess','cuMemMap','cuMemUnmap') + ORDER BY e.start + """)] + diagnostics = [dict(r) for r in db.execute('SELECT * FROM DIAGNOSTIC_EVENT')] + lost = [r for r in diagnostics if 'lost' in r['text'].lower() or 'drop' in r['text'].lower()] + if unmatched or negative or lost or len(peak) != 1: + raise ValueError(f'check trace completeness for {path}: unmatched={unmatched}, negative={negative}, lost={lost}, groups={list(peak)}') + with path.with_suffix('.allocations.csv').open('w') as f: + writer = csv.writer(f) + writer.writerow(['timestamp_ns', 'globalPid', 'deviceId', 'address', 'memKind', 'operation', 'bytes', 'live_bytes']) + writer.writerows(rows) + summary = { + 'trace': path.name, + 'metric': 'peak traced CUDA allocations (Device + Device Static), not NVML resident VRAM', + 'process_device_groups': [dict(globalPid=k[0], deviceId=k[1], peak_bytes=v, peak_MiB=v/1048576, live_at_trace_end_bytes=live[k]) for k,v in peak.items()], + 'counts': dict(counts), + 'vmm_events': vmm, + 'unmatched_frees': len(unmatched), + 'negative_live_events': len(negative), + 'lost_or_dropped_diagnostics': lost, + 'allocations_still_live_at_trace_end': len(ledger), + } + summaries.append(summary) +(out/'memory-summary.json').write_text(json.dumps(summaries, indent=2)+'\n') +for summary in summaries: + print(summary['trace'], summary['process_device_groups']) +if summaries: + print('Peak over all processes (MiB):', max(g['peak_MiB'] for s in summaries for g in s['process_device_groups'])) diff --git a/research-notes/smolvla-followup-20261104/memory_children.py b/research-notes/smolvla-followup-20261104/memory_children.py new file mode 100644 index 00000000..5f89b821 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/memory_children.py @@ -0,0 +1,18 @@ +"""Run serial child workloads under one nsys process-tree memory capture.""" +from pathlib import Path +import json,os,subprocess +root=Path(__file__).resolve().parents[2];base=Path(__file__).resolve().parent;out=base/'memory-all' +source=Path('/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf') +cases=[('defaults',source)]+[(p.stem,p) for p in sorted((root/'research-notes/generated-models').glob('*.gguf'))] +env={k:v for k,v in os.environ.items() if not k.startswith('VLA_')} +records=[] +for trial in range(3): + for name,model in cases: + command=[str(root/'build-cuda/vla-bench'),'--ckpt',str(model),'--images','2','--size','512','--tokens','16','--warmup','3','--reps','20'] + with (out/f'{name}-{trial}.log').open('w') as log: + process=subprocess.Popen(command,cwd=root,env=env,stdout=log,stderr=subprocess.STDOUT) + code=process.wait() + records.append(dict(name=name,trial=trial,pid=process.pid,command=command,exit=code)) + (out/'children.json').write_text(json.dumps(records,indent=2)+'\n') + print(name,'memory workload',trial+1,'exit',code,flush=True) + if code:raise SystemExit(code) diff --git a/research-notes/smolvla-followup-20261104/memory_flash_mm.py b/research-notes/smolvla-followup-20261104/memory_flash_mm.py new file mode 100644 index 00000000..b0a7c78f --- /dev/null +++ b/research-notes/smolvla-followup-20261104/memory_flash_mm.py @@ -0,0 +1,16 @@ +from pathlib import Path +import subprocess,json,os +root=Path(__file__).resolve().parents[2];base=Path(__file__).resolve().parent +out=base/'memory-flash-mm' +env={k:v for k,v in os.environ.items() if not k.startswith('VLA_')} +commands=[] +for trial in range(1,4): + prefix=out/f'flash-mm-{trial}' + command=['nsys','profile','--trace=cuda','--cuda-memory-usage=true','--cuda-trace-all-apis=true','--sample=none','--cpuctxsw=none','--output='+str(prefix),str(root/'build-cuda/vla-bench'),'--ckpt','/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf','--images','2','--size','512','--tokens','16','--warmup','3','--reps','20','--flash-attn','--mm-prec','default'] + commands.append(command) + (out/'commands.json').write_text(json.dumps(commands,indent=2)+'\n') + with (out/f'profile-{trial}.log').open('w') as log: + subprocess.run(command,stdout=log,stderr=subprocess.STDOUT,env=env,check=True,cwd=root) + subprocess.run(['nsys','export','--type','sqlite','--output',str(prefix)+'.sqlite',str(prefix)+'.nsys-rep'],check=True) + print('memory flash-mm trial',trial,'complete',flush=True) +subprocess.run(['python3',str(out/'summarize_memory.py')],check=True) diff --git a/research-notes/smolvla-followup-20261104/no-exact-attn.out b/research-notes/smolvla-followup-20261104/no-exact-attn.out new file mode 100644 index 00000000..26935969 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/no-exact-attn.out @@ -0,0 +1,1612 @@ +vla: arch = smolvla +vla: config = /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 416 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 1763.1 MiB +vla: [vram] after weights alloc used=2789.5 MiB free=3354.0 MiB (+1764.0 MiB) +action_len=1600 +-0.0457834825 +0.034108974 +0.111164264 +-0.0117292413 +-0.00135485455 +-0.000860020053 +-0.956040025 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0407753363 +0.00830539316 +0.173517972 +-0.0071759792 +-0.00338452868 +-0.00524722552 +-0.968269885 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0361569822 +0.00967722386 +0.180365771 +-0.00280019059 +-0.00208635954 +-0.00467855763 +-0.962896705 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0439176038 +0.0234080702 +0.187773287 +-0.00325953332 +-0.00417864416 +-0.0021244185 +-0.960104764 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0506247506 +0.0314141996 +0.202141106 +-0.00276548695 +-0.0056286836 +-0.00198193057 +-0.96084559 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0478705838 +0.0400849842 +0.203951985 +-0.00414561853 +-0.0042541055 +-0.00164001132 +-0.953923523 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0518912375 +0.061458841 +0.196258783 +-0.00467155315 +-0.00421427749 +0.000134915579 +-0.95996958 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0568841174 +0.0743444338 +0.198753774 +-0.00419002585 +-0.00549727771 +0.000414691865 +-0.953715026 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0550008789 +0.0902319923 +0.199093491 +-0.00505338283 +-0.00402825233 +-1.08317472e-05 +-0.954794049 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0564547554 +0.115316354 +0.189092249 +-0.00481217587 +-0.00343600474 +0.000501228496 +-0.959069312 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0609785095 +0.127522677 +0.174676269 +-0.0041395803 +-0.00412684493 +0.00130606722 +-0.956021249 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0610316768 +0.145502537 +0.162114114 +-0.00464282278 +-0.00263821706 +0.000785781071 +-0.95593971 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0625254884 +0.176627666 +0.14880085 +-0.00420607906 +-0.00259181485 +0.000714333262 +-0.96233511 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0670493022 +0.19478333 +0.136851162 +-0.00406557089 +-0.00330190081 +4.83728945e-06 +-0.959529698 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0665852949 +0.224437073 +0.120961748 +-0.00405783858 +-0.00172480429 +-0.000441285316 +-0.961043179 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0696909502 +0.24061811 +0.114991508 +-0.00371226622 +-0.00172703434 +-0.000415247865 +-0.962316394 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0754231885 +0.259742618 +0.104514785 +-0.00359335775 +-0.00234442111 +-0.00140600861 +-0.95890224 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0752009675 +0.28560701 +0.0946811214 +-0.00323625468 +-0.00189176714 +-0.0017146985 +-0.960523427 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0770504251 +0.301130891 +0.0856919959 +-0.00290522422 +-0.00247639511 +-0.00120202079 +-0.961879075 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0795639083 +0.31749171 +0.0771005973 +-0.00308790151 +-0.00289549958 +-0.00208229991 +-0.959139049 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0823444054 +0.332207233 +0.069153972 +-0.00265619601 +-0.0022886442 +-0.00298719318 +-0.961337149 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0868842378 +0.342509985 +0.0629972443 +-0.00254724221 +-0.00286492892 +-0.00239273859 +-0.960805953 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0926506594 +0.351287365 +0.061686717 +-0.00238303049 +-0.00302402768 +-0.00331094209 +-0.952608347 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0934645459 +0.361522168 +0.0521094128 +-0.00252864091 +-0.00248947088 +-0.00360576902 +-0.956739008 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0981627479 +0.368312955 +0.0474066958 +-0.00263978937 +-0.00322338659 +-0.00291779032 +-0.946901023 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101149477 +0.376390964 +0.0459996834 +-0.00243463647 +-0.00328228157 +-0.00378412404 +-0.950849771 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0987072214 +0.383724302 +0.0382203534 +-0.00245503127 +-0.00249763019 +-0.00438935729 +-0.956647933 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101872034 +0.385781527 +0.0354033038 +-0.00256387796 +-0.00309726223 +-0.00381889031 +-0.950491428 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106107332 +0.387033552 +0.0274318382 +-0.00220210361 +-0.00298582669 +-0.00478120474 +-0.95135808 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.104692928 +0.392445952 +0.0163336992 +-0.00214646058 +-0.00232827477 +-0.00466578081 +-0.958112121 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.10768909 +0.391747266 +0.0121379271 +-0.00243940903 +-0.00302878395 +-0.00534816133 +-0.952611089 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108505644 +0.390678734 +0.00127122551 +-0.00204880279 +-0.00292251166 +-0.00624518842 +-0.954800427 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107308336 +0.388204008 +-0.00905501097 +-0.00184814469 +-0.00212018052 +-0.0060934606 +-0.956753314 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109511532 +0.381569564 +-0.012488991 +-0.00219273777 +-0.00267801993 +-0.00741806952 +-0.953482687 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110206731 +0.372974306 +-0.0191946402 +-0.00176670752 +-0.00223285332 +-0.00796536449 +-0.954036951 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109675549 +0.364644349 +-0.0278352946 +-0.00155051472 +-0.00237632543 +-0.00785265118 +-0.956436813 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110609345 +0.354212224 +-0.0320707969 +-0.0019692739 +-0.00290712342 +-0.00896895304 +-0.954414129 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109953679 +0.346491992 +-0.0387860015 +-0.00145877223 +-0.00220488664 +-0.00959486607 +-0.956412733 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115114175 +0.340438187 +-0.0481164828 +-0.00130824861 +-0.00242979359 +-0.00910804886 +-0.955846429 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117179163 +0.334075511 +-0.0495173484 +-0.00106356153 +-0.00281520188 +-0.0102334311 +-0.953109741 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117418997 +0.327496111 +-0.0577857159 +-0.00137238554 +-0.00210669823 +-0.0107935145 +-0.956379533 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122147657 +0.32375443 +-0.0650356933 +-0.00139725022 +-0.00217462052 +-0.010251157 +-0.958455801 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124455623 +0.3147825 +-0.0636721402 +-0.00102870585 +-0.0028400775 +-0.0109788179 +-0.951240003 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.121733464 +0.307663918 +-0.0712367594 +-0.00121509028 +-0.00177464401 +-0.0112048667 +-0.955177665 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124375753 +0.302865326 +-0.0754508823 +-0.00141203892 +-0.00221117772 +-0.0107461624 +-0.951234221 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125038743 +0.292759657 +-0.0818553865 +-0.000919270155 +-0.00233008713 +-0.011414066 +-0.951410949 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122284032 +0.285621166 +-0.0892419815 +-0.00116891065 +-0.00146650011 +-0.0117408372 +-0.956819177 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125343621 +0.282664537 +-0.0912034661 +-0.00133887865 +-0.00189891458 +-0.0109331328 +-0.952635944 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126002252 +0.275812984 +-0.096033372 +-0.000994448783 +-0.00197875779 +-0.0114756618 +-0.952741444 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124813162 +0.272452176 +-0.101160303 +-0.000957234006 +-0.000983617269 +-0.0111091901 +-0.953422785 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/no-exact-both.out b/research-notes/smolvla-followup-20261104/no-exact-both.out new file mode 100644 index 00000000..26935969 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/no-exact-both.out @@ -0,0 +1,1612 @@ +vla: arch = smolvla +vla: config = /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 416 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 1763.1 MiB +vla: [vram] after weights alloc used=2789.5 MiB free=3354.0 MiB (+1764.0 MiB) +action_len=1600 +-0.0457834825 +0.034108974 +0.111164264 +-0.0117292413 +-0.00135485455 +-0.000860020053 +-0.956040025 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0407753363 +0.00830539316 +0.173517972 +-0.0071759792 +-0.00338452868 +-0.00524722552 +-0.968269885 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0361569822 +0.00967722386 +0.180365771 +-0.00280019059 +-0.00208635954 +-0.00467855763 +-0.962896705 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0439176038 +0.0234080702 +0.187773287 +-0.00325953332 +-0.00417864416 +-0.0021244185 +-0.960104764 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0506247506 +0.0314141996 +0.202141106 +-0.00276548695 +-0.0056286836 +-0.00198193057 +-0.96084559 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0478705838 +0.0400849842 +0.203951985 +-0.00414561853 +-0.0042541055 +-0.00164001132 +-0.953923523 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0518912375 +0.061458841 +0.196258783 +-0.00467155315 +-0.00421427749 +0.000134915579 +-0.95996958 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0568841174 +0.0743444338 +0.198753774 +-0.00419002585 +-0.00549727771 +0.000414691865 +-0.953715026 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0550008789 +0.0902319923 +0.199093491 +-0.00505338283 +-0.00402825233 +-1.08317472e-05 +-0.954794049 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0564547554 +0.115316354 +0.189092249 +-0.00481217587 +-0.00343600474 +0.000501228496 +-0.959069312 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0609785095 +0.127522677 +0.174676269 +-0.0041395803 +-0.00412684493 +0.00130606722 +-0.956021249 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0610316768 +0.145502537 +0.162114114 +-0.00464282278 +-0.00263821706 +0.000785781071 +-0.95593971 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0625254884 +0.176627666 +0.14880085 +-0.00420607906 +-0.00259181485 +0.000714333262 +-0.96233511 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0670493022 +0.19478333 +0.136851162 +-0.00406557089 +-0.00330190081 +4.83728945e-06 +-0.959529698 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0665852949 +0.224437073 +0.120961748 +-0.00405783858 +-0.00172480429 +-0.000441285316 +-0.961043179 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0696909502 +0.24061811 +0.114991508 +-0.00371226622 +-0.00172703434 +-0.000415247865 +-0.962316394 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0754231885 +0.259742618 +0.104514785 +-0.00359335775 +-0.00234442111 +-0.00140600861 +-0.95890224 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0752009675 +0.28560701 +0.0946811214 +-0.00323625468 +-0.00189176714 +-0.0017146985 +-0.960523427 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0770504251 +0.301130891 +0.0856919959 +-0.00290522422 +-0.00247639511 +-0.00120202079 +-0.961879075 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0795639083 +0.31749171 +0.0771005973 +-0.00308790151 +-0.00289549958 +-0.00208229991 +-0.959139049 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0823444054 +0.332207233 +0.069153972 +-0.00265619601 +-0.0022886442 +-0.00298719318 +-0.961337149 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0868842378 +0.342509985 +0.0629972443 +-0.00254724221 +-0.00286492892 +-0.00239273859 +-0.960805953 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0926506594 +0.351287365 +0.061686717 +-0.00238303049 +-0.00302402768 +-0.00331094209 +-0.952608347 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0934645459 +0.361522168 +0.0521094128 +-0.00252864091 +-0.00248947088 +-0.00360576902 +-0.956739008 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0981627479 +0.368312955 +0.0474066958 +-0.00263978937 +-0.00322338659 +-0.00291779032 +-0.946901023 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101149477 +0.376390964 +0.0459996834 +-0.00243463647 +-0.00328228157 +-0.00378412404 +-0.950849771 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0987072214 +0.383724302 +0.0382203534 +-0.00245503127 +-0.00249763019 +-0.00438935729 +-0.956647933 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101872034 +0.385781527 +0.0354033038 +-0.00256387796 +-0.00309726223 +-0.00381889031 +-0.950491428 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106107332 +0.387033552 +0.0274318382 +-0.00220210361 +-0.00298582669 +-0.00478120474 +-0.95135808 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.104692928 +0.392445952 +0.0163336992 +-0.00214646058 +-0.00232827477 +-0.00466578081 +-0.958112121 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.10768909 +0.391747266 +0.0121379271 +-0.00243940903 +-0.00302878395 +-0.00534816133 +-0.952611089 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108505644 +0.390678734 +0.00127122551 +-0.00204880279 +-0.00292251166 +-0.00624518842 +-0.954800427 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107308336 +0.388204008 +-0.00905501097 +-0.00184814469 +-0.00212018052 +-0.0060934606 +-0.956753314 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109511532 +0.381569564 +-0.012488991 +-0.00219273777 +-0.00267801993 +-0.00741806952 +-0.953482687 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110206731 +0.372974306 +-0.0191946402 +-0.00176670752 +-0.00223285332 +-0.00796536449 +-0.954036951 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109675549 +0.364644349 +-0.0278352946 +-0.00155051472 +-0.00237632543 +-0.00785265118 +-0.956436813 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110609345 +0.354212224 +-0.0320707969 +-0.0019692739 +-0.00290712342 +-0.00896895304 +-0.954414129 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109953679 +0.346491992 +-0.0387860015 +-0.00145877223 +-0.00220488664 +-0.00959486607 +-0.956412733 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115114175 +0.340438187 +-0.0481164828 +-0.00130824861 +-0.00242979359 +-0.00910804886 +-0.955846429 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117179163 +0.334075511 +-0.0495173484 +-0.00106356153 +-0.00281520188 +-0.0102334311 +-0.953109741 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117418997 +0.327496111 +-0.0577857159 +-0.00137238554 +-0.00210669823 +-0.0107935145 +-0.956379533 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122147657 +0.32375443 +-0.0650356933 +-0.00139725022 +-0.00217462052 +-0.010251157 +-0.958455801 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124455623 +0.3147825 +-0.0636721402 +-0.00102870585 +-0.0028400775 +-0.0109788179 +-0.951240003 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.121733464 +0.307663918 +-0.0712367594 +-0.00121509028 +-0.00177464401 +-0.0112048667 +-0.955177665 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124375753 +0.302865326 +-0.0754508823 +-0.00141203892 +-0.00221117772 +-0.0107461624 +-0.951234221 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125038743 +0.292759657 +-0.0818553865 +-0.000919270155 +-0.00233008713 +-0.011414066 +-0.951410949 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122284032 +0.285621166 +-0.0892419815 +-0.00116891065 +-0.00146650011 +-0.0117408372 +-0.956819177 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125343621 +0.282664537 +-0.0912034661 +-0.00133887865 +-0.00189891458 +-0.0109331328 +-0.952635944 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126002252 +0.275812984 +-0.096033372 +-0.000994448783 +-0.00197875779 +-0.0114756618 +-0.952741444 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124813162 +0.272452176 +-0.101160303 +-0.000957234006 +-0.000983617269 +-0.0111091901 +-0.953422785 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/no-exact-gemm.out b/research-notes/smolvla-followup-20261104/no-exact-gemm.out new file mode 100644 index 00000000..16c9492c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/no-exact-gemm.out @@ -0,0 +1,1612 @@ +vla: arch = smolvla +vla: config = /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 416 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 1763.1 MiB +vla: [vram] after weights alloc used=2789.5 MiB free=3354.0 MiB (+1764.0 MiB) +action_len=1600 +-0.0459292755 +0.0341953859 +0.111380555 +-0.0117479227 +-0.00130276568 +-0.000827913638 +-0.955941021 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0409535393 +0.00839561969 +0.173567623 +-0.00718310522 +-0.00332403276 +-0.00521435356 +-0.968266487 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0364043266 +0.00978957117 +0.180259198 +-0.00279493257 +-0.00202238094 +-0.0046483581 +-0.963026881 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0441624671 +0.023518689 +0.187531054 +-0.00325232884 +-0.00412750989 +-0.00208654278 +-0.960187614 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0508211404 +0.0315208621 +0.20181182 +-0.00275587779 +-0.00556899048 +-0.00195607846 +-0.961035192 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0481168181 +0.0402021967 +0.203507304 +-0.00413073879 +-0.00420359522 +-0.00160450698 +-0.953900695 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0521454811 +0.0615724251 +0.195817262 +-0.00465205312 +-0.00416458305 +0.000179628842 +-0.960034311 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.057125546 +0.0744654909 +0.198190033 +-0.00416312972 +-0.00544448942 +0.000444445293 +-0.953751504 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0552474782 +0.0903604701 +0.198524803 +-0.00502330577 +-0.00397205632 +3.38288955e-05 +-0.954802036 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0567289963 +0.115455031 +0.188435823 +-0.00477811648 +-0.00339048635 +0.000540214125 +-0.959164679 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0611783862 +0.127692863 +0.173895508 +-0.00410703477 +-0.00407716725 +0.00132880453 +-0.956106663 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0613110363 +0.145774573 +0.161288112 +-0.00461252034 +-0.00258826744 +0.000812980812 +-0.95600611 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.062781252 +0.176988751 +0.147910476 +-0.00416984176 +-0.00253205653 +0.000739258248 +-0.962402582 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0673238859 +0.195170179 +0.135933816 +-0.00403788127 +-0.003237959 +4.04343009e-05 +-0.959477901 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0668527856 +0.225084648 +0.120072447 +-0.0040273997 +-0.00166392513 +-0.000405945349 +-0.961005986 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0699436739 +0.241317227 +0.114043958 +-0.00368076563 +-0.00166478707 +-0.000405153725 +-0.962355077 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0756761953 +0.260480165 +0.103559814 +-0.00356320431 +-0.00227724854 +-0.00139288907 +-0.958776832 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0754467174 +0.286450297 +0.0936303958 +-0.00320748542 +-0.001822263 +-0.00168756489 +-0.960526884 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0773755088 +0.301988751 +0.0847595707 +-0.00288008223 +-0.00241805892 +-0.00118877739 +-0.961845994 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0798752531 +0.318407148 +0.0761555657 +-0.00306809694 +-0.00281785056 +-0.00206404342 +-0.95898968 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0826331899 +0.333106905 +0.0682327375 +-0.00263386872 +-0.00221640337 +-0.00297755352 +-0.961342394 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0871713236 +0.343411654 +0.0620126054 +-0.00253051706 +-0.00279493257 +-0.00238397764 +-0.960875988 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.092976816 +0.352109134 +0.0607408509 +-0.00235187262 +-0.00296045095 +-0.00329686049 +-0.952581763 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.093807213 +0.362307757 +0.0511165038 +-0.00251081563 +-0.00242645387 +-0.00358932395 +-0.956782937 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0984461829 +0.369093657 +0.0464726016 +-0.00261871889 +-0.00314341299 +-0.00291383825 +-0.946969032 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101479776 +0.377058178 +0.0450695232 +-0.00241838838 +-0.003201182 +-0.00377047481 +-0.950872362 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0990167633 +0.384353131 +0.037363641 +-0.00243317173 +-0.00242845528 +-0.00437981309 +-0.956552923 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102177538 +0.386311293 +0.0345103815 +-0.002544221 +-0.0030117901 +-0.00380470371 +-0.950489223 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106403433 +0.387463868 +0.0265679583 +-0.00218085479 +-0.00290853903 +-0.00477884663 +-0.951434314 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.105015509 +0.392766267 +0.0153573379 +-0.00212678034 +-0.00224885065 +-0.00465536257 +-0.958195508 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108022906 +0.391944557 +0.0111999512 +-0.00242293393 +-0.00293609686 +-0.00536249205 +-0.95263207 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108865373 +0.390826315 +0.000375665724 +-0.00203082035 +-0.00283798017 +-0.00624960195 +-0.954785168 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107667826 +0.388228446 +-0.0100272 +-0.00182676874 +-0.00202763313 +-0.00610639714 +-0.956821442 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109844662 +0.381451666 +-0.0134500936 +-0.00217823964 +-0.00258272979 +-0.00741820689 +-0.953450382 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110522516 +0.372876585 +-0.0201391876 +-0.00174460351 +-0.00213477481 +-0.00796917826 +-0.954102814 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110060059 +0.364292622 +-0.0287230238 +-0.00152715109 +-0.00228315033 +-0.00785809103 +-0.956465125 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110937797 +0.353769422 +-0.0329893753 +-0.00195254176 +-0.00281237438 +-0.00897077285 +-0.954507887 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110322915 +0.345952839 +-0.0397435799 +-0.00144116464 +-0.00211623637 +-0.00960329548 +-0.956501842 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115415893 +0.33977586 +-0.0490987487 +-0.00129180541 +-0.00233923085 +-0.00911582634 +-0.95596838 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117474355 +0.333389163 +-0.0504915565 +-0.00103267585 +-0.00272229221 +-0.0102462918 +-0.953025699 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117742456 +0.326791644 +-0.0587476715 +-0.00135422638 +-0.00201040879 +-0.0107997879 +-0.956496358 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122484021 +0.322899699 +-0.0660447776 +-0.00138096581 +-0.00206982996 +-0.0102602234 +-0.958528638 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124809437 +0.313825309 +-0.0646588653 +-0.00100804283 +-0.00275041722 +-0.0109823123 +-0.951194048 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122059189 +0.306751162 +-0.0721061155 +-0.0011989153 +-0.00168106332 +-0.0112186484 +-0.95513612 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124723069 +0.301912069 +-0.0762959123 +-0.00139054796 +-0.00212712586 +-0.0107525066 +-0.951275766 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125362456 +0.29181993 +-0.0828018114 +-0.000905683322 +-0.00223303493 +-0.0114273224 +-0.951536 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122644015 +0.284579605 +-0.0901383907 +-0.00114992377 +-0.00137727242 +-0.0117503367 +-0.956807613 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125641465 +0.281635255 +-0.0920918733 +-0.00131616695 +-0.00180637464 +-0.0109490231 +-0.952611804 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126308501 +0.274704874 +-0.0969400108 +-0.000971565198 +-0.00187887205 +-0.0114795752 +-0.952839851 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.12516439 +0.271317273 +-0.102007307 +-0.000939435849 +-0.000883858185 +-0.0111095123 +-0.953489244 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_0/episodes.csv b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_0/episodes.csv new file mode 100644 index 00000000..826d0025 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_0/episodes.csv @@ -0,0 +1,21 @@ +episode,success,steps,aborted +0,1,157,0 +1,1,181,0 +2,1,164,0 +3,0,500,0 +4,1,162,0 +5,1,178,0 +6,1,248,0 +7,1,154,0 +8,1,154,0 +9,1,163,0 +10,1,182,0 +11,1,151,0 +12,1,157,0 +13,1,187,0 +14,1,208,0 +15,1,163,0 +16,1,154,0 +17,1,125,0 +18,1,189,0 +19,0,500,0 diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_0/summary.txt b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_0/summary.txt new file mode 100644 index 00000000..e76cd1c4 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_0/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_0 +n_action_steps: 1 +Success rate: 90.00% (18/20) +Skipped (terminated mid-step): 0/20 +Average inference time per step: 135.43 ms diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_1/episodes.csv b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_1/episodes.csv new file mode 100644 index 00000000..cdd19cdc --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_1/episodes.csv @@ -0,0 +1,21 @@ +episode,success,steps,aborted +0,1,132,0 +1,1,155,0 +2,1,137,0 +3,1,189,0 +4,1,121,0 +5,1,141,0 +6,1,191,0 +7,1,139,0 +8,1,151,0 +9,1,121,0 +10,1,137,0 +11,1,122,0 +12,1,189,0 +13,1,125,0 +14,1,129,0 +15,1,122,0 +16,1,135,0 +17,1,130,0 +18,1,131,0 +19,1,128,0 diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_1/summary.txt b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_1/summary.txt new file mode 100644 index 00000000..4373c6c9 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_1/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_1 +n_action_steps: 1 +Success rate: 100.00% (20/20) +Skipped (terminated mid-step): 0/20 +Average inference time per step: 136.69 ms diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_2/episodes.csv b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_2/episodes.csv new file mode 100644 index 00000000..c4691eaf --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_2/episodes.csv @@ -0,0 +1,21 @@ +episode,success,steps,aborted +0,1,130,0 +1,1,138,0 +2,0,500,0 +3,1,150,0 +4,1,201,0 +5,1,132,0 +6,0,500,0 +7,1,149,0 +8,1,123,0 +9,1,128,0 +10,1,146,0 +11,1,112,0 +12,1,119,0 +13,1,160,0 +14,1,134,0 +15,1,130,0 +16,1,123,0 +17,1,136,0 +18,0,500,0 +19,1,139,0 diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_2/summary.txt b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_2/summary.txt new file mode 100644 index 00000000..3819b7f5 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_2/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_2 +n_action_steps: 1 +Success rate: 85.00% (17/20) +Skipped (terminated mid-step): 0/20 +Average inference time per step: 129.64 ms diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_3/episodes.csv b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_3/episodes.csv new file mode 100644 index 00000000..7eac2a06 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_3/episodes.csv @@ -0,0 +1,21 @@ +episode,success,steps,aborted +0,1,153,0 +1,1,129,0 +2,1,142,0 +3,1,135,0 +4,1,139,0 +5,1,133,0 +6,1,135,0 +7,0,500,0 +8,1,142,0 +9,1,147,0 +10,1,160,0 +11,1,121,0 +12,1,137,0 +13,1,136,0 +14,1,143,0 +15,1,148,0 +16,1,121,0 +17,0,500,0 +18,1,133,0 +19,0,500,0 diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_3/summary.txt b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_3/summary.txt new file mode 100644 index 00000000..2267b195 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_3/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_3 +n_action_steps: 1 +Success rate: 85.00% (17/20) +Skipped (terminated mid-step): 0/20 +Average inference time per step: 134.35 ms diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_4/episodes.csv b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_4/episodes.csv new file mode 100644 index 00000000..3d646a2b --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_4/episodes.csv @@ -0,0 +1,21 @@ +episode,success,steps,aborted +0,1,149,0 +1,1,152,0 +2,1,179,0 +3,1,158,0 +4,1,157,0 +5,1,150,0 +6,1,141,0 +7,1,161,0 +8,1,146,0 +9,1,146,0 +10,1,152,0 +11,1,164,0 +12,1,146,0 +13,1,168,0 +14,1,148,0 +15,1,165,0 +16,1,186,0 +17,0,500,0 +18,1,149,0 +19,1,166,0 diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_4/summary.txt b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_4/summary.txt new file mode 100644 index 00000000..892627d7 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_4/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_4 +n_action_steps: 1 +Success rate: 95.00% (19/20) +Skipped (terminated mid-step): 0/20 +Average inference time per step: 129.03 ms diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_5/episodes.csv b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_5/episodes.csv new file mode 100644 index 00000000..0544f9e2 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_5/episodes.csv @@ -0,0 +1,21 @@ +episode,success,steps,aborted +0,1,187,0 +1,1,148,0 +2,1,169,0 +3,1,158,0 +4,1,139,0 +5,1,146,0 +6,0,500,0 +7,0,500,0 +8,0,500,0 +9,1,184,0 +10,0,500,0 +11,1,132,0 +12,0,500,0 +13,1,157,0 +14,0,500,0 +15,1,136,0 +16,1,121,0 +17,0,500,0 +18,1,165,0 +19,1,135,0 diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_5/summary.txt b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_5/summary.txt new file mode 100644 index 00000000..7703a04b --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_5/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_5 +n_action_steps: 1 +Success rate: 65.00% (13/20) +Skipped (terminated mid-step): 0/20 +Average inference time per step: 131.35 ms diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_6/episodes.csv b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_6/episodes.csv new file mode 100644 index 00000000..ad894085 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_6/episodes.csv @@ -0,0 +1,21 @@ +episode,success,steps,aborted +0,1,144,0 +1,1,169,0 +2,1,168,0 +3,1,153,0 +4,0,500,0 +5,1,207,0 +6,0,500,0 +7,1,158,0 +8,1,172,0 +9,1,157,0 +10,1,172,0 +11,1,139,0 +12,0,500,0 +13,1,163,0 +14,1,184,0 +15,1,167,0 +16,1,152,0 +17,1,179,0 +18,0,500,0 +19,1,208,0 diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_6/summary.txt b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_6/summary.txt new file mode 100644 index 00000000..81e244af --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_6/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_6 +n_action_steps: 1 +Success rate: 80.00% (16/20) +Skipped (terminated mid-step): 0/20 +Average inference time per step: 129.38 ms diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_7/episodes.csv b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_7/episodes.csv new file mode 100644 index 00000000..c9ab61ea --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_7/episodes.csv @@ -0,0 +1,21 @@ +episode,success,steps,aborted +0,1,132,0 +1,1,212,0 +2,1,125,0 +3,1,136,0 +4,1,140,0 +5,1,138,0 +6,1,144,0 +7,1,129,0 +8,1,131,0 +9,1,135,0 +10,1,137,0 +11,1,140,0 +12,1,145,0 +13,1,153,0 +14,1,134,0 +15,1,127,0 +16,1,122,0 +17,1,128,0 +18,1,128,0 +19,1,146,0 diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_7/summary.txt b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_7/summary.txt new file mode 100644 index 00000000..640399da --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_7/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_7 +n_action_steps: 1 +Success rate: 100.00% (20/20) +Skipped (terminated mid-step): 0/20 +Average inference time per step: 137.36 ms diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_8/episodes.csv b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_8/episodes.csv new file mode 100644 index 00000000..654a0f46 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_8/episodes.csv @@ -0,0 +1,21 @@ +episode,success,steps,aborted +0,1,309,0 +1,1,164,0 +2,1,173,0 +3,1,225,0 +4,1,184,0 +5,1,198,0 +6,1,168,0 +7,1,155,0 +8,1,146,0 +9,1,169,0 +10,1,161,0 +11,1,172,0 +12,1,176,0 +13,1,189,0 +14,1,167,0 +15,1,183,0 +16,1,162,0 +17,1,160,0 +18,1,170,0 +19,1,170,0 diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_8/summary.txt b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_8/summary.txt new file mode 100644 index 00000000..d20779e2 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_8/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_8 +n_action_steps: 1 +Success rate: 100.00% (20/20) +Skipped (terminated mid-step): 0/20 +Average inference time per step: 126.98 ms diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/progress.json b/research-notes/smolvla-followup-20261104/official200-defaults/progress.json new file mode 100644 index 00000000..ecdd1e1b --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/progress.json @@ -0,0 +1,290 @@ +{ + "state": "complete", + "completed_tasks": 10, + "completed_episodes": 200, + "successes": 177, + "expected_episodes": 200, + "tasks": [ + { + "task_id": 0, + "episodes": 20, + "successes": 18, + "steps": [ + 157, + 181, + 164, + 500, + 162, + 178, + 248, + 154, + 154, + 163, + 182, + 151, + 157, + 187, + 208, + 163, + 154, + 125, + 189, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_0/episodes.csv" + }, + { + "task_id": 1, + "episodes": 20, + "successes": 20, + "steps": [ + 132, + 155, + 137, + 189, + 121, + 141, + 191, + 139, + 151, + 121, + 137, + 122, + 189, + 125, + 129, + 122, + 135, + 130, + 131, + 128 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_1/episodes.csv" + }, + { + "task_id": 2, + "episodes": 20, + "successes": 17, + "steps": [ + 130, + 138, + 500, + 150, + 201, + 132, + 500, + 149, + 123, + 128, + 146, + 112, + 119, + 160, + 134, + 130, + 123, + 136, + 500, + 139 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_2/episodes.csv" + }, + { + "task_id": 3, + "episodes": 20, + "successes": 17, + "steps": [ + 153, + 129, + 142, + 135, + 139, + 133, + 135, + 500, + 142, + 147, + 160, + 121, + 137, + 136, + 143, + 148, + 121, + 500, + 133, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_3/episodes.csv" + }, + { + "task_id": 4, + "episodes": 20, + "successes": 19, + "steps": [ + 149, + 152, + 179, + 158, + 157, + 150, + 141, + 161, + 146, + 146, + 152, + 164, + 146, + 168, + 148, + 165, + 186, + 500, + 149, + 166 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_4/episodes.csv" + }, + { + "task_id": 5, + "episodes": 20, + "successes": 13, + "steps": [ + 187, + 148, + 169, + 158, + 139, + 146, + 500, + 500, + 500, + 184, + 500, + 132, + 500, + 157, + 500, + 136, + 121, + 500, + 165, + 135 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_5/episodes.csv" + }, + { + "task_id": 6, + "episodes": 20, + "successes": 16, + "steps": [ + 144, + 169, + 168, + 153, + 500, + 207, + 500, + 158, + 172, + 157, + 172, + 139, + 500, + 163, + 184, + 167, + 152, + 179, + 500, + 208 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_6/episodes.csv" + }, + { + "task_id": 7, + "episodes": 20, + "successes": 20, + "steps": [ + 132, + 212, + 125, + 136, + 140, + 138, + 144, + 129, + 131, + 135, + 137, + 140, + 145, + 153, + 134, + 127, + 122, + 128, + 128, + 146 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_7/episodes.csv" + }, + { + "task_id": 8, + "episodes": 20, + "successes": 20, + "steps": [ + 309, + 164, + 173, + 225, + 184, + 198, + 168, + 155, + 146, + 169, + 161, + 172, + 176, + 189, + 167, + 183, + 162, + 160, + 170, + 170 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_8/episodes.csv" + }, + { + "task_id": 9, + "episodes": 20, + "successes": 17, + "steps": [ + 148, + 130, + 149, + 125, + 132, + 142, + 135, + 139, + 124, + 500, + 134, + 137, + 280, + 131, + 147, + 136, + 500, + 500, + 132, + 126 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/outputs/smolvla/libero_object/task_9/episodes.csv" + } + ], + "official_sr": 0.885 +} diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/protocol.json b/research-notes/smolvla-followup-20261104/official200-defaults/protocol.json new file mode 100644 index 00000000..b0651a7d --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/protocol.json @@ -0,0 +1,36 @@ +{ + "classification": "official evaluation", + "suite": "libero_object", + "tasks": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "episodes_per_task": 20, + "expected_total": 200, + "seed": 42, + "n_action_steps": 1, + "baseline": "repo defaults; known bit-exact test failures disclosed", + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15559", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf" + ], + "env": { + "MUJOCO_GL": "egl", + "CUDA_VISIBLE_DEVICES": "0", + "LIBERO_CONFIG_PATH": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/libero-config", + "TOKENIZERS_PARALLELISM": "false" + }, + "initial_states": "repo client defaults: episode_index=0, stride=1; same seed and initial states for later configs", + "aborts": "halt on any aborted/missing episode; never silently reduce denominator", + "noise": "repo default server random RNG; seed42 controls environment only" +} diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/outputs/smolvla/libero_object/task_9/episodes.csv b/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/outputs/smolvla/libero_object/task_9/episodes.csv new file mode 100644 index 00000000..7226ec70 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/outputs/smolvla/libero_object/task_9/episodes.csv @@ -0,0 +1,21 @@ +episode,success,steps,aborted +0,1,148,0 +1,1,130,0 +2,1,149,0 +3,1,125,0 +4,1,132,0 +5,1,142,0 +6,1,135,0 +7,1,139,0 +8,1,124,0 +9,0,500,0 +10,1,134,0 +11,1,137,0 +12,1,280,0 +13,1,131,0 +14,1,147,0 +15,1,136,0 +16,0,500,0 +17,0,500,0 +18,1,132,0 +19,1,126,0 diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/outputs/smolvla/libero_object/task_9/summary.txt b/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/outputs/smolvla/libero_object/task_9/summary.txt new file mode 100644 index 00000000..5d30a387 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/outputs/smolvla/libero_object/task_9/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_9 +n_action_steps: 1 +Success rate: 85.00% (17/20) +Skipped (terminated mid-step): 0/20 +Average inference time per step: 123.72 ms diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/progress.json b/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/progress.json new file mode 100644 index 00000000..72f44f67 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/progress.json @@ -0,0 +1,289 @@ +{ + "state": "complete", + "completed_tasks": 10, + "completed_episodes": 200, + "successes": 177, + "expected_episodes": 200, + "tasks": [ + { + "task_id": 0, + "episodes": 20, + "successes": 18, + "steps": [ + 157, + 181, + 164, + 500, + 162, + 178, + 248, + 154, + 154, + 163, + 182, + 151, + 157, + 187, + 208, + 163, + 154, + 125, + 189, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_0/episodes.csv" + }, + { + "task_id": 1, + "episodes": 20, + "successes": 20, + "steps": [ + 132, + 155, + 137, + 189, + 121, + 141, + 191, + 139, + 151, + 121, + 137, + 122, + 189, + 125, + 129, + 122, + 135, + 130, + 131, + 128 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_1/episodes.csv" + }, + { + "task_id": 2, + "episodes": 20, + "successes": 17, + "steps": [ + 130, + 138, + 500, + 150, + 201, + 132, + 500, + 149, + 123, + 128, + 146, + 112, + 119, + 160, + 134, + 130, + 123, + 136, + 500, + 139 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_2/episodes.csv" + }, + { + "task_id": 3, + "episodes": 20, + "successes": 17, + "steps": [ + 153, + 129, + 142, + 135, + 139, + 133, + 135, + 500, + 142, + 147, + 160, + 121, + 137, + 136, + 143, + 148, + 121, + 500, + 133, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_3/episodes.csv" + }, + { + "task_id": 4, + "episodes": 20, + "successes": 19, + "steps": [ + 149, + 152, + 179, + 158, + 157, + 150, + 141, + 161, + 146, + 146, + 152, + 164, + 146, + 168, + 148, + 165, + 186, + 500, + 149, + 166 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_4/episodes.csv" + }, + { + "task_id": 5, + "episodes": 20, + "successes": 13, + "steps": [ + 187, + 148, + 169, + 158, + 139, + 146, + 500, + 500, + 500, + 184, + 500, + 132, + 500, + 157, + 500, + 136, + 121, + 500, + 165, + 135 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_5/episodes.csv" + }, + { + "task_id": 6, + "episodes": 20, + "successes": 16, + "steps": [ + 144, + 169, + 168, + 153, + 500, + 207, + 500, + 158, + 172, + 157, + 172, + 139, + 500, + 163, + 184, + 167, + 152, + 179, + 500, + 208 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_6/episodes.csv" + }, + { + "task_id": 7, + "episodes": 20, + "successes": 20, + "steps": [ + 132, + 212, + 125, + 136, + 140, + 138, + 144, + 129, + 131, + 135, + 137, + 140, + 145, + 153, + 134, + 127, + 122, + 128, + 128, + 146 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_7/episodes.csv" + }, + { + "task_id": 8, + "episodes": 20, + "successes": 20, + "steps": [ + 309, + 164, + 173, + 225, + 184, + 198, + 168, + 155, + 146, + 169, + 161, + 172, + 176, + 189, + 167, + 183, + 162, + 160, + 170, + 170 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_8/episodes.csv" + }, + { + "task_id": 9, + "episodes": 20, + "successes": 17, + "steps": [ + 148, + 130, + 149, + 125, + 132, + 142, + 135, + 139, + 124, + 500, + 134, + 137, + 280, + 131, + 147, + 136, + 500, + 500, + 132, + 126 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/outputs/smolvla/libero_object/task_9/episodes.csv" + } + ] +} diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/protocol.json b/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/protocol.json new file mode 100644 index 00000000..06d8354e --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/protocol.json @@ -0,0 +1,41 @@ +{ + "classification": "official evaluation", + "suite": "libero_object", + "tasks": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "episodes_per_task": 20, + "expected_total": 200, + "seed": 42, + "n_action_steps": 1, + "baseline": "repo defaults; known bit-exact test failures disclosed", + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15559", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf" + ], + "env": { + "MUJOCO_GL": "egl", + "CUDA_VISIBLE_DEVICES": "0", + "LIBERO_CONFIG_PATH": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/libero-config", + "TOKENIZERS_PARALLELISM": "false" + }, + "initial_states": "repo client defaults: episode_index=0, stride=1; same seed and initial states for later configs", + "aborts": "halt on any aborted/missing episode; never silently reduce denominator", + "noise": "repo default server random RNG; seed42 controls environment only", + "recovery": { + "reason": "task9 interrupted by ZMQ receive timeout after process pause", + "policy": "rerun all 20 task9 episodes; exclude original partial task9; retain tasks0-8", + "receive_timeout_ms": -1 + } +} diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/result.json b/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/result.json new file mode 100644 index 00000000..ecdd1e1b --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/result.json @@ -0,0 +1,290 @@ +{ + "state": "complete", + "completed_tasks": 10, + "completed_episodes": 200, + "successes": 177, + "expected_episodes": 200, + "tasks": [ + { + "task_id": 0, + "episodes": 20, + "successes": 18, + "steps": [ + 157, + 181, + 164, + 500, + 162, + 178, + 248, + 154, + 154, + 163, + 182, + 151, + 157, + 187, + 208, + 163, + 154, + 125, + 189, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_0/episodes.csv" + }, + { + "task_id": 1, + "episodes": 20, + "successes": 20, + "steps": [ + 132, + 155, + 137, + 189, + 121, + 141, + 191, + 139, + 151, + 121, + 137, + 122, + 189, + 125, + 129, + 122, + 135, + 130, + 131, + 128 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_1/episodes.csv" + }, + { + "task_id": 2, + "episodes": 20, + "successes": 17, + "steps": [ + 130, + 138, + 500, + 150, + 201, + 132, + 500, + 149, + 123, + 128, + 146, + 112, + 119, + 160, + 134, + 130, + 123, + 136, + 500, + 139 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_2/episodes.csv" + }, + { + "task_id": 3, + "episodes": 20, + "successes": 17, + "steps": [ + 153, + 129, + 142, + 135, + 139, + 133, + 135, + 500, + 142, + 147, + 160, + 121, + 137, + 136, + 143, + 148, + 121, + 500, + 133, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_3/episodes.csv" + }, + { + "task_id": 4, + "episodes": 20, + "successes": 19, + "steps": [ + 149, + 152, + 179, + 158, + 157, + 150, + 141, + 161, + 146, + 146, + 152, + 164, + 146, + 168, + 148, + 165, + 186, + 500, + 149, + 166 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_4/episodes.csv" + }, + { + "task_id": 5, + "episodes": 20, + "successes": 13, + "steps": [ + 187, + 148, + 169, + 158, + 139, + 146, + 500, + 500, + 500, + 184, + 500, + 132, + 500, + 157, + 500, + 136, + 121, + 500, + 165, + 135 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_5/episodes.csv" + }, + { + "task_id": 6, + "episodes": 20, + "successes": 16, + "steps": [ + 144, + 169, + 168, + 153, + 500, + 207, + 500, + 158, + 172, + 157, + 172, + 139, + 500, + 163, + 184, + 167, + 152, + 179, + 500, + 208 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_6/episodes.csv" + }, + { + "task_id": 7, + "episodes": 20, + "successes": 20, + "steps": [ + 132, + 212, + 125, + 136, + 140, + 138, + 144, + 129, + 131, + 135, + 137, + 140, + 145, + 153, + 134, + 127, + 122, + 128, + 128, + 146 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_7/episodes.csv" + }, + { + "task_id": 8, + "episodes": 20, + "successes": 20, + "steps": [ + 309, + 164, + 173, + 225, + 184, + 198, + 168, + 155, + 146, + 169, + 161, + 172, + 176, + 189, + 167, + 183, + 162, + 160, + 170, + 170 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_8/episodes.csv" + }, + { + "task_id": 9, + "episodes": 20, + "successes": 17, + "steps": [ + 148, + 130, + 149, + 125, + 132, + 142, + 135, + 139, + 124, + 500, + 134, + 137, + 280, + 131, + 147, + 136, + 500, + 500, + 132, + 126 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/outputs/smolvla/libero_object/task_9/episodes.csv" + } + ], + "official_sr": 0.885 +} diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/task-9-command.json b/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/task-9-command.json new file mode 100644 index 00000000..661740d7 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/task-9-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15559", + "--task", + "libero_object", + "--task-id", + "9", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "20", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9/progress.json b/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9/progress.json new file mode 100644 index 00000000..3b53bca6 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9/progress.json @@ -0,0 +1,261 @@ +{ + "state": "failed: task 9 client exit 1", + "completed_tasks": 9, + "completed_episodes": 180, + "successes": 160, + "expected_episodes": 200, + "tasks": [ + { + "task_id": 0, + "episodes": 20, + "successes": 18, + "steps": [ + 157, + 181, + 164, + 500, + 162, + 178, + 248, + 154, + 154, + 163, + 182, + 151, + 157, + 187, + 208, + 163, + 154, + 125, + 189, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_0/episodes.csv" + }, + { + "task_id": 1, + "episodes": 20, + "successes": 20, + "steps": [ + 132, + 155, + 137, + 189, + 121, + 141, + 191, + 139, + 151, + 121, + 137, + 122, + 189, + 125, + 129, + 122, + 135, + 130, + 131, + 128 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_1/episodes.csv" + }, + { + "task_id": 2, + "episodes": 20, + "successes": 17, + "steps": [ + 130, + 138, + 500, + 150, + 201, + 132, + 500, + 149, + 123, + 128, + 146, + 112, + 119, + 160, + 134, + 130, + 123, + 136, + 500, + 139 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_2/episodes.csv" + }, + { + "task_id": 3, + "episodes": 20, + "successes": 17, + "steps": [ + 153, + 129, + 142, + 135, + 139, + 133, + 135, + 500, + 142, + 147, + 160, + 121, + 137, + 136, + 143, + 148, + 121, + 500, + 133, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_3/episodes.csv" + }, + { + "task_id": 4, + "episodes": 20, + "successes": 19, + "steps": [ + 149, + 152, + 179, + 158, + 157, + 150, + 141, + 161, + 146, + 146, + 152, + 164, + 146, + 168, + 148, + 165, + 186, + 500, + 149, + 166 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_4/episodes.csv" + }, + { + "task_id": 5, + "episodes": 20, + "successes": 13, + "steps": [ + 187, + 148, + 169, + 158, + 139, + 146, + 500, + 500, + 500, + 184, + 500, + 132, + 500, + 157, + 500, + 136, + 121, + 500, + 165, + 135 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_5/episodes.csv" + }, + { + "task_id": 6, + "episodes": 20, + "successes": 16, + "steps": [ + 144, + 169, + 168, + 153, + 500, + 207, + 500, + 158, + 172, + 157, + 172, + 139, + 500, + 163, + 184, + 167, + 152, + 179, + 500, + 208 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_6/episodes.csv" + }, + { + "task_id": 7, + "episodes": 20, + "successes": 20, + "steps": [ + 132, + 212, + 125, + 136, + 140, + 138, + 144, + 129, + 131, + 135, + 137, + 140, + 145, + 153, + 134, + 127, + 122, + 128, + 128, + 146 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_7/episodes.csv" + }, + { + "task_id": 8, + "episodes": 20, + "successes": 20, + "steps": [ + 309, + 164, + 173, + 225, + 184, + 198, + 168, + 155, + 146, + 169, + 161, + 172, + 176, + 189, + 167, + 183, + 162, + 160, + 170, + 170 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_8/episodes.csv" + } + ] +} diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9/protocol.json b/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9/protocol.json new file mode 100644 index 00000000..43064991 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9/protocol.json @@ -0,0 +1,41 @@ +{ + "classification": "official evaluation", + "suite": "libero_object", + "tasks": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "episodes_per_task": 20, + "expected_total": 200, + "seed": 42, + "n_action_steps": 1, + "baseline": "repo defaults; known bit-exact test failures disclosed", + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15559", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf" + ], + "env": { + "MUJOCO_GL": "egl", + "CUDA_VISIBLE_DEVICES": "0", + "LIBERO_CONFIG_PATH": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/official200-defaults/libero-config", + "TOKENIZERS_PARALLELISM": "false" + }, + "initial_states": "repo client defaults: episode_index=0, stride=1; same seed and initial states for later configs", + "aborts": "halt on any aborted/missing episode; never silently reduce denominator", + "noise": "repo default server random RNG; seed42 controls environment only", + "recovery": { + "reason": "task9 interrupted by ZMQ receive timeout after process pause", + "policy": "rerun all 20 task9 episodes; exclude original partial task9; retain tasks0-8", + "receive_timeout_ms": -1 + } +} diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9/task-9-command.json b/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9/task-9-command.json new file mode 100644 index 00000000..4d01fb50 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9/task-9-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15559", + "--task", + "libero_object", + "--task-id", + "9", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "20", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/result.json b/research-notes/smolvla-followup-20261104/official200-defaults/result.json new file mode 100644 index 00000000..ecdd1e1b --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/result.json @@ -0,0 +1,290 @@ +{ + "state": "complete", + "completed_tasks": 10, + "completed_episodes": 200, + "successes": 177, + "expected_episodes": 200, + "tasks": [ + { + "task_id": 0, + "episodes": 20, + "successes": 18, + "steps": [ + 157, + 181, + 164, + 500, + 162, + 178, + 248, + 154, + 154, + 163, + 182, + 151, + 157, + 187, + 208, + 163, + 154, + 125, + 189, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_0/episodes.csv" + }, + { + "task_id": 1, + "episodes": 20, + "successes": 20, + "steps": [ + 132, + 155, + 137, + 189, + 121, + 141, + 191, + 139, + 151, + 121, + 137, + 122, + 189, + 125, + 129, + 122, + 135, + 130, + 131, + 128 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_1/episodes.csv" + }, + { + "task_id": 2, + "episodes": 20, + "successes": 17, + "steps": [ + 130, + 138, + 500, + 150, + 201, + 132, + 500, + 149, + 123, + 128, + 146, + 112, + 119, + 160, + 134, + 130, + 123, + 136, + 500, + 139 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_2/episodes.csv" + }, + { + "task_id": 3, + "episodes": 20, + "successes": 17, + "steps": [ + 153, + 129, + 142, + 135, + 139, + 133, + 135, + 500, + 142, + 147, + 160, + 121, + 137, + 136, + 143, + 148, + 121, + 500, + 133, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_3/episodes.csv" + }, + { + "task_id": 4, + "episodes": 20, + "successes": 19, + "steps": [ + 149, + 152, + 179, + 158, + 157, + 150, + 141, + 161, + 146, + 146, + 152, + 164, + 146, + 168, + 148, + 165, + 186, + 500, + 149, + 166 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_4/episodes.csv" + }, + { + "task_id": 5, + "episodes": 20, + "successes": 13, + "steps": [ + 187, + 148, + 169, + 158, + 139, + 146, + 500, + 500, + 500, + 184, + 500, + 132, + 500, + 157, + 500, + 136, + 121, + 500, + 165, + 135 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_5/episodes.csv" + }, + { + "task_id": 6, + "episodes": 20, + "successes": 16, + "steps": [ + 144, + 169, + 168, + 153, + 500, + 207, + 500, + 158, + 172, + 157, + 172, + 139, + 500, + 163, + 184, + 167, + 152, + 179, + 500, + 208 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_6/episodes.csv" + }, + { + "task_id": 7, + "episodes": 20, + "successes": 20, + "steps": [ + 132, + 212, + 125, + 136, + 140, + 138, + 144, + 129, + 131, + 135, + 137, + 140, + 145, + 153, + 134, + 127, + 122, + 128, + 128, + 146 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_7/episodes.csv" + }, + { + "task_id": 8, + "episodes": 20, + "successes": 20, + "steps": [ + 309, + 164, + 173, + 225, + 184, + 198, + 168, + 155, + 146, + 169, + 161, + 172, + 176, + 189, + 167, + 183, + 162, + 160, + 170, + 170 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_8/episodes.csv" + }, + { + "task_id": 9, + "episodes": 20, + "successes": 17, + "steps": [ + 148, + 130, + 149, + 125, + 132, + 142, + 135, + 139, + 124, + 500, + 134, + 137, + 280, + 131, + 147, + 136, + 500, + 500, + 132, + 126 + ], + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/outputs/smolvla/libero_object/task_9/episodes.csv" + } + ], + "official_sr": 0.885 +} diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/task-0-command.json b/research-notes/smolvla-followup-20261104/official200-defaults/task-0-command.json new file mode 100644 index 00000000..2cb48cde --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/task-0-command.json @@ -0,0 +1,20 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15559", + "--task", + "libero_object", + "--task-id", + "0", + "--n-episodes", + "20", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/official200-defaults/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/task-1-command.json b/research-notes/smolvla-followup-20261104/official200-defaults/task-1-command.json new file mode 100644 index 00000000..cdc2c0eb --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/task-1-command.json @@ -0,0 +1,20 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15559", + "--task", + "libero_object", + "--task-id", + "1", + "--n-episodes", + "20", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/official200-defaults/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/task-2-command.json b/research-notes/smolvla-followup-20261104/official200-defaults/task-2-command.json new file mode 100644 index 00000000..a2e11f6e --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/task-2-command.json @@ -0,0 +1,20 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15559", + "--task", + "libero_object", + "--task-id", + "2", + "--n-episodes", + "20", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/official200-defaults/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/task-3-command.json b/research-notes/smolvla-followup-20261104/official200-defaults/task-3-command.json new file mode 100644 index 00000000..fa896c27 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/task-3-command.json @@ -0,0 +1,20 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15559", + "--task", + "libero_object", + "--task-id", + "3", + "--n-episodes", + "20", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/official200-defaults/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/task-4-command.json b/research-notes/smolvla-followup-20261104/official200-defaults/task-4-command.json new file mode 100644 index 00000000..a3e42331 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/task-4-command.json @@ -0,0 +1,20 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15559", + "--task", + "libero_object", + "--task-id", + "4", + "--n-episodes", + "20", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/official200-defaults/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/task-5-command.json b/research-notes/smolvla-followup-20261104/official200-defaults/task-5-command.json new file mode 100644 index 00000000..e761f8ac --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/task-5-command.json @@ -0,0 +1,20 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15559", + "--task", + "libero_object", + "--task-id", + "5", + "--n-episodes", + "20", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/official200-defaults/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/task-6-command.json b/research-notes/smolvla-followup-20261104/official200-defaults/task-6-command.json new file mode 100644 index 00000000..e39f3a10 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/task-6-command.json @@ -0,0 +1,20 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15559", + "--task", + "libero_object", + "--task-id", + "6", + "--n-episodes", + "20", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/official200-defaults/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/task-7-command.json b/research-notes/smolvla-followup-20261104/official200-defaults/task-7-command.json new file mode 100644 index 00000000..93340479 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/task-7-command.json @@ -0,0 +1,20 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15559", + "--task", + "libero_object", + "--task-id", + "7", + "--n-episodes", + "20", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/official200-defaults/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/task-8-command.json b/research-notes/smolvla-followup-20261104/official200-defaults/task-8-command.json new file mode 100644 index 00000000..c460d0a4 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/task-8-command.json @@ -0,0 +1,20 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15559", + "--task", + "libero_object", + "--task-id", + "8", + "--n-episodes", + "20", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/official200-defaults/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/official200-defaults/task-9-command.json b/research-notes/smolvla-followup-20261104/official200-defaults/task-9-command.json new file mode 100644 index 00000000..05efb5cb --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-defaults/task-9-command.json @@ -0,0 +1,20 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15559", + "--task", + "libero_object", + "--task-id", + "9", + "--n-episodes", + "20", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/official200-defaults/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/part3-runner.log b/research-notes/smolvla-followup-20261104/part3-runner.log new file mode 100644 index 00000000..93ab52fe --- /dev/null +++ b/research-notes/smolvla-followup-20261104/part3-runner.log @@ -0,0 +1,242 @@ +latency defaults 1 105.0 +latency flash 1 91.8 +latency mm-default 1 97.4 +latency flash-mm 1 85.5 +latency bf16 1 123.1 +latency bf16-flash 1 111.3 +latency f16 1 126.1 +latency f16-flash 1 109.6 +latency steps-5 1 86.2 +latency steps-3 1 79.2 +latency steps-3 2 79.9 +latency steps-5 2 86.7 +latency f16-flash 2 109.1 +latency f16 2 125.9 +latency bf16-flash 2 111.6 +latency bf16 2 123.2 +latency flash-mm 2 85.5 +latency mm-default 2 97.8 +latency flash 2 92.7 +latency defaults 2 104.7 +latency defaults 3 104.0 +latency flash 3 92.6 +latency mm-default 3 98.0 +latency flash-mm 3 85.7 +latency bf16 3 123.5 +latency bf16-flash 3 111.8 +latency f16 3 126.1 +latency f16-flash 3 109.5 +latency steps-5 3 86.3 +latency steps-3 3 79.8 +memory defaults 1 105.4 +memory flash 1 92.7 +memory mm-default 1 98.4 +memory flash-mm 1 86.3 +memory bf16 1 123.6 +memory bf16-flash 1 111.8 +memory f16 1 127.6 +memory f16-flash 1 110.3 +memory steps-5 1 88.5 +memory steps-3 1 79.8 +memory steps-3 2 79.5 +memory steps-5 2 86.5 +memory f16-flash 2 109.3 +memory f16 2 126.3 +memory bf16-flash 2 111.8 +memory bf16 2 123.4 +memory flash-mm 2 86.4 +memory mm-default 2 98.8 +memory flash 2 93.3 +memory defaults 2 105.4 +memory defaults 3 105.4 +memory flash 3 93.5 +memory mm-default 3 98.9 +memory flash-mm 3 86.4 +memory bf16 3 123.8 +memory bf16-flash 3 111.5 +memory f16 3 126.6 +memory f16-flash 3 109.9 +memory steps-5 3 87.4 +memory steps-3 3 80.0 +Collecting data... +Generating '/tmp/nsys-report-5b9e.qdstrm' + +[1/1] [0% ] runtime.nsys-rep +[1/1] [0% ] runtime.nsys-rep +[1/1] [11% ] runtime.nsys-rep +[1/1] [9% ] runtime.nsys-rep +[1/1] [8% ] runtime.nsys-rep +[1/1] [=15% ] runtime.nsys-rep +[1/1] [13% ] runtime.nsys-rep +[1/1] [11% ] runtime.nsys-rep +[1/1] [10% ] runtime.nsys-rep +[1/1] [9% ] runtime.nsys-rep +[1/1] [8% ] runtime.nsys-rep +[1/1] [7% ] runtime.nsys-rep +[1/1] [6% ] runtime.nsys-rep +[1/1] [5% ] runtime.nsys-rep +[1/1] [0% ] runtime.nsys-rep +[1/1] [5% ] runtime.nsys-rep +[1/1] [6% ] runtime.nsys-rep +[1/1] [7% ] runtime.nsys-rep +[1/1] [8% ] runtime.nsys-rep +[1/1] [9% ] runtime.nsys-rep +[1/1] [10% ] runtime.nsys-rep +[1/1] [11% ] runtime.nsys-rep +[1/1] [12% ] runtime.nsys-rep +[1/1] [13% ] runtime.nsys-rep +[1/1] [14% ] runtime.nsys-rep +[1/1] [=15% ] runtime.nsys-rep +[1/1] [=16% ] runtime.nsys-rep +[1/1] [=17% ] runtime.nsys-rep +[1/1] [==18% ] runtime.nsys-rep +[1/1] [==19% ] runtime.nsys-rep +[1/1] [==20% ] runtime.nsys-rep +[1/1] [==21% ] runtime.nsys-rep +[1/1] [===22% ] runtime.nsys-rep +[1/1] [===23% ] runtime.nsys-rep +[1/1] [===24% ] runtime.nsys-rep +[1/1] [====25% ] runtime.nsys-rep +[1/1] [====26% ] runtime.nsys-rep +[1/1] [====27% ] runtime.nsys-rep +[1/1] [====28% ] runtime.nsys-rep +[1/1] [=====29% ] runtime.nsys-rep +[1/1] [=====30% ] runtime.nsys-rep +[1/1] [=====31% ] runtime.nsys-rep +[1/1] [=====32% ] runtime.nsys-rep +[1/1] [======33% ] runtime.nsys-rep +[1/1] [======34% ] runtime.nsys-rep +[1/1] [======35% ] runtime.nsys-rep +[1/1] [=======36% ] runtime.nsys-rep +[1/1] [=======37% ] runtime.nsys-rep +[1/1] [=======38% ] runtime.nsys-rep +[1/1] [=======39% ] runtime.nsys-rep +[1/1] [========40% ] runtime.nsys-rep +[1/1] [========41% ] runtime.nsys-rep +[1/1] [========42% ] runtime.nsys-rep +[1/1] [=========43% ] runtime.nsys-rep +[1/1] [=========44% ] runtime.nsys-rep +[1/1] [=========45% ] runtime.nsys-rep +[1/1] [=========46% ] runtime.nsys-rep +[1/1] [==========47% ] runtime.nsys-rep +[1/1] [==========48% ] runtime.nsys-rep +[1/1] [==========49% ] runtime.nsys-rep +[1/1] [===========50% ] runtime.nsys-rep +[1/1] [========================100%] runtime.nsys-rep +[1/1] [========================100%] runtime.nsys-rep +Generated: + /home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/part3-runtime/runtime.nsys-rep +Processing 3757239 events: + +[1% ] +[2% ] +[3% ] +[=4% ] +[=5% ] +[==6% ] +[===7% ] +[====8% ] +[=====9% ] +[====10% ] +[=====11% ] +[======12% ] +[=======13% ] +[=======14% ] +[========15% ] +[=========16% ] +[==========17% ] +[===========18% ] +[===========19% ] +[============20% ] +[=============21% ] +[==============22% ] +[==============23% ] +[===============24% ] +[================25% ] +[=================26% ] +[==================27% ] +[==================28% ] +[===================29% ] +[====================30% ] +[=====================31% ] +[=====================32% ] +[======================33% ] +[=======================34% ] +[========================35% ] +[=========================36% ] +[=========================37% ] +[==========================38% ] +[===========================39% ] +[============================40% ] +[============================41% ] +[=============================42% ] +[==============================43% ] +[===============================44% ] +[================================45% ] +[================================46% ] +[=================================47% ] +[==================================48% ] +[===================================49% ] +[====================================50% ] +[====================================51% ] +[=====================================52% ] +[======================================53% ] +[=======================================54% ] +[=======================================55% ] +[========================================56% ] +[=========================================57% ] +[==========================================58% ] +[===========================================59% ] +[===========================================60% ] +[============================================61% ] +[=============================================62% ] +[==============================================63% ] +[==============================================64% ] +[===============================================65% ] +[================================================66% ] +[=================================================67% ] +[==================================================68% ] +[==================================================69% ] +[===================================================70% ] +[====================================================71% ] +[=====================================================72% ] +[=====================================================73% ] +[======================================================74% ] +[=======================================================75% ] +[========================================================76% ] +[=========================================================77% ] +[=========================================================78% ] +[==========================================================79% ] +[===========================================================80% ] +[============================================================81% ] +[============================================================82% ] +[=============================================================83% ] +[==============================================================84% ] +[===============================================================85% ] +[================================================================86% ] +[================================================================87% ] +[=================================================================88% ] +[==================================================================89% ] +[===================================================================90% ] +[===================================================================91% ] +[====================================================================92% ] +[=====================================================================93% ] +[======================================================================94% ] +[=======================================================================95% ] +[=======================================================================96% ] +[========================================================================97% ] +[=========================================================================98% ] +[==========================================================================99% ] +[==========================================================================100%] +{ + "bf16": 1134.3444557189941, + "bf16-flash": 1044.268352508545, + "defaults": 1912.4694557189941, + "f16": 1119.3942985534668, + "f16-flash": 1044.2683219909668, + "flash": 1818.393352508545, + "flash-mm": 1040.268383026123, + "mm-default": 1134.3444557189941, + "steps-3": 1911.8285865783691, + "steps-5": 1912.0116920471191 +} diff --git a/research-notes/smolvla-followup-20261104/part3-runtime/latency-runs.json b/research-notes/smolvla-followup-20261104/part3-runtime/latency-runs.json new file mode 100644 index 00000000..d78deb4e --- /dev/null +++ b/research-notes/smolvla-followup-20261104/part3-runtime/latency-runs.json @@ -0,0 +1,782 @@ +[ + { + "name": "defaults", + "trial": 0, + "pid": 226496, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "mean_ms": 105.0, + "p50_ms": 105.0, + "p90_ms": 105.6 + }, + { + "name": "flash", + "trial": 0, + "pid": 226585, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--flash-attn" + ], + "exit": 0, + "mean_ms": 91.8, + "p50_ms": 91.8, + "p90_ms": 92.3 + }, + { + "name": "mm-default", + "trial": 0, + "pid": 226623, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--mm-prec", + "default" + ], + "exit": 0, + "mean_ms": 97.4, + "p50_ms": 97.4, + "p90_ms": 97.9 + }, + { + "name": "flash-mm", + "trial": 0, + "pid": 226653, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--flash-attn", + "--mm-prec", + "default" + ], + "exit": 0, + "mean_ms": 85.5, + "p50_ms": 85.4, + "p90_ms": 85.9 + }, + { + "name": "bf16", + "trial": 0, + "pid": 226670, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "bf16" + ], + "exit": 0, + "mean_ms": 123.1, + "p50_ms": 123.0, + "p90_ms": 123.7 + }, + { + "name": "bf16-flash", + "trial": 0, + "pid": 226709, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "bf16", + "--flash-attn" + ], + "exit": 0, + "mean_ms": 111.3, + "p50_ms": 111.2, + "p90_ms": 112.0 + }, + { + "name": "f16", + "trial": 0, + "pid": 226744, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "f16" + ], + "exit": 0, + "mean_ms": 126.1, + "p50_ms": 126.0, + "p90_ms": 126.7 + }, + { + "name": "f16-flash", + "trial": 0, + "pid": 226778, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "f16", + "--flash-attn" + ], + "exit": 0, + "mean_ms": 109.6, + "p50_ms": 109.6, + "p90_ms": 110.2 + }, + { + "name": "steps-5", + "trial": 0, + "pid": 226811, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--num-steps", + "5" + ], + "exit": 0, + "mean_ms": 86.2, + "p50_ms": 86.1, + "p90_ms": 87.1 + }, + { + "name": "steps-3", + "trial": 0, + "pid": 226844, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--num-steps", + "3" + ], + "exit": 0, + "mean_ms": 79.2, + "p50_ms": 79.0, + "p90_ms": 80.0 + }, + { + "name": "steps-3", + "trial": 1, + "pid": 226884, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--num-steps", + "3" + ], + "exit": 0, + "mean_ms": 79.9, + "p50_ms": 80.0, + "p90_ms": 80.4 + }, + { + "name": "steps-5", + "trial": 1, + "pid": 226907, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--num-steps", + "5" + ], + "exit": 0, + "mean_ms": 86.7, + "p50_ms": 86.7, + "p90_ms": 87.2 + }, + { + "name": "f16-flash", + "trial": 1, + "pid": 226940, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "f16", + "--flash-attn" + ], + "exit": 0, + "mean_ms": 109.1, + "p50_ms": 109.1, + "p90_ms": 109.9 + }, + { + "name": "f16", + "trial": 1, + "pid": 226975, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "f16" + ], + "exit": 0, + "mean_ms": 125.9, + "p50_ms": 126.0, + "p90_ms": 126.5 + }, + { + "name": "bf16-flash", + "trial": 1, + "pid": 227021, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "bf16", + "--flash-attn" + ], + "exit": 0, + "mean_ms": 111.6, + "p50_ms": 111.6, + "p90_ms": 112.2 + }, + { + "name": "bf16", + "trial": 1, + "pid": 227060, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "bf16" + ], + "exit": 0, + "mean_ms": 123.2, + "p50_ms": 123.4, + "p90_ms": 124.1 + }, + { + "name": "flash-mm", + "trial": 1, + "pid": 227109, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--flash-attn", + "--mm-prec", + "default" + ], + "exit": 0, + "mean_ms": 85.5, + "p50_ms": 85.6, + "p90_ms": 86.2 + }, + { + "name": "mm-default", + "trial": 1, + "pid": 227146, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--mm-prec", + "default" + ], + "exit": 0, + "mean_ms": 97.8, + "p50_ms": 97.9, + "p90_ms": 98.4 + }, + { + "name": "flash", + "trial": 1, + "pid": 227192, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--flash-attn" + ], + "exit": 0, + "mean_ms": 92.7, + "p50_ms": 92.5, + "p90_ms": 93.8 + }, + { + "name": "defaults", + "trial": 1, + "pid": 227220, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "mean_ms": 104.7, + "p50_ms": 104.7, + "p90_ms": 105.2 + }, + { + "name": "defaults", + "trial": 2, + "pid": 227260, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "mean_ms": 104.0, + "p50_ms": 103.7, + "p90_ms": 105.0 + }, + { + "name": "flash", + "trial": 2, + "pid": 227323, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--flash-attn" + ], + "exit": 0, + "mean_ms": 92.6, + "p50_ms": 92.7, + "p90_ms": 93.2 + }, + { + "name": "mm-default", + "trial": 2, + "pid": 227362, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--mm-prec", + "default" + ], + "exit": 0, + "mean_ms": 98.0, + "p50_ms": 98.0, + "p90_ms": 98.7 + }, + { + "name": "flash-mm", + "trial": 2, + "pid": 227400, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--flash-attn", + "--mm-prec", + "default" + ], + "exit": 0, + "mean_ms": 85.7, + "p50_ms": 85.6, + "p90_ms": 86.4 + }, + { + "name": "bf16", + "trial": 2, + "pid": 227432, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "bf16" + ], + "exit": 0, + "mean_ms": 123.5, + "p50_ms": 123.5, + "p90_ms": 124.1 + }, + { + "name": "bf16-flash", + "trial": 2, + "pid": 227472, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "bf16", + "--flash-attn" + ], + "exit": 0, + "mean_ms": 111.8, + "p50_ms": 111.7, + "p90_ms": 112.8 + }, + { + "name": "f16", + "trial": 2, + "pid": 227500, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "f16" + ], + "exit": 0, + "mean_ms": 126.1, + "p50_ms": 126.2, + "p90_ms": 126.6 + }, + { + "name": "f16-flash", + "trial": 2, + "pid": 227547, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "f16", + "--flash-attn" + ], + "exit": 0, + "mean_ms": 109.5, + "p50_ms": 109.5, + "p90_ms": 110.1 + }, + { + "name": "steps-5", + "trial": 2, + "pid": 227585, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--num-steps", + "5" + ], + "exit": 0, + "mean_ms": 86.3, + "p50_ms": 86.2, + "p90_ms": 86.9 + }, + { + "name": "steps-3", + "trial": 2, + "pid": 227626, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--num-steps", + "3" + ], + "exit": 0, + "mean_ms": 79.8, + "p50_ms": 79.6, + "p90_ms": 80.5 + } +] diff --git a/research-notes/smolvla-followup-20261104/part3-runtime/memory-runs.json b/research-notes/smolvla-followup-20261104/part3-runtime/memory-runs.json new file mode 100644 index 00000000..2b35d239 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/part3-runtime/memory-runs.json @@ -0,0 +1,782 @@ +[ + { + "name": "defaults", + "trial": 0, + "pid": 227706, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "mean_ms": 105.4, + "p50_ms": 105.4, + "p90_ms": 106.3 + }, + { + "name": "flash", + "trial": 0, + "pid": 227847, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--flash-attn" + ], + "exit": 0, + "mean_ms": 92.7, + "p50_ms": 92.6, + "p90_ms": 93.4 + }, + { + "name": "mm-default", + "trial": 0, + "pid": 227897, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--mm-prec", + "default" + ], + "exit": 0, + "mean_ms": 98.4, + "p50_ms": 98.0, + "p90_ms": 98.9 + }, + { + "name": "flash-mm", + "trial": 0, + "pid": 227988, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--flash-attn", + "--mm-prec", + "default" + ], + "exit": 0, + "mean_ms": 86.3, + "p50_ms": 86.2, + "p90_ms": 86.8 + }, + { + "name": "bf16", + "trial": 0, + "pid": 228045, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "bf16" + ], + "exit": 0, + "mean_ms": 123.6, + "p50_ms": 123.6, + "p90_ms": 124.0 + }, + { + "name": "bf16-flash", + "trial": 0, + "pid": 228096, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "bf16", + "--flash-attn" + ], + "exit": 0, + "mean_ms": 111.8, + "p50_ms": 111.8, + "p90_ms": 112.3 + }, + { + "name": "f16", + "trial": 0, + "pid": 228141, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "f16" + ], + "exit": 0, + "mean_ms": 127.6, + "p50_ms": 127.6, + "p90_ms": 128.2 + }, + { + "name": "f16-flash", + "trial": 0, + "pid": 228186, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "f16", + "--flash-attn" + ], + "exit": 0, + "mean_ms": 110.3, + "p50_ms": 110.3, + "p90_ms": 110.8 + }, + { + "name": "steps-5", + "trial": 0, + "pid": 228236, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--num-steps", + "5" + ], + "exit": 0, + "mean_ms": 88.5, + "p50_ms": 88.5, + "p90_ms": 89.0 + }, + { + "name": "steps-3", + "trial": 0, + "pid": 228281, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--num-steps", + "3" + ], + "exit": 0, + "mean_ms": 79.8, + "p50_ms": 79.9, + "p90_ms": 80.3 + }, + { + "name": "steps-3", + "trial": 1, + "pid": 228325, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--num-steps", + "3" + ], + "exit": 0, + "mean_ms": 79.5, + "p50_ms": 79.4, + "p90_ms": 80.1 + }, + { + "name": "steps-5", + "trial": 1, + "pid": 228364, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--num-steps", + "5" + ], + "exit": 0, + "mean_ms": 86.5, + "p50_ms": 86.4, + "p90_ms": 87.1 + }, + { + "name": "f16-flash", + "trial": 1, + "pid": 228401, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "f16", + "--flash-attn" + ], + "exit": 0, + "mean_ms": 109.3, + "p50_ms": 109.1, + "p90_ms": 109.7 + }, + { + "name": "f16", + "trial": 1, + "pid": 228447, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "f16" + ], + "exit": 0, + "mean_ms": 126.3, + "p50_ms": 126.3, + "p90_ms": 126.9 + }, + { + "name": "bf16-flash", + "trial": 1, + "pid": 228497, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "bf16", + "--flash-attn" + ], + "exit": 0, + "mean_ms": 111.8, + "p50_ms": 111.7, + "p90_ms": 112.6 + }, + { + "name": "bf16", + "trial": 1, + "pid": 228575, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "bf16" + ], + "exit": 0, + "mean_ms": 123.4, + "p50_ms": 123.4, + "p90_ms": 123.6 + }, + { + "name": "flash-mm", + "trial": 1, + "pid": 228629, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--flash-attn", + "--mm-prec", + "default" + ], + "exit": 0, + "mean_ms": 86.4, + "p50_ms": 86.3, + "p90_ms": 87.0 + }, + { + "name": "mm-default", + "trial": 1, + "pid": 228672, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--mm-prec", + "default" + ], + "exit": 0, + "mean_ms": 98.8, + "p50_ms": 98.8, + "p90_ms": 99.5 + }, + { + "name": "flash", + "trial": 1, + "pid": 228726, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--flash-attn" + ], + "exit": 0, + "mean_ms": 93.3, + "p50_ms": 93.3, + "p90_ms": 93.8 + }, + { + "name": "defaults", + "trial": 1, + "pid": 228768, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "mean_ms": 105.4, + "p50_ms": 105.4, + "p90_ms": 106.1 + }, + { + "name": "defaults", + "trial": 2, + "pid": 228820, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "exit": 0, + "mean_ms": 105.4, + "p50_ms": 105.4, + "p90_ms": 105.9 + }, + { + "name": "flash", + "trial": 2, + "pid": 228865, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--flash-attn" + ], + "exit": 0, + "mean_ms": 93.5, + "p50_ms": 93.5, + "p90_ms": 93.9 + }, + { + "name": "mm-default", + "trial": 2, + "pid": 228931, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--mm-prec", + "default" + ], + "exit": 0, + "mean_ms": 98.9, + "p50_ms": 98.7, + "p90_ms": 99.7 + }, + { + "name": "flash-mm", + "trial": 2, + "pid": 228991, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--flash-attn", + "--mm-prec", + "default" + ], + "exit": 0, + "mean_ms": 86.4, + "p50_ms": 86.5, + "p90_ms": 86.8 + }, + { + "name": "bf16", + "trial": 2, + "pid": 229023, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "bf16" + ], + "exit": 0, + "mean_ms": 123.8, + "p50_ms": 123.8, + "p90_ms": 124.5 + }, + { + "name": "bf16-flash", + "trial": 2, + "pid": 229074, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "bf16", + "--flash-attn" + ], + "exit": 0, + "mean_ms": 111.5, + "p50_ms": 111.3, + "p90_ms": 112.5 + }, + { + "name": "f16", + "trial": 2, + "pid": 229110, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "f16" + ], + "exit": 0, + "mean_ms": 126.6, + "p50_ms": 126.6, + "p90_ms": 127.2 + }, + { + "name": "f16-flash", + "trial": 2, + "pid": 229170, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--weight-dtype", + "f16", + "--flash-attn" + ], + "exit": 0, + "mean_ms": 109.9, + "p50_ms": 109.9, + "p90_ms": 110.3 + }, + { + "name": "steps-5", + "trial": 2, + "pid": 229206, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--num-steps", + "5" + ], + "exit": 0, + "mean_ms": 87.4, + "p50_ms": 87.5, + "p90_ms": 88.3 + }, + { + "name": "steps-3", + "trial": 2, + "pid": 229249, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--num-steps", + "3" + ], + "exit": 0, + "mean_ms": 80.0, + "p50_ms": 80.1, + "p90_ms": 81.1 + } +] diff --git a/research-notes/smolvla-followup-20261104/part3-runtime/summary.json b/research-notes/smolvla-followup-20261104/part3-runtime/summary.json new file mode 100644 index 00000000..ed1b6612 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/part3-runtime/summary.json @@ -0,0 +1,327 @@ +{ + "bf16": { + "peak_MiB": 1134.3444557189941, + "runs": [ + { + "name": "bf16", + "trial": 0, + "pid": 228045, + "device": 0, + "peak_bytes": 1189446372, + "peak_MiB": 1134.3444557189941, + "live_at_trace_end_bytes": 70681904 + }, + { + "name": "bf16", + "trial": 1, + "pid": 228575, + "device": 0, + "peak_bytes": 1189446372, + "peak_MiB": 1134.3444557189941, + "live_at_trace_end_bytes": 70681904 + }, + { + "name": "bf16", + "trial": 2, + "pid": 229023, + "device": 0, + "peak_bytes": 1189446372, + "peak_MiB": 1134.3444557189941, + "live_at_trace_end_bytes": 70681904 + } + ] + }, + "bf16-flash": { + "peak_MiB": 1044.268352508545, + "runs": [ + { + "name": "bf16-flash", + "trial": 0, + "pid": 228096, + "device": 0, + "peak_bytes": 1094994732, + "peak_MiB": 1044.268352508545, + "live_at_trace_end_bytes": 295212 + }, + { + "name": "bf16-flash", + "trial": 1, + "pid": 228497, + "device": 0, + "peak_bytes": 1094994732, + "peak_MiB": 1044.268352508545, + "live_at_trace_end_bytes": 295212 + }, + { + "name": "bf16-flash", + "trial": 2, + "pid": 229074, + "device": 0, + "peak_bytes": 1094994732, + "peak_MiB": 1044.268352508545, + "live_at_trace_end_bytes": 295212 + } + ] + }, + "defaults": { + "peak_MiB": 1912.4694557189941, + "runs": [ + { + "name": "defaults", + "trial": 0, + "pid": 227706, + "device": 0, + "peak_bytes": 2005369572, + "peak_MiB": 1912.4694557189941, + "live_at_trace_end_bytes": 70681904 + }, + { + "name": "defaults", + "trial": 1, + "pid": 228768, + "device": 0, + "peak_bytes": 2005369572, + "peak_MiB": 1912.4694557189941, + "live_at_trace_end_bytes": 70681904 + }, + { + "name": "defaults", + "trial": 2, + "pid": 228820, + "device": 0, + "peak_bytes": 2005369572, + "peak_MiB": 1912.4694557189941, + "live_at_trace_end_bytes": 70681904 + } + ] + }, + "f16": { + "peak_MiB": 1119.3942985534668, + "runs": [ + { + "name": "f16", + "trial": 0, + "pid": 228141, + "device": 0, + "peak_bytes": 1173769996, + "peak_MiB": 1119.3942985534668, + "live_at_trace_end_bytes": 66487564 + }, + { + "name": "f16", + "trial": 1, + "pid": 228447, + "device": 0, + "peak_bytes": 1173769996, + "peak_MiB": 1119.3942985534668, + "live_at_trace_end_bytes": 66487564 + }, + { + "name": "f16", + "trial": 2, + "pid": 229110, + "device": 0, + "peak_bytes": 1173769996, + "peak_MiB": 1119.3942985534668, + "live_at_trace_end_bytes": 66487564 + } + ] + }, + "f16-flash": { + "peak_MiB": 1044.2683219909668, + "runs": [ + { + "name": "f16-flash", + "trial": 0, + "pid": 228186, + "device": 0, + "peak_bytes": 1094994700, + "peak_MiB": 1044.2683219909668, + "live_at_trace_end_bytes": 295180 + }, + { + "name": "f16-flash", + "trial": 1, + "pid": 228401, + "device": 0, + "peak_bytes": 1094994700, + "peak_MiB": 1044.2683219909668, + "live_at_trace_end_bytes": 295180 + }, + { + "name": "f16-flash", + "trial": 2, + "pid": 229170, + "device": 0, + "peak_bytes": 1094994700, + "peak_MiB": 1044.2683219909668, + "live_at_trace_end_bytes": 295180 + } + ] + }, + "flash": { + "peak_MiB": 1818.393352508545, + "runs": [ + { + "name": "flash", + "trial": 0, + "pid": 227847, + "device": 0, + "peak_bytes": 1906723628, + "peak_MiB": 1818.393352508545, + "live_at_trace_end_bytes": 295212 + }, + { + "name": "flash", + "trial": 1, + "pid": 228726, + "device": 0, + "peak_bytes": 1906723628, + "peak_MiB": 1818.393352508545, + "live_at_trace_end_bytes": 295212 + }, + { + "name": "flash", + "trial": 2, + "pid": 228865, + "device": 0, + "peak_bytes": 1906723628, + "peak_MiB": 1818.393352508545, + "live_at_trace_end_bytes": 295212 + } + ] + }, + "flash-mm": { + "peak_MiB": 1040.268383026123, + "runs": [ + { + "name": "flash-mm", + "trial": 0, + "pid": 227988, + "device": 0, + "peak_bytes": 1090800460, + "peak_MiB": 1040.268383026123, + "live_at_trace_end_bytes": 295244 + }, + { + "name": "flash-mm", + "trial": 1, + "pid": 228629, + "device": 0, + "peak_bytes": 1090800460, + "peak_MiB": 1040.268383026123, + "live_at_trace_end_bytes": 295244 + }, + { + "name": "flash-mm", + "trial": 2, + "pid": 228991, + "device": 0, + "peak_bytes": 1090800460, + "peak_MiB": 1040.268383026123, + "live_at_trace_end_bytes": 295244 + } + ] + }, + "mm-default": { + "peak_MiB": 1134.3444557189941, + "runs": [ + { + "name": "mm-default", + "trial": 0, + "pid": 227897, + "device": 0, + "peak_bytes": 1189446372, + "peak_MiB": 1134.3444557189941, + "live_at_trace_end_bytes": 70681936 + }, + { + "name": "mm-default", + "trial": 1, + "pid": 228672, + "device": 0, + "peak_bytes": 1189446372, + "peak_MiB": 1134.3444557189941, + "live_at_trace_end_bytes": 70681936 + }, + { + "name": "mm-default", + "trial": 2, + "pid": 228931, + "device": 0, + "peak_bytes": 1189446372, + "peak_MiB": 1134.3444557189941, + "live_at_trace_end_bytes": 70681936 + } + ] + }, + "steps-3": { + "peak_MiB": 1911.8285865783691, + "runs": [ + { + "name": "steps-3", + "trial": 0, + "pid": 228281, + "device": 0, + "peak_bytes": 2004697572, + "peak_MiB": 1911.8285865783691, + "live_at_trace_end_bytes": 70681904 + }, + { + "name": "steps-3", + "trial": 1, + "pid": 228325, + "device": 0, + "peak_bytes": 2004697572, + "peak_MiB": 1911.8285865783691, + "live_at_trace_end_bytes": 70681904 + }, + { + "name": "steps-3", + "trial": 2, + "pid": 229249, + "device": 0, + "peak_bytes": 2004697572, + "peak_MiB": 1911.8285865783691, + "live_at_trace_end_bytes": 70681904 + } + ] + }, + "steps-5": { + "peak_MiB": 1912.0116920471191, + "runs": [ + { + "name": "steps-5", + "trial": 0, + "pid": 228236, + "device": 0, + "peak_bytes": 2004889572, + "peak_MiB": 1912.0116920471191, + "live_at_trace_end_bytes": 70681904 + }, + { + "name": "steps-5", + "trial": 1, + "pid": 228364, + "device": 0, + "peak_bytes": 2004889572, + "peak_MiB": 1912.0116920471191, + "live_at_trace_end_bytes": 70681904 + }, + { + "name": "steps-5", + "trial": 2, + "pid": 229206, + "device": 0, + "peak_bytes": 2004889572, + "peak_MiB": 1912.0116920471191, + "live_at_trace_end_bytes": 70681904 + } + ] + }, + "_control_comparison": { + "previous_defaults_peak_MiB": 1912.4694557189941, + "current_defaults_peak_MiB": 1912.4694557189941, + "difference_MiB": 0.0 + } +} diff --git a/research-notes/smolvla-followup-20261104/part3-runtime/telemetry.jsonl b/research-notes/smolvla-followup-20261104/part3-runtime/telemetry.jsonl new file mode 100644 index 00000000..67b076f1 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/part3-runtime/telemetry.jsonl @@ -0,0 +1,120 @@ +{"time": 1793802054.8911147, "gpu": "2026/11/04 21:20:54.870, NVIDIA GeForce RTX 3060 Laptop GPU, 58, 69.77 W, 1425 MHz, 7201 MHz, 1317 MiB", "error": ""} +{"time": 1793802057.0165606, "gpu": "2026/11/04 21:20:56.989, NVIDIA GeForce RTX 3060 Laptop GPU, 65, 132.01 W, 2085 MHz, 7201 MHz, 1317 MiB", "error": ""} +{"time": 1793802059.114007, "gpu": "2026/11/04 21:20:59.095, NVIDIA GeForce RTX 3060 Laptop GPU, 58, 36.41 W, 2092 MHz, 7201 MHz, 1151 MiB", "error": ""} +{"time": 1793802061.162888, "gpu": "2026/11/04 21:21:01.153, NVIDIA GeForce RTX 3060 Laptop GPU, 66, 116.10 W, 2055 MHz, 7201 MHz, 1243 MiB", "error": ""} +{"time": 1793802063.3155522, "gpu": "2026/11/04 21:21:03.281, NVIDIA GeForce RTX 3060 Laptop GPU, 59, 35.35 W, 2085 MHz, 7201 MHz, 1165 MiB", "error": ""} +{"time": 1793802065.4203448, "gpu": "2026/11/04 21:21:05.386, NVIDIA GeForce RTX 3060 Laptop GPU, 66, 119.59 W, 2085 MHz, 7201 MHz, 1313 MiB", "error": ""} +{"time": 1793802067.5242336, "gpu": "2026/11/04 21:21:07.510, NVIDIA GeForce RTX 3060 Laptop GPU, 59, 35.72 W, 2085 MHz, 7201 MHz, 1095 MiB", "error": ""} +{"time": 1793802069.6151671, "gpu": "2026/11/04 21:21:09.586, NVIDIA GeForce RTX 3060 Laptop GPU, 67, 115.28 W, 2085 MHz, 7201 MHz, 1235 MiB", "error": ""} +{"time": 1793802071.7133303, "gpu": "2026/11/04 21:21:11.700, NVIDIA GeForce RTX 3060 Laptop GPU, 59, 73.69 W, 2085 MHz, 7201 MHz, 1257 MiB", "error": ""} +{"time": 1793802073.831927, "gpu": "2026/11/04 21:21:13.796, NVIDIA GeForce RTX 3060 Laptop GPU, 68, 105.47 W, 2085 MHz, 7201 MHz, 1303 MiB", "error": ""} +{"time": 1793802075.9046142, "gpu": "2026/11/04 21:21:15.888, NVIDIA GeForce RTX 3060 Laptop GPU, 60, 35.86 W, 2085 MHz, 7201 MHz, 1919 MiB", "error": ""} +{"time": 1793802078.0068521, "gpu": "2026/11/04 21:21:17.986, NVIDIA GeForce RTX 3060 Laptop GPU, 68, 118.97 W, 2070 MHz, 7201 MHz, 2003 MiB", "error": ""} +{"time": 1793802080.087239, "gpu": "2026/11/04 21:21:20.070, NVIDIA GeForce RTX 3060 Laptop GPU, 59, 136.76 W, 2085 MHz, 7201 MHz, 1953 MiB", "error": ""} +{"time": 1793802082.2030756, "gpu": "2026/11/04 21:21:22.176, NVIDIA GeForce RTX 3060 Laptop GPU, 68, 122.89 W, 2070 MHz, 7201 MHz, 2071 MiB", "error": ""} +{"time": 1793802084.2594547, "gpu": "2026/11/04 21:21:24.246, NVIDIA GeForce RTX 3060 Laptop GPU, 60, 36.19 W, 2085 MHz, 7201 MHz, 1873 MiB", "error": ""} +{"time": 1793802086.3283176, "gpu": "2026/11/04 21:21:26.313, NVIDIA GeForce RTX 3060 Laptop GPU, 68, 122.04 W, 2040 MHz, 7201 MHz, 2071 MiB", "error": ""} +{"time": 1793802088.392949, "gpu": "2026/11/04 21:21:28.379, NVIDIA GeForce RTX 3060 Laptop GPU, 61, 35.93 W, 2085 MHz, 7201 MHz, 1873 MiB", "error": ""} +{"time": 1793802090.4898548, "gpu": "2026/11/04 21:21:30.470, NVIDIA GeForce RTX 3060 Laptop GPU, 67, 123.14 W, 2085 MHz, 7201 MHz, 2003 MiB", "error": ""} +{"time": 1793802092.552363, "gpu": "2026/11/04 21:21:32.539, NVIDIA GeForce RTX 3060 Laptop GPU, 61, 36.13 W, 2085 MHz, 7201 MHz, 1095 MiB", "error": ""} +{"time": 1793802094.7136762, "gpu": "2026/11/04 21:21:34.678, NVIDIA GeForce RTX 3060 Laptop GPU, 68, 119.21 W, 2010 MHz, 7201 MHz, 1303 MiB", "error": ""} +{"time": 1793802096.7683783, "gpu": "2026/11/04 21:21:36.754, NVIDIA GeForce RTX 3060 Laptop GPU, 62, 41.82 W, 2085 MHz, 7201 MHz, 1095 MiB", "error": ""} +{"time": 1793802098.8541524, "gpu": "2026/11/04 21:21:38.826, NVIDIA GeForce RTX 3060 Laptop GPU, 67, 114.44 W, 2085 MHz, 7201 MHz, 1235 MiB", "error": ""} +{"time": 1793802100.957852, "gpu": "2026/11/04 21:21:40.923, NVIDIA GeForce RTX 3060 Laptop GPU, 60, 36.26 W, 2085 MHz, 7201 MHz, 1095 MiB", "error": ""} +{"time": 1793802103.0819228, "gpu": "2026/11/04 21:21:43.061, NVIDIA GeForce RTX 3060 Laptop GPU, 68, 118.86 W, 2010 MHz, 7201 MHz, 1313 MiB", "error": ""} +{"time": 1793802105.1575372, "gpu": "2026/11/04 21:21:45.127, NVIDIA GeForce RTX 3060 Laptop GPU, 63, 40.34 W, 2070 MHz, 7201 MHz, 1095 MiB", "error": ""} +{"time": 1793802107.2305524, "gpu": "2026/11/04 21:21:47.207, NVIDIA GeForce RTX 3060 Laptop GPU, 68, 115.77 W, 2062 MHz, 7201 MHz, 1243 MiB", "error": ""} +{"time": 1793802109.3389914, "gpu": "2026/11/04 21:21:49.314, NVIDIA GeForce RTX 3060 Laptop GPU, 64, 35.43 W, 2070 MHz, 7201 MHz, 109 MiB", "error": ""} +{"time": 1793802111.461867, "gpu": "2026/11/04 21:21:51.447, NVIDIA GeForce RTX 3060 Laptop GPU, 65, 116.00 W, 2085 MHz, 7201 MHz, 1317 MiB", "error": ""} +{"time": 1793802113.5851362, "gpu": "2026/11/04 21:21:53.567, NVIDIA GeForce RTX 3060 Laptop GPU, 69, 113.42 W, 2062 MHz, 7201 MHz, 1317 MiB", "error": ""} +{"time": 1793802115.7023673, "gpu": "2026/11/04 21:21:55.688, NVIDIA GeForce RTX 3060 Laptop GPU, 60, 35.65 W, 2085 MHz, 7201 MHz, 1173 MiB", "error": ""} +{"time": 1793802117.8250675, "gpu": "2026/11/04 21:21:57.802, NVIDIA GeForce RTX 3060 Laptop GPU, 68, 113.07 W, 2070 MHz, 7201 MHz, 1241 MiB", "error": ""} +{"time": 1793802119.94959, "gpu": "2026/11/04 21:21:59.918, NVIDIA GeForce RTX 3060 Laptop GPU, 60, 136.74 W, 2085 MHz, 7201 MHz, 1953 MiB", "error": ""} +{"time": 1793802122.0450356, "gpu": "2026/11/04 21:22:02.032, NVIDIA GeForce RTX 3060 Laptop GPU, 69, 123.99 W, 2010 MHz, 7201 MHz, 2047 MiB", "error": ""} +{"time": 1793802124.1055171, "gpu": "2026/11/04 21:22:04.091, NVIDIA GeForce RTX 3060 Laptop GPU, 63, 121.33 W, 2085 MHz, 7201 MHz, 2009 MiB", "error": ""} +{"time": 1793802126.196743, "gpu": "2026/11/04 21:22:06.182, NVIDIA GeForce RTX 3060 Laptop GPU, 69, 42.37 W, 1987 MHz, 7201 MHz, 0 MiB", "error": ""} +{"time": 1793802128.5082157, "gpu": "2026/11/04 21:22:08.489, NVIDIA GeForce RTX 3060 Laptop GPU, 59, 19.54 W, 382 MHz, 7201 MHz, 0 MiB", "error": ""} +{"time": 1793802130.8592682, "gpu": "2026/11/04 21:22:10.847, NVIDIA GeForce RTX 3060 Laptop GPU, 56, 11.47 W, 210 MHz, 405 MHz, 0 MiB", "error": ""} +{"time": 1793802133.33417, "gpu": "2026/11/04 21:22:13.323, NVIDIA GeForce RTX 3060 Laptop GPU, 56, 10.87 W, 210 MHz, 405 MHz, 0 MiB", "error": ""} +{"time": 1793802135.4926188, "gpu": "2026/11/04 21:22:15.486, NVIDIA GeForce RTX 3060 Laptop GPU, 56, 20.45 W, 1425 MHz, 7201 MHz, 1901 MiB", "error": ""} +{"time": 1793802137.751727, "gpu": "2026/11/04 21:22:17.740, NVIDIA GeForce RTX 3060 Laptop GPU, 56, 21.53 W, 1425 MHz, 7201 MHz, 1969 MiB", "error": ""} +{"time": 1793802139.9136097, "gpu": "2026/11/04 21:22:19.900, NVIDIA GeForce RTX 3060 Laptop GPU, 57, 35.30 W, 1822 MHz, 7201 MHz, 2047 MiB", "error": ""} +{"time": 1793802141.993413, "gpu": "2026/11/04 21:22:21.985, NVIDIA GeForce RTX 3060 Laptop GPU, 66, 107.89 W, 2002 MHz, 7201 MHz, 2099 MiB", "error": ""} +{"time": 1793802144.0499883, "gpu": "2026/11/04 21:22:24.043, NVIDIA GeForce RTX 3060 Laptop GPU, 59, 35.95 W, 2085 MHz, 7201 MHz, 1901 MiB", "error": ""} +{"time": 1793802146.1621976, "gpu": "2026/11/04 21:22:26.155, NVIDIA GeForce RTX 3060 Laptop GPU, 66, 119.35 W, 2077 MHz, 7201 MHz, 2031 MiB", "error": ""} +{"time": 1793802148.2249122, "gpu": "2026/11/04 21:22:28.217, NVIDIA GeForce RTX 3060 Laptop GPU, 60, 35.48 W, 2085 MHz, 7201 MHz, 1123 MiB", "error": ""} +{"time": 1793802150.569764, "gpu": "2026/11/04 21:22:30.560, NVIDIA GeForce RTX 3060 Laptop GPU, 66, 123.59 W, 2002 MHz, 7201 MHz, 1331 MiB", "error": ""} +{"time": 1793802152.6074407, "gpu": "2026/11/04 21:22:32.600, NVIDIA GeForce RTX 3060 Laptop GPU, 61, 35.35 W, 2085 MHz, 7201 MHz, 0 MiB", "error": ""} +{"time": 1793802154.7195072, "gpu": "2026/11/04 21:22:34.705, NVIDIA GeForce RTX 3060 Laptop GPU, 60, 98.98 W, 1740 MHz, 7201 MHz, 1263 MiB", "error": ""} +{"time": 1793802156.7591043, "gpu": "2026/11/04 21:22:36.753, NVIDIA GeForce RTX 3060 Laptop GPU, 63, 35.05 W, 2070 MHz, 7201 MHz, 0 MiB", "error": ""} +{"time": 1793802158.8482623, "gpu": "2026/11/04 21:22:38.840, NVIDIA GeForce RTX 3060 Laptop GPU, 65, 35.90 W, 2070 MHz, 7201 MHz, 1275 MiB", "error": ""} +{"time": 1793802160.9065945, "gpu": "2026/11/04 21:22:40.896, NVIDIA GeForce RTX 3060 Laptop GPU, 68, 110.20 W, 2062 MHz, 7201 MHz, 1341 MiB", "error": ""} +{"time": 1793802162.947337, "gpu": "2026/11/04 21:22:42.939, NVIDIA GeForce RTX 3060 Laptop GPU, 61, 35.79 W, 2085 MHz, 7201 MHz, 1123 MiB", "error": ""} +{"time": 1793802165.0044622, "gpu": "2026/11/04 21:22:44.998, NVIDIA GeForce RTX 3060 Laptop GPU, 67, 111.93 W, 2017 MHz, 7201 MHz, 1271 MiB", "error": ""} +{"time": 1793802167.0488925, "gpu": "2026/11/04 21:22:47.041, NVIDIA GeForce RTX 3060 Laptop GPU, 63, 35.79 W, 2085 MHz, 7201 MHz, 0 MiB", "error": ""} +{"time": 1793802169.105618, "gpu": "2026/11/04 21:22:49.099, NVIDIA GeForce RTX 3060 Laptop GPU, 60, 46.34 W, 1425 MHz, 7201 MHz, 1279 MiB", "error": ""} +{"time": 1793802171.1619983, "gpu": "2026/11/04 21:22:51.154, NVIDIA GeForce RTX 3060 Laptop GPU, 68, 108.93 W, 2040 MHz, 7201 MHz, 1345 MiB", "error": ""} +{"time": 1793802173.219983, "gpu": "2026/11/04 21:22:53.212, NVIDIA GeForce RTX 3060 Laptop GPU, 62, 35.49 W, 2085 MHz, 7201 MHz, 1123 MiB", "error": ""} +{"time": 1793802175.270942, "gpu": "2026/11/04 21:22:55.263, NVIDIA GeForce RTX 3060 Laptop GPU, 66, 84.07 W, 1972 MHz, 7201 MHz, 1269 MiB", "error": ""} +{"time": 1793802177.3086812, "gpu": "2026/11/04 21:22:57.301, NVIDIA GeForce RTX 3060 Laptop GPU, 69, 55.32 W, 2070 MHz, 7201 MHz, 0 MiB", "error": ""} +{"time": 1793802179.3654559, "gpu": "2026/11/04 21:22:59.359, NVIDIA GeForce RTX 3060 Laptop GPU, 61, 54.17 W, 1425 MHz, 7201 MHz, 2047 MiB", "error": ""} +{"time": 1793802181.4228003, "gpu": "2026/11/04 21:23:01.415, NVIDIA GeForce RTX 3060 Laptop GPU, 69, 36.81 W, 1927 MHz, 7201 MHz, 0 MiB", "error": ""} +{"time": 1793802183.4666216, "gpu": "2026/11/04 21:23:03.459, NVIDIA GeForce RTX 3060 Laptop GPU, 66, 111.79 W, 2017 MHz, 7201 MHz, 2067 MiB", "error": ""} +{"time": 1793802185.530439, "gpu": "2026/11/04 21:23:05.524, NVIDIA GeForce RTX 3060 Laptop GPU, 65, 35.76 W, 2070 MHz, 7201 MHz, 0 MiB", "error": ""} +{"time": 1793802187.7147896, "gpu": "2026/11/04 21:23:07.707, NVIDIA GeForce RTX 3060 Laptop GPU, 66, 123.86 W, 2070 MHz, 7201 MHz, 2067 MiB", "error": ""} +{"time": 1793802189.7560678, "gpu": "2026/11/04 21:23:09.744, NVIDIA GeForce RTX 3060 Laptop GPU, 64, 36.28 W, 2070 MHz, 7201 MHz, 9 MiB", "error": ""} +{"time": 1793802191.806005, "gpu": "2026/11/04 21:23:11.800, NVIDIA GeForce RTX 3060 Laptop GPU, 61, 108.81 W, 1515 MHz, 7201 MHz, 2075 MiB", "error": ""} +{"time": 1793802193.851945, "gpu": "2026/11/04 21:23:13.845, NVIDIA GeForce RTX 3060 Laptop GPU, 71, 35.85 W, 2017 MHz, 7201 MHz, 0 MiB", "error": ""} +{"time": 1793802195.9640567, "gpu": "2026/11/04 21:23:15.957, NVIDIA GeForce RTX 3060 Laptop GPU, 61, 33.85 W, 1927 MHz, 7201 MHz, 1203 MiB", "error": ""} +{"time": 1793802198.0192993, "gpu": "2026/11/04 21:23:18.013, NVIDIA GeForce RTX 3060 Laptop GPU, 70, 110.11 W, 2070 MHz, 7201 MHz, 1269 MiB", "error": ""} +{"time": 1793802200.0819087, "gpu": "2026/11/04 21:23:20.074, NVIDIA GeForce RTX 3060 Laptop GPU, 62, 35.91 W, 2085 MHz, 7201 MHz, 1123 MiB", "error": ""} +{"time": 1793802202.1553574, "gpu": "2026/11/04 21:23:22.149, NVIDIA GeForce RTX 3060 Laptop GPU, 69, 112.96 W, 1987 MHz, 7201 MHz, 1345 MiB", "error": ""} +{"time": 1793802204.1897964, "gpu": "2026/11/04 21:23:24.184, NVIDIA GeForce RTX 3060 Laptop GPU, 64, 35.46 W, 2070 MHz, 7201 MHz, 21 MiB", "error": ""} +{"time": 1793802206.2734334, "gpu": "2026/11/04 21:23:26.262, NVIDIA GeForce RTX 3060 Laptop GPU, 65, 112.06 W, 2070 MHz, 7201 MHz, 1271 MiB", "error": ""} +{"time": 1793802208.3758323, "gpu": "2026/11/04 21:23:28.368, NVIDIA GeForce RTX 3060 Laptop GPU, 70, 36.50 W, 2017 MHz, 7201 MHz, 223 MiB", "error": ""} +{"time": 1793802210.4740324, "gpu": "2026/11/04 21:23:30.466, NVIDIA GeForce RTX 3060 Laptop GPU, 66, 83.79 W, 2047 MHz, 7201 MHz, 1275 MiB", "error": ""} +{"time": 1793802212.539236, "gpu": "2026/11/04 21:23:32.533, NVIDIA GeForce RTX 3060 Laptop GPU, 70, 117.97 W, 2047 MHz, 7201 MHz, 1341 MiB", "error": ""} +{"time": 1793802214.5984232, "gpu": "2026/11/04 21:23:34.586, NVIDIA GeForce RTX 3060 Laptop GPU, 63, 36.51 W, 2077 MHz, 7201 MHz, 1123 MiB", "error": ""} +{"time": 1793802216.6753514, "gpu": "2026/11/04 21:23:36.668, NVIDIA GeForce RTX 3060 Laptop GPU, 70, 114.86 W, 2070 MHz, 7201 MHz, 1263 MiB", "error": ""} +{"time": 1793802218.7455812, "gpu": "2026/11/04 21:23:38.739, NVIDIA GeForce RTX 3060 Laptop GPU, 63, 36.22 W, 2077 MHz, 7201 MHz, 1193 MiB", "error": ""} +{"time": 1793802220.8683252, "gpu": "2026/11/04 21:23:40.861, NVIDIA GeForce RTX 3060 Laptop GPU, 70, 111.41 W, 1995 MHz, 7201 MHz, 1331 MiB", "error": ""} +{"time": 1793802222.9221263, "gpu": "2026/11/04 21:23:42.911, NVIDIA GeForce RTX 3060 Laptop GPU, 63, 36.15 W, 2077 MHz, 7201 MHz, 1901 MiB", "error": ""} +{"time": 1793802225.000987, "gpu": "2026/11/04 21:23:44.982, NVIDIA GeForce RTX 3060 Laptop GPU, 71, 112.79 W, 2055 MHz, 7201 MHz, 2031 MiB", "error": ""} +{"time": 1793802227.045293, "gpu": "2026/11/04 21:23:47.034, NVIDIA GeForce RTX 3060 Laptop GPU, 63, 36.58 W, 2077 MHz, 7201 MHz, 1901 MiB", "error": ""} +{"time": 1793802229.1881933, "gpu": "2026/11/04 21:23:49.182, NVIDIA GeForce RTX 3060 Laptop GPU, 69, 118.48 W, 2025 MHz, 7201 MHz, 2099 MiB", "error": ""} +{"time": 1793802231.259042, "gpu": "2026/11/04 21:23:51.246, NVIDIA GeForce RTX 3060 Laptop GPU, 71, 35.83 W, 2062 MHz, 7201 MHz, 0 MiB", "error": ""} +{"time": 1793802233.3368876, "gpu": "2026/11/04 21:23:53.328, NVIDIA GeForce RTX 3060 Laptop GPU, 62, 51.55 W, 1425 MHz, 7201 MHz, 2021 MiB", "error": ""} +{"time": 1793802235.3871412, "gpu": "2026/11/04 21:23:55.378, NVIDIA GeForce RTX 3060 Laptop GPU, 71, 118.48 W, 2017 MHz, 7201 MHz, 2099 MiB", "error": ""} +{"time": 1793802237.4246635, "gpu": "2026/11/04 21:23:57.416, NVIDIA GeForce RTX 3060 Laptop GPU, 63, 42.61 W, 2077 MHz, 7201 MHz, 1901 MiB", "error": ""} +{"time": 1793802239.4876008, "gpu": "2026/11/04 21:23:59.478, NVIDIA GeForce RTX 3060 Laptop GPU, 70, 118.52 W, 2040 MHz, 7201 MHz, 2031 MiB", "error": ""} +{"time": 1793802241.529941, "gpu": "2026/11/04 21:24:01.523, NVIDIA GeForce RTX 3060 Laptop GPU, 63, 35.89 W, 2077 MHz, 7201 MHz, 1123 MiB", "error": ""} +{"time": 1793802243.6624386, "gpu": "2026/11/04 21:24:03.650, NVIDIA GeForce RTX 3060 Laptop GPU, 70, 98.56 W, 2055 MHz, 7201 MHz, 1331 MiB", "error": ""} +{"time": 1793802245.7051945, "gpu": "2026/11/04 21:24:05.697, NVIDIA GeForce RTX 3060 Laptop GPU, 64, 35.54 W, 2077 MHz, 7201 MHz, 8 MiB", "error": ""} +{"time": 1793802247.7594564, "gpu": "2026/11/04 21:24:07.750, NVIDIA GeForce RTX 3060 Laptop GPU, 68, 121.11 W, 2070 MHz, 7201 MHz, 1263 MiB", "error": ""} +{"time": 1793802249.8100853, "gpu": "2026/11/04 21:24:09.804, NVIDIA GeForce RTX 3060 Laptop GPU, 64, 36.43 W, 2077 MHz, 7201 MHz, 1123 MiB", "error": ""} +{"time": 1793802251.964821, "gpu": "2026/11/04 21:24:11.957, NVIDIA GeForce RTX 3060 Laptop GPU, 69, 80.79 W, 2032 MHz, 7201 MHz, 1341 MiB", "error": ""} +{"time": 1793802254.025821, "gpu": "2026/11/04 21:24:14.020, NVIDIA GeForce RTX 3060 Laptop GPU, 71, 119.60 W, 2062 MHz, 7201 MHz, 1341 MiB", "error": ""} +{"time": 1793802256.0808482, "gpu": "2026/11/04 21:24:16.074, NVIDIA GeForce RTX 3060 Laptop GPU, 63, 36.52 W, 2077 MHz, 7201 MHz, 1185 MiB", "error": ""} +{"time": 1793802258.1376927, "gpu": "2026/11/04 21:24:18.126, NVIDIA GeForce RTX 3060 Laptop GPU, 71, 111.02 W, 2062 MHz, 7201 MHz, 1271 MiB", "error": ""} +{"time": 1793802260.1814334, "gpu": "2026/11/04 21:24:20.167, NVIDIA GeForce RTX 3060 Laptop GPU, 63, 35.97 W, 2077 MHz, 7201 MHz, 1123 MiB", "error": ""} +{"time": 1793802262.224368, "gpu": "2026/11/04 21:24:22.216, NVIDIA GeForce RTX 3060 Laptop GPU, 70, 113.48 W, 2032 MHz, 7201 MHz, 1345 MiB", "error": ""} +{"time": 1793802264.2693312, "gpu": "2026/11/04 21:24:24.263, NVIDIA GeForce RTX 3060 Laptop GPU, 72, 36.61 W, 1995 MHz, 7201 MHz, 0 MiB", "error": ""} +{"time": 1793802266.3370168, "gpu": "2026/11/04 21:24:26.330, NVIDIA GeForce RTX 3060 Laptop GPU, 62, 42.89 W, 1425 MHz, 7201 MHz, 1203 MiB", "error": ""} +{"time": 1793802268.381626, "gpu": "2026/11/04 21:24:28.376, NVIDIA GeForce RTX 3060 Laptop GPU, 71, 110.48 W, 1995 MHz, 7201 MHz, 1269 MiB", "error": ""} +{"time": 1793802270.4348614, "gpu": "2026/11/04 21:24:30.429, NVIDIA GeForce RTX 3060 Laptop GPU, 63, 36.75 W, 2077 MHz, 7201 MHz, 1971 MiB", "error": ""} +{"time": 1793802272.4975395, "gpu": "2026/11/04 21:24:32.483, NVIDIA GeForce RTX 3060 Laptop GPU, 72, 130.27 W, 2017 MHz, 7201 MHz, 2075 MiB", "error": ""} +{"time": 1793802274.5463486, "gpu": "2026/11/04 21:24:34.540, NVIDIA GeForce RTX 3060 Laptop GPU, 63, 36.76 W, 2077 MHz, 7201 MHz, 1971 MiB", "error": ""} +{"time": 1793802276.693693, "gpu": "2026/11/04 21:24:36.687, NVIDIA GeForce RTX 3060 Laptop GPU, 72, 123.15 W, 2025 MHz, 7201 MHz, 2067 MiB", "error": ""} +{"time": 1793802278.7343705, "gpu": "2026/11/04 21:24:38.725, NVIDIA GeForce RTX 3060 Laptop GPU, 64, 35.97 W, 2077 MHz, 7201 MHz, 0 MiB", "error": ""} +{"time": 1793802280.8100677, "gpu": "2026/11/04 21:24:40.802, NVIDIA GeForce RTX 3060 Laptop GPU, 60, 16.71 W, 307 MHz, 6001 MHz, 0 MiB", "error": ""} +{"time": 1793802282.855546, "gpu": "2026/11/04 21:24:42.848, NVIDIA GeForce RTX 3060 Laptop GPU, 59, 11.80 W, 210 MHz, 810 MHz, 0 MiB", "error": ""} +{"time": 1793802284.9041297, "gpu": "2026/11/04 21:24:44.896, NVIDIA GeForce RTX 3060 Laptop GPU, 57, 12.13 W, 210 MHz, 405 MHz, 0 MiB", "error": ""} +{"time": 1793802287.1195378, "gpu": "2026/11/04 21:24:47.111, NVIDIA GeForce RTX 3060 Laptop GPU, 56, 14.05 W, 210 MHz, 405 MHz, 0 MiB", "error": ""} +{"time": 1793802289.1682937, "gpu": "2026/11/04 21:24:49.158, NVIDIA GeForce RTX 3060 Laptop GPU, 56, 10.94 W, 210 MHz, 405 MHz, 0 MiB", "error": ""} +{"time": 1793802291.2186213, "gpu": "2026/11/04 21:24:51.210, NVIDIA GeForce RTX 3060 Laptop GPU, 56, 10.95 W, 210 MHz, 405 MHz, 0 MiB", "error": ""} +{"time": 1793802293.2841957, "gpu": "2026/11/04 21:24:53.275, NVIDIA GeForce RTX 3060 Laptop GPU, 55, 11.68 W, 210 MHz, 405 MHz, 0 MiB", "error": ""} +{"time": 1793802295.449781, "gpu": "2026/11/04 21:24:55.434, NVIDIA GeForce RTX 3060 Laptop GPU, 55, 11.81 W, 210 MHz, 405 MHz, 0 MiB", "error": ""} +{"time": 1793802297.5639062, "gpu": "2026/11/04 21:24:57.550, NVIDIA GeForce RTX 3060 Laptop GPU, 54, 11.06 W, 210 MHz, 405 MHz, 0 MiB", "error": ""} +{"time": 1793802299.746433, "gpu": "2026/11/04 21:24:59.726, NVIDIA GeForce RTX 3060 Laptop GPU, 54, 10.78 W, 210 MHz, 405 MHz, 0 MiB", "error": ""} +{"time": 1793802301.8376052, "gpu": "2026/11/04 21:25:01.822, NVIDIA GeForce RTX 3060 Laptop GPU, 53, 10.43 W, 210 MHz, 405 MHz, 0 MiB", "error": ""} +{"time": 1793802304.0130315, "gpu": "2026/11/04 21:25:04.000, NVIDIA GeForce RTX 3060 Laptop GPU, 53, 10.76 W, 210 MHz, 405 MHz, 0 MiB", "error": ""} diff --git a/research-notes/smolvla-followup-20261104/part3_runtime_children.py b/research-notes/smolvla-followup-20261104/part3_runtime_children.py new file mode 100644 index 00000000..c6de9a1c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/part3_runtime_children.py @@ -0,0 +1,21 @@ +from pathlib import Path +import json,os,subprocess,re +root=Path(__file__).resolve().parents[2];base=Path(__file__).resolve().parent;out=base/'part3-runtime' +model='/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf' +env={k:v for k,v in os.environ.items() if not k.startswith('VLA_')} +configs=[('defaults',[]),('flash',['--flash-attn']),('mm-default',['--mm-prec','default']),('flash-mm',['--flash-attn','--mm-prec','default']),('bf16',['--weight-dtype','bf16']),('bf16-flash',['--weight-dtype','bf16','--flash-attn']),('f16',['--weight-dtype','f16']),('f16-flash',['--weight-dtype','f16','--flash-attn']),('steps-5',['--num-steps','5']),('steps-3',['--num-steps','3'])] +records=[] +mode=__import__('sys').argv[1] +for trial in range(3): + for name,flags in (configs if trial%2==0 else list(reversed(configs))): + command=[str(root/'build-cuda/vla-bench'),'--ckpt',model,'--images','2','--size','512','--tokens','16','--warmup','3','--reps','20']+flags + path=out/f'{mode}-{name}-{trial}.log' + with path.open('w') as log: + p=subprocess.Popen(command,cwd=root,env=env,stdout=log,stderr=subprocess.STDOUT);code=p.wait() + r=dict(name=name,trial=trial,pid=p.pid,command=command,exit=code) + if code:raise RuntimeError(str(r)) + text=path.read_text();m=re.search(r'mean ([\d.]+) ms\s+p50 ([\d.]+) ms\s+p90 ([\d.]+) ms',text) + if not m:raise RuntimeError('Missing summary '+str(path)) + r.update(mean_ms=float(m[1]),p50_ms=float(m[2]),p90_ms=float(m[3])) + records.append(r);(out/(mode+'-runs.json')).write_text(json.dumps(records,indent=2)+'\n') + print(mode,name,trial+1,r['mean_ms'],flush=True) diff --git a/research-notes/smolvla-followup-20261104/phase-suite/defaults-0/result.json b/research-notes/smolvla-followup-20261104/phase-suite/defaults-0/result.json new file mode 100644 index 00000000..ba47a364 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/phase-suite/defaults-0/result.json @@ -0,0 +1,286 @@ +{ + "model": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "variant": "defaults", + "mode": "phase", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 32, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 223.7758026123047, + "ms_vision": 56.16798400878906, + "ms_inference": 125.52922058105469, + "ms_prefill": 19.900747299194336, + "ms_denoise": 105.62847137451172, + "python_wall_ms": 232.44434699881822, + "unaccounted_ms": 42.07859802246094 + }, + { + "ms_total": 178.88607788085938, + "ms_vision": 56.29865646362305, + "ms_inference": 77.26956176757812, + "ms_prefill": 16.541297912597656, + "ms_denoise": 60.72826385498047, + "python_wall_ms": 187.88277699786704, + "unaccounted_ms": 45.3178596496582 + }, + { + "ms_total": 180.6288299560547, + "ms_vision": 56.59425354003906, + "ms_inference": 77.95252990722656, + "ms_prefill": 16.27645492553711, + "ms_denoise": 61.67607879638672, + "python_wall_ms": 189.88293899747077, + "unaccounted_ms": 46.08204650878906 + }, + { + "ms_total": 218.03204345703125, + "ms_vision": 55.85517883300781, + "ms_inference": 120.62670135498047, + "ms_prefill": 19.864469528198242, + "ms_denoise": 100.7622299194336, + "python_wall_ms": 225.8297139997012, + "unaccounted_ms": 41.55016326904297 + }, + { + "ms_total": 175.1746368408203, + "ms_vision": 56.30630111694336, + "ms_inference": 75.31892395019531, + "ms_prefill": 16.14148712158203, + "ms_denoise": 59.177433013916016, + "python_wall_ms": 185.47818400111282, + "unaccounted_ms": 43.54941177368164 + }, + { + "ms_total": 175.1983642578125, + "ms_vision": 56.66864013671875, + "ms_inference": 75.31989288330078, + "ms_prefill": 16.190767288208008, + "ms_denoise": 59.12912368774414, + "python_wall_ms": 184.3624609973631, + "unaccounted_ms": 43.20983123779297 + }, + { + "ms_total": 222.04751586914062, + "ms_vision": 55.80959701538086, + "ms_inference": 123.74533081054688, + "ms_prefill": 22.27111053466797, + "ms_denoise": 101.4742202758789, + "python_wall_ms": 230.11741999653168, + "unaccounted_ms": 42.49258804321289 + }, + { + "ms_total": 180.7654266357422, + "ms_vision": 56.675926208496094, + "ms_inference": 78.93781280517578, + "ms_prefill": 16.270288467407227, + "ms_denoise": 62.66752624511719, + "python_wall_ms": 190.28121999872383, + "unaccounted_ms": 45.15168762207031 + }, + { + "ms_total": 175.73716735839844, + "ms_vision": 57.27147674560547, + "ms_inference": 73.55148315429688, + "ms_prefill": 16.127593994140625, + "ms_denoise": 57.423892974853516, + "python_wall_ms": 185.2968300008797, + "unaccounted_ms": 44.914207458496094 + }, + { + "ms_total": 220.52621459960938, + "ms_vision": 55.9666633605957, + "ms_inference": 122.47686004638672, + "ms_prefill": 22.028039932250977, + "ms_denoise": 100.44882202148438, + "python_wall_ms": 229.27168299793266, + "unaccounted_ms": 42.08269119262695 + }, + { + "ms_total": 179.2039794921875, + "ms_vision": 56.43437957763672, + "ms_inference": 77.93009948730469, + "ms_prefill": 16.206039428710938, + "ms_denoise": 61.724056243896484, + "python_wall_ms": 187.12658000004012, + "unaccounted_ms": 44.839500427246094 + }, + { + "ms_total": 176.6300811767578, + "ms_vision": 56.323429107666016, + "ms_inference": 75.28459167480469, + "ms_prefill": 16.154048919677734, + "ms_denoise": 59.13054275512695, + "python_wall_ms": 185.50339799548965, + "unaccounted_ms": 45.02206039428711 + }, + { + "ms_total": 215.96026611328125, + "ms_vision": 55.4744873046875, + "ms_inference": 119.05198669433594, + "ms_prefill": 22.307815551757812, + "ms_denoise": 96.74417114257812, + "python_wall_ms": 224.65757800091524, + "unaccounted_ms": 41.43379211425781 + }, + { + "ms_total": 178.85867309570312, + "ms_vision": 55.658897399902344, + "ms_inference": 78.39533233642578, + "ms_prefill": 16.759557723999023, + "ms_denoise": 61.63577651977539, + "python_wall_ms": 188.24168400169583, + "unaccounted_ms": 44.804443359375 + }, + { + "ms_total": 179.34202575683594, + "ms_vision": 56.769073486328125, + "ms_inference": 77.62753295898438, + "ms_prefill": 16.031423568725586, + "ms_denoise": 61.59611129760742, + "python_wall_ms": 187.43365399859613, + "unaccounted_ms": 44.94541931152344 + }, + { + "ms_total": 214.87391662597656, + "ms_vision": 55.820438385009766, + "ms_inference": 119.24520874023438, + "ms_prefill": 22.78035545349121, + "ms_denoise": 96.46485137939453, + "python_wall_ms": 223.64843200193718, + "unaccounted_ms": 39.80826950073242 + }, + { + "ms_total": 183.10205078125, + "ms_vision": 56.12394332885742, + "ms_inference": 82.7951431274414, + "ms_prefill": 16.180570602416992, + "ms_denoise": 66.61457061767578, + "python_wall_ms": 191.32999499561265, + "unaccounted_ms": 44.18296432495117 + }, + { + "ms_total": 174.86163330078125, + "ms_vision": 56.784759521484375, + "ms_inference": 73.26644897460938, + "ms_prefill": 16.16504669189453, + "ms_denoise": 57.10139846801758, + "python_wall_ms": 183.6559520015726, + "unaccounted_ms": 44.8104248046875 + }, + { + "ms_total": 225.3101806640625, + "ms_vision": 56.40988540649414, + "ms_inference": 126.64449310302734, + "ms_prefill": 20.02079200744629, + "ms_denoise": 106.62370300292969, + "python_wall_ms": 233.3491099998355, + "unaccounted_ms": 42.255802154541016 + }, + { + "ms_total": 176.93923950195312, + "ms_vision": 55.90309143066406, + "ms_inference": 75.83647155761719, + "ms_prefill": 16.050235748291016, + "ms_denoise": 59.78623962402344, + "python_wall_ms": 185.35865499870852, + "unaccounted_ms": 45.199676513671875 + } + ], + "summary": { + "ms_total": { + "mean": 192.79270629882814, + "p50": 179.9854278564453, + "p90": 222.22034454345703 + }, + "ms_vision": { + "mean": 56.26585311889649, + "p50": 56.3024787902832, + "p90": 56.77064208984375 + }, + "ms_inference": { + "mean": 92.84028129577636, + "p50": 78.17393112182617, + "p90": 123.92371978759766 + }, + "ms_prefill": { + "mean": 18.013407135009764, + "p50": 16.273371696472168, + "p90": 22.274781036376954 + }, + "ms_denoise": { + "mean": 74.82687416076661, + "p50": 61.7000675201416, + "p90": 101.8896453857422 + }, + "python_wall_ms": { + "mean": 201.55763064904022, + "p50": 189.0623114995833, + "p90": 230.35011269676033 + }, + "unaccounted_ms": { + "mean": 43.68657188415527, + "p50": 44.493703842163086, + "p90": 45.211494827270506 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/phase-suite/defaults-1/result.json b/research-notes/smolvla-followup-20261104/phase-suite/defaults-1/result.json new file mode 100644 index 00000000..7abc444a --- /dev/null +++ b/research-notes/smolvla-followup-20261104/phase-suite/defaults-1/result.json @@ -0,0 +1,286 @@ +{ + "model": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "variant": "defaults", + "mode": "phase", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 32, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 228.43792724609375, + "ms_vision": 56.166656494140625, + "ms_inference": 128.7201385498047, + "ms_prefill": 19.741024017333984, + "ms_denoise": 108.97911834716797, + "python_wall_ms": 238.79539300105534, + "unaccounted_ms": 43.55113220214844 + }, + { + "ms_total": 180.85238647460938, + "ms_vision": 55.55356979370117, + "ms_inference": 79.05516052246094, + "ms_prefill": 16.324432373046875, + "ms_denoise": 62.73072814941406, + "python_wall_ms": 188.52456499735126, + "unaccounted_ms": 46.243656158447266 + }, + { + "ms_total": 180.10154724121094, + "ms_vision": 57.0836296081543, + "ms_inference": 77.1262435913086, + "ms_prefill": 16.282520294189453, + "ms_denoise": 60.84372329711914, + "python_wall_ms": 187.61256599827902, + "unaccounted_ms": 45.89167404174805 + }, + { + "ms_total": 219.56874084472656, + "ms_vision": 56.761959075927734, + "ms_inference": 117.79480743408203, + "ms_prefill": 21.09515380859375, + "ms_denoise": 96.69965362548828, + "python_wall_ms": 228.3355589970597, + "unaccounted_ms": 45.0119743347168 + }, + { + "ms_total": 183.56930541992188, + "ms_vision": 56.85993576049805, + "ms_inference": 80.081787109375, + "ms_prefill": 16.313858032226562, + "ms_denoise": 63.76792907714844, + "python_wall_ms": 191.02876199758612, + "unaccounted_ms": 46.62758255004883 + }, + { + "ms_total": 177.0011444091797, + "ms_vision": 57.19070053100586, + "ms_inference": 74.28630828857422, + "ms_prefill": 16.237756729125977, + "ms_denoise": 58.04854965209961, + "python_wall_ms": 185.35373600025196, + "unaccounted_ms": 45.52413558959961 + }, + { + "ms_total": 221.3217010498047, + "ms_vision": 56.853424072265625, + "ms_inference": 122.6654052734375, + "ms_prefill": 22.73971176147461, + "ms_denoise": 99.92568969726562, + "python_wall_ms": 230.00095200404758, + "unaccounted_ms": 41.80287170410156 + }, + { + "ms_total": 181.35125732421875, + "ms_vision": 56.22953414916992, + "ms_inference": 79.99140930175781, + "ms_prefill": 16.240352630615234, + "ms_denoise": 63.75105667114258, + "python_wall_ms": 189.3777389996103, + "unaccounted_ms": 45.130313873291016 + }, + { + "ms_total": 182.54830932617188, + "ms_vision": 57.36040496826172, + "ms_inference": 79.21353912353516, + "ms_prefill": 16.32546043395996, + "ms_denoise": 62.88807678222656, + "python_wall_ms": 190.5293800009531, + "unaccounted_ms": 45.974365234375 + }, + { + "ms_total": 219.02027893066406, + "ms_vision": 56.303672790527344, + "ms_inference": 121.09725952148438, + "ms_prefill": 21.930580139160156, + "ms_denoise": 99.16667938232422, + "python_wall_ms": 226.95875500357943, + "unaccounted_ms": 41.619346618652344 + }, + { + "ms_total": 184.9419403076172, + "ms_vision": 56.563987731933594, + "ms_inference": 76.64453125, + "ms_prefill": 15.876773834228516, + "ms_denoise": 60.76775360107422, + "python_wall_ms": 193.14461899921298, + "unaccounted_ms": 51.733421325683594 + }, + { + "ms_total": 199.48394775390625, + "ms_vision": 62.43955612182617, + "ms_inference": 78.73016357421875, + "ms_prefill": 17.107995986938477, + "ms_denoise": 61.622169494628906, + "python_wall_ms": 208.67451599769993, + "unaccounted_ms": 58.31422805786133 + }, + { + "ms_total": 269.9908142089844, + "ms_vision": 56.84089660644531, + "ms_inference": 169.4925079345703, + "ms_prefill": 27.545995712280273, + "ms_denoise": 141.94651794433594, + "python_wall_ms": 281.0506969981361, + "unaccounted_ms": 43.65740966796875 + }, + { + "ms_total": 194.13914489746094, + "ms_vision": 56.59642791748047, + "ms_inference": 90.013916015625, + "ms_prefill": 16.16802978515625, + "ms_denoise": 73.84588623046875, + "python_wall_ms": 202.9722969964496, + "unaccounted_ms": 47.52880096435547 + }, + { + "ms_total": 203.9723358154297, + "ms_vision": 71.58695220947266, + "ms_inference": 76.92965698242188, + "ms_prefill": 16.353580474853516, + "ms_denoise": 60.576080322265625, + "python_wall_ms": 220.6187609990593, + "unaccounted_ms": 55.455726623535156 + }, + { + "ms_total": 898.7369384765625, + "ms_vision": 61.308780670166016, + "ms_inference": 794.1025390625, + "ms_prefill": 117.1295166015625, + "ms_denoise": 676.9730224609375, + "python_wall_ms": 909.0860770011204, + "unaccounted_ms": 43.325618743896484 + }, + { + "ms_total": 267.6357421875, + "ms_vision": 58.85334777832031, + "ms_inference": 133.3300323486328, + "ms_prefill": 16.326522827148438, + "ms_denoise": 117.00350952148438, + "python_wall_ms": 279.1381860006368, + "unaccounted_ms": 75.45236206054688 + }, + { + "ms_total": 297.9418640136719, + "ms_vision": 59.777652740478516, + "ms_inference": 130.7110595703125, + "ms_prefill": 16.00473976135254, + "ms_denoise": 114.70631408691406, + "python_wall_ms": 307.2858330051531, + "unaccounted_ms": 107.45315170288086 + }, + { + "ms_total": 1295.0345458984375, + "ms_vision": 62.11476135253906, + "ms_inference": 1187.2154541015625, + "ms_prefill": 78.98761749267578, + "ms_denoise": 1108.227783203125, + "python_wall_ms": 1320.0691870006267, + "unaccounted_ms": 45.70433044433594 + }, + { + "ms_total": 368.17108154296875, + "ms_vision": 71.91539001464844, + "ms_inference": 164.14158630371094, + "ms_prefill": 16.260356903076172, + "ms_denoise": 147.8812255859375, + "python_wall_ms": 376.8095679988619, + "unaccounted_ms": 132.11410522460938 + } + ], + "summary": { + "ms_total": { + "mean": 307.69104766845703, + "p50": 211.49630737304688, + "p90": 421.2276672363289 + }, + "ms_vision": { + "mean": 59.218062019348146, + "p50": 56.97178268432617, + "p90": 63.354295730590835 + }, + "ms_inference": { + "mean": 193.06717529296876, + "p50": 103.90436172485352, + "p90": 231.95351104736417 + }, + "ms_prefill": { + "mean": 26.049598979949952, + "p50": 16.3259916305542, + "p90": 32.690157890319895 + }, + "ms_denoise": { + "mean": 167.01757335662842, + "p50": 85.27276992797852, + "p90": 200.79040527343824 + }, + "python_wall_ms": { + "mean": 317.76835739983653, + "p50": 223.78875800131937, + "p90": 430.0372188990885 + }, + "unaccounted_ms": { + "mean": 55.40581035614014, + "p50": 45.93301963806152, + "p90": 78.65244102478032 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/phase-suite/defaults-2/result.json b/research-notes/smolvla-followup-20261104/phase-suite/defaults-2/result.json new file mode 100644 index 00000000..b9368eee --- /dev/null +++ b/research-notes/smolvla-followup-20261104/phase-suite/defaults-2/result.json @@ -0,0 +1,286 @@ +{ + "model": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "variant": "defaults", + "mode": "phase", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 32, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 243.81710815429688, + "ms_vision": 56.32168960571289, + "ms_inference": 142.7507781982422, + "ms_prefill": 20.15986442565918, + "ms_denoise": 122.59091186523438, + "python_wall_ms": 252.48016499972437, + "unaccounted_ms": 44.7446403503418 + }, + { + "ms_total": 191.91148376464844, + "ms_vision": 55.8171272277832, + "ms_inference": 88.54129791259766, + "ms_prefill": 16.709089279174805, + "ms_denoise": 71.83220672607422, + "python_wall_ms": 202.2124469949631, + "unaccounted_ms": 47.55305862426758 + }, + { + "ms_total": 180.15869140625, + "ms_vision": 57.58460235595703, + "ms_inference": 76.15262603759766, + "ms_prefill": 16.269603729248047, + "ms_denoise": 59.88302230834961, + "python_wall_ms": 188.3948269969551, + "unaccounted_ms": 46.42146301269531 + }, + { + "ms_total": 241.59738159179688, + "ms_vision": 56.15903854370117, + "ms_inference": 143.1000213623047, + "ms_prefill": 22.573535919189453, + "ms_denoise": 120.52648162841797, + "python_wall_ms": 250.52540699834935, + "unaccounted_ms": 42.338321685791016 + }, + { + "ms_total": 181.86146545410156, + "ms_vision": 56.994510650634766, + "ms_inference": 79.11373138427734, + "ms_prefill": 16.31878662109375, + "ms_denoise": 62.794944763183594, + "python_wall_ms": 189.53507499827538, + "unaccounted_ms": 45.75322341918945 + }, + { + "ms_total": 181.07469177246094, + "ms_vision": 56.48269271850586, + "ms_inference": 78.84215545654297, + "ms_prefill": 16.47732925415039, + "ms_denoise": 62.36482620239258, + "python_wall_ms": 191.19289600348566, + "unaccounted_ms": 45.74984359741211 + }, + { + "ms_total": 240.14434814453125, + "ms_vision": 56.27064895629883, + "ms_inference": 140.788330078125, + "ms_prefill": 27.040231704711914, + "ms_denoise": 113.74810028076172, + "python_wall_ms": 251.02283299929695, + "unaccounted_ms": 43.08536911010742 + }, + { + "ms_total": 180.13050842285156, + "ms_vision": 56.06747055053711, + "ms_inference": 77.9918441772461, + "ms_prefill": 16.19847869873047, + "ms_denoise": 61.793365478515625, + "python_wall_ms": 190.03004000114743, + "unaccounted_ms": 46.07119369506836 + }, + { + "ms_total": 186.9667205810547, + "ms_vision": 57.76561737060547, + "ms_inference": 83.75320434570312, + "ms_prefill": 16.249713897705078, + "ms_denoise": 67.50348663330078, + "python_wall_ms": 198.826405001455, + "unaccounted_ms": 45.447898864746094 + }, + { + "ms_total": 224.76373291015625, + "ms_vision": 56.37983322143555, + "ms_inference": 124.71121215820312, + "ms_prefill": 22.912635803222656, + "ms_denoise": 101.79857635498047, + "python_wall_ms": 232.22116800025105, + "unaccounted_ms": 43.67268753051758 + }, + { + "ms_total": 189.2205352783203, + "ms_vision": 61.1756591796875, + "ms_inference": 84.10433959960938, + "ms_prefill": 16.90207290649414, + "ms_denoise": 67.20226287841797, + "python_wall_ms": 197.6261739982874, + "unaccounted_ms": 43.94053649902344 + }, + { + "ms_total": 176.7055206298828, + "ms_vision": 56.84453582763672, + "ms_inference": 74.48223114013672, + "ms_prefill": 16.475906372070312, + "ms_denoise": 58.006324768066406, + "python_wall_ms": 186.28241399710532, + "unaccounted_ms": 45.378753662109375 + }, + { + "ms_total": 220.09988403320312, + "ms_vision": 56.518985748291016, + "ms_inference": 120.34818267822266, + "ms_prefill": 22.588760375976562, + "ms_denoise": 97.7594223022461, + "python_wall_ms": 230.11511100048665, + "unaccounted_ms": 43.23271560668945 + }, + { + "ms_total": 181.53323364257812, + "ms_vision": 56.26011657714844, + "ms_inference": 80.19490814208984, + "ms_prefill": 15.990427017211914, + "ms_denoise": 64.20448303222656, + "python_wall_ms": 190.51621399557916, + "unaccounted_ms": 45.078208923339844 + }, + { + "ms_total": 177.25119018554688, + "ms_vision": 57.3455696105957, + "ms_inference": 74.93509674072266, + "ms_prefill": 16.81205940246582, + "ms_denoise": 58.1230354309082, + "python_wall_ms": 185.59277999884216, + "unaccounted_ms": 44.970523834228516 + }, + { + "ms_total": 222.6392364501953, + "ms_vision": 56.81679916381836, + "ms_inference": 122.22772216796875, + "ms_prefill": 23.11721420288086, + "ms_denoise": 99.11051177978516, + "python_wall_ms": 232.92259400477633, + "unaccounted_ms": 43.5947151184082 + }, + { + "ms_total": 180.42933654785156, + "ms_vision": 56.4371223449707, + "ms_inference": 77.77437591552734, + "ms_prefill": 16.523744583129883, + "ms_denoise": 61.25062942504883, + "python_wall_ms": 192.92187099927105, + "unaccounted_ms": 46.217838287353516 + }, + { + "ms_total": 180.79551696777344, + "ms_vision": 57.22110366821289, + "ms_inference": 77.42340087890625, + "ms_prefill": 16.504383087158203, + "ms_denoise": 60.91901779174805, + "python_wall_ms": 190.20863300102064, + "unaccounted_ms": 46.1510124206543 + }, + { + "ms_total": 223.14682006835938, + "ms_vision": 56.524375915527344, + "ms_inference": 123.84010314941406, + "ms_prefill": 20.3343448638916, + "ms_denoise": 103.5057601928711, + "python_wall_ms": 232.0335629992769, + "unaccounted_ms": 42.78234100341797 + }, + { + "ms_total": 326.9827575683594, + "ms_vision": 61.41905975341797, + "ms_inference": 169.0563201904297, + "ms_prefill": 16.051971435546875, + "ms_denoise": 153.0043487548828, + "python_wall_ms": 337.9300499946112, + "unaccounted_ms": 96.50737762451172 + } + ], + "summary": { + "ms_total": { + "mean": 206.56150817871094, + "p50": 188.0936279296875, + "p90": 241.8193542480469 + }, + "ms_vision": { + "mean": 57.120327949523926, + "p50": 56.52168083190918, + "p90": 58.106621551513676 + }, + "ms_inference": { + "mean": 102.00659408569337, + "p50": 83.92877197265625, + "p90": 142.78570251464845 + }, + "ms_prefill": { + "mean": 18.610507678985595, + "p50": 16.616416931152344, + "p90": 22.933093643188478 + }, + "ms_denoise": { + "mean": 83.39608592987061, + "p50": 67.35287475585938, + "p90": 120.73292465209961 + }, + "python_wall_ms": { + "mean": 216.129533349158, + "p50": 198.2262894998712, + "p90": 251.1685661993397 + }, + "unaccounted_ms": { + "mean": 47.434586143493654, + "p50": 45.22848129272461, + "p90": 46.53462257385254 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-0/result.json b/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-0/result.json new file mode 100644 index 00000000..8d802c25 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-0/result.json @@ -0,0 +1,286 @@ +{ + "model": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "variant": "flash-mm", + "mode": "phase", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 32, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 183.47671508789062, + "ms_vision": 43.39204025268555, + "ms_inference": 98.58944702148438, + "ms_prefill": 16.14480972290039, + "ms_denoise": 82.44464111328125, + "python_wall_ms": 227.10587099572876, + "unaccounted_ms": 41.4952278137207 + }, + { + "ms_total": 206.3366241455078, + "ms_vision": 44.247947692871094, + "ms_inference": 118.76966857910156, + "ms_prefill": 17.916706085205078, + "ms_denoise": 100.85295867919922, + "python_wall_ms": 216.84826799901202, + "unaccounted_ms": 43.319007873535156 + }, + { + "ms_total": 161.38339233398438, + "ms_vision": 43.75022888183594, + "ms_inference": 75.11062622070312, + "ms_prefill": 16.353744506835938, + "ms_denoise": 58.75688552856445, + "python_wall_ms": 170.7585399999516, + "unaccounted_ms": 42.52253723144531 + }, + { + "ms_total": 192.5065155029297, + "ms_vision": 43.60938262939453, + "ms_inference": 108.30906677246094, + "ms_prefill": 17.1916446685791, + "ms_denoise": 91.11742401123047, + "python_wall_ms": 200.51748499827227, + "unaccounted_ms": 40.58806610107422 + }, + { + "ms_total": 163.4898681640625, + "ms_vision": 43.52145767211914, + "ms_inference": 76.77281188964844, + "ms_prefill": 17.38153648376465, + "ms_denoise": 59.391273498535156, + "python_wall_ms": 171.47349700098857, + "unaccounted_ms": 43.19559860229492 + }, + { + "ms_total": 155.4407958984375, + "ms_vision": 42.99252700805664, + "ms_inference": 70.33352661132812, + "ms_prefill": 13.309718132019043, + "ms_denoise": 57.02381134033203, + "python_wall_ms": 163.44239599857247, + "unaccounted_ms": 42.114742279052734 + }, + { + "ms_total": 194.72265625, + "ms_vision": 43.13086700439453, + "ms_inference": 111.05538177490234, + "ms_prefill": 16.188962936401367, + "ms_denoise": 94.86641693115234, + "python_wall_ms": 202.05087499925867, + "unaccounted_ms": 40.536407470703125 + }, + { + "ms_total": 159.6166534423828, + "ms_vision": 42.968753814697266, + "ms_inference": 74.89656066894531, + "ms_prefill": 13.513717651367188, + "ms_denoise": 61.38284683227539, + "python_wall_ms": 167.7439869963564, + "unaccounted_ms": 41.751338958740234 + }, + { + "ms_total": 158.60731506347656, + "ms_vision": 43.49620056152344, + "ms_inference": 73.09296417236328, + "ms_prefill": 13.779516220092773, + "ms_denoise": 59.31344985961914, + "python_wall_ms": 166.434904000198, + "unaccounted_ms": 42.018150329589844 + }, + { + "ms_total": 183.7744903564453, + "ms_vision": 42.87750244140625, + "ms_inference": 101.76913452148438, + "ms_prefill": 16.496288299560547, + "ms_denoise": 85.27284240722656, + "python_wall_ms": 191.15127800614573, + "unaccounted_ms": 39.12785339355469 + }, + { + "ms_total": 182.3125, + "ms_vision": 43.07516098022461, + "ms_inference": 95.70455932617188, + "ms_prefill": 13.596813201904297, + "ms_denoise": 82.10774230957031, + "python_wall_ms": 191.25685499602696, + "unaccounted_ms": 43.532779693603516 + }, + { + "ms_total": 180.9436798095703, + "ms_vision": 43.766517639160156, + "ms_inference": 94.37971496582031, + "ms_prefill": 13.410050392150879, + "ms_denoise": 80.96966552734375, + "python_wall_ms": 189.69757800368825, + "unaccounted_ms": 42.797447204589844 + }, + { + "ms_total": 198.7139129638672, + "ms_vision": 42.73432922363281, + "ms_inference": 116.88128662109375, + "ms_prefill": 17.379138946533203, + "ms_denoise": 99.50215148925781, + "python_wall_ms": 206.36366899998393, + "unaccounted_ms": 39.098297119140625 + }, + { + "ms_total": 159.3779754638672, + "ms_vision": 42.875457763671875, + "ms_inference": 74.49100494384766, + "ms_prefill": 13.511393547058105, + "ms_denoise": 60.979610443115234, + "python_wall_ms": 166.99886799324304, + "unaccounted_ms": 42.011512756347656 + }, + { + "ms_total": 160.9962921142578, + "ms_vision": 44.016876220703125, + "ms_inference": 74.80105590820312, + "ms_prefill": 14.578998565673828, + "ms_denoise": 60.22206115722656, + "python_wall_ms": 168.6053949961206, + "unaccounted_ms": 42.17835998535156 + }, + { + "ms_total": 203.1593475341797, + "ms_vision": 42.96475601196289, + "ms_inference": 121.20349884033203, + "ms_prefill": 16.87544059753418, + "ms_denoise": 104.32805633544922, + "python_wall_ms": 210.69772099872353, + "unaccounted_ms": 38.991092681884766 + }, + { + "ms_total": 157.6230926513672, + "ms_vision": 43.173397064208984, + "ms_inference": 72.64591217041016, + "ms_prefill": 13.346616744995117, + "ms_denoise": 59.29929733276367, + "python_wall_ms": 164.6541480004089, + "unaccounted_ms": 41.80378341674805 + }, + { + "ms_total": 157.2418670654297, + "ms_vision": 43.693599700927734, + "ms_inference": 71.04058837890625, + "ms_prefill": 13.57436752319336, + "ms_denoise": 57.466217041015625, + "python_wall_ms": 165.73712000536034, + "unaccounted_ms": 42.5076789855957 + }, + { + "ms_total": 207.15538024902344, + "ms_vision": 42.8189582824707, + "ms_inference": 124.91026306152344, + "ms_prefill": 16.877656936645508, + "ms_denoise": 108.03260803222656, + "python_wall_ms": 216.33945099893026, + "unaccounted_ms": 39.4261589050293 + }, + { + "ms_total": 159.9575653076172, + "ms_vision": 43.353763580322266, + "ms_inference": 74.1540756225586, + "ms_prefill": 13.293740272521973, + "ms_denoise": 60.86033248901367, + "python_wall_ms": 167.6976629969431, + "unaccounted_ms": 42.44972610473633 + } + ], + "summary": { + "ms_total": { + "mean": 176.34183197021486, + "p50": 172.2167739868164, + "p90": 203.4770751953125 + }, + "ms_vision": { + "mean": 43.32298622131348, + "p50": 43.263580322265625, + "p90": 43.79155349731445 + }, + "ms_inference": { + "mean": 91.44555740356445, + "p50": 85.57626342773438, + "p90": 119.01305160522462 + }, + "ms_prefill": { + "mean": 15.236043071746826, + "p50": 15.36190414428711, + "p90": 17.379378700256346 + }, + "ms_denoise": { + "mean": 76.20951461791992, + "p50": 71.17625617980957, + "p90": 101.20046844482422 + }, + "python_wall_ms": { + "mean": 186.27877844919567, + "p50": 180.5855375023384, + "p90": 216.39033269893844 + }, + "unaccounted_ms": { + "mean": 41.57328834533691, + "p50": 42.01483154296875, + "p90": 43.207939529418944 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-0/runtime.json b/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-0/runtime.json new file mode 100644 index 00000000..3108c9e5 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-0/runtime.json @@ -0,0 +1 @@ +{"runtime": {"flash_attn": true, "mm_prec": "default"}} diff --git a/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-1/result.json b/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-1/result.json new file mode 100644 index 00000000..dbf968d5 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-1/result.json @@ -0,0 +1,286 @@ +{ + "model": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "variant": "flash-mm", + "mode": "phase", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 32, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 187.77932739257812, + "ms_vision": 44.39241409301758, + "ms_inference": 101.64009094238281, + "ms_prefill": 16.43569564819336, + "ms_denoise": 85.20439147949219, + "python_wall_ms": 195.80915899859974, + "unaccounted_ms": 41.746822357177734 + }, + { + "ms_total": 159.74658203125, + "ms_vision": 44.2427978515625, + "ms_inference": 71.8873062133789, + "ms_prefill": 13.570006370544434, + "ms_denoise": 58.31730270385742, + "python_wall_ms": 167.9261819954263, + "unaccounted_ms": 43.616477966308594 + }, + { + "ms_total": 160.73887634277344, + "ms_vision": 43.07912063598633, + "ms_inference": 76.25799560546875, + "ms_prefill": 13.936037063598633, + "ms_denoise": 62.32196044921875, + "python_wall_ms": 168.73582099651685, + "unaccounted_ms": 41.40176010131836 + }, + { + "ms_total": 217.90213012695312, + "ms_vision": 43.14464569091797, + "ms_inference": 134.06350708007812, + "ms_prefill": 16.63399887084961, + "ms_denoise": 117.42950439453125, + "python_wall_ms": 225.44205099984538, + "unaccounted_ms": 40.69397735595703 + }, + { + "ms_total": 164.5041046142578, + "ms_vision": 44.20787048339844, + "ms_inference": 75.3473129272461, + "ms_prefill": 13.610703468322754, + "ms_denoise": 61.73660659790039, + "python_wall_ms": 172.18354700162308, + "unaccounted_ms": 44.94892120361328 + }, + { + "ms_total": 161.20936584472656, + "ms_vision": 44.630226135253906, + "ms_inference": 73.06912231445312, + "ms_prefill": 13.564152717590332, + "ms_denoise": 59.504966735839844, + "python_wall_ms": 168.42524600360775, + "unaccounted_ms": 43.51001739501953 + }, + { + "ms_total": 220.66134643554688, + "ms_vision": 43.912288665771484, + "ms_inference": 125.59080505371094, + "ms_prefill": 17.027667999267578, + "ms_denoise": 108.5631332397461, + "python_wall_ms": 228.61964700132376, + "unaccounted_ms": 51.15825271606445 + }, + { + "ms_total": 162.65139770507812, + "ms_vision": 43.549583435058594, + "ms_inference": 74.62083435058594, + "ms_prefill": 13.558534622192383, + "ms_denoise": 61.06230163574219, + "python_wall_ms": 171.0217450017808, + "unaccounted_ms": 44.480979919433594 + }, + { + "ms_total": 158.94447326660156, + "ms_vision": 44.04129409790039, + "ms_inference": 71.7472915649414, + "ms_prefill": 13.478096961975098, + "ms_denoise": 58.269195556640625, + "python_wall_ms": 167.176016002486, + "unaccounted_ms": 43.155887603759766 + }, + { + "ms_total": 213.34144592285156, + "ms_vision": 44.14358139038086, + "ms_inference": 126.6015625, + "ms_prefill": 18.3101749420166, + "ms_denoise": 108.29138946533203, + "python_wall_ms": 220.7817150047049, + "unaccounted_ms": 42.5963020324707 + }, + { + "ms_total": 207.13575744628906, + "ms_vision": 44.35466384887695, + "ms_inference": 110.34434509277344, + "ms_prefill": 13.433672904968262, + "ms_denoise": 96.91067504882812, + "python_wall_ms": 216.16167600586778, + "unaccounted_ms": 52.43674850463867 + }, + { + "ms_total": 164.05116271972656, + "ms_vision": 47.29615020751953, + "ms_inference": 71.83229064941406, + "ms_prefill": 13.344651222229004, + "ms_denoise": 58.48763656616211, + "python_wall_ms": 171.75973400298972, + "unaccounted_ms": 44.92272186279297 + }, + { + "ms_total": 224.22396850585938, + "ms_vision": 44.22801208496094, + "ms_inference": 138.01010131835938, + "ms_prefill": 17.46976089477539, + "ms_denoise": 120.54033660888672, + "python_wall_ms": 232.00404299859656, + "unaccounted_ms": 41.98585510253906 + }, + { + "ms_total": 186.0767059326172, + "ms_vision": 43.76730728149414, + "ms_inference": 96.37734985351562, + "ms_prefill": 13.454906463623047, + "ms_denoise": 82.92243957519531, + "python_wall_ms": 193.64059699728386, + "unaccounted_ms": 45.93204879760742 + }, + { + "ms_total": 170.1940155029297, + "ms_vision": 45.756107330322266, + "ms_inference": 77.54840087890625, + "ms_prefill": 13.473978996276855, + "ms_denoise": 64.07442474365234, + "python_wall_ms": 177.72925800090889, + "unaccounted_ms": 46.88950729370117 + }, + { + "ms_total": 241.29771423339844, + "ms_vision": 44.32224655151367, + "ms_inference": 156.7720489501953, + "ms_prefill": 19.3065128326416, + "ms_denoise": 137.4655303955078, + "python_wall_ms": 249.68404499668395, + "unaccounted_ms": 40.20341873168945 + }, + { + "ms_total": 167.4432830810547, + "ms_vision": 44.12443161010742, + "ms_inference": 77.85676574707031, + "ms_prefill": 13.496272087097168, + "ms_denoise": 64.3604965209961, + "python_wall_ms": 176.31059200357413, + "unaccounted_ms": 45.46208572387695 + }, + { + "ms_total": 174.08377075195312, + "ms_vision": 44.953914642333984, + "ms_inference": 80.36317443847656, + "ms_prefill": 13.29903507232666, + "ms_denoise": 67.06414031982422, + "python_wall_ms": 182.4633780051954, + "unaccounted_ms": 48.76668167114258 + }, + { + "ms_total": 263.55120849609375, + "ms_vision": 43.477840423583984, + "ms_inference": 179.15110778808594, + "ms_prefill": 18.611957550048828, + "ms_denoise": 160.53915405273438, + "python_wall_ms": 272.9562669992447, + "unaccounted_ms": 40.92226028442383 + }, + { + "ms_total": 351.3114929199219, + "ms_vision": 51.75729751586914, + "ms_inference": 203.8423614501953, + "ms_prefill": 13.466197967529297, + "ms_denoise": 190.37615966796875, + "python_wall_ms": 359.6806849964196, + "unaccounted_ms": 95.71183395385742 + } + ], + "summary": { + "ms_total": { + "mean": 197.84240646362304, + "p50": 180.08023834228516, + "p90": 243.523063659668 + }, + "ms_vision": { + "mean": 44.6690896987915, + "p50": 44.21794128417969, + "p90": 45.910111618041995 + }, + "ms_inference": { + "mean": 106.14618873596191, + "p50": 88.3702621459961, + "p90": 159.0099548339844 + }, + "ms_prefill": { + "mean": 14.974100732803345, + "p50": 13.567079544067383, + "p90": 18.340353202819824 + }, + "ms_denoise": { + "mean": 91.17208728790283, + "p50": 74.99328994750977, + "p90": 139.7728927612305 + }, + "python_wall_ms": { + "mean": 205.92557020063396, + "p50": 188.05198750123964, + "p90": 252.01126719694005 + }, + "unaccounted_ms": { + "mean": 47.027128028869626, + "p50": 44.048728942871094, + "p90": 51.286102294921875 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-1/runtime.json b/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-1/runtime.json new file mode 100644 index 00000000..3108c9e5 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-1/runtime.json @@ -0,0 +1 @@ +{"runtime": {"flash_attn": true, "mm_prec": "default"}} diff --git a/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-2/result.json b/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-2/result.json new file mode 100644 index 00000000..03f77e1d --- /dev/null +++ b/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-2/result.json @@ -0,0 +1,286 @@ +{ + "model": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "variant": "flash-mm", + "mode": "phase", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 32, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 192.62725830078125, + "ms_vision": 43.3634033203125, + "ms_inference": 105.18708038330078, + "ms_prefill": 16.633941650390625, + "ms_denoise": 88.55313873291016, + "python_wall_ms": 200.7725709991064, + "unaccounted_ms": 44.07677459716797 + }, + { + "ms_total": 189.74981689453125, + "ms_vision": 44.159610748291016, + "ms_inference": 101.92018127441406, + "ms_prefill": 13.648996353149414, + "ms_denoise": 88.27118682861328, + "python_wall_ms": 199.3583560033585, + "unaccounted_ms": 43.67002487182617 + }, + { + "ms_total": 161.2289276123047, + "ms_vision": 44.485618591308594, + "ms_inference": 73.4803466796875, + "ms_prefill": 13.541460037231445, + "ms_denoise": 59.93888473510742, + "python_wall_ms": 173.2713670062367, + "unaccounted_ms": 43.262962341308594 + }, + { + "ms_total": 211.92457580566406, + "ms_vision": 43.95421600341797, + "ms_inference": 126.04700469970703, + "ms_prefill": 18.215011596679688, + "ms_denoise": 107.83199310302734, + "python_wall_ms": 220.13674399931915, + "unaccounted_ms": 41.92335510253906 + }, + { + "ms_total": 178.51878356933594, + "ms_vision": 44.11086654663086, + "ms_inference": 90.42133331298828, + "ms_prefill": 13.516647338867188, + "ms_denoise": 76.9046859741211, + "python_wall_ms": 192.25883499893826, + "unaccounted_ms": 43.9865837097168 + }, + { + "ms_total": 207.06936645507812, + "ms_vision": 44.728206634521484, + "ms_inference": 116.35814666748047, + "ms_prefill": 14.554905891418457, + "ms_denoise": 101.80323791503906, + "python_wall_ms": 218.07001299748663, + "unaccounted_ms": 45.98301315307617 + }, + { + "ms_total": 213.1410369873047, + "ms_vision": 43.526641845703125, + "ms_inference": 128.70370483398438, + "ms_prefill": 19.84638023376465, + "ms_denoise": 108.85733032226562, + "python_wall_ms": 222.36530300142476, + "unaccounted_ms": 40.91069030761719 + }, + { + "ms_total": 177.3699493408203, + "ms_vision": 43.895774841308594, + "ms_inference": 90.19214630126953, + "ms_prefill": 13.660133361816406, + "ms_denoise": 76.53201293945312, + "python_wall_ms": 186.22289000632009, + "unaccounted_ms": 43.28202819824219 + }, + { + "ms_total": 160.8335418701172, + "ms_vision": 44.64723587036133, + "ms_inference": 72.78087615966797, + "ms_prefill": 13.650757789611816, + "ms_denoise": 59.1301155090332, + "python_wall_ms": 172.68947700358694, + "unaccounted_ms": 43.40542984008789 + }, + { + "ms_total": 204.88868713378906, + "ms_vision": 43.70828628540039, + "ms_inference": 119.42742919921875, + "ms_prefill": 17.92713165283203, + "ms_denoise": 101.50029754638672, + "python_wall_ms": 212.42206899478333, + "unaccounted_ms": 41.75297164916992 + }, + { + "ms_total": 163.865478515625, + "ms_vision": 43.726993560791016, + "ms_inference": 75.88726043701172, + "ms_prefill": 13.499250411987305, + "ms_denoise": 62.38801193237305, + "python_wall_ms": 171.79759999999078, + "unaccounted_ms": 44.251224517822266 + }, + { + "ms_total": 194.02040100097656, + "ms_vision": 44.07841110229492, + "ms_inference": 106.30927276611328, + "ms_prefill": 13.612017631530762, + "ms_denoise": 92.69725799560547, + "python_wall_ms": 202.99489600438392, + "unaccounted_ms": 43.63271713256836 + }, + { + "ms_total": 219.15122985839844, + "ms_vision": 42.947837829589844, + "ms_inference": 134.81947326660156, + "ms_prefill": 17.318845748901367, + "ms_denoise": 117.5006332397461, + "python_wall_ms": 226.74596400611335, + "unaccounted_ms": 41.38391876220703 + }, + { + "ms_total": 164.95840454101562, + "ms_vision": 43.62395477294922, + "ms_inference": 77.88169860839844, + "ms_prefill": 13.512788772583008, + "ms_denoise": 64.36891174316406, + "python_wall_ms": 174.57973999989918, + "unaccounted_ms": 43.45275115966797 + }, + { + "ms_total": 161.0931854248047, + "ms_vision": 44.86013412475586, + "ms_inference": 72.28657531738281, + "ms_prefill": 13.624651908874512, + "ms_denoise": 58.661922454833984, + "python_wall_ms": 170.38253400096437, + "unaccounted_ms": 43.946475982666016 + }, + { + "ms_total": 232.41323852539062, + "ms_vision": 43.59577560424805, + "ms_inference": 148.94540405273438, + "ms_prefill": 18.34712791442871, + "ms_denoise": 130.59828186035156, + "python_wall_ms": 240.74288299743785, + "unaccounted_ms": 39.8720588684082 + }, + { + "ms_total": 181.70301818847656, + "ms_vision": 43.789695739746094, + "ms_inference": 93.2994384765625, + "ms_prefill": 13.482694625854492, + "ms_denoise": 79.81674194335938, + "python_wall_ms": 190.0210000021616, + "unaccounted_ms": 44.61388397216797 + }, + { + "ms_total": 159.7595672607422, + "ms_vision": 44.47202682495117, + "ms_inference": 72.63208770751953, + "ms_prefill": 13.606034278869629, + "ms_denoise": 59.02605438232422, + "python_wall_ms": 169.01497999788262, + "unaccounted_ms": 42.655452728271484 + }, + { + "ms_total": 232.69683837890625, + "ms_vision": 43.47132873535156, + "ms_inference": 145.9443359375, + "ms_prefill": 17.902040481567383, + "ms_denoise": 128.04229736328125, + "python_wall_ms": 241.42021800071234, + "unaccounted_ms": 43.28117370605469 + }, + { + "ms_total": 169.935791015625, + "ms_vision": 44.10251235961914, + "ms_inference": 78.5634536743164, + "ms_prefill": 13.553634643554688, + "ms_denoise": 65.00981903076172, + "python_wall_ms": 178.2451319959364, + "unaccounted_ms": 47.26982498168945 + } + ], + "summary": { + "ms_total": { + "mean": 188.8474548339844, + "p50": 185.7264175415039, + "p90": 220.47743072509766 + }, + "ms_vision": { + "mean": 43.962426567077635, + "p50": 43.92499542236328, + "p90": 44.65533294677734 + }, + "ms_inference": { + "mean": 101.55436248779297, + "p50": 97.60980987548828, + "p90": 135.9319595336914 + }, + "ms_prefill": { + "mean": 15.18272261619568, + "p50": 13.649877071380615, + "p90": 18.22822322845459 + }, + "ms_denoise": { + "mean": 86.37164077758788, + "p50": 84.04396438598633, + "p90": 118.55479965209962 + }, + "python_wall_ms": { + "mean": 198.17562860080216, + "p50": 195.80859550114837, + "p90": 228.14565590524583 + }, + "unaccounted_ms": { + "mean": 43.33066577911377, + "p50": 43.42909049987793, + "p90": 44.75079689025879 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-2/runtime.json b/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-2/runtime.json new file mode 100644 index 00000000..3108c9e5 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-2/runtime.json @@ -0,0 +1 @@ +{"runtime": {"flash_attn": true, "mm_prec": "default"}} diff --git a/research-notes/smolvla-followup-20261104/phase-suite/runs.json b/research-notes/smolvla-followup-20261104/phase-suite/runs.json new file mode 100644 index 00000000..21862b50 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/phase-suite/runs.json @@ -0,0 +1,812 @@ +[ + { + "case": "defaults", + "trial": 0, + "summary": { + "ms_total": { + "mean": 192.79270629882814, + "p50": 179.9854278564453, + "p90": 222.22034454345703 + }, + "ms_vision": { + "mean": 56.26585311889649, + "p50": 56.3024787902832, + "p90": 56.77064208984375 + }, + "ms_inference": { + "mean": 92.84028129577636, + "p50": 78.17393112182617, + "p90": 123.92371978759766 + }, + "ms_prefill": { + "mean": 18.013407135009764, + "p50": 16.273371696472168, + "p90": 22.274781036376954 + }, + "ms_denoise": { + "mean": 74.82687416076661, + "p50": 61.7000675201416, + "p90": 101.8896453857422 + }, + "python_wall_ms": { + "mean": 201.55763064904022, + "p50": 189.0623114995833, + "p90": 230.35011269676033 + }, + "unaccounted_ms": { + "mean": 43.68657188415527, + "p50": 44.493703842163086, + "p90": 45.211494827270506 + } + }, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/defaults-0/result.json", + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--variant", + "defaults", + "--mode", + "phase", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/defaults-0" + ] + }, + { + "case": "flash-mm", + "trial": 0, + "summary": { + "ms_total": { + "mean": 176.34183197021486, + "p50": 172.2167739868164, + "p90": 203.4770751953125 + }, + "ms_vision": { + "mean": 43.32298622131348, + "p50": 43.263580322265625, + "p90": 43.79155349731445 + }, + "ms_inference": { + "mean": 91.44555740356445, + "p50": 85.57626342773438, + "p90": 119.01305160522462 + }, + "ms_prefill": { + "mean": 15.236043071746826, + "p50": 15.36190414428711, + "p90": 17.379378700256346 + }, + "ms_denoise": { + "mean": 76.20951461791992, + "p50": 71.17625617980957, + "p90": 101.20046844482422 + }, + "python_wall_ms": { + "mean": 186.27877844919567, + "p50": 180.5855375023384, + "p90": 216.39033269893844 + }, + "unaccounted_ms": { + "mean": 41.57328834533691, + "p50": 42.01483154296875, + "p90": 43.207939529418944 + } + }, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-0/result.json", + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--variant", + "flash-mm", + "--mode", + "phase", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-0" + ] + }, + { + "case": "smolvla-vision-tail-10", + "trial": 0, + "summary": { + "ms_total": { + "mean": 408.64782562255857, + "p50": 269.7924346923828, + "p90": 825.899774169922 + }, + "ms_vision": { + "mean": 55.6652286529541, + "p50": 50.27404594421387, + "p90": 65.92081985473635 + }, + "ms_inference": { + "mean": 286.96124000549315, + "p50": 132.9216079711914, + "p90": 715.2429077148439 + }, + "ms_prefill": { + "mean": 30.202434873580934, + "p50": 16.1915283203125, + "p90": 74.29519805908204 + }, + "ms_denoise": { + "mean": 256.75880851745603, + "p50": 116.8082504272461, + "p90": 691.8401489257814 + }, + "python_wall_ms": { + "mean": 420.04435950002517, + "p50": 278.5134875011863, + "p90": 835.9761067018554 + }, + "unaccounted_ms": { + "mean": 66.02135696411133, + "p50": 61.20589065551758, + "p90": 102.28081207275392 + } + }, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-tail-10-0/result.json", + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "--variant", + "defaults", + "--mode", + "phase", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-tail-10-0" + ] + }, + { + "case": "smolvla-vision-spaced-10", + "trial": 0, + "summary": { + "ms_total": { + "mean": 314.5371513366699, + "p50": 257.01529693603516, + "p90": 663.7212341308594 + }, + "ms_vision": { + "mean": 53.27492828369141, + "p50": 49.77595329284668, + "p90": 61.04959716796876 + }, + "ms_inference": { + "mean": 202.23012313842773, + "p50": 125.17410659790039, + "p90": 561.4740661621095 + }, + "ms_prefill": { + "mean": 27.57581157684326, + "p50": 16.44295024871826, + "p90": 58.145643997192415 + }, + "ms_denoise": { + "mean": 174.65431175231933, + "p50": 105.43682479858398, + "p90": 500.0009002685547 + }, + "python_wall_ms": { + "mean": 327.0983370995964, + "p50": 265.5648214968096, + "p90": 709.3178987008288 + }, + "unaccounted_ms": { + "mean": 59.032099914550784, + "p50": 48.240142822265625, + "p90": 95.78443183898926 + } + }, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-spaced-10-0/result.json", + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "--variant", + "defaults", + "--mode", + "phase", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-spaced-10-0" + ] + }, + { + "case": "smolvla-coupled-tail-30", + "trial": 0, + "summary": { + "ms_total": { + "mean": 460.3435913085938, + "p50": 304.4586181640625, + "p90": 965.1585327148438 + }, + "ms_vision": { + "mean": 69.27630252838135, + "p50": 67.17243576049805, + "p90": 84.24921417236328 + }, + "ms_inference": { + "mean": 325.8762805938721, + "p50": 142.40532684326172, + "p90": 855.692938232422 + }, + "ms_prefill": { + "mean": 29.851236629486085, + "p50": 15.134940147399902, + "p90": 67.92643432617189 + }, + "ms_denoise": { + "mean": 296.0250421524048, + "p50": 127.36608123779297, + "p90": 792.9957336425781 + }, + "python_wall_ms": { + "mean": 472.949735551083, + "p50": 313.6831345036626, + "p90": 983.865199302818 + }, + "unaccounted_ms": { + "mean": 65.19100818634033, + "p50": 62.75878143310547, + "p90": 93.46273269653321 + } + }, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-coupled-tail-30-0/result.json", + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "--variant", + "defaults", + "--mode", + "phase", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-coupled-tail-30-0" + ] + }, + { + "case": "defaults", + "trial": 1, + "summary": { + "ms_total": { + "mean": 307.69104766845703, + "p50": 211.49630737304688, + "p90": 421.2276672363289 + }, + "ms_vision": { + "mean": 59.218062019348146, + "p50": 56.97178268432617, + "p90": 63.354295730590835 + }, + "ms_inference": { + "mean": 193.06717529296876, + "p50": 103.90436172485352, + "p90": 231.95351104736417 + }, + "ms_prefill": { + "mean": 26.049598979949952, + "p50": 16.3259916305542, + "p90": 32.690157890319895 + }, + "ms_denoise": { + "mean": 167.01757335662842, + "p50": 85.27276992797852, + "p90": 200.79040527343824 + }, + "python_wall_ms": { + "mean": 317.76835739983653, + "p50": 223.78875800131937, + "p90": 430.0372188990885 + }, + "unaccounted_ms": { + "mean": 55.40581035614014, + "p50": 45.93301963806152, + "p90": 78.65244102478032 + } + }, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/defaults-1/result.json", + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--variant", + "defaults", + "--mode", + "phase", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/defaults-1" + ] + }, + { + "case": "flash-mm", + "trial": 1, + "summary": { + "ms_total": { + "mean": 197.84240646362304, + "p50": 180.08023834228516, + "p90": 243.523063659668 + }, + "ms_vision": { + "mean": 44.6690896987915, + "p50": 44.21794128417969, + "p90": 45.910111618041995 + }, + "ms_inference": { + "mean": 106.14618873596191, + "p50": 88.3702621459961, + "p90": 159.0099548339844 + }, + "ms_prefill": { + "mean": 14.974100732803345, + "p50": 13.567079544067383, + "p90": 18.340353202819824 + }, + "ms_denoise": { + "mean": 91.17208728790283, + "p50": 74.99328994750977, + "p90": 139.7728927612305 + }, + "python_wall_ms": { + "mean": 205.92557020063396, + "p50": 188.05198750123964, + "p90": 252.01126719694005 + }, + "unaccounted_ms": { + "mean": 47.027128028869626, + "p50": 44.048728942871094, + "p90": 51.286102294921875 + } + }, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-1/result.json", + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--variant", + "flash-mm", + "--mode", + "phase", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-1" + ] + }, + { + "case": "smolvla-vision-tail-10", + "trial": 1, + "summary": { + "ms_total": { + "mean": 236.1594268798828, + "p50": 191.75680541992188, + "p90": 295.26515197753906 + }, + "ms_vision": { + "mean": 49.57133598327637, + "p50": 48.77040481567383, + "p90": 52.6554458618164 + }, + "ms_inference": { + "mean": 136.70896759033204, + "p50": 94.39774322509766, + "p90": 196.80062866210938 + }, + "ms_prefill": { + "mean": 19.48301362991333, + "p50": 16.63279151916504, + "p90": 24.765533828735354 + }, + "ms_denoise": { + "mean": 117.22595291137695, + "p50": 77.76495361328125, + "p90": 168.64657135009767 + }, + "python_wall_ms": { + "mean": 246.34037064861332, + "p50": 200.67884199670516, + "p90": 307.24532649837784 + }, + "unaccounted_ms": { + "mean": 49.879123306274415, + "p50": 49.34851837158203, + "p90": 53.8610824584961 + } + }, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-tail-10-1/result.json", + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "--variant", + "defaults", + "--mode", + "phase", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-tail-10-1" + ] + }, + { + "case": "smolvla-vision-spaced-10", + "trial": 1, + "summary": { + "ms_total": { + "mean": 218.16784057617187, + "p50": 177.98946380615234, + "p90": 229.110517883301 + }, + "ms_vision": { + "mean": 47.90030651092529, + "p50": 47.628604888916016, + "p90": 48.579232406616214 + }, + "ms_inference": { + "mean": 123.94145584106445, + "p50": 86.72179412841797, + "p90": 134.81079559326187 + }, + "ms_prefill": { + "mean": 18.375818824768068, + "p50": 16.48774242401123, + "p90": 22.85281162261963 + }, + "ms_denoise": { + "mean": 105.56563701629639, + "p50": 70.5018196105957, + "p90": 112.70945510864274 + }, + "python_wall_ms": { + "mean": 227.86578685045242, + "p50": 188.23186750159948, + "p90": 238.82112939827513 + }, + "unaccounted_ms": { + "mean": 46.326078224182126, + "p50": 45.108863830566406, + "p90": 46.80350112915039 + } + }, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-spaced-10-1/result.json", + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "--variant", + "defaults", + "--mode", + "phase", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-spaced-10-1" + ] + }, + { + "case": "smolvla-coupled-tail-30", + "trial": 1, + "summary": { + "ms_total": { + "mean": 204.36658935546876, + "p50": 187.91641998291016, + "p90": 247.79611968994143 + }, + "ms_vision": { + "mean": 57.847220993041994, + "p50": 57.40733337402344, + "p90": 59.21621398925781 + }, + "ms_inference": { + "mean": 100.94633598327637, + "p50": 80.12095260620117, + "p90": 150.32962799072268 + }, + "ms_prefill": { + "mean": 17.457737016677857, + "p50": 15.45159101486206, + "p90": 21.38697395324707 + }, + "ms_denoise": { + "mean": 83.48859786987305, + "p50": 64.74691390991211, + "p90": 129.0531234741211 + }, + "python_wall_ms": { + "mean": 213.2858546498028, + "p50": 196.7767245041614, + "p90": 257.12423029981437 + }, + "unaccounted_ms": { + "mean": 45.57303237915039, + "p50": 44.47385215759277, + "p90": 48.79889869689942 + } + }, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-coupled-tail-30-1/result.json", + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "--variant", + "defaults", + "--mode", + "phase", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-coupled-tail-30-1" + ] + }, + { + "case": "defaults", + "trial": 2, + "summary": { + "ms_total": { + "mean": 206.56150817871094, + "p50": 188.0936279296875, + "p90": 241.8193542480469 + }, + "ms_vision": { + "mean": 57.120327949523926, + "p50": 56.52168083190918, + "p90": 58.106621551513676 + }, + "ms_inference": { + "mean": 102.00659408569337, + "p50": 83.92877197265625, + "p90": 142.78570251464845 + }, + "ms_prefill": { + "mean": 18.610507678985595, + "p50": 16.616416931152344, + "p90": 22.933093643188478 + }, + "ms_denoise": { + "mean": 83.39608592987061, + "p50": 67.35287475585938, + "p90": 120.73292465209961 + }, + "python_wall_ms": { + "mean": 216.129533349158, + "p50": 198.2262894998712, + "p90": 251.1685661993397 + }, + "unaccounted_ms": { + "mean": 47.434586143493654, + "p50": 45.22848129272461, + "p90": 46.53462257385254 + } + }, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/defaults-2/result.json", + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--variant", + "defaults", + "--mode", + "phase", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/defaults-2" + ] + }, + { + "case": "flash-mm", + "trial": 2, + "summary": { + "ms_total": { + "mean": 188.8474548339844, + "p50": 185.7264175415039, + "p90": 220.47743072509766 + }, + "ms_vision": { + "mean": 43.962426567077635, + "p50": 43.92499542236328, + "p90": 44.65533294677734 + }, + "ms_inference": { + "mean": 101.55436248779297, + "p50": 97.60980987548828, + "p90": 135.9319595336914 + }, + "ms_prefill": { + "mean": 15.18272261619568, + "p50": 13.649877071380615, + "p90": 18.22822322845459 + }, + "ms_denoise": { + "mean": 86.37164077758788, + "p50": 84.04396438598633, + "p90": 118.55479965209962 + }, + "python_wall_ms": { + "mean": 198.17562860080216, + "p50": 195.80859550114837, + "p90": 228.14565590524583 + }, + "unaccounted_ms": { + "mean": 43.33066577911377, + "p50": 43.42909049987793, + "p90": 44.75079689025879 + } + }, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-2/result.json", + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--variant", + "flash-mm", + "--mode", + "phase", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-2" + ] + }, + { + "case": "smolvla-vision-tail-10", + "trial": 2, + "summary": { + "ms_total": { + "mean": 211.71208572387695, + "p50": 211.519287109375, + "p90": 233.0502639770508 + }, + "ms_vision": { + "mean": 48.11498165130615, + "p50": 47.86747932434082, + "p90": 50.02820243835449 + }, + "ms_inference": { + "mean": 117.15619430541992, + "p50": 115.09978485107422, + "p90": 141.0999969482422 + }, + "ms_prefill": { + "mean": 19.303139019012452, + "p50": 16.57790756225586, + "p90": 26.363703918457034 + }, + "ms_denoise": { + "mean": 97.85305480957031, + "p50": 98.6042366027832, + "p90": 116.9623374938965 + }, + "python_wall_ms": { + "mean": 220.4076925496338, + "p50": 219.28509599820245, + "p90": 242.2616225012462 + }, + "unaccounted_ms": { + "mean": 46.44090976715088, + "p50": 45.74987602233887, + "p90": 49.53059463500977 + } + }, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-tail-10-2/result.json", + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "--variant", + "defaults", + "--mode", + "phase", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-tail-10-2" + ] + }, + { + "case": "smolvla-vision-spaced-10", + "trial": 2, + "summary": { + "ms_total": { + "mean": 205.51678085327148, + "p50": 206.66168975830078, + "p90": 224.88829345703124 + }, + "ms_vision": { + "mean": 47.43936824798584, + "p50": 47.31147766113281, + "p90": 48.47801971435547 + }, + "ms_inference": { + "mean": 112.74204368591309, + "p50": 113.21129989624023, + "p90": 127.12765731811524 + }, + "ms_prefill": { + "mean": 18.481701564788818, + "p50": 16.52949333190918, + "p90": 23.41423091888428 + }, + "ms_denoise": { + "mean": 94.26034164428711, + "p50": 95.31908416748047, + "p90": 108.8864128112793 + }, + "python_wall_ms": { + "mean": 215.6211785000778, + "p50": 214.2401985001925, + "p90": 233.4613947023172 + }, + "unaccounted_ms": { + "mean": 45.335368919372556, + "p50": 45.369651794433594, + "p90": 48.66199951171875 + } + }, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-spaced-10-2/result.json", + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "--variant", + "defaults", + "--mode", + "phase", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-spaced-10-2" + ] + }, + { + "case": "smolvla-coupled-tail-30", + "trial": 2, + "summary": { + "ms_total": { + "mean": 203.09700241088868, + "p50": 205.99285125732422, + "p90": 216.01177673339845 + }, + "ms_vision": { + "mean": 56.27224979400635, + "p50": 56.25221633911133, + "p90": 56.95235939025879 + }, + "ms_inference": { + "mean": 104.16214447021484, + "p50": 109.90493774414062, + "p90": 114.88839874267579 + }, + "ms_prefill": { + "mean": 16.814357614517213, + "p50": 15.676112651824951, + "p90": 19.121876525878907 + }, + "ms_denoise": { + "mean": 87.3477861404419, + "p50": 91.46648788452148, + "p90": 99.4395233154297 + }, + "python_wall_ms": { + "mean": 210.51242890134745, + "p50": 213.6601794991293, + "p90": 223.85247250640532 + }, + "unaccounted_ms": { + "mean": 42.66260814666748, + "p50": 42.720746994018555, + "p90": 44.069151687622075 + } + }, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-coupled-tail-30-2/result.json", + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "--variant", + "defaults", + "--mode", + "phase", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-coupled-tail-30-2" + ] + } +] diff --git a/research-notes/smolvla-followup-20261104/phase-suite/selected.json b/research-notes/smolvla-followup-20261104/phase-suite/selected.json new file mode 100644 index 00000000..ff507d60 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/phase-suite/selected.json @@ -0,0 +1,272 @@ +{ + "defaults": { + "case": "defaults", + "trial": 0, + "summary": { + "ms_total": { + "mean": 192.79270629882814, + "p50": 179.9854278564453, + "p90": 222.22034454345703 + }, + "ms_vision": { + "mean": 56.26585311889649, + "p50": 56.3024787902832, + "p90": 56.77064208984375 + }, + "ms_inference": { + "mean": 92.84028129577636, + "p50": 78.17393112182617, + "p90": 123.92371978759766 + }, + "ms_prefill": { + "mean": 18.013407135009764, + "p50": 16.273371696472168, + "p90": 22.274781036376954 + }, + "ms_denoise": { + "mean": 74.82687416076661, + "p50": 61.7000675201416, + "p90": 101.8896453857422 + }, + "python_wall_ms": { + "mean": 201.55763064904022, + "p50": 189.0623114995833, + "p90": 230.35011269676033 + }, + "unaccounted_ms": { + "mean": 43.68657188415527, + "p50": 44.493703842163086, + "p90": 45.211494827270506 + } + }, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/defaults-0/result.json", + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--variant", + "defaults", + "--mode", + "phase", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/defaults-0" + ] + }, + "flash-mm": { + "case": "flash-mm", + "trial": 0, + "summary": { + "ms_total": { + "mean": 176.34183197021486, + "p50": 172.2167739868164, + "p90": 203.4770751953125 + }, + "ms_vision": { + "mean": 43.32298622131348, + "p50": 43.263580322265625, + "p90": 43.79155349731445 + }, + "ms_inference": { + "mean": 91.44555740356445, + "p50": 85.57626342773438, + "p90": 119.01305160522462 + }, + "ms_prefill": { + "mean": 15.236043071746826, + "p50": 15.36190414428711, + "p90": 17.379378700256346 + }, + "ms_denoise": { + "mean": 76.20951461791992, + "p50": 71.17625617980957, + "p90": 101.20046844482422 + }, + "python_wall_ms": { + "mean": 186.27877844919567, + "p50": 180.5855375023384, + "p90": 216.39033269893844 + }, + "unaccounted_ms": { + "mean": 41.57328834533691, + "p50": 42.01483154296875, + "p90": 43.207939529418944 + } + }, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-0/result.json", + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--variant", + "flash-mm", + "--mode", + "phase", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/flash-mm-0" + ] + }, + "smolvla-vision-tail-10": { + "case": "smolvla-vision-tail-10", + "trial": 2, + "summary": { + "ms_total": { + "mean": 211.71208572387695, + "p50": 211.519287109375, + "p90": 233.0502639770508 + }, + "ms_vision": { + "mean": 48.11498165130615, + "p50": 47.86747932434082, + "p90": 50.02820243835449 + }, + "ms_inference": { + "mean": 117.15619430541992, + "p50": 115.09978485107422, + "p90": 141.0999969482422 + }, + "ms_prefill": { + "mean": 19.303139019012452, + "p50": 16.57790756225586, + "p90": 26.363703918457034 + }, + "ms_denoise": { + "mean": 97.85305480957031, + "p50": 98.6042366027832, + "p90": 116.9623374938965 + }, + "python_wall_ms": { + "mean": 220.4076925496338, + "p50": 219.28509599820245, + "p90": 242.2616225012462 + }, + "unaccounted_ms": { + "mean": 46.44090976715088, + "p50": 45.74987602233887, + "p90": 49.53059463500977 + } + }, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-tail-10-2/result.json", + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "--variant", + "defaults", + "--mode", + "phase", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-tail-10-2" + ] + }, + "smolvla-vision-spaced-10": { + "case": "smolvla-vision-spaced-10", + "trial": 2, + "summary": { + "ms_total": { + "mean": 205.51678085327148, + "p50": 206.66168975830078, + "p90": 224.88829345703124 + }, + "ms_vision": { + "mean": 47.43936824798584, + "p50": 47.31147766113281, + "p90": 48.47801971435547 + }, + "ms_inference": { + "mean": 112.74204368591309, + "p50": 113.21129989624023, + "p90": 127.12765731811524 + }, + "ms_prefill": { + "mean": 18.481701564788818, + "p50": 16.52949333190918, + "p90": 23.41423091888428 + }, + "ms_denoise": { + "mean": 94.26034164428711, + "p50": 95.31908416748047, + "p90": 108.8864128112793 + }, + "python_wall_ms": { + "mean": 215.6211785000778, + "p50": 214.2401985001925, + "p90": 233.4613947023172 + }, + "unaccounted_ms": { + "mean": 45.335368919372556, + "p50": 45.369651794433594, + "p90": 48.66199951171875 + } + }, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-spaced-10-2/result.json", + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "--variant", + "defaults", + "--mode", + "phase", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-spaced-10-2" + ] + }, + "smolvla-coupled-tail-30": { + "case": "smolvla-coupled-tail-30", + "trial": 2, + "summary": { + "ms_total": { + "mean": 203.09700241088868, + "p50": 205.99285125732422, + "p90": 216.01177673339845 + }, + "ms_vision": { + "mean": 56.27224979400635, + "p50": 56.25221633911133, + "p90": 56.95235939025879 + }, + "ms_inference": { + "mean": 104.16214447021484, + "p50": 109.90493774414062, + "p90": 114.88839874267579 + }, + "ms_prefill": { + "mean": 16.814357614517213, + "p50": 15.676112651824951, + "p90": 19.121876525878907 + }, + "ms_denoise": { + "mean": 87.3477861404419, + "p50": 91.46648788452148, + "p90": 99.4395233154297 + }, + "python_wall_ms": { + "mean": 210.51242890134745, + "p50": 213.6601794991293, + "p90": 223.85247250640532 + }, + "unaccounted_ms": { + "mean": 42.66260814666748, + "p50": 42.720746994018555, + "p90": 44.069151687622075 + } + }, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-coupled-tail-30-2/result.json", + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/profile_phase.py", + "--model", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "--variant", + "defaults", + "--mode", + "phase", + "--output", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/phase-suite/smolvla-coupled-tail-30-2" + ] + } +} diff --git a/research-notes/smolvla-followup-20261104/phase-suite/smolvla-coupled-tail-30-0/result.json b/research-notes/smolvla-followup-20261104/phase-suite/smolvla-coupled-tail-30-0/result.json new file mode 100644 index 00000000..8d731fa2 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/phase-suite/smolvla-coupled-tail-30-0/result.json @@ -0,0 +1,286 @@ +{ + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "variant": "defaults", + "mode": "phase", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 30, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 227.6201171875, + "ms_vision": 56.87424087524414, + "ms_inference": 130.93125915527344, + "ms_prefill": 19.358003616333008, + "ms_denoise": 111.57324981689453, + "python_wall_ms": 235.53503600123804, + "unaccounted_ms": 39.81461715698242 + }, + { + "ms_total": 170.8050079345703, + "ms_vision": 55.873687744140625, + "ms_inference": 71.17941284179688, + "ms_prefill": 15.474504470825195, + "ms_denoise": 55.70490646362305, + "python_wall_ms": 179.77857700316235, + "unaccounted_ms": 43.75190734863281 + }, + { + "ms_total": 201.69862365722656, + "ms_vision": 62.01490783691406, + "ms_inference": 82.65628051757812, + "ms_prefill": 15.133662223815918, + "ms_denoise": 67.52262115478516, + "python_wall_ms": 210.40238400019007, + "unaccounted_ms": 57.027435302734375 + }, + { + "ms_total": 953.8663940429688, + "ms_vision": 60.32874298095703, + "ms_inference": 852.4365234375, + "ms_prefill": 60.52092742919922, + "ms_denoise": 791.9155883789062, + "python_wall_ms": 972.0676880024257, + "unaccounted_ms": 41.10112762451172 + }, + { + "ms_total": 307.3324890136719, + "ms_vision": 65.43486022949219, + "ms_inference": 142.1007080078125, + "ms_prefill": 14.939835548400879, + "ms_denoise": 127.16087341308594, + "python_wall_ms": 315.1763450005092, + "unaccounted_ms": 99.79692077636719 + }, + { + "ms_total": 301.5847473144531, + "ms_vision": 72.27822875976562, + "ms_inference": 128.25189208984375, + "ms_prefill": 15.058664321899414, + "ms_denoise": 113.19322967529297, + "python_wall_ms": 312.189924006816, + "unaccounted_ms": 101.05462646484375 + }, + { + "ms_total": 960.5956420898438, + "ms_vision": 70.4781494140625, + "ms_inference": 849.6600341796875, + "ms_prefill": 46.94298553466797, + "ms_denoise": 802.717041015625, + "python_wall_ms": 978.1644890026655, + "unaccounted_ms": 40.45745849609375 + }, + { + "ms_total": 324.43756103515625, + "ms_vision": 61.336273193359375, + "ms_inference": 188.9945831298828, + "ms_prefill": 14.916277885437012, + "ms_denoise": 174.07830810546875, + "python_wall_ms": 333.82831000199076, + "unaccounted_ms": 74.10670471191406 + }, + { + "ms_total": 281.0427551269531, + "ms_vision": 91.76262664794922, + "ms_inference": 101.22161102294922, + "ms_prefill": 14.813888549804688, + "ms_denoise": 86.40772247314453, + "python_wall_ms": 288.70457599987276, + "unaccounted_ms": 88.05851745605469 + }, + { + "ms_total": 1012.2725830078125, + "ms_vision": 72.23785400390625, + "ms_inference": 898.8992919921875, + "ms_prefill": 74.90107727050781, + "ms_denoise": 823.9982299804688, + "python_wall_ms": 1039.564270999108, + "unaccounted_ms": 41.13543701171875 + }, + { + "ms_total": 343.98980712890625, + "ms_vision": 60.99951934814453, + "ms_inference": 190.23135375976562, + "ms_prefill": 14.896025657653809, + "ms_denoise": 175.3353271484375, + "python_wall_ms": 351.6191269955016, + "unaccounted_ms": 92.7589340209961 + }, + { + "ms_total": 267.9849548339844, + "ms_vision": 88.46192169189453, + "ms_inference": 94.14640045166016, + "ms_prefill": 14.84342098236084, + "ms_denoise": 79.302978515625, + "python_wall_ms": 276.2255479974556, + "unaccounted_ms": 85.37663269042969 + }, + { + "ms_total": 669.4024047851562, + "ms_vision": 59.2470703125, + "ms_inference": 570.58984375, + "ms_prefill": 67.15147399902344, + "ms_denoise": 503.4383544921875, + "python_wall_ms": 688.0036090005888, + "unaccounted_ms": 39.56549072265625 + }, + { + "ms_total": 216.17987060546875, + "ms_vision": 59.36004638671875, + "ms_inference": 99.88321685791016, + "ms_prefill": 15.085830688476562, + "ms_denoise": 84.7973861694336, + "python_wall_ms": 224.2652150016511, + "unaccounted_ms": 56.936607360839844 + }, + { + "ms_total": 234.339599609375, + "ms_vision": 83.78113555908203, + "ms_inference": 82.0683364868164, + "ms_prefill": 14.961471557617188, + "ms_denoise": 67.10686492919922, + "python_wall_ms": 242.5944479982718, + "unaccounted_ms": 68.49012756347656 + }, + { + "ms_total": 847.0891723632812, + "ms_vision": 66.881591796875, + "ms_inference": 738.4574584960938, + "ms_prefill": 37.93194580078125, + "ms_denoise": 700.5255126953125, + "python_wall_ms": 870.7382810025592, + "unaccounted_ms": 41.7501220703125 + }, + { + "ms_total": 314.5299072265625, + "ms_vision": 67.4632797241211, + "ms_inference": 159.29986572265625, + "ms_prefill": 15.089715003967285, + "ms_denoise": 144.21014404296875, + "python_wall_ms": 322.3968899983447, + "unaccounted_ms": 87.76676177978516 + }, + { + "ms_total": 276.9945068359375, + "ms_vision": 77.143310546875, + "ms_inference": 108.80692291259766, + "ms_prefill": 15.136218070983887, + "ms_denoise": 93.67070770263672, + "python_wall_ms": 284.46411400364013, + "unaccounted_ms": 91.04427337646484 + }, + { + "ms_total": 1006.2245483398438, + "ms_vision": 80.49044799804688, + "ms_inference": 885.0006713867188, + "ms_prefill": 94.73014831542969, + "ms_denoise": 790.2705078125, + "python_wall_ms": 1035.1715920041897, + "unaccounted_ms": 40.733428955078125 + }, + { + "ms_total": 288.8811340332031, + "ms_vision": 73.07815551757812, + "ms_inference": 142.70994567871094, + "ms_prefill": 15.138655662536621, + "ms_denoise": 127.5712890625, + "python_wall_ms": 298.10428700147895, + "unaccounted_ms": 73.09303283691406 + } + ], + "summary": { + "ms_total": { + "mean": 460.3435913085938, + "p50": 304.4586181640625, + "p90": 965.1585327148438 + }, + "ms_vision": { + "mean": 69.27630252838135, + "p50": 67.17243576049805, + "p90": 84.24921417236328 + }, + "ms_inference": { + "mean": 325.8762805938721, + "p50": 142.40532684326172, + "p90": 855.692938232422 + }, + "ms_prefill": { + "mean": 29.851236629486085, + "p50": 15.134940147399902, + "p90": 67.92643432617189 + }, + "ms_denoise": { + "mean": 296.0250421524048, + "p50": 127.36608123779297, + "p90": 792.9957336425781 + }, + "python_wall_ms": { + "mean": 472.949735551083, + "p50": 313.6831345036626, + "p90": 983.865199302818 + }, + "unaccounted_ms": { + "mean": 65.19100818634033, + "p50": 62.75878143310547, + "p90": 93.46273269653321 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/phase-suite/smolvla-coupled-tail-30-1/result.json b/research-notes/smolvla-followup-20261104/phase-suite/smolvla-coupled-tail-30-1/result.json new file mode 100644 index 00000000..5d9dacd7 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/phase-suite/smolvla-coupled-tail-30-1/result.json @@ -0,0 +1,286 @@ +{ + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "variant": "defaults", + "mode": "phase", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 30, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 243.64822387695312, + "ms_vision": 57.517242431640625, + "ms_inference": 145.75189208984375, + "ms_prefill": 19.62451934814453, + "ms_denoise": 126.12736511230469, + "python_wall_ms": 252.61106599646155, + "unaccounted_ms": 40.37908935546875 + }, + { + "ms_total": 210.20684814453125, + "ms_vision": 56.29599380493164, + "ms_inference": 82.77861022949219, + "ms_prefill": 15.206127166748047, + "ms_denoise": 67.57247924804688, + "python_wall_ms": 219.5632930015563, + "unaccounted_ms": 71.13224411010742 + }, + { + "ms_total": 176.06944274902344, + "ms_vision": 59.19619369506836, + "ms_inference": 71.05885314941406, + "ms_prefill": 15.105128288269043, + "ms_denoise": 55.95372772216797, + "python_wall_ms": 184.41851300303824, + "unaccounted_ms": 45.814395904541016 + }, + { + "ms_total": 242.49420166015625, + "ms_vision": 57.353431701660156, + "ms_inference": 144.79859924316406, + "ms_prefill": 25.470476150512695, + "ms_denoise": 119.32811737060547, + "python_wall_ms": 251.24444600078277, + "unaccounted_ms": 40.34217071533203 + }, + { + "ms_total": 179.32913208007812, + "ms_vision": 57.12690734863281, + "ms_inference": 76.26165771484375, + "ms_prefill": 15.274637222290039, + "ms_denoise": 60.987022399902344, + "python_wall_ms": 187.07137599994894, + "unaccounted_ms": 45.94056701660156 + }, + { + "ms_total": 171.7440643310547, + "ms_vision": 57.75050735473633, + "ms_inference": 69.5133285522461, + "ms_prefill": 15.348894119262695, + "ms_denoise": 54.164432525634766, + "python_wall_ms": 181.5291629973217, + "unaccounted_ms": 44.480228424072266 + }, + { + "ms_total": 258.0429992675781, + "ms_vision": 57.6460075378418, + "ms_inference": 159.55711364746094, + "ms_prefill": 21.67668342590332, + "ms_denoise": 137.88043212890625, + "python_wall_ms": 266.390776996559, + "unaccounted_ms": 40.83987808227539 + }, + { + "ms_total": 185.6100616455078, + "ms_vision": 57.30058288574219, + "ms_inference": 79.95516967773438, + "ms_prefill": 15.285118103027344, + "ms_denoise": 64.67005157470703, + "python_wall_ms": 194.6025740035111, + "unaccounted_ms": 48.35430908203125 + }, + { + "ms_total": 174.5863494873047, + "ms_vision": 59.39639663696289, + "ms_inference": 71.85496520996094, + "ms_prefill": 15.4128999710083, + "ms_denoise": 56.44206237792969, + "python_wall_ms": 182.96577499859268, + "unaccounted_ms": 43.33498764038086 + }, + { + "ms_total": 262.95733642578125, + "ms_vision": 55.8962287902832, + "ms_inference": 165.6165771484375, + "ms_prefill": 20.423118591308594, + "ms_denoise": 145.19345092773438, + "python_wall_ms": 271.33121700171614, + "unaccounted_ms": 41.44453048706055 + }, + { + "ms_total": 173.9911346435547, + "ms_vision": 56.98899459838867, + "ms_inference": 72.4371337890625, + "ms_prefill": 15.42081069946289, + "ms_denoise": 57.01632308959961, + "python_wall_ms": 183.56965600105468, + "unaccounted_ms": 44.565006256103516 + }, + { + "ms_total": 173.05862426757812, + "ms_vision": 57.82894515991211, + "ms_inference": 71.30908966064453, + "ms_prefill": 15.732913970947266, + "ms_denoise": 55.576175689697266, + "python_wall_ms": 181.77204599487595, + "unaccounted_ms": 43.920589447021484 + }, + { + "ms_total": 246.65757751464844, + "ms_vision": 56.83924865722656, + "ms_inference": 149.30435180664062, + "ms_prefill": 21.232044219970703, + "ms_denoise": 128.0723114013672, + "python_wall_ms": 256.0946140001761, + "unaccounted_ms": 40.51397705078125 + }, + { + "ms_total": 190.2227783203125, + "ms_vision": 57.13583755493164, + "ms_inference": 80.28673553466797, + "ms_prefill": 15.462960243225098, + "ms_denoise": 64.82377624511719, + "python_wall_ms": 201.2419239981682, + "unaccounted_ms": 52.80020523071289 + }, + { + "ms_total": 191.93995666503906, + "ms_vision": 58.23661422729492, + "ms_inference": 87.11032104492188, + "ms_prefill": 15.637208938598633, + "ms_denoise": 71.47311401367188, + "python_wall_ms": 198.95087500481168, + "unaccounted_ms": 46.593021392822266 + }, + { + "ms_total": 230.8583221435547, + "ms_vision": 56.90187072753906, + "ms_inference": 131.86001586914062, + "ms_prefill": 19.585891723632812, + "ms_denoise": 112.27413177490234, + "python_wall_ms": 239.45254999853205, + "unaccounted_ms": 42.096435546875 + }, + { + "ms_total": 177.6323699951172, + "ms_vision": 57.46123504638672, + "ms_inference": 75.70365905761719, + "ms_prefill": 15.440221786499023, + "ms_denoise": 60.26343536376953, + "python_wall_ms": 187.2154570010025, + "unaccounted_ms": 44.46747589111328 + }, + { + "ms_total": 182.5497589111328, + "ms_vision": 65.87090301513672, + "ms_inference": 71.06857299804688, + "ms_prefill": 15.359746932983398, + "ms_denoise": 55.708824157714844, + "python_wall_ms": 191.9509220024338, + "unaccounted_ms": 45.61028289794922 + }, + { + "ms_total": 236.42388916015625, + "ms_vision": 57.47809600830078, + "ms_inference": 135.35086059570312, + "ms_prefill": 21.35478401184082, + "ms_denoise": 113.9960708618164, + "python_wall_ms": 246.20271699677687, + "unaccounted_ms": 43.594932556152344 + }, + { + "ms_total": 179.3087158203125, + "ms_vision": 56.723182678222656, + "ms_inference": 77.34921264648438, + "ms_prefill": 15.100555419921875, + "ms_denoise": 62.248653411865234, + "python_wall_ms": 187.53813199873548, + "unaccounted_ms": 45.23632049560547 + } + ], + "summary": { + "ms_total": { + "mean": 204.36658935546876, + "p50": 187.91641998291016, + "p90": 247.79611968994143 + }, + "ms_vision": { + "mean": 57.847220993041994, + "p50": 57.40733337402344, + "p90": 59.21621398925781 + }, + "ms_inference": { + "mean": 100.94633598327637, + "p50": 80.12095260620117, + "p90": 150.32962799072268 + }, + "ms_prefill": { + "mean": 17.457737016677857, + "p50": 15.45159101486206, + "p90": 21.38697395324707 + }, + "ms_denoise": { + "mean": 83.48859786987305, + "p50": 64.74691390991211, + "p90": 129.0531234741211 + }, + "python_wall_ms": { + "mean": 213.2858546498028, + "p50": 196.7767245041614, + "p90": 257.12423029981437 + }, + "unaccounted_ms": { + "mean": 45.57303237915039, + "p50": 44.47385215759277, + "p90": 48.79889869689942 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/phase-suite/smolvla-coupled-tail-30-2/result.json b/research-notes/smolvla-followup-20261104/phase-suite/smolvla-coupled-tail-30-2/result.json new file mode 100644 index 00000000..0b320075 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/phase-suite/smolvla-coupled-tail-30-2/result.json @@ -0,0 +1,286 @@ +{ + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "variant": "defaults", + "mode": "phase", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 30, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 202.8936767578125, + "ms_vision": 56.597267150878906, + "ms_inference": 104.1080322265625, + "ms_prefill": 18.5115966796875, + "ms_denoise": 85.596435546875, + "python_wall_ms": 211.1592430010205, + "unaccounted_ms": 42.188377380371094 + }, + { + "ms_total": 175.31541442871094, + "ms_vision": 56.97849655151367, + "ms_inference": 76.14422607421875, + "ms_prefill": 15.278334617614746, + "ms_denoise": 60.86589050292969, + "python_wall_ms": 182.76516899641138, + "unaccounted_ms": 42.192691802978516 + }, + { + "ms_total": 212.09225463867188, + "ms_vision": 56.13712692260742, + "ms_inference": 112.7855453491211, + "ms_prefill": 15.674330711364746, + "ms_denoise": 97.11121368408203, + "python_wall_ms": 219.3270189964096, + "unaccounted_ms": 43.16958236694336 + }, + { + "ms_total": 207.88250732421875, + "ms_vision": 55.3673210144043, + "ms_inference": 109.786865234375, + "ms_prefill": 20.857988357543945, + "ms_denoise": 88.92887878417969, + "python_wall_ms": 214.44828899984714, + "unaccounted_ms": 42.72832107543945 + }, + { + "ms_total": 197.58804321289062, + "ms_vision": 56.34814453125, + "ms_inference": 96.24718475341797, + "ms_prefill": 15.41716480255127, + "ms_denoise": 80.83001708984375, + "python_wall_ms": 204.89289500255836, + "unaccounted_ms": 44.992713928222656 + }, + { + "ms_total": 221.0403289794922, + "ms_vision": 56.25562286376953, + "ms_inference": 122.5052490234375, + "ms_prefill": 15.307974815368652, + "ms_denoise": 107.19727325439453, + "python_wall_ms": 228.05237899592612, + "unaccounted_ms": 42.279457092285156 + }, + { + "ms_total": 211.10296630859375, + "ms_vision": 55.7840576171875, + "ms_inference": 113.78043365478516, + "ms_prefill": 19.696365356445312, + "ms_denoise": 94.08406829833984, + "python_wall_ms": 218.0487939986051, + "unaccounted_ms": 41.538475036621094 + }, + { + "ms_total": 218.09860229492188, + "ms_vision": 56.674652099609375, + "ms_inference": 112.78274536132812, + "ms_prefill": 15.706159591674805, + "ms_denoise": 97.07658386230469, + "python_wall_ms": 225.5604790043435, + "unaccounted_ms": 48.641204833984375 + }, + { + "ms_total": 197.03012084960938, + "ms_vision": 57.253440856933594, + "ms_inference": 96.63700866699219, + "ms_prefill": 15.864216804504395, + "ms_denoise": 80.77278900146484, + "python_wall_ms": 204.35880099830683, + "unaccounted_ms": 43.139671325683594 + }, + { + "ms_total": 204.95005798339844, + "ms_vision": 55.83401107788086, + "ms_inference": 110.42115783691406, + "ms_prefill": 18.929983139038086, + "ms_denoise": 91.49117279052734, + "python_wall_ms": 213.1637109996518, + "unaccounted_ms": 38.694889068603516 + }, + { + "ms_total": 207.03564453125, + "ms_vision": 55.851131439208984, + "ms_inference": 108.72418975830078, + "ms_prefill": 15.606904029846191, + "ms_denoise": 93.1172866821289, + "python_wall_ms": 214.1566479986068, + "unaccounted_ms": 42.460323333740234 + }, + { + "ms_total": 196.8935546875, + "ms_vision": 56.248809814453125, + "ms_inference": 97.03770446777344, + "ms_prefill": 15.349638938903809, + "ms_denoise": 81.68806457519531, + "python_wall_ms": 205.76549200632144, + "unaccounted_ms": 43.60704040527344 + }, + { + "ms_total": 209.81695556640625, + "ms_vision": 56.54005813598633, + "ms_inference": 110.48382568359375, + "ms_prefill": 18.983123779296875, + "ms_denoise": 91.50070190429688, + "python_wall_ms": 216.73143500083825, + "unaccounted_ms": 42.79307174682617 + }, + { + "ms_total": 170.92601013183594, + "ms_vision": 56.20104217529297, + "ms_inference": 72.01179504394531, + "ms_prefill": 15.417177200317383, + "ms_denoise": 56.5946159362793, + "python_wall_ms": 178.17640300199855, + "unaccounted_ms": 42.713172912597656 + }, + { + "ms_total": 215.47752380371094, + "ms_vision": 56.94945526123047, + "ms_inference": 114.68003845214844, + "ms_prefill": 15.446971893310547, + "ms_denoise": 99.23307037353516, + "python_wall_ms": 222.83620900270762, + "unaccounted_ms": 43.84803009033203 + }, + { + "ms_total": 203.34934997558594, + "ms_vision": 55.638240814208984, + "ms_inference": 110.02301025390625, + "ms_prefill": 18.58120346069336, + "ms_denoise": 91.44180297851562, + "python_wall_ms": 210.5508290042053, + "unaccounted_ms": 37.6880989074707 + }, + { + "ms_total": 187.52133178710938, + "ms_vision": 56.738094329833984, + "ms_inference": 86.81670379638672, + "ms_prefill": 15.677894592285156, + "ms_denoise": 71.13880920410156, + "python_wall_ms": 194.9713510039146, + "unaccounted_ms": 43.96653366088867 + }, + { + "ms_total": 197.803955078125, + "ms_vision": 56.79877471923828, + "ms_inference": 98.6626968383789, + "ms_prefill": 15.456038475036621, + "ms_denoise": 83.20665740966797, + "python_wall_ms": 205.39198600454256, + "unaccounted_ms": 42.34248352050781 + }, + { + "ms_total": 209.3418426513672, + "ms_vision": 55.894264221191406, + "ms_inference": 112.84083557128906, + "ms_prefill": 19.05804443359375, + "ms_denoise": 93.78279113769531, + "python_wall_ms": 216.22875200409908, + "unaccounted_ms": 40.60674285888672 + }, + { + "ms_total": 215.7799072265625, + "ms_vision": 55.354984283447266, + "ms_inference": 116.76364135742188, + "ms_prefill": 15.46604061126709, + "ms_denoise": 101.29759979248047, + "python_wall_ms": 223.6626940066344, + "unaccounted_ms": 43.66128158569336 + } + ], + "summary": { + "ms_total": { + "mean": 203.09700241088868, + "p50": 205.99285125732422, + "p90": 216.01177673339845 + }, + "ms_vision": { + "mean": 56.27224979400635, + "p50": 56.25221633911133, + "p90": 56.95235939025879 + }, + "ms_inference": { + "mean": 104.16214447021484, + "p50": 109.90493774414062, + "p90": 114.88839874267579 + }, + "ms_prefill": { + "mean": 16.814357614517213, + "p50": 15.676112651824951, + "p90": 19.121876525878907 + }, + "ms_denoise": { + "mean": 87.3477861404419, + "p50": 91.46648788452148, + "p90": 99.4395233154297 + }, + "python_wall_ms": { + "mean": 210.51242890134745, + "p50": 213.6601794991293, + "p90": 223.85247250640532 + }, + "unaccounted_ms": { + "mean": 42.66260814666748, + "p50": 42.720746994018555, + "p90": 44.069151687622075 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-spaced-10-0/result.json b/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-spaced-10-0/result.json new file mode 100644 index 00000000..9b5a16a9 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-spaced-10-0/result.json @@ -0,0 +1,286 @@ +{ + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "variant": "defaults", + "mode": "phase", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 32, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 255.29225158691406, + "ms_vision": 46.37419509887695, + "ms_inference": 168.545654296875, + "ms_prefill": 19.72926139831543, + "ms_denoise": 148.81639099121094, + "python_wall_ms": 264.8296629995457, + "unaccounted_ms": 40.37240219116211 + }, + { + "ms_total": 182.07101440429688, + "ms_vision": 47.127681732177734, + "ms_inference": 85.87714385986328, + "ms_prefill": 16.21999168395996, + "ms_denoise": 69.65715026855469, + "python_wall_ms": 190.54328999482095, + "unaccounted_ms": 49.06618881225586 + }, + { + "ms_total": 177.968994140625, + "ms_vision": 49.80160903930664, + "ms_inference": 79.86029815673828, + "ms_prefill": 16.020238876342773, + "ms_denoise": 63.84006118774414, + "python_wall_ms": 186.4285560004646, + "unaccounted_ms": 48.30708694458008 + }, + { + "ms_total": 260.1290283203125, + "ms_vision": 48.14692306518555, + "ms_inference": 169.00535583496094, + "ms_prefill": 21.970455169677734, + "ms_denoise": 147.03489685058594, + "python_wall_ms": 269.5779770001536, + "unaccounted_ms": 42.976749420166016 + }, + { + "ms_total": 181.07798767089844, + "ms_vision": 47.50202941894531, + "ms_inference": 84.76992797851562, + "ms_prefill": 16.14139747619629, + "ms_denoise": 68.62853240966797, + "python_wall_ms": 190.4674250035896, + "unaccounted_ms": 48.8060302734375 + }, + { + "ms_total": 175.63082885742188, + "ms_vision": 47.73836135864258, + "ms_inference": 79.71926879882812, + "ms_prefill": 16.653793334960938, + "ms_denoise": 63.06547164916992, + "python_wall_ms": 184.11167900194414, + "unaccounted_ms": 48.17319869995117 + }, + { + "ms_total": 219.77101135253906, + "ms_vision": 47.491172790527344, + "ms_inference": 127.74320220947266, + "ms_prefill": 23.377073287963867, + "ms_denoise": 104.36612701416016, + "python_wall_ms": 228.1712719995994, + "unaccounted_ms": 44.53663635253906 + }, + { + "ms_total": 182.04205322265625, + "ms_vision": 46.82657241821289, + "ms_inference": 87.76165771484375, + "ms_prefill": 16.748027801513672, + "ms_denoise": 71.01363372802734, + "python_wall_ms": 190.63848500081804, + "unaccounted_ms": 47.45382308959961 + }, + { + "ms_total": 176.6903076171875, + "ms_vision": 47.894832611083984, + "ms_inference": 82.92974853515625, + "ms_prefill": 16.77832794189453, + "ms_denoise": 66.15142059326172, + "python_wall_ms": 185.2194809980574, + "unaccounted_ms": 45.865726470947266 + }, + { + "ms_total": 339.24749755859375, + "ms_vision": 50.448368072509766, + "ms_inference": 245.95838928222656, + "ms_prefill": 28.900026321411133, + "ms_denoise": 217.05836486816406, + "python_wall_ms": 354.3198499974096, + "unaccounted_ms": 42.84074020385742 + }, + { + "ms_total": 310.8714599609375, + "ms_vision": 47.744842529296875, + "ms_inference": 154.95553588867188, + "ms_prefill": 16.00130271911621, + "ms_denoise": 138.95423889160156, + "python_wall_ms": 319.97733599564526, + "unaccounted_ms": 108.17108154296875 + }, + { + "ms_total": 269.9385681152344, + "ms_vision": 75.67887878417969, + "ms_inference": 103.67462158203125, + "ms_prefill": 16.232107162475586, + "ms_denoise": 87.44251251220703, + "python_wall_ms": 277.6417950008181, + "unaccounted_ms": 90.58506774902344 + }, + { + "ms_total": 656.5287475585938, + "ms_vision": 57.28022766113281, + "ms_inference": 555.2501220703125, + "ms_prefill": 55.85672378540039, + "ms_denoise": 499.39337158203125, + "python_wall_ms": 704.836607001198, + "unaccounted_ms": 43.99839782714844 + }, + { + "ms_total": 262.5600280761719, + "ms_vision": 54.6380615234375, + "ms_inference": 134.97959899902344, + "ms_prefill": 15.944323539733887, + "ms_denoise": 119.03527069091797, + "python_wall_ms": 270.3074410019326, + "unaccounted_ms": 72.94236755371094 + }, + { + "ms_total": 221.10435485839844, + "ms_vision": 60.144248962402344, + "ms_inference": 92.90886688232422, + "ms_prefill": 16.028160095214844, + "ms_denoise": 76.88070678710938, + "python_wall_ms": 229.11911200208124, + "unaccounted_ms": 68.05123901367188 + }, + { + "ms_total": 898.3342895507812, + "ms_vision": 57.71378707885742, + "ms_inference": 796.206787109375, + "ms_prefill": 78.74592590332031, + "ms_denoise": 717.4608764648438, + "python_wall_ms": 929.1025459970115, + "unaccounted_ms": 44.41371536254883 + }, + { + "ms_total": 302.00006103515625, + "ms_vision": 55.939212799072266, + "ms_inference": 149.36619567871094, + "ms_prefill": 16.05080223083496, + "ms_denoise": 133.31539916992188, + "python_wall_ms": 311.1679190042196, + "unaccounted_ms": 96.69465255737305 + }, + { + "ms_total": 258.73834228515625, + "ms_vision": 58.059532165527344, + "ms_inference": 104.99551391601562, + "ms_prefill": 15.999884605407715, + "ms_denoise": 88.9956283569336, + "python_wall_ms": 266.2999799940735, + "unaccounted_ms": 95.68329620361328 + }, + { + "ms_total": 728.45361328125, + "ms_vision": 69.1977310180664, + "ms_inference": 617.4895629882812, + "ms_prefill": 112.02091979980469, + "ms_denoise": 505.4686584472656, + "python_wall_ms": 749.6495239975047, + "unaccounted_ms": 41.766319274902344 + }, + { + "ms_total": 232.29258728027344, + "ms_vision": 49.75029754638672, + "ms_inference": 122.60501098632812, + "ms_prefill": 16.097488403320312, + "ms_denoise": 106.50752258300781, + "python_wall_ms": 239.5568040010403, + "unaccounted_ms": 59.937278747558594 + } + ], + "summary": { + "ms_total": { + "mean": 314.5371513366699, + "p50": 257.01529693603516, + "p90": 663.7212341308594 + }, + "ms_vision": { + "mean": 53.27492828369141, + "p50": 49.77595329284668, + "p90": 61.04959716796876 + }, + "ms_inference": { + "mean": 202.23012313842773, + "p50": 125.17410659790039, + "p90": 561.4740661621095 + }, + "ms_prefill": { + "mean": 27.57581157684326, + "p50": 16.44295024871826, + "p90": 58.145643997192415 + }, + "ms_denoise": { + "mean": 174.65431175231933, + "p50": 105.43682479858398, + "p90": 500.0009002685547 + }, + "python_wall_ms": { + "mean": 327.0983370995964, + "p50": 265.5648214968096, + "p90": 709.3178987008288 + }, + "unaccounted_ms": { + "mean": 59.032099914550784, + "p50": 48.240142822265625, + "p90": 95.78443183898926 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-spaced-10-1/result.json b/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-spaced-10-1/result.json new file mode 100644 index 00000000..c90b5451 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-spaced-10-1/result.json @@ -0,0 +1,286 @@ +{ + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "variant": "defaults", + "mode": "phase", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 32, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 208.1219024658203, + "ms_vision": 47.59136962890625, + "ms_inference": 117.96332550048828, + "ms_prefill": 20.000715255737305, + "ms_denoise": 97.96260833740234, + "python_wall_ms": 216.62323200143874, + "unaccounted_ms": 42.56720733642578 + }, + { + "ms_total": 174.02670288085938, + "ms_vision": 47.66584014892578, + "ms_inference": 79.52299499511719, + "ms_prefill": 16.423999786376953, + "ms_denoise": 63.0989990234375, + "python_wall_ms": 183.65632600034587, + "unaccounted_ms": 46.837867736816406 + }, + { + "ms_total": 172.72377014160156, + "ms_vision": 48.0587043762207, + "ms_inference": 77.87669372558594, + "ms_prefill": 16.47880744934082, + "ms_denoise": 61.397884368896484, + "python_wall_ms": 181.66075300541706, + "unaccounted_ms": 46.78837203979492 + }, + { + "ms_total": 210.71560668945312, + "ms_vision": 47.4163818359375, + "ms_inference": 116.66852569580078, + "ms_prefill": 20.678621292114258, + "ms_denoise": 95.98990631103516, + "python_wall_ms": 219.3623920029495, + "unaccounted_ms": 46.630699157714844 + }, + { + "ms_total": 177.23463439941406, + "ms_vision": 46.926025390625, + "ms_inference": 83.50892639160156, + "ms_prefill": 16.23558235168457, + "ms_denoise": 67.27334594726562, + "python_wall_ms": 186.31523600197397, + "unaccounted_ms": 46.7996826171875 + }, + { + "ms_total": 168.07662963867188, + "ms_vision": 48.41691970825195, + "ms_inference": 74.6352767944336, + "ms_prefill": 16.44595718383789, + "ms_denoise": 58.1893196105957, + "python_wall_ms": 177.61467799573438, + "unaccounted_ms": 45.02443313598633 + }, + { + "ms_total": 214.42091369628906, + "ms_vision": 47.55860900878906, + "ms_inference": 122.76583862304688, + "ms_prefill": 23.838623046875, + "ms_denoise": 98.92721557617188, + "python_wall_ms": 224.06548199796816, + "unaccounted_ms": 44.096466064453125 + }, + { + "ms_total": 171.62985229492188, + "ms_vision": 46.98209762573242, + "ms_inference": 79.65782928466797, + "ms_prefill": 16.597244262695312, + "ms_denoise": 63.060585021972656, + "python_wall_ms": 182.22398600482848, + "unaccounted_ms": 44.989925384521484 + }, + { + "ms_total": 171.26022338867188, + "ms_vision": 47.93752670288086, + "ms_inference": 77.66134643554688, + "ms_prefill": 16.49667739868164, + "ms_denoise": 61.164669036865234, + "python_wall_ms": 181.54263000178616, + "unaccounted_ms": 45.66135025024414 + }, + { + "ms_total": 214.30819702148438, + "ms_vision": 47.10306930541992, + "ms_inference": 123.34211730957031, + "ms_prefill": 22.774593353271484, + "ms_denoise": 100.5675277709961, + "python_wall_ms": 222.75835299660685, + "unaccounted_ms": 43.86301040649414 + }, + { + "ms_total": 176.39071655273438, + "ms_vision": 48.48076248168945, + "ms_inference": 81.3973159790039, + "ms_prefill": 16.447973251342773, + "ms_denoise": 64.9493408203125, + "python_wall_ms": 185.14728899754118, + "unaccounted_ms": 46.512638092041016 + }, + { + "ms_total": 172.50296020507812, + "ms_vision": 48.04935836791992, + "ms_inference": 78.36730194091797, + "ms_prefill": 16.415544509887695, + "ms_denoise": 61.95175552368164, + "python_wall_ms": 182.7393830026267, + "unaccounted_ms": 46.086299896240234 + }, + { + "ms_total": 212.26351928710938, + "ms_vision": 47.187591552734375, + "ms_inference": 120.64649200439453, + "ms_prefill": 23.55677604675293, + "ms_denoise": 97.08971405029297, + "python_wall_ms": 220.85054199851584, + "unaccounted_ms": 44.42943572998047 + }, + { + "ms_total": 176.8678436279297, + "ms_vision": 48.01820373535156, + "ms_inference": 84.2437744140625, + "ms_prefill": 16.264270782470703, + "ms_denoise": 67.97950744628906, + "python_wall_ms": 188.59022000106052, + "unaccounted_ms": 44.605865478515625 + }, + { + "ms_total": 178.74429321289062, + "ms_vision": 46.868648529052734, + "ms_inference": 89.19981384277344, + "ms_prefill": 16.17568588256836, + "ms_denoise": 73.02413177490234, + "python_wall_ms": 187.87351500213845, + "unaccounted_ms": 42.67583084106445 + }, + { + "ms_total": 213.38400268554688, + "ms_vision": 47.28642272949219, + "ms_inference": 121.87429809570312, + "ms_prefill": 22.622743606567383, + "ms_denoise": 99.25155639648438, + "python_wall_ms": 221.72126099758316, + "unaccounted_ms": 44.22328186035156 + }, + { + "ms_total": 172.79771423339844, + "ms_vision": 47.28635787963867, + "ms_inference": 80.27558135986328, + "ms_prefill": 16.390077590942383, + "ms_denoise": 63.885501861572266, + "python_wall_ms": 182.70171499898424, + "unaccounted_ms": 45.235774993896484 + }, + { + "ms_total": 205.94140625, + "ms_vision": 47.7827033996582, + "ms_inference": 112.96540832519531, + "ms_prefill": 16.559350967407227, + "ms_denoise": 96.40605926513672, + "python_wall_ms": 215.6780590012204, + "unaccounted_ms": 45.193294525146484 + }, + { + "ms_total": 610.6289672851562, + "ms_vision": 49.46546173095703, + "ms_inference": 518.2273559570312, + "ms_prefill": 21.071029663085938, + "ms_denoise": 497.15631103515625, + "python_wall_ms": 624.568728999293, + "unaccounted_ms": 42.93614959716797 + }, + { + "ms_total": 361.31695556640625, + "ms_vision": 51.924076080322266, + "ms_inference": 238.02890014648438, + "ms_prefill": 16.042102813720703, + "ms_denoise": 221.98680114746094, + "python_wall_ms": 371.62195600103587, + "unaccounted_ms": 71.36397933959961 + } + ], + "summary": { + "ms_total": { + "mean": 218.16784057617187, + "p50": 177.98946380615234, + "p90": 229.110517883301 + }, + "ms_vision": { + "mean": 47.90030651092529, + "p50": 47.628604888916016, + "p90": 48.579232406616214 + }, + "ms_inference": { + "mean": 123.94145584106445, + "p50": 86.72179412841797, + "p90": 134.81079559326187 + }, + "ms_prefill": { + "mean": 18.375818824768068, + "p50": 16.48774242401123, + "p90": 22.85281162261963 + }, + "ms_denoise": { + "mean": 105.56563701629639, + "p50": 70.5018196105957, + "p90": 112.70945510864274 + }, + "python_wall_ms": { + "mean": 227.86578685045242, + "p50": 188.23186750159948, + "p90": 238.82112939827513 + }, + "unaccounted_ms": { + "mean": 46.326078224182126, + "p50": 45.108863830566406, + "p90": 46.80350112915039 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-spaced-10-2/result.json b/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-spaced-10-2/result.json new file mode 100644 index 00000000..69eee4ff --- /dev/null +++ b/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-spaced-10-2/result.json @@ -0,0 +1,286 @@ +{ + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "variant": "defaults", + "mode": "phase", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 32, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 202.9595489501953, + "ms_vision": 48.5298957824707, + "ms_inference": 111.30655670166016, + "ms_prefill": 19.055313110351562, + "ms_denoise": 92.2512435913086, + "python_wall_ms": 210.95068100112258, + "unaccounted_ms": 43.12309646606445 + }, + { + "ms_total": 212.1808319091797, + "ms_vision": 47.255638122558594, + "ms_inference": 119.29103088378906, + "ms_prefill": 16.366071701049805, + "ms_denoise": 102.92495727539062, + "python_wall_ms": 219.97579600429162, + "unaccounted_ms": 45.63416290283203 + }, + { + "ms_total": 211.65762329101562, + "ms_vision": 46.99491500854492, + "ms_inference": 119.04390716552734, + "ms_prefill": 16.59807014465332, + "ms_denoise": 102.44583892822266, + "python_wall_ms": 219.32267300144304, + "unaccounted_ms": 45.61880111694336 + }, + { + "ms_total": 197.13075256347656, + "ms_vision": 46.330055236816406, + "ms_inference": 107.99158477783203, + "ms_prefill": 19.74510383605957, + "ms_denoise": 88.2464828491211, + "python_wall_ms": 204.229975999624, + "unaccounted_ms": 42.809112548828125 + }, + { + "ms_total": 202.1486358642578, + "ms_vision": 47.145572662353516, + "ms_inference": 109.23125457763672, + "ms_prefill": 16.219282150268555, + "ms_denoise": 93.01197052001953, + "python_wall_ms": 210.26189799886197, + "unaccounted_ms": 45.77180862426758 + }, + { + "ms_total": 185.15011596679688, + "ms_vision": 47.756038665771484, + "ms_inference": 91.00447845458984, + "ms_prefill": 16.38358497619629, + "ms_denoise": 74.62089538574219, + "python_wall_ms": 207.55918999930145, + "unaccounted_ms": 46.38959884643555 + }, + { + "ms_total": 212.6759033203125, + "ms_vision": 47.325748443603516, + "ms_inference": 124.0828857421875, + "ms_prefill": 24.72726821899414, + "ms_denoise": 99.3556137084961, + "python_wall_ms": 220.4658889968414, + "unaccounted_ms": 41.267269134521484 + }, + { + "ms_total": 208.10726928710938, + "ms_vision": 46.73014450073242, + "ms_inference": 116.25662231445312, + "ms_prefill": 16.397506713867188, + "ms_denoise": 99.85911560058594, + "python_wall_ms": 215.97081499930937, + "unaccounted_ms": 45.12050247192383 + }, + { + "ms_total": 202.1629180908203, + "ms_vision": 47.95684051513672, + "ms_inference": 110.14783477783203, + "ms_prefill": 16.349105834960938, + "ms_denoise": 93.7987289428711, + "python_wall_ms": 210.95451099972706, + "unaccounted_ms": 44.05824279785156 + }, + { + "ms_total": 208.8733367919922, + "ms_vision": 46.47648620605469, + "ms_inference": 119.13949584960938, + "ms_prefill": 23.307523727416992, + "ms_denoise": 95.83197021484375, + "python_wall_ms": 216.50094500364503, + "unaccounted_ms": 43.257354736328125 + }, + { + "ms_total": 198.70201110839844, + "ms_vision": 47.042381286621094, + "ms_inference": 108.07157897949219, + "ms_prefill": 16.202945709228516, + "ms_denoise": 91.86863708496094, + "python_wall_ms": 207.13958900159923, + "unaccounted_ms": 43.588050842285156 + }, + { + "ms_total": 182.3889617919922, + "ms_vision": 48.99288558959961, + "ms_inference": 85.27519989013672, + "ms_prefill": 16.525564193725586, + "ms_denoise": 68.7496337890625, + "python_wall_ms": 191.6830400004983, + "unaccounted_ms": 48.12087631225586 + }, + { + "ms_total": 210.3656768798828, + "ms_vision": 47.11410140991211, + "ms_inference": 120.56242370605469, + "ms_prefill": 22.805526733398438, + "ms_denoise": 97.75689697265625, + "python_wall_ms": 217.41385600034846, + "unaccounted_ms": 42.689151763916016 + }, + { + "ms_total": 205.2161102294922, + "ms_vision": 47.37080764770508, + "ms_inference": 111.17488098144531, + "ms_prefill": 16.36867904663086, + "ms_denoise": 94.80619812011719, + "python_wall_ms": 212.50958200107561, + "unaccounted_ms": 46.6704216003418 + }, + { + "ms_total": 180.89517211914062, + "ms_vision": 47.423675537109375, + "ms_inference": 86.78746032714844, + "ms_prefill": 16.53511619567871, + "ms_denoise": 70.2523422241211, + "python_wall_ms": 191.37429200054612, + "unaccounted_ms": 46.68403625488281 + }, + { + "ms_total": 225.81446838378906, + "ms_vision": 47.72995376586914, + "ms_inference": 133.10980224609375, + "ms_prefill": 24.374595642089844, + "ms_denoise": 108.73521423339844, + "python_wall_ms": 258.0615639963071, + "unaccounted_ms": 44.97471237182617 + }, + { + "ms_total": 194.32313537597656, + "ms_vision": 47.29720687866211, + "ms_inference": 98.3222427368164, + "ms_prefill": 16.533422470092773, + "ms_denoise": 81.788818359375, + "python_wall_ms": 201.81562699872302, + "unaccounted_ms": 48.70368576049805 + }, + { + "ms_total": 212.24566650390625, + "ms_vision": 48.47225570678711, + "ms_inference": 115.11604309082031, + "ms_prefill": 16.501001358032227, + "ms_denoise": 98.61504364013672, + "python_wall_ms": 222.52440299780574, + "unaccounted_ms": 48.65736770629883 + }, + { + "ms_total": 232.55209350585938, + "ms_vision": 47.73075485229492, + "ms_inference": 142.46261596679688, + "ms_prefill": 22.422576904296875, + "ms_denoise": 120.04003143310547, + "python_wall_ms": 241.09615499764914, + "unaccounted_ms": 42.35872268676758 + }, + { + "ms_total": 224.78538513183594, + "ms_vision": 47.11200714111328, + "ms_inference": 126.46297454833984, + "ms_prefill": 16.21577262878418, + "ms_denoise": 110.24720001220703, + "python_wall_ms": 232.61308800283587, + "unaccounted_ms": 51.21040344238281 + } + ], + "summary": { + "ms_total": { + "mean": 205.51678085327148, + "p50": 206.66168975830078, + "p90": 224.88829345703124 + }, + "ms_vision": { + "mean": 47.43936824798584, + "p50": 47.31147766113281, + "p90": 48.47801971435547 + }, + "ms_inference": { + "mean": 112.74204368591309, + "p50": 113.21129989624023, + "p90": 127.12765731811524 + }, + "ms_prefill": { + "mean": 18.481701564788818, + "p50": 16.52949333190918, + "p90": 23.41423091888428 + }, + "ms_denoise": { + "mean": 94.26034164428711, + "p50": 95.31908416748047, + "p90": 108.8864128112793 + }, + "python_wall_ms": { + "mean": 215.6211785000778, + "p50": 214.2401985001925, + "p90": 233.4613947023172 + }, + "unaccounted_ms": { + "mean": 45.335368919372556, + "p50": 45.369651794433594, + "p90": 48.66199951171875 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-tail-10-0/result.json b/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-tail-10-0/result.json new file mode 100644 index 00000000..52ff0230 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-tail-10-0/result.json @@ -0,0 +1,286 @@ +{ + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "variant": "defaults", + "mode": "phase", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 32, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 215.61231994628906, + "ms_vision": 46.79799270629883, + "ms_inference": 126.01731872558594, + "ms_prefill": 19.06258773803711, + "ms_denoise": 106.9547348022461, + "python_wall_ms": 223.712141996657, + "unaccounted_ms": 42.7970085144043 + }, + { + "ms_total": 172.73890686035156, + "ms_vision": 46.812374114990234, + "ms_inference": 80.91232299804688, + "ms_prefill": 16.199886322021484, + "ms_denoise": 64.71244049072266, + "python_wall_ms": 182.56239400216145, + "unaccounted_ms": 45.01420974731445 + }, + { + "ms_total": 175.92771911621094, + "ms_vision": 47.212772369384766, + "ms_inference": 83.48662567138672, + "ms_prefill": 16.40912437438965, + "ms_denoise": 67.07749938964844, + "python_wall_ms": 184.2474359946209, + "unaccounted_ms": 45.22832107543945 + }, + { + "ms_total": 819.177001953125, + "ms_vision": 47.63153076171875, + "ms_inference": 706.8070678710938, + "ms_prefill": 20.192203521728516, + "ms_denoise": 686.6148681640625, + "python_wall_ms": 827.9956760015921, + "unaccounted_ms": 64.7384033203125 + }, + { + "ms_total": 305.9894714355469, + "ms_vision": 61.50920867919922, + "ms_inference": 153.5148162841797, + "ms_prefill": 16.183170318603516, + "ms_denoise": 137.33164978027344, + "python_wall_ms": 314.15967200155137, + "unaccounted_ms": 90.96544647216797 + }, + { + "ms_total": 353.5069580078125, + "ms_vision": 79.67204284667969, + "ms_inference": 140.7119598388672, + "ms_prefill": 15.926532745361328, + "ms_denoise": 124.7854232788086, + "python_wall_ms": 363.5927659997833, + "unaccounted_ms": 133.12295532226562 + }, + { + "ms_total": 723.067138671875, + "ms_vision": 52.01765823364258, + "ms_inference": 629.0800170898438, + "ms_prefill": 87.5996322631836, + "ms_denoise": 541.4804077148438, + "python_wall_ms": 747.7647729974706, + "unaccounted_ms": 41.96946334838867 + }, + { + "ms_total": 224.06211853027344, + "ms_vision": 48.97917175292969, + "ms_inference": 112.48418426513672, + "ms_prefill": 16.288169860839844, + "ms_denoise": 96.19601440429688, + "python_wall_ms": 234.2100419991766, + "unaccounted_ms": 62.59876251220703 + }, + { + "ms_total": 214.13092041015625, + "ms_vision": 64.11563110351562, + "ms_inference": 93.83039093017578, + "ms_prefill": 16.011526107788086, + "ms_denoise": 77.81886291503906, + "python_wall_ms": 224.8101229997701, + "unaccounted_ms": 56.184898376464844 + }, + { + "ms_total": 886.4047241210938, + "ms_vision": 51.05742263793945, + "ms_inference": 791.1654663085938, + "ms_prefill": 52.29780578613281, + "ms_denoise": 738.86767578125, + "python_wall_ms": 907.7999830042245, + "unaccounted_ms": 44.18183517456055 + }, + { + "ms_total": 394.205322265625, + "ms_vision": 59.287879943847656, + "ms_inference": 222.43516540527344, + "ms_prefill": 15.949213981628418, + "ms_denoise": 206.48594665527344, + "python_wall_ms": 407.24706100445474, + "unaccounted_ms": 112.4822769165039 + }, + { + "ms_total": 226.36766052246094, + "ms_vision": 86.5533218383789, + "ms_inference": 78.30108642578125, + "ms_prefill": 16.11355972290039, + "ms_denoise": 62.187530517578125, + "python_wall_ms": 234.00782799581066, + "unaccounted_ms": 61.51325225830078 + }, + { + "ms_total": 915.7378540039062, + "ms_vision": 48.6024284362793, + "ms_inference": 825.2418823242188, + "ms_prefill": 82.03844451904297, + "ms_denoise": 743.2034301757812, + "python_wall_ms": 928.2529799966142, + "unaccounted_ms": 41.8935432434082 + }, + { + "ms_total": 234.1576690673828, + "ms_vision": 50.25689697265625, + "ms_inference": 117.38984680175781, + "ms_prefill": 15.997974395751953, + "ms_denoise": 101.39187622070312, + "python_wall_ms": 241.8387600046117, + "unaccounted_ms": 66.51092529296875 + }, + { + "ms_total": 259.4946594238281, + "ms_vision": 59.45592498779297, + "ms_inference": 98.89141845703125, + "ms_prefill": 16.036518096923828, + "ms_denoise": 82.85490417480469, + "python_wall_ms": 267.2453699997277, + "unaccounted_ms": 101.1473159790039 + }, + { + "ms_total": 728.7339477539062, + "ms_vision": 49.393089294433594, + "ms_inference": 637.0850830078125, + "ms_prefill": 73.4348373413086, + "ms_denoise": 563.6502685546875, + "python_wall_ms": 743.8839790047496, + "unaccounted_ms": 42.255775451660156 + }, + { + "ms_total": 250.5738983154297, + "ms_vision": 49.84114456176758, + "ms_inference": 130.20938110351562, + "ms_prefill": 16.058900833129883, + "ms_denoise": 114.15047454833984, + "python_wall_ms": 259.0831220004475, + "unaccounted_ms": 70.52337265014648 + }, + { + "ms_total": 280.0902099609375, + "ms_vision": 64.39290618896484, + "ms_inference": 120.10768127441406, + "ms_prefill": 16.055522918701172, + "ms_denoise": 104.05215454101562, + "python_wall_ms": 289.78160500264494, + "unaccounted_ms": 95.5896224975586 + }, + { + "ms_total": 547.0216674804688, + "ms_vision": 50.291194915771484, + "ms_inference": 455.91925048828125, + "ms_prefill": 60.0252799987793, + "ms_denoise": 395.89398193359375, + "python_wall_ms": 564.9843309947755, + "unaccounted_ms": 40.811222076416016 + }, + { + "ms_total": 245.9563446044922, + "ms_vision": 49.423980712890625, + "ms_inference": 135.6338348388672, + "ms_prefill": 16.16780662536621, + "ms_denoise": 119.46602630615234, + "python_wall_ms": 253.70714699965902, + "unaccounted_ms": 60.898529052734375 + } + ], + "summary": { + "ms_total": { + "mean": 408.64782562255857, + "p50": 269.7924346923828, + "p90": 825.899774169922 + }, + "ms_vision": { + "mean": 55.6652286529541, + "p50": 50.27404594421387, + "p90": 65.92081985473635 + }, + "ms_inference": { + "mean": 286.96124000549315, + "p50": 132.9216079711914, + "p90": 715.2429077148439 + }, + "ms_prefill": { + "mean": 30.202434873580934, + "p50": 16.1915283203125, + "p90": 74.29519805908204 + }, + "ms_denoise": { + "mean": 256.75880851745603, + "p50": 116.8082504272461, + "p90": 691.8401489257814 + }, + "python_wall_ms": { + "mean": 420.04435950002517, + "p50": 278.5134875011863, + "p90": 835.9761067018554 + }, + "unaccounted_ms": { + "mean": 66.02135696411133, + "p50": 61.20589065551758, + "p90": 102.28081207275392 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-tail-10-1/result.json b/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-tail-10-1/result.json new file mode 100644 index 00000000..9ea5c017 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-tail-10-1/result.json @@ -0,0 +1,286 @@ +{ + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "variant": "defaults", + "mode": "phase", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 32, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 294.63702392578125, + "ms_vision": 49.206722259521484, + "ms_inference": 197.76522827148438, + "ms_prefill": 23.913921356201172, + "ms_denoise": 173.85130310058594, + "python_wall_ms": 307.23153999861097, + "unaccounted_ms": 47.66507339477539 + }, + { + "ms_total": 190.05191040039062, + "ms_vision": 48.478416442871094, + "ms_inference": 91.99555206298828, + "ms_prefill": 16.44690704345703, + "ms_denoise": 75.54864501953125, + "python_wall_ms": 200.7052199987811, + "unaccounted_ms": 49.57794189453125 + }, + { + "ms_total": 189.04843139648438, + "ms_vision": 52.60738754272461, + "ms_inference": 82.74163818359375, + "ms_prefill": 16.672151565551758, + "ms_denoise": 66.06948852539062, + "python_wall_ms": 197.92466899525607, + "unaccounted_ms": 53.699405670166016 + }, + { + "ms_total": 263.2870788574219, + "ms_vision": 48.801048278808594, + "ms_inference": 169.35093688964844, + "ms_prefill": 22.89116859436035, + "ms_denoise": 146.4597625732422, + "python_wall_ms": 275.5815140044433, + "unaccounted_ms": 45.135093688964844 + }, + { + "ms_total": 185.5853271484375, + "ms_vision": 48.260623931884766, + "ms_inference": 86.25340270996094, + "ms_prefill": 16.529451370239258, + "ms_denoise": 69.72395324707031, + "python_wall_ms": 194.94957899587462, + "unaccounted_ms": 51.0713005065918 + }, + { + "ms_total": 182.5401153564453, + "ms_vision": 53.16470718383789, + "ms_inference": 80.07180786132812, + "ms_prefill": 16.3365478515625, + "ms_denoise": 63.73525619506836, + "python_wall_ms": 191.9881079957122, + "unaccounted_ms": 49.3036003112793 + }, + { + "ms_total": 281.150146484375, + "ms_vision": 48.2174072265625, + "ms_inference": 186.59805297851562, + "ms_prefill": 26.83361053466797, + "ms_denoise": 159.76443481445312, + "python_wall_ms": 291.7474450005102, + "unaccounted_ms": 46.334686279296875 + }, + { + "ms_total": 202.4800262451172, + "ms_vision": 49.501224517822266, + "ms_inference": 97.66262817382812, + "ms_prefill": 16.391799926757812, + "ms_denoise": 81.27082824707031, + "python_wall_ms": 218.6688639994827, + "unaccounted_ms": 55.3161735534668 + }, + { + "ms_total": 189.86351013183594, + "ms_vision": 52.15041732788086, + "ms_inference": 84.60990142822266, + "ms_prefill": 16.450510025024414, + "ms_denoise": 68.15939331054688, + "python_wall_ms": 197.88883000001078, + "unaccounted_ms": 53.10319137573242 + }, + { + "ms_total": 294.9851989746094, + "ms_vision": 48.89347457885742, + "ms_inference": 196.69345092773438, + "ms_prefill": 28.62519073486328, + "ms_denoise": 168.06826782226562, + "python_wall_ms": 305.62587899476057, + "unaccounted_ms": 49.39827346801758 + }, + { + "ms_total": 183.82968139648438, + "ms_vision": 48.59841537475586, + "ms_inference": 85.13607788085938, + "ms_prefill": 16.668682098388672, + "ms_denoise": 68.46739196777344, + "python_wall_ms": 194.01527300215093, + "unaccounted_ms": 50.09518814086914 + }, + { + "ms_total": 179.2821502685547, + "ms_vision": 51.18703842163086, + "ms_inference": 79.17185974121094, + "ms_prefill": 16.34805679321289, + "ms_denoise": 62.82379913330078, + "python_wall_ms": 188.127068002359, + "unaccounted_ms": 48.92325210571289 + }, + { + "ms_total": 249.2301025390625, + "ms_vision": 47.40727996826172, + "ms_inference": 155.76194763183594, + "ms_prefill": 24.535747528076172, + "ms_denoise": 131.2261962890625, + "python_wall_ms": 259.8110200051451, + "unaccounted_ms": 46.060874938964844 + }, + { + "ms_total": 190.97959899902344, + "ms_vision": 48.333736419677734, + "ms_inference": 93.60774230957031, + "ms_prefill": 16.659156799316406, + "ms_denoise": 76.9485855102539, + "python_wall_ms": 200.11104099830845, + "unaccounted_ms": 49.03812026977539 + }, + { + "ms_total": 178.6667938232422, + "ms_vision": 48.73976135253906, + "ms_inference": 80.122314453125, + "ms_prefill": 16.542091369628906, + "ms_denoise": 63.58021926879883, + "python_wall_ms": 187.5052039977163, + "unaccounted_ms": 49.804718017578125 + }, + { + "ms_total": 244.725830078125, + "ms_vision": 47.899349212646484, + "ms_inference": 152.85328674316406, + "ms_prefill": 24.363431930541992, + "ms_denoise": 128.48985290527344, + "python_wall_ms": 254.8968499977491, + "unaccounted_ms": 43.97319412231445 + }, + { + "ms_total": 192.5340118408203, + "ms_vision": 48.07395553588867, + "ms_inference": 95.187744140625, + "ms_prefill": 16.606426239013672, + "ms_denoise": 78.5813217163086, + "python_wall_ms": 200.65246399462922, + "unaccounted_ms": 49.27231216430664 + }, + { + "ms_total": 181.27760314941406, + "ms_vision": 50.3869743347168, + "ms_inference": 81.4971923828125, + "ms_prefill": 16.578134536743164, + "ms_denoise": 64.91905975341797, + "python_wall_ms": 189.76130899682175, + "unaccounted_ms": 49.393436431884766 + }, + { + "ms_total": 551.249267578125, + "ms_vision": 48.430809020996094, + "ms_inference": 458.5256042480469, + "ms_prefill": 23.911287307739258, + "ms_denoise": 434.61431884765625, + "python_wall_ms": 562.2461309976643, + "unaccounted_ms": 44.29285430908203 + }, + { + "ms_total": 297.78472900390625, + "ms_vision": 53.08797073364258, + "ms_inference": 178.57298278808594, + "ms_prefill": 16.355998992919922, + "ms_denoise": 162.21697998046875, + "python_wall_ms": 307.3694049962796, + "unaccounted_ms": 66.12377548217773 + } + ], + "summary": { + "ms_total": { + "mean": 236.1594268798828, + "p50": 191.75680541992188, + "p90": 295.26515197753906 + }, + "ms_vision": { + "mean": 49.57133598327637, + "p50": 48.77040481567383, + "p90": 52.6554458618164 + }, + "ms_inference": { + "mean": 136.70896759033204, + "p50": 94.39774322509766, + "p90": 196.80062866210938 + }, + "ms_prefill": { + "mean": 19.48301362991333, + "p50": 16.63279151916504, + "p90": 24.765533828735354 + }, + "ms_denoise": { + "mean": 117.22595291137695, + "p50": 77.76495361328125, + "p90": 168.64657135009767 + }, + "python_wall_ms": { + "mean": 246.34037064861332, + "p50": 200.67884199670516, + "p90": 307.24532649837784 + }, + "unaccounted_ms": { + "mean": 49.879123306274415, + "p50": 49.34851837158203, + "p90": 53.8610824584961 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-tail-10-2/result.json b/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-tail-10-2/result.json new file mode 100644 index 00000000..2a5ceaec --- /dev/null +++ b/research-notes/smolvla-followup-20261104/phase-suite/smolvla-vision-tail-10-2/result.json @@ -0,0 +1,286 @@ +{ + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "variant": "defaults", + "mode": "phase", + "warmup": 3, + "reps": 20, + "views": 2, + "size": 512, + "token_ids": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16 + ], + "noise": "vla-bench fixed formula", + "resolved": { + "n_img": 64, + "n_lang": 48, + "n_state": 1, + "n_prefix": 113, + "n_suffix": 50, + "n_full": 163, + "hidden": 960, + "expert_h": 480, + "intermediate": 2560, + "expert_inter": 1280, + "n_q_heads": 15, + "n_kv_heads": 5, + "head_dim": 64, + "q_full_dim": 960, + "kv_full_dim": 320, + "n_layers": 32, + "self_attn_every_n": 2, + "max_state_dim": 32, + "max_action_dim": 32, + "real_state_dim": 8, + "real_action_dim": 7, + "norm_eps": 9.99999993922529e-09, + "min_period": 0.004, + "max_period": 4.0, + "num_steps": 10, + "rms_eps": 9.999999747378752e-06, + "rope_n_dims": 64, + "rope_mode": 2, + "rope_freq_base": 10000.0, + "denormalized": 1 + }, + "samples": [ + { + "ms_total": 226.49737548828125, + "ms_vision": 46.83153533935547, + "ms_inference": 136.42140197753906, + "ms_prefill": 20.112836837768555, + "ms_denoise": 116.30856323242188, + "python_wall_ms": 233.74390700337244, + "unaccounted_ms": 43.24443817138672 + }, + { + "ms_total": 170.97068786621094, + "ms_vision": 46.67161560058594, + "ms_inference": 80.55474853515625, + "ms_prefill": 16.417055130004883, + "ms_denoise": 64.1376953125, + "python_wall_ms": 180.08261900104117, + "unaccounted_ms": 43.74432373046875 + }, + { + "ms_total": 213.12252807617188, + "ms_vision": 48.65187454223633, + "ms_inference": 115.10786437988281, + "ms_prefill": 16.616653442382812, + "ms_denoise": 98.4912109375, + "python_wall_ms": 221.61222800059477, + "unaccounted_ms": 49.362789154052734 + }, + { + "ms_total": 215.9430694580078, + "ms_vision": 47.027381896972656, + "ms_inference": 124.35389709472656, + "ms_prefill": 22.978843688964844, + "ms_denoise": 101.37505340576172, + "python_wall_ms": 224.99581299780402, + "unaccounted_ms": 44.561790466308594 + }, + { + "ms_total": 171.80630493164062, + "ms_vision": 46.87161636352539, + "ms_inference": 78.30097961425781, + "ms_prefill": 16.391925811767578, + "ms_denoise": 61.9090576171875, + "python_wall_ms": 179.8365319991717, + "unaccounted_ms": 46.63370895385742 + }, + { + "ms_total": 176.86138916015625, + "ms_vision": 50.0234489440918, + "ms_inference": 80.13504028320312, + "ms_prefill": 16.560138702392578, + "ms_denoise": 63.57489776611328, + "python_wall_ms": 186.34122799994657, + "unaccounted_ms": 46.70289993286133 + }, + { + "ms_total": 224.35511779785156, + "ms_vision": 48.17719650268555, + "ms_inference": 133.50270080566406, + "ms_prefill": 27.152172088623047, + "ms_denoise": 106.35053253173828, + "python_wall_ms": 233.9881680018152, + "unaccounted_ms": 42.67522048950195 + }, + { + "ms_total": 175.3602752685547, + "ms_vision": 47.5264778137207, + "ms_inference": 78.68486022949219, + "ms_prefill": 16.129253387451172, + "ms_denoise": 62.55560302734375, + "python_wall_ms": 183.28168399602873, + "unaccounted_ms": 49.1489372253418 + }, + { + "ms_total": 209.91604614257812, + "ms_vision": 48.81944274902344, + "ms_inference": 115.09170532226562, + "ms_prefill": 16.374439239501953, + "ms_denoise": 98.7172622680664, + "python_wall_ms": 216.95796399581013, + "unaccounted_ms": 46.00489807128906 + }, + { + "ms_total": 229.20773315429688, + "ms_vision": 47.83737564086914, + "ms_inference": 136.75918579101562, + "ms_prefill": 24.29166030883789, + "ms_denoise": 112.467529296875, + "python_wall_ms": 237.2622050024802, + "unaccounted_ms": 44.61117172241211 + }, + { + "ms_total": 198.3193817138672, + "ms_vision": 46.97959899902344, + "ms_inference": 107.1658935546875, + "ms_prefill": 16.354393005371094, + "ms_denoise": 90.8115005493164, + "python_wall_ms": 206.81660500122234, + "unaccounted_ms": 44.17388916015625 + }, + { + "ms_total": 185.80213928222656, + "ms_vision": 48.616172790527344, + "ms_inference": 88.7221450805664, + "ms_prefill": 16.58839988708496, + "ms_denoise": 72.13374328613281, + "python_wall_ms": 196.32885399914812, + "unaccounted_ms": 48.46382141113281 + }, + { + "ms_total": 244.50091552734375, + "ms_vision": 50.26518249511719, + "ms_inference": 149.12240600585938, + "ms_prefill": 26.27609634399414, + "ms_denoise": 122.84630584716797, + "python_wall_ms": 253.18868899921654, + "unaccounted_ms": 45.11332702636719 + }, + { + "ms_total": 220.00523376464844, + "ms_vision": 47.048423767089844, + "ms_inference": 121.05410766601562, + "ms_prefill": 16.461055755615234, + "ms_denoise": 104.59304809570312, + "python_wall_ms": 228.2392799970694, + "unaccounted_ms": 51.90270233154297 + }, + { + "ms_total": 203.0368194580078, + "ms_vision": 50.07098388671875, + "ms_inference": 104.34464263916016, + "ms_prefill": 16.6473445892334, + "ms_denoise": 87.69729614257812, + "python_wall_ms": 211.80339099373668, + "unaccounted_ms": 48.621192932128906 + }, + { + "ms_total": 231.77796936035156, + "ms_vision": 47.73486328125, + "ms_inference": 140.2086181640625, + "ms_prefill": 28.081809997558594, + "ms_denoise": 112.12681579589844, + "python_wall_ms": 241.04750400147168, + "unaccounted_ms": 43.83448791503906 + }, + { + "ms_total": 174.02996826171875, + "ms_vision": 47.31315231323242, + "ms_inference": 81.22196197509766, + "ms_prefill": 16.3786563873291, + "ms_denoise": 64.84330749511719, + "python_wall_ms": 182.4711609951919, + "unaccounted_ms": 45.49485397338867 + }, + { + "ms_total": 195.36737060546875, + "ms_vision": 49.69515609741211, + "ms_inference": 96.86497497558594, + "ms_prefill": 16.567415237426758, + "ms_denoise": 80.29756164550781, + "python_wall_ms": 204.5302430051379, + "unaccounted_ms": 48.8072395324707 + }, + { + "ms_total": 349.11865234375, + "ms_vision": 47.8975830078125, + "ms_inference": 256.54541015625, + "ms_prefill": 23.179723739624023, + "ms_denoise": 233.3656768798828, + "python_wall_ms": 358.74296900146874, + "unaccounted_ms": 44.6756591796875 + }, + { + "ms_total": 218.24273681640625, + "ms_vision": 48.24055099487305, + "ms_inference": 118.96134185791016, + "ms_prefill": 16.502906799316406, + "ms_denoise": 102.45843505859375, + "python_wall_ms": 226.88280700094765, + "unaccounted_ms": 51.04084396362305 + } + ], + "summary": { + "ms_total": { + "mean": 211.71208572387695, + "p50": 211.519287109375, + "p90": 233.0502639770508 + }, + "ms_vision": { + "mean": 48.11498165130615, + "p50": 47.86747932434082, + "p90": 50.02820243835449 + }, + "ms_inference": { + "mean": 117.15619430541992, + "p50": 115.09978485107422, + "p90": 141.0999969482422 + }, + "ms_prefill": { + "mean": 19.303139019012452, + "p50": 16.57790756225586, + "p90": 26.363703918457034 + }, + "ms_denoise": { + "mean": 97.85305480957031, + "p50": 98.6042366027832, + "p90": 116.9623374938965 + }, + "python_wall_ms": { + "mean": 220.4076925496338, + "p50": 219.28509599820245, + "p90": 242.2616225012462 + }, + "unaccounted_ms": { + "mean": 46.44090976715088, + "p50": 45.74987602233887, + "p90": 49.53059463500977 + } + }, + "limitations": [ + "PHASE graph/padding differ from defaults", + "vision includes connector/preprocess/copies", + "prefill/denoise do not account for every overhead", + "prefill includes KV graph, denoise includes cross-KV reprojection", + "not CUDA kernel-only timing" + ] +} diff --git a/research-notes/smolvla-followup-20261104/prepare_quantized.py b/research-notes/smolvla-followup-20261104/prepare_quantized.py new file mode 100644 index 00000000..a99a0520 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/prepare_quantized.py @@ -0,0 +1,63 @@ +"""Prepare stock GGUF quantizations on CPU; no inference or SR claims.""" +from pathlib import Path +import os,sys,json,subprocess,hashlib +root=Path(__file__).resolve().parents[2] +vendor=root/'build-cuda/_deps/llama-src/gguf-py' +sys.path.insert(0,str(vendor));sys.path.insert(0,str(root/'scripts')) +import numpy as np +import gguf +import quantize_gguf as q +source=Path('/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf') +out=root/'research-notes/generated-models' +out.mkdir(exist_ok=True) +logs=Path(__file__).resolve().parent/'quantization' +logs.mkdir(exist_ok=True) +manifest=[] +reader=gguf.GGUFReader(str(source)) +env=dict(os.environ,PYTHONPATH=str(vendor),CUDA_VISIBLE_DEVICES='') +for kind in ['Q8_0','Q5_0','Q4_0']: + for vision in [False,True]: + name='smolvla-'+kind.lower()+('-vision' if vision else '-lm') + destination=out/(name+'.gguf') + if destination.exists():raise SystemExit('Refuse overwrite: '+str(destination)) + command=[str(root/'.venv/bin/python'),str(root/'scripts/quantize_gguf.py'),'--in',str(source),'--out',str(destination),'--type',kind]+(['--vision'] if vision else []) + record=dict(name=name,type=kind,vision=vision,command=command,path=str(destination),status='running',inference_validated=False) + manifest.append(record) + (logs/'manifest.json').write_text(json.dumps(manifest,indent=2)+'\n') + with (logs/(name+'.log')).open('w') as log: + result=subprocess.run(command,cwd=root,env=env,stdout=log,stderr=subprocess.STDOUT) + record['exit']=result.returncode + if result.returncode: + record['status']='export_failed' + else: + exported=gguf.GGUFReader(str(destination)) + by_name={t.name:t for t in exported.tensors} + assert len(by_name)==len(reader.tensors) + changed=[];preserved=0;expert=0 + skip=q.SKIP if vision else q.SKIP+q.SKIP_VISION + for original in reader.tensors: + tensor=by_name[original.name] + assert np.array_equal(original.shape,tensor.shape),original.name + eligible=q.eligible(original.name,original.shape,kind,skip) and original.tensor_type in (gguf.GGMLQuantizationType.BF16,gguf.GGMLQuantizationType.F32) + if eligible: + assert tensor.tensor_type==getattr(gguf.GGMLQuantizationType,kind),original.name + changed.append(original.name) + else: + assert tensor.tensor_type==original.tensor_type,original.name + assert np.array_equal(original.data.view(np.uint8),tensor.data.view(np.uint8)),original.name + preserved+=1 + if original.name.startswith('aex.'): + assert not eligible,original.name + expert+=1 + assert expert>0 + for key,field in reader.fields.items(): + if key.startswith('GGUF.'):continue + assert exported.fields[key].contents()==field.contents(),key + record.update(status='export_and_integrity_ok',bytes=destination.stat().st_size,quantized_tensors=len(changed),preserved_tensors=preserved,expert_tensors_preserved=expert) + digest=hashlib.sha256() + with destination.open('rb') as f: + for chunk in iter(lambda:f.read(8*1024*1024),b''):digest.update(chunk) + record['sha256']=digest.hexdigest() + del exported,by_name + (logs/'manifest.json').write_text(json.dumps(manifest,indent=2)+'\n') + print(name,record['status'],record.get('bytes'),flush=True) diff --git a/research-notes/smolvla-followup-20261104/profile_phase.py b/research-notes/smolvla-followup-20261104/profile_phase.py new file mode 100644 index 00000000..7eaae569 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/profile_phase.py @@ -0,0 +1,60 @@ +"""One process of phase timing; run only when GPU is free of LIBERO. + +Synthetic input matches vla-bench (2x512, token IDs 1..16, fixed state/noise). +Phase mode changes graph construction/padding; this is not baseline throughput. +""" +from pathlib import Path +import argparse,json,os,sys,time,ctypes +root=Path(__file__).resolve().parents[2] +ap=argparse.ArgumentParser(description=__doc__) +ap.add_argument('--model',default='/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf') +ap.add_argument('--variant',choices=['defaults','flash-mm'],default='defaults') +ap.add_argument('--mode',choices=['none','phase'],default='phase') +ap.add_argument('--output',required=True) +ap.add_argument('--capture',action='store_true',help='cudaProfilerStart after warmups; stop after 20 reps') +args=ap.parse_args() +out=Path(args.output);out.mkdir(parents=True,exist_ok=False) +os.environ['VLA_LIBRARY']=str(root/'build-cuda/libvla.so') +sys.path.insert(0,str(root/'bindings/python')) +import numpy as np +import vla_cpp +config=None +if args.variant=='flash-mm': + config=out/'runtime.json';config.write_text(json.dumps({'runtime':{'flash_attn':True,'mm_prec':'default'}})+'\n') +y,x,c=np.indices((512,512,3)) +images=[((x+2*y+40*c+17*v)&255).astype(np.uint8) for v in range(2)] +tokens=list(range(1,17)) +rows=[] +with vla_cpp.load(args.model,config_path=str(config) if config else None) as model: + cfg=model.config + state=np.zeros(cfg.max_state_dim,dtype=np.float32) + state[:cfg.real_state_dim]=np.float32(.01)*np.arange(1,cfg.real_state_dim+1,dtype=np.float32) + count=cfg.max_action_dim*cfg.n_suffix + noise=np.float32(.001)*((np.arange(count,dtype=np.uint64)*2654435761)%1000).astype(np.float32)-np.float32(.5) + timing=vla_cpp.TIMING_PHASE if args.mode=='phase' else vla_cpp.TIMING_NONE + cudart=ctypes.CDLL('/usr/local/cuda/lib64/libcudart.so') if args.capture else None + for iteration in range(23): + if iteration==3 and cudart is not None: + assert cudart.cudaDeviceSynchronize()==0 + assert cudart.cudaProfilerStart()==0 + before=time.perf_counter() + actions=model.predict(images,tokens,state=state,noise=noise,timing=timing) + elapsed=(time.perf_counter()-before)*1000 + assert actions.shape==(cfg.n_suffix,cfg.max_action_dim) and np.isfinite(actions).all() + if iteration==0:np.save(out/'actions.npy',actions) + if iteration>=3: + stats=model.last_stats() + row={name:float(getattr(stats,name)) for name,_ in stats._fields_} + row['python_wall_ms']=elapsed + row['unaccounted_ms']=row['ms_total']-row['ms_vision']-row['ms_inference'] + rows.append(row) + if cudart is not None: + assert cudart.cudaDeviceSynchronize()==0 + assert cudart.cudaProfilerStop()==0 + resolved={name:getattr(cfg,name) for name,_ in cfg._fields_} +summary={name:{'mean':float(np.mean([r[name] for r in rows])),'p50':float(np.percentile([r[name] for r in rows],50)),'p90':float(np.percentile([r[name] for r in rows],90))} for name in rows[0]} +if args.mode=='none': + summary['ms_prefill']=None;summary['ms_denoise']=None +result=dict(model=args.model,variant=args.variant,mode=args.mode,warmup=3,reps=20,views=2,size=512,token_ids=tokens,noise='vla-bench fixed formula',resolved=resolved,samples=rows,summary=summary,limitations=['PHASE graph/padding differ from defaults','vision includes connector/preprocess/copies','prefill/denoise do not account for every overhead','prefill includes KV graph, denoise includes cross-KV reprojection','not CUDA kernel-only timing']) +(out/'result.json').write_text(json.dumps(result,indent=2)+'\n') +print(json.dumps(summary,indent=2)) diff --git a/research-notes/smolvla-followup-20261104/prune_depth.py b/research-notes/smolvla-followup-20261104/prune_depth.py new file mode 100644 index 00000000..7610238c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/prune_depth.py @@ -0,0 +1,74 @@ +"""Structured depth ablation for this SmolVLA GGUF; not a CLP implementation. + +Removes blocks and reindexes retained tensor names, preserving raw weights. +VLM/action expert are coupled because this loader shares their layer count/KV mapping. +""" +from pathlib import Path +import argparse,json,re,sys,hashlib +root=Path(__file__).resolve().parents[2] +sys.path.insert(0,str(root/'build-cuda/_deps/llama-src/gguf-py')) +sys.path.insert(0,str(root/'scripts')) +import gguf +import numpy as np +from gguf_common import copy_kv,copy_tensor +ap=argparse.ArgumentParser(description=__doc__) +ap.add_argument('--input',required=True) +ap.add_argument('--output',required=True) +ap.add_argument('--vision-drop',default='') +ap.add_argument('--coupled-drop',default='') +args=ap.parse_args() +source=Path(args.input);destination=Path(args.output) +if destination.resolve()==source.resolve() or destination.exists():raise SystemExit('Refuse overwrite') +reader=gguf.GGUFReader(str(source)) +if reader.fields['general.architecture'].contents()!='smolvla':raise SystemExit('SmolVLA only') +counts={'vit':int(reader.fields['smolvla.vit_layers'].contents()),'vlm':int(reader.fields['smolvla.n_layers'].contents())} +counts['aex']=counts['vlm'] +def parse(text,count): + values=set(int(v) for v in text.split(',') if v.strip()) + if not values.issubset(range(count)) or len(values)>=count:raise SystemExit('Invalid layer removal set') + return values +drops={'vit':parse(args.vision_drop,counts['vit']),'vlm':parse(args.coupled_drop,counts['vlm'])} +drops['aex']=drops['vlm'] +if not any(drops.values()):raise SystemExit('No blocks selected for removal') +maps={module:{old:new for new,old in enumerate(i for i in range(counts[module]) if i not in drops[module])} for module in counts} +every=int(reader.fields['smolvla.self_attn_every_n_layers'].contents()) +if every>0 and any((old%every==0)!=(new%every==0) for old,new in maps['aex'].items()): + raise SystemExit('Reindexing would change SA/CA block type; remove compatible blocks instead') +pattern=re.compile(r'^(vit|vlm|aex)\.blk\.(\d+)\.(.+)$') +plan=[];removed=[] +for tensor in reader.tensors: + match=pattern.match(tensor.name) + if match: + module,index,suffix=match[1],int(match[2]),match[3] + if index in drops[module]:removed.append(tensor.name);continue + name=f'{module}.blk.{maps[module][index]}.{suffix}' + else:name=tensor.name + plan.append((tensor,name)) +assert len({name for _,name in plan})==len(plan) +writer=gguf.GGUFWriter(str(destination),'smolvla') +copy_kv(reader,writer,skip=('smolvla.vit_layers','smolvla.n_layers')) +writer.add_uint32('smolvla.vit_layers',len(maps['vit'])) +writer.add_uint32('smolvla.n_layers',len(maps['vlm'])) +for tensor,name in plan: + # copy_tensor preserves dtype/shape; expose the new name without changing source. + renamed=tensor._replace(name=name) + copy_tensor(writer,renamed) +writer.write_header_to_file();writer.write_kv_data_to_file();writer.write_tensors_to_file();writer.close() +exported=gguf.GGUFReader(str(destination));by_name={t.name:t for t in exported.tensors} +assert len(by_name)==len(plan) +for tensor,name in plan: + result=by_name[name] + assert tensor.tensor_type==result.tensor_type,name + assert np.array_equal(tensor.shape,result.shape),name + assert np.array_equal(tensor.data.view(np.uint8),result.data.view(np.uint8)),name +for key,field in reader.fields.items(): + if key.startswith('GGUF.') or key in ('smolvla.vit_layers','smolvla.n_layers'):continue + assert exported.fields[key].contents()==field.contents(),key +assert exported.fields['smolvla.vit_layers'].contents()==len(maps['vit']) +assert exported.fields['smolvla.n_layers'].contents()==len(maps['vlm']) +digest=hashlib.sha256() +with destination.open('rb') as f: + for data in iter(lambda:f.read(8*1024*1024),b''):digest.update(data) +report=dict(method='structured depth ablation; no CKA/calibration/finetuning',source=str(source),output=str(destination),drop={k:sorted(v) for k,v in drops.items()},retained_layer_maps=maps,source_tensors=len(reader.tensors),removed_tensors=removed,retained_tensors=len(plan),bytes=destination.stat().st_size,sha256=digest.hexdigest(),raw_weights_preserved=True,inference_validated=False,latency_measured=False,sr_measured=False) +destination.with_suffix('.json').write_text(json.dumps(report,indent=2)+'\n') +print(json.dumps({k:report[k] for k in ['method','bytes','retained_tensors','sha256','inference_validated']},indent=2)) diff --git a/research-notes/smolvla-followup-20261104/pruning-summary.json b/research-notes/smolvla-followup-20261104/pruning-summary.json new file mode 100644 index 00000000..8c9684b3 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/pruning-summary.json @@ -0,0 +1,23 @@ +[ + { + "name": "smolvla-vision-tail-10", + "bytes": 1097967488, + "retained_tensors": 759, + "removed_tensors": 32, + "inference_validated": false + }, + { + "name": "smolvla-vision-spaced-10", + "bytes": 1097967488, + "retained_tensors": 759, + "removed_tensors": 32, + "inference_validated": false + }, + { + "name": "smolvla-coupled-tail-30", + "bytes": 1074532544, + "retained_tensors": 755, + "removed_tensors": 36, + "inference_validated": false + } +] diff --git a/research-notes/smolvla-followup-20261104/quantization/manifest.json b/research-notes/smolvla-followup-20261104/quantization/manifest.json new file mode 100644 index 00000000..bdc94f8d --- /dev/null +++ b/research-notes/smolvla-followup-20261104/quantization/manifest.json @@ -0,0 +1,161 @@ +[ + { + "name": "smolvla-q8_0-lm", + "type": "Q8_0", + "vision": false, + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/scripts/quantize_gguf.py", + "--in", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--out", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-lm.gguf", + "--type", + "Q8_0" + ], + "path": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-lm.gguf", + "status": "export_and_integrity_ok", + "inference_validated": true, + "exit": 0, + "bytes": 820389536, + "quantized_tensors": 225, + "preserved_tensors": 566, + "expert_tensors_preserved": 289, + "sha256": "21cb8823c31b0a9c7a53e42d9d902657670cefe98c324e72ab04933be17fe1be", + "inference_scope": "single fixed-input CUDA predict, not LIBERO smoke", + "inference_evidence": "candidate-checks/summary.json" + }, + { + "name": "smolvla-q8_0-vision", + "type": "Q8_0", + "vision": true, + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/scripts/quantize_gguf.py", + "--in", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--out", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-vision.gguf", + "--type", + "Q8_0", + "--vision" + ], + "path": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-vision.gguf", + "status": "export_and_integrity_ok", + "inference_validated": true, + "exit": 0, + "bytes": 740763296, + "quantized_tensors": 297, + "preserved_tensors": 494, + "expert_tensors_preserved": 289, + "sha256": "4b886fc032882fd5c92c234c03038783f7692ffc30440bf00ad1a9c4c4402b56", + "inference_scope": "single fixed-input CUDA predict, not LIBERO smoke", + "inference_evidence": "candidate-checks/summary.json" + }, + { + "name": "smolvla-q5_0-lm", + "type": "Q5_0", + "vision": false, + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/scripts/quantize_gguf.py", + "--in", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--out", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-lm.gguf", + "--type", + "Q5_0" + ], + "path": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-lm.gguf", + "status": "export_and_integrity_ok", + "inference_validated": true, + "exit": 0, + "bytes": 698001056, + "quantized_tensors": 225, + "preserved_tensors": 566, + "expert_tensors_preserved": 289, + "sha256": "b866e3a104ac49e2ec4f66766af73c31077997f3a0747234be1e22841ccc61e0", + "inference_scope": "single fixed-input CUDA predict, not LIBERO smoke", + "inference_evidence": "candidate-checks/summary.json" + }, + { + "name": "smolvla-q5_0-vision", + "type": "Q5_0", + "vision": true, + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/scripts/quantize_gguf.py", + "--in", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--out", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-vision.gguf", + "--type", + "Q5_0", + "--vision" + ], + "path": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q5_0-vision.gguf", + "status": "export_and_integrity_ok", + "inference_validated": true, + "exit": 0, + "bytes": 586524320, + "quantized_tensors": 297, + "preserved_tensors": 494, + "expert_tensors_preserved": 289, + "sha256": "9d3a8947372a3726d58db0cde2829c5aee93bdd85cd25ec28f9ad0ffa09313d7", + "inference_scope": "single fixed-input CUDA predict, not LIBERO smoke", + "inference_evidence": "candidate-checks/summary.json" + }, + { + "name": "smolvla-q4_0-lm", + "type": "Q4_0", + "vision": false, + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/scripts/quantize_gguf.py", + "--in", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--out", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-lm.gguf", + "--type", + "Q4_0" + ], + "path": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-lm.gguf", + "status": "export_and_integrity_ok", + "inference_validated": true, + "exit": 0, + "bytes": 657204896, + "quantized_tensors": 225, + "preserved_tensors": 566, + "expert_tensors_preserved": 289, + "sha256": "ea0d1da351ccc725b1d4fba824932d58d61ac58d75b6e23d327dedc7e5eecce1", + "inference_scope": "single fixed-input CUDA predict, not LIBERO smoke", + "inference_evidence": "candidate-checks/summary.json" + }, + { + "name": "smolvla-q4_0-vision", + "type": "Q4_0", + "vision": true, + "command": [ + "/home/doris/projects/vla.cpp/.venv/bin/python", + "/home/doris/projects/vla.cpp/scripts/quantize_gguf.py", + "--in", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--out", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-vision.gguf", + "--type", + "Q4_0", + "--vision" + ], + "path": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q4_0-vision.gguf", + "status": "export_and_integrity_ok", + "inference_validated": true, + "exit": 0, + "bytes": 535111328, + "quantized_tensors": 297, + "preserved_tensors": 494, + "expert_tensors_preserved": 289, + "sha256": "42e9c49ac97610673eb082a28e364e5c12ed5505dda633762081641fd2172403", + "inference_scope": "single fixed-input CUDA predict, not LIBERO smoke", + "inference_evidence": "candidate-checks/summary.json" + } +] diff --git a/research-notes/smolvla-followup-20261104/queue_official200.py b/research-notes/smolvla-followup-20261104/queue_official200.py new file mode 100644 index 00000000..7dfedbb9 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/queue_official200.py @@ -0,0 +1,16 @@ +"""Wait for current smoke batch and its owned server to exit, then run official baseline.""" +from pathlib import Path +import json,subprocess,sys,time,socket,os +b=Path(__file__).resolve().parent +print('QUEUED official200 defaults: waiting for smoke batch completion; no parallel GPU evaluation.',flush=True) +while True: + try:p=json.loads((b/'candidate-smokes/progress.json').read_text()) + except (OSError,ValueError):time.sleep(5);continue + if p.get('state')=='complete': + with socket.socket() as s: + if s.connect_ex(('127.0.0.1',15558))!=0:break + time.sleep(5) +print('START official200 defaults: 10 tasks x 20 episodes, repo defaults, seed42, random server noise.',flush=True) +result=subprocess.run([sys.executable,str(b/'run_official200.py')],cwd=b.parents[1]) +print('Official runner exit:',result.returncode,flush=True) +sys.exit(result.returncode) diff --git a/research-notes/smolvla-followup-20261104/recover_official200_task9.py b/research-notes/smolvla-followup-20261104/recover_official200_task9.py new file mode 100644 index 00000000..0fd4bf39 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/recover_official200_task9.py @@ -0,0 +1,65 @@ +"""Official defaults baseline: 10 tasks x 20 episodes; fixed denominator 200.""" +from pathlib import Path +import csv,json,os,subprocess,time +root=Path(__file__).resolve().parents[2] +out=Path(__file__).resolve().parent/'official200-defaults' +original=out +out=original/'recovery-task9-retry1' +out.mkdir(exist_ok=True) +if (out/'protocol.json').exists(): + raise SystemExit('Output exists; inspect progress before resuming. No automatic overwrite.') +env={k:v for k,v in os.environ.items() if not k.startswith('VLA_')} +env.update(MUJOCO_GL='egl',CUDA_VISIBLE_DEVICES='0',LIBERO_CONFIG_PATH=str(original.parent/'libero-config'),PYTHONUNBUFFERED='1',TOKENIZERS_PARALLELISM='false',HF_HUB_OFFLINE='1',TRANSFORMERS_OFFLINE='1') +server_cmd=[str(root/'build-cuda/vla-server'),'--bind','tcp://127.0.0.1:15559','/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf'] +protocol=dict(classification='official evaluation',suite='libero_object',tasks=list(range(10)),episodes_per_task=20,expected_total=200,seed=42,n_action_steps=1,baseline='repo defaults; known bit-exact test failures disclosed',server=server_cmd,env={k:env[k] for k in ['MUJOCO_GL','CUDA_VISIBLE_DEVICES','LIBERO_CONFIG_PATH','TOKENIZERS_PARALLELISM']},initial_states='repo client defaults: episode_index=0, stride=1; same seed and initial states for later configs',aborts='halt on any aborted/missing episode; never silently reduce denominator') +(out/'protocol.json').write_text(json.dumps(protocol,indent=2)+'\n') +protocol['noise']='repo default server random RNG; seed42 controls environment only' +(out/'protocol.json').write_text(json.dumps(protocol,indent=2)+'\n') +results=json.loads((original/'progress.json').read_text())['tasks'] +if [r['task_id'] for r in results] != list(range(9)): + raise SystemExit('Expected exactly completed tasks 0 through 8') +protocol['recovery']={'reason':'task9 interrupted by ZMQ receive timeout after process pause','policy':'rerun all 20 task9 episodes; exclude original partial task9; retain tasks0-8','receive_timeout_ms':-1} +(out/'protocol.json').write_text(json.dumps(protocol,indent=2)+'\n') +def progress(state): + data=dict(state=state,completed_tasks=len(results),completed_episodes=sum(r['episodes'] for r in results),successes=sum(r['successes'] for r in results),expected_episodes=200,tasks=results) + (out/'progress.json').write_text(json.dumps(data,indent=2)+'\n') + return data +progress('starting') +with (out/'server.log').open('w') as server_log: + server=subprocess.Popen(server_cmd,cwd=root,env=env,stdout=server_log,stderr=subprocess.STDOUT) + try: + deadline=time.monotonic()+180 + while 'ready.' not in (out/'server.log').read_text(): + if server.poll() is not None:raise RuntimeError('Server exited before ready') + if time.monotonic()>deadline:raise TimeoutError('Server readiness timeout') + time.sleep(.5) + if 'backend = CUDA' not in (out/'server.log').read_text():raise RuntimeError('No CUDA backend confirmation') + for task in [9]: + cmd=[str(root/'eval/sim/libero/libero_uv/.venv/bin/python'),str(root/'eval/client/run_sim_client_direct.py'),'--arch','smolvla','--vla-addr','tcp://127.0.0.1:15559','--task','libero_object','--task-id',str(task),'--recv-timeout-ms','-1','--n-episodes','20','--n-action-steps','1','--seed','42','--output-dir',str(out/'outputs')] + (out/f'task-{task}-command.json').write_text(json.dumps(cmd,indent=2)+'\n') + print('Starting task',task,'20 episodes',flush=True) + progress(f'running task {task}') + with (out/f'task-{task}.log').open('w') as log: + completed=subprocess.run(cmd,cwd=root,env=env,stdout=log,stderr=subprocess.STDOUT,timeout=14400) + if completed.returncode:raise RuntimeError(f'task {task} client exit {completed.returncode}') + path=out/'outputs/smolvla/libero_object'/f'task_{task}'/'episodes.csv' + with path.open() as f:episodes=list(csv.DictReader(f)) + if len(episodes)!=20 or any(int(r['aborted']) for r in episodes):raise RuntimeError(f'task {task}: incomplete/aborted episodes; see {path}') + successes=sum(int(r['success']) for r in episodes) + results.append(dict(task_id=task,episodes=20,successes=successes,steps=[int(r['steps']) for r in episodes],csv=str(path.relative_to(root)))) + data=progress('running') + print('Completed task',task,f'{successes}/20; total {data["successes"]}/{data["completed_episodes"]}',flush=True) + with (root/'NOTES_SMOLVLA.md').open('a') as notes: + notes.write(f'\nOfficial200 defaults: task {task} hoàn tất {successes}/20; tổng tạm thời {data["successes"]}/{data["completed_episodes"]}. Log official200-defaults/task-{task}.log; SR tạm thời; chỉ chốt sau đủ200 episode.\n') + data=progress('complete') + data['official_sr']=data['successes']/200 + (out/'result.json').write_text(json.dumps(data,indent=2)+'\n') + (original/'result.json').write_text(json.dumps(data,indent=2)+'\n') + (original/'progress.json').write_text(json.dumps(data,indent=2)+'\n') + except BaseException as error: + progress('failed: '+str(error)) + raise + finally: + server.terminate() + try:server.wait(timeout=15) + except subprocess.TimeoutExpired:server.kill();server.wait() diff --git a/research-notes/smolvla-followup-20261104/report_part3.py b/research-notes/smolvla-followup-20261104/report_part3.py new file mode 100644 index 00000000..df1905a9 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/report_part3.py @@ -0,0 +1,21 @@ +from pathlib import Path +import json +b=Path(__file__).resolve().parent;root=b.parents[1] +def load(p):return json.loads((b/p).read_text()) +runs=load('part3-runtime/latency-runs.json');memory=load('part3-runtime/summary.json');deltas={r['config']:r for r in load('runtime-screen/summary.json')} +selected={name:min((r for r in runs if r['name']==name),key=lambda r:r['mean_ms']) for name in deltas} +assert len(runs)==30 and all(len([r for r in runs if r['name']==n])==3 for n in selected) +lines=['# Phần 3 — Tối ưu SmolVLA không cần train','','## Phạm vi và protocol','','Không thay GGUF gốc. Runtime flags dùng cùng checkpoint; quantization xuất sáu file riêng, không train, không pruning.','Latency: vla-bench, 2 ảnh512×512,16token,3warmup+20reps,3process/config. Chọn cả lượt có mean thấp nhất; p50/p90 thuộc cùng lượt. Bộ nhớ lấy peak lớn nhất trong3process/config, đo bằng nsys riêng với cùng workload.','Output: vla_predict_check,2ảnh512,6token theo harness, noise cố định; so với defaults. Max abs và RMSE trên50×7 action thực, loại padding32chiều. Đây là input khác benchmark; không suy ra SR từ độ lệch synthetic.','','## Runtime flags','','| Cấu hình | File MiB | Mean / p50 / p90 ms | Peak allocation MiB | Max abs real7 | RMSE real7 |','|---|---:|---:|---:|---:|---:|'] +size=Path('/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf').stat().st_size/1048576 +for n,r in selected.items(): + d=deltas[n];lines.append(f"| {n} | {size:.2f} | {r['mean_ms']:.1f} / {r['p50_ms']:.1f} / {r['p90_ms']:.1f} | {memory[n]['peak_MiB']:.2f} | {d['max_abs_real7']:.8g} | {d['rmse_real7']:.8g} |") +lines+=['','Flags chính xác của mỗi cấu hình nằm trong `part3-runtime/latency-runs.json`. bf16/f16 chỉ đổi weight dtype; activation giữ mặc định F32. Không thử act-dtype BF16 cho SmolVLA vì docs giới hạn flag này cho các kiến trúc khác. steps-5/3 đổi số bước solver; các cấu hình khác giữ10bước.','','## Quantization — runtime defaults','','| Model | File MiB | Mean / p50 / p90 ms | Peak allocation MiB | Max abs real7 | RMSE real7 |','|---|---:|---:|---:|---:|---:|'] +bench=load('candidate-bench/selected.json');mem=load('memory-all/summary.json');checks={r['name']:r for r in load('candidate-checks/summary.json')} +for n,r in bench.items(): + if n!='defaults' and not any(q in n for q in ['q8_0','q5_0','q4_0']):continue + d=checks[n];sz=Path(r['model']).stat().st_size/1048576 + lines.append(f"| {n} | {sz:.2f} | {r['mean_ms']:.1f} / {r['p50_ms']:.1f} / {r['p90_ms']:.1f} | {mem[n]['peak_MiB']:.2f} | {d['max_abs_real7']:.8g} | {d['rmse_real7']:.8g} |") +lines+=['','Quantization theo scripts/quantize_gguf.py trong docs/MODELS.md. `lm` gồm225tensor (VLM và connector mm.fc1); `vision` thêm72tensor. Action expert289tensor giữ float. Chi tiết kích thước byte, SHA256 và command ở `quantization/manifest.json`.','','## Điều kiện đo và giới hạn','','RTX3060Laptop6GiB, WSL2; laptop cắm sạc, chế độ nguồn bình thường, không tản nhiệt ngoài theo người dùng. Đợt runtime bổ sung từ chối chạy nếu còn vla-server; không khẳng định loại hết ứng dụng Windows. Số đo quantization là batch trước, có control cùng batch; không ghép batch để suy ra chênh lệch nhỏ.','WSL báo N/A cho process resident VRAM. Cột bộ nhớ là peak traced device allocation (Device+DeviceStatic), không bao hết context/driver hoặc allocation không được ghi nhận. Không coi đây là toàn bộ peak resident VRAM.','Hai CUDA tests bit-exact còn fail; baseline giữ defaults theo lựa chọn người dùng. Fused/unfused có sai lệch đã ghi riêng. Không gán đảm bảo bit-exact trong docs thành kết quả đã xác nhận trên máy này.','','## Nguồn dữ liệu và tái lập','','- Runtime: part3_runtime_children.py, run_part3.sh, part3-runtime/*, audit_part3_memory.py.','- Quantization: prepare_quantized.py, quantization/manifest.json, candidate-bench/selected.json, candidate-checks/summary.json, memory-all/summary.json.','- Docs repo: docs/USAGE.md, docs/backend/cuda.md, docs/MODELS.md.','- Không kết luận SR trong phần này. Đánh giá LIBERO thuộc phần4.'] +best=min(selected.values(),key=lambda r:r['mean_ms']);control=selected['defaults'] +lines+=['','## Nhận xét từ số đo',f"- Runtime nhanh nhất trong tập thử: {best['name']}, mean {best['mean_ms']:.1f}ms; giảm {(1-best['mean_ms']/control['mean_ms'])*100:.2f}% so với control cùng batch. Cần đọc kèm độ lệch action; không xem giảm solver steps là miễn phí chất lượng.",'- File runtime không đổi kích thước vì dùng cùng GGUF; resident weight dtype thay đổi trong bộ nhớ.', '- Quantization giảm rõ kích thước và allocation; latency cần so với defaults của chính candidate-bench. Không suy ra tốc độ chỉ từ số bit.', '- Output synthetic không chứng minh giữ khả năng điều khiển. Phần3 hoàn tất phép đo, chưa chốt cấu hình triển khai theo SR.'] +p=root/'PART3_OPTIMIZATION.md' ;p.write_text('\n'.join(lines)+'\n');print('Wrote',p) diff --git a/research-notes/smolvla-followup-20261104/run_memory_all.py b/research-notes/smolvla-followup-20261104/run_memory_all.py new file mode 100644 index 00000000..5fb8ae07 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/run_memory_all.py @@ -0,0 +1,10 @@ +from pathlib import Path +import json,os,subprocess +root=Path(__file__).resolve().parents[2];base=Path(__file__).resolve().parent;out=base/'memory-all' +env={k:v for k,v in os.environ.items() if not k.startswith('VLA_')} +command=['nsys','profile','--trace=cuda','--cuda-memory-usage=true','--cuda-trace-all-apis=true','--sample=none','--cpuctxsw=none','--output='+str(out/'all-models'),'python3',str(base/'memory_children.py')] +(out/'command.json').write_text(json.dumps(command,indent=2)+'\n') +with (out/'profile.log').open('w') as log:subprocess.run(command,cwd=root,env=env,stdout=log,stderr=subprocess.STDOUT,check=True) +print('All child workloads captured; exporting SQLite',flush=True) +with (out/'export.log').open('w') as log:subprocess.run(['nsys','export','--type','sqlite','--output',str(out/'all-models.sqlite'),str(out/'all-models.nsys-rep')],stdout=log,stderr=subprocess.STDOUT,check=True) +subprocess.run(['python3',str(base/'audit_memory_all.py')],check=True) diff --git a/research-notes/smolvla-followup-20261104/run_official200.py b/research-notes/smolvla-followup-20261104/run_official200.py new file mode 100644 index 00000000..cd88f001 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/run_official200.py @@ -0,0 +1,57 @@ +"""Official defaults baseline: 10 tasks x 20 episodes; fixed denominator 200.""" +from pathlib import Path +import csv,json,os,subprocess,time +root=Path(__file__).resolve().parents[2] +out=Path(__file__).resolve().parent/'official200-defaults' +out.mkdir(exist_ok=True) +if (out/'protocol.json').exists(): + raise SystemExit('Output exists; inspect progress before resuming. No automatic overwrite.') +env={k:v for k,v in os.environ.items() if not k.startswith('VLA_')} +env.update(MUJOCO_GL='egl',CUDA_VISIBLE_DEVICES='0',LIBERO_CONFIG_PATH=str(out.parent/'libero-config'),PYTHONUNBUFFERED='1',TOKENIZERS_PARALLELISM='false',HF_HUB_OFFLINE='1',TRANSFORMERS_OFFLINE='1') +server_cmd=[str(root/'build-cuda/vla-server'),'--bind','tcp://127.0.0.1:15559','/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf'] +protocol=dict(classification='official evaluation',suite='libero_object',tasks=list(range(10)),episodes_per_task=20,expected_total=200,seed=42,n_action_steps=1,baseline='repo defaults; known bit-exact test failures disclosed',server=server_cmd,env={k:env[k] for k in ['MUJOCO_GL','CUDA_VISIBLE_DEVICES','LIBERO_CONFIG_PATH','TOKENIZERS_PARALLELISM']},initial_states='repo client defaults: episode_index=0, stride=1; same seed and initial states for later configs',aborts='halt on any aborted/missing episode; never silently reduce denominator') +(out/'protocol.json').write_text(json.dumps(protocol,indent=2)+'\n') +protocol['noise']='repo default server random RNG; seed42 controls environment only' +(out/'protocol.json').write_text(json.dumps(protocol,indent=2)+'\n') +results=[] +def progress(state): + data=dict(state=state,completed_tasks=len(results),completed_episodes=sum(r['episodes'] for r in results),successes=sum(r['successes'] for r in results),expected_episodes=200,tasks=results) + (out/'progress.json').write_text(json.dumps(data,indent=2)+'\n') + return data +progress('starting') +with (out/'server.log').open('w') as server_log: + server=subprocess.Popen(server_cmd,cwd=root,env=env,stdout=server_log,stderr=subprocess.STDOUT) + try: + deadline=time.monotonic()+180 + while 'ready.' not in (out/'server.log').read_text(): + if server.poll() is not None:raise RuntimeError('Server exited before ready') + if time.monotonic()>deadline:raise TimeoutError('Server readiness timeout') + time.sleep(.5) + if 'backend = CUDA' not in (out/'server.log').read_text():raise RuntimeError('No CUDA backend confirmation') + for task in range(10): + cmd=[str(root/'eval/sim/libero/libero_uv/.venv/bin/python'),str(root/'eval/client/run_sim_client_direct.py'),'--arch','smolvla','--vla-addr','tcp://127.0.0.1:15559','--task','libero_object','--task-id',str(task),'--n-episodes','20','--n-action-steps','1','--seed','42','--output-dir',str(out/'outputs')] + (out/f'task-{task}-command.json').write_text(json.dumps(cmd,indent=2)+'\n') + print('Starting task',task,'20 episodes',flush=True) + progress(f'running task {task}') + with (out/f'task-{task}.log').open('w') as log: + completed=subprocess.run(cmd,cwd=root,env=env,stdout=log,stderr=subprocess.STDOUT,timeout=14400) + if completed.returncode:raise RuntimeError(f'task {task} client exit {completed.returncode}') + path=out/'outputs/smolvla/libero_object'/f'task_{task}'/'episodes.csv' + with path.open() as f:episodes=list(csv.DictReader(f)) + if len(episodes)!=20 or any(int(r['aborted']) for r in episodes):raise RuntimeError(f'task {task}: incomplete/aborted episodes; see {path}') + successes=sum(int(r['success']) for r in episodes) + results.append(dict(task_id=task,episodes=20,successes=successes,steps=[int(r['steps']) for r in episodes],csv=str(path.relative_to(root)))) + data=progress('running') + print('Completed task',task,f'{successes}/20; total {data["successes"]}/{data["completed_episodes"]}',flush=True) + with (root/'NOTES_SMOLVLA.md').open('a') as notes: + notes.write(f'\nOfficial200 defaults: task {task} hoàn tất {successes}/20; tổng tạm thời {data["successes"]}/{data["completed_episodes"]}. Log official200-defaults/task-{task}.log; SR tạm thời; chỉ chốt sau đủ200 episode.\n') + data=progress('complete') + data['official_sr']=data['successes']/200 + (out/'result.json').write_text(json.dumps(data,indent=2)+'\n') + except BaseException as error: + progress('failed: '+str(error)) + raise + finally: + server.terminate() + try:server.wait(timeout=15) + except subprocess.TimeoutExpired:server.kill();server.wait() diff --git a/research-notes/smolvla-followup-20261104/run_part3.sh b/research-notes/smolvla-followup-20261104/run_part3.sh new file mode 100644 index 00000000..a535f113 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/run_part3.sh @@ -0,0 +1,9 @@ +#!/bin/bash +set -euo pipefail +cd /home/doris/projects/vla.cpp +B=research-notes/smolvla-followup-20261104 +if pgrep -x vla-server >/dev/null; then echo 'Server still running; refusing concurrent GPU benchmarks'; exit 1; fi +python3 -u "$B/part3_runtime_children.py" latency +nsys profile --trace=cuda --cuda-memory-usage=true --cuda-trace-all-apis=true --sample=none --cpuctxsw=none --output="$B/part3-runtime/runtime" python3 -u "$B/part3_runtime_children.py" memory +nsys export --type sqlite --output="$B/part3-runtime/runtime.sqlite" "$B/part3-runtime/runtime.nsys-rep" +python3 "$B/audit_part3_memory.py" diff --git a/research-notes/smolvla-followup-20261104/run_phase_suite.py b/research-notes/smolvla-followup-20261104/run_phase_suite.py new file mode 100644 index 00000000..d1a638d7 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/run_phase_suite.py @@ -0,0 +1,21 @@ +from pathlib import Path +import json,subprocess,os +root=Path(__file__).resolve().parents[2];base=Path(__file__).resolve().parent +out=base/'phase-suite';out.mkdir(exist_ok=False) +source=Path('/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf') +cases=[('defaults',source,'defaults'),('flash-mm',source,'flash-mm')]+[(name,root/'research-notes/generated-models'/(name+'.gguf'),'defaults') for name in ['smolvla-vision-tail-10','smolvla-vision-spaced-10','smolvla-coupled-tail-30']] +env={k:v for k,v in os.environ.items() if not k.startswith('VLA_')} +results=[] +for trial in range(3): + for name,model,variant in cases: + folder=out/f'{name}-{trial}' + command=[str(root/'.venv/bin/python'),str(base/'profile_phase.py'),'--model',str(model),'--variant',variant,'--mode','phase','--output',str(folder)] + with (out/f'{name}-{trial}.log').open('w') as log: + process=subprocess.run(command,cwd=root,env=env,stdout=log,stderr=subprocess.STDOUT) + if process.returncode:raise RuntimeError(f'{name}/{trial} exit {process.returncode}') + r=json.loads((folder/'result.json').read_text()) + results.append(dict(case=name,trial=trial,summary=r['summary'],result=str(folder/'result.json'),command=command)) + (out/'runs.json').write_text(json.dumps(results,indent=2)+'\n') + print(name,'phase trial',trial,'total mean',r['summary']['ms_total']['mean'],flush=True) +selected={name:min((r for r in results if r['case']==name),key=lambda r:r['summary']['ms_total']['mean']) for name,_,_ in cases} +(out/'selected.json').write_text(json.dumps(selected,indent=2)+'\n') diff --git a/research-notes/smolvla-followup-20261104/run_screen40.py b/research-notes/smolvla-followup-20261104/run_screen40.py new file mode 100644 index 00000000..60586ffb --- /dev/null +++ b/research-notes/smolvla-followup-20261104/run_screen40.py @@ -0,0 +1,55 @@ +"""Defaults baseline screening: 10 tasks x 4 episodes, separate from smoke.""" +from pathlib import Path +import csv,json,os,subprocess,time +root=Path(__file__).resolve().parents[2] +out=Path(__file__).resolve().parent/'screen40-defaults' +out.mkdir(exist_ok=True) +if (out/'protocol.json').exists(): + raise SystemExit('Output exists; inspect progress before resuming. No automatic overwrite.') +env={k:v for k,v in os.environ.items() if not k.startswith('VLA_')} +env.update(MUJOCO_GL='egl',CUDA_VISIBLE_DEVICES='0',LIBERO_CONFIG_PATH=str(out.parent/'libero-config'),PYTHONUNBUFFERED='1',TOKENIZERS_PARALLELISM='false') +server_cmd=[str(root/'build-cuda/vla-server'),'--bind','tcp://127.0.0.1:15557','/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf'] +protocol=dict(classification='screening, not official evaluation',suite='libero_object',tasks=list(range(10)),episodes_per_task=4,expected_total=40,seed=42,n_action_steps=1,baseline='repo defaults; known bit-exact test failures disclosed',server=server_cmd,env={k:env[k] for k in ['MUJOCO_GL','CUDA_VISIBLE_DEVICES','LIBERO_CONFIG_PATH','TOKENIZERS_PARALLELISM']},initial_states='repo client defaults: episode_index=0, stride=1; same seed and initial states for later configs',aborts='halt on any aborted/missing episode; never silently reduce denominator') +(out/'protocol.json').write_text(json.dumps(protocol,indent=2)+'\n') +results=[] +def progress(state): + data=dict(state=state,completed_tasks=len(results),completed_episodes=sum(r['episodes'] for r in results),successes=sum(r['successes'] for r in results),expected_episodes=40,tasks=results) + (out/'progress.json').write_text(json.dumps(data,indent=2)+'\n') + return data +progress('starting') +with (out/'server.log').open('w') as server_log: + server=subprocess.Popen(server_cmd,cwd=root,env=env,stdout=server_log,stderr=subprocess.STDOUT) + try: + deadline=time.monotonic()+180 + while 'ready.' not in (out/'server.log').read_text(): + if server.poll() is not None:raise RuntimeError('Server exited before ready') + if time.monotonic()>deadline:raise TimeoutError('Server readiness timeout') + time.sleep(.5) + if 'backend = CUDA' not in (out/'server.log').read_text():raise RuntimeError('No CUDA backend confirmation') + for task in range(10): + cmd=[str(root/'eval/sim/libero/libero_uv/.venv/bin/python'),str(root/'eval/client/run_sim_client_direct.py'),'--arch','smolvla','--vla-addr','tcp://127.0.0.1:15557','--task','libero_object','--task-id',str(task),'--n-episodes','4','--n-action-steps','1','--seed','42','--output-dir',str(out/'outputs')] + (out/f'task-{task}-command.json').write_text(json.dumps(cmd,indent=2)+'\n') + print('Starting task',task,'4 episodes',flush=True) + progress(f'running task {task}') + with (out/f'task-{task}.log').open('w') as log: + completed=subprocess.run(cmd,cwd=root,env=env,stdout=log,stderr=subprocess.STDOUT,timeout=1800) + if completed.returncode:raise RuntimeError(f'task {task} client exit {completed.returncode}') + path=out/'outputs/smolvla/libero_object'/f'task_{task}'/'episodes.csv' + with path.open() as f:episodes=list(csv.DictReader(f)) + if len(episodes)!=4 or any(int(r['aborted']) for r in episodes):raise RuntimeError(f'task {task}: incomplete/aborted episodes; see {path}') + successes=sum(int(r['success']) for r in episodes) + results.append(dict(task_id=task,episodes=4,successes=successes,steps=[int(r['steps']) for r in episodes],csv=str(path.relative_to(root)))) + data=progress('running') + print('Completed task',task,f'{successes}/4; total {data["successes"]}/{data["completed_episodes"]}',flush=True) + with (root/'NOTES_SMOLVLA.md').open('a') as notes: + notes.write(f'\nScreen40 defaults: task {task} hoàn tất {successes}/4; tổng tạm thời {data["successes"]}/{data["completed_episodes"]}. Log screen40-defaults/task-{task}.log; chưa phải official SR.\n') + data=progress('complete') + data['screening_sr']=data['successes']/40 + (out/'result.json').write_text(json.dumps(data,indent=2)+'\n') + except BaseException as error: + progress('failed: '+str(error)) + raise + finally: + server.terminate() + try:server.wait(timeout=15) + except subprocess.TimeoutExpired:server.kill();server.wait() diff --git a/research-notes/smolvla-followup-20261104/run_screen_variants.py b/research-notes/smolvla-followup-20261104/run_screen_variants.py new file mode 100644 index 00000000..9f421577 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/run_screen_variants.py @@ -0,0 +1,22 @@ +"""Run three authorized screening variants sequentially; retain failures and outputs.""" +from pathlib import Path +import json,subprocess,sys +b=Path(__file__).resolve().parent;root=b.parents[1];out=b/'screen40-variants' +out.mkdir(exist_ok=True) +if (out/'batch.json').exists():raise SystemExit('Batch already exists; no automatic overwrite') +if subprocess.run(['pgrep','-x','vla-server'],stdout=subprocess.DEVNULL).returncode==0:raise SystemExit('Existing server; refuse concurrent evaluation') +cases=[('flash-mm','/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf',['--flash-attn','--mm-prec','default']),('q8-lm',str(root/'research-notes/generated-models/smolvla-q8_0-lm.gguf'),[]),('q8-vision',str(root/'research-notes/generated-models/smolvla-q8_0-vision.gguf'),[])] +rows=[] +def status(state,current=None): + (out/'batch.json').write_text(json.dumps(dict(state=state,current=current,expected_configurations=3,expected_episodes=120,results=rows),indent=2)+'\n') +status('starting') +for name,model,flags in cases: + status('running',name) + command=[sys.executable,'-u',str(b/'run_variant40.py'),name,model]+flags + print('START',name,'10 tasks x4 episodes',flush=True) + r=subprocess.run(command,cwd=root) + rows.append(dict(name=name,exit=r.returncode,result=str(out/name/'result.json'))) + if r.returncode: + status('failed',name);raise SystemExit(r.returncode) + print('COMPLETE',name,flush=True) +status('complete') diff --git a/research-notes/smolvla-followup-20261104/run_smoke.py b/research-notes/smolvla-followup-20261104/run_smoke.py new file mode 100644 index 00000000..9ff7366f --- /dev/null +++ b/research-notes/smolvla-followup-20261104/run_smoke.py @@ -0,0 +1,27 @@ +from pathlib import Path +import subprocess,os,json,time +root=Path(__file__).resolve().parents[2] +out=Path(__file__).resolve().parent/'smoke-original' +out.mkdir(exist_ok=True) +env=dict(os.environ,MUJOCO_GL='egl',CUDA_VISIBLE_DEVICES='0',LIBERO_CONFIG_PATH=str(out.parent/'libero-config'),PYTHONUNBUFFERED='1') +server_cmd=[str(root/'build-cuda/vla-server'),'--bind','tcp://127.0.0.1:15556','/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf'] +client_cmd=[str(root/'eval/sim/libero/libero_uv/.venv/bin/python'),str(root/'eval/client/run_sim_client_direct.py'),'--arch','smolvla','--vla-addr','tcp://127.0.0.1:15556','--task','libero_object','--task-id','0','--n-episodes','2','--n-action-steps','1','--seed','42','--output-dir',str(out/'outputs')] +(out/'commands.json').write_text(json.dumps({'server':server_cmd,'client':client_cmd,'env':{k:env[k] for k in ['MUJOCO_GL','CUDA_VISIBLE_DEVICES','LIBERO_CONFIG_PATH']},'classification':'smoke only; not screening or official SR'},indent=2)+'\n') +with (out/'server.log').open('w') as slog: + server=subprocess.Popen(server_cmd,cwd=root,env=env,stdout=slog,stderr=subprocess.STDOUT) + try: + deadline=time.monotonic()+180 + while 'ready.' not in (out/'server.log').read_text(): + if server.poll() is not None:raise RuntimeError('Server exited before ready') + if time.monotonic()>deadline:raise TimeoutError('Server readiness timeout') + time.sleep(.5) + print('Server CUDA ready; starting 2 smoke episodes',flush=True) + with (out/'client.log').open('w') as clog: + r=subprocess.run(client_cmd,cwd=root,env=env,stdout=clog,stderr=subprocess.STDOUT,timeout=1800) + print('Client exit:',r.returncode,flush=True) + (out/'exit.json').write_text(json.dumps({'client_exit':r.returncode})+'\n') + if r.returncode:raise SystemExit(r.returncode) + finally: + server.terminate() + try:server.wait(timeout=15) + except subprocess.TimeoutExpired:server.kill();server.wait() diff --git a/research-notes/smolvla-followup-20261104/run_variant40.py b/research-notes/smolvla-followup-20261104/run_variant40.py new file mode 100644 index 00000000..01f8d5c6 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/run_variant40.py @@ -0,0 +1,59 @@ +"""Defaults baseline screening: 10 tasks x 4 episodes, separate from smoke.""" +from pathlib import Path +import csv,json,os,subprocess,time +root=Path(__file__).resolve().parents[2] +import sys +name=sys.argv[1] +model=sys.argv[2] +flags=sys.argv[3:] +out=Path(__file__).resolve().parent/'screen40-variants'/name +out.mkdir(parents=True,exist_ok=True) +if (out/'protocol.json').exists(): + raise SystemExit('Output exists; inspect progress before resuming. No automatic overwrite.') +env={k:v for k,v in os.environ.items() if not k.startswith('VLA_')} +env.update(MUJOCO_GL='egl',CUDA_VISIBLE_DEVICES='0',LIBERO_CONFIG_PATH=str(Path(__file__).resolve().parent/'libero-config'),PYTHONUNBUFFERED='1',TOKENIZERS_PARALLELISM='false',HF_HUB_OFFLINE='1',TRANSFORMERS_OFFLINE='1') +server_cmd=[str(root/'build-cuda/vla-server'),'--bind','tcp://127.0.0.1:15560',model]+flags +protocol=dict(classification='screening, not official evaluation',suite='libero_object',tasks=list(range(10)),episodes_per_task=4,expected_total=40,seed=42,n_action_steps=1,variant=name,model=model,flags=flags,noise='repo defaults random server noise; environment seed42 only',baseline_reference='screen40-defaults:38/40; known bit-exact test failures disclosed',server=server_cmd,env={k:env[k] for k in ['MUJOCO_GL','CUDA_VISIBLE_DEVICES','LIBERO_CONFIG_PATH','TOKENIZERS_PARALLELISM']},initial_states='repo client defaults: episode_index=0, stride=1; same seed and initial states for later configs',aborts='halt on any aborted/missing episode; never silently reduce denominator') +(out/'protocol.json').write_text(json.dumps(protocol,indent=2)+'\n') +results=[] +def progress(state): + data=dict(state=state,completed_tasks=len(results),completed_episodes=sum(r['episodes'] for r in results),successes=sum(r['successes'] for r in results),expected_episodes=40,tasks=results) + (out/'progress.json').write_text(json.dumps(data,indent=2)+'\n') + return data +progress('starting') +with (out/'server.log').open('w') as server_log: + server=subprocess.Popen(server_cmd,cwd=root,env=env,stdout=server_log,stderr=subprocess.STDOUT) + try: + deadline=time.monotonic()+180 + while 'ready.' not in (out/'server.log').read_text(): + if server.poll() is not None:raise RuntimeError('Server exited before ready') + if time.monotonic()>deadline:raise TimeoutError('Server readiness timeout') + time.sleep(.5) + if 'backend = CUDA' not in (out/'server.log').read_text():raise RuntimeError('No CUDA backend confirmation') + for task in range(10): + cmd=[str(root/'eval/sim/libero/libero_uv/.venv/bin/python'),str(root/'eval/client/run_sim_client_direct.py'),'--arch','smolvla','--vla-addr','tcp://127.0.0.1:15560','--task','libero_object','--task-id',str(task),'--recv-timeout-ms','-1','--n-episodes','4','--n-action-steps','1','--seed','42','--output-dir',str(out/'outputs')] + (out/f'task-{task}-command.json').write_text(json.dumps(cmd,indent=2)+'\n') + print('Starting task',task,'4 episodes',flush=True) + progress(f'running task {task}') + with (out/f'task-{task}.log').open('w') as log: + completed=subprocess.run(cmd,cwd=root,env=env,stdout=log,stderr=subprocess.STDOUT,timeout=1800) + if completed.returncode:raise RuntimeError(f'task {task} client exit {completed.returncode}') + path=out/'outputs/smolvla/libero_object'/f'task_{task}'/'episodes.csv' + with path.open() as f:episodes=list(csv.DictReader(f)) + if len(episodes)!=4 or any(int(r['aborted']) for r in episodes):raise RuntimeError(f'task {task}: incomplete/aborted episodes; see {path}') + successes=sum(int(r['success']) for r in episodes) + results.append(dict(task_id=task,episodes=4,successes=successes,steps=[int(r['steps']) for r in episodes],csv=str(path.relative_to(root)))) + data=progress('running') + print('Completed task',task,f'{successes}/4; total {data["successes"]}/{data["completed_episodes"]}',flush=True) + with (root/'NOTES_SMOLVLA.md').open('a') as notes: + notes.write(f'\nScreen40 {name}: task {task} hoàn tất {successes}/4; tổng tạm thời {data["successes"]}/{data["completed_episodes"]}. Log screen40-variants/{name}/task-{task}.log; chưa phải official SR.\n') + data=progress('complete') + data['screening_sr']=data['successes']/40 + (out/'result.json').write_text(json.dumps(data,indent=2)+'\n') + except BaseException as error: + progress('failed: '+str(error)) + raise + finally: + server.terminate() + try:server.wait(timeout=15) + except subprocess.TimeoutExpired:server.kill();server.wait() diff --git a/research-notes/smolvla-followup-20261104/runtime-full-pair/defaults-0-telemetry.jsonl b/research-notes/smolvla-followup-20261104/runtime-full-pair/defaults-0-telemetry.jsonl new file mode 100644 index 00000000..19ef8276 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/runtime-full-pair/defaults-0-telemetry.jsonl @@ -0,0 +1,24 @@ +{"time": 1793774583.1754408, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 11.32 W, [N/A], 210 MHz, 405 MHz, P8, 1873 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n"} +{"time": 1793774584.0323725, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 12.38 W, [N/A], 210 MHz, 405 MHz, P8, 1873 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774584.681206, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 21.82 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774585.3110876, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 21.85 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774585.967561, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 21.84 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774586.575694, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 22.03 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774587.2005775, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 21.88 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774587.7979956, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 21.90 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774588.4202938, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 21.93 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774589.0638719, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 22.29 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774589.7073324, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 21.84 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774590.3166652, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 21.85 W, [N/A], 1425 MHz, 7001 MHz, P0, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774590.9275994, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n61, 17.78 W, [N/A], 1425 MHz, 7001 MHz, P8, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774591.556737, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 14.58 W, [N/A], 315 MHz, 405 MHz, P8, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774592.2200735, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 12.65 W, [N/A], 247 MHz, 405 MHz, P8, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774592.8369784, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 12.52 W, [N/A], 225 MHz, 405 MHz, P8, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774593.4269438, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 12.33 W, [N/A], 210 MHz, 405 MHz, P8, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774594.0728133, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 13.05 W, [N/A], 210 MHz, 405 MHz, P8, 3770 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774594.8289144, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 19.04 W, [N/A], 210 MHz, 405 MHz, P8, 3894 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774595.4907126, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n60, 60.49 W, [N/A], 555 MHz, 810 MHz, P0, 3892 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774596.1429427, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n67, 84.89 W, [N/A], 1650 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774596.7793553, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 81.64 W, [N/A], 1732 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774597.3956306, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 80.92 W, [N/A], 1762 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} +{"time": 1793774598.0090237, "pid": 82475, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 86.21 W, [N/A], 1567 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82475, [Not Found], [N/A]\n"} diff --git a/research-notes/smolvla-followup-20261104/runtime-full-pair/defaults-1-telemetry.jsonl b/research-notes/smolvla-followup-20261104/runtime-full-pair/defaults-1-telemetry.jsonl new file mode 100644 index 00000000..c4673834 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/runtime-full-pair/defaults-1-telemetry.jsonl @@ -0,0 +1,7 @@ +{"time": 1793774607.9142168, "pid": 82734, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 36.60 W, [N/A], 1972 MHz, 7001 MHz, P0, 1873 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82734, [Not Found], [N/A]\n"} +{"time": 1793774608.576855, "pid": 82734, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 37.86 W, [N/A], 1972 MHz, 7001 MHz, P0, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82734, [Not Found], [N/A]\n"} +{"time": 1793774609.1763058, "pid": 82734, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 37.75 W, [N/A], 1972 MHz, 7001 MHz, P0, 3792 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82734, [Not Found], [N/A]\n"} +{"time": 1793774609.8057873, "pid": 82734, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 73.57 W, [N/A], 1425 MHz, 7001 MHz, P0, 3892 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82734, [Not Found], [N/A]\n"} +{"time": 1793774610.4621496, "pid": 82734, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 91.55 W, [N/A], 1777 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82734, [Not Found], [N/A]\n"} +{"time": 1793774611.0760553, "pid": 82734, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 96.28 W, [N/A], 1650 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82734, [Not Found], [N/A]\n"} +{"time": 1793774611.7475643, "pid": 82734, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n73, 89.04 W, [N/A], 1875 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82734, [Not Found], [N/A]\n"} diff --git a/research-notes/smolvla-followup-20261104/runtime-full-pair/defaults-2-telemetry.jsonl b/research-notes/smolvla-followup-20261104/runtime-full-pair/defaults-2-telemetry.jsonl new file mode 100644 index 00000000..265a9e9f --- /dev/null +++ b/research-notes/smolvla-followup-20261104/runtime-full-pair/defaults-2-telemetry.jsonl @@ -0,0 +1,7 @@ +{"time": 1793774612.469052, "pid": 82786, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n73, 37.25 W, [N/A], 1972 MHz, 7001 MHz, P0, 1873 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n82786, [Not Found], [N/A]\n23222, [Not Found], [N/A]\n"} +{"time": 1793774613.1826448, "pid": 82786, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 37.86 W, [N/A], 1972 MHz, 7001 MHz, P0, 3746 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n82786, [Not Found], [N/A]\n23222, [Not Found], [N/A]\n"} +{"time": 1793774613.9524434, "pid": 82786, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 54.37 W, [N/A], 1972 MHz, 7001 MHz, P0, 3866 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n82786, [Not Found], [N/A]\n23222, [Not Found], [N/A]\n"} +{"time": 1793774614.7308695, "pid": 82786, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 98.62 W, [N/A], 1702 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n82786, [Not Found], [N/A]\n23222, [Not Found], [N/A]\n"} +{"time": 1793774615.3504517, "pid": 82786, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n74, 108.15 W, [N/A], 1830 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n82786, [Not Found], [N/A]\n23222, [Not Found], [N/A]\n"} +{"time": 1793774616.090369, "pid": 82786, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n74, 101.29 W, [N/A], 1762 MHz, 7001 MHz, P0, 3944 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n82786, [Not Found], [N/A]\n23222, [Not Found], [N/A]\n"} +{"time": 1793774616.8568594, "pid": 82786, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n75, 39.81 W, [N/A], 1912 MHz, 7001 MHz, P0, 1873 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n"} diff --git a/research-notes/smolvla-followup-20261104/runtime-full-pair/flash-mm-0-telemetry.jsonl b/research-notes/smolvla-followup-20261104/runtime-full-pair/flash-mm-0-telemetry.jsonl new file mode 100644 index 00000000..30a552d3 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/runtime-full-pair/flash-mm-0-telemetry.jsonl @@ -0,0 +1,8 @@ +{"time": 1793774598.7283144, "pid": 82637, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 35.97 W, [N/A], 1980 MHz, 7001 MHz, P0, 1873 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n"} +{"time": 1793774599.3852336, "pid": 82637, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n65, 36.23 W, [N/A], 1980 MHz, 7001 MHz, P0, 2968 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82637, [Not Found], [N/A]\n"} +{"time": 1793774600.0090015, "pid": 82637, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n64, 36.55 W, [N/A], 1980 MHz, 7001 MHz, P0, 2968 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82637, [Not Found], [N/A]\n"} +{"time": 1793774600.625927, "pid": 82637, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 22.29 W, [N/A], 1425 MHz, 7001 MHz, P0, 2968 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82637, [Not Found], [N/A]\n"} +{"time": 1793774601.2619774, "pid": 82637, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n63, 41.68 W, [N/A], 1425 MHz, 7001 MHz, P0, 3046 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82637, [Not Found], [N/A]\n"} +{"time": 1793774601.8946998, "pid": 82637, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 94.02 W, [N/A], 1845 MHz, 7001 MHz, P0, 3108 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82637, [Not Found], [N/A]\n"} +{"time": 1793774602.5355484, "pid": 82637, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n70, 91.90 W, [N/A], 1822 MHz, 7001 MHz, P0, 3108 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82637, [Not Found], [N/A]\n"} +{"time": 1793774603.1377518, "pid": 82637, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n71, 89.67 W, [N/A], 1770 MHz, 7001 MHz, P0, 3108 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82637, [Not Found], [N/A]\n"} diff --git a/research-notes/smolvla-followup-20261104/runtime-full-pair/flash-mm-1-telemetry.jsonl b/research-notes/smolvla-followup-20261104/runtime-full-pair/flash-mm-1-telemetry.jsonl new file mode 100644 index 00000000..f16a17de --- /dev/null +++ b/research-notes/smolvla-followup-20261104/runtime-full-pair/flash-mm-1-telemetry.jsonl @@ -0,0 +1,6 @@ +{"time": 1793774603.8304517, "pid": 82690, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 36.66 W, [N/A], 1972 MHz, 7001 MHz, P0, 1873 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n"} +{"time": 1793774604.4591284, "pid": 82690, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 36.52 W, [N/A], 1972 MHz, 7001 MHz, P0, 2968 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82690, [Not Found], [N/A]\n"} +{"time": 1793774605.1323712, "pid": 82690, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n66, 43.63 W, [N/A], 1935 MHz, 7001 MHz, P0, 3046 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82690, [Not Found], [N/A]\n"} +{"time": 1793774605.8215203, "pid": 82690, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 94.46 W, [N/A], 1837 MHz, 7001 MHz, P0, 3108 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82690, [Not Found], [N/A]\n"} +{"time": 1793774606.5394576, "pid": 82690, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n72, 95.64 W, [N/A], 1830 MHz, 7001 MHz, P0, 3108 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82690, [Not Found], [N/A]\n"} +{"time": 1793774607.1784825, "pid": 82690, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n73, 97.61 W, [N/A], 1897 MHz, 7001 MHz, P0, 3108 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82690, [Not Found], [N/A]\n"} diff --git a/research-notes/smolvla-followup-20261104/runtime-full-pair/flash-mm-2-telemetry.jsonl b/research-notes/smolvla-followup-20261104/runtime-full-pair/flash-mm-2-telemetry.jsonl new file mode 100644 index 00000000..7e220275 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/runtime-full-pair/flash-mm-2-telemetry.jsonl @@ -0,0 +1,5 @@ +{"time": 1793774617.4951494, "pid": 82841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n69, 37.21 W, [N/A], 1972 MHz, 7001 MHz, P0, 1873 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82841, [Not Found], [N/A]\n"} +{"time": 1793774618.265105, "pid": 82841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 37.78 W, [N/A], 1972 MHz, 7001 MHz, P0, 2968 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82841, [Not Found], [N/A]\n"} +{"time": 1793774619.0279956, "pid": 82841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n68, 46.06 W, [N/A], 1972 MHz, 7001 MHz, P0, 3108 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82841, [Not Found], [N/A]\n"} +{"time": 1793774619.7102473, "pid": 82841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n73, 88.67 W, [N/A], 1777 MHz, 7001 MHz, P0, 3108 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82841, [Not Found], [N/A]\n"} +{"time": 1793774620.4867146, "pid": 82841, "gpu": "temperature.gpu, power.draw [W], power.limit [W], clocks.current.sm [MHz], clocks.current.memory [MHz], pstate, memory.used [MiB]\n74, 87.86 W, [N/A], 1777 MHz, 7001 MHz, P0, 3108 MiB\n", "processes": "pid, process_name, used_gpu_memory [MiB]\n23222, [Not Found], [N/A]\n82841, [Not Found], [N/A]\n"} diff --git a/research-notes/smolvla-followup-20261104/runtime-full-pair/runs.json b/research-notes/smolvla-followup-20261104/runtime-full-pair/runs.json new file mode 100644 index 00000000..2fbc09b5 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/runtime-full-pair/runs.json @@ -0,0 +1,155 @@ +[ + { + "variant": "defaults", + "trial": 0, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "min_ms": 116.7, + "mean_ms": 119.0, + "p50_ms": 119.1, + "p90_ms": 120.6, + "vision_ms": 57.5 + }, + { + "variant": "flash-mm", + "trial": 0, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--flash-attn", + "--mm-prec", + "default" + ], + "min_ms": 91.5, + "mean_ms": 92.4, + "p50_ms": 92.5, + "p90_ms": 93.0, + "vision_ms": 43.6 + }, + { + "variant": "flash-mm", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--flash-attn", + "--mm-prec", + "default" + ], + "min_ms": 90.8, + "mean_ms": 91.5, + "p50_ms": 91.5, + "p90_ms": 91.8, + "vision_ms": 43.2 + }, + { + "variant": "defaults", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "min_ms": 112.6, + "mean_ms": 113.9, + "p50_ms": 113.9, + "p90_ms": 115.4, + "vision_ms": 55.9 + }, + { + "variant": "defaults", + "trial": 2, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "min_ms": 112.5, + "mean_ms": 114.1, + "p50_ms": 114.1, + "p90_ms": 115.0, + "vision_ms": 56.1 + }, + { + "variant": "flash-mm", + "trial": 2, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--flash-attn", + "--mm-prec", + "default" + ], + "min_ms": 92.0, + "mean_ms": 93.3, + "p50_ms": 93.3, + "p90_ms": 94.2, + "vision_ms": 43.9 + } +] diff --git a/research-notes/smolvla-followup-20261104/runtime-full-pair/selected.json b/research-notes/smolvla-followup-20261104/runtime-full-pair/selected.json new file mode 100644 index 00000000..af59c68a --- /dev/null +++ b/research-notes/smolvla-followup-20261104/runtime-full-pair/selected.json @@ -0,0 +1,54 @@ +{ + "defaults": { + "variant": "defaults", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + "min_ms": 112.6, + "mean_ms": 113.9, + "p50_ms": 113.9, + "p90_ms": 115.4, + "vision_ms": 55.9 + }, + "flash-mm": { + "variant": "flash-mm", + "trial": 1, + "command": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20", + "--flash-attn", + "--mm-prec", + "default" + ], + "min_ms": 90.8, + "mean_ms": 91.5, + "p50_ms": 91.5, + "p90_ms": 91.8, + "vision_ms": 43.2 + }, + "relative_mean_change": -0.19666374012291488 +} diff --git a/research-notes/smolvla-followup-20261104/runtime-screen/bf16-flash.out b/research-notes/smolvla-followup-20261104/runtime-screen/bf16-flash.out new file mode 100644 index 00000000..1dd0efb5 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/runtime-screen/bf16-flash.out @@ -0,0 +1,1611 @@ +vla: arch = smolvla +vla: config = /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: [vram] weight_buf = 985.0 MiB +vla: [vram] after weights alloc used=2011.5 MiB free=4132.0 MiB (+986.0 MiB) +action_len=1600 +-0.0457559526 +0.0339802355 +0.111502834 +-0.0117579587 +-0.00135580776 +-0.000883548986 +-0.955991209 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.040827997 +0.00827029347 +0.17382437 +-0.00719170785 +-0.00337731279 +-0.00527227204 +-0.96822238 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0362288281 +0.00966183096 +0.180660367 +-0.00280226022 +-0.00207307655 +-0.00469839107 +-0.962905169 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0439981818 +0.0233869553 +0.18798849 +-0.00325583643 +-0.00416534673 +-0.00213301554 +-0.960130692 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0506991968 +0.031420175 +0.202271551 +-0.00275660586 +-0.00561250001 +-0.00199658284 +-0.961006939 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0479412749 +0.0401381813 +0.204068273 +-0.00413986342 +-0.00424497109 +-0.00164636225 +-0.953919232 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0520198047 +0.061464563 +0.1963422 +-0.00466970634 +-0.00420433097 +0.000130644068 +-0.959964097 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0569083095 +0.0743612647 +0.198711962 +-0.00418229774 +-0.00548386946 +0.000409256667 +-0.953709483 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0550536811 +0.0902627334 +0.199098527 +-0.00504728779 +-0.00400833879 +7.13858753e-07 +-0.954655468 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0565395728 +0.115378372 +0.188987792 +-0.00480638584 +-0.00343460031 +0.000500408001 +-0.959051847 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0610597804 +0.127600074 +0.174517065 +-0.00413404079 +-0.00411511771 +0.00130995363 +-0.956130564 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0610783622 +0.145629197 +0.161916405 +-0.00463420525 +-0.00262566842 +0.000796510372 +-0.955992937 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0625431761 +0.176748395 +0.148579657 +-0.00419642124 +-0.00257548969 +0.00071935961 +-0.962309599 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0670586303 +0.194849372 +0.136577278 +-0.00405656872 +-0.00328994077 +1.93170272e-05 +-0.959434271 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0666741654 +0.224624664 +0.12074887 +-0.0040560253 +-0.00171872415 +-0.000437814277 +-0.961009443 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.069744654 +0.240771934 +0.114692502 +-0.00370813673 +-0.00171906454 +-0.000406539999 +-0.962287247 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.075477086 +0.259817511 +0.104233943 +-0.00358468853 +-0.00233468413 +-0.001399684 +-0.958844543 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0752548054 +0.285756975 +0.094388403 +-0.0032294339 +-0.00187979685 +-0.00169981644 +-0.960575998 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0770889744 +0.301259458 +0.0854362324 +-0.00289519178 +-0.00246164203 +-0.00118727889 +-0.961915255 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0796350613 +0.317640781 +0.076779671 +-0.00308669638 +-0.00287822355 +-0.0020698884 +-0.959133208 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0823699012 +0.332318693 +0.0689103976 +-0.00265208352 +-0.00227904972 +-0.00296925148 +-0.961369693 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0868754759 +0.342653692 +0.0627027377 +-0.00253861607 +-0.00283584744 +-0.00237511564 +-0.960912406 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0927179083 +0.351376951 +0.0613641664 +-0.00237912731 +-0.00301202573 +-0.00329721812 +-0.952604115 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.093527101 +0.361577183 +0.0517779365 +-0.00252636056 +-0.00246452726 +-0.00357558951 +-0.956676185 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0981655195 +0.36839515 +0.04707212 +-0.00263673044 +-0.00319098122 +-0.00289331982 +-0.947040856 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101194464 +0.376439989 +0.0456961766 +-0.00243374612 +-0.00325157121 +-0.00374433678 +-0.950803399 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0987459347 +0.383755207 +0.0379055217 +-0.00244902307 +-0.00247802585 +-0.00436084997 +-0.956534922 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101919271 +0.385771811 +0.035118185 +-0.00255785603 +-0.00307738688 +-0.00378480041 +-0.950449049 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106131382 +0.38701269 +0.0271100178 +-0.00219601556 +-0.00296272989 +-0.00475786347 +-0.951493323 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.104716726 +0.392343849 +0.0160201341 +-0.00213983259 +-0.00230002962 +-0.00463804835 +-0.958075285 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107776187 +0.391649038 +0.0117305219 +-0.0024329077 +-0.00300060958 +-0.00532041909 +-0.952564776 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108522467 +0.390500337 +0.000908054411 +-0.00204161019 +-0.00289553311 +-0.00621103169 +-0.954882622 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107449211 +0.388032138 +-0.00936283916 +-0.00184033997 +-0.00208246987 +-0.00606844947 +-0.956645429 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109541051 +0.381261945 +-0.0128796175 +-0.00219255802 +-0.00263671018 +-0.00738354772 +-0.95344615 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110315897 +0.372756034 +-0.0195714459 +-0.00176321645 +-0.00218889769 +-0.00792900473 +-0.954042435 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109843858 +0.364387274 +-0.0281808972 +-0.00153597957 +-0.00234080292 +-0.00782136153 +-0.95637846 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110705368 +0.353801757 +-0.0324930102 +-0.00196509599 +-0.00286973175 +-0.0089279348 +-0.954504251 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110079981 +0.346058756 +-0.0392289758 +-0.00145552005 +-0.00217794534 +-0.0095647946 +-0.956361651 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115223043 +0.339946508 +-0.0485265069 +-0.00130177615 +-0.00239749905 +-0.00907981955 +-0.955769241 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117255963 +0.333613962 +-0.0499469489 +-0.00105424249 +-0.00277906191 +-0.0102090184 +-0.953036726 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.11754521 +0.326997519 +-0.0582288653 +-0.00136787351 +-0.00206679665 +-0.0107587734 +-0.956393003 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122285999 +0.323170871 +-0.0654848143 +-0.0013989415 +-0.00213300437 +-0.0102211367 +-0.958427072 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124548756 +0.314162195 +-0.0640555248 +-0.00102268998 +-0.00279238354 +-0.0109399417 +-0.95122242 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.121827327 +0.307063758 +-0.0716415197 +-0.00120746857 +-0.00172812166 +-0.0111809541 +-0.95509702 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124498062 +0.302292913 +-0.0757903159 +-0.00140188215 +-0.00217811484 +-0.0107184984 +-0.951319337 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125195026 +0.292132914 +-0.0823445842 +-0.000913676515 +-0.00229222234 +-0.0113899596 +-0.951386631 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122451179 +0.284929603 +-0.0897217989 +-0.00116312061 +-0.00142052257 +-0.0117037613 +-0.9567734 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125449955 +0.281951427 +-0.0916440263 +-0.00132771046 +-0.0018625115 +-0.0108993128 +-0.952547312 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126136929 +0.275062501 +-0.0964499637 +-0.000980549259 +-0.0019322997 +-0.0114502637 +-0.952749431 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125017673 +0.271692812 +-0.101590753 +-0.000946040673 +-0.000941936392 +-0.0110854208 +-0.953487515 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/runtime-screen/bf16.out b/research-notes/smolvla-followup-20261104/runtime-screen/bf16.out new file mode 100644 index 00000000..f8a067c2 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/runtime-screen/bf16.out @@ -0,0 +1,1611 @@ +vla: arch = smolvla +vla: config = /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: [vram] weight_buf = 985.0 MiB +vla: [vram] after weights alloc used=2011.5 MiB free=4132.0 MiB (+986.0 MiB) +action_len=1600 +-0.0459292755 +0.0341953859 +0.111380555 +-0.0117479227 +-0.00130276568 +-0.000827913638 +-0.955941021 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0409535393 +0.00839561969 +0.173567623 +-0.00718310522 +-0.00332403276 +-0.00521435356 +-0.968266487 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0364043266 +0.00978957117 +0.180259198 +-0.00279493257 +-0.00202238094 +-0.0046483581 +-0.963026881 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0441624671 +0.023518689 +0.187531054 +-0.00325232884 +-0.00412750989 +-0.00208654278 +-0.960187614 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0508211404 +0.0315208621 +0.20181182 +-0.00275587779 +-0.00556899048 +-0.00195607846 +-0.961035192 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0481168181 +0.0402021967 +0.203507304 +-0.00413073879 +-0.00420359522 +-0.00160450698 +-0.953900695 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0521454811 +0.0615724251 +0.195817262 +-0.00465205312 +-0.00416458305 +0.000179628842 +-0.960034311 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.057125546 +0.0744654909 +0.198190033 +-0.00416312972 +-0.00544448942 +0.000444445293 +-0.953751504 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0552474782 +0.0903604701 +0.198524803 +-0.00502330577 +-0.00397205632 +3.38288955e-05 +-0.954802036 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0567289963 +0.115455031 +0.188435823 +-0.00477811648 +-0.00339048635 +0.000540214125 +-0.959164679 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0611783862 +0.127692863 +0.173895508 +-0.00410703477 +-0.00407716725 +0.00132880453 +-0.956106663 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0613110363 +0.145774573 +0.161288112 +-0.00461252034 +-0.00258826744 +0.000812980812 +-0.95600611 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.062781252 +0.176988751 +0.147910476 +-0.00416984176 +-0.00253205653 +0.000739258248 +-0.962402582 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0673238859 +0.195170179 +0.135933816 +-0.00403788127 +-0.003237959 +4.04343009e-05 +-0.959477901 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0668527856 +0.225084648 +0.120072447 +-0.0040273997 +-0.00166392513 +-0.000405945349 +-0.961005986 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0699436739 +0.241317227 +0.114043958 +-0.00368076563 +-0.00166478707 +-0.000405153725 +-0.962355077 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0756761953 +0.260480165 +0.103559814 +-0.00356320431 +-0.00227724854 +-0.00139288907 +-0.958776832 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0754467174 +0.286450297 +0.0936303958 +-0.00320748542 +-0.001822263 +-0.00168756489 +-0.960526884 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0773755088 +0.301988751 +0.0847595707 +-0.00288008223 +-0.00241805892 +-0.00118877739 +-0.961845994 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0798752531 +0.318407148 +0.0761555657 +-0.00306809694 +-0.00281785056 +-0.00206404342 +-0.95898968 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0826331899 +0.333106905 +0.0682327375 +-0.00263386872 +-0.00221640337 +-0.00297755352 +-0.961342394 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0871713236 +0.343411654 +0.0620126054 +-0.00253051706 +-0.00279493257 +-0.00238397764 +-0.960875988 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.092976816 +0.352109134 +0.0607408509 +-0.00235187262 +-0.00296045095 +-0.00329686049 +-0.952581763 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.093807213 +0.362307757 +0.0511165038 +-0.00251081563 +-0.00242645387 +-0.00358932395 +-0.956782937 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0984461829 +0.369093657 +0.0464726016 +-0.00261871889 +-0.00314341299 +-0.00291383825 +-0.946969032 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101479776 +0.377058178 +0.0450695232 +-0.00241838838 +-0.003201182 +-0.00377047481 +-0.950872362 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0990167633 +0.384353131 +0.037363641 +-0.00243317173 +-0.00242845528 +-0.00437981309 +-0.956552923 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102177538 +0.386311293 +0.0345103815 +-0.002544221 +-0.0030117901 +-0.00380470371 +-0.950489223 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106403433 +0.387463868 +0.0265679583 +-0.00218085479 +-0.00290853903 +-0.00477884663 +-0.951434314 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.105015509 +0.392766267 +0.0153573379 +-0.00212678034 +-0.00224885065 +-0.00465536257 +-0.958195508 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108022906 +0.391944557 +0.0111999512 +-0.00242293393 +-0.00293609686 +-0.00536249205 +-0.95263207 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108865373 +0.390826315 +0.000375665724 +-0.00203082035 +-0.00283798017 +-0.00624960195 +-0.954785168 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107667826 +0.388228446 +-0.0100272 +-0.00182676874 +-0.00202763313 +-0.00610639714 +-0.956821442 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109844662 +0.381451666 +-0.0134500936 +-0.00217823964 +-0.00258272979 +-0.00741820689 +-0.953450382 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110522516 +0.372876585 +-0.0201391876 +-0.00174460351 +-0.00213477481 +-0.00796917826 +-0.954102814 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110060059 +0.364292622 +-0.0287230238 +-0.00152715109 +-0.00228315033 +-0.00785809103 +-0.956465125 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110937797 +0.353769422 +-0.0329893753 +-0.00195254176 +-0.00281237438 +-0.00897077285 +-0.954507887 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110322915 +0.345952839 +-0.0397435799 +-0.00144116464 +-0.00211623637 +-0.00960329548 +-0.956501842 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115415893 +0.33977586 +-0.0490987487 +-0.00129180541 +-0.00233923085 +-0.00911582634 +-0.95596838 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117474355 +0.333389163 +-0.0504915565 +-0.00103267585 +-0.00272229221 +-0.0102462918 +-0.953025699 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117742456 +0.326791644 +-0.0587476715 +-0.00135422638 +-0.00201040879 +-0.0107997879 +-0.956496358 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122484021 +0.322899699 +-0.0660447776 +-0.00138096581 +-0.00206982996 +-0.0102602234 +-0.958528638 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124809437 +0.313825309 +-0.0646588653 +-0.00100804283 +-0.00275041722 +-0.0109823123 +-0.951194048 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122059189 +0.306751162 +-0.0721061155 +-0.0011989153 +-0.00168106332 +-0.0112186484 +-0.95513612 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124723069 +0.301912069 +-0.0762959123 +-0.00139054796 +-0.00212712586 +-0.0107525066 +-0.951275766 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125362456 +0.29181993 +-0.0828018114 +-0.000905683322 +-0.00223303493 +-0.0114273224 +-0.951536 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122644015 +0.284579605 +-0.0901383907 +-0.00114992377 +-0.00137727242 +-0.0117503367 +-0.956807613 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125641465 +0.281635255 +-0.0920918733 +-0.00131616695 +-0.00180637464 +-0.0109490231 +-0.952611804 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126308501 +0.274704874 +-0.0969400108 +-0.000971565198 +-0.00187887205 +-0.0114795752 +-0.952839851 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.12516439 +0.271317273 +-0.102007307 +-0.000939435849 +-0.000883858185 +-0.0111095123 +-0.953489244 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/runtime-screen/commands.json b/research-notes/smolvla-followup-20261104/runtime-screen/commands.json new file mode 100644 index 00000000..579e3946 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/runtime-screen/commands.json @@ -0,0 +1,322 @@ +[ + { + "name": "defaults", + "command": [ + "./build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "2", + "--reps", + "5" + ] + }, + { + "name": "defaults-output", + "command": [ + "./build-cuda/tests/vla_predict_check", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "", + "2" + ], + "VLA_IMG_SIZE": "512" + }, + { + "name": "flash", + "command": [ + "./build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "2", + "--reps", + "5", + "--flash-attn" + ] + }, + { + "name": "flash-output", + "command": [ + "./build-cuda/tests/vla_predict_check", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "", + "2", + "--flash-attn" + ], + "VLA_IMG_SIZE": "512" + }, + { + "name": "mm-default", + "command": [ + "./build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "2", + "--reps", + "5", + "--mm-prec", + "default" + ] + }, + { + "name": "mm-default-output", + "command": [ + "./build-cuda/tests/vla_predict_check", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "", + "2", + "--mm-prec", + "default" + ], + "VLA_IMG_SIZE": "512" + }, + { + "name": "flash-mm", + "command": [ + "./build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "2", + "--reps", + "5", + "--flash-attn", + "--mm-prec", + "default" + ] + }, + { + "name": "flash-mm-output", + "command": [ + "./build-cuda/tests/vla_predict_check", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "", + "2", + "--flash-attn", + "--mm-prec", + "default" + ], + "VLA_IMG_SIZE": "512" + }, + { + "name": "bf16", + "command": [ + "./build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "2", + "--reps", + "5", + "--weight-dtype", + "bf16" + ] + }, + { + "name": "bf16-output", + "command": [ + "./build-cuda/tests/vla_predict_check", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "", + "2", + "--weight-dtype", + "bf16" + ], + "VLA_IMG_SIZE": "512" + }, + { + "name": "bf16-flash", + "command": [ + "./build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "2", + "--reps", + "5", + "--weight-dtype", + "bf16", + "--flash-attn" + ] + }, + { + "name": "bf16-flash-output", + "command": [ + "./build-cuda/tests/vla_predict_check", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "", + "2", + "--weight-dtype", + "bf16", + "--flash-attn" + ], + "VLA_IMG_SIZE": "512" + }, + { + "name": "f16", + "command": [ + "./build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "2", + "--reps", + "5", + "--weight-dtype", + "f16" + ] + }, + { + "name": "f16-output", + "command": [ + "./build-cuda/tests/vla_predict_check", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "", + "2", + "--weight-dtype", + "f16" + ], + "VLA_IMG_SIZE": "512" + }, + { + "name": "f16-flash", + "command": [ + "./build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "2", + "--reps", + "5", + "--weight-dtype", + "f16", + "--flash-attn" + ] + }, + { + "name": "f16-flash-output", + "command": [ + "./build-cuda/tests/vla_predict_check", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "", + "2", + "--weight-dtype", + "f16", + "--flash-attn" + ], + "VLA_IMG_SIZE": "512" + }, + { + "name": "steps-5", + "command": [ + "./build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "2", + "--reps", + "5", + "--num-steps", + "5" + ] + }, + { + "name": "steps-5-output", + "command": [ + "./build-cuda/tests/vla_predict_check", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "", + "2", + "--num-steps", + "5" + ], + "VLA_IMG_SIZE": "512" + }, + { + "name": "steps-3", + "command": [ + "./build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "2", + "--reps", + "5", + "--num-steps", + "3" + ] + }, + { + "name": "steps-3-output", + "command": [ + "./build-cuda/tests/vla_predict_check", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "", + "2", + "--num-steps", + "3" + ], + "VLA_IMG_SIZE": "512" + } +] diff --git a/research-notes/smolvla-followup-20261104/runtime-screen/defaults.out b/research-notes/smolvla-followup-20261104/runtime-screen/defaults.out new file mode 100644 index 00000000..16c9492c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/runtime-screen/defaults.out @@ -0,0 +1,1612 @@ +vla: arch = smolvla +vla: config = /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 416 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 1763.1 MiB +vla: [vram] after weights alloc used=2789.5 MiB free=3354.0 MiB (+1764.0 MiB) +action_len=1600 +-0.0459292755 +0.0341953859 +0.111380555 +-0.0117479227 +-0.00130276568 +-0.000827913638 +-0.955941021 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0409535393 +0.00839561969 +0.173567623 +-0.00718310522 +-0.00332403276 +-0.00521435356 +-0.968266487 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0364043266 +0.00978957117 +0.180259198 +-0.00279493257 +-0.00202238094 +-0.0046483581 +-0.963026881 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0441624671 +0.023518689 +0.187531054 +-0.00325232884 +-0.00412750989 +-0.00208654278 +-0.960187614 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0508211404 +0.0315208621 +0.20181182 +-0.00275587779 +-0.00556899048 +-0.00195607846 +-0.961035192 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0481168181 +0.0402021967 +0.203507304 +-0.00413073879 +-0.00420359522 +-0.00160450698 +-0.953900695 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0521454811 +0.0615724251 +0.195817262 +-0.00465205312 +-0.00416458305 +0.000179628842 +-0.960034311 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.057125546 +0.0744654909 +0.198190033 +-0.00416312972 +-0.00544448942 +0.000444445293 +-0.953751504 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0552474782 +0.0903604701 +0.198524803 +-0.00502330577 +-0.00397205632 +3.38288955e-05 +-0.954802036 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0567289963 +0.115455031 +0.188435823 +-0.00477811648 +-0.00339048635 +0.000540214125 +-0.959164679 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0611783862 +0.127692863 +0.173895508 +-0.00410703477 +-0.00407716725 +0.00132880453 +-0.956106663 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0613110363 +0.145774573 +0.161288112 +-0.00461252034 +-0.00258826744 +0.000812980812 +-0.95600611 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.062781252 +0.176988751 +0.147910476 +-0.00416984176 +-0.00253205653 +0.000739258248 +-0.962402582 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0673238859 +0.195170179 +0.135933816 +-0.00403788127 +-0.003237959 +4.04343009e-05 +-0.959477901 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0668527856 +0.225084648 +0.120072447 +-0.0040273997 +-0.00166392513 +-0.000405945349 +-0.961005986 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0699436739 +0.241317227 +0.114043958 +-0.00368076563 +-0.00166478707 +-0.000405153725 +-0.962355077 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0756761953 +0.260480165 +0.103559814 +-0.00356320431 +-0.00227724854 +-0.00139288907 +-0.958776832 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0754467174 +0.286450297 +0.0936303958 +-0.00320748542 +-0.001822263 +-0.00168756489 +-0.960526884 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0773755088 +0.301988751 +0.0847595707 +-0.00288008223 +-0.00241805892 +-0.00118877739 +-0.961845994 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0798752531 +0.318407148 +0.0761555657 +-0.00306809694 +-0.00281785056 +-0.00206404342 +-0.95898968 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0826331899 +0.333106905 +0.0682327375 +-0.00263386872 +-0.00221640337 +-0.00297755352 +-0.961342394 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0871713236 +0.343411654 +0.0620126054 +-0.00253051706 +-0.00279493257 +-0.00238397764 +-0.960875988 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.092976816 +0.352109134 +0.0607408509 +-0.00235187262 +-0.00296045095 +-0.00329686049 +-0.952581763 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.093807213 +0.362307757 +0.0511165038 +-0.00251081563 +-0.00242645387 +-0.00358932395 +-0.956782937 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0984461829 +0.369093657 +0.0464726016 +-0.00261871889 +-0.00314341299 +-0.00291383825 +-0.946969032 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101479776 +0.377058178 +0.0450695232 +-0.00241838838 +-0.003201182 +-0.00377047481 +-0.950872362 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0990167633 +0.384353131 +0.037363641 +-0.00243317173 +-0.00242845528 +-0.00437981309 +-0.956552923 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102177538 +0.386311293 +0.0345103815 +-0.002544221 +-0.0030117901 +-0.00380470371 +-0.950489223 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106403433 +0.387463868 +0.0265679583 +-0.00218085479 +-0.00290853903 +-0.00477884663 +-0.951434314 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.105015509 +0.392766267 +0.0153573379 +-0.00212678034 +-0.00224885065 +-0.00465536257 +-0.958195508 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108022906 +0.391944557 +0.0111999512 +-0.00242293393 +-0.00293609686 +-0.00536249205 +-0.95263207 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108865373 +0.390826315 +0.000375665724 +-0.00203082035 +-0.00283798017 +-0.00624960195 +-0.954785168 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107667826 +0.388228446 +-0.0100272 +-0.00182676874 +-0.00202763313 +-0.00610639714 +-0.956821442 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109844662 +0.381451666 +-0.0134500936 +-0.00217823964 +-0.00258272979 +-0.00741820689 +-0.953450382 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110522516 +0.372876585 +-0.0201391876 +-0.00174460351 +-0.00213477481 +-0.00796917826 +-0.954102814 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110060059 +0.364292622 +-0.0287230238 +-0.00152715109 +-0.00228315033 +-0.00785809103 +-0.956465125 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110937797 +0.353769422 +-0.0329893753 +-0.00195254176 +-0.00281237438 +-0.00897077285 +-0.954507887 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110322915 +0.345952839 +-0.0397435799 +-0.00144116464 +-0.00211623637 +-0.00960329548 +-0.956501842 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115415893 +0.33977586 +-0.0490987487 +-0.00129180541 +-0.00233923085 +-0.00911582634 +-0.95596838 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117474355 +0.333389163 +-0.0504915565 +-0.00103267585 +-0.00272229221 +-0.0102462918 +-0.953025699 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117742456 +0.326791644 +-0.0587476715 +-0.00135422638 +-0.00201040879 +-0.0107997879 +-0.956496358 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122484021 +0.322899699 +-0.0660447776 +-0.00138096581 +-0.00206982996 +-0.0102602234 +-0.958528638 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124809437 +0.313825309 +-0.0646588653 +-0.00100804283 +-0.00275041722 +-0.0109823123 +-0.951194048 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122059189 +0.306751162 +-0.0721061155 +-0.0011989153 +-0.00168106332 +-0.0112186484 +-0.95513612 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124723069 +0.301912069 +-0.0762959123 +-0.00139054796 +-0.00212712586 +-0.0107525066 +-0.951275766 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125362456 +0.29181993 +-0.0828018114 +-0.000905683322 +-0.00223303493 +-0.0114273224 +-0.951536 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122644015 +0.284579605 +-0.0901383907 +-0.00114992377 +-0.00137727242 +-0.0117503367 +-0.956807613 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125641465 +0.281635255 +-0.0920918733 +-0.00131616695 +-0.00180637464 +-0.0109490231 +-0.952611804 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126308501 +0.274704874 +-0.0969400108 +-0.000971565198 +-0.00187887205 +-0.0114795752 +-0.952839851 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.12516439 +0.271317273 +-0.102007307 +-0.000939435849 +-0.000883858185 +-0.0111095123 +-0.953489244 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/runtime-screen/f16-flash.out b/research-notes/smolvla-followup-20261104/runtime-screen/f16-flash.out new file mode 100644 index 00000000..09d1a7b3 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/runtime-screen/f16-flash.out @@ -0,0 +1,1611 @@ +vla: arch = smolvla +vla: config = /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as f16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: [vram] weight_buf = 985.0 MiB +vla: [vram] after weights alloc used=2011.5 MiB free=4132.0 MiB (+986.0 MiB) +action_len=1600 +-0.0459316894 +0.0340151265 +0.111082397 +-0.011721828 +-0.00134167587 +-0.000886346679 +-0.956186354 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0409784243 +0.00825899839 +0.17324844 +-0.00715625565 +-0.00336838793 +-0.00526791578 +-0.968371868 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0364099145 +0.00964985043 +0.179917991 +-0.00278288894 +-0.0020659524 +-0.00470353803 +-0.963045657 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0441062525 +0.0233429372 +0.187252641 +-0.0032365364 +-0.00416967738 +-0.00214863848 +-0.960352421 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0508157536 +0.0314524658 +0.201502293 +-0.00274342508 +-0.00561874639 +-0.00203080033 +-0.961034238 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0480390415 +0.0399997421 +0.203268558 +-0.00411762157 +-0.00424452033 +-0.00168083096 +-0.953967392 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0521097332 +0.0613855049 +0.195609897 +-0.00463880925 +-0.00421350915 +0.000102522317 +-0.960016847 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0570629314 +0.0742666796 +0.198034495 +-0.00416394044 +-0.00549390726 +0.000374041032 +-0.953699231 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0551466569 +0.0901209861 +0.19849211 +-0.0050210543 +-0.00402075052 +-5.60698099e-05 +-0.9547804 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0565983653 +0.115274146 +0.188345581 +-0.00477921916 +-0.00343890116 +0.000444269739 +-0.959153414 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0611500442 +0.127498269 +0.173868954 +-0.00411261944 +-0.00412304141 +0.00123904366 +-0.956185579 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0611903965 +0.145577639 +0.161303073 +-0.00461045606 +-0.00262305327 +0.00072216196 +-0.95592314 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0626799837 +0.176834956 +0.147971153 +-0.00417313585 +-0.00258282106 +0.000644769985 +-0.962460756 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0671619698 +0.195000052 +0.135965943 +-0.00403762376 +-0.0032840427 +-6.03622757e-05 +-0.959539771 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0667362139 +0.224934891 +0.120020963 +-0.00402808189 +-0.00172086107 +-0.000509337056 +-0.961004913 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0698299184 +0.241204336 +0.114016362 +-0.00368126994 +-0.00172043685 +-0.000498098787 +-0.962415218 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0755460039 +0.260436952 +0.103571676 +-0.00356993172 +-0.00233586784 +-0.00148337428 +-0.958847165 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0752846822 +0.286482006 +0.0936468318 +-0.00320792967 +-0.00188330468 +-0.00179331796 +-0.960532904 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.077234067 +0.302116215 +0.0847347453 +-0.00288068666 +-0.00247396156 +-0.00128129357 +-0.96189034 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0797135308 +0.318540096 +0.076058425 +-0.00306799822 +-0.00287830643 +-0.00216371869 +-0.959048569 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0825125501 +0.333382964 +0.0682201907 +-0.00262890547 +-0.00228086859 +-0.00307055097 +-0.961507738 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0870061293 +0.343777627 +0.0620377138 +-0.00251993211 +-0.00284020323 +-0.00248204358 +-0.961004138 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0928547159 +0.352627009 +0.0607177541 +-0.00235218485 +-0.00301886816 +-0.00341107952 +-0.952648938 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0936982408 +0.362805396 +0.0510648862 +-0.00250649406 +-0.00248124637 +-0.00368731888 +-0.956699908 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0983345583 +0.369698733 +0.0464449301 +-0.00261733565 +-0.003217455 +-0.00300622755 +-0.947072923 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101368822 +0.377712041 +0.0450200662 +-0.00240589166 +-0.00326560065 +-0.00386585714 +-0.950917661 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0988995358 +0.385079354 +0.037312977 +-0.00243381876 +-0.00248964969 +-0.00449218182 +-0.956656396 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102074139 +0.387068003 +0.0344286039 +-0.00253770524 +-0.00307829026 +-0.00390699925 +-0.950479031 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106323101 +0.388340175 +0.0264218748 +-0.00217255973 +-0.00297433604 +-0.00488658529 +-0.951423764 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.104865842 +0.393702835 +0.0154251382 +-0.00211470155 +-0.00231930986 +-0.00476194592 +-0.958158314 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107905678 +0.392910838 +0.0112112761 +-0.00241053593 +-0.00300272461 +-0.00545807742 +-0.952614844 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108691372 +0.39183253 +0.000304400921 +-0.00202140072 +-0.00290582702 +-0.00635130657 +-0.954796553 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107503779 +0.389296383 +-0.00992890447 +-0.00182301505 +-0.00208669156 +-0.00620921701 +-0.956808388 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109622739 +0.382503748 +-0.0135006681 +-0.00217306498 +-0.00264685322 +-0.0075223553 +-0.953359663 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110403351 +0.373937994 +-0.0201817676 +-0.00173726422 +-0.00220980495 +-0.00808629766 +-0.954071343 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109868191 +0.365415603 +-0.0287966505 +-0.00151680666 +-0.00235560257 +-0.00797616225 +-0.956547976 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110773005 +0.354872674 +-0.0330679305 +-0.00194433285 +-0.00288305152 +-0.00908648036 +-0.954571486 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110163398 +0.347132981 +-0.0397764929 +-0.00142845768 +-0.00218916126 +-0.0097240191 +-0.956523001 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.11522425 +0.340991735 +-0.0491165742 +-0.00128203281 +-0.0024094684 +-0.0092416089 +-0.955922365 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117360316 +0.334526598 +-0.0505077802 +-0.00102760224 +-0.00279228017 +-0.0103757847 +-0.952990592 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117590956 +0.327939034 +-0.0587591156 +-0.00135215651 +-0.0020722216 +-0.010930106 +-0.956547081 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122366391 +0.324049056 +-0.0660625845 +-0.00138221239 +-0.00214308966 +-0.0103879943 +-0.958544254 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124664284 +0.314974725 +-0.0646818429 +-0.00100936322 +-0.00281284936 +-0.0111007728 +-0.951282203 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.121912353 +0.307830304 +-0.0722259134 +-0.00119078439 +-0.00174100883 +-0.0113365948 +-0.955169082 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124626018 +0.302906871 +-0.076308623 +-0.001387008 +-0.00219204649 +-0.0108801415 +-0.951362252 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125287503 +0.292845905 +-0.0828108042 +-0.000898834027 +-0.00230150018 +-0.011551531 +-0.951471806 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122517444 +0.285609603 +-0.0902148113 +-0.00114961271 +-0.00143495109 +-0.0118611827 +-0.956969082 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125547409 +0.282563865 +-0.0921489596 +-0.00131160161 +-0.00187185546 +-0.0110605676 +-0.952705026 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126162201 +0.275653124 +-0.0969738066 +-0.000969627697 +-0.00194829097 +-0.0116119422 +-0.952894568 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125085473 +0.27223295 +-0.102100194 +-0.000931139395 +-0.000956309494 +-0.0112431748 +-0.953574419 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/runtime-screen/f16.out b/research-notes/smolvla-followup-20261104/runtime-screen/f16.out new file mode 100644 index 00000000..dd12c380 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/runtime-screen/f16.out @@ -0,0 +1,1611 @@ +vla: arch = smolvla +vla: config = /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as f16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: [vram] weight_buf = 985.0 MiB +vla: [vram] after weights alloc used=2011.5 MiB free=4132.0 MiB (+986.0 MiB) +action_len=1600 +-0.0457724407 +0.0340921246 +0.112180956 +-0.0117847566 +-0.00130496919 +-0.000844099559 +-0.956101596 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0407886356 +0.00840540975 +0.174450874 +-0.00720932893 +-0.00332922116 +-0.0052222074 +-0.968385458 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0362225994 +0.00980173796 +0.181169778 +-0.00280504022 +-0.00202018581 +-0.00464653037 +-0.963000476 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0439955294 +0.0235842839 +0.188505977 +-0.00325433235 +-0.00412674714 +-0.00208777492 +-0.960316896 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0507251844 +0.0316126384 +0.202692121 +-0.00275583542 +-0.00557158701 +-0.00194860972 +-0.961010516 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0480200574 +0.0402848311 +0.204360992 +-0.00413312018 +-0.00420601107 +-0.00160646718 +-0.954028666 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0520886257 +0.0616194531 +0.19658944 +-0.00466032512 +-0.00416200608 +0.000184124801 +-0.960034311 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.057014443 +0.0746042952 +0.198851794 +-0.00417300453 +-0.0054461481 +0.000459594652 +-0.953790784 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0552205145 +0.0905049443 +0.199146539 +-0.00503268093 +-0.00397643074 +4.67561185e-05 +-0.954888105 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0566923395 +0.115765214 +0.188974172 +-0.00478882995 +-0.00339011382 +0.000546165276 +-0.959255338 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0612224117 +0.1278923 +0.174330324 +-0.00411875872 +-0.00408289023 +0.00133756129 +-0.956237376 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0613215342 +0.146089956 +0.161652267 +-0.00461931014 +-0.00258179381 +0.000825296156 +-0.956053734 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0628147647 +0.177375227 +0.148164332 +-0.00418340275 +-0.00252650864 +0.000755214132 +-0.962489367 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0673033372 +0.195551217 +0.136188984 +-0.00403905474 +-0.00324791856 +4.14284877e-05 +-0.959687352 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0669087991 +0.225492254 +0.120141469 +-0.00403157668 +-0.00166975055 +-0.000403097365 +-0.961163938 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0699985996 +0.241811872 +0.114135124 +-0.00368317915 +-0.00166966859 +-0.000390630681 +-0.962528348 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0756960437 +0.261011362 +0.103550799 +-0.00356580317 +-0.00228217151 +-0.00138351112 +-0.958896697 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0754682645 +0.287024975 +0.0936859176 +-0.00321130501 +-0.0018341979 +-0.00169865438 +-0.960668981 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0774197057 +0.302574039 +0.0847335085 +-0.00288357073 +-0.00242740475 +-0.00118545629 +-0.961997688 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0798764601 +0.318957806 +0.0760594532 +-0.00306861266 +-0.00283293147 +-0.00207410124 +-0.959168673 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0826735571 +0.333769143 +0.0681886002 +-0.00263242004 +-0.00223374926 +-0.00297303451 +-0.961459577 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0871665254 +0.344099939 +0.0619374141 +-0.00252671028 +-0.0028037494 +-0.0023826533 +-0.961045146 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0930205658 +0.352843016 +0.0605512187 +-0.00235597137 +-0.00297439285 +-0.00331763085 +-0.952667832 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0938422158 +0.363059312 +0.0509438291 +-0.00251438562 +-0.00244629197 +-0.00359349931 +-0.956890106 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0985323861 +0.369830787 +0.0463387147 +-0.00262323022 +-0.00316886976 +-0.0029147442 +-0.946974337 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101525061 +0.377803832 +0.0448908433 +-0.00241919071 +-0.00322176795 +-0.00378194032 +-0.950980842 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0991093442 +0.385146171 +0.0371394679 +-0.00243598828 +-0.0024464773 +-0.0043965755 +-0.956683278 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102272756 +0.387093723 +0.0343185961 +-0.00254083471 +-0.00303516537 +-0.00382985524 +-0.950541556 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106507905 +0.388266057 +0.0263028219 +-0.00217862264 +-0.00291403849 +-0.00479934271 +-0.951463342 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.105051048 +0.393549472 +0.0152724907 +-0.00212864089 +-0.00225709751 +-0.00467732036 +-0.958154202 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108081646 +0.392748892 +0.0109913796 +-0.00242211553 +-0.00295573194 +-0.00537453918 +-0.952782869 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108842067 +0.391594619 +0.000123009086 +-0.00202672253 +-0.00285689067 +-0.00626988616 +-0.954915226 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107733063 +0.388955712 +-0.0101534948 +-0.00182452612 +-0.00203973986 +-0.00613053469 +-0.956889093 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109844364 +0.382134527 +-0.0136682764 +-0.00217733555 +-0.00259358622 +-0.00743701216 +-0.953408122 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.11061459 +0.373563141 +-0.0203811526 +-0.0017489884 +-0.00216074614 +-0.00799131952 +-0.954110801 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110118739 +0.364999712 +-0.0289798193 +-0.00152054755 +-0.0023000082 +-0.00789476 +-0.956519544 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110985883 +0.354357988 +-0.0333445296 +-0.00195002928 +-0.00283228792 +-0.0090101324 +-0.954670966 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110356726 +0.346652806 +-0.0399869941 +-0.00143982656 +-0.00212737592 +-0.0096362764 +-0.956361532 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115443356 +0.340474933 +-0.0493123718 +-0.00128850178 +-0.00235524215 +-0.00915754307 +-0.955998957 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117565967 +0.334068418 +-0.0507556796 +-0.00103812362 +-0.00272798818 +-0.0102752792 +-0.953049719 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117823832 +0.327410042 +-0.0589741841 +-0.00135519658 +-0.00202577794 +-0.0108524915 +-0.956423998 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122565843 +0.32352227 +-0.0662772283 +-0.00137842703 +-0.00208867481 +-0.0103013227 +-0.958646834 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124902077 +0.314404249 +-0.0648615286 +-0.00100756739 +-0.00275811274 +-0.0110306339 +-0.951366365 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122105189 +0.307281852 +-0.0724599361 +-0.00119804661 +-0.00169821875 +-0.0112570515 +-0.95518434 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124819525 +0.302487791 +-0.0766004547 +-0.00139682717 +-0.00214581657 +-0.0108044297 +-0.951362312 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125488728 +0.292345881 +-0.0829865038 +-0.000905304623 +-0.00225929171 +-0.0114857256 +-0.95163703 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122747205 +0.285167128 +-0.0903504863 +-0.00114851608 +-0.00139389979 +-0.0117892828 +-0.956893086 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125733465 +0.282152414 +-0.0922837928 +-0.00131334155 +-0.00184012949 +-0.0109889088 +-0.952705085 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126418829 +0.27515167 +-0.09718512 +-0.000968973094 +-0.00190835213 +-0.011529468 +-0.952769101 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125285029 +0.271749318 +-0.102241479 +-0.000930018665 +-0.000916837715 +-0.0111700129 +-0.953575432 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/runtime-screen/flash-mm.out b/research-notes/smolvla-followup-20261104/runtime-screen/flash-mm.out new file mode 100644 index 00000000..a6940f03 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/runtime-screen/flash-mm.out @@ -0,0 +1,1611 @@ +vla: arch = smolvla +vla: config = /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: [vram] weight_buf = 985.0 MiB +vla: [vram] after weights alloc used=2011.5 MiB free=4132.0 MiB (+986.0 MiB) +action_len=1600 +-0.0464000255 +0.0340551659 +0.110990308 +-0.0117715877 +-0.0013827947 +-0.000799478963 +-0.956473529 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.04134994 +0.00809901208 +0.173498929 +-0.00722194556 +-0.00340186525 +-0.00517664989 +-0.968564093 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.036777921 +0.00974227488 +0.180387199 +-0.00283011561 +-0.00207959488 +-0.00460273819 +-0.96298331 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0445779115 +0.0232077092 +0.187888086 +-0.00327085913 +-0.00418783166 +-0.00205874047 +-0.960477233 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0511960685 +0.031567663 +0.202072501 +-0.00277388562 +-0.00563737378 +-0.00190785131 +-0.960838079 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0484330207 +0.0399987511 +0.203865737 +-0.00415642234 +-0.00426462665 +-0.00156533392 +-0.953376353 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0525100753 +0.0613571368 +0.196237057 +-0.00465707202 +-0.00421903748 +0.000238850713 +-0.959890664 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0575715005 +0.0741821229 +0.198608547 +-0.00416748459 +-0.0054763956 +0.000477418769 +-0.95331198 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0553398654 +0.0900718868 +0.198886812 +-0.00504184747 +-0.0040401211 +7.84806907e-05 +-0.954835773 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0571667999 +0.115113541 +0.188854486 +-0.00476844143 +-0.00346049666 +0.000597782433 +-0.959138989 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0618005395 +0.127236813 +0.174427986 +-0.00412497669 +-0.00412352011 +0.00139402645 +-0.956301987 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0615859777 +0.14490813 +0.161745191 +-0.00462421589 +-0.00263014901 +0.000928785652 +-0.956069171 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0630528554 +0.175950259 +0.148421317 +-0.00419028243 +-0.00259212498 +0.00079114316 +-0.962303698 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0676777139 +0.193733007 +0.136485428 +-0.00405405182 +-0.00328893028 +9.91094857e-05 +-0.959772766 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.067102693 +0.223136902 +0.120741583 +-0.00404720195 +-0.00172042521 +-0.000320192892 +-0.960704386 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0701882467 +0.239326507 +0.114455156 +-0.00369849149 +-0.00172971375 +-0.000302224886 +-0.962669015 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0757648274 +0.258123666 +0.10427054 +-0.00358371483 +-0.00234798528 +-0.00128672644 +-0.958236158 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0757167265 +0.284030616 +0.0942897275 +-0.00323554385 +-0.00189883215 +-0.00158677064 +-0.960688531 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0775682554 +0.299432635 +0.0854624286 +-0.00289324741 +-0.00247035548 +-0.00113459071 +-0.961607635 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0800856277 +0.315791965 +0.077017732 +-0.00310206343 +-0.0028708959 +-0.00192681723 +-0.958999097 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0825687572 +0.330364406 +0.069032751 +-0.00264721364 +-0.00224867463 +-0.00286865258 +-0.961318135 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0874012187 +0.340717942 +0.0625353977 +-0.00250963075 +-0.00285198167 +-0.00227271114 +-0.961087286 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0932188407 +0.349341989 +0.061457254 +-0.00238512876 +-0.00300364755 +-0.00314605725 +-0.952486455 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0940390453 +0.359710306 +0.0519986823 +-0.00253621559 +-0.00247317273 +-0.00354212755 +-0.957162261 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0985609517 +0.366474897 +0.0470384434 +-0.00261828885 +-0.00321471505 +-0.00280477619 +-0.947342694 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101657636 +0.374814838 +0.0455517098 +-0.00241885264 +-0.00325916428 +-0.00368678989 +-0.951068819 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0993007794 +0.382303149 +0.0379577205 +-0.00243799947 +-0.00249351189 +-0.00424199924 +-0.956688881 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102333106 +0.384423494 +0.035259001 +-0.00252811727 +-0.00308145955 +-0.00365823996 +-0.950655997 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106565021 +0.385433584 +0.0273104161 +-0.00217866106 +-0.00295587443 +-0.00462636491 +-0.951530218 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.10520006 +0.391010046 +0.0161383078 +-0.00213657529 +-0.00230844878 +-0.00452358834 +-0.95867753 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108510323 +0.390433729 +0.011862956 +-0.00244282209 +-0.00301127881 +-0.00522113312 +-0.952792108 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108928896 +0.389475673 +0.00110503286 +-0.0020419592 +-0.00291846693 +-0.00615241658 +-0.954628289 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108029984 +0.386906147 +-0.00929249823 +-0.00182605092 +-0.0020932341 +-0.00594528392 +-0.95656991 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110213257 +0.380230755 +-0.0127682537 +-0.00217404892 +-0.00265924539 +-0.00730654411 +-0.953423798 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110784404 +0.371919006 +-0.0194263756 +-0.00175764388 +-0.00214087451 +-0.00783031248 +-0.954275668 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110163338 +0.363364071 +-0.0281287879 +-0.00154346856 +-0.00229945499 +-0.00775149278 +-0.956515551 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.111362167 +0.353081644 +-0.0325511545 +-0.00195985171 +-0.00286570936 +-0.00879007298 +-0.954426885 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110592119 +0.34520793 +-0.0393792093 +-0.00146284373 +-0.00215090532 +-0.00945219398 +-0.956197321 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115757294 +0.339333057 +-0.0486675985 +-0.00128770643 +-0.00236489903 +-0.0089887483 +-0.956040561 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117830776 +0.332626998 +-0.050307665 +-0.00103915227 +-0.00277773757 +-0.0100848936 +-0.953105211 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.118127294 +0.325992167 +-0.0582503118 +-0.00135779381 +-0.00205294276 +-0.0106585659 +-0.956650615 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122887991 +0.322497249 +-0.0654410794 +-0.00138329389 +-0.00206972053 +-0.0101160854 +-0.958295465 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125303984 +0.313508868 +-0.0639750957 +-0.000984954648 +-0.0027717948 +-0.0108194053 +-0.951281667 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122727729 +0.306291759 +-0.0716999173 +-0.00121143437 +-0.00169312675 +-0.0110969432 +-0.95532912 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125449538 +0.301688313 +-0.0760119781 +-0.00138896029 +-0.00214147428 +-0.0105832815 +-0.951600909 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126002491 +0.291474432 +-0.0827243105 +-0.000902853499 +-0.00226099044 +-0.0112220477 +-0.951747477 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.123226024 +0.284409642 +-0.0898036659 +-0.00115231681 +-0.00141940359 +-0.0115774497 +-0.956648827 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126339614 +0.281504571 +-0.0920593068 +-0.00133272447 +-0.00185541902 +-0.0108033186 +-0.952897191 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126737386 +0.274339795 +-0.096792087 +-0.000979183475 +-0.00186657533 +-0.0113369543 +-0.952970386 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125874966 +0.27072522 +-0.101609483 +-0.000944802363 +-0.000871719792 +-0.0109815262 +-0.953795314 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/runtime-screen/flash.out b/research-notes/smolvla-followup-20261104/runtime-screen/flash.out new file mode 100644 index 00000000..b6a10477 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/runtime-screen/flash.out @@ -0,0 +1,1612 @@ +vla: arch = smolvla +vla: config = /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 416 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 1763.1 MiB +vla: [vram] after weights alloc used=2789.5 MiB free=3354.0 MiB (+1764.0 MiB) +action_len=1600 +-0.0457559526 +0.0339802355 +0.111502834 +-0.0117579587 +-0.00135580776 +-0.000883548986 +-0.955991209 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.040827997 +0.00827029347 +0.17382437 +-0.00719170785 +-0.00337731279 +-0.00527227204 +-0.96822238 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0362288281 +0.00966183096 +0.180660367 +-0.00280226022 +-0.00207307655 +-0.00469839107 +-0.962905169 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0439981818 +0.0233869553 +0.18798849 +-0.00325583643 +-0.00416534673 +-0.00213301554 +-0.960130692 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0506991968 +0.031420175 +0.202271551 +-0.00275660586 +-0.00561250001 +-0.00199658284 +-0.961006939 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0479412749 +0.0401381813 +0.204068273 +-0.00413986342 +-0.00424497109 +-0.00164636225 +-0.953919232 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0520198047 +0.061464563 +0.1963422 +-0.00466970634 +-0.00420433097 +0.000130644068 +-0.959964097 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0569083095 +0.0743612647 +0.198711962 +-0.00418229774 +-0.00548386946 +0.000409256667 +-0.953709483 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0550536811 +0.0902627334 +0.199098527 +-0.00504728779 +-0.00400833879 +7.13858753e-07 +-0.954655468 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0565395728 +0.115378372 +0.188987792 +-0.00480638584 +-0.00343460031 +0.000500408001 +-0.959051847 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0610597804 +0.127600074 +0.174517065 +-0.00413404079 +-0.00411511771 +0.00130995363 +-0.956130564 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0610783622 +0.145629197 +0.161916405 +-0.00463420525 +-0.00262566842 +0.000796510372 +-0.955992937 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0625431761 +0.176748395 +0.148579657 +-0.00419642124 +-0.00257548969 +0.00071935961 +-0.962309599 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0670586303 +0.194849372 +0.136577278 +-0.00405656872 +-0.00328994077 +1.93170272e-05 +-0.959434271 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0666741654 +0.224624664 +0.12074887 +-0.0040560253 +-0.00171872415 +-0.000437814277 +-0.961009443 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.069744654 +0.240771934 +0.114692502 +-0.00370813673 +-0.00171906454 +-0.000406539999 +-0.962287247 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.075477086 +0.259817511 +0.104233943 +-0.00358468853 +-0.00233468413 +-0.001399684 +-0.958844543 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0752548054 +0.285756975 +0.094388403 +-0.0032294339 +-0.00187979685 +-0.00169981644 +-0.960575998 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0770889744 +0.301259458 +0.0854362324 +-0.00289519178 +-0.00246164203 +-0.00118727889 +-0.961915255 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0796350613 +0.317640781 +0.076779671 +-0.00308669638 +-0.00287822355 +-0.0020698884 +-0.959133208 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0823699012 +0.332318693 +0.0689103976 +-0.00265208352 +-0.00227904972 +-0.00296925148 +-0.961369693 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0868754759 +0.342653692 +0.0627027377 +-0.00253861607 +-0.00283584744 +-0.00237511564 +-0.960912406 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0927179083 +0.351376951 +0.0613641664 +-0.00237912731 +-0.00301202573 +-0.00329721812 +-0.952604115 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.093527101 +0.361577183 +0.0517779365 +-0.00252636056 +-0.00246452726 +-0.00357558951 +-0.956676185 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0981655195 +0.36839515 +0.04707212 +-0.00263673044 +-0.00319098122 +-0.00289331982 +-0.947040856 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101194464 +0.376439989 +0.0456961766 +-0.00243374612 +-0.00325157121 +-0.00374433678 +-0.950803399 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0987459347 +0.383755207 +0.0379055217 +-0.00244902307 +-0.00247802585 +-0.00436084997 +-0.956534922 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101919271 +0.385771811 +0.035118185 +-0.00255785603 +-0.00307738688 +-0.00378480041 +-0.950449049 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106131382 +0.38701269 +0.0271100178 +-0.00219601556 +-0.00296272989 +-0.00475786347 +-0.951493323 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.104716726 +0.392343849 +0.0160201341 +-0.00213983259 +-0.00230002962 +-0.00463804835 +-0.958075285 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107776187 +0.391649038 +0.0117305219 +-0.0024329077 +-0.00300060958 +-0.00532041909 +-0.952564776 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108522467 +0.390500337 +0.000908054411 +-0.00204161019 +-0.00289553311 +-0.00621103169 +-0.954882622 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107449211 +0.388032138 +-0.00936283916 +-0.00184033997 +-0.00208246987 +-0.00606844947 +-0.956645429 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109541051 +0.381261945 +-0.0128796175 +-0.00219255802 +-0.00263671018 +-0.00738354772 +-0.95344615 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110315897 +0.372756034 +-0.0195714459 +-0.00176321645 +-0.00218889769 +-0.00792900473 +-0.954042435 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109843858 +0.364387274 +-0.0281808972 +-0.00153597957 +-0.00234080292 +-0.00782136153 +-0.95637846 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110705368 +0.353801757 +-0.0324930102 +-0.00196509599 +-0.00286973175 +-0.0089279348 +-0.954504251 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110079981 +0.346058756 +-0.0392289758 +-0.00145552005 +-0.00217794534 +-0.0095647946 +-0.956361651 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115223043 +0.339946508 +-0.0485265069 +-0.00130177615 +-0.00239749905 +-0.00907981955 +-0.955769241 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.117255963 +0.333613962 +-0.0499469489 +-0.00105424249 +-0.00277906191 +-0.0102090184 +-0.953036726 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.11754521 +0.326997519 +-0.0582288653 +-0.00136787351 +-0.00206679665 +-0.0107587734 +-0.956393003 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122285999 +0.323170871 +-0.0654848143 +-0.0013989415 +-0.00213300437 +-0.0102211367 +-0.958427072 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124548756 +0.314162195 +-0.0640555248 +-0.00102268998 +-0.00279238354 +-0.0109399417 +-0.95122242 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.121827327 +0.307063758 +-0.0716415197 +-0.00120746857 +-0.00172812166 +-0.0111809541 +-0.95509702 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124498062 +0.302292913 +-0.0757903159 +-0.00140188215 +-0.00217811484 +-0.0107184984 +-0.951319337 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125195026 +0.292132914 +-0.0823445842 +-0.000913676515 +-0.00229222234 +-0.0113899596 +-0.951386631 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122451179 +0.284929603 +-0.0897217989 +-0.00116312061 +-0.00142052257 +-0.0117037613 +-0.9567734 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125449955 +0.281951427 +-0.0916440263 +-0.00132771046 +-0.0018625115 +-0.0108993128 +-0.952547312 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126136929 +0.275062501 +-0.0964499637 +-0.000980549259 +-0.0019322997 +-0.0114502637 +-0.952749431 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125017673 +0.271692812 +-0.101590753 +-0.000946040673 +-0.000941936392 +-0.0110854208 +-0.953487515 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/runtime-screen/mm-default.out b/research-notes/smolvla-followup-20261104/runtime-screen/mm-default.out new file mode 100644 index 00000000..dcffe651 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/runtime-screen/mm-default.out @@ -0,0 +1,1611 @@ +vla: arch = smolvla +vla: config = /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: [vram] weight_buf = 985.0 MiB +vla: [vram] after weights alloc used=2011.5 MiB free=4132.0 MiB (+986.0 MiB) +action_len=1600 +-0.045980446 +0.0341552831 +0.110580422 +-0.011605572 +-0.00144359656 +-0.00078961486 +-0.956121087 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0411659181 +0.0083540976 +0.172536761 +-0.00702191796 +-0.00346196722 +-0.00516691245 +-0.968444169 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0367117375 +0.00982230157 +0.179078788 +-0.00273572165 +-0.002140522 +-0.00459985156 +-0.963088989 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0443505421 +0.0235549286 +0.186256021 +-0.00317219133 +-0.00425649714 +-0.00205437024 +-0.960685492 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0510265157 +0.031438265 +0.200547904 +-0.00269295019 +-0.00572416745 +-0.00193225872 +-0.96114713 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0482379496 +0.0400276743 +0.202362508 +-0.00405532587 +-0.00431599375 +-0.00158805144 +-0.953976631 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0524152741 +0.0611436591 +0.194462955 +-0.00454507768 +-0.00429135468 +0.000218387693 +-0.960045516 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0574460775 +0.073848553 +0.19684878 +-0.00407935074 +-0.00556478929 +0.000494985376 +-0.953873336 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0552546829 +0.0897113457 +0.197334975 +-0.0049160975 +-0.00406388473 +1.43251382e-05 +-0.955380142 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0569500551 +0.114817679 +0.187061936 +-0.00467504188 +-0.00354454201 +0.000514350832 +-0.95921886 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.061456956 +0.12696372 +0.172643095 +-0.00402182154 +-0.0041626906 +0.00132712675 +-0.956287742 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.061730653 +0.144857749 +0.160029054 +-0.00452122092 +-0.00269591436 +0.000814184081 +-0.956121206 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0630354062 +0.175791413 +0.146760911 +-0.00409514178 +-0.00265133288 +0.000745798461 +-0.962179661 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0676298365 +0.193826526 +0.134948194 +-0.0039723278 +-0.003357023 +5.19719906e-05 +-0.95958966 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0669882223 +0.223527208 +0.119028173 +-0.00393975759 +-0.00174011337 +-0.000385332853 +-0.960823417 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0701344088 +0.23981908 +0.112968229 +-0.00362770772 +-0.0017305254 +-0.000329678413 +-0.962355554 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0761183724 +0.25857088 +0.102432884 +-0.00352119189 +-0.00234054681 +-0.00137897232 +-0.958646178 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0756301805 +0.284561813 +0.0926807597 +-0.00316775986 +-0.00193215068 +-0.00167629495 +-0.960616291 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0777684525 +0.300084382 +0.0840242431 +-0.00284613576 +-0.00248808973 +-0.00115962839 +-0.961823761 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0802201256 +0.316436887 +0.0751435831 +-0.00302646495 +-0.00290236156 +-0.00200440781 +-0.959231555 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.082906507 +0.331253886 +0.0672409311 +-0.00260459865 +-0.00234532077 +-0.00295132468 +-0.961497664 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0876450911 +0.341351509 +0.0611974224 +-0.00249260105 +-0.00291657262 +-0.00233547622 +-0.961572945 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0933521017 +0.350340277 +0.0599720553 +-0.00233981246 +-0.00305626355 +-0.00325939595 +-0.952574253 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0942195281 +0.36057806 +0.0504137799 +-0.0024527174 +-0.00247455109 +-0.00355551904 +-0.957571924 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0988671705 +0.36724779 +0.045669131 +-0.00258904602 +-0.00323375314 +-0.00282151578 +-0.94766885 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.101806886 +0.375230104 +0.0441482291 +-0.002371429 +-0.00329860765 +-0.00374488882 +-0.951387048 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0992536321 +0.382709652 +0.0365497544 +-0.00239439332 +-0.00250366423 +-0.00432513561 +-0.956731439 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.102706812 +0.384610415 +0.0337877125 +-0.00249349489 +-0.0030825939 +-0.0037554116 +-0.950505614 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107007839 +0.385675877 +0.0256641284 +-0.00214767409 +-0.0029857792 +-0.00469603529 +-0.951902509 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.105385639 +0.391364157 +0.0145601779 +-0.00211289804 +-0.00229199324 +-0.0045502428 +-0.958742142 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108634688 +0.390682131 +0.0103214681 +-0.00239295885 +-0.00306677911 +-0.00526802335 +-0.953148425 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.109350853 +0.389255077 +-0.000202924013 +-0.00199270784 +-0.00287264399 +-0.00617094757 +-0.955405891 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.108252354 +0.386532336 +-0.0108840168 +-0.00178250135 +-0.00208207732 +-0.00602052454 +-0.957023263 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110389225 +0.380076647 +-0.014278464 +-0.00215158216 +-0.00262741279 +-0.00736004068 +-0.953258932 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.111147724 +0.371605933 +-0.0210848302 +-0.00172257004 +-0.0021783635 +-0.00790755358 +-0.95443666 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110478826 +0.362777561 +-0.0296376534 +-0.00149528612 +-0.00231203903 +-0.00775787653 +-0.957121551 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.111457221 +0.352509141 +-0.0336663723 +-0.00193590089 +-0.00280996785 +-0.00888171885 +-0.954845726 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.110910632 +0.344595522 +-0.040605139 +-0.00139337545 +-0.00215779943 +-0.0095811896 +-0.956094265 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115961976 +0.338587642 +-0.0498257242 +-0.00123391347 +-0.00239711814 +-0.00904571638 +-0.955974162 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.118258916 +0.332040101 +-0.0511022508 +-0.00100633572 +-0.00281620771 +-0.0102130938 +-0.953480065 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.118308626 +0.325389564 +-0.0596478358 +-0.00131922401 +-0.00205755699 +-0.0107298996 +-0.95701766 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.123145662 +0.32170406 +-0.0667609721 +-0.0013439008 +-0.00214786455 +-0.0102683064 +-0.958649516 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125471771 +0.312745094 +-0.065383181 +-0.000959930883 +-0.00281530898 +-0.0109267123 +-0.951574922 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122673072 +0.305651426 +-0.0730637461 +-0.00117341662 +-0.00172592467 +-0.011172181 +-0.955629289 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125321001 +0.3006697 +-0.0772728175 +-0.00135902641 +-0.00214687316 +-0.0106889736 +-0.951666296 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125971705 +0.290884167 +-0.0835643932 +-0.000866554969 +-0.00228429958 +-0.0113516897 +-0.95138216 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.123321138 +0.283702135 +-0.091012992 +-0.00111921853 +-0.00142234517 +-0.0116616804 +-0.956912279 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126501262 +0.280347943 +-0.0928940475 +-0.00128810271 +-0.0019027153 +-0.0108875101 +-0.952715755 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.126690596 +0.27364552 +-0.0977485701 +-0.000921168074 +-0.00191025948 +-0.0114984196 +-0.952861726 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.125771135 +0.27018854 +-0.102917731 +-0.000892683107 +-0.000898045022 +-0.0110524222 +-0.953619957 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/runtime-screen/steps-3.out b/research-notes/smolvla-followup-20261104/runtime-screen/steps-3.out new file mode 100644 index 00000000..aad38244 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/runtime-screen/steps-3.out @@ -0,0 +1,1612 @@ +vla: arch = smolvla +vla: config = /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 416 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 1762.5 MiB +vla: [vram] after weights alloc used=2789.5 MiB free=3354.0 MiB (+1764.0 MiB) +action_len=1600 +-0.0348244235 +0.0324481316 +0.0826370046 +-0.0123703573 +0.00377410022 +-0.00325080776 +-0.64797008 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0322362036 +0.00940705091 +0.126374364 +-0.00873228442 +0.00150780007 +-0.00602957094 +-0.68618089 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0250563398 +0.0214889497 +0.136360735 +-0.00591320964 +0.00293529872 +-0.00478491187 +-0.952786267 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0349471644 +0.0368235819 +0.148618549 +-0.00638301531 +-0.000453684013 +-0.00220210431 +-0.986345589 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.041738838 +0.0449461713 +0.169567138 +-0.00524810329 +-0.0015373365 +-0.00329422485 +-0.977588773 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0385418162 +0.0575955287 +0.162510067 +-0.00532992324 +-5.93913719e-05 +-0.00243054563 +-0.988951445 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0465447456 +0.0859629512 +0.154632628 +-0.00500197429 +-0.00115959812 +0.000236105174 +-0.981369853 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0520720184 +0.090722017 +0.154918998 +-0.0041180593 +-0.00259806868 +-0.00128106494 +-0.962057233 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0505455658 +0.116160437 +0.151245236 +-0.00507455412 +-0.0017493437 +-0.0010138494 +-0.951713383 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0542311892 +0.150661677 +0.141318142 +-0.00442026369 +-0.00153050711 +0.000803499483 +-0.940558612 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0598935261 +0.157177955 +0.110624917 +-0.00384702813 +-0.00176919159 +3.17529775e-05 +-0.938775122 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0600801334 +0.1920138 +0.104811586 +-0.00466314377 +-0.000807520468 +0.00129127037 +-0.9416942 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.065135546 +0.236551881 +0.0985258445 +-0.00364839705 +-0.00191791123 +-7.22287223e-06 +-0.93950665 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0704427734 +0.258261204 +0.0807395056 +-0.00369709497 +-0.000902633183 +-0.000456124544 +-0.941915035 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0691846386 +0.298713297 +0.0644092336 +-0.0040380545 +0.000484124757 +0.000633311924 +-0.936691225 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0787535086 +0.316158891 +0.0618946031 +-0.00288750418 +-0.000947070308 +-0.00211759261 +-0.936015546 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0837105736 +0.329609692 +0.0471870676 +-0.00321028545 +0.000220269896 +-0.00253072311 +-0.941680551 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0791111365 +0.35300827 +0.0442984477 +-0.00277875271 +-9.16873105e-05 +-0.00191065366 +-0.942216873 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0889069661 +0.373310685 +0.0329083651 +-0.00141413882 +-0.000347243622 +-0.00393309258 +-0.931030273 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.089693211 +0.373122245 +0.0232412964 +-0.00204433454 +-0.000100145582 +-0.00377926929 +-0.938665152 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0935364142 +0.371959925 +0.0181947649 +-0.0028087066 +-0.00103961397 +-0.0045506116 +-0.942624807 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0950763002 +0.373405576 +0.00856995583 +-0.0020687629 +-0.00138185639 +-0.00587385986 +-0.92533505 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.103862949 +0.367937744 +0.00358886272 +-0.00242302613 +-0.000969153829 +-0.00495192176 +-0.930568278 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.10576681 +0.370197892 +-0.000722907484 +-0.00165806245 +-0.000920485705 +-0.00410240516 +-0.93595773 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.112173177 +0.367971569 +-0.00588903576 +-0.00135217956 +-0.000606003217 +-0.00573812705 +-0.923302889 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.114040844 +0.370538354 +-0.0120918378 +-0.00231417106 +-0.000748005696 +-0.00529221864 +-0.921395898 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.112989791 +0.375141382 +-0.0204699934 +-0.00139999948 +-0.000817783643 +-0.00527239963 +-0.919244409 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.114234932 +0.349987417 +-0.0355743319 +-0.00165270455 +8.74805264e-05 +-0.00716253463 +-0.929214537 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.119164862 +0.346607387 +-0.0410865098 +-0.00234078243 +0.000376954675 +-0.00540044205 +-0.931842625 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122905679 +0.342267573 +-0.0501025878 +-0.00125642167 +-0.000227071345 +-0.00719951093 +-0.93530196 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122007571 +0.326391906 +-0.0636490583 +-0.00134099461 +0.00076928921 +-0.00831318926 +-0.945587456 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.119328059 +0.318923235 +-0.0736700147 +-0.00194228487 +0.000392439775 +-0.00718971156 +-0.941112339 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122856237 +0.297772497 +-0.0824529827 +-0.000746226928 +-6.11850992e-05 +-0.010436438 +-0.9393695 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.119662322 +0.279941559 +-0.0956149921 +-0.000981704565 +0.00112171378 +-0.011078679 +-0.950034857 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.116859846 +0.268943846 +-0.0910108387 +-0.00110041699 +0.000832830556 +-0.00957394764 +-0.949764907 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.123015471 +0.252249181 +-0.104017667 +0.000274736143 +0.001683129 +-0.0121220723 +-0.942560613 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.123666517 +0.24191241 +-0.116072804 +-0.000117317715 +0.00147366803 +-0.0125582255 +-0.956723094 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.123782627 +0.233814523 +-0.110143214 +-0.000327606278 +0.000433269423 +-0.0120824371 +-0.958968461 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.130257517 +0.22435987 +-0.122325785 +0.000751837273 +0.000511723105 +-0.0139504746 +-0.939426899 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.132793278 +0.213972926 +-0.125899091 +0.000376170559 +0.000582586043 +-0.0137192169 +-0.954491854 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.133236945 +0.210335314 +-0.121324621 +0.00114974845 +-0.000113264658 +-0.0127691384 +-0.952686489 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.138091117 +0.204102576 +-0.129944459 +0.00129263964 +0.000260982662 +-0.0149539104 +-0.935464144 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.137460053 +0.193466946 +-0.123132542 +0.000400447461 +-0.00013638055 +-0.0135596674 +-0.951713502 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.134237081 +0.193864688 +-0.124206141 +0.00145940948 +-8.68942589e-05 +-0.0132300826 +-0.948934853 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.135283768 +0.186674282 +-0.131423667 +0.00126676518 +0.000568907708 +-0.015309548 +-0.942522168 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.135398299 +0.179178983 +-0.127255499 +0.000249978562 +7.87293538e-05 +-0.0130989375 +-0.937463105 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.136155009 +0.180874377 +-0.127117857 +0.00123335538 +-3.12789343e-05 +-0.0130853085 +-0.936985433 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.135511547 +0.178051949 +-0.133252323 +0.00125135761 +0.00094081834 +-0.01394994 +-0.940053642 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.133168399 +0.175525367 +-0.132352248 +5.44080394e-05 +0.000971955713 +-0.0123396292 +-0.936285436 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.135743976 +0.175777271 +-0.13498053 +0.00133114576 +2.52486207e-05 +-0.0144826509 +-0.923422754 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/runtime-screen/steps-5.out b/research-notes/smolvla-followup-20261104/runtime-screen/steps-5.out new file mode 100644 index 00000000..b7b7f4b1 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/runtime-screen/steps-5.out @@ -0,0 +1,1612 @@ +vla: arch = smolvla +vla: config = /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf (gguf KV) +vla: backend = CUDA (device 0) +vla(smolvla): fused CUDA ops on (VLA_FUSED_OPS=0 to disable) +vla: [vram] after backend init used=1025.5 MiB free=5118.0 MiB +vla: tower weights resident as bf16 +vla: cfg hidden=960 expert_h=480 expert_inter=1280 n_layers=32 n_img=64 n_lang=48 n_suffix=50 max_state=32 max_action=32 +vla: cfg real_state_dim=8 real_action_dim=7 +vla: 416 LM GEMM weights widened to f32 for --mm-prec f32 +vla: [vram] weight_buf = 1762.7 MiB +vla: [vram] after weights alloc used=2789.5 MiB free=3354.0 MiB (+1764.0 MiB) +action_len=1600 +-0.035304673 +0.0383518748 +0.105284788 +-0.0116355503 +0.00102514215 +-0.00166841643 +-0.954508901 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0335632488 +0.0143280551 +0.163340062 +-0.00745590171 +-0.00128716975 +-0.00525758835 +-0.988709092 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0342930853 +0.0131608993 +0.164588183 +-0.00344866188 +-0.000198016874 +-0.00421526795 +-0.994023025 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0417259112 +0.0278795399 +0.171363682 +-0.00421177549 +-0.00257545896 +-0.00141280075 +-0.982834101 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0490861312 +0.0363491178 +0.187991798 +-0.00343879499 +-0.00413101166 +-0.0020080884 +-0.973946512 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0455832854 +0.0464727506 +0.185177982 +-0.00474326778 +-0.00242544804 +-0.00149814435 +-0.965848863 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0496528968 +0.0721421391 +0.175084084 +-0.00489417464 +-0.00259717368 +0.000775731169 +-0.965034664 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0559705943 +0.0836795494 +0.17838484 +-0.00434280979 +-0.00411130954 +7.19563104e-05 +-0.951999784 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0537503585 +0.10263522 +0.17674762 +-0.00507981749 +-0.00266225636 +-0.000273149926 +-0.947637558 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0553086698 +0.133276001 +0.164998978 +-0.00444241846 +-0.00201031798 +0.000767758116 +-0.944894493 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0612718016 +0.141415715 +0.141995579 +-0.00403206795 +-0.00287860539 +0.00109644281 +-0.944214046 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0603702441 +0.166322559 +0.134087056 +-0.00465828227 +-0.00147528481 +0.00105056912 +-0.946138501 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0629002973 +0.205490544 +0.123141177 +-0.00381234894 +-0.00165953906 +0.000543018803 +-0.947837651 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0689098313 +0.225053817 +0.109058686 +-0.00401289435 +-0.0020688083 +-0.000223507639 +-0.945982575 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0669298097 +0.260247082 +0.0946928188 +-0.0040015257 +-0.000552633777 +-0.000176744536 +-0.948477566 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0727732554 +0.280204862 +0.0899017975 +-0.00318384776 +-0.00091337366 +-0.0010619536 +-0.946103454 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0776514933 +0.299033523 +0.078039147 +-0.00354161905 +-0.00120469555 +-0.00166155398 +-0.946742356 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0763228312 +0.326646268 +0.0719161704 +-0.00298421853 +-0.000592891127 +-0.00184588111 +-0.946731448 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.081909664 +0.344231963 +0.0597473755 +-0.00224764179 +-0.00141119678 +-0.0019657379 +-0.941178203 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0835197493 +0.357748985 +0.050582625 +-0.00295861019 +-0.00200111838 +-0.00240524835 +-0.944426835 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0858381167 +0.367990941 +0.0458715335 +-0.00261508045 +-0.00129127223 +-0.00369096547 +-0.944956601 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0908310041 +0.374290586 +0.0362830535 +-0.00223932671 +-0.00207711197 +-0.00358897587 +-0.938513458 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0975177065 +0.37846747 +0.0353318974 +-0.00201733573 +-0.00228959881 +-0.00393013563 +-0.937858403 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.0980969444 +0.385625362 +0.0276353806 +-0.0018756385 +-0.00135407969 +-0.00400240952 +-0.939547539 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.104049481 +0.387732893 +0.0202510729 +-0.00223614438 +-0.00215879735 +-0.00397565681 +-0.929708838 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.107439213 +0.393562973 +0.0187875703 +-0.00230675354 +-0.0024176361 +-0.00449216506 +-0.932350457 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.104758807 +0.400918782 +0.010130778 +-0.00180403236 +-0.00135841034 +-0.00522418041 +-0.931005239 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.106868662 +0.389540613 +0.00230653584 +-0.00236472557 +-0.00148189208 +-0.00501573365 +-0.934149921 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.111376218 +0.389397234 +-0.00431033224 +-0.00230861036 +-0.00158388726 +-0.00516808638 +-0.937332213 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.111862294 +0.39087683 +-0.0179475471 +-0.00156705943 +-0.000915937126 +-0.00570274331 +-0.939934731 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.11339616 +0.380358726 +-0.0265409723 +-0.00242966437 +-0.00120610092 +-0.00681494549 +-0.939371228 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.112748541 +0.375380397 +-0.0376047045 +-0.00215637824 +-0.00133189606 +-0.00722060865 +-0.942854524 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.114431612 +0.363793164 +-0.0494822375 +-0.00132730906 +-0.000512045342 +-0.00831371453 +-0.942683518 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.113472052 +0.349516571 +-0.0556436703 +-0.00222006906 +-0.000565276016 +-0.00950972363 +-0.944382489 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.113193356 +0.338264883 +-0.0571875088 +-0.0016779711 +0.00014077127 +-0.0095988987 +-0.946417868 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.116664477 +0.321532577 +-0.071164079 +-0.000870021351 +-0.000339960214 +-0.0102460934 +-0.945550382 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.115589328 +0.308303595 +-0.079008773 +-0.00184191833 +-0.000992229674 +-0.0111689419 +-0.950195491 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.114666648 +0.300481379 +-0.0793805197 +-0.00125795859 +-0.000150456559 +-0.0115504358 +-0.951201081 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.122298054 +0.288475037 +-0.0919411704 +-0.00059696642 +-0.000835943501 +-0.01185444 +-0.94517231 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124139495 +0.27892521 +-0.0932143405 +-0.000548111799 +-0.00121930009 +-0.0124015827 +-0.950367332 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.124036141 +0.273285121 +-0.0956317037 +-0.00044371601 +-0.000271112658 +-0.0125507889 +-0.950309575 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.131094307 +0.265393317 +-0.107051313 +-0.000642010418 +-0.00085076876 +-0.0128453709 +-0.948974609 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.131960541 +0.253892899 +-0.101833835 +-0.000708068197 +-0.0016660667 +-0.0128376968 +-0.950428605 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.127802283 +0.25130564 +-0.106275745 +-0.000222379458 +-0.000289216638 +-0.0130005665 +-0.948475122 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.130381465 +0.244040772 +-0.111618124 +-0.000737627561 +-0.000782756135 +-0.0131634008 +-0.943265736 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.130686194 +0.233838677 +-0.114736639 +-0.000636848214 +-0.00124561833 +-0.0128200911 +-0.94522357 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.129050076 +0.230964184 +-0.120059162 +-0.000151285378 +-3.79490666e-05 +-0.013181529 +-0.945483387 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.130754501 +0.226705849 +-0.124280997 +-0.000650435628 +-0.000541327056 +-0.0126146469 +-0.943273365 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.130091697 +0.219962373 +-0.126289427 +-0.000696482777 +-0.000799746718 +-0.0124405166 +-0.946570277 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +-0.130309671 +0.220074818 +-0.131356046 +6.5865228e-05 +-6.2151812e-06 +-0.0128600392 +-0.939991951 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 +0 diff --git a/research-notes/smolvla-followup-20261104/runtime-screen/summary.json b/research-notes/smolvla-followup-20261104/runtime-screen/summary.json new file mode 100644 index 00000000..6bd344a5 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/runtime-screen/summary.json @@ -0,0 +1,132 @@ +[ + { + "config": "bf16-flash", + "screen_mean_ms": 121.9, + "p50_ms": 122.0, + "p90_ms": 122.6, + "max_abs": 0.0007882118225097656, + "rmse": 0.00013120385276064775, + "bit_differences": 350, + "rmse_real7": 0.0002805256370600447, + "max_abs_real7": 0.0007882118225097656, + "rmse_scope_legacy": "all 50x32 padded output elements", + "primary_scope": "50x7 real action elements (exclude zero padding)" + }, + { + "config": "bf16", + "screen_mean_ms": 134.3, + "p50_ms": 134.0, + "p90_ms": 135.3, + "max_abs": 0.0, + "rmse": 0.0, + "bit_differences": 0, + "rmse_real7": 0.0, + "max_abs_real7": 0.0, + "rmse_scope_legacy": "all 50x32 padded output elements", + "primary_scope": "50x7 real action elements (exclude zero padding)" + }, + { + "config": "defaults", + "screen_mean_ms": 111.9, + "p50_ms": 111.5, + "p90_ms": 113.0, + "max_abs": 0.0, + "rmse": 0.0, + "bit_differences": 0, + "rmse_real7": 0.0, + "max_abs_real7": 0.0, + "rmse_scope_legacy": "all 50x32 padded output elements", + "primary_scope": "50x7 real action elements (exclude zero padding)" + }, + { + "config": "f16-flash", + "screen_mean_ms": 118.7, + "p50_ms": 118.4, + "p90_ms": 119.7, + "max_abs": 0.0012158751487731934, + "rmse": 0.00013719872031749865, + "bit_differences": 350, + "rmse_real7": 0.0002933432030468005, + "max_abs_real7": 0.0012158751487731934, + "rmse_scope_legacy": "all 50x32 padded output elements", + "primary_scope": "50x7 real action elements (exclude zero padding)" + }, + { + "config": "f16", + "screen_mean_ms": 135.8, + "p50_ms": 135.6, + "p90_ms": 137.0, + "max_abs": 0.0009749233722686768, + "rmse": 0.00012555314233219717, + "bit_differences": 349, + "rmse_real7": 0.0002684439099656832, + "max_abs_real7": 0.0009749233722686768, + "rmse_scope_legacy": "all 50x32 padded output elements", + "primary_scope": "50x7 real action elements (exclude zero padding)" + }, + { + "config": "flash-mm", + "screen_mean_ms": 93.0, + "p50_ms": 93.0, + "p90_ms": 93.6, + "max_abs": 0.0027671456336975098, + "rmse": 0.0002873685503855059, + "bit_differences": 350, + "rmse_real7": 0.0006144198053008273, + "max_abs_real7": 0.0027671456336975098, + "rmse_scope_legacy": "all 50x32 padded output elements", + "primary_scope": "50x7 real action elements (exclude zero padding)" + }, + { + "config": "flash", + "screen_mean_ms": 99.9, + "p50_ms": 99.7, + "p90_ms": 100.5, + "max_abs": 0.0007882118225097656, + "rmse": 0.00013120385276064775, + "bit_differences": 350, + "rmse_real7": 0.0002805256370600447, + "max_abs_real7": 0.0007882118225097656, + "rmse_scope_legacy": "all 50x32 padded output elements", + "primary_scope": "50x7 real action elements (exclude zero padding)" + }, + { + "config": "mm-default", + "screen_mean_ms": 106.1, + "p50_ms": 105.9, + "p90_ms": 106.9, + "max_abs": 0.002060145139694214, + "rmse": 0.0003090638112368604, + "bit_differences": 350, + "rmse_real7": 0.0006608062241708033, + "max_abs_real7": 0.002060145139694214, + "rmse_scope_legacy": "all 50x32 padded output elements", + "primary_scope": "50x7 real action elements (exclude zero padding)" + }, + { + "config": "steps-3", + "screen_mean_ms": 89.2, + "p50_ms": 89.2, + "p90_ms": 89.8, + "max_abs": 0.30797094106674194, + "rmse": 0.019964380538791727, + "bit_differences": 350, + "rmse_real7": 0.04268564109447771, + "max_abs_real7": 0.30797094106674194, + "rmse_scope_legacy": "all 50x32 padded output elements", + "primary_scope": "50x7 real action elements (exclude zero padding)" + }, + { + "config": "steps-5", + "screen_mean_ms": 95.6, + "p50_ms": 95.6, + "p90_ms": 96.2, + "max_abs": 0.0599324107170105, + "rmse": 0.008620881181830575, + "bit_differences": 350, + "rmse_real7": 0.018432219288283907, + "max_abs_real7": 0.0599324107170105, + "rmse_scope_legacy": "all 50x32 padded output elements", + "primary_scope": "50x7 real action elements (exclude zero padding)" + } +] diff --git a/research-notes/smolvla-followup-20261104/screen40-artifact-audit.json b/research-notes/smolvla-followup-20261104/screen40-artifact-audit.json new file mode 100644 index 00000000..94e90e15 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-artifact-audit.json @@ -0,0 +1,488 @@ +{ + "episodes": 40, + "successes": 38, + "aborted": 0, + "valid_first_frames": 40, + "records": [ + { + "task": 0, + "episode": 0, + "success": 1, + "steps": 198, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_0/episode_000000.mp4", + "frames": 199, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 0, + "episode": 1, + "success": 1, + "steps": 175, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_0/episode_000001.mp4", + "frames": 176, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 0, + "episode": 2, + "success": 1, + "steps": 188, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_0/episode_000002.mp4", + "frames": 189, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 0, + "episode": 3, + "success": 1, + "steps": 174, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_0/episode_000003.mp4", + "frames": 175, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 1, + "episode": 0, + "success": 1, + "steps": 127, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_1/episode_000000.mp4", + "frames": 128, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 1, + "episode": 1, + "success": 1, + "steps": 157, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_1/episode_000001.mp4", + "frames": 158, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 1, + "episode": 2, + "success": 1, + "steps": 138, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_1/episode_000002.mp4", + "frames": 139, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 1, + "episode": 3, + "success": 1, + "steps": 148, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_1/episode_000003.mp4", + "frames": 149, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 2, + "episode": 0, + "success": 1, + "steps": 128, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_2/episode_000000.mp4", + "frames": 129, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 2, + "episode": 1, + "success": 1, + "steps": 125, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_2/episode_000001.mp4", + "frames": 126, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 2, + "episode": 2, + "success": 1, + "steps": 147, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_2/episode_000002.mp4", + "frames": 148, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 2, + "episode": 3, + "success": 1, + "steps": 120, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_2/episode_000003.mp4", + "frames": 121, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 3, + "episode": 0, + "success": 0, + "steps": 500, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_3/episode_000000.mp4", + "frames": 501, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 3, + "episode": 1, + "success": 1, + "steps": 143, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_3/episode_000001.mp4", + "frames": 144, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 3, + "episode": 2, + "success": 1, + "steps": 138, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_3/episode_000002.mp4", + "frames": 139, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 3, + "episode": 3, + "success": 1, + "steps": 128, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_3/episode_000003.mp4", + "frames": 129, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 4, + "episode": 0, + "success": 1, + "steps": 156, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_4/episode_000000.mp4", + "frames": 157, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 4, + "episode": 1, + "success": 1, + "steps": 157, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_4/episode_000001.mp4", + "frames": 158, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 4, + "episode": 2, + "success": 1, + "steps": 168, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_4/episode_000002.mp4", + "frames": 169, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 4, + "episode": 3, + "success": 1, + "steps": 156, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_4/episode_000003.mp4", + "frames": 157, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 5, + "episode": 0, + "success": 1, + "steps": 220, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_5/episode_000000.mp4", + "frames": 221, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 5, + "episode": 1, + "success": 0, + "steps": 500, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_5/episode_000001.mp4", + "frames": 501, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 5, + "episode": 2, + "success": 1, + "steps": 222, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_5/episode_000002.mp4", + "frames": 223, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 5, + "episode": 3, + "success": 1, + "steps": 142, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_5/episode_000003.mp4", + "frames": 143, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 6, + "episode": 0, + "success": 1, + "steps": 163, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_6/episode_000000.mp4", + "frames": 164, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 6, + "episode": 1, + "success": 1, + "steps": 161, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_6/episode_000001.mp4", + "frames": 162, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 6, + "episode": 2, + "success": 1, + "steps": 156, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_6/episode_000002.mp4", + "frames": 157, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 6, + "episode": 3, + "success": 1, + "steps": 145, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_6/episode_000003.mp4", + "frames": 146, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 7, + "episode": 0, + "success": 1, + "steps": 133, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_7/episode_000000.mp4", + "frames": 134, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 7, + "episode": 1, + "success": 1, + "steps": 153, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_7/episode_000001.mp4", + "frames": 154, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 7, + "episode": 2, + "success": 1, + "steps": 146, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_7/episode_000002.mp4", + "frames": 147, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 7, + "episode": 3, + "success": 1, + "steps": 156, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_7/episode_000003.mp4", + "frames": 157, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 8, + "episode": 0, + "success": 1, + "steps": 184, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_8/episode_000000.mp4", + "frames": 185, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 8, + "episode": 1, + "success": 1, + "steps": 159, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_8/episode_000001.mp4", + "frames": 160, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 8, + "episode": 2, + "success": 1, + "steps": 173, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_8/episode_000002.mp4", + "frames": 174, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 8, + "episode": 3, + "success": 1, + "steps": 162, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_8/episode_000003.mp4", + "frames": 163, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 9, + "episode": 0, + "success": 1, + "steps": 133, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_9/episode_000000.mp4", + "frames": 134, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 9, + "episode": 1, + "success": 1, + "steps": 127, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_9/episode_000001.mp4", + "frames": 128, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 9, + "episode": 2, + "success": 1, + "steps": 142, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_9/episode_000002.mp4", + "frames": 143, + "first_frame": [ + 256, + 512 + ] + }, + { + "task": 9, + "episode": 3, + "success": 1, + "steps": 136, + "video": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_9/episode_000003.mp4", + "frames": 137, + "first_frame": [ + 256, + 512 + ] + } + ] +} diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_0/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_0/episodes.csv new file mode 100644 index 00000000..970add9e --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_0/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,198,0 +1,1,175,0 +2,1,188,0 +3,1,174,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_0/summary.txt b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_0/summary.txt new file mode 100644 index 00000000..d1ca95b4 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_0/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_0 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 136.24 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_1/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_1/episodes.csv new file mode 100644 index 00000000..89d26cc8 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_1/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,127,0 +1,1,157,0 +2,1,138,0 +3,1,148,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_1/summary.txt b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_1/summary.txt new file mode 100644 index 00000000..186fa8b6 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_1/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_1 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 135.09 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_2/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_2/episodes.csv new file mode 100644 index 00000000..b45b60fd --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_2/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,128,0 +1,1,125,0 +2,1,147,0 +3,1,120,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_2/summary.txt b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_2/summary.txt new file mode 100644 index 00000000..e262a04f --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_2/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_2 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 134.24 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_3/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_3/episodes.csv new file mode 100644 index 00000000..cd01f1e8 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_3/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,0,500,0 +1,1,143,0 +2,1,138,0 +3,1,128,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_3/summary.txt b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_3/summary.txt new file mode 100644 index 00000000..6295aee3 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_3/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_3 +n_action_steps: 1 +Success rate: 75.00% (3/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 134.29 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_4/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_4/episodes.csv new file mode 100644 index 00000000..34ddbbb0 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_4/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,156,0 +1,1,157,0 +2,1,168,0 +3,1,156,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_4/summary.txt b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_4/summary.txt new file mode 100644 index 00000000..3535ea19 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_4/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_4 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 133.55 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_5/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_5/episodes.csv new file mode 100644 index 00000000..f769f19d --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_5/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,220,0 +1,0,500,0 +2,1,222,0 +3,1,142,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_5/summary.txt b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_5/summary.txt new file mode 100644 index 00000000..d22f2fb2 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_5/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_5 +n_action_steps: 1 +Success rate: 75.00% (3/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 134.44 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_6/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_6/episodes.csv new file mode 100644 index 00000000..5ae1e09c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_6/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,163,0 +1,1,161,0 +2,1,156,0 +3,1,145,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_6/summary.txt b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_6/summary.txt new file mode 100644 index 00000000..a89a1a3d --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_6/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_6 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 136.81 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_7/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_7/episodes.csv new file mode 100644 index 00000000..1a694cab --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_7/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,133,0 +1,1,153,0 +2,1,146,0 +3,1,156,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_7/summary.txt b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_7/summary.txt new file mode 100644 index 00000000..3cbaefbf --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_7/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_7 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 134.69 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_8/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_8/episodes.csv new file mode 100644 index 00000000..fa7b803b --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_8/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,184,0 +1,1,159,0 +2,1,173,0 +3,1,162,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_8/summary.txt b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_8/summary.txt new file mode 100644 index 00000000..db98d67d --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_8/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_8 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 134.55 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_9/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_9/episodes.csv new file mode 100644 index 00000000..58e4655c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_9/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,133,0 +1,1,127,0 +2,1,142,0 +3,1,136,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_9/summary.txt b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_9/summary.txt new file mode 100644 index 00000000..78a00542 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_9/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_9 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 135.42 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/progress.json b/research-notes/smolvla-followup-20261104/screen40-defaults/progress.json new file mode 100644 index 00000000..98502945 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/progress.json @@ -0,0 +1,129 @@ +{ + "state": "complete", + "completed_tasks": 10, + "completed_episodes": 40, + "successes": 38, + "expected_episodes": 40, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 4, + "steps": [ + 198, + 175, + 188, + 174 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_0/episodes.csv" + }, + { + "task_id": 1, + "episodes": 4, + "successes": 4, + "steps": [ + 127, + 157, + 138, + 148 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_1/episodes.csv" + }, + { + "task_id": 2, + "episodes": 4, + "successes": 4, + "steps": [ + 128, + 125, + 147, + 120 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_2/episodes.csv" + }, + { + "task_id": 3, + "episodes": 4, + "successes": 3, + "steps": [ + 500, + 143, + 138, + 128 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_3/episodes.csv" + }, + { + "task_id": 4, + "episodes": 4, + "successes": 4, + "steps": [ + 156, + 157, + 168, + 156 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_4/episodes.csv" + }, + { + "task_id": 5, + "episodes": 4, + "successes": 3, + "steps": [ + 220, + 500, + 222, + 142 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_5/episodes.csv" + }, + { + "task_id": 6, + "episodes": 4, + "successes": 4, + "steps": [ + 163, + 161, + 156, + 145 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_6/episodes.csv" + }, + { + "task_id": 7, + "episodes": 4, + "successes": 4, + "steps": [ + 133, + 153, + 146, + 156 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_7/episodes.csv" + }, + { + "task_id": 8, + "episodes": 4, + "successes": 4, + "steps": [ + 184, + 159, + 173, + 162 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_8/episodes.csv" + }, + { + "task_id": 9, + "episodes": 4, + "successes": 4, + "steps": [ + 133, + 127, + 142, + 136 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_9/episodes.csv" + } + ] +} diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/protocol.json b/research-notes/smolvla-followup-20261104/screen40-defaults/protocol.json new file mode 100644 index 00000000..944a408d --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/protocol.json @@ -0,0 +1,35 @@ +{ + "classification": "screening, not official evaluation", + "suite": "libero_object", + "tasks": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "episodes_per_task": 4, + "expected_total": 40, + "seed": 42, + "n_action_steps": 1, + "baseline": "repo defaults; known bit-exact test failures disclosed", + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15557", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf" + ], + "env": { + "MUJOCO_GL": "egl", + "CUDA_VISIBLE_DEVICES": "0", + "LIBERO_CONFIG_PATH": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/libero-config", + "TOKENIZERS_PARALLELISM": "false" + }, + "initial_states": "repo client defaults: episode_index=0, stride=1; same seed and initial states for later configs", + "aborts": "halt on any aborted/missing episode; never silently reduce denominator" +} diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/result.json b/research-notes/smolvla-followup-20261104/screen40-defaults/result.json new file mode 100644 index 00000000..53984d4d --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/result.json @@ -0,0 +1,130 @@ +{ + "state": "complete", + "completed_tasks": 10, + "completed_episodes": 40, + "successes": 38, + "expected_episodes": 40, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 4, + "steps": [ + 198, + 175, + 188, + 174 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_0/episodes.csv" + }, + { + "task_id": 1, + "episodes": 4, + "successes": 4, + "steps": [ + 127, + 157, + 138, + 148 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_1/episodes.csv" + }, + { + "task_id": 2, + "episodes": 4, + "successes": 4, + "steps": [ + 128, + 125, + 147, + 120 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_2/episodes.csv" + }, + { + "task_id": 3, + "episodes": 4, + "successes": 3, + "steps": [ + 500, + 143, + 138, + 128 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_3/episodes.csv" + }, + { + "task_id": 4, + "episodes": 4, + "successes": 4, + "steps": [ + 156, + 157, + 168, + 156 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_4/episodes.csv" + }, + { + "task_id": 5, + "episodes": 4, + "successes": 3, + "steps": [ + 220, + 500, + 222, + 142 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_5/episodes.csv" + }, + { + "task_id": 6, + "episodes": 4, + "successes": 4, + "steps": [ + 163, + 161, + 156, + 145 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_6/episodes.csv" + }, + { + "task_id": 7, + "episodes": 4, + "successes": 4, + "steps": [ + 133, + 153, + 146, + 156 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_7/episodes.csv" + }, + { + "task_id": 8, + "episodes": 4, + "successes": 4, + "steps": [ + 184, + 159, + 173, + 162 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_8/episodes.csv" + }, + { + "task_id": 9, + "episodes": 4, + "successes": 4, + "steps": [ + 133, + 127, + 142, + 136 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_9/episodes.csv" + } + ], + "screening_sr": 0.95 +} diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/task-0-command.json b/research-notes/smolvla-followup-20261104/screen40-defaults/task-0-command.json new file mode 100644 index 00000000..627e1dd4 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/task-0-command.json @@ -0,0 +1,20 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15557", + "--task", + "libero_object", + "--task-id", + "0", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-defaults/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/task-1-command.json b/research-notes/smolvla-followup-20261104/screen40-defaults/task-1-command.json new file mode 100644 index 00000000..d1e98dff --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/task-1-command.json @@ -0,0 +1,20 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15557", + "--task", + "libero_object", + "--task-id", + "1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-defaults/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/task-2-command.json b/research-notes/smolvla-followup-20261104/screen40-defaults/task-2-command.json new file mode 100644 index 00000000..4cf6a096 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/task-2-command.json @@ -0,0 +1,20 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15557", + "--task", + "libero_object", + "--task-id", + "2", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-defaults/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/task-3-command.json b/research-notes/smolvla-followup-20261104/screen40-defaults/task-3-command.json new file mode 100644 index 00000000..8e6899b4 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/task-3-command.json @@ -0,0 +1,20 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15557", + "--task", + "libero_object", + "--task-id", + "3", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-defaults/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/task-4-command.json b/research-notes/smolvla-followup-20261104/screen40-defaults/task-4-command.json new file mode 100644 index 00000000..f1961bb5 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/task-4-command.json @@ -0,0 +1,20 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15557", + "--task", + "libero_object", + "--task-id", + "4", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-defaults/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/task-5-command.json b/research-notes/smolvla-followup-20261104/screen40-defaults/task-5-command.json new file mode 100644 index 00000000..d4510109 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/task-5-command.json @@ -0,0 +1,20 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15557", + "--task", + "libero_object", + "--task-id", + "5", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-defaults/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/task-6-command.json b/research-notes/smolvla-followup-20261104/screen40-defaults/task-6-command.json new file mode 100644 index 00000000..14cdb489 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/task-6-command.json @@ -0,0 +1,20 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15557", + "--task", + "libero_object", + "--task-id", + "6", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-defaults/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/task-7-command.json b/research-notes/smolvla-followup-20261104/screen40-defaults/task-7-command.json new file mode 100644 index 00000000..c08edb0a --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/task-7-command.json @@ -0,0 +1,20 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15557", + "--task", + "libero_object", + "--task-id", + "7", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-defaults/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/task-8-command.json b/research-notes/smolvla-followup-20261104/screen40-defaults/task-8-command.json new file mode 100644 index 00000000..2ebb0963 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/task-8-command.json @@ -0,0 +1,20 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15557", + "--task", + "libero_object", + "--task-id", + "8", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-defaults/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-defaults/task-9-command.json b/research-notes/smolvla-followup-20261104/screen40-defaults/task-9-command.json new file mode 100644 index 00000000..96f18567 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-defaults/task-9-command.json @@ -0,0 +1,20 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15557", + "--task", + "libero_object", + "--task-id", + "9", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-defaults/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/batch.json b/research-notes/smolvla-followup-20261104/screen40-variants/batch.json new file mode 100644 index 00000000..3822b359 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/batch.json @@ -0,0 +1,13 @@ +{ + "state": "running", + "current": "q8-lm", + "expected_configurations": 3, + "expected_episodes": 120, + "results": [ + { + "name": "flash-mm", + "exit": 0, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/result.json" + } + ] +} diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_0/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_0/episodes.csv new file mode 100644 index 00000000..73bfbac2 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_0/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,144,0 +1,1,140,0 +2,1,200,0 +3,1,154,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_0/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_0/summary.txt new file mode 100644 index 00000000..956b0bab --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_0/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_0 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 114.18 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_1/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_1/episodes.csv new file mode 100644 index 00000000..1a43d139 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_1/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,137,0 +1,1,139,0 +2,1,123,0 +3,1,135,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_1/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_1/summary.txt new file mode 100644 index 00000000..3223ce58 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_1/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_1 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 111.09 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_2/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_2/episodes.csv new file mode 100644 index 00000000..2bcc4b9e --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_2/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,127,0 +1,1,133,0 +2,0,500,0 +3,1,127,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_2/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_2/summary.txt new file mode 100644 index 00000000..01599ea3 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_2/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_2 +n_action_steps: 1 +Success rate: 75.00% (3/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 109.7 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_3/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_3/episodes.csv new file mode 100644 index 00000000..7a81f3f6 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_3/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,135,0 +1,1,127,0 +2,1,171,0 +3,1,133,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_3/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_3/summary.txt new file mode 100644 index 00000000..9702822b --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_3/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_3 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 110.58 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_4/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_4/episodes.csv new file mode 100644 index 00000000..59eddb18 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_4/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,154,0 +1,1,158,0 +2,1,155,0 +3,1,138,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_4/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_4/summary.txt new file mode 100644 index 00000000..b9afeec3 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_4/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_4 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 111.75 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_5/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_5/episodes.csv new file mode 100644 index 00000000..471d0b0c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_5/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,0,500,0 +1,1,124,0 +2,0,500,0 +3,0,500,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_5/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_5/summary.txt new file mode 100644 index 00000000..34db5ee9 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_5/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_5 +n_action_steps: 1 +Success rate: 25.00% (1/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 109.97 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_6/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_6/episodes.csv new file mode 100644 index 00000000..7a325556 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_6/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,163,0 +1,1,152,0 +2,1,187,0 +3,1,153,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_6/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_6/summary.txt new file mode 100644 index 00000000..02210a10 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_6/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_6 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 111.24 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_7/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_7/episodes.csv new file mode 100644 index 00000000..ded689df --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_7/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,138,0 +1,1,155,0 +2,1,127,0 +3,1,146,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_7/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_7/summary.txt new file mode 100644 index 00000000..51ec69f7 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_7/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_7 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 112.33 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_8/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_8/episodes.csv new file mode 100644 index 00000000..47b162f4 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_8/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,206,0 +1,1,165,0 +2,1,208,0 +3,1,158,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_8/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_8/summary.txt new file mode 100644 index 00000000..76f17b9f --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_8/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_8 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 105.48 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_9/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_9/episodes.csv new file mode 100644 index 00000000..6bf84ff7 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_9/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,0,500,0 +1,1,122,0 +2,1,136,0 +3,1,180,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_9/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_9/summary.txt new file mode 100644 index 00000000..7ab3fe06 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_9/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_9 +n_action_steps: 1 +Success rate: 75.00% (3/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 105.54 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/progress.json b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/progress.json new file mode 100644 index 00000000..56e843e9 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/progress.json @@ -0,0 +1,129 @@ +{ + "state": "complete", + "completed_tasks": 10, + "completed_episodes": 40, + "successes": 35, + "expected_episodes": 40, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 4, + "steps": [ + 144, + 140, + 200, + 154 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_0/episodes.csv" + }, + { + "task_id": 1, + "episodes": 4, + "successes": 4, + "steps": [ + 137, + 139, + 123, + 135 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_1/episodes.csv" + }, + { + "task_id": 2, + "episodes": 4, + "successes": 3, + "steps": [ + 127, + 133, + 500, + 127 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_2/episodes.csv" + }, + { + "task_id": 3, + "episodes": 4, + "successes": 4, + "steps": [ + 135, + 127, + 171, + 133 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_3/episodes.csv" + }, + { + "task_id": 4, + "episodes": 4, + "successes": 4, + "steps": [ + 154, + 158, + 155, + 138 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_4/episodes.csv" + }, + { + "task_id": 5, + "episodes": 4, + "successes": 1, + "steps": [ + 500, + 124, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_5/episodes.csv" + }, + { + "task_id": 6, + "episodes": 4, + "successes": 4, + "steps": [ + 163, + 152, + 187, + 153 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_6/episodes.csv" + }, + { + "task_id": 7, + "episodes": 4, + "successes": 4, + "steps": [ + 138, + 155, + 127, + 146 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_7/episodes.csv" + }, + { + "task_id": 8, + "episodes": 4, + "successes": 4, + "steps": [ + 206, + 165, + 208, + 158 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_8/episodes.csv" + }, + { + "task_id": 9, + "episodes": 4, + "successes": 3, + "steps": [ + 500, + 122, + 136, + 180 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_9/episodes.csv" + } + ] +} diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/protocol.json b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/protocol.json new file mode 100644 index 00000000..073d3a21 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/protocol.json @@ -0,0 +1,46 @@ +{ + "classification": "screening, not official evaluation", + "suite": "libero_object", + "tasks": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "episodes_per_task": 4, + "expected_total": 40, + "seed": 42, + "n_action_steps": 1, + "variant": "flash-mm", + "model": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "flags": [ + "--flash-attn", + "--mm-prec", + "default" + ], + "noise": "repo defaults random server noise; environment seed42 only", + "baseline_reference": "screen40-defaults:38/40; known bit-exact test failures disclosed", + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15560", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--flash-attn", + "--mm-prec", + "default" + ], + "env": { + "MUJOCO_GL": "egl", + "CUDA_VISIBLE_DEVICES": "0", + "LIBERO_CONFIG_PATH": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/libero-config", + "TOKENIZERS_PARALLELISM": "false" + }, + "initial_states": "repo client defaults: episode_index=0, stride=1; same seed and initial states for later configs", + "aborts": "halt on any aborted/missing episode; never silently reduce denominator" +} diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/result.json b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/result.json new file mode 100644 index 00000000..f6d5fea2 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/result.json @@ -0,0 +1,130 @@ +{ + "state": "complete", + "completed_tasks": 10, + "completed_episodes": 40, + "successes": 35, + "expected_episodes": 40, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 4, + "steps": [ + 144, + 140, + 200, + 154 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_0/episodes.csv" + }, + { + "task_id": 1, + "episodes": 4, + "successes": 4, + "steps": [ + 137, + 139, + 123, + 135 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_1/episodes.csv" + }, + { + "task_id": 2, + "episodes": 4, + "successes": 3, + "steps": [ + 127, + 133, + 500, + 127 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_2/episodes.csv" + }, + { + "task_id": 3, + "episodes": 4, + "successes": 4, + "steps": [ + 135, + 127, + 171, + 133 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_3/episodes.csv" + }, + { + "task_id": 4, + "episodes": 4, + "successes": 4, + "steps": [ + 154, + 158, + 155, + 138 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_4/episodes.csv" + }, + { + "task_id": 5, + "episodes": 4, + "successes": 1, + "steps": [ + 500, + 124, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_5/episodes.csv" + }, + { + "task_id": 6, + "episodes": 4, + "successes": 4, + "steps": [ + 163, + 152, + 187, + 153 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_6/episodes.csv" + }, + { + "task_id": 7, + "episodes": 4, + "successes": 4, + "steps": [ + 138, + 155, + 127, + 146 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_7/episodes.csv" + }, + { + "task_id": 8, + "episodes": 4, + "successes": 4, + "steps": [ + 206, + 165, + 208, + 158 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_8/episodes.csv" + }, + { + "task_id": 9, + "episodes": 4, + "successes": 3, + "steps": [ + 500, + 122, + 136, + 180 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_9/episodes.csv" + } + ], + "screening_sr": 0.875 +} diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-0-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-0-command.json new file mode 100644 index 00000000..0006f7e3 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-0-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "0", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-1-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-1-command.json new file mode 100644 index 00000000..96a1654e --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-1-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "1", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-2-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-2-command.json new file mode 100644 index 00000000..dd9d25b6 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-2-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "2", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-3-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-3-command.json new file mode 100644 index 00000000..9d5de746 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-3-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "3", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-4-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-4-command.json new file mode 100644 index 00000000..eafa395c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-4-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "4", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-5-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-5-command.json new file mode 100644 index 00000000..47b8f80d --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-5-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "5", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-6-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-6-command.json new file mode 100644 index 00000000..8209bf2c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-6-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "6", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-7-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-7-command.json new file mode 100644 index 00000000..4695ca08 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-7-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "7", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-8-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-8-command.json new file mode 100644 index 00000000..9d97689f --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-8-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "8", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-9-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-9-command.json new file mode 100644 index 00000000..57e8fbd9 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/task-9-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "9", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_0/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_0/episodes.csv new file mode 100644 index 00000000..a20c2777 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_0/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,189,0 +1,1,171,0 +2,1,168,0 +3,1,189,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_0/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_0/summary.txt new file mode 100644 index 00000000..01bf3114 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_0/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_0 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 127.86 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_1/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_1/episodes.csv new file mode 100644 index 00000000..7775a8da --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_1/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,152,0 +1,1,155,0 +2,1,122,0 +3,1,147,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_1/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_1/summary.txt new file mode 100644 index 00000000..28fcb902 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_1/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_1 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 122.63 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_2/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_2/episodes.csv new file mode 100644 index 00000000..97492fbf --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_2/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,136,0 +1,1,133,0 +2,0,500,0 +3,1,131,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_2/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_2/summary.txt new file mode 100644 index 00000000..1af0f562 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_2/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_2 +n_action_steps: 1 +Success rate: 75.00% (3/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 121.93 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_3/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_3/episodes.csv new file mode 100644 index 00000000..93c3c52c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_3/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,149,0 +1,1,148,0 +2,1,158,0 +3,1,133,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_3/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_3/summary.txt new file mode 100644 index 00000000..39825d94 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_3/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_3 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 123.37 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_4/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_4/episodes.csv new file mode 100644 index 00000000..86051640 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_4/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,153,0 +1,1,150,0 +2,1,155,0 +3,1,155,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_4/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_4/summary.txt new file mode 100644 index 00000000..8200129f --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_4/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_4 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 121.54 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_5/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_5/episodes.csv new file mode 100644 index 00000000..1b8c250a --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_5/episodes.csv @@ -0,0 +1,2 @@ +episode,success,steps,aborted +0,1,207,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/progress.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/progress.json new file mode 100644 index 00000000..c390c798 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/progress.json @@ -0,0 +1,69 @@ +{ + "state": "running task 5", + "completed_tasks": 5, + "completed_episodes": 20, + "successes": 19, + "expected_episodes": 40, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 4, + "steps": [ + 189, + 171, + 168, + 189 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_0/episodes.csv" + }, + { + "task_id": 1, + "episodes": 4, + "successes": 4, + "steps": [ + 152, + 155, + 122, + 147 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_1/episodes.csv" + }, + { + "task_id": 2, + "episodes": 4, + "successes": 3, + "steps": [ + 136, + 133, + 500, + 131 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_2/episodes.csv" + }, + { + "task_id": 3, + "episodes": 4, + "successes": 4, + "steps": [ + 149, + 148, + 158, + 133 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_3/episodes.csv" + }, + { + "task_id": 4, + "episodes": 4, + "successes": 4, + "steps": [ + 153, + 150, + 155, + 155 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_4/episodes.csv" + } + ] +} diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/protocol.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/protocol.json new file mode 100644 index 00000000..5fa47717 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/protocol.json @@ -0,0 +1,39 @@ +{ + "classification": "screening, not official evaluation", + "suite": "libero_object", + "tasks": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "episodes_per_task": 4, + "expected_total": 40, + "seed": 42, + "n_action_steps": 1, + "variant": "q8-lm", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-lm.gguf", + "flags": [], + "noise": "repo defaults random server noise; environment seed42 only", + "baseline_reference": "screen40-defaults:38/40; known bit-exact test failures disclosed", + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15560", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-lm.gguf" + ], + "env": { + "MUJOCO_GL": "egl", + "CUDA_VISIBLE_DEVICES": "0", + "LIBERO_CONFIG_PATH": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/libero-config", + "TOKENIZERS_PARALLELISM": "false" + }, + "initial_states": "repo client defaults: episode_index=0, stride=1; same seed and initial states for later configs", + "aborts": "halt on any aborted/missing episode; never silently reduce denominator" +} diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-0-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-0-command.json new file mode 100644 index 00000000..b9e71113 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-0-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "0", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-1-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-1-command.json new file mode 100644 index 00000000..84577226 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-1-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "1", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-2-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-2-command.json new file mode 100644 index 00000000..861d266c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-2-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "2", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-3-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-3-command.json new file mode 100644 index 00000000..9d118006 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-3-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "3", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-4-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-4-command.json new file mode 100644 index 00000000..6ead5ae9 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-4-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "4", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-5-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-5-command.json new file mode 100644 index 00000000..31e42c3c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-5-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "5", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen_runtime.py b/research-notes/smolvla-followup-20261104/screen_runtime.py new file mode 100644 index 00000000..f605a7c3 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen_runtime.py @@ -0,0 +1,20 @@ +from pathlib import Path +import json,subprocess,os +out=Path(__file__).resolve().parent/'runtime-screen' +out.mkdir(exist_ok=True) +model='/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf' +configs=[('defaults',[]),('flash',['--flash-attn']),('mm-default',['--mm-prec','default']),('flash-mm',['--flash-attn','--mm-prec','default']),('bf16',['--weight-dtype','bf16']),('bf16-flash',['--weight-dtype','bf16','--flash-attn']),('f16',['--weight-dtype','f16']),('f16-flash',['--weight-dtype','f16','--flash-attn']),('steps-5',['--num-steps','5']),('steps-3',['--num-steps','3'])] +commands=[] +for name,flags in configs: + cmd=['./build-cuda/vla-bench','--ckpt',model,'--images','2','--size','512','--tokens','16','--warmup','2','--reps','5']+flags + commands.append({'name':name,'command':cmd}) + with (out/(name+'.log')).open('w') as log: + r=subprocess.run(cmd,stdout=log,stderr=subprocess.STDOUT,timeout=180) + print(name,'bench exit',r.returncode,flush=True) + if r.returncode: continue + cmd=['./build-cuda/tests/vla_predict_check',model,'','2']+flags + commands.append({'name':name+'-output','command':cmd,'VLA_IMG_SIZE':'512'}) + with (out/(name+'.out')).open('w') as stdout,(out/(name+'-predict.log')).open('w') as stderr: + r=subprocess.run(cmd,env=dict(os.environ,VLA_IMG_SIZE='512'),stdout=stdout,stderr=stderr,timeout=180) + print(name,'output exit',r.returncode,flush=True) + (out/'commands.json').write_text(json.dumps(commands,indent=2)+'\n') diff --git a/research-notes/smolvla-followup-20261104/smoke-original/commands.json b/research-notes/smolvla-followup-20261104/smoke-original/commands.json new file mode 100644 index 00000000..89afc8cd --- /dev/null +++ b/research-notes/smolvla-followup-20261104/smoke-original/commands.json @@ -0,0 +1,34 @@ +{ + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15556", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf" + ], + "client": [ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15556", + "--task", + "libero_object", + "--task-id", + "0", + "--n-episodes", + "2", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/smoke-original/outputs" + ], + "env": { + "MUJOCO_GL": "egl", + "CUDA_VISIBLE_DEVICES": "0", + "LIBERO_CONFIG_PATH": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/libero-config" + }, + "classification": "smoke only; not screening or official SR" +} diff --git a/research-notes/smolvla-followup-20261104/smoke-original/exit.json b/research-notes/smolvla-followup-20261104/smoke-original/exit.json new file mode 100644 index 00000000..a6a57669 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/smoke-original/exit.json @@ -0,0 +1 @@ +{"client_exit": 0} diff --git a/research-notes/smolvla-followup-20261104/smoke-original/outputs/smolvla/libero_object/task_0/episodes.csv b/research-notes/smolvla-followup-20261104/smoke-original/outputs/smolvla/libero_object/task_0/episodes.csv new file mode 100644 index 00000000..9bd80551 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/smoke-original/outputs/smolvla/libero_object/task_0/episodes.csv @@ -0,0 +1,3 @@ +episode,success,steps,aborted +0,1,134,0 +1,1,159,0 diff --git a/research-notes/smolvla-followup-20261104/smoke-original/outputs/smolvla/libero_object/task_0/summary.txt b/research-notes/smolvla-followup-20261104/smoke-original/outputs/smolvla/libero_object/task_0/summary.txt new file mode 100644 index 00000000..a8c97a50 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/smoke-original/outputs/smolvla/libero_object/task_0/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_0 +n_action_steps: 1 +Success rate: 100.00% (2/2) +Skipped (terminated mid-step): 0/2 +Average inference time per step: 144.37 ms diff --git a/research-notes/smolvla-followup-20261104/smoke_candidates.py b/research-notes/smolvla-followup-20261104/smoke_candidates.py new file mode 100644 index 00000000..914bad15 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/smoke_candidates.py @@ -0,0 +1,62 @@ +"""Two LIBERO smoke episodes per new GGUF plus runtime candidate; no official SR.""" +from pathlib import Path +import csv,json,os,shlex,subprocess,threading,time +root=Path(__file__).resolve().parents[2];base=Path(__file__).resolve().parent +out=base/'candidate-smokes';out.mkdir(exist_ok=False) +source=Path('/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf') +cases=[('flash-mm',source,['--flash-attn','--mm-prec','default'])]+[(p.stem,p,[]) for p in sorted((root/'research-notes/generated-models').glob('*.gguf'))] +env={k:v for k,v in os.environ.items() if not k.startswith('VLA_')} +env.update(MUJOCO_GL='egl',CUDA_VISIBLE_DEVICES='0',LIBERO_CONFIG_PATH=str(base/'libero-config'),PYTHONUNBUFFERED='1',TOKENIZERS_PARALLELISM='false',HF_HUB_OFFLINE='1',TRANSFORMERS_OFFLINE='1') +results=[] +for name,model,flags in cases: + folder=out/name;folder.mkdir() + server_cmd=[str(root/'build-cuda/vla-server'),'--bind','tcp://127.0.0.1:15558',str(model)]+flags + client_cmd=[str(root/'eval/sim/libero/libero_uv/.venv/bin/python'),str(root/'eval/client/run_sim_client_direct.py'),'--arch','smolvla','--vla-addr','tcp://127.0.0.1:15558','--task','libero_object','--task-id','0','--n-episodes','2','--n-action-steps','1','--seed','42','--output-dir',str(folder/'outputs')] + (folder/'commands.json').write_text(json.dumps(dict(server=server_cmd,client=client_cmd,classification='smoke only',noise='repo defaults, random server RNG',tokenizer='same cached HF tokenizer, offline to freeze cached assets'),indent=2)+'\n') + (out/'progress.json').write_text(json.dumps(dict(state='running',current=name,completed=len(results),expected=len(cases)),indent=2)+'\n') + print('SMOKE starting',name,'1 task x 2 episodes',flush=True) + print('SERVER:',shlex.join(server_cmd),flush=True) + record=dict(name=name,model=str(model),flags=flags,expected_episodes=2,status='incomplete') + with (folder/'server.log').open('w') as slog: + server=subprocess.Popen(server_cmd,cwd=root,env=env,stdout=slog,stderr=subprocess.STDOUT) + try: + deadline=time.monotonic()+180 + while 'ready.' not in (folder/'server.log').read_text(): + if server.poll() is not None:raise RuntimeError('Server exited before readiness') + if time.monotonic()>deadline:raise TimeoutError('Server readiness timeout') + time.sleep(.5) + print('CLIENT:',shlex.join(client_cmd),flush=True) + with (folder/'client.log').open('w') as clog: + client=subprocess.Popen(client_cmd,cwd=root,env=env,stdout=subprocess.PIPE,stderr=subprocess.STDOUT,text=True,bufsize=1) + def pump(pipe=client.stdout,log=clog,label=name): + for line in pipe: + log.write(line);log.flush() + if line.startswith(('*** Episode','- Episode finished','- Final reward','- Success rate','*** All episodes')):print(label+': '+line.rstrip(),flush=True) + thread=threading.Thread(target=pump,daemon=True);thread.start() + try:code=client.wait(timeout=1800) + except subprocess.TimeoutExpired: + client.terminate() + try:client.wait(timeout=10) + except subprocess.TimeoutExpired:client.kill();client.wait() + raise + finally:thread.join(timeout=10) + record['client_exit']=code + if code:raise RuntimeError(f'Client exit {code}; inspect client.log') + path=folder/'outputs/smolvla/libero_object/task_0/episodes.csv' + with path.open() as f:episodes=list(csv.DictReader(f)) + record['completed_episodes']=len(episodes) + if len(episodes)!=2 or any(int(r['aborted']) for r in episodes):raise RuntimeError('Missing/aborted smoke episodes') + record.update(status='complete',successes=sum(int(r['success']) for r in episodes),steps=[int(r['steps']) for r in episodes]) + except Exception as error: + record['error']=str(error) + print('SMOKE error',name,str(error),flush=True) + finally: + server.terminate() + try:server.wait(timeout=15) + except subprocess.TimeoutExpired:server.kill();server.wait() + results.append(record) + (out/'results.json').write_text(json.dumps(results,indent=2)+'\n') + print('SMOKE result',name,record['status'],record.get('successes'),'/2',flush=True) + subprocess.run(['python3',str(base/'update_live_report.py')],check=True) + with (root/'NOTES_SMOLVLA.md').open('a') as notes:notes.write(f"\nSmoke {name}: {record['status']}, successes={record.get('successes')}/2, steps={record.get('steps')}; logs candidate-smokes/{name}. Không phải screening hoặc official.\n") +(out/'progress.json').write_text(json.dumps(dict(state='complete',completed=len(results),expected=len(cases)),indent=2)+'\n') diff --git a/research-notes/smolvla-followup-20261104/smolvla-metadata.json b/research-notes/smolvla-followup-20261104/smolvla-metadata.json new file mode 100644 index 00000000..93eb405b --- /dev/null +++ b/research-notes/smolvla-followup-20261104/smolvla-metadata.json @@ -0,0 +1,39 @@ +{ + "file": "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "gguf_version": 3, + "tensor_count": 791, + "metadata": { + "general.architecture": "smolvla", + "smolvla.architecture": "smolvla", + "smolvla.hidden": 960, + "smolvla.intermediate": 2560, + "smolvla.n_q_heads": 15, + "smolvla.n_kv_heads": 5, + "smolvla.head_dim": 64, + "smolvla.n_layers": 32, + "smolvla.vocab_size": 49280, + "smolvla.expert_h": 480, + "smolvla.expert_inter": 1280, + "smolvla.chunk_size": 50, + "smolvla.num_steps": 10, + "smolvla.max_state_dim": 32, + "smolvla.max_action_dim": 32, + "smolvla.real_state_dim": 8, + "smolvla.real_action_dim": 7, + "smolvla.self_attn_every_n_layers": 2, + "smolvla.tokenizer_max_length": 48, + "smolvla.min_period": 0.004, + "smolvla.max_period": 4.0, + "smolvla.expert_width_multiplier": 0.5, + "smolvla.norm_eps": 9.99999993922529e-09, + "smolvla.vit_hidden": 768, + "smolvla.vit_layers": 12, + "smolvla.vit_heads": 12, + "smolvla.vit_inter": 3072, + "smolvla.image_size": 512, + "smolvla.patch_size": 16, + "smolvla.vit_pixel_shuffle": 4, + "smolvla.n_img_tokens": 64, + "smolvla.vit_ln_eps": 9.999999974752427e-07 + } +} diff --git a/research-notes/smolvla-followup-20261104/summarize_graph_modules.py b/research-notes/smolvla-followup-20261104/summarize_graph_modules.py new file mode 100644 index 00000000..2e690581 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/summarize_graph_modules.py @@ -0,0 +1,33 @@ +"""Attribute GPU graph launches by verified source call order, not kernel-name guesses. + +NONE: 20 x [vision view0, vision view1, combined inference]. +PHASE: 20 x [vision view0, vision view1, KV prefill, denoise]. +Reports first-to-last kernel GPU spans; excludes CPU setup and inter-graph copies/gaps. +""" +from pathlib import Path +import argparse,json,sqlite3,statistics +ap=argparse.ArgumentParser(description=__doc__);ap.add_argument('sqlite');ap.add_argument('--mode',choices=['none','phase'],required=True);ap.add_argument('--predictions',type=int,default=20);args=ap.parse_args() +p=Path(args.sqlite);db=sqlite3.connect(p);db.row_factory=sqlite3.Row +rows=list(db.execute('SELECT graphId,correlationId,count(*) AS kernels,min(start) AS start,max(end) AS end,sum(end-start) AS kernel_sum FROM CUPTI_ACTIVITY_KIND_KERNEL WHERE graphId!=0 GROUP BY graphId,correlationId ORDER BY min(start)')) +per=3 if args.mode=='none' else 4 +if len(rows)!=args.predictions*per:raise SystemExit(f'Unexpected launch pattern: {len(rows)} vs {args.predictions*per}; do not assume module attribution') +samples=[] +for i in range(args.predictions): + r=rows[i*per:(i+1)*per] + if r[0]['graphId']!=r[1]['graphId']:raise SystemExit('First two launches are not the same vision graph') + sample={'vision_plus_connector_gpu_span_ms':sum((x['end']-x['start'])/1e6 for x in r[:2]),'vision_kernel_sum_ms':sum(x['kernel_sum']/1e6 for x in r[:2])} + labels=['combined_inference'] if args.mode=='none' else ['kv_prefill','denoise_with_cross_kv_projection'] + for row,label in zip(r[2:],labels): + sample[label+'_gpu_span_ms']=(row['end']-row['start'])/1e6 + sample[label+'_kernel_sum_ms']=row['kernel_sum']/1e6 + samples.append(sample) +extra=db.execute('SELECT count(*),coalesce(sum(end-start),0) FROM CUPTI_ACTIVITY_KIND_KERNEL WHERE graphId=0').fetchone() +summary={} +for key in samples[0]: + values=sorted(r[key] for r in samples) + def pct(q): + index=q*(len(values)-1);lo=int(index);hi=min(lo+1,len(values)-1);return values[lo]+(values[hi]-values[lo])*(index-lo) + summary[key]=dict(mean=statistics.mean(values),p50=pct(.5),p90=pct(.9)) +result=dict(mode=args.mode,predictions=args.predictions,graph_launches=len(rows),summary=summary,samples=samples,extra_non_graph_kernels={'count':extra[0],'summed_ms':extra[1]/1e6},attribution='source predict_impl order, guarded by launch cardinality and paired vision graph IDs',limitations=['GPU first-to-last kernel spans, not full CPU+GPU phase wall time','vision sums two graph launches; excludes preprocessing and inter-view copies/gaps','KV prefill is cache-producing graph, not arbitrary standalone full VLM','denoise includes cross-KV reprojection and action projections','PHASE graph/padding differ from default throughput graph']) +p.with_suffix('.modules.json').write_text(json.dumps(result,indent=2)+'\n') +print(json.dumps(summary,indent=2)) diff --git a/research-notes/smolvla-followup-20261104/summarize_kernels.py b/research-notes/smolvla-followup-20261104/summarize_kernels.py new file mode 100644 index 00000000..1b1ba256 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/summarize_kernels.py @@ -0,0 +1,49 @@ +"""Summarize a CUDA graph NODE trace; not a semantic module profiler.""" +from pathlib import Path +import argparse,collections,csv,json,re,sqlite3 +ap=argparse.ArgumentParser(description=__doc__);ap.add_argument('sqlite');args=ap.parse_args() +p=Path(args.sqlite);db=sqlite3.connect(p);db.row_factory=sqlite3.Row +tables={r[0] for r in db.execute("SELECT name FROM sqlite_master WHERE type='table'")} +if 'CUPTI_ACTIVITY_KIND_GRAPH_TRACE' in tables and db.execute('SELECT count(*) FROM CUPTI_ACTIVITY_KIND_GRAPH_TRACE').fetchone()[0]: + raise SystemExit('Whole-graph aggregate events found: use --cuda-graph-trace=node before kernel attribution') +if 'DIAGNOSTIC_EVENT' in tables: + loss=[r['text'] for r in db.execute('SELECT text FROM DIAGNOSTIC_EVENT') if any(k in r['text'].lower() for k in ['lost','drop'])] + if loss:raise SystemExit('Inspect trace completeness diagnostics before analysis: '+str(loss)) +names={r['id']:r['value'] for r in db.execute('SELECT * FROM StringIds')} +rows=list(db.execute('SELECT start,end,deviceId,demangledName FROM CUPTI_ACTIVITY_KIND_KERNEL ORDER BY start')) +if not rows:raise SystemExit('No kernel events. Verify node tracing/capture.') +if len({r['deviceId'] for r in rows})!=1:raise SystemExit('Expected one GPU; analyze each device separately') +if any(r['end']100000 for g in gaps),scope='target process activities only: first to last GPU activity within captured 20 predictions; excludes edge gaps and other processes',limitations=['summed kernel durations may overlap; use union for busy fraction','name-based categories are not exact module attribution','GEMM includes attention matmuls','node tracing overhead affects timings','gaps do not prove whole-GPU idle or a CPU bottleneck']) +p.with_suffix('.summary.json').write_text(json.dumps(summary,indent=2)+'\n') +with p.with_suffix('.kernels.csv').open('w') as f: + writer=csv.writer(f);writer.writerow(['kernel','calls','summed_ms']) + for name,(calls,duration) in sorted(by_kernel.items(),key=lambda item:item[1][1],reverse=True):writer.writerow([name,calls,duration/1e6]) +print(json.dumps(summary,indent=2)) diff --git a/research-notes/smolvla-followup-20261104/summarize_phase_boundaries.py b/research-notes/smolvla-followup-20261104/summarize_phase_boundaries.py new file mode 100644 index 00000000..8f94966d --- /dev/null +++ b/research-notes/smolvla-followup-20261104/summarize_phase_boundaries.py @@ -0,0 +1,65 @@ +"""Map PHASE GPU kernels using observed vision launches + validated K/V copy boundary. + +Handles direct launches and CUDA graph replay. Reports target GPU active kernel +union and kernel span, never equates these with end-to-end wall latency. +""" +from pathlib import Path +import argparse,json,sqlite3,statistics +ap=argparse.ArgumentParser(description=__doc__);ap.add_argument('sqlite');ap.add_argument('--workload',required=True);args=ap.parse_args() +p=Path(args.sqlite);work=json.loads(Path(args.workload).read_text());cfg=work['resolved'];reps=work['reps'];views=work['views'] +assert work['mode']=='phase' and views==2 +prefix=views*int(cfg['n_img'])+len(work['token_ids'])+int(cfg['n_state']) +copy_bytes=prefix*int(cfg['head_dim'])*int(cfg['n_kv_heads'])*4 +copies_per_predict=2*int(cfg['n_layers']) +db=sqlite3.connect(p);db.row_factory=sqlite3.Row +kernels=list(db.execute('SELECT rowid AS rid,start,end,graphId,correlationId FROM CUPTI_ACTIVITY_KIND_KERNEL ORDER BY start')) +kind=db.execute("SELECT id FROM ENUM_CUDA_MEMCPY_OPER WHERE label='Device-to-Device'").fetchone()[0] +copies=list(db.execute('SELECT start,end FROM CUPTI_ACTIVITY_KIND_MEMCPY WHERE copyKind=? AND bytes=? ORDER BY start',(kind,copy_bytes))) +assert len(copies)==reps*copies_per_predict,(len(copies),reps*copies_per_predict) +launches=list(db.execute('SELECT graphId,correlationId,min(start) AS start,max(end) AS end FROM CUPTI_ACTIVITY_KIND_KERNEL WHERE graphId IS NOT NULL AND graphId!=0 GROUP BY graphId,correlationId ORDER BY min(start)')) +assert len(launches)>=2 and launches[0]['graphId']==launches[1]['graphId'] +vision_id=launches[0]['graphId'];vision=[r for r in launches if r['graphId']==vision_id] +assert len(vision)==reps*views,(len(vision),reps*views) + +def stats(items): + assert items + intervals=[] + for k in sorted(items,key=lambda r:r['start']): + if intervals and k['start']<=intervals[-1][1]:intervals[-1][1]=max(intervals[-1][1],k['end']) + else:intervals.append([k['start'],k['end']]) + return dict(kernel_count=len(items),gpu_active_kernel_ms=sum(end-start for start,end in intervals)/1e6,gpu_kernel_span_ms=(max(k['end'] for k in items)-min(k['start'] for k in items))/1e6,direct_kernel_count=sum(k['graphId'] is None or k['graphId']==0 for k in items)) +assigned=set();samples=[] +for i in range(reps): + pair=vision[i*views:(i+1)*views] + start=pair[0]['start'];end=vision[(i+1)*views]['start'] if i+1=start and k['end']<=end] + transfer=[r for r in copies if r['start']>=start and r['end']<=end] + assert len(transfer)==copies_per_predict,(i,len(transfer),copies_per_predict) + first_copy=min(r['start'] for r in transfer);last_copy=max(r['end'] for r in transfer) + vision_k=[k for k in chunk if k['graphId']==vision_id and k['correlationId'] in [x['correlationId'] for x in pair]] + prefill=[k for k in chunk if k['start']>=pair[-1]['end'] and k['end']<=first_copy] + denoise=[k for k in chunk if k['start']>=last_copy] + groups={'vision_plus_connector':vision_k,'kv_prefill':prefill,'denoise_with_cross_kv':denoise} + ids=[k['rid'] for group in groups.values() for k in group] + assert len(ids)==len(set(ids)) + assert set(ids)=={k['rid'] for k in chunk},f'Unassigned/ambiguous kernel at prediction {i}' + assigned.update(ids) + result={'prediction':i,'kv_copy_count':len(transfer),'kv_copy_span_ms':(last_copy-first_copy)/1e6} + for name,group in groups.items(): + result[name]=stats(group) + if name=='vision_plus_connector': + # Two view graph spans do not include the CPU/copy gap between views. + result[name]['gpu_kernel_span_ms']=sum((v['end']-v['start'])/1e6 for v in pair) + samples.append(result) +assert assigned=={k['rid'] for k in kernels},'Some trace kernels lie outside mapped predictions' +summary={} +for name in ['vision_plus_connector','kv_prefill','denoise_with_cross_kv']: + summary[name]={} + for metric in ['gpu_active_kernel_ms','gpu_kernel_span_ms','kernel_count','direct_kernel_count']: + values=sorted(r[name][metric] for r in samples) + def pct(q): + index=q*(len(values)-1);lo=int(index);hi=min(lo+1,len(values)-1);return values[lo]+(values[hi]-values[lo])*(index-lo) + summary[name][metric]=dict(mean=statistics.mean(values),p50=pct(.5),p90=pct(.9)) +result=dict(trace=str(p),workload=args.workload,reps=reps,prefix_tokens=prefix,kv_copy_bytes=copy_bytes,kv_copies_per_predict=copies_per_predict,matched_kernel_count=len(assigned),summary=summary,samples=samples,attribution='source phase K/V tensor-copy boundary, validated byte size/count and full kernel coverage',limitations=['GPU active time excludes host setup, inter-kernel/phase gaps and transfer cost','GPU span can include CPU launch gaps for direct kernels','vision excludes preprocessing/inter-view transfers','prefill is cache-producing graph; denoise includes cross-KV reprojection','phase graph/padding differ from normal throughput; node tracing overhead']) +p.with_suffix('.boundaries.json').write_text(json.dumps(result,indent=2)+'\n') +print(json.dumps(summary,indent=2)) diff --git a/research-notes/smolvla-followup-20261104/summarize_runtime.py b/research-notes/smolvla-followup-20261104/summarize_runtime.py new file mode 100644 index 00000000..d9802c4b --- /dev/null +++ b/research-notes/smolvla-followup-20261104/summarize_runtime.py @@ -0,0 +1,18 @@ +from pathlib import Path +import json,re +import numpy as np +p=Path(__file__).resolve().parent/'runtime-screen' +def read(name): + lines=(p/(name+'.out')).read_text().splitlines() + index=next(i for i,s in enumerate(lines) if s.startswith('action_len=')) + return np.asarray([float(s) for s in lines[index+1:]],dtype=np.float32).reshape(50,32) +reference=read('defaults') +rows=[] +for f in sorted(p.glob('*.out')): + name=f.stem + actions=read(name) + difference=actions.astype(np.float64)-reference.astype(np.float64) + match=re.search(r'mean ([\d.]+) ms\s+p50 ([\d.]+) ms\s+p90 ([\d.]+) ms',(p/(name+'.log')).read_text()) + rows.append(dict(config=name,screen_mean_ms=float(match[1]),p50_ms=float(match[2]),p90_ms=float(match[3]),max_abs=float(np.abs(difference).max()),rmse=float(np.sqrt(np.mean(difference*difference))),bit_differences=int(np.count_nonzero(actions.view(np.uint32)!=reference.view(np.uint32))),rmse_real7=float(np.sqrt(np.mean(difference[:,:7]**2))),max_abs_real7=float(np.abs(difference[:,:7]).max()),rmse_scope_legacy='all 50x32 padded output elements',primary_scope='50x7 real action elements (exclude zero padding)')) +(p/'summary.json').write_text(json.dumps(rows,indent=2)+'\n') +print('Saved',len(rows),'runtime screen results; RMSE_real7 excludes padding.') diff --git a/research-notes/smolvla-followup-20261104/trace_kernels.py b/research-notes/smolvla-followup-20261104/trace_kernels.py new file mode 100644 index 00000000..7f02908f --- /dev/null +++ b/research-notes/smolvla-followup-20261104/trace_kernels.py @@ -0,0 +1,17 @@ +from pathlib import Path +import json,os,subprocess +root=Path(__file__).resolve().parents[2];base=Path(__file__).resolve().parent +out=base/'kernel-traces';out.mkdir(exist_ok=False) +env={k:v for k,v in os.environ.items() if not k.startswith('VLA_')} +commands=[] +for variant in ['defaults','flash-mm']: + prefix=out/variant + command=['nsys','profile','--trace=cuda','--cuda-graph-trace=node','--capture-range=cudaProfilerApi','--capture-range-end=stop','--sample=none','--cpuctxsw=none','--output='+str(prefix),str(root/'.venv/bin/python'),str(base/'profile_phase.py'),'--variant',variant,'--mode','none','--capture','--output',str(out/(variant+'-workload'))] + commands.append(command);(out/'commands.json').write_text(json.dumps(commands,indent=2)+'\n') + with (out/(variant+'-profile.log')).open('w') as log: + subprocess.run(command,cwd=root,env=env,stdout=log,stderr=subprocess.STDOUT,check=True) + with (out/(variant+'-export.log')).open('w') as log: + subprocess.run(['nsys','export','--type','sqlite','--output',str(prefix)+'.sqlite',str(prefix)+'.nsys-rep'],stdout=log,stderr=subprocess.STDOUT,check=True) + with (out/(variant+'-analysis.log')).open('w') as log: + subprocess.run(['python3',str(base/'summarize_kernels.py'),str(prefix)+'.sqlite'],stdout=log,stderr=subprocess.STDOUT,check=True) + print(variant,'node trace + analysis complete',flush=True) diff --git a/research-notes/smolvla-followup-20261104/trace_phase_modules.py b/research-notes/smolvla-followup-20261104/trace_phase_modules.py new file mode 100644 index 00000000..1206c236 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/trace_phase_modules.py @@ -0,0 +1,19 @@ +from pathlib import Path +import json,os,subprocess +root=Path(__file__).resolve().parents[2];base=Path(__file__).resolve().parent +out=base/'kernel-phase-traces';out.mkdir(exist_ok=False) +source=Path('/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf') +cases=[('defaults',source,'defaults'),('flash-mm',source,'flash-mm')]+[(name,root/'research-notes/generated-models'/(name+'.gguf'),'defaults') for name in ['smolvla-vision-spaced-10','smolvla-coupled-tail-30']] +env={k:v for k,v in os.environ.items() if not k.startswith('VLA_')} +records=[] +for name,model,variant in cases: + print('PHASE NODE TRACE starting',name,flush=True) + prefix=out/name + cmd=['nsys','profile','--trace=cuda','--cuda-graph-trace=node','--capture-range=cudaProfilerApi','--capture-range-end=stop','--sample=none','--cpuctxsw=none','--output='+str(prefix),str(root/'.venv/bin/python'),str(base/'profile_phase.py'),'--model',str(model),'--variant',variant,'--mode','phase','--capture','--output',str(out/(name+'-workload'))] + with (out/(name+'-profile.log')).open('w') as log:subprocess.run(cmd,cwd=root,env=env,stdout=log,stderr=subprocess.STDOUT,check=True) + with (out/(name+'-export.log')).open('w') as log:subprocess.run(['nsys','export','--type','sqlite','--output',str(prefix)+'.sqlite',str(prefix)+'.nsys-rep'],stdout=log,stderr=subprocess.STDOUT,check=True) + with (out/(name+'-kernel-analysis.log')).open('w') as log:subprocess.run(['python3',str(base/'summarize_kernels.py'),str(prefix)+'.sqlite'],stdout=log,stderr=subprocess.STDOUT,check=True) + with (out/(name+'-module-analysis.log')).open('w') as log:result=subprocess.run(['python3',str(base/'summarize_graph_modules.py'),str(prefix)+'.sqlite','--mode','phase'],stdout=log,stderr=subprocess.STDOUT) + records.append(dict(name=name,model=str(model),command=cmd,module_analysis_exit=result.returncode)) + (out/'runs.json').write_text(json.dumps(records,indent=2)+'\n') + print('PHASE NODE TRACE complete',name,'module analysis exit',result.returncode,flush=True) diff --git a/research-notes/smolvla-followup-20261104/update_live_report.py b/research-notes/smolvla-followup-20261104/update_live_report.py new file mode 100644 index 00000000..3173eeb8 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/update_live_report.py @@ -0,0 +1,57 @@ +"""Update only a managed status block; preserve report text outside markers.""" +from pathlib import Path +from datetime import datetime,timezone,timedelta +import json,re +root=Path(__file__).resolve().parents[2];base=Path(__file__).resolve().parent + +def load(relative,default=None): + try:return json.loads((base/relative).read_text()) + except (OSError,ValueError):return default + +screen=load('screen40-defaults/result.json',{}) +bench=load('candidate-bench/selected.json',{}) +checks={r['name']:r for r in load('candidate-checks/summary.json',[])} +memory=load('memory-all/summary.json',{}) +smokes={r['name']:r for r in load('candidate-smokes/results.json',[])} +progress=load('candidate-smokes/progress.json',{}) +pair=load('runtime-full-pair/selected.json',{}) +now=datetime.now(timezone(timedelta(hours=7))).strftime('%d/%m/%Y %H:%M:%S UTC+07') +lines=['','## Hiện trạng mới nhất',f'Cập nhật: {now}. Khối này tổng hợp dữ liệu mới; các mục phía dưới giữ lịch sử số đo.','',f"- Defaults screening: **{screen.get('successes','?')}/40**; không phải official200.",'- CUDA tests: **13/15**, hai lỗi bit-exact còn mở. Dependency client còn7metadata incompatibilities.',f"- Smoke biến thể: **{progress.get('completed',0)}/{progress.get('expected',10)} cấu hình đã hoàn tất**, đang chạy `{progress.get('current','—')}`.",'- Server cũ5555 đã được người dùng dừng sau các lượt benchmark/trace; không gán lại điều kiện đo trước đó.',''] +if pair: + lines+=['### Runtime flags — full protocol','', '| Config | Mean / p50 / p90 (ms) | Peak traced allocation (MiB) | SR biến thể |','|---|---:|---:|---|'] + for name in ['defaults','flash-mm']: + r=pair[name] + peak=1912.4694557189941 if name=='defaults' else 1040.268383026123 + sr='38/40 screening' if name=='defaults' else (str(smokes[name].get('successes'))+'/2 smoke' if name in smokes else 'chưa đo') + lines.append(f"| {name} | {r['mean_ms']} / {r['p50_ms']} / {r['p90_ms']} | {peak:.2f} | {sr} |") + lines+=['','3process/config,3warmup+20reps,2views512²/16tokens. Best process theo mean; flash+mm giảmmean19,67% trong batch đối chiếu. Allocation không bao hết context/driver, không phải NVML resident VRAM.',''] +if bench: + lines+=['### GGUF — cùng runtime defaults','', '| Model | File MiB | p50 / p90 ms | Peak allocation MiB | Max abs real7 | Smoke task0 |','|---|---:|---:|---:|---:|---|'] + for name,r in bench.items(): + file=Path(r['model']);size=f'{file.stat().st_size/1048576:.2f}' if file.exists() else '—' + peak=f"{memory[name]['peak_MiB']:.2f}" if name in memory else 'chưa xác nhận' + delta=f"{checks[name]['max_abs_real7']:.7g}" if name in checks else '—' + if name=='defaults':smoke='2/2 (lượt gốc)' + elif name in smokes: + s=smokes[name];smoke=f"{s.get('successes','?')}/2; {s['status']}" + else:smoke='chưa hoàn tất' + lines.append(f"| {name} | {size} | {r['p50_ms']} / {r['p90_ms']} | {peak} | {delta} | {smoke} |") + lines+=['','Latency bảng GGUF thuộc candidate-bench, có control riêng (khác batch runtime-pair). Mỗi config3process×(3warmup+20reps). Max abs dùng harness6token/noise cố định, không phải input16token của benchmark. Quant-lm bao gồm connector; action expert289tensor giữ float. Smoke2episode không thay screening40/official200.',''] +phase=[] +for name in ['defaults','flash-mm','smolvla-vision-spaced-10','smolvla-coupled-tail-30']: + r=load(f'kernel-phase-traces/{name}.boundaries.json') + if r:phase.append((name,r)) +if phase: + lines+=['### Phase — GPU active kernel time','', '| Config | Vision+connector ms | KV prefill ms | Denoise+crossKV ms |','|---|---:|---:|---:|'] + for name,r in phase: + x=r['summary'];lines.append(f"| {name} | {x['vision_plus_connector']['gpu_active_kernel_ms']['mean']:.3f} | {x['kv_prefill']['gpu_active_kernel_ms']['mean']:.3f} | {x['denoise_with_cross_kv']['gpu_active_kernel_ms']['mean']:.3f} |") + lines+=['','20predict sau3warmup/trace. Gán module bằng biênD2D KVcopy từ source và kiểm tra toàn bộ kernel không thiếu/trùng; có cả direct launches và graph replay. Đây là active GPU time, loại CPU/copy/gaps; phase dùng16token thực thay48slot padded nên không phải phân rã chính xác baseline throughput. Denoise chưa phải riêng action expert, vision chưa tách connector.',''] +lines+=['### Còn cần thực hiện','', '- Hoàn tất smoke các biến thể; sau đó screening40 cho cấu hình được chọn.','- Baseline official10×20 đã xếp hàng tự chạy sau smoke (`official200-runner.log`); biến thể official chưa chạy.','- Chưa có CLP/CKA/calibration/finetuning; pruning hiện là depth ablation với lựa chọn tail/spaced.','- Chưa chốt cấu hình tốt nhất: tốc độ/memory và output synthetic không chứng minh giữ SR.','','Raw data: `research-notes/smolvla-followup-20261104/` — `screen40-defaults`, `candidate-bench`, `memory-all`, `candidate-checks`, `candidate-smokes`, `kernel-phase-traces`.',''] +block='\n'.join(lines)+'\n' +p=root/'REPORT_SMOLVLA.md';text=p.read_text() +pattern=r'.*?\n?' +if re.search(pattern,text,flags=re.S):text=re.sub(pattern,lambda _:block,text,count=1,flags=re.S) +else: + first,rest=text.split('\n',1);text=first+'\n\n'+block+'\n'+rest +p.write_text(text) +print('Updated managed report block:',now) diff --git a/research-notes/smolvla-followup-20261104/user-on-off-summary.json b/research-notes/smolvla-followup-20261104/user-on-off-summary.json new file mode 100644 index 00000000..4b942429 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/user-on-off-summary.json @@ -0,0 +1,7 @@ +{ + "source": "existing user on.txt/off.txt, files read only; exit codes not independently saved", + "count": 1600, + "max_abs": 0.0005458742380142212, + "rmse_all32": 0.00010049711168250623, + "bit_differences": 350 +} diff --git a/research-notes/smolvla-followup-20261104/verify_libero.py b/research-notes/smolvla-followup-20261104/verify_libero.py new file mode 100644 index 00000000..0f4b41db --- /dev/null +++ b/research-notes/smolvla-followup-20261104/verify_libero.py @@ -0,0 +1,35 @@ +"""Run after installing LIBERO with MUJOCO_GL=egl and LIBERO_CONFIG_PATH set.""" +import importlib.metadata as md +import json +import sys +from pathlib import Path +sys.path.insert(0, str(Path(__file__).resolve().parents[2])) +import numpy as np +import torch +import mujoco +from libero.libero import benchmark,get_libero_path +from libero.libero.envs import OffScreenRenderEnv + +print('Python:',sys.version,flush=True) +for package in ['torch','torchvision','transformers','numpy','mujoco','robosuite','lerobot','gymnasium','pyarrow']: + print(package,md.version(package),flush=True) +print('torch CUDA available:',torch.cuda.is_available(),flush=True) +from eval.client import adapters, vla_cpp_client +print('repo client/adapters imports OK',flush=True) +suite=benchmark.get_benchmark_dict()['libero_object']() +task=suite.get_task(0) +print('task count:',suite.n_tasks,'task:',task.name,flush=True) +bddl=Path(get_libero_path('bddl_files'))/task.problem_folder/task.bddl_file +print('bddl:',bddl,'exists:',bddl.exists(),flush=True) +env=OffScreenRenderEnv(bddl_file_name=str(bddl),camera_heights=128,camera_widths=128) +try: + env.seed(42) + obs=env.reset() + frames={k:list(v.shape) for k,v in obs.items() if k.endswith('_image')} + print('render frames:',json.dumps(frames),flush=True) + obs,reward,done,info=env.step([0,0,0,0,0,0,-1]) + print('step OK, reward:',reward,'done:',done,flush=True) + assert frames and all(np.isfinite(obs[k]).all() for k in frames) +finally: + env.close() +print('LIBERO_INSTALL_AND_RENDER_OK',flush=True) diff --git a/research-notes/smolvla-followup-20261104/watch_live_logs.py b/research-notes/smolvla-followup-20261104/watch_live_logs.py new file mode 100644 index 00000000..624bc1a1 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/watch_live_logs.py @@ -0,0 +1,23 @@ +"""Follow official evaluation logs across tasks; Ctrl+C stops viewer only.""" +from pathlib import Path +import time +base=Path(__file__).resolve().parent +positions={} +print('Theo dõi LIBERO trực tiếp — Ctrl+C chỉ đóng bộ xem log.',flush=True) +try: + while True: + paths=[base/'official200-runner.log'] + paths+=sorted((base/'official200-defaults').glob('task-*.log'),key=lambda p:int(p.stem.split('-')[1])) + for p in paths: + try: + offset=positions.get(p,0) + if p.stat().st_size=total else ' — đang chạy') +try: + while True: + now=datetime.datetime.now(datetime.timezone(datetime.timedelta(hours=7))) + lines=['SMOLVLA — TIẾN TRÌNH TRỰC TIẾP',now.strftime('%d/%m/%Y %H:%M:%S UTC+07'),'', 'Chỉ đọc log. Ctrl+C chỉ đóng bảng này, không dừng phép đo.',''] + progress=read(base/'screen40-defaults/progress.json',{}) + lines.append(f"LIBERO screening: {progress.get('completed_episodes',0)}/40 episode; success {progress.get('successes',0)}; {progress.get('state','chưa chạy')}") + official=read(base/'official200-defaults/progress.json',{}) + lines.append(f"LIBERO official baseline: {official.get('completed_episodes',0)}/200 episode; success {official.get('successes',0)}; {official.get('state','đã xếp hàng, chờ smoke nhả GPU')}") + task_logs=list((base/'official200-defaults').glob('task-*.log')) + if task_logs: + latest=max(task_logs,key=lambda p:p.stat().st_mtime) + tail=latest.read_text(errors='replace').splitlines() + episodes=[line for line in tail if line.startswith('*** Episode')] + lines.append(f"Đang chạy {latest.stem}: {episodes[-1] if episodes else 'đang khởi tạo'}") + lines.extend(tail[-5:]) + jobs=[('Runtime full, defaults/flash','runtime-full-pair','runs.json',6),('CUDA predict, model mới','candidate-checks','summary.json',11),('Memory flash+mm','memory-flash-mm','memory-summary.json',3),('Phase profiling','phase-suite','runs.json',15),('Benchmark GGUF/control','candidate-bench','runs.json',30),('Memory workload GGUF/control','memory-all','children.json',30)] + for label,folder,file,total in jobs:lines.append(f'{label}: {count(folder,file,total)}') + traces=sum((base/'kernel-traces'/f'{name}.summary.json').exists() for name in ['defaults','flash-mm']) + lines.append(f'Kernel trace + phân tích: {traces}/2') + runs=read(base/'candidate-bench/runs.json',[]) + if runs: + last=runs[-1] + lines.extend(['',f"Benchmark vừa xong: {last['name']}, lượt {last['trial']+1}/3, {last['status']}, mean={last.get('mean_ms','N/A')} ms"]) + logs=sorted(base.glob('*runner*.log'),key=lambda p:p.stat().st_mtime,reverse=True)[:2] + for log in logs: + lines.extend(['',str(log.relative_to(root))]) + try:lines.extend(log.read_text(errors='replace').replace('\r','\n').splitlines()[-10:]) + except OSError:lines.append('Đang đợi log...') + lines.extend(['','Chi tiết kết quả: REPORT_SMOLVLA.md và NOTES_SMOLVLA.md']) + print('\033[2J\033[H'+'\n'.join(lines),flush=True) + time.sleep(2) +except KeyboardInterrupt: + print('\nĐã đóng bảng theo dõi. Các phép đo vẫn chạy trong tiến trình riêng.') diff --git a/research-notes/smolvla-followup-20261104/watch_report.py b/research-notes/smolvla-followup-20261104/watch_report.py new file mode 100644 index 00000000..bf8640c1 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/watch_report.py @@ -0,0 +1,15 @@ +"""Refresh managed report when smoke results/progress change; no GPU work.""" +from pathlib import Path +import subprocess,sys,time,json +base=Path(__file__).resolve().parent +previous=None +for _ in range(1440): + paths=[base/'candidate-smokes'/name for name in ('results.json','progress.json')] + current=tuple(p.stat().st_mtime_ns if p.exists() else None for p in paths) + if current!=previous: + subprocess.run([sys.executable,str(base/'update_live_report.py')],check=True) + previous=current + try: + if json.loads(paths[1].read_text()).get('state')=='complete':break + except (OSError,ValueError):pass + time.sleep(5) diff --git a/research-notes/smolvla-followup-20261104/watch_smoke_job.py b/research-notes/smolvla-followup-20261104/watch_smoke_job.py new file mode 100644 index 00000000..a9c08689 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/watch_smoke_job.py @@ -0,0 +1,20 @@ +"""Read-only per-episode/request progress for existing VS Code dashboard.""" +from pathlib import Path +import json,time +base=Path(__file__).resolve().parent;folder=base/'candidate-smokes' +last='' +for _ in range(1440): + try:progress=json.loads((folder/'progress.json').read_text()) + except (OSError,ValueError):time.sleep(5);continue + if progress.get('state')=='complete': + print(f"SMOKE batch complete: {progress['completed']}/{progress['expected']} configurations; inspect results.json for successes/failures",flush=True);break + name=progress.get('current','?');current=folder/name + try:client=(current/'client.log').read_text(errors='replace').splitlines() + except OSError:client=[] + episodes=[line for line in client if line.startswith('*** Episode')] + try:server=(current/'server.log').read_text(errors='replace').splitlines() + except OSError:server=[] + requests=[line for line in server if 'vla-server: rid=' in line] + status=f"SMOKE {progress.get('completed',0)}/{progress.get('expected',10)} configs completed; current={name}; {episodes[-1] if episodes else 'loading'}; {requests[-1] if requests else 'waiting for server/client'}" + if status!=last:print(status,flush=True);last=status + time.sleep(5) diff --git a/research-notes/smolvla-vram-20261104/baseline-memory-1.allocations.csv b/research-notes/smolvla-vram-20261104/baseline-memory-1.allocations.csv new file mode 100644 index 00000000..40562f95 --- /dev/null +++ b/research-notes/smolvla-vram-20261104/baseline-memory-1.allocations.csv @@ -0,0 +1,206 @@ +timestamp_ns,globalPid,deviceId,address,memKind,operation,bytes,live_bytes +1502581237,282102830465024,0,21613248512,2,0,1848760192,1848760192 +6655789021,282102830465024,0,23462936576,2,0,23592960,1872353152 +6802856113,282102830465024,0,23488102400,5,0,8,1872353160 +6802899981,282102830465024,0,23488102656,5,0,128,1872353288 +6802900359,282102830465024,0,23488102912,5,0,1024,1872354312 +6802900791,282102830465024,0,23488103936,5,0,2048,1872356360 +6802900948,282102830465024,0,23488105984,5,0,4096,1872360456 +6802901140,282102830465024,0,23488110080,5,0,8192,1872368648 +6802901270,282102830465024,0,23488118272,5,0,1024,1872369672 +6802901430,282102830465024,0,23488119296,5,0,2048,1872371720 +6802901543,282102830465024,0,23488121344,5,0,16,1872371736 +6802901636,282102830465024,0,23488121600,5,0,16,1872371752 +6802901730,282102830465024,0,23488121856,5,0,8192,1872379944 +6875293548,282102830465024,0,23488130048,5,0,128,1872380072 +6876602555,282102830465024,0,23490199552,2,0,1024,1872381096 +6877766447,282102830465024,0,23490200576,2,0,131072,1872512168 +6878127169,282102830465024,0,23492296704,2,0,8388608,1880900776 +6879017885,282102830465024,0,23500685312,2,0,4194304,1885095080 +6882027325,282102830465024,0,34359738368,2,0,2097152,1887192232 +6885460478,282102830465024,0,23488130304,5,0,8,1887192240 +6885463551,282102830465024,0,23488130560,5,0,128,1887192368 +6885486835,282102830465024,0,23488130816,5,0,1024,1887193392 +6885487390,282102830465024,0,23488131840,5,0,2048,1887195440 +6885487706,282102830465024,0,23488133888,5,0,4096,1887199536 +6885487934,282102830465024,0,23488137984,5,0,8192,1887207728 +6885488126,282102830465024,0,23488146176,5,0,1024,1887208752 +6885488366,282102830465024,0,23488147200,5,0,2048,1887210800 +6885488556,282102830465024,0,23488149248,5,0,16,1887210816 +6885488679,282102830465024,0,23488149504,5,0,16,1887210832 +6885488873,282102830465024,0,23488149760,5,0,8192,1887219024 +6886125989,282102830465024,0,34361835520,2,0,2097152,1889316176 +7665424832,282102830465024,0,23488157952,5,0,8,1889316184 +7665433745,282102830465024,0,23488158208,5,0,128,1889316312 +7665434175,282102830465024,0,23488158464,5,0,1024,1889317336 +7665444467,282102830465024,0,23488159488,5,0,2048,1889319384 +7665445667,282102830465024,0,23488161536,5,0,4096,1889323480 +7665446392,282102830465024,0,23488165632,5,0,8192,1889331672 +7665447013,282102830465024,0,23488173824,5,0,1024,1889332696 +7665492947,282102830465024,0,23488174848,5,0,2048,1889334744 +7665493450,282102830465024,0,23488176896,5,0,16,1889334760 +7665496676,282102830465024,0,23488177152,5,0,16,1889334776 +7665496905,282102830465024,0,23488177408,5,0,8192,1889342968 +7705107136,282102830465024,0,23488185600,5,0,8,1889342976 +7705110792,282102830465024,0,23488185856,5,0,128,1889343104 +7705111270,282102830465024,0,23488186112,5,0,1024,1889344128 +7705111954,282102830465024,0,23488187136,5,0,2048,1889346176 +7705112752,282102830465024,0,23488189184,5,0,4096,1889350272 +7705113084,282102830465024,0,23488193280,5,0,8192,1889358464 +7705114236,282102830465024,0,23488201472,5,0,1024,1889359488 +7705114753,282102830465024,0,23488202496,5,0,2048,1889361536 +7705118043,282102830465024,0,23488204544,5,0,16,1889361552 +7705118555,282102830465024,0,23488204800,5,0,16,1889361568 +7705118775,282102830465024,0,23488205056,5,0,8192,1889369760 +8256822983,282102830465024,0,23490331648,2,0,1024,1889370784 +8256854487,282102830465024,0,23490332672,2,0,131072,1889501856 +8257305907,282102830465024,0,23506976768,2,0,8388608,1897890464 +8258293874,282102830465024,0,23515365376,2,0,4194304,1902084768 +8258789305,282102830465024,0,23490463744,2,0,1179648,1903264416 +8259195101,282102830465024,0,23519559680,2,0,1572864,1904837280 +8259644790,282102830465024,0,23521656832,2,0,3145728,1907983008 +8259948735,282102830465024,0,23525851136,2,0,3145728,1911128736 +9080946793,282102830465024,0,23532142592,2,0,1572864,1912701600 +9081373815,282102830465024,0,23534239744,2,0,3145728,1915847328 +9082676997,282102830465024,0,23538434048,2,0,4194304,1920041632 +9082767171,282102830465024,0,23521132544,2,0,4,1920041636 +9281028439,282102830465024,0,23532142592,2,1,1572864,1918468772 +9281939046,282102830465024,0,23534239744,2,1,3145728,1915323044 +9282189978,282102830465024,0,23490463744,2,1,1179648,1914143396 +9282199110,282102830465024,0,23519559680,2,1,1572864,1912570532 +9282201803,282102830465024,0,23521656832,2,1,3145728,1909424804 +9282451876,282102830465024,0,23525851136,2,1,3145728,1906279076 +9346994247,282102830465024,0,23532142592,2,0,3145728,1909424804 +9347531559,282102830465024,0,23521656832,2,0,3145728,1912570532 +9347999017,282102830465024,0,23525851136,2,0,3145728,1915716260 +9348485836,282102830465024,0,23542628352,2,0,3145728,1918861988 +9348846311,282102830465024,0,23546822656,2,0,3145728,1922007716 +9350421850,282102830465024,0,23551016960,2,0,50331648,1972339364 +9350767402,282102830465024,0,23601348608,2,0,3145728,1975485092 +9926157778,282102830465024,0,23488213248,5,0,16,1975485108 +9926162553,282102830465024,0,23488213264,5,0,16,1975485124 +9999630097,282102830465024,0,23532142592,2,1,3145728,1972339396 +10000162807,282102830465024,0,23521656832,2,1,3145728,1969193668 +10000413630,282102830465024,0,23525851136,2,1,3145728,1966047940 +10000624590,282102830465024,0,23542628352,2,1,3145728,1962902212 +10000926647,282102830465024,0,23546822656,2,1,3145728,1959756484 +10001776519,282102830465024,0,23532142592,2,0,4718592,1964475076 +10001786332,282102830465024,0,23519559680,2,0,1572864,1966047940 +10002055013,282102830465024,0,23605542912,2,0,12582912,1978630852 +10002398380,282102830465024,0,23618125824,2,0,12582912,1991213764 +10034068933,282102830465024,0,23488213504,5,0,16,1991213780 +10034071803,282102830465024,0,23488213520,5,0,16,1991213796 +10035557755,282102830465024,0,23490463744,2,0,1572864,1992786660 +10035835804,282102830465024,0,23630708736,2,0,12582912,2005369572 +10159102782,282102830465024,0,23490463744,2,1,1572864,2003796708 +10159116407,282102830465024,0,23630708736,2,1,12582912,1991213796 +10159608159,282102830465024,0,23532142592,2,1,4718592,1986495204 +10159826954,282102830465024,0,23519559680,2,1,1572864,1984922340 +10159831094,282102830465024,0,23605542912,2,1,12582912,1972339428 +10159993141,282102830465024,0,23618125824,2,1,12582912,1959756516 +10160932217,282102830465024,0,23523753984,2,0,4718592,1964475108 +10161216654,282102830465024,0,23532142592,2,0,6291456,1970766564 +10161419234,282102830465024,0,23542628352,2,0,3145728,1973912292 +10161666042,282102830465024,0,23546822656,2,0,3145728,1977058020 +10162130293,282102830465024,0,23605542912,2,0,6291456,1983349476 +10162362778,282102830465024,0,23611834368,2,0,3145728,1986495204 +10163080986,282102830465024,0,23605542912,2,1,6291456,1980203748 +10163316118,282102830465024,0,23611834368,2,1,3145728,1977058020 +10163468492,282102830465024,0,23523753984,2,1,4718592,1972339428 +10163594910,282102830465024,0,23532142592,2,1,6291456,1966047972 +10163727056,282102830465024,0,23542628352,2,1,3145728,1962902244 +10163854683,282102830465024,0,23546822656,2,1,3145728,1959756516 +10191188056,282102830465024,0,23488213760,5,0,8,1959756524 +10191244966,282102830465024,0,23488214016,5,0,128,1959756652 +10191248131,282102830465024,0,23488214272,5,0,1024,1959757676 +10191251664,282102830465024,0,23488215296,5,0,2048,1959759724 +10191251894,282102830465024,0,23488217344,5,0,4096,1959763820 +10191252530,282102830465024,0,23488221440,5,0,8192,1959772012 +10191253350,282102830465024,0,23488229632,5,0,1024,1959773036 +10191253988,282102830465024,0,23488230656,5,0,2048,1959775084 +10191254222,282102830465024,0,23488232704,5,0,16,1959775100 +10191254970,282102830465024,0,23488232960,5,0,16,1959775116 +10191255662,282102830465024,0,23488233216,5,0,8192,1959783308 +10276296436,282102830465024,0,23605542912,2,0,16641664,1976424972 +10396991594,282102830465024,0,23488241408,5,0,8,1976424980 +10397006834,282102830465024,0,23488241664,5,0,128,1976425108 +10397008009,282102830465024,0,23488241920,5,0,1024,1976426132 +10397008636,282102830465024,0,23488242944,5,0,2048,1976428180 +10397009325,282102830465024,0,23488244992,5,0,4096,1976432276 +10397009470,282102830465024,0,23488249088,5,0,8192,1976440468 +10397009601,282102830465024,0,23488257280,5,0,1024,1976441492 +10397010170,282102830465024,0,23488258304,5,0,2048,1976443540 +10397019420,282102830465024,0,23488260352,5,0,16,1976443556 +10397020406,282102830465024,0,23488260608,5,0,16,1976443572 +10397022598,282102830465024,0,23488260864,5,0,8192,1976451764 +10532415769,282102830465024,0,23488269056,5,0,8,1976451772 +10532420386,282102830465024,0,23488269312,5,0,128,1976451900 +10532422133,282102830465024,0,23488269568,5,0,1024,1976452924 +10532422823,282102830465024,0,23488270592,5,0,2048,1976454972 +10532423375,282102830465024,0,23488272640,5,0,4096,1976459068 +10532423940,282102830465024,0,23488276736,5,0,8192,1976467260 +10532424186,282102830465024,0,23488284928,5,0,1024,1976468284 +10532424286,282102830465024,0,23488285952,5,0,2048,1976470332 +10532424402,282102830465024,0,23488288000,5,0,16,1976470348 +10532424932,282102830465024,0,23488288256,5,0,16,1976470364 +10532425034,282102830465024,0,23488288512,5,0,8192,1976478556 +10543509647,282102830465024,0,23488296704,5,0,8,1976478564 +10543513223,282102830465024,0,23488296960,5,0,128,1976478692 +10543514002,282102830465024,0,23488297216,5,0,1024,1976479716 +10543514511,282102830465024,0,23488298240,5,0,2048,1976481764 +10543515219,282102830465024,0,23488300288,5,0,4096,1976485860 +10543515468,282102830465024,0,23488304384,5,0,8192,1976494052 +10543525860,282102830465024,0,23488312576,5,0,1024,1976495076 +10543526819,282102830465024,0,23488313600,5,0,2048,1976497124 +10543528211,282102830465024,0,23488315648,5,0,16,1976497140 +10543528373,282102830465024,0,23488315904,5,0,16,1976497156 +10543529304,282102830465024,0,23488316160,5,0,8192,1976505348 +10546125605,282102830465024,0,23488324352,5,0,8,1976505356 +10546128634,282102830465024,0,23488324608,5,0,128,1976505484 +10546129275,282102830465024,0,23488324864,5,0,1024,1976506508 +10546129701,282102830465024,0,23488325888,5,0,2048,1976508556 +10546131060,282102830465024,0,23488327936,5,0,4096,1976512652 +10546131238,282102830465024,0,23488332032,5,0,8192,1976520844 +10546131628,282102830465024,0,23488340224,5,0,1024,1976521868 +10546131883,282102830465024,0,23488341248,5,0,2048,1976523916 +10546132519,282102830465024,0,23488343296,5,0,16,1976523932 +10546132667,282102830465024,0,23488343552,5,0,16,1976523948 +10546133042,282102830465024,0,23488343808,5,0,8192,1976532140 +10644375552,282102830465024,0,23488352000,5,0,8,1976532148 +10644381944,282102830465024,0,23488352256,5,0,128,1976532276 +10644382322,282102830465024,0,23488352512,5,0,1024,1976533300 +10644382665,282102830465024,0,23488353536,5,0,2048,1976535348 +10644382909,282102830465024,0,23488355584,5,0,4096,1976539444 +10644383087,282102830465024,0,23488359680,5,0,8192,1976547636 +10644384120,282102830465024,0,23488367872,5,0,1024,1976548660 +10644385527,282102830465024,0,23488368896,5,0,2048,1976550708 +10644386391,282102830465024,0,23488370944,5,0,16,1976550724 +10644386536,282102830465024,0,23488371200,5,0,16,1976550740 +10644387091,282102830465024,0,23488371456,5,0,8192,1976558932 +10755956821,282102830465024,0,23488379648,5,0,8,1976558940 +10755960997,282102830465024,0,23488379904,5,0,128,1976559068 +10755962250,282102830465024,0,23488380160,5,0,1024,1976560092 +10755963162,282102830465024,0,23488381184,5,0,2048,1976562140 +10755964084,282102830465024,0,23488383232,5,0,4096,1976566236 +10755964375,282102830465024,0,23488387328,5,0,8192,1976574428 +10755965408,282102830465024,0,23488395520,5,0,1024,1976575452 +10755966041,282102830465024,0,23488396544,5,0,2048,1976577500 +10755966253,282102830465024,0,23488398592,5,0,16,1976577516 +10755966469,282102830465024,0,23488398848,5,0,16,1976577532 +10755967427,282102830465024,0,23488399104,5,0,8192,1976585724 +10755967612,282102830465024,0,23488407296,5,0,19,1976585743 +10755968276,282102830465024,0,23488407552,5,0,19,1976585762 +10755976882,282102830465024,0,23488407808,5,0,19,1976585781 +10755977102,282102830465024,0,23488408064,5,0,19,1976585800 +10755995093,282102830465024,0,23488408320,5,0,113,1976585913 +10755995475,282102830465024,0,23488408576,5,0,115,1976586028 +10755995803,282102830465024,0,23488408832,5,0,4,1976586032 +13854064946,282102830465024,0,21613248512,2,1,1848760192,127825840 +13867442471,282102830465024,0,23490199552,2,1,1024,127824816 +13867461873,282102830465024,0,23490200576,2,1,131072,127693744 +13867468500,282102830465024,0,23492296704,2,1,8388608,119305136 +13867827525,282102830465024,0,23500685312,2,1,4194304,115110832 +13868038481,282102830465024,0,34359738368,2,1,2097152,113013680 +13868374065,282102830465024,0,34361835520,2,1,2097152,110916528 +13876041836,282102830465024,0,23605542912,2,1,16641664,94274864 +13876676736,282102830465024,0,23462936576,2,1,23592960,70681904 diff --git a/research-notes/smolvla-vram-20261104/baseline-memory-2.allocations.csv b/research-notes/smolvla-vram-20261104/baseline-memory-2.allocations.csv new file mode 100644 index 00000000..ea963824 --- /dev/null +++ b/research-notes/smolvla-vram-20261104/baseline-memory-2.allocations.csv @@ -0,0 +1,206 @@ +timestamp_ns,globalPid,deviceId,address,memKind,operation,bytes,live_bytes +985680525,282111672057856,0,21613248512,2,0,1848760192,1848760192 +2472468455,282111672057856,0,23462936576,2,0,23592960,1872353152 +2511078379,282111672057856,0,23488102400,5,0,8,1872353160 +2511089784,282111672057856,0,23488102656,5,0,128,1872353288 +2511090154,282111672057856,0,23488102912,5,0,1024,1872354312 +2511090868,282111672057856,0,23488103936,5,0,2048,1872356360 +2511091023,282111672057856,0,23488105984,5,0,4096,1872360456 +2511091173,282111672057856,0,23488110080,5,0,8192,1872368648 +2511091305,282111672057856,0,23488118272,5,0,1024,1872369672 +2511091490,282111672057856,0,23488119296,5,0,2048,1872371720 +2511091652,282111672057856,0,23488121344,5,0,16,1872371736 +2511091769,282111672057856,0,23488121600,5,0,16,1872371752 +2511091875,282111672057856,0,23488121856,5,0,8192,1872379944 +2532557565,282111672057856,0,23488130048,5,0,128,1872380072 +2533468141,282111672057856,0,23490199552,2,0,1024,1872381096 +2534168111,282111672057856,0,23490200576,2,0,131072,1872512168 +2534450743,282111672057856,0,23492296704,2,0,8388608,1880900776 +2534713848,282111672057856,0,23500685312,2,0,4194304,1885095080 +2535946746,282111672057856,0,34359738368,2,0,2097152,1887192232 +2537790351,282111672057856,0,23488130304,5,0,8,1887192240 +2537792287,282111672057856,0,23488130560,5,0,128,1887192368 +2537820653,282111672057856,0,23488130816,5,0,1024,1887193392 +2537821105,282111672057856,0,23488131840,5,0,2048,1887195440 +2537821345,282111672057856,0,23488133888,5,0,4096,1887199536 +2537821519,282111672057856,0,23488137984,5,0,8192,1887207728 +2537823069,282111672057856,0,23488146176,5,0,1024,1887208752 +2537823364,282111672057856,0,23488147200,5,0,2048,1887210800 +2537823514,282111672057856,0,23488149248,5,0,16,1887210816 +2537823765,282111672057856,0,23488149504,5,0,16,1887210832 +2537823921,282111672057856,0,23488149760,5,0,8192,1887219024 +2538197503,282111672057856,0,34361835520,2,0,2097152,1889316176 +2664576152,282111672057856,0,23488157952,5,0,8,1889316184 +2664591898,282111672057856,0,23488158208,5,0,128,1889316312 +2664592478,282111672057856,0,23488158464,5,0,1024,1889317336 +2664593013,282111672057856,0,23488159488,5,0,2048,1889319384 +2664593739,282111672057856,0,23488161536,5,0,4096,1889323480 +2664594061,282111672057856,0,23488165632,5,0,8192,1889331672 +2664594207,282111672057856,0,23488173824,5,0,1024,1889332696 +2664596671,282111672057856,0,23488174848,5,0,2048,1889334744 +2664596811,282111672057856,0,23488176896,5,0,16,1889334760 +2664599309,282111672057856,0,23488177152,5,0,16,1889334776 +2664599441,282111672057856,0,23488177408,5,0,8192,1889342968 +2671664900,282111672057856,0,23488185600,5,0,8,1889342976 +2671667009,282111672057856,0,23488185856,5,0,128,1889343104 +2671667753,282111672057856,0,23488186112,5,0,1024,1889344128 +2671669046,282111672057856,0,23488187136,5,0,2048,1889346176 +2671669676,282111672057856,0,23488189184,5,0,4096,1889350272 +2671669950,282111672057856,0,23488193280,5,0,8192,1889358464 +2671670167,282111672057856,0,23488201472,5,0,1024,1889359488 +2671670834,282111672057856,0,23488202496,5,0,2048,1889361536 +2671673126,282111672057856,0,23488204544,5,0,16,1889361552 +2671673371,282111672057856,0,23488204800,5,0,16,1889361568 +2671673599,282111672057856,0,23488205056,5,0,8192,1889369760 +2755978289,282111672057856,0,23490331648,2,0,1024,1889370784 +2755988765,282111672057856,0,23490332672,2,0,131072,1889501856 +2756590820,282111672057856,0,23506976768,2,0,8388608,1897890464 +2757260246,282111672057856,0,23515365376,2,0,4194304,1902084768 +2757358410,282111672057856,0,23490463744,2,0,1179648,1903264416 +2757745821,282111672057856,0,23519559680,2,0,1572864,1904837280 +2758046926,282111672057856,0,23521656832,2,0,3145728,1907983008 +2758307425,282111672057856,0,23525851136,2,0,3145728,1911128736 +2869894870,282111672057856,0,23532142592,2,0,1572864,1912701600 +2870349946,282111672057856,0,23534239744,2,0,3145728,1915847328 +2870888646,282111672057856,0,23538434048,2,0,4194304,1920041632 +2870940932,282111672057856,0,23521132544,2,0,4,1920041636 +2958133345,282111672057856,0,23532142592,2,1,1572864,1918468772 +2958467012,282111672057856,0,23534239744,2,1,3145728,1915323044 +2958648925,282111672057856,0,23490463744,2,1,1179648,1914143396 +2958659844,282111672057856,0,23519559680,2,1,1572864,1912570532 +2958662576,282111672057856,0,23521656832,2,1,3145728,1909424804 +2958830310,282111672057856,0,23525851136,2,1,3145728,1906279076 +2970678247,282111672057856,0,23532142592,2,0,3145728,1909424804 +2971011650,282111672057856,0,23521656832,2,0,3145728,1912570532 +2971376358,282111672057856,0,23525851136,2,0,3145728,1915716260 +2971732348,282111672057856,0,23542628352,2,0,3145728,1918861988 +2972024375,282111672057856,0,23546822656,2,0,3145728,1922007716 +2973263003,282111672057856,0,23551016960,2,0,50331648,1972339364 +2973645836,282111672057856,0,23601348608,2,0,3145728,1975485092 +3071057572,282111672057856,0,23488213248,5,0,16,1975485108 +3071060955,282111672057856,0,23488213264,5,0,16,1975485124 +3083569901,282111672057856,0,23532142592,2,1,3145728,1972339396 +3083980735,282111672057856,0,23521656832,2,1,3145728,1969193668 +3084160690,282111672057856,0,23525851136,2,1,3145728,1966047940 +3084359060,282111672057856,0,23542628352,2,1,3145728,1962902212 +3084584490,282111672057856,0,23546822656,2,1,3145728,1959756484 +3085615891,282111672057856,0,23532142592,2,0,4718592,1964475076 +3085624159,282111672057856,0,23519559680,2,0,1572864,1966047940 +3086019112,282111672057856,0,23605542912,2,0,12582912,1978630852 +3086354431,282111672057856,0,23618125824,2,0,12582912,1991213764 +3091377457,282111672057856,0,23488213504,5,0,16,1991213780 +3091380055,282111672057856,0,23488213520,5,0,16,1991213796 +3093366438,282111672057856,0,23490463744,2,0,1572864,1992786660 +3093752794,282111672057856,0,23630708736,2,0,12582912,2005369572 +3217670310,282111672057856,0,23490463744,2,1,1572864,2003796708 +3217684572,282111672057856,0,23630708736,2,1,12582912,1991213796 +3218233585,282111672057856,0,23532142592,2,1,4718592,1986495204 +3218441712,282111672057856,0,23519559680,2,1,1572864,1984922340 +3218446590,282111672057856,0,23605542912,2,1,12582912,1972339428 +3218730329,282111672057856,0,23618125824,2,1,12582912,1959756516 +3219590931,282111672057856,0,23523753984,2,0,4718592,1964475108 +3219854257,282111672057856,0,23532142592,2,0,6291456,1970766564 +3220123780,282111672057856,0,23542628352,2,0,3145728,1973912292 +3220349113,282111672057856,0,23546822656,2,0,3145728,1977058020 +3220785305,282111672057856,0,23605542912,2,0,6291456,1983349476 +3221028618,282111672057856,0,23611834368,2,0,3145728,1986495204 +3221694596,282111672057856,0,23605542912,2,1,6291456,1980203748 +3221878708,282111672057856,0,23611834368,2,1,3145728,1977058020 +3222050617,282111672057856,0,23523753984,2,1,4718592,1972339428 +3222204503,282111672057856,0,23532142592,2,1,6291456,1966047972 +3222365259,282111672057856,0,23542628352,2,1,3145728,1962902244 +3222530541,282111672057856,0,23546822656,2,1,3145728,1959756516 +3250708752,282111672057856,0,23488213760,5,0,8,1959756524 +3250713556,282111672057856,0,23488214016,5,0,128,1959756652 +3250714793,282111672057856,0,23488214272,5,0,1024,1959757676 +3250718283,282111672057856,0,23488215296,5,0,2048,1959759724 +3250718689,282111672057856,0,23488217344,5,0,4096,1959763820 +3250719267,282111672057856,0,23488221440,5,0,8192,1959772012 +3250720015,282111672057856,0,23488229632,5,0,1024,1959773036 +3250720612,282111672057856,0,23488230656,5,0,2048,1959775084 +3250721825,282111672057856,0,23488232704,5,0,16,1959775100 +3250722404,282111672057856,0,23488232960,5,0,16,1959775116 +3250722681,282111672057856,0,23488233216,5,0,8192,1959783308 +3301629084,282111672057856,0,23605542912,2,0,16641664,1976424972 +3316403285,282111672057856,0,23488241408,5,0,8,1976424980 +3316405752,282111672057856,0,23488241664,5,0,128,1976425108 +3316407250,282111672057856,0,23488241920,5,0,1024,1976426132 +3316407839,282111672057856,0,23488242944,5,0,2048,1976428180 +3316408001,282111672057856,0,23488244992,5,0,4096,1976432276 +3316408964,282111672057856,0,23488249088,5,0,8192,1976440468 +3316409099,282111672057856,0,23488257280,5,0,1024,1976441492 +3316409963,282111672057856,0,23488258304,5,0,2048,1976443540 +3316410146,282111672057856,0,23488260352,5,0,16,1976443556 +3316410792,282111672057856,0,23488260608,5,0,16,1976443572 +3316411320,282111672057856,0,23488260864,5,0,8192,1976451764 +3334503233,282111672057856,0,23488269056,5,0,8,1976451772 +3334505778,282111672057856,0,23488269312,5,0,128,1976451900 +3334506207,282111672057856,0,23488269568,5,0,1024,1976452924 +3334506793,282111672057856,0,23488270592,5,0,2048,1976454972 +3334507004,282111672057856,0,23488272640,5,0,4096,1976459068 +3334508420,282111672057856,0,23488276736,5,0,8192,1976467260 +3334508572,282111672057856,0,23488284928,5,0,1024,1976468284 +3334508818,282111672057856,0,23488285952,5,0,2048,1976470332 +3334509473,282111672057856,0,23488288000,5,0,16,1976470348 +3334510140,282111672057856,0,23488288256,5,0,16,1976470364 +3334510789,282111672057856,0,23488288512,5,0,8192,1976478556 +3336741535,282111672057856,0,23488296704,5,0,8,1976478564 +3336743075,282111672057856,0,23488296960,5,0,128,1976478692 +3336745994,282111672057856,0,23488297216,5,0,1024,1976479716 +3336746555,282111672057856,0,23488298240,5,0,2048,1976481764 +3336747366,282111672057856,0,23488300288,5,0,4096,1976485860 +3336748073,282111672057856,0,23488304384,5,0,8192,1976494052 +3336749437,282111672057856,0,23488312576,5,0,1024,1976495076 +3336749635,282111672057856,0,23488313600,5,0,2048,1976497124 +3336749738,282111672057856,0,23488315648,5,0,16,1976497140 +3336750109,282111672057856,0,23488315904,5,0,16,1976497156 +3336751175,282111672057856,0,23488316160,5,0,8192,1976505348 +3337457305,282111672057856,0,23488324352,5,0,8,1976505356 +3337458827,282111672057856,0,23488324608,5,0,128,1976505484 +3337459089,282111672057856,0,23488324864,5,0,1024,1976506508 +3337459300,282111672057856,0,23488325888,5,0,2048,1976508556 +3337460072,282111672057856,0,23488327936,5,0,4096,1976512652 +3337461026,282111672057856,0,23488332032,5,0,8192,1976520844 +3337461475,282111672057856,0,23488340224,5,0,1024,1976521868 +3337461717,282111672057856,0,23488341248,5,0,2048,1976523916 +3337462288,282111672057856,0,23488343296,5,0,16,1976523932 +3337462426,282111672057856,0,23488343552,5,0,16,1976523948 +3337462584,282111672057856,0,23488343808,5,0,8192,1976532140 +3350450707,282111672057856,0,23488352000,5,0,8,1976532148 +3350453492,282111672057856,0,23488352256,5,0,128,1976532276 +3350455565,282111672057856,0,23488352512,5,0,1024,1976533300 +3350455757,282111672057856,0,23488353536,5,0,2048,1976535348 +3350456312,282111672057856,0,23488355584,5,0,4096,1976539444 +3350456970,282111672057856,0,23488359680,5,0,8192,1976547636 +3350457250,282111672057856,0,23488367872,5,0,1024,1976548660 +3350457896,282111672057856,0,23488368896,5,0,2048,1976550708 +3350458756,282111672057856,0,23488370944,5,0,16,1976550724 +3350459722,282111672057856,0,23488371200,5,0,16,1976550740 +3350460507,282111672057856,0,23488371456,5,0,8192,1976558932 +3370965324,282111672057856,0,23488379648,5,0,8,1976558940 +3370968471,282111672057856,0,23488379904,5,0,128,1976559068 +3370969813,282111672057856,0,23488380160,5,0,1024,1976560092 +3370974942,282111672057856,0,23488381184,5,0,2048,1976562140 +3370975606,282111672057856,0,23488383232,5,0,4096,1976566236 +3370975851,282111672057856,0,23488387328,5,0,8192,1976574428 +3370976840,282111672057856,0,23488395520,5,0,1024,1976575452 +3370977773,282111672057856,0,23488396544,5,0,2048,1976577500 +3370978378,282111672057856,0,23488398592,5,0,16,1976577516 +3370978517,282111672057856,0,23488398848,5,0,16,1976577532 +3370979107,282111672057856,0,23488399104,5,0,8192,1976585724 +3370979292,282111672057856,0,23488407296,5,0,19,1976585743 +3370981201,282111672057856,0,23488407552,5,0,19,1976585762 +3370989345,282111672057856,0,23488407808,5,0,19,1976585781 +3370989565,282111672057856,0,23488408064,5,0,19,1976585800 +3370989720,282111672057856,0,23488408320,5,0,113,1976585913 +3370989898,282111672057856,0,23488408576,5,0,115,1976586028 +3370990116,282111672057856,0,23488408832,5,0,4,1976586032 +6077588201,282111672057856,0,21613248512,2,1,1848760192,127825840 +6086494294,282111672057856,0,23490199552,2,1,1024,127824816 +6086514174,282111672057856,0,23490200576,2,1,131072,127693744 +6086519767,282111672057856,0,23492296704,2,1,8388608,119305136 +6086703142,282111672057856,0,23500685312,2,1,4194304,115110832 +6086926944,282111672057856,0,34359738368,2,1,2097152,113013680 +6087195833,282111672057856,0,34361835520,2,1,2097152,110916528 +6094970282,282111672057856,0,23605542912,2,1,16641664,94274864 +6095638212,282111672057856,0,23462936576,2,1,23592960,70681904 diff --git a/research-notes/smolvla-vram-20261104/baseline-memory-3.allocations.csv b/research-notes/smolvla-vram-20261104/baseline-memory-3.allocations.csv new file mode 100644 index 00000000..a76ebda3 --- /dev/null +++ b/research-notes/smolvla-vram-20261104/baseline-memory-3.allocations.csv @@ -0,0 +1,206 @@ +timestamp_ns,globalPid,deviceId,address,memKind,operation,bytes,live_bytes +596197509,282113601437696,0,21613248512,2,0,1848760192,1848760192 +1725299700,282113601437696,0,23462936576,2,0,23592960,1872353152 +1728449722,282113601437696,0,23488102400,5,0,8,1872353160 +1728457339,282113601437696,0,23488102656,5,0,128,1872353288 +1728457609,282113601437696,0,23488102912,5,0,1024,1872354312 +1728457993,282113601437696,0,23488103936,5,0,2048,1872356360 +1728458182,282113601437696,0,23488105984,5,0,4096,1872360456 +1728458351,282113601437696,0,23488110080,5,0,8192,1872368648 +1728458482,282113601437696,0,23488118272,5,0,1024,1872369672 +1728458665,282113601437696,0,23488119296,5,0,2048,1872371720 +1728458771,282113601437696,0,23488121344,5,0,16,1872371736 +1728458887,282113601437696,0,23488121600,5,0,16,1872371752 +1728458988,282113601437696,0,23488121856,5,0,8192,1872379944 +1729630857,282113601437696,0,23488130048,5,0,128,1872380072 +1729950976,282113601437696,0,23490199552,2,0,1024,1872381096 +1729992870,282113601437696,0,23490200576,2,0,131072,1872512168 +1730284331,282113601437696,0,23492296704,2,0,8388608,1880900776 +1730537953,282113601437696,0,23500685312,2,0,4194304,1885095080 +1730839593,282113601437696,0,34359738368,2,0,2097152,1887192232 +1731639831,282113601437696,0,23488130304,5,0,8,1887192240 +1731640785,282113601437696,0,23488130560,5,0,128,1887192368 +1731643660,282113601437696,0,23488130816,5,0,1024,1887193392 +1731643839,282113601437696,0,23488131840,5,0,2048,1887195440 +1731643968,282113601437696,0,23488133888,5,0,4096,1887199536 +1731644074,282113601437696,0,23488137984,5,0,8192,1887207728 +1731644199,282113601437696,0,23488146176,5,0,1024,1887208752 +1731644298,282113601437696,0,23488147200,5,0,2048,1887210800 +1731644486,282113601437696,0,23488149248,5,0,16,1887210816 +1731644660,282113601437696,0,23488149504,5,0,16,1887210832 +1731644840,282113601437696,0,23488149760,5,0,8192,1887219024 +1732005018,282113601437696,0,34361835520,2,0,2097152,1889316176 +1784857828,282113601437696,0,23488157952,5,0,8,1889316184 +1784862032,282113601437696,0,23488158208,5,0,128,1889316312 +1784862752,282113601437696,0,23488158464,5,0,1024,1889317336 +1784863317,282113601437696,0,23488159488,5,0,2048,1889319384 +1784863721,282113601437696,0,23488161536,5,0,4096,1889323480 +1784864066,282113601437696,0,23488165632,5,0,8192,1889331672 +1784864476,282113601437696,0,23488173824,5,0,1024,1889332696 +1784866757,282113601437696,0,23488174848,5,0,2048,1889334744 +1784866918,282113601437696,0,23488176896,5,0,16,1889334760 +1784869140,282113601437696,0,23488177152,5,0,16,1889334776 +1784869335,282113601437696,0,23488177408,5,0,8192,1889342968 +1789522857,282113601437696,0,23488185600,5,0,8,1889342976 +1789524613,282113601437696,0,23488185856,5,0,128,1889343104 +1789525340,282113601437696,0,23488186112,5,0,1024,1889344128 +1789525633,282113601437696,0,23488187136,5,0,2048,1889346176 +1789525973,282113601437696,0,23488189184,5,0,4096,1889350272 +1789526338,282113601437696,0,23488193280,5,0,8192,1889358464 +1789526651,282113601437696,0,23488201472,5,0,1024,1889359488 +1789527055,282113601437696,0,23488202496,5,0,2048,1889361536 +1789529672,282113601437696,0,23488204544,5,0,16,1889361552 +1789530404,282113601437696,0,23488204800,5,0,16,1889361568 +1789530919,282113601437696,0,23488205056,5,0,8192,1889369760 +1852909583,282113601437696,0,23490331648,2,0,1024,1889370784 +1852919832,282113601437696,0,23490332672,2,0,131072,1889501856 +1853473596,282113601437696,0,23506976768,2,0,8388608,1897890464 +1854153059,282113601437696,0,23515365376,2,0,4194304,1902084768 +1854210250,282113601437696,0,23490463744,2,0,1179648,1903264416 +1854669360,282113601437696,0,23519559680,2,0,1572864,1904837280 +1855080143,282113601437696,0,23521656832,2,0,3145728,1907983008 +1855378561,282113601437696,0,23525851136,2,0,3145728,1911128736 +1954244017,282113601437696,0,23532142592,2,0,1572864,1912701600 +1954784896,282113601437696,0,23534239744,2,0,3145728,1915847328 +1955625499,282113601437696,0,23538434048,2,0,4194304,1920041632 +1955730881,282113601437696,0,23521132544,2,0,4,1920041636 +2045093667,282113601437696,0,23532142592,2,1,1572864,1918468772 +2045413041,282113601437696,0,23534239744,2,1,3145728,1915323044 +2045554390,282113601437696,0,23490463744,2,1,1179648,1914143396 +2045560725,282113601437696,0,23519559680,2,1,1572864,1912570532 +2045562737,282113601437696,0,23521656832,2,1,3145728,1909424804 +2045683616,282113601437696,0,23525851136,2,1,3145728,1906279076 +2057833656,282113601437696,0,23532142592,2,0,3145728,1909424804 +2058155586,282113601437696,0,23521656832,2,0,3145728,1912570532 +2058382316,282113601437696,0,23525851136,2,0,3145728,1915716260 +2058654787,282113601437696,0,23542628352,2,0,3145728,1918861988 +2058897747,282113601437696,0,23546822656,2,0,3145728,1922007716 +2060208446,282113601437696,0,23551016960,2,0,50331648,1972339364 +2060399799,282113601437696,0,23601348608,2,0,3145728,1975485092 +2123354386,282113601437696,0,23488213248,5,0,16,1975485108 +2123358422,282113601437696,0,23488213264,5,0,16,1975485124 +2131279784,282113601437696,0,23532142592,2,1,3145728,1972339396 +2131779820,282113601437696,0,23521656832,2,1,3145728,1969193668 +2132068422,282113601437696,0,23525851136,2,1,3145728,1966047940 +2132260898,282113601437696,0,23542628352,2,1,3145728,1962902212 +2132423224,282113601437696,0,23546822656,2,1,3145728,1959756484 +2133068385,282113601437696,0,23532142592,2,0,4718592,1964475076 +2133075866,282113601437696,0,23519559680,2,0,1572864,1966047940 +2133260644,282113601437696,0,23605542912,2,0,12582912,1978630852 +2133505560,282113601437696,0,23618125824,2,0,12582912,1991213764 +2134662579,282113601437696,0,23488213504,5,0,16,1991213780 +2134664303,282113601437696,0,23488213520,5,0,16,1991213796 +2135738110,282113601437696,0,23490463744,2,0,1572864,1992786660 +2136052450,282113601437696,0,23630708736,2,0,12582912,2005369572 +2262036516,282113601437696,0,23490463744,2,1,1572864,2003796708 +2262048205,282113601437696,0,23630708736,2,1,12582912,1991213796 +2262496814,282113601437696,0,23532142592,2,1,4718592,1986495204 +2262722913,282113601437696,0,23519559680,2,1,1572864,1984922340 +2262727486,282113601437696,0,23605542912,2,1,12582912,1972339428 +2262886631,282113601437696,0,23618125824,2,1,12582912,1959756516 +2263571967,282113601437696,0,23523753984,2,0,4718592,1964475108 +2263791186,282113601437696,0,23532142592,2,0,6291456,1970766564 +2263995589,282113601437696,0,23542628352,2,0,3145728,1973912292 +2264205857,282113601437696,0,23546822656,2,0,3145728,1977058020 +2264504081,282113601437696,0,23605542912,2,0,6291456,1983349476 +2264699492,282113601437696,0,23611834368,2,0,3145728,1986495204 +2265663366,282113601437696,0,23605542912,2,1,6291456,1980203748 +2266006569,282113601437696,0,23611834368,2,1,3145728,1977058020 +2266153357,282113601437696,0,23523753984,2,1,4718592,1972339428 +2266271743,282113601437696,0,23532142592,2,1,6291456,1966047972 +2266386424,282113601437696,0,23542628352,2,1,3145728,1962902244 +2266492740,282113601437696,0,23546822656,2,1,3145728,1959756516 +2294618261,282113601437696,0,23488213760,5,0,8,1959756524 +2294622719,282113601437696,0,23488214016,5,0,128,1959756652 +2294624851,282113601437696,0,23488214272,5,0,1024,1959757676 +2294628472,282113601437696,0,23488215296,5,0,2048,1959759724 +2294629089,282113601437696,0,23488217344,5,0,4096,1959763820 +2294629330,282113601437696,0,23488221440,5,0,8192,1959772012 +2294629564,282113601437696,0,23488229632,5,0,1024,1959773036 +2294630439,282113601437696,0,23488230656,5,0,2048,1959775084 +2294630783,282113601437696,0,23488232704,5,0,16,1959775100 +2294631287,282113601437696,0,23488232960,5,0,16,1959775116 +2294631939,282113601437696,0,23488233216,5,0,8192,1959783308 +2335981412,282113601437696,0,23605542912,2,0,16641664,1976424972 +2350967402,282113601437696,0,23488241408,5,0,8,1976424980 +2350969792,282113601437696,0,23488241664,5,0,128,1976425108 +2350970315,282113601437696,0,23488241920,5,0,1024,1976426132 +2350970530,282113601437696,0,23488242944,5,0,2048,1976428180 +2350979778,282113601437696,0,23488244992,5,0,4096,1976432276 +2350980763,282113601437696,0,23488249088,5,0,8192,1976440468 +2350980912,282113601437696,0,23488257280,5,0,1024,1976441492 +2350981849,282113601437696,0,23488258304,5,0,2048,1976443540 +2350982067,282113601437696,0,23488260352,5,0,16,1976443556 +2350982489,282113601437696,0,23488260608,5,0,16,1976443572 +2350982596,282113601437696,0,23488260864,5,0,8192,1976451764 +2369538929,282113601437696,0,23488269056,5,0,8,1976451772 +2369541215,282113601437696,0,23488269312,5,0,128,1976451900 +2369543121,282113601437696,0,23488269568,5,0,1024,1976452924 +2369543739,282113601437696,0,23488270592,5,0,2048,1976454972 +2369544043,282113601437696,0,23488272640,5,0,4096,1976459068 +2369544165,282113601437696,0,23488276736,5,0,8192,1976467260 +2369544852,282113601437696,0,23488284928,5,0,1024,1976468284 +2369545420,282113601437696,0,23488285952,5,0,2048,1976470332 +2369545537,282113601437696,0,23488288000,5,0,16,1976470348 +2369545650,282113601437696,0,23488288256,5,0,16,1976470364 +2369545751,282113601437696,0,23488288512,5,0,8192,1976478556 +2371737193,282113601437696,0,23488296704,5,0,8,1976478564 +2371738872,282113601437696,0,23488296960,5,0,128,1976478692 +2371739255,282113601437696,0,23488297216,5,0,1024,1976479716 +2371739366,282113601437696,0,23488298240,5,0,2048,1976481764 +2371739608,282113601437696,0,23488300288,5,0,4096,1976485860 +2371739869,282113601437696,0,23488304384,5,0,8192,1976494052 +2371740769,282113601437696,0,23488312576,5,0,1024,1976495076 +2371740967,282113601437696,0,23488313600,5,0,2048,1976497124 +2371741887,282113601437696,0,23488315648,5,0,16,1976497140 +2371742652,282113601437696,0,23488315904,5,0,16,1976497156 +2371742794,282113601437696,0,23488316160,5,0,8192,1976505348 +2372421643,282113601437696,0,23488324352,5,0,8,1976505356 +2372423073,282113601437696,0,23488324608,5,0,128,1976505484 +2372423959,282113601437696,0,23488324864,5,0,1024,1976506508 +2372426004,282113601437696,0,23488325888,5,0,2048,1976508556 +2372426282,282113601437696,0,23488327936,5,0,4096,1976512652 +2372426478,282113601437696,0,23488332032,5,0,8192,1976520844 +2372426613,282113601437696,0,23488340224,5,0,1024,1976521868 +2372426792,282113601437696,0,23488341248,5,0,2048,1976523916 +2372427380,282113601437696,0,23488343296,5,0,16,1976523932 +2372427541,282113601437696,0,23488343552,5,0,16,1976523948 +2372427955,282113601437696,0,23488343808,5,0,8192,1976532140 +2385629343,282113601437696,0,23488352000,5,0,8,1976532148 +2385633641,282113601437696,0,23488352256,5,0,128,1976532276 +2385634534,282113601437696,0,23488352512,5,0,1024,1976533300 +2385634807,282113601437696,0,23488353536,5,0,2048,1976535348 +2385635016,282113601437696,0,23488355584,5,0,4096,1976539444 +2385635515,282113601437696,0,23488359680,5,0,8192,1976547636 +2385635782,282113601437696,0,23488367872,5,0,1024,1976548660 +2385636415,282113601437696,0,23488368896,5,0,2048,1976550708 +2385636806,282113601437696,0,23488370944,5,0,16,1976550724 +2385637006,282113601437696,0,23488371200,5,0,16,1976550740 +2385637121,282113601437696,0,23488371456,5,0,8192,1976558932 +2398327249,282113601437696,0,23488379648,5,0,8,1976558940 +2398331124,282113601437696,0,23488379904,5,0,128,1976559068 +2398331395,282113601437696,0,23488380160,5,0,1024,1976560092 +2398332829,282113601437696,0,23488381184,5,0,2048,1976562140 +2398333728,282113601437696,0,23488383232,5,0,4096,1976566236 +2398333993,282113601437696,0,23488387328,5,0,8192,1976574428 +2398335287,282113601437696,0,23488395520,5,0,1024,1976575452 +2398335566,282113601437696,0,23488396544,5,0,2048,1976577500 +2398336667,282113601437696,0,23488398592,5,0,16,1976577516 +2398337396,282113601437696,0,23488398848,5,0,16,1976577532 +2398338450,282113601437696,0,23488399104,5,0,8192,1976585724 +2398338638,282113601437696,0,23488407296,5,0,19,1976585743 +2398338842,282113601437696,0,23488407552,5,0,19,1976585762 +2398349539,282113601437696,0,23488407808,5,0,19,1976585781 +2398349782,282113601437696,0,23488408064,5,0,19,1976585800 +2398350017,282113601437696,0,23488408320,5,0,113,1976585913 +2398350368,282113601437696,0,23488408576,5,0,115,1976586028 +2398350559,282113601437696,0,23488408832,5,0,4,1976586032 +5051210992,282113601437696,0,21613248512,2,1,1848760192,127825840 +5059716208,282113601437696,0,23490199552,2,1,1024,127824816 +5059730833,282113601437696,0,23490200576,2,1,131072,127693744 +5059736146,282113601437696,0,23492296704,2,1,8388608,119305136 +5059872423,282113601437696,0,23500685312,2,1,4194304,115110832 +5060036638,282113601437696,0,34359738368,2,1,2097152,113013680 +5060241465,282113601437696,0,34361835520,2,1,2097152,110916528 +5067699724,282113601437696,0,23605542912,2,1,16641664,94274864 +5068298785,282113601437696,0,23462936576,2,1,23592960,70681904 diff --git a/research-notes/smolvla-vram-20261104/gpu.txt b/research-notes/smolvla-vram-20261104/gpu.txt new file mode 100644 index 00000000..3943f98e --- /dev/null +++ b/research-notes/smolvla-vram-20261104/gpu.txt @@ -0,0 +1,2 @@ +name, memory.total [MiB], driver_version +NVIDIA GeForce RTX 3060 Laptop GPU, 6144 MiB, 610.62 diff --git a/research-notes/smolvla-vram-20261104/memory-summary.json b/research-notes/smolvla-vram-20261104/memory-summary.json new file mode 100644 index 00000000..1837eac6 --- /dev/null +++ b/research-notes/smolvla-vram-20261104/memory-summary.json @@ -0,0 +1,143 @@ +[ + { + "trace": "baseline-memory-1.sqlite", + "metric": "peak traced CUDA allocations (Device + Device Static), not NVML resident VRAM", + "process_device_groups": [ + { + "globalPid": 282102830465024, + "deviceId": 0, + "peak_bytes": 2005369572, + "peak_MiB": 1912.4694557189941, + "live_at_trace_end_bytes": 70681904 + } + ], + "counts": { + "allocations": 173, + "deallocations": 32 + }, + "vmm_events": [ + { + "api": "cuMemSetAccess", + "start": 6882027325, + "bytes": 2097152, + "memoryOperationType": 0 + }, + { + "api": "cuMemSetAccess", + "start": 6886125989, + "bytes": 2097152, + "memoryOperationType": 0 + }, + { + "api": "cuMemUnmap", + "start": 13868038481, + "bytes": 2097152, + "memoryOperationType": 1 + }, + { + "api": "cuMemUnmap", + "start": 13868374065, + "bytes": 2097152, + "memoryOperationType": 1 + } + ], + "unmatched_frees": 0, + "negative_live_events": 0, + "lost_or_dropped_diagnostics": [], + "allocations_still_live_at_trace_end": 141 + }, + { + "trace": "baseline-memory-2.sqlite", + "metric": "peak traced CUDA allocations (Device + Device Static), not NVML resident VRAM", + "process_device_groups": [ + { + "globalPid": 282111672057856, + "deviceId": 0, + "peak_bytes": 2005369572, + "peak_MiB": 1912.4694557189941, + "live_at_trace_end_bytes": 70681904 + } + ], + "counts": { + "allocations": 173, + "deallocations": 32 + }, + "vmm_events": [ + { + "api": "cuMemSetAccess", + "start": 2535946746, + "bytes": 2097152, + "memoryOperationType": 0 + }, + { + "api": "cuMemSetAccess", + "start": 2538197503, + "bytes": 2097152, + "memoryOperationType": 0 + }, + { + "api": "cuMemUnmap", + "start": 6086926944, + "bytes": 2097152, + "memoryOperationType": 1 + }, + { + "api": "cuMemUnmap", + "start": 6087195833, + "bytes": 2097152, + "memoryOperationType": 1 + } + ], + "unmatched_frees": 0, + "negative_live_events": 0, + "lost_or_dropped_diagnostics": [], + "allocations_still_live_at_trace_end": 141 + }, + { + "trace": "baseline-memory-3.sqlite", + "metric": "peak traced CUDA allocations (Device + Device Static), not NVML resident VRAM", + "process_device_groups": [ + { + "globalPid": 282113601437696, + "deviceId": 0, + "peak_bytes": 2005369572, + "peak_MiB": 1912.4694557189941, + "live_at_trace_end_bytes": 70681904 + } + ], + "counts": { + "allocations": 173, + "deallocations": 32 + }, + "vmm_events": [ + { + "api": "cuMemSetAccess", + "start": 1730839593, + "bytes": 2097152, + "memoryOperationType": 0 + }, + { + "api": "cuMemSetAccess", + "start": 1732005018, + "bytes": 2097152, + "memoryOperationType": 0 + }, + { + "api": "cuMemUnmap", + "start": 5060036638, + "bytes": 2097152, + "memoryOperationType": 1 + }, + { + "api": "cuMemUnmap", + "start": 5060241465, + "bytes": 2097152, + "memoryOperationType": 1 + } + ], + "unmatched_frees": 0, + "negative_live_events": 0, + "lost_or_dropped_diagnostics": [], + "allocations_still_live_at_trace_end": 141 + } +] diff --git a/research-notes/smolvla-vram-20261104/nvml-processes.txt b/research-notes/smolvla-vram-20261104/nvml-processes.txt new file mode 100644 index 00000000..9e150059 --- /dev/null +++ b/research-notes/smolvla-vram-20261104/nvml-processes.txt @@ -0,0 +1,2 @@ +pid, process_name, used_gpu_memory [MiB] +23222, [Not Found], [N/A] diff --git a/research-notes/smolvla-vram-20261104/profile-commands.json b/research-notes/smolvla-vram-20261104/profile-commands.json new file mode 100644 index 00000000..0a2f8b07 --- /dev/null +++ b/research-notes/smolvla-vram-20261104/profile-commands.json @@ -0,0 +1,71 @@ +[ + [ + "nsys", + "profile", + "--trace=cuda", + "--cuda-memory-usage=true", + "--cuda-trace-all-apis=true", + "--sample=none", + "--cpuctxsw=none", + "--output=research-notes/smolvla-vram-20261104/baseline-memory-1", + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + [ + "nsys", + "profile", + "--trace=cuda", + "--cuda-memory-usage=true", + "--cuda-trace-all-apis=true", + "--sample=none", + "--cpuctxsw=none", + "--output=research-notes/smolvla-vram-20261104/baseline-memory-2", + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ], + [ + "nsys", + "profile", + "--trace=cuda", + "--cuda-memory-usage=true", + "--cuda-trace-all-apis=true", + "--sample=none", + "--cpuctxsw=none", + "--output=research-notes/smolvla-vram-20261104/baseline-memory-3", + "/home/doris/projects/vla.cpp/build-cuda/vla-bench", + "--ckpt", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--images", + "2", + "--size", + "512", + "--tokens", + "16", + "--warmup", + "3", + "--reps", + "20" + ] +] diff --git a/research-notes/smolvla-vram-20261104/summarize_memory.py b/research-notes/smolvla-vram-20261104/summarize_memory.py new file mode 100644 index 00000000..1c1b0991 --- /dev/null +++ b/research-notes/smolvla-vram-20261104/summarize_memory.py @@ -0,0 +1,85 @@ +"""Extract per-process CUDA allocation high-water marks from nsys SQLite exports. + +Run: python3 research-notes/smolvla-vram-20261104/summarize_memory.py +Includes Device and Device Static events, excludes host/pinned memory. +This is not an NVML resident-VRAM reading and excludes unreported driver overhead. +""" +from pathlib import Path +import collections +import csv +import json +import sqlite3 + +out = Path(__file__).resolve().parent +summaries = [] +for path in sorted(out.glob('baseline-memory-*.sqlite')): + with sqlite3.connect(path) as db: + db.row_factory = sqlite3.Row + kinds = {r['label']: r['id'] for r in db.execute('SELECT * FROM ENUM_CUDA_MEM_KIND')} + ops = {r['label']: r['id'] for r in db.execute('SELECT * FROM ENUM_CUDA_DEV_MEM_EVENT_OPER')} + events = db.execute('SELECT rowid, * FROM CUDA_GPU_MEMORY_USAGE_EVENTS ORDER BY start,rowid').fetchall() + live = collections.defaultdict(int) + peak = collections.defaultdict(int) + counts = collections.Counter() + ledger = {} + unmatched = [] + negative = [] + rows = [] + for event in events: + if event['memKind'] not in (kinds['Device'], kinds['Device Static']): + continue + group = (event['globalPid'], event['deviceId']) + address = (*group, event['address']) + operation = event['memoryOperationType'] + if operation == ops['Allocation']: + if address in ledger: + raise ValueError(f'duplicate active allocation address: {address}') + ledger[address] = event['bytes'] + delta = event['bytes'] + counts['allocations'] += 1 + elif operation == ops['Deallocation']: + previous = ledger.pop(address, None) + if previous != event['bytes']: + unmatched.append(dict(event)) + delta = -event['bytes'] + counts['deallocations'] += 1 + else: + raise ValueError(f'unknown memory operation: {operation}') + live[group] += delta + peak[group] = max(peak[group], live[group]) + if live[group] < 0: + negative.append(dict(event)) + rows.append([event['start'], *group, event['address'], event['memKind'], operation, event['bytes'], live[group]]) + vmm = [dict(r) for r in db.execute(""" + SELECT s.value AS api, e.start, e.bytes, e.memoryOperationType + FROM CUDA_GPU_MEMORY_USAGE_EVENTS e + JOIN CUPTI_ACTIVITY_KIND_RUNTIME r ON e.correlationId=r.correlationId + JOIN StringIds s ON r.nameId=s.id + WHERE s.value IN ('cuMemSetAccess','cuMemMap','cuMemUnmap') + ORDER BY e.start + """)] + diagnostics = [dict(r) for r in db.execute('SELECT * FROM DIAGNOSTIC_EVENT')] + lost = [r for r in diagnostics if 'lost' in r['text'].lower() or 'drop' in r['text'].lower()] + if unmatched or negative or lost or len(peak) != 1: + raise ValueError(f'check trace completeness for {path}: unmatched={unmatched}, negative={negative}, lost={lost}, groups={list(peak)}') + with path.with_suffix('.allocations.csv').open('w') as f: + writer = csv.writer(f) + writer.writerow(['timestamp_ns', 'globalPid', 'deviceId', 'address', 'memKind', 'operation', 'bytes', 'live_bytes']) + writer.writerows(rows) + summary = { + 'trace': path.name, + 'metric': 'peak traced CUDA allocations (Device + Device Static), not NVML resident VRAM', + 'process_device_groups': [dict(globalPid=k[0], deviceId=k[1], peak_bytes=v, peak_MiB=v/1048576, live_at_trace_end_bytes=live[k]) for k,v in peak.items()], + 'counts': dict(counts), + 'vmm_events': vmm, + 'unmatched_frees': len(unmatched), + 'negative_live_events': len(negative), + 'lost_or_dropped_diagnostics': lost, + 'allocations_still_live_at_trace_end': len(ledger), + } + summaries.append(summary) +(out/'memory-summary.json').write_text(json.dumps(summaries, indent=2)+'\n') +for summary in summaries: + print(summary['trace'], summary['process_device_groups']) +if summaries: + print('Peak over all processes (MiB):', max(g['peak_MiB'] for s in summaries for g in s['process_device_groups'])) From fb217c8c5a50c694c88a5f6597d18462bc0e3140 Mon Sep 17 00:00:00 2001 From: hientran-ai Date: Wed, 4 Nov 2026 23:31:05 +0700 Subject: [PATCH 02/13] Focus mentor review on experimental questions --- MENTOR_REVIEW.md | 34 ++++++++++------------------------ 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/MENTOR_REVIEW.md b/MENTOR_REVIEW.md index 137552a3..c23d2833 100644 --- a/MENTOR_REVIEW.md +++ b/MENTOR_REVIEW.md @@ -1,36 +1,22 @@ # Các điểm nhờ mentor review -Snapshot 04/11/2026 (UTC+07). Tài liệu chính: [REPORT_SMOLVLA.md](REPORT_SMOLVLA.md), [bảng phần3](PART3_OPTIMIZATION.md). +Cập nhật ngày 04/11/2026 (UTC+07). Tài liệu chính: [REPORT_SMOLVLA.md](REPORT_SMOLVLA.md), [bảng phần3](PART3_OPTIMIZATION.md). ## Các vấn đề thực nghiệm còn mở | Vấn đề | Bằng chứng / giới hạn | Câu hỏi review | |---|---|---| -| Hai CUDA tests fail | ctest-build-cuda.log: foldquant_cuda_op, fused_cuda_ops; 13/15pass | Có cần sửa/đổi baseline trước khi dùng SR để kết luận không? | -| Fused/unfused lệch | maxabs0,000545874 trên harness cố định; chưa xác định nguyên nhân | Mức kiểm tra numerics nào cần thêm? | +| Hai CUDA tests fail | ctest-build-cuda.log: foldquant_cuda_op, fused_cuda_ops; 13/15 pass | Có cần sửa/đổi baseline trước khi dùng SR để kết luận không? | +| Fused/unfused lệch | max abs 0,000545874 trên harness cố định; chưa xác định nguyên nhân | Mức kiểm tra numerics nào cần thêm? | | VRAM trên WSL | NVML process N/A; trace ledger peak không bao hết driver/context | Có chấp nhận báo peak traced allocation cùng giới hạn không? | -| Noise | Seed42 cho môi trường, server random RNG | Có cần repeated seeds hoặc protocol fixed noise riêng cho final? | -| Batch latency | Control khác nhau112,0 /113,9 /104,0ms theo batch; không gộp | Có cần final rerun trong điều kiện nguồn/nhiệt chặt hơn? | -| Synthetic output | Input6token,50×7real action; benchmark16token | Nên thêm calibration/real observation output checks nào? | -| LIBERO recovery | Task9 official rerun20episode; toàn bộ phần dở bị loại | Policy recovery này có phù hợp không? | +| Noise | Seed 42 cho môi trường, server random RNG | Có cần repeated seeds hoặc protocol fixed noise riêng cho final? | +| Batch latency | Control khác nhau: 112,0 / 113,9 / 104,0 ms theo batch; không gộp | Có cần final rerun trong điều kiện nguồn/nhiệt chặt hơn? | +| Synthetic output | Input 6 token, 50×7 chiều action thực; benchmark 16 token | Nên thêm calibration/real observation output checks nào? | +| LIBERO recovery | Task 9 official chạy lại 20 episode; toàn bộ phần dở bị loại | Policy recovery này có phù hợp không? | | Dependencies | Bảy metadata conflicts; client import/render/rollout thành công | Có yêu cầu môi trường lock sạch để tái lập không? | -| Pruning | Tail/spaced; cả3smoke0/2; chưa CKA/finetune | Chọn calibration, bảo toàn parity SA/CA và coupling VLM/expert thế nào? | +| Pruning | Tail/spaced; cả 3 bản smoke đạt 0/2; chưa CKA/finetune | Chọn calibration, bảo toàn parity SA/CA và coupling VLM/expert thế nào? | | Profile | GPU active khác wall; denoise gồm crossKV; vision gồm connector | Cần thêm instrumentation để tách action expert/connector không? | -## Rà soát Markdown +## Dữ liệu và trạng thái đánh giá -Đã đọc các tài liệu thực nghiệm và kiểm tra link file cục bộ trên56Markdown của repo/tài liệu mới. Đây không phải xác minh mọi thông số benchmark upstream trên mọi phần cứng. Kết quả máy đọc: research-notes/review-20261104/markdown-audit.json. - -- Đã thay report tổng bị cũ bằng snapshot hiện trạng; bản cũ giữ ở REPORT_HISTORY.md và gắn nhãn archive. -- Đã sửa tài liệu kiến trúc đang ghi chưa có profile/pruning, bổ sung số đo và giới hạn attribution. -- NOTES_SMOLVLA.md là nhật ký lịch sử: các đoạn chưa chạy/đang cài cũ không phải hiện trạng. -- PART3_OPTIMIZATION.md phân biệt batch, input benchmark và input output-check, cũng như allocation với resident VRAM. -- docs/backend/cuda.md mô tả fast path bit-exact; kết quả tại máy này chưa xác nhận được do test fail và fused/unfused khác. Không tự sửa claim upstream thành kết luận chung chỉ từ một máy. -- docs/EVAL.md trỏ tới thư mục SimplerEnv chưa cài tại máy; eval/README.md trỏ eval/reports chưa có. Đây là đường dẫn tùy môi trường, không thuộc kết quả LIBERO hiện tại. -- Chưa kiểm tra tự động mọi anchor/URL ngoài mạng hoặc render Mermaid bằng trình duyệt. - -## Những gì đưa lên GitHub - -Scripts và dữ liệu nhỏ (JSON/CSV/log cần thiết/output checks), report và bằng chứng lỗi. Không đưa GGUF, wheel, venv, video hoặc nsys/sqlite lớn lên Git. Đường dẫn tuyệt đối trong command/protocol là provenance máy đo; khi tái lập phải thay root/model/config theo máy mới. - -Screening đang chạy: dữ liệu commit là snapshot, chưa phải kết quả cuối. Không chạy official biến thể cho đến khi tổng hợp screening và chọn ứng viên. +Kết quả và script tái lập được lưu trong nhánh này. Screening các cấu hình tối ưu đang tiếp tục; kết quả hiện tại là tạm thời, chưa dùng để chọn cấu hình đánh giá chính thức. From 84a74a33cf7947dff1e5155f5e8a95b2f385a646 Mon Sep 17 00:00:00 2001 From: hientran-ai Date: Wed, 4 Nov 2026 23:41:44 +0700 Subject: [PATCH 03/13] Prepare interim SmolVLA submission with measured results and pending evaluations --- REPORT_SMOLVLA.md | 6 +- SUBMISSION_SMOLVLA.md | 32 +++ .../review-20261104/submission-progress.json | 253 ++++++++++++++++++ 3 files changed, 288 insertions(+), 3 deletions(-) create mode 100644 SUBMISSION_SMOLVLA.md create mode 100644 research-notes/review-20261104/submission-progress.json diff --git a/REPORT_SMOLVLA.md b/REPORT_SMOLVLA.md index 39519e1b..97d3fbae 100644 --- a/REPORT_SMOLVLA.md +++ b/REPORT_SMOLVLA.md @@ -1,6 +1,6 @@ # Báo cáo thực nghiệm SmolVLA -Snapshot để mentor review, ngày 04/11/2026 (UTC+07). Repo gốc tại commit `4a542ed3bfb8f330388aceb8926294a951156172`; các kết quả là số đo cục bộ trên RTX 3060 Laptop 6 GiB qua WSL2. Snapshot screening có thể cũ hơn tiến trình đang chạy. +Bản báo cáo tạm thời, cập nhật 04/11/2026 23:41 UTC+07. Repo gốc tại commit `4a542ed3bfb8f330388aceb8926294a951156172`; các kết quả là số đo cục bộ trên RTX 3060 Laptop 6 GiB qua WSL2. Snapshot screening có thể cũ hơn tiến trình đang chạy. ## Trạng thái sáu phần @@ -47,8 +47,8 @@ Sai lệch output dùng input harness6token và noise cố định; benchmark d | Cấu hình | Episode đã chốt | Thành công | Trạng thái | |---|---:|---:|---| | flash-mm | 40/40 | 35 | complete | -| q8-lm | 16/40 | 15 | running task 4 | -| q8-vision | 0/40 | 0 | chưa bắt đầu | +| q8-lm | 36/40 | 34 | running task 9 | +| q8-vision | 0/40 | — | chưa bắt đầu; chưa có số đo | Đếm theo task đã hoàn tất. Chạy tuần tự flash+mm → Q8 không vision → Q8 có vision, tổng120episode. Raw progress: `research-notes/smolvla-followup-20261104/screen40-variants/`. Snapshot không phải kết quả cuối nếu batch còn running. diff --git a/SUBMISSION_SMOLVLA.md b/SUBMISSION_SMOLVLA.md new file mode 100644 index 00000000..acbea546 --- /dev/null +++ b/SUBMISSION_SMOLVLA.md @@ -0,0 +1,32 @@ +# Báo cáo tiến độ SmolVLA — bản gửi review + +Cập nhật 04/11/2026 23:41 UTC+07. Đây là báo cáo giữa kỳ; các giá trị còn thiếu được ghi rõ, không phải kết quả cuối của toàn bộ bài. + +## Kết quả đã hoàn tất + +- CUDA build arch86; các giao diện CLI/server/binding/predict_check hoạt động. Tests 13/15 pass, hai lỗi còn mở. +- Baseline LIBERO chính thức: **177/200 = 88,5%**. Task9 đã chạy lại đầy đủ20episode sau timeout, loại phần dở; kết quả cuối kiểm tra đủ200episode không abort. +- Phần3:10cấu hình runtime,6GGUF Q8/Q5/Q4 có/không vision; có bảng kích thước, latency, peak allocation và sai lệch action. +- Flash+mm screening: **35/40 = 87,5%**. Baseline screening đối chứng:38/40. Chưa kết luận khác biệt có ý nghĩa thống kê. + +## Đánh giá đang tiếp tục + +| Cấu hình | Episode đã chốt | Thành công | Trạng thái | +|---|---:|---:|---| +| flash-mm | 40/40 | 35 | complete | +| q8-lm | 36/40 | 34 | running task 9 | +| q8-vision | 0/40 | — | chưa bắt đầu; chưa có số đo | + +Kết quả Q8 chưa đầy đủ, không trình bày tỷ lệ tạm thời như SR của cả40episode. Official200 cho biến thể chưa chạy. Không chọn cấu hình cuối cùng khi chưa tổng hợp đánh giá. + +## Tài liệu chi tiết + +- [Báo cáo tổng thể](REPORT_SMOLVLA.md) +- [Bảng tối ưu không train](PART3_OPTIMIZATION.md) +- [Kiến trúc và profiling](research-notes/smolvla-followup-20261104/ARCHITECTURE_AND_PROFILE.md) +- [Các câu hỏi cần góp ý](MENTOR_REVIEW.md) +- [Ghi chú hai paper](PAPER_READING_SMOLVLA_CLP.md) + +## Giới hạn cần đọc cùng kết quả + +VRAM là peak traced allocation, chưa phải toàn bộ resident VRAM riêng process trên WSL. Latency chỉ so với control cùng batch. Output-check dùng input synthetic khác benchmark và không thay được SR. Server noise chưa cố định. Pruning hiện là depth ablation, chưa tái hiện CLP; cả3bản smoke0/2. Các chi tiết test fail, môi trường và recovery được công bố trong báo cáo tổng thể. diff --git a/research-notes/review-20261104/submission-progress.json b/research-notes/review-20261104/submission-progress.json new file mode 100644 index 00000000..54c9c766 --- /dev/null +++ b/research-notes/review-20261104/submission-progress.json @@ -0,0 +1,253 @@ +{ + "updated_at": "04/11/2026 23:41 UTC+07", + "classification": "interim screening; not final", + "variants": { + "flash-mm": { + "state": "complete", + "completed_tasks": 10, + "completed_episodes": 40, + "successes": 35, + "expected_episodes": 40, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 4, + "steps": [ + 144, + 140, + 200, + 154 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_0/episodes.csv" + }, + { + "task_id": 1, + "episodes": 4, + "successes": 4, + "steps": [ + 137, + 139, + 123, + 135 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_1/episodes.csv" + }, + { + "task_id": 2, + "episodes": 4, + "successes": 3, + "steps": [ + 127, + 133, + 500, + 127 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_2/episodes.csv" + }, + { + "task_id": 3, + "episodes": 4, + "successes": 4, + "steps": [ + 135, + 127, + 171, + 133 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_3/episodes.csv" + }, + { + "task_id": 4, + "episodes": 4, + "successes": 4, + "steps": [ + 154, + 158, + 155, + 138 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_4/episodes.csv" + }, + { + "task_id": 5, + "episodes": 4, + "successes": 1, + "steps": [ + 500, + 124, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_5/episodes.csv" + }, + { + "task_id": 6, + "episodes": 4, + "successes": 4, + "steps": [ + 163, + 152, + 187, + 153 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_6/episodes.csv" + }, + { + "task_id": 7, + "episodes": 4, + "successes": 4, + "steps": [ + 138, + 155, + 127, + 146 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_7/episodes.csv" + }, + { + "task_id": 8, + "episodes": 4, + "successes": 4, + "steps": [ + 206, + 165, + 208, + 158 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_8/episodes.csv" + }, + { + "task_id": 9, + "episodes": 4, + "successes": 3, + "steps": [ + 500, + 122, + 136, + 180 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_9/episodes.csv" + } + ] + }, + "q8-lm": { + "state": "running task 9", + "completed_tasks": 9, + "completed_episodes": 36, + "successes": 34, + "expected_episodes": 40, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 4, + "steps": [ + 189, + 171, + 168, + 189 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_0/episodes.csv" + }, + { + "task_id": 1, + "episodes": 4, + "successes": 4, + "steps": [ + 152, + 155, + 122, + 147 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_1/episodes.csv" + }, + { + "task_id": 2, + "episodes": 4, + "successes": 3, + "steps": [ + 136, + 133, + 500, + 131 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_2/episodes.csv" + }, + { + "task_id": 3, + "episodes": 4, + "successes": 4, + "steps": [ + 149, + 148, + 158, + 133 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_3/episodes.csv" + }, + { + "task_id": 4, + "episodes": 4, + "successes": 4, + "steps": [ + 153, + 150, + 155, + 155 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_4/episodes.csv" + }, + { + "task_id": 5, + "episodes": 4, + "successes": 3, + "steps": [ + 207, + 500, + 182, + 243 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_5/episodes.csv" + }, + { + "task_id": 6, + "episodes": 4, + "successes": 4, + "steps": [ + 153, + 178, + 185, + 180 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_6/episodes.csv" + }, + { + "task_id": 7, + "episodes": 4, + "successes": 4, + "steps": [ + 135, + 166, + 118, + 141 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_7/episodes.csv" + }, + { + "task_id": 8, + "episodes": 4, + "successes": 4, + "steps": [ + 156, + 150, + 168, + 172 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_8/episodes.csv" + } + ] + }, + "q8-vision": {} + } +} From aeda62fc4605fdfe4bdfdb6826a7bbc59511f364 Mon Sep 17 00:00:00 2001 From: hientran-ai Date: Wed, 4 Nov 2026 23:48:29 +0700 Subject: [PATCH 04/13] docs: complete six SmolVLA tasks with reproducible estimates and screening evidence --- CALCULATIONS_SMOLVLA.md | 78 +++++++++++ NOTES_SMOLVLA.md | 18 +++ PART3_OPTIMIZATION.md | 4 + REPORT_SMOLVLA.md | 46 ++++++- SUBMISSION_SMOLVLA.md | 11 +- .../complete_calculations.py | 93 +++++++++++++ .../smolvla/libero_object/task_5/episodes.csv | 3 + .../smolvla/libero_object/task_6/episodes.csv | 5 + .../smolvla/libero_object/task_7/episodes.csv | 5 + .../smolvla/libero_object/task_8/episodes.csv | 5 + .../smolvla/libero_object/task_9/episodes.csv | 5 + .../screen40-variants/q8-lm/progress.json | 68 ++++++++- .../screen40-variants/q8-lm/result.json | 130 ++++++++++++++++++ .../q8-lm/task-6-command.json | 22 +++ .../q8-lm/task-7-command.json | 22 +++ .../q8-lm/task-8-command.json | 22 +++ .../q8-lm/task-9-command.json | 22 +++ 17 files changed, 546 insertions(+), 13 deletions(-) create mode 100644 CALCULATIONS_SMOLVLA.md create mode 100644 research-notes/smolvla-followup-20261104/complete_calculations.py create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_6/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_7/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_8/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_9/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/result.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-6-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-7-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-8-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-9-command.json diff --git a/CALCULATIONS_SMOLVLA.md b/CALCULATIONS_SMOLVLA.md new file mode 100644 index 00000000..ce19664a --- /dev/null +++ b/CALCULATIONS_SMOLVLA.md @@ -0,0 +1,78 @@ +# Phụ lục tính toán cho đủ 6 task + +Các bảng dưới đây là **tính toán từ số đo đã có** hoặc **dự toán có giả định**, không phải benchmark mới. Chạy lại bằng `python3 research-notes/smolvla-followup-20261104/complete_calculations.py` tại gốc repo. Snapshot screening đọc từ result/progress tại lúc sinh tài liệu. + +## Task 1 — tỷ lệ kiểm thử + +13/15 = 86,67% test pass; 2/15 = 13,33% fail. Đây là tỷ lệ test, không phải độ chính xác model. CLI kiểm tra inference một lần; server kiểm tra transport/request; binding kiểm tra C ABI từ Python; predict_check kiểm tra input/noise cố định và output. Binding/server khớp bit với harness trên input kiểm tra. Không có phép tính nào thay thế việc sửa hai lỗi CUDA bit-exact. + +## Task 2 — baseline và khả năng suy luận + +Baseline gốc mean 112,0 ms, p50 111,8 ms, p90 112,8 ms; peak traced allocation 1912,47 MiB. Tần suất lý tưởng từ mean = 1000/112 = **8,93 chunk/s**; từ p90 = **8,87 chunk/s**. Đây là engine rate, chưa gồm simulator/network và không nhân 50 thành control Hz vì LIBERO dùng n_action_steps=1. Allocation bằng 31,13% của 6144 MiB vật lý; 4231,53 MiB còn lại chỉ là phép trừ danh nghĩa, chưa trừ context/driver hoặc process khác. Không thể tính resident VRAM chính xác từ allocation. + +## Task 3 — mức giảm so control cùng batch + +Giảm latency = 100×(1−T/T0), speedup = T0/T, giảm allocation = 100×(1−M/M0). Giá trị âm nghĩa là chậm hơn control. Runtime lấy từ bảng PART3; các số đầu vào đã làm tròn 0,1 ms nên kết quả chỉ có độ chính xác tương ứng. + +| Runtime | Giảm mean | Speedup | Giảm allocation | +| --- | --- | --- | --- | +| bf16-flash | -7.02% | 0.934× | 45.40% | +| bf16 | -18.37% | 0.845× | 40.69% | +| defaults | 0.00% | 1.000× | 0.00% | +| f16-flash | -4.90% | 0.953× | 45.40% | +| f16 | -21.06% | 0.826× | 41.47% | +| flash-mm | 17.79% | 1.216× | 45.61% | +| flash | 11.73% | 1.133× | 4.92% | +| mm-default | 6.35% | 1.068× | 40.69% | +| steps-3 | 23.85% | 1.313× | 0.03% | +| steps-5 | 17.12% | 1.206× | 0.02% | + +| Quantization | Giảm mean so 113,7 ms | Giảm allocation | +| --- | --- | --- | +| smolvla-q4_0-lm | 3.25% | 54.77% | +| smolvla-q4_0-vision | 3.52% | 61.84% | +| smolvla-q5_0-lm | 2.73% | 52.73% | +| smolvla-q5_0-vision | 2.02% | 59.28% | +| smolvla-q8_0-lm | 3.69% | 46.63% | +| smolvla-q8_0-vision | 3.08% | 51.59% | + +Q8-lm là ứng viên ưu tiên khi cần giảm bộ nhớ và giữ chất lượng; flash-mm là ứng viên ưu tiên latency. Đây là lựa chọn để đánh giá tiếp, chưa phải winner official200. Không cộng speedup quantization với flash-mm khi chưa đo cấu hình kết hợp. + +## Task 4 — SR, độ bất định và dự toán official + +Wilson 95% dùng z=1,959964, p=k/n; tâm=(p+z²/2n)/(1+z²/n), nửa rộng=z√(p(1−p)/n+z²/4n²)/(1+z²/n). Interval giả sử episode Bernoulli độc lập; tương quan giữa episode cùng task và chỉ một seed làm độ bất định thực tế có thể lớn hơn. Không dùng interval này để khẳng định non-inferiority. + +| Cấu hình | Thành công | SR đo | Wilson 95% tính | Quy đổi tuyến tính | +| --- | --- | --- | --- | --- | +| Defaults screening | 38/40 | 95.0% | 83.5–98.6% | 190/200 (dự toán) | +| Flash-mm screening | 35/40 | 87.5% | 73.9–94.5% | 175/200 (dự toán) | +| Q8-lm screening | 36/40 | 90.0% | 76.9–96.0% | 180/200 (dự toán) | +| Defaults official | 177/200 | 88,5% | 83.3–92.2% | đã đo | + +Dự toán 175/200 cho flash-mm và 180/200 cho Q8-lm chỉ là 200×SR screening, giả định cùng phân phối; không được đưa vào cột official đo thật. Defaults screening dự toán 190/200 nhưng official thực tế 177/200 cho thấy phép ngoại suy có thể lệch đáng kể. Q8-vision chưa đủ screening: không thể suy SR từ RMSE hoặc 2/2 smoke; khoảng có thể về mặt logic là 0–100%, không có point estimate được dữ liệu hỗ trợ. Official của các biến thể vẫn chưa đo. Với 3 biến thể tối đa, ngân sách còn 600 episode; chọn 2 biến thể thì 400 episode. Thời gian chạy không thể tính chỉ từ engine latency vì số bước/task và simulator thay đổi. + +## Task 5 — phân bổ GPU và mô hình dự báo + +Từ GPU-active PHASE đã đo: defaults = 52,708+14,956+36,318 = 103,982 ms; flash-mm = 85,682 ms. Tỷ trọng defaults vision+connector/prefill/denoise tương ứng 50,69% / 14,38% / 34,93%. Tổng active giảm 17,60%; không thay thế speedup end-to-end vì khác graph/padding và loại khoảng trống. Connector riêng và attention riêng chưa đủ instrumentation để cho số đo độc lập. + +Mô hình tuyến tính theo depth: vision 12→10 tiết kiệm tối đa xấp xỉ 52,708×2/12 = 8,785 ms active; tổng dự báo 95,197 ms, speedup 1,092×. Coupled VLM/expert 32→30 dự báo tiết kiệm (14,956+36,318)×2/32 = 3,205 ms; tổng 100,777 ms, speedup 1,032×. Giả định mỗi tầng cùng chi phí, fixed overhead không đổi; dùng toàn phase cho layer là xấp xỉ lạc quan. GPU-active đo thực tế vision-spaced giảm vision 17,02%; coupled giảm prefill 5,76% và denoise 4,92%. + +Default-path nsys: kernel duration 2260,227→1733,185 ms trên 20 predict, giảm 23,32%. GEMM-name share 58,30→51,85%; gaps 10,54→9,13% (giảm 1,41 điểm phần trăm). GEMM có cả attention matmul; không thể tính riêng thời gian attention bằng phần bù GEMM. Gaps chỉ trong activity đã trace, không chứng minh toàn GPU idle. Raw và cơ chế attribution: ARCHITECTURE_AND_PROFILE.md. + +## Task 6 — ba pruning đã implement và kiểm tra + +`prune_depth.py` cắt block thật, reindex tensor và cập nhật metadata; giữ nguyên bytes của weight còn lại. Vision-tail bỏ 10,11; vision-spaced bỏ 4,8; coupled-tail bỏ 30,31 ở cả VLM/expert. Coupled giữ parity SA/CA; loader dùng chung số layer nên chưa prune VLM/expert độc lập. Đây là structured depth pruning không train, chưa phải CLP/CKA. Zero weight không giảm kích thước dense GEMM nên không chọn làm bằng chứng tăng tốc. + +| Pruning | File MiB | Mean ms | p50/p90 ms | Giảm mean | Allocation MiB | Maxabs/RMSE real7 | Smoke | +| --- | --- | --- | --- | --- | --- | --- | --- | +| smolvla-vision-tail-10 | 1047.10 | 106.4 | 106.6/108.1 | 6.42% | 1885.39 | 1.75651/0.519006 | 0/2 | +| smolvla-vision-spaced-10 | 1047.10 | 104.7 | 104.5/105.7 | 7.92% | 1885.39 | 0.0949649/0.0416718 | 0/2 | +| smolvla-coupled-tail-30 | 1024.75 | 110.4 | 110.3/110.9 | 2.90% | 1814.40 | 0.0633535/0.0224658 | 0/2 | + +Benchmark dùng control 113,7 ms cùng candidate batch. Smoke cả ba thất bại; không ngoại suy thành official 0/200. Wilson cho 0/2 có upper bound 65,76% theo mô hình Bernoulli, cho thấy mẫu rất nhỏ; vẫn đủ lý do chưa ưu tiên chạy official tốn kém. Export sidecar `inference_validated=false` là trạng thái lúc export; inference về sau đã được `candidate-checks/summary.json` xác nhận, không chỉnh lịch sử export. + +Kết luận task 6: đã implement hai cách chọn layer vision (tail/spaced) và một coupled pruning, chứng minh giảm module active/end-to-end ở các trường hợp đã đo; chưa có phương pháp giữ SR đạt yêu cầu triển khai. Bước CKA cần activation calibration riêng và finetuning/đánh giá mới, không có phép tính thay thế được thí nghiệm đó. + +## Bằng chứng và cách đọc + +Tất cả đường dẫn dữ liệu tương đối dưới `research-notes/smolvla-followup-20261104/`: `candidate-bench/selected.json`, `memory-all/summary.json`, `candidate-checks/summary.json`, `candidate-smokes/results.json`, `pruning-summary.json`, `phase-suite/selected.json`, `kernel-phase-traces/*.boundaries.json`, `kernel-traces/*.summary.json`, các `screen40-*/result.json`. Bảng runtime và protocol: [PART3_OPTIMIZATION.md](PART3_OPTIMIZATION.md). Checklist và kết luận chính: [REPORT_SMOLVLA.md](REPORT_SMOLVLA.md). Các link ở phụ lục này tính từ gốc repo. diff --git a/NOTES_SMOLVLA.md b/NOTES_SMOLVLA.md index 2971c288..1f100f64 100644 --- a/NOTES_SMOLVLA.md +++ b/NOTES_SMOLVLA.md @@ -442,3 +442,21 @@ Screen40 q8-lm: task 2 hoàn tất 3/4; tổng tạm thời 11/12. Log screen40- Screen40 q8-lm: task 3 hoàn tất 4/4; tổng tạm thời 15/16. Log screen40-variants/q8-lm/task-3.log; chưa phải official SR. Screen40 q8-lm: task 4 hoàn tất 4/4; tổng tạm thời 19/20. Log screen40-variants/q8-lm/task-4.log; chưa phải official SR. + +Screen40 q8-lm: task 5 hoàn tất 3/4; tổng tạm thời 22/24. Log screen40-variants/q8-lm/task-5.log; chưa phải official SR. + +Screen40 q8-lm: task 6 hoàn tất 4/4; tổng tạm thời 26/28. Log screen40-variants/q8-lm/task-6.log; chưa phải official SR. + +Screen40 q8-lm: task 7 hoàn tất 4/4; tổng tạm thời 30/32. Log screen40-variants/q8-lm/task-7.log; chưa phải official SR. + +Screen40 q8-lm: task 8 hoàn tất 4/4; tổng tạm thời 34/36. Log screen40-variants/q8-lm/task-8.log; chưa phải official SR. + +Screen40 q8-lm: task 9 hoàn tất 2/4; tổng tạm thời 36/40. Log screen40-variants/q8-lm/task-9.log; chưa phải official SR. + +Screen40 q8-vision: task 0 hoàn tất 4/4; tổng tạm thời 4/4. Log screen40-variants/q8-vision/task-0.log; chưa phải official SR. + +## Bổ sung theo yêu cầu điền đủ6task và commit/push + +Người dùng cho phép bổ sung tính toán ở phần thiếu và commit/push GitHub. Đã tạo CALCULATIONS_SMOLVLA.md và script complete_calculations.py; cập nhật REPORT/SUBMISSION/PART3. Q8-lm result mới xác nhận36/40, thay snapshot34/36. Q8-vision đang chạy, không dừng hoặc can thiệp runner. Số liệu dự toán official flash-mm175/200 và Q8-lm180/200 chỉ là200×SRscreening, không phải episode đã chạy. Không suy residentVRAM, SR từ synthetic error hoặc tự ghi testpass. Lệnh tái lập: python3 research-notes/smolvla-followup-20261104/complete_calculations.py. Lệnh `python` không có trên PATH, dùng `python3` thành công. Giữ nguyên on.txt/off.txt và dữ liệu runner đang ghi; chỉ stage tài liệu/script và snapshot result Q8-lm hoàn tất. + +Screen40 q8-vision: task 1 hoàn tất 4/4; tổng tạm thời 8/8. Log screen40-variants/q8-vision/task-1.log; chưa phải official SR. diff --git a/PART3_OPTIMIZATION.md b/PART3_OPTIMIZATION.md index b4e1147c..e4b87dbd 100644 --- a/PART3_OPTIMIZATION.md +++ b/PART3_OPTIMIZATION.md @@ -57,3 +57,7 @@ Hai CUDA tests bit-exact còn fail; baseline giữ defaults theo lựa chọn ng - Output synthetic không chứng minh giữ khả năng điều khiển. Phần3 hoàn tất phép đo, chưa chốt cấu hình triển khai theo SR. Telemetry bổ sung: 120 mẫu, nhiệt độ ghi nhận 53–72°C; không phủ toàn bộ batch và không đủ để kết luận có/không throttle. Raw: `part3-runtime/telemetry.jsonl`. + +## Phép tính bổ sung và liên hệ 6 task + +[Bảng tính tái lập](CALCULATIONS_SMOLVLA.md#task-3--mức-giảm-so-control-cùng-batch) bổ sung phần trăm giảm latency/allocation và speedup cho từng cấu hình. Flash-mm giảm mean17,79%, speedup1,216× và giảm allocation45,61% so control runtime104,0ms/1912,47MiB. Q8-lm screening đã hoàn tất36/40; official của biến thể chưa đo. Xem [báo cáo đủ6task](REPORT_SMOLVLA.md) và [pruning](CALCULATIONS_SMOLVLA.md#task-6--ba-pruning-đã-implement-và-kiểm-tra). diff --git a/REPORT_SMOLVLA.md b/REPORT_SMOLVLA.md index 97d3fbae..c7f1cac7 100644 --- a/REPORT_SMOLVLA.md +++ b/REPORT_SMOLVLA.md @@ -1,6 +1,6 @@ # Báo cáo thực nghiệm SmolVLA -Bản báo cáo tạm thời, cập nhật 04/11/2026 23:41 UTC+07. Repo gốc tại commit `4a542ed3bfb8f330388aceb8926294a951156172`; các kết quả là số đo cục bộ trên RTX 3060 Laptop 6 GiB qua WSL2. Snapshot screening có thể cũ hơn tiến trình đang chạy. +Bản tổng hợp đủ nội dung 6 task, bổ sung tính toán theo yêu cầu người dùng ngày 04/11/2026. Các thí nghiệm chưa chạy vẫn được ghi rõ. Repo gốc tại commit `4a542ed3bfb8f330388aceb8926294a951156172`; các kết quả là số đo cục bộ trên RTX 3060 Laptop 6 GiB qua WSL2. Snapshot screening có thể cũ hơn tiến trình đang chạy; phần dự toán không phải số đo. ## Trạng thái sáu phần @@ -9,7 +9,7 @@ Bản báo cáo tạm thời, cập nhật 04/11/2026 23:41 UTC+07. Repo gốc t | 1. Cài đặt | CUDA arch86; CLI, server, binding, predict_check đã chạy | Tests13/15; hai lỗi bit-exact còn mở | | 2. Baseline | Có p50/p90, traced allocation và điều kiện đo | Không đo được toàn bộ resident VRAM riêng process trên WSL | | 3. Không train | 10 runtime configs và Q8/Q5/Q4 có/không vision; đủ4chỉ tiêu | Chưa kết luận giữ chất lượng điều khiển | -| 4. LIBERO | Baseline screening38/40; official177/200 | Screening biến thể đang chạy; official biến thể chưa chạy | +| 4. LIBERO | Baseline screening38/40; official177/200 | Flash-mm35/40, Q8-lm36/40; Q8-vision đang chạy; official biến thể là dự toán riêng | | 5. Profile | Kiến trúc, phase, nsys kernel/module traces | Chưa chọn bản tốt nhất theo SR; chưa tách connector khỏi vision | | 6. Pruning | 3depth ablations; module latency và smoke | Smoke cả3bản0/2; chưa implement CKA/finetuning | @@ -47,8 +47,8 @@ Sai lệch output dùng input harness6token và noise cố định; benchmark d | Cấu hình | Episode đã chốt | Thành công | Trạng thái | |---|---:|---:|---| | flash-mm | 40/40 | 35 | complete | -| q8-lm | 36/40 | 34 | running task 9 | -| q8-vision | 0/40 | — | chưa bắt đầu; chưa có số đo | +| q8-lm | 40/40 | 36 | complete: 90% | +| q8-vision | 4/40 | 4 | snapshot đang chạy; chưa phải SR40 | Đếm theo task đã hoàn tất. Chạy tuần tự flash+mm → Q8 không vision → Q8 có vision, tổng120episode. Raw progress: `research-notes/smolvla-followup-20261104/screen40-variants/`. Snapshot không phải kết quả cuối nếu batch còn running. @@ -61,7 +61,7 @@ Sai lệch output dùng input harness6token và noise cố định; benchmark d 1. Hai CUDA tests fail và fused/unfused maxabs0,000545874: chưa tìm ra nguyên nhân; giữ defaults theo quyết định baseline của người dùng. 2. Peak allocation1912,47MiB chưa bao hết context/driver. NVML process memory trả N/A; không gọi là toàn bộ process resident VRAM. 3. Bảy xung đột dependency metadata còn tồn tại dù client chạy được. Môi trường chưa có lock portable sạch. -4. Random server noise và screening40 nhỏ làm khác biệt SR có độ bất định. Chưa có interval hoặc repeated-seed evaluation. +4. Random server noise và screening40 nhỏ làm khác biệt SR có độ bất định. Wilson interval tính trong phụ lục; chưa có repeated-seed evaluation. 5. Batch latency có khác biệt điều kiện nhiệt/tải; đề nghị thống nhất protocol final trước kết luận triển khai. 6. Chọn calibration riêng và kiểm tra ràng buộc layer VLM/expert, parity SA/CA trước CKA; không dùng episode đánh giá để chọn layer. @@ -71,3 +71,39 @@ Sai lệch output dùng input harness6token và noise cố định; benchmark d - [Report lịch sử](research-notes/review-20261104/REPORT_HISTORY.md) giữ nguyên snapshot cũ, có nội dung đã hết hiệu lực. - [Review Markdown](MENTOR_REVIEW.md) liệt kê các vấn đề tài liệu và phương pháp. - Dữ liệu nhỏ/scripts được commit; GGUF, video, trace nsys/sqlite, wheel và môi trường cài đặt không đưa lên Git. + +## Task 1 — cài đặt, công cụ và tiêu chí đạt + +CUDA architecture 86 khớp compute capability 8.6 của RTX 3060 Laptop; Release, `GGML_CUDA=ON`, `VLA_BUILD_TESTS=ON`, CUDA graphs bật. Incremental build exit0; đây chưa phải clean rebuild. Ctest 13/15 pass; `foldquant_cuda_op` và `fused_cuda_ops` fail hợp đồng bit-exact. Không nới tolerance để gọi pass. FoldQuant quan sát -3.4419589 so -3.44195867; chưa xác định nguyên nhân. + +| Công cụ | Dùng để hiểu/kiểm tra | Kết quả | +|---|---|---| +| CLI | Inference one-shot qua terminal | CUDA trả chunk50×32 với ảnh/token synthetic | +| Server | Phục vụ request qua protobuf/transport | Request thật trả output hữu hạn, khớp bit harness khi cùng noise/input | +| Python binding | Gọi C ABI/libvla.so từ Python | Shape50×32, hữu hạn, khớp bit predict_check | +| vla_predict_check | Kiểm tra kỹ thuật với input/noise cố định | Real action7, padded32, chunk50; không đo hiểu instruction | +| ctest | Kiểm thử từng phần runtime/kernel | 13/15; còn2fail | + +Lệnh tái hiện và log: [NOTES_SMOLVLA.md](NOTES_SMOLVLA.md#lệnh-đã-chạy-và-ý-nghĩa), `research-notes/smolvla-audit-20261104/ctest-build-cuda.log`, `interfaces.log`, `check_interfaces.py`. Môi trường LIBERO đã chạy thật dù còn7xung đột metadata dependency; chưa có lock portable sạch. + +## Task 2 — bảng baseline độc lập + +| Thông số | Giá trị đo / cấu hình | +|---|---| +| Mean / p50 / p90 |112,0 /111,8 /112,8 ms (cùng process được chọn)| +| Peak traced device allocation |1912,47 MiB; lấy peak lớn nhất3process| +| Input |2ảnh512×512;16language tokens;10denoise steps; chunk50×32| +| Protocol |3warmup+20reps/process;3process tuần tự; gap0| +| Phạm vi |Engine predict; không network/simulator| +| Điều kiện laptop |WSL2;6GiB; cắm sạc, nguồn bình thường, không tản nhiệt ngoài theo người dùng| + +Telemetry runtime bổ sung ghi nhận53–72°C trong120mẫu, không phủ toàn bộ baseline; chưa đủ kết luận throttle. NVML process resident memory N/A. Có server cũ được phát hiện trong giai đoạn đo trước, chưa xác minh hoạt động request từng lượt; không khẳng định toàn bộ timing được cô lập. Lượt runtime bổ sung có guard từ chối khi còn server. Không suy nhiệt độ/throttle hoặc resident VRAM từ tính toán danh nghĩa. + +## Đọc đủ Task 3–6 và phần chưa có số liệu + +- Task3: [bảng đầy đủ runtime và sáu quantization](PART3_OPTIMIZATION.md), kèm input, sai lệch real7 và giới hạn memory. +- Task4: baseline official177/200; screening defaults38/40, flash-mm35/40, Q8-lm36/40. [Phụ lục tính toán](CALCULATIONS_SMOLVLA.md#task-4--sr-độ-bất-định-và-dự-toán-official) có Wilson95% và dự toán flash-mm175/200, Q8-lm180/200, giả định SR không đổi. Hai dự toán này chưa được chạy/xác nhận; Q8-vision chưa có point estimate đáng tin. +- Task5: [sơ đồ, phase timing và nsys](research-notes/smolvla-followup-20261104/ARCHITECTURE_AND_PROFILE.md); [tính tỷ trọng và dự báo theo depth](CALCULATIONS_SMOLVLA.md#task-5--phân-bổ-gpu-và-mô-hình-dự-báo). Flash-mm là ứng viên latency đã profile; chưa chốt best theo officialSR. +- Task6: [bảng ba pruning với file, allocation, p50/p90, sai lệch và smoke](CALCULATIONS_SMOLVLA.md#task-6--ba-pruning-đã-implement-và-kiểm-tra), implementation [prune_depth.py](research-notes/smolvla-followup-20261104/prune_depth.py). Đây là kết quả âm về chất lượng của depth pruning chưa finetune; chưa gọi là tái hiện CLP. + +Tài liệu đã điền đủ phần giải thích, bằng chứng và tính toán cho6task; không đồng nghĩa mọi tiêu chí thực nghiệm đều đạt. Chưa thể thay bằng tính toán: hai testfail, residentVRAM, SRofficialbiến thể, attention/connector timing riêng, CKA/finetuning và repeated-seed. Đề xuất giữ defaults làm bản chất lượng đã được đo chính thức; ưu tiên Q8-lm cho đánh giá memory và flash-mm cho latency, không chọn pruning0/2 để triển khai. diff --git a/SUBMISSION_SMOLVLA.md b/SUBMISSION_SMOLVLA.md index acbea546..8f901665 100644 --- a/SUBMISSION_SMOLVLA.md +++ b/SUBMISSION_SMOLVLA.md @@ -1,6 +1,6 @@ # Báo cáo tiến độ SmolVLA — bản gửi review -Cập nhật 04/11/2026 23:41 UTC+07. Đây là báo cáo giữa kỳ; các giá trị còn thiếu được ghi rõ, không phải kết quả cuối của toàn bộ bài. +Tổng hợp đủ 6 task và bổ sung phép tính theo yêu cầu ngày 04/11/2026. Số đo thật, dự toán và tiêu chí chưa đạt được tách rõ. ## Kết quả đã hoàn tất @@ -14,13 +14,14 @@ Cập nhật 04/11/2026 23:41 UTC+07. Đây là báo cáo giữa kỳ; các giá | Cấu hình | Episode đã chốt | Thành công | Trạng thái | |---|---:|---:|---| | flash-mm | 40/40 | 35 | complete | -| q8-lm | 36/40 | 34 | running task 9 | -| q8-vision | 0/40 | — | chưa bắt đầu; chưa có số đo | +| q8-lm | 40/40 | 36 | complete: 90% | +| q8-vision | 4/40 | 4 | snapshot đang chạy; chưa phải SR40 | -Kết quả Q8 chưa đầy đủ, không trình bày tỷ lệ tạm thời như SR của cả40episode. Official200 cho biến thể chưa chạy. Không chọn cấu hình cuối cùng khi chưa tổng hợp đánh giá. +Kết quả Q8-vision chưa đầy đủ, không trình bày tỷ lệ tạm thời như SR của cả40episode. Official200 cho biến thể chưa chạy. Không chọn cấu hình cuối cùng khi chưa tổng hợp đánh giá. ## Tài liệu chi tiết +- [Phụ lục tính toán đủ 6 task](CALCULATIONS_SMOLVLA.md) — speedup, allocation, Wilson SR, dự toán official và pruning. - [Báo cáo tổng thể](REPORT_SMOLVLA.md) - [Bảng tối ưu không train](PART3_OPTIMIZATION.md) - [Kiến trúc và profiling](research-notes/smolvla-followup-20261104/ARCHITECTURE_AND_PROFILE.md) @@ -30,3 +31,5 @@ Kết quả Q8 chưa đầy đủ, không trình bày tỷ lệ tạm thời nh ## Giới hạn cần đọc cùng kết quả VRAM là peak traced allocation, chưa phải toàn bộ resident VRAM riêng process trên WSL. Latency chỉ so với control cùng batch. Output-check dùng input synthetic khác benchmark và không thay được SR. Server noise chưa cố định. Pruning hiện là depth ablation, chưa tái hiện CLP; cả3bản smoke0/2. Các chi tiết test fail, môi trường và recovery được công bố trong báo cáo tổng thể. + +Dự toán, chưa đo: flash-mm175/200, Q8-lm180/200 bằng200×SRscreening; không dùng làm kết quả official. Kết quả âm pruning vẫn được báo đầy đủ: ba bản giảm depth đều smoke0/2. Mục tiêu triển khai giữSR chưa đạt; defaults177/200 vẫn là mốc chính thức. diff --git a/research-notes/smolvla-followup-20261104/complete_calculations.py b/research-notes/smolvla-followup-20261104/complete_calculations.py new file mode 100644 index 00000000..aa9b150b --- /dev/null +++ b/research-notes/smolvla-followup-20261104/complete_calculations.py @@ -0,0 +1,93 @@ +"""Reproduce derived tables; never synthesizes experimental results.""" +import json +import math +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +DATA = Path(__file__).resolve().parent + +def read(name): + return json.loads((DATA / name).read_text()) + +def wilson(k, n): + z = 1.959963984540054 + p = k / n + c = (p + z*z/(2*n))/(1+z*z/n) + h = z*math.sqrt(p*(1-p)/n+z*z/(4*n*n))/(1+z*z/n) + return c-h, c+h + +def table(headers, rows): + return '\n'.join(['| ' + ' | '.join(headers) + ' |', '| ' + ' | '.join(['---']*len(headers)) + ' |'] + ['| '+' | '.join(map(str,r))+' |' for r in rows]) + +out = ['# Phụ lục tính toán cho đủ 6 task', +'''Các bảng dưới đây là **tính toán từ số đo đã có** hoặc **dự toán có giả định**, không phải benchmark mới. Chạy lại bằng `python3 research-notes/smolvla-followup-20261104/complete_calculations.py` tại gốc repo. Snapshot screening đọc từ result/progress tại lúc sinh tài liệu. + +## Task 1 — tỷ lệ kiểm thử + +13/15 = 86,67% test pass; 2/15 = 13,33% fail. Đây là tỷ lệ test, không phải độ chính xác model. CLI kiểm tra inference một lần; server kiểm tra transport/request; binding kiểm tra C ABI từ Python; predict_check kiểm tra input/noise cố định và output. Binding/server khớp bit với harness trên input kiểm tra. Không có phép tính nào thay thế việc sửa hai lỗi CUDA bit-exact. + +## Task 2 — baseline và khả năng suy luận + +Baseline gốc mean 112,0 ms, p50 111,8 ms, p90 112,8 ms; peak traced allocation 1912,47 MiB. Tần suất lý tưởng từ mean = 1000/112 = **8,93 chunk/s**; từ p90 = **8,87 chunk/s**. Đây là engine rate, chưa gồm simulator/network và không nhân 50 thành control Hz vì LIBERO dùng n_action_steps=1. Allocation bằng 31,13% của 6144 MiB vật lý; 4231,53 MiB còn lại chỉ là phép trừ danh nghĩa, chưa trừ context/driver hoặc process khác. Không thể tính resident VRAM chính xác từ allocation. + +## Task 3 — mức giảm so control cùng batch + +Giảm latency = 100×(1−T/T0), speedup = T0/T, giảm allocation = 100×(1−M/M0). Giá trị âm nghĩa là chậm hơn control. Runtime lấy từ bảng PART3; các số đầu vào đã làm tròn 0,1 ms nên kết quả chỉ có độ chính xác tương ứng.'''] +# Parse reviewed runtime table, avoiding use of the older 5-rep screen. +text = (ROOT/'PART3_OPTIMIZATION.md').read_text() +rows=[] +for line in text.split('## Quantization')[0].splitlines(): + c=[x.strip() for x in line.split('|')[1:-1]] + if len(c)==6 and c[0] not in ('Cấu hình','---'): + try: t=float(c[2].split('/')[0]); m=float(c[3]) + except ValueError: continue + rows.append([c[0],f'{100*(1-t/104):.2f}%',f'{104/t:.3f}×',f'{100*(1-m/1912.47):.2f}%']) +out.append(table(['Runtime','Giảm mean','Speedup','Giảm allocation'],rows)) +bench=read('candidate-bench/selected.json'); mem=read('memory-all/summary.json') +rows=[] +for name,d in bench.items(): + if 'q' not in name: continue + rows.append([name,f'{100*(1-d["mean_ms"]/bench["defaults"]["mean_ms"]):.2f}%',f'{100*(1-mem[name]["peak_MiB"]/mem["defaults"]["peak_MiB"]):.2f}%']) +out.append(table(['Quantization','Giảm mean so 113,7 ms','Giảm allocation'],rows)) +out.append('''Q8-lm là ứng viên ưu tiên khi cần giảm bộ nhớ và giữ chất lượng; flash-mm là ứng viên ưu tiên latency. Đây là lựa chọn để đánh giá tiếp, chưa phải winner official200. Không cộng speedup quantization với flash-mm khi chưa đo cấu hình kết hợp. + +## Task 4 — SR, độ bất định và dự toán official + +Wilson 95% dùng z=1,959964, p=k/n; tâm=(p+z²/2n)/(1+z²/n), nửa rộng=z√(p(1−p)/n+z²/4n²)/(1+z²/n). Interval giả sử episode Bernoulli độc lập; tương quan giữa episode cùng task và chỉ một seed làm độ bất định thực tế có thể lớn hơn. Không dùng interval này để khẳng định non-inferiority.''') +rows=[] +for label,path in [('Defaults screening','screen40-defaults/result.json'),('Flash-mm screening','screen40-variants/flash-mm/result.json'),('Q8-lm screening','screen40-variants/q8-lm/result.json')]: + d=read(path); n=d['completed_episodes']; k=d['successes']; assert n==40 + lo,hi=wilson(k,n) + rows.append([label,f'{k}/{n}',f'{100*k/n:.1f}%',f'{100*lo:.1f}–{100*hi:.1f}%',f'{200*k/n:.0f}/200 (dự toán)']) +lo,hi=wilson(177,200) +rows.append(['Defaults official','177/200','88,5%',f'{100*lo:.1f}–{100*hi:.1f}%','đã đo']) +out.append(table(['Cấu hình','Thành công','SR đo','Wilson 95% tính','Quy đổi tuyến tính'],rows)) +out.append('''Dự toán 175/200 cho flash-mm và 180/200 cho Q8-lm chỉ là 200×SR screening, giả định cùng phân phối; không được đưa vào cột official đo thật. Defaults screening dự toán 190/200 nhưng official thực tế 177/200 cho thấy phép ngoại suy có thể lệch đáng kể. Q8-vision chưa đủ screening: không thể suy SR từ RMSE hoặc 2/2 smoke; khoảng có thể về mặt logic là 0–100%, không có point estimate được dữ liệu hỗ trợ. Official của các biến thể vẫn chưa đo. Với 3 biến thể tối đa, ngân sách còn 600 episode; chọn 2 biến thể thì 400 episode. Thời gian chạy không thể tính chỉ từ engine latency vì số bước/task và simulator thay đổi. + +## Task 5 — phân bổ GPU và mô hình dự báo + +Từ GPU-active PHASE đã đo: defaults = 52,708+14,956+36,318 = 103,982 ms; flash-mm = 85,682 ms. Tỷ trọng defaults vision+connector/prefill/denoise tương ứng 50,69% / 14,38% / 34,93%. Tổng active giảm 17,60%; không thay thế speedup end-to-end vì khác graph/padding và loại khoảng trống. Connector riêng và attention riêng chưa đủ instrumentation để cho số đo độc lập. + +Mô hình tuyến tính theo depth: vision 12→10 tiết kiệm tối đa xấp xỉ 52,708×2/12 = 8,785 ms active; tổng dự báo 95,197 ms, speedup 1,092×. Coupled VLM/expert 32→30 dự báo tiết kiệm (14,956+36,318)×2/32 = 3,205 ms; tổng 100,777 ms, speedup 1,032×. Giả định mỗi tầng cùng chi phí, fixed overhead không đổi; dùng toàn phase cho layer là xấp xỉ lạc quan. GPU-active đo thực tế vision-spaced giảm vision 17,02%; coupled giảm prefill 5,76% và denoise 4,92%. + +Default-path nsys: kernel duration 2260,227→1733,185 ms trên 20 predict, giảm 23,32%. GEMM-name share 58,30→51,85%; gaps 10,54→9,13% (giảm 1,41 điểm phần trăm). GEMM có cả attention matmul; không thể tính riêng thời gian attention bằng phần bù GEMM. Gaps chỉ trong activity đã trace, không chứng minh toàn GPU idle. Raw và cơ chế attribution: ARCHITECTURE_AND_PROFILE.md. + +## Task 6 — ba pruning đã implement và kiểm tra + +`prune_depth.py` cắt block thật, reindex tensor và cập nhật metadata; giữ nguyên bytes của weight còn lại. Vision-tail bỏ 10,11; vision-spaced bỏ 4,8; coupled-tail bỏ 30,31 ở cả VLM/expert. Coupled giữ parity SA/CA; loader dùng chung số layer nên chưa prune VLM/expert độc lập. Đây là structured depth pruning không train, chưa phải CLP/CKA. Zero weight không giảm kích thước dense GEMM nên không chọn làm bằng chứng tăng tốc.''') +checks={d['name']:d for d in read('candidate-checks/summary.json')} +rows=[] +for d in read('pruning-summary.json'): + name=d['name']; b=bench[name]; c=checks[name] + rows.append([name,f'{d["bytes"]/2**20:.2f}',f'{b["mean_ms"]:.1f}',f'{b["p50_ms"]:.1f}/{b["p90_ms"]:.1f}',f'{100*(1-b["mean_ms"]/113.7):.2f}%',f'{mem[name]["peak_MiB"]:.2f}',f'{c["max_abs_real7"]:.6g}/{c["rmse_real7"]:.6g}','0/2']) +out.append(table(['Pruning','File MiB','Mean ms','p50/p90 ms','Giảm mean','Allocation MiB','Maxabs/RMSE real7','Smoke'],rows)) +out.append('''Benchmark dùng control 113,7 ms cùng candidate batch. Smoke cả ba thất bại; không ngoại suy thành official 0/200. Wilson cho 0/2 có upper bound 65,76% theo mô hình Bernoulli, cho thấy mẫu rất nhỏ; vẫn đủ lý do chưa ưu tiên chạy official tốn kém. Export sidecar `inference_validated=false` là trạng thái lúc export; inference về sau đã được `candidate-checks/summary.json` xác nhận, không chỉnh lịch sử export. + +Kết luận task 6: đã implement hai cách chọn layer vision (tail/spaced) và một coupled pruning, chứng minh giảm module active/end-to-end ở các trường hợp đã đo; chưa có phương pháp giữ SR đạt yêu cầu triển khai. Bước CKA cần activation calibration riêng và finetuning/đánh giá mới, không có phép tính thay thế được thí nghiệm đó. + +## Bằng chứng và cách đọc + +Tất cả đường dẫn dữ liệu tương đối dưới `research-notes/smolvla-followup-20261104/`: `candidate-bench/selected.json`, `memory-all/summary.json`, `candidate-checks/summary.json`, `candidate-smokes/results.json`, `pruning-summary.json`, `phase-suite/selected.json`, `kernel-phase-traces/*.boundaries.json`, `kernel-traces/*.summary.json`, các `screen40-*/result.json`. Bảng runtime và protocol: [PART3_OPTIMIZATION.md](PART3_OPTIMIZATION.md). Checklist và kết luận chính: [REPORT_SMOLVLA.md](REPORT_SMOLVLA.md). Các link ở phụ lục này tính từ gốc repo. +''') +(ROOT/'CALCULATIONS_SMOLVLA.md').write_text('\n\n'.join(out)) +print('Wrote CALCULATIONS_SMOLVLA.md') diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_5/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_5/episodes.csv index 1b8c250a..2d87bccb 100644 --- a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_5/episodes.csv +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_5/episodes.csv @@ -1,2 +1,5 @@ episode,success,steps,aborted 0,1,207,0 +1,0,500,0 +2,1,182,0 +3,1,243,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_6/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_6/episodes.csv new file mode 100644 index 00000000..4c59222d --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_6/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,153,0 +1,1,178,0 +2,1,185,0 +3,1,180,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_7/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_7/episodes.csv new file mode 100644 index 00000000..081210ce --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_7/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,135,0 +1,1,166,0 +2,1,118,0 +3,1,141,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_8/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_8/episodes.csv new file mode 100644 index 00000000..12a9a603 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_8/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,156,0 +1,1,150,0 +2,1,168,0 +3,1,172,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_9/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_9/episodes.csv new file mode 100644 index 00000000..be81b3a9 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_9/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,133,0 +1,0,500,0 +2,1,128,0 +3,0,500,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/progress.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/progress.json index c390c798..41a135fa 100644 --- a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/progress.json +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/progress.json @@ -1,8 +1,8 @@ { - "state": "running task 5", - "completed_tasks": 5, - "completed_episodes": 20, - "successes": 19, + "state": "complete", + "completed_tasks": 10, + "completed_episodes": 40, + "successes": 36, "expected_episodes": 40, "tasks": [ { @@ -64,6 +64,66 @@ 155 ], "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_4/episodes.csv" + }, + { + "task_id": 5, + "episodes": 4, + "successes": 3, + "steps": [ + 207, + 500, + 182, + 243 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_5/episodes.csv" + }, + { + "task_id": 6, + "episodes": 4, + "successes": 4, + "steps": [ + 153, + 178, + 185, + 180 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_6/episodes.csv" + }, + { + "task_id": 7, + "episodes": 4, + "successes": 4, + "steps": [ + 135, + 166, + 118, + 141 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_7/episodes.csv" + }, + { + "task_id": 8, + "episodes": 4, + "successes": 4, + "steps": [ + 156, + 150, + 168, + 172 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_8/episodes.csv" + }, + { + "task_id": 9, + "episodes": 4, + "successes": 2, + "steps": [ + 133, + 500, + 128, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_9/episodes.csv" } ] } diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/result.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/result.json new file mode 100644 index 00000000..a4890b03 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/result.json @@ -0,0 +1,130 @@ +{ + "state": "complete", + "completed_tasks": 10, + "completed_episodes": 40, + "successes": 36, + "expected_episodes": 40, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 4, + "steps": [ + 189, + 171, + 168, + 189 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_0/episodes.csv" + }, + { + "task_id": 1, + "episodes": 4, + "successes": 4, + "steps": [ + 152, + 155, + 122, + 147 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_1/episodes.csv" + }, + { + "task_id": 2, + "episodes": 4, + "successes": 3, + "steps": [ + 136, + 133, + 500, + 131 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_2/episodes.csv" + }, + { + "task_id": 3, + "episodes": 4, + "successes": 4, + "steps": [ + 149, + 148, + 158, + 133 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_3/episodes.csv" + }, + { + "task_id": 4, + "episodes": 4, + "successes": 4, + "steps": [ + 153, + 150, + 155, + 155 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_4/episodes.csv" + }, + { + "task_id": 5, + "episodes": 4, + "successes": 3, + "steps": [ + 207, + 500, + 182, + 243 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_5/episodes.csv" + }, + { + "task_id": 6, + "episodes": 4, + "successes": 4, + "steps": [ + 153, + 178, + 185, + 180 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_6/episodes.csv" + }, + { + "task_id": 7, + "episodes": 4, + "successes": 4, + "steps": [ + 135, + 166, + 118, + 141 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_7/episodes.csv" + }, + { + "task_id": 8, + "episodes": 4, + "successes": 4, + "steps": [ + 156, + 150, + 168, + 172 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_8/episodes.csv" + }, + { + "task_id": 9, + "episodes": 4, + "successes": 2, + "steps": [ + 133, + 500, + 128, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_9/episodes.csv" + } + ], + "screening_sr": 0.9 +} diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-6-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-6-command.json new file mode 100644 index 00000000..f8256514 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-6-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "6", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-7-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-7-command.json new file mode 100644 index 00000000..8bb3081d --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-7-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "7", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-8-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-8-command.json new file mode 100644 index 00000000..709dc06c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-8-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "8", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-9-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-9-command.json new file mode 100644 index 00000000..bc365c68 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/task-9-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "9", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs" +] From 763cf925db31b155d9ec956cea66e86e2584a8de Mon Sep 17 00:00:00 2001 From: hientran-ai Date: Thu, 5 Nov 2026 00:21:26 +0700 Subject: [PATCH 05/13] docs: finalize SmolVLA screening review package --- CALCULATIONS_SMOLVLA.md | 7 +- MENTOR_REVIEW.md | 4 +- NOTES_SMOLVLA.md | 26 + PAPER_READING_SMOLVLA_CLP.md | 2 +- PART3_OPTIMIZATION.md | 2 +- REPORT_SMOLVLA.md | 33 +- SUBMISSION_SMOLVLA.md | 21 +- .../review-20261104/submission-progress.json | 161 +- .../audit_screening.py | 80 + .../complete_calculations.py | 8 +- .../screen40-variants/batch.json | 14 +- .../smolvla/libero_object/task_0/episodes.csv | 5 + .../smolvla/libero_object/task_0/summary.txt | 6 + .../smolvla/libero_object/task_1/episodes.csv | 5 + .../smolvla/libero_object/task_1/summary.txt | 6 + .../smolvla/libero_object/task_2/episodes.csv | 5 + .../smolvla/libero_object/task_2/summary.txt | 6 + .../smolvla/libero_object/task_3/episodes.csv | 5 + .../smolvla/libero_object/task_3/summary.txt | 6 + .../smolvla/libero_object/task_4/episodes.csv | 5 + .../smolvla/libero_object/task_4/summary.txt | 6 + .../smolvla/libero_object/task_5/episodes.csv | 5 + .../smolvla/libero_object/task_5/summary.txt | 6 + .../smolvla/libero_object/task_6/episodes.csv | 5 + .../smolvla/libero_object/task_6/summary.txt | 6 + .../smolvla/libero_object/task_7/episodes.csv | 5 + .../smolvla/libero_object/task_7/summary.txt | 6 + .../smolvla/libero_object/task_8/episodes.csv | 5 + .../smolvla/libero_object/task_8/summary.txt | 6 + .../smolvla/libero_object/task_9/episodes.csv | 5 + .../smolvla/libero_object/task_9/summary.txt | 6 + .../screen40-variants/q8-vision/progress.json | 129 ++ .../screen40-variants/q8-vision/protocol.json | 39 + .../screen40-variants/q8-vision/result.json | 130 ++ .../q8-vision/task-0-command.json | 22 + .../q8-vision/task-1-command.json | 22 + .../q8-vision/task-2-command.json | 22 + .../q8-vision/task-3-command.json | 22 + .../q8-vision/task-4-command.json | 22 + .../q8-vision/task-5-command.json | 22 + .../q8-vision/task-6-command.json | 22 + .../q8-vision/task-7-command.json | 22 + .../q8-vision/task-8-command.json | 22 + .../q8-vision/task-9-command.json | 22 + .../screening-final-audit.json | 1400 +++++++++++++++++ 45 files changed, 2350 insertions(+), 36 deletions(-) create mode 100644 research-notes/smolvla-followup-20261104/audit_screening.py create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_0/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_0/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_1/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_1/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_2/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_2/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_3/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_3/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_4/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_4/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_5/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_5/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_6/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_6/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_7/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_7/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_8/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_8/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_9/episodes.csv create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_9/summary.txt create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/progress.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/protocol.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/result.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-0-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-1-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-2-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-3-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-4-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-5-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-6-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-7-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-8-command.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-9-command.json create mode 100644 research-notes/smolvla-followup-20261104/screening-final-audit.json diff --git a/CALCULATIONS_SMOLVLA.md b/CALCULATIONS_SMOLVLA.md index ce19664a..40c70710 100644 --- a/CALCULATIONS_SMOLVLA.md +++ b/CALCULATIONS_SMOLVLA.md @@ -1,6 +1,6 @@ # Phụ lục tính toán cho đủ 6 task -Các bảng dưới đây là **tính toán từ số đo đã có** hoặc **dự toán có giả định**, không phải benchmark mới. Chạy lại bằng `python3 research-notes/smolvla-followup-20261104/complete_calculations.py` tại gốc repo. Snapshot screening đọc từ result/progress tại lúc sinh tài liệu. +Các bảng dưới đây là **tính toán từ số đo đã có** hoặc **dự toán có giả định**, không phải benchmark mới. Chạy lại bằng `python3 research-notes/smolvla-followup-20261104/complete_calculations.py` tại gốc repo. Kết quả screening đọc từ result.json hoàn tất, được đối chiếu CSV bằng audit_screening.py. ## Task 1 — tỷ lệ kiểm thử @@ -36,7 +36,7 @@ Giảm latency = 100×(1−T/T0), speedup = T0/T, giảm allocation = 100×(1− | smolvla-q8_0-lm | 3.69% | 46.63% | | smolvla-q8_0-vision | 3.08% | 51.59% | -Q8-lm là ứng viên ưu tiên khi cần giảm bộ nhớ và giữ chất lượng; flash-mm là ứng viên ưu tiên latency. Đây là lựa chọn để đánh giá tiếp, chưa phải winner official200. Không cộng speedup quantization với flash-mm khi chưa đo cấu hình kết hợp. +Q8-lm và Q8-vision là ứng viên để đánh giá giảm bộ nhớ; flash-mm là ứng viên ưu tiên latency. Chưa xác nhận giữ chất lượng. Đây là lựa chọn để đánh giá tiếp, chưa phải winner official200. Không cộng speedup quantization với flash-mm khi chưa đo cấu hình kết hợp. ## Task 4 — SR, độ bất định và dự toán official @@ -47,9 +47,10 @@ Wilson 95% dùng z=1,959964, p=k/n; tâm=(p+z²/2n)/(1+z²/n), nửa rộng=z√ | Defaults screening | 38/40 | 95.0% | 83.5–98.6% | 190/200 (dự toán) | | Flash-mm screening | 35/40 | 87.5% | 73.9–94.5% | 175/200 (dự toán) | | Q8-lm screening | 36/40 | 90.0% | 76.9–96.0% | 180/200 (dự toán) | +| Q8-vision screening | 36/40 | 90.0% | 76.9–96.0% | 180/200 (dự toán) | | Defaults official | 177/200 | 88,5% | 83.3–92.2% | đã đo | -Dự toán 175/200 cho flash-mm và 180/200 cho Q8-lm chỉ là 200×SR screening, giả định cùng phân phối; không được đưa vào cột official đo thật. Defaults screening dự toán 190/200 nhưng official thực tế 177/200 cho thấy phép ngoại suy có thể lệch đáng kể. Q8-vision chưa đủ screening: không thể suy SR từ RMSE hoặc 2/2 smoke; khoảng có thể về mặt logic là 0–100%, không có point estimate được dữ liệu hỗ trợ. Official của các biến thể vẫn chưa đo. Với 3 biến thể tối đa, ngân sách còn 600 episode; chọn 2 biến thể thì 400 episode. Thời gian chạy không thể tính chỉ từ engine latency vì số bước/task và simulator thay đổi. +Dự toán 175/200 cho flash-mm và 180/200 cho Q8-lm và Q8-vision chỉ là 200×SR screening, giả định cùng phân phối; không được đưa vào cột official đo thật. Defaults screening dự toán 190/200 nhưng official thực tế 177/200 cho thấy phép ngoại suy có thể lệch đáng kể. Q8-vision đã hoàn tất 36/40 = 90%; không suy SR từ RMSE hoặc smoke. Hai bản Q8 cùng số thành công nhưng không chứng minh tương đương chất lượng. Official của các biến thể vẫn chưa đo. Với 3 biến thể tối đa, ngân sách còn 600 episode; chọn 2 biến thể thì 400 episode. Thời gian chạy không thể tính chỉ từ engine latency vì số bước/task và simulator thay đổi. ## Task 5 — phân bổ GPU và mô hình dự báo diff --git a/MENTOR_REVIEW.md b/MENTOR_REVIEW.md index c23d2833..5f293c5f 100644 --- a/MENTOR_REVIEW.md +++ b/MENTOR_REVIEW.md @@ -1,6 +1,6 @@ # Các điểm nhờ mentor review -Cập nhật ngày 04/11/2026 (UTC+07). Tài liệu chính: [REPORT_SMOLVLA.md](REPORT_SMOLVLA.md), [bảng phần3](PART3_OPTIMIZATION.md). +Cập nhật ngày 05/11/2026 (UTC+07). Tài liệu chính: [REPORT_SMOLVLA.md](REPORT_SMOLVLA.md), [bảng phần3](PART3_OPTIMIZATION.md). ## Các vấn đề thực nghiệm còn mở @@ -19,4 +19,4 @@ Cập nhật ngày 04/11/2026 (UTC+07). Tài liệu chính: [REPORT_SMOLVLA.md]( ## Dữ liệu và trạng thái đánh giá -Kết quả và script tái lập được lưu trong nhánh này. Screening các cấu hình tối ưu đang tiếp tục; kết quả hiện tại là tạm thời, chưa dùng để chọn cấu hình đánh giá chính thức. +Kết quả và script tái lập được lưu trong nhánh này. Screening đã hoàn tất 120/120 episode: flash-mm 35/40, Q8-lm 36/40, Q8-vision 36/40, so với defaults 38/40. Official biến thể và repeated-seed chưa chạy; chưa kết luận giữ SR. Kết quả đã đối chiếu CSV bằng `research-notes/smolvla-followup-20261104/audit_screening.py`. diff --git a/NOTES_SMOLVLA.md b/NOTES_SMOLVLA.md index 1f100f64..b0c8f3db 100644 --- a/NOTES_SMOLVLA.md +++ b/NOTES_SMOLVLA.md @@ -460,3 +460,29 @@ Screen40 q8-vision: task 0 hoàn tất 4/4; tổng tạm thời 4/4. Log screen4 Người dùng cho phép bổ sung tính toán ở phần thiếu và commit/push GitHub. Đã tạo CALCULATIONS_SMOLVLA.md và script complete_calculations.py; cập nhật REPORT/SUBMISSION/PART3. Q8-lm result mới xác nhận36/40, thay snapshot34/36. Q8-vision đang chạy, không dừng hoặc can thiệp runner. Số liệu dự toán official flash-mm175/200 và Q8-lm180/200 chỉ là200×SRscreening, không phải episode đã chạy. Không suy residentVRAM, SR từ synthetic error hoặc tự ghi testpass. Lệnh tái lập: python3 research-notes/smolvla-followup-20261104/complete_calculations.py. Lệnh `python` không có trên PATH, dùng `python3` thành công. Giữ nguyên on.txt/off.txt và dữ liệu runner đang ghi; chỉ stage tài liệu/script và snapshot result Q8-lm hoàn tất. Screen40 q8-vision: task 1 hoàn tất 4/4; tổng tạm thời 8/8. Log screen40-variants/q8-vision/task-1.log; chưa phải official SR. + +Screen40 q8-vision: task 2 hoàn tất 4/4; tổng tạm thời 12/12. Log screen40-variants/q8-vision/task-2.log; chưa phải official SR. + +Screen40 q8-vision: task 3 hoàn tất 4/4; tổng tạm thời 16/16. Log screen40-variants/q8-vision/task-3.log; chưa phải official SR. + +Screen40 q8-vision: task 4 hoàn tất 3/4; tổng tạm thời 19/20. Log screen40-variants/q8-vision/task-4.log; chưa phải official SR. + +Screen40 q8-vision: task 5 hoàn tất 3/4; tổng tạm thời 22/24. Log screen40-variants/q8-vision/task-5.log; chưa phải official SR. + +Screen40 q8-vision: task 6 hoàn tất 4/4; tổng tạm thời 26/28. Log screen40-variants/q8-vision/task-6.log; chưa phải official SR. + +Screen40 q8-vision: task 7 hoàn tất 3/4; tổng tạm thời 29/32. Log screen40-variants/q8-vision/task-7.log; chưa phải official SR. + +Screen40 q8-vision: task 8 hoàn tất 3/4; tổng tạm thời 32/36. Log screen40-variants/q8-vision/task-8.log; chưa phải official SR. + +Screen40 q8-vision: task 9 hoàn tất 4/4; tổng tạm thời 36/40. Log screen40-variants/q8-vision/task-9.log; chưa phải official SR. + +## Chốt tài liệu sau screening — 05/11/2026 (UTC+07) + +Batch ba biến thể đã complete, 120/120 episode, cả ba exit 0: flash-mm 35/40, Q8-lm 36/40, Q8-vision 36/40. Q8-vision task 9 đạt 4/4, không skip. Trạng thái chạy trong các dòng nhật ký trước là lịch sử. + +Đã cập nhật REPORT_SMOLVLA.md, SUBMISSION_SMOLVLA.md, PART3_OPTIMIZATION.md, CALCULATIONS_SMOLVLA.md, MENTOR_REVIEW.md và PAPER_READING_SMOLVLA_CLP.md. Phụ lục có thêm Q8-vision, Wilson 95% 76,9–96,0%; 180/200 vẫn chỉ là ngoại suy, chưa phải official. Báo cáo có bảng tiêu chí đóng các thực nghiệm còn mở. + +Thêm audit_screening.py: đối chiếu result.json với 40 CSV của defaults và ba biến thể (160 episode), kiểm tra ID episode/task, steps, success, aborted, SR và exit batch. Kết quả khớp: defaults 38/40; flash-mm 35/40; Q8-lm 36/40; Q8-vision 36/40; tất cả aborted=0. screening-final-audit.json lưu số đo từng episode và SHA256 CSV; không kiểm tra video. submission-progress.json được cập nhật từ result cuối. + +Kiểm tra: audit_screening.py pass; complete_calculations.py sinh lại phụ lục giống nhau; sáu tài liệu không có local link mất target hoặc trạng thái Q8-vision cũ; hai script parse thành công; git diff --check sạch. Không chạy lại benchmark hoặc CUDA tests trong lượt chốt tài liệu này. Hai CUDA tests vẫn fail theo log đã có; official biến thể, repeated-seed, CKA/finetuning, connector/attention riêng, lock sạch và resident VRAM vẫn mở. Giữ nguyên on.txt/off.txt và dữ liệu thí nghiệm. diff --git a/PAPER_READING_SMOLVLA_CLP.md b/PAPER_READING_SMOLVLA_CLP.md index 7f081f24..ea176038 100644 --- a/PAPER_READING_SMOLVLA_CLP.md +++ b/PAPER_READING_SMOLVLA_CLP.md @@ -18,4 +18,4 @@ Các bản tail/spaced hiện có là đối chứng depth ablation, chưa phả Cần ghi rõ bản không finetune là adaptation training-free của ý tưởng, không gán kết quả paper cho checkpoint này. So sánh với tail/spaced cùng số layer bị bỏ, chạy smoke rồi screening40. Đánh giá latency module bằng cả benchmark và nsys; official200 chỉ dành cấu hình được chọn. Không sử dụng dữ liệu episode đánh giá làm calibration. -Paper mô tả kiến trúc tổng quát; bảng số layer/hidden size phải lấy metadata checkpoint đang dùng. Kết quả đang chạy trên GPU không bị thay đổi bởi việc đọc tài liệu này. +Paper mô tả kiến trúc tổng quát; bảng số layer/hidden size phải lấy metadata checkpoint đang dùng. Screening ba biến thể đã hoàn tất; phần đọc paper không thay thế đánh giá CKA/finetuning còn thiếu. diff --git a/PART3_OPTIMIZATION.md b/PART3_OPTIMIZATION.md index e4b87dbd..92210b12 100644 --- a/PART3_OPTIMIZATION.md +++ b/PART3_OPTIMIZATION.md @@ -60,4 +60,4 @@ Telemetry bổ sung: 120 mẫu, nhiệt độ ghi nhận 53–72°C; không ph ## Phép tính bổ sung và liên hệ 6 task -[Bảng tính tái lập](CALCULATIONS_SMOLVLA.md#task-3--mức-giảm-so-control-cùng-batch) bổ sung phần trăm giảm latency/allocation và speedup cho từng cấu hình. Flash-mm giảm mean17,79%, speedup1,216× và giảm allocation45,61% so control runtime104,0ms/1912,47MiB. Q8-lm screening đã hoàn tất36/40; official của biến thể chưa đo. Xem [báo cáo đủ6task](REPORT_SMOLVLA.md) và [pruning](CALCULATIONS_SMOLVLA.md#task-6--ba-pruning-đã-implement-và-kiểm-tra). +[Bảng tính tái lập](CALCULATIONS_SMOLVLA.md#task-3--mức-giảm-so-control-cùng-batch) bổ sung phần trăm giảm latency/allocation và speedup cho từng cấu hình. Flash-mm giảm mean17,79%, speedup1,216× và giảm allocation45,61% so control runtime104,0ms/1912,47MiB. Q8-lm và Q8-vision screening đều đã hoàn tất 36/40; official của biến thể chưa đo. Q8-vision giảm allocation 51,59% so với control quantization, Q8-lm giảm 46,63%; screening bằng nhau chưa chứng minh tương đương chất lượng. Xem [báo cáo đủ6task](REPORT_SMOLVLA.md) và [pruning](CALCULATIONS_SMOLVLA.md#task-6--ba-pruning-đã-implement-và-kiểm-tra). diff --git a/REPORT_SMOLVLA.md b/REPORT_SMOLVLA.md index c7f1cac7..d13a1f45 100644 --- a/REPORT_SMOLVLA.md +++ b/REPORT_SMOLVLA.md @@ -1,6 +1,6 @@ # Báo cáo thực nghiệm SmolVLA -Bản tổng hợp đủ nội dung 6 task, bổ sung tính toán theo yêu cầu người dùng ngày 04/11/2026. Các thí nghiệm chưa chạy vẫn được ghi rõ. Repo gốc tại commit `4a542ed3bfb8f330388aceb8926294a951156172`; các kết quả là số đo cục bộ trên RTX 3060 Laptop 6 GiB qua WSL2. Snapshot screening có thể cũ hơn tiến trình đang chạy; phần dự toán không phải số đo. +Bản tổng hợp đủ nội dung 6 task, bổ sung tính toán theo yêu cầu người dùng ngày 04/11/2026. Các thí nghiệm chưa chạy vẫn được ghi rõ. Repo gốc tại commit `4a542ed3bfb8f330388aceb8926294a951156172`; các kết quả là số đo cục bộ trên RTX 3060 Laptop 6 GiB qua WSL2. Cập nhật ngày 05/11/2026 (UTC+07): screening ba biến thể đã hoàn tất 120/120 episode; phần dự toán không phải số đo. ## Trạng thái sáu phần @@ -9,7 +9,7 @@ Bản tổng hợp đủ nội dung 6 task, bổ sung tính toán theo yêu cầ | 1. Cài đặt | CUDA arch86; CLI, server, binding, predict_check đã chạy | Tests13/15; hai lỗi bit-exact còn mở | | 2. Baseline | Có p50/p90, traced allocation và điều kiện đo | Không đo được toàn bộ resident VRAM riêng process trên WSL | | 3. Không train | 10 runtime configs và Q8/Q5/Q4 có/không vision; đủ4chỉ tiêu | Chưa kết luận giữ chất lượng điều khiển | -| 4. LIBERO | Baseline screening38/40; official177/200 | Flash-mm35/40, Q8-lm36/40; Q8-vision đang chạy; official biến thể là dự toán riêng | +| 4. LIBERO | Baseline screening38/40; official177/200 | Flash-mm35/40, Q8-lm36/40; Q8-vision36/40; official biến thể chưa đo | | 5. Profile | Kiến trúc, phase, nsys kernel/module traces | Chưa chọn bản tốt nhất theo SR; chưa tách connector khỏi vision | | 6. Pruning | 3depth ablations; module latency và smoke | Smoke cả3bản0/2; chưa implement CKA/finetuning | @@ -42,15 +42,15 @@ Ba batch latency phải đọc riêng: baseline ban đầu mean112,0ms; runtime- Sai lệch output dùng input harness6token và noise cố định; benchmark dùng16token. Metric lấy50×7 action thực, loại padding. Không suy ra SR từ sai số synthetic. -## Screening biến thể — snapshot +## Screening biến thể — kết quả hoàn tất | Cấu hình | Episode đã chốt | Thành công | Trạng thái | |---|---:|---:|---| -| flash-mm | 40/40 | 35 | complete | +| flash-mm | 40/40 | 35 | complete: 87,5% | | q8-lm | 40/40 | 36 | complete: 90% | -| q8-vision | 4/40 | 4 | snapshot đang chạy; chưa phải SR40 | +| q8-vision | 40/40 | 36 | complete: 90% | -Đếm theo task đã hoàn tất. Chạy tuần tự flash+mm → Q8 không vision → Q8 có vision, tổng120episode. Raw progress: `research-notes/smolvla-followup-20261104/screen40-variants/`. Snapshot không phải kết quả cuối nếu batch còn running. +Đã chạy tuần tự flash+mm → Q8 không vision → Q8 có vision, tổng 120/120 episode; cả ba runner exit 0, batch complete. Kết quả cuối và CSV từng task: `research-notes/smolvla-followup-20261104/screen40-variants/`. Đối chiếu CSV bằng `audit_screening.py` trong cùng thư mục cha; báo cáo kiểm tra: `screening-final-audit.json`. Screening defaults 38/40, flash-mm 35/40 và hai bản Q8 36/40 chưa đủ để kết luận giữ SR hoặc xếp hạng chất lượng. ## Profile và pruning @@ -102,8 +102,25 @@ Telemetry runtime bổ sung ghi nhận53–72°C trong120mẫu, không phủ to ## Đọc đủ Task 3–6 và phần chưa có số liệu - Task3: [bảng đầy đủ runtime và sáu quantization](PART3_OPTIMIZATION.md), kèm input, sai lệch real7 và giới hạn memory. -- Task4: baseline official177/200; screening defaults38/40, flash-mm35/40, Q8-lm36/40. [Phụ lục tính toán](CALCULATIONS_SMOLVLA.md#task-4--sr-độ-bất-định-và-dự-toán-official) có Wilson95% và dự toán flash-mm175/200, Q8-lm180/200, giả định SR không đổi. Hai dự toán này chưa được chạy/xác nhận; Q8-vision chưa có point estimate đáng tin. +- Task4: baseline official177/200; screening defaults38/40, flash-mm35/40, Q8-lm36/40, Q8-vision36/40. [Phụ lục tính toán](CALCULATIONS_SMOLVLA.md#task-4--sr-độ-bất-định-và-dự-toán-official) có Wilson95% và dự toán flash-mm175/200, Q8-lm180/200 và Q8-vision180/200, giả định SR không đổi. Các dự toán này chưa được chạy/xác nhận. - Task5: [sơ đồ, phase timing và nsys](research-notes/smolvla-followup-20261104/ARCHITECTURE_AND_PROFILE.md); [tính tỷ trọng và dự báo theo depth](CALCULATIONS_SMOLVLA.md#task-5--phân-bổ-gpu-và-mô-hình-dự-báo). Flash-mm là ứng viên latency đã profile; chưa chốt best theo officialSR. - Task6: [bảng ba pruning với file, allocation, p50/p90, sai lệch và smoke](CALCULATIONS_SMOLVLA.md#task-6--ba-pruning-đã-implement-và-kiểm-tra), implementation [prune_depth.py](research-notes/smolvla-followup-20261104/prune_depth.py). Đây là kết quả âm về chất lượng của depth pruning chưa finetune; chưa gọi là tái hiện CLP. -Tài liệu đã điền đủ phần giải thích, bằng chứng và tính toán cho6task; không đồng nghĩa mọi tiêu chí thực nghiệm đều đạt. Chưa thể thay bằng tính toán: hai testfail, residentVRAM, SRofficialbiến thể, attention/connector timing riêng, CKA/finetuning và repeated-seed. Đề xuất giữ defaults làm bản chất lượng đã được đo chính thức; ưu tiên Q8-lm cho đánh giá memory và flash-mm cho latency, không chọn pruning0/2 để triển khai. +Tài liệu đã điền đủ phần giải thích, bằng chứng và tính toán cho6task; không đồng nghĩa mọi tiêu chí thực nghiệm đều đạt. Chưa thể thay bằng tính toán: hai testfail, residentVRAM, SRofficialbiến thể, attention/connector timing riêng, CKA/finetuning và repeated-seed. Đề xuất giữ defaults làm bản chất lượng đã được đo chính thức; ưu tiên đánh giá Q8-lm/Q8-vision cho memory và flash-mm cho latency, không chọn pruning0/2 để triển khai. + + +## Kết luận sau screening và phần thực nghiệm còn lại + +Screening hoàn tất ngày 05/11/2026. Defaults vẫn là mốc chất lượng chính thức 177/200. Flash-mm là ứng viên latency với mean 85,5 ms so với control 104,0 ms cùng batch. Q8-vision dùng allocation 925,88 MiB so với Q8-lm 1020,70 MiB và control quantization 1912,47 MiB; cả hai Q8 đạt 36/40. Chưa có kết quả cấu hình kết hợp quantization + flash-mm, nên không cộng các mức cải thiện. + +| Hạng mục còn lại | Điều kiện để đóng | +|---|---| +| Hai lỗi CUDA bit-exact | Xác định nguyên nhân, sửa và chạy lại tests với hợp đồng hiện tại; không nới tolerance để đổi trạng thái | +| Chất lượng biến thể chính thức | Chạy đủ 200 episode/biến thể theo protocol đã công bố, lưu CSV và policy recovery; tối đa 600 episode cho ba biến thể | +| Độ ổn định theo seed | Định nghĩa noise/seed protocol và chạy lặp; không chọn layer hoặc chỉnh cấu hình trên episode đánh giá | +| Profile connector/attention | Thêm instrumentation tách module và đo lại, giữ rõ GPU-active và wall time | +| CLP/CKA | Calibration riêng, activation/CKA, chọn layer hợp lệ, finetuning và đánh giá mới; ba depth ablation hiện tại chưa đạt chất lượng | +| Môi trường tái lập | Giải quyết bảy dependency conflicts và tạo lock đã kiểm tra trên môi trường sạch | +| Resident VRAM | Đo trên backend hỗ trợ process memory; WSL hiện trả N/A nên chỉ báo traced allocation | + +Bản tài liệu đã tổng hợp kết quả hiện có; các tiêu chí trên vẫn mở và cần thực nghiệm mới. Không dùng phép ngoại suy SR hoặc mô hình depth để đánh dấu hoàn tất. diff --git a/SUBMISSION_SMOLVLA.md b/SUBMISSION_SMOLVLA.md index 8f901665..bed8736b 100644 --- a/SUBMISSION_SMOLVLA.md +++ b/SUBMISSION_SMOLVLA.md @@ -1,6 +1,15 @@ # Báo cáo tiến độ SmolVLA — bản gửi review -Tổng hợp đủ 6 task và bổ sung phép tính theo yêu cầu ngày 04/11/2026. Số đo thật, dự toán và tiêu chí chưa đạt được tách rõ. +Tổng hợp đủ 6 task; cập nhật kết quả screening cuối ngày 05/11/2026. Số đo thật, dự toán và tiêu chí chưa đạt được tách rõ. + +## Cách review nhanh + +1. Đọc file này để nắm kết luận và giới hạn trong khoảng 3 phút. +2. Mở [các câu hỏi cần góp ý](MENTOR_REVIEW.md) để tập trung vào 10 quyết định phương pháp còn mở. +3. Dùng [báo cáo tổng thể](REPORT_SMOLVLA.md) để kiểm tra protocol, số liệu và trạng thái từng task. +4. Khi cần đối chiếu phép tính, chạy `python3 research-notes/smolvla-followup-20261104/complete_calculations.py`; khi cần đối chiếu screening, chạy `python3 research-notes/smolvla-followup-20261104/audit_screening.py`. + +Các file `REPORT_HISTORY.md` và những dòng trạng thái cũ trong `NOTES_SMOLVLA.md` chỉ là lịch sử. Kết luận hiện tại nằm trong file này và `REPORT_SMOLVLA.md`. ## Kết quả đã hoàn tất @@ -9,15 +18,15 @@ Tổng hợp đủ 6 task và bổ sung phép tính theo yêu cầu ngày 04/11/ - Phần3:10cấu hình runtime,6GGUF Q8/Q5/Q4 có/không vision; có bảng kích thước, latency, peak allocation và sai lệch action. - Flash+mm screening: **35/40 = 87,5%**. Baseline screening đối chứng:38/40. Chưa kết luận khác biệt có ý nghĩa thống kê. -## Đánh giá đang tiếp tục +## Screening đã hoàn tất | Cấu hình | Episode đã chốt | Thành công | Trạng thái | |---|---:|---:|---| -| flash-mm | 40/40 | 35 | complete | +| flash-mm | 40/40 | 35 | complete: 87,5% | | q8-lm | 40/40 | 36 | complete: 90% | -| q8-vision | 4/40 | 4 | snapshot đang chạy; chưa phải SR40 | +| q8-vision | 40/40 | 36 | complete: 90% | -Kết quả Q8-vision chưa đầy đủ, không trình bày tỷ lệ tạm thời như SR của cả40episode. Official200 cho biến thể chưa chạy. Không chọn cấu hình cuối cùng khi chưa tổng hợp đánh giá. +Batch đã hoàn tất 120/120 episode, cả ba cấu hình exit 0. Official200 cho biến thể chưa chạy; screening chưa đủ để kết luận giữ chất lượng. Q8-vision giảm allocation còn 925,88 MiB, thấp hơn Q8-lm 1020,70 MiB; cả hai đạt 36/40 nhưng chưa chứng minh tương đương. Flash-mm ưu tiên latency; defaults vẫn là bản có SR official đã đo. ## Tài liệu chi tiết @@ -32,4 +41,4 @@ Kết quả Q8-vision chưa đầy đủ, không trình bày tỷ lệ tạm th VRAM là peak traced allocation, chưa phải toàn bộ resident VRAM riêng process trên WSL. Latency chỉ so với control cùng batch. Output-check dùng input synthetic khác benchmark và không thay được SR. Server noise chưa cố định. Pruning hiện là depth ablation, chưa tái hiện CLP; cả3bản smoke0/2. Các chi tiết test fail, môi trường và recovery được công bố trong báo cáo tổng thể. -Dự toán, chưa đo: flash-mm175/200, Q8-lm180/200 bằng200×SRscreening; không dùng làm kết quả official. Kết quả âm pruning vẫn được báo đầy đủ: ba bản giảm depth đều smoke0/2. Mục tiêu triển khai giữSR chưa đạt; defaults177/200 vẫn là mốc chính thức. +Dự toán, chưa đo: flash-mm175/200, Q8-lm180/200 và Q8-vision180/200 bằng200×SRscreening; không dùng làm kết quả official. Kết quả âm pruning vẫn được báo đầy đủ: ba bản giảm depth đều smoke0/2. Mục tiêu triển khai giữSR chưa đạt; defaults177/200 vẫn là mốc chính thức. diff --git a/research-notes/review-20261104/submission-progress.json b/research-notes/review-20261104/submission-progress.json index 54c9c766..28c32b14 100644 --- a/research-notes/review-20261104/submission-progress.json +++ b/research-notes/review-20261104/submission-progress.json @@ -1,6 +1,6 @@ { - "updated_at": "04/11/2026 23:41 UTC+07", - "classification": "interim screening; not final", + "updated_at": "2026-11-05T00:21:05+07:00", + "classification": "screening complete; variant official200 not measured", "variants": { "flash-mm": { "state": "complete", @@ -129,13 +129,14 @@ ], "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_9/episodes.csv" } - ] + ], + "screening_sr": 0.875 }, "q8-lm": { - "state": "running task 9", - "completed_tasks": 9, - "completed_episodes": 36, - "successes": 34, + "state": "complete", + "completed_tasks": 10, + "completed_episodes": 40, + "successes": 36, "expected_episodes": 40, "tasks": [ { @@ -245,9 +246,151 @@ 172 ], "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_8/episodes.csv" + }, + { + "task_id": 9, + "episodes": 4, + "successes": 2, + "steps": [ + 133, + 500, + 128, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_9/episodes.csv" } - ] + ], + "screening_sr": 0.9 }, - "q8-vision": {} + "q8-vision": { + "state": "complete", + "completed_tasks": 10, + "completed_episodes": 40, + "successes": 36, + "expected_episodes": 40, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 4, + "steps": [ + 148, + 166, + 174, + 159 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_0/episodes.csv" + }, + { + "task_id": 1, + "episodes": 4, + "successes": 4, + "steps": [ + 141, + 137, + 156, + 169 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_1/episodes.csv" + }, + { + "task_id": 2, + "episodes": 4, + "successes": 4, + "steps": [ + 125, + 137, + 128, + 135 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_2/episodes.csv" + }, + { + "task_id": 3, + "episodes": 4, + "successes": 4, + "steps": [ + 131, + 128, + 138, + 129 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_3/episodes.csv" + }, + { + "task_id": 4, + "episodes": 4, + "successes": 3, + "steps": [ + 173, + 500, + 169, + 151 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_4/episodes.csv" + }, + { + "task_id": 5, + "episodes": 4, + "successes": 3, + "steps": [ + 500, + 130, + 161, + 139 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_5/episodes.csv" + }, + { + "task_id": 6, + "episodes": 4, + "successes": 4, + "steps": [ + 180, + 161, + 171, + 166 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_6/episodes.csv" + }, + { + "task_id": 7, + "episodes": 4, + "successes": 3, + "steps": [ + 136, + 148, + 500, + 155 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_7/episodes.csv" + }, + { + "task_id": 8, + "episodes": 4, + "successes": 3, + "steps": [ + 500, + 160, + 173, + 173 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_8/episodes.csv" + }, + { + "task_id": 9, + "episodes": 4, + "successes": 4, + "steps": [ + 128, + 136, + 144, + 131 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_9/episodes.csv" + } + ], + "screening_sr": 0.9 + } } } diff --git a/research-notes/smolvla-followup-20261104/audit_screening.py b/research-notes/smolvla-followup-20261104/audit_screening.py new file mode 100644 index 00000000..0eaf727a --- /dev/null +++ b/research-notes/smolvla-followup-20261104/audit_screening.py @@ -0,0 +1,80 @@ +"""Validate final screening results against every per-episode CSV.""" +import csv +import hashlib +import json +from datetime import datetime, timezone, timedelta +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +DATA = Path(__file__).resolve().parent + + +def read(path): + return json.loads(path.read_text()) + + +def require(condition, message): + if not condition: + raise ValueError(message) + + +def audit(name, directory): + result = read(directory / 'result.json') + require(result['state'] == 'complete', f'{name}: unfinished result') + tasks = result['tasks'] + require(sorted(t['task_id'] for t in tasks) == list(range(10)), f'{name}: task IDs') + episodes = successes = aborted = 0 + records = [] + for task in tasks: + path = Path(task['csv']) + if not path.is_absolute(): + path = ROOT / path + with path.open(newline='') as handle: + rows = list(csv.DictReader(handle)) + require(len(rows) == task['episodes'] == 4, f'{name}: task episode count') + require(sorted(int(r['episode']) for r in rows) == list(range(4)), f'{name}: episode IDs') + require(all(r['success'] in ('0', '1') and r['aborted'] in ('0', '1') for r in rows), f'{name}: flags') + count = sum(int(r['success']) for r in rows) + skips = sum(int(r['aborted']) for r in rows) + require(count == task['successes'], f'{name}: success mismatch') + require([int(r['steps']) for r in rows] == task['steps'], f'{name}: steps mismatch') + require(all(int(r['steps']) > 0 for r in rows), f'{name}: invalid steps') + episodes += len(rows) + successes += count + aborted += skips + records.append({'task_id': task['task_id'], 'episodes': len(rows), 'successes': count, + 'aborted': skips, 'csv': str(path.relative_to(ROOT)), + 'csv_sha256': hashlib.sha256(path.read_bytes()).hexdigest(), + 'episode_records': [{key: int(row[key]) for key in ('episode', 'success', 'steps', 'aborted')} for row in rows]}) + require(episodes == result['completed_episodes'] == result['expected_episodes'] == 40, f'{name}: total episodes') + require(result['completed_tasks'] == 10, f'{name}: total tasks') + require(successes == result['successes'] and aborted == 0, f'{name}: final totals') + require(abs(result['screening_sr'] - successes / episodes) < 1e-12, f'{name}: SR') + return {'episodes': episodes, 'successes': successes, 'aborted': aborted, + 'screening_sr': successes / episodes, 'tasks': records} + + +def main(): + batch = read(DATA / 'screen40-variants/batch.json') + names = ['flash-mm', 'q8-lm', 'q8-vision'] + require(batch['state'] == 'complete' and batch['current'] is None, 'unfinished batch') + require([r['name'] for r in batch['results']] == names, 'batch configurations') + require(all(r['exit'] == 0 for r in batch['results']), 'runner failure') + require(batch['expected_configurations'] == 3 and batch['expected_episodes'] == 120, 'batch counts') + results = {'defaults': audit('defaults', DATA / 'screen40-defaults')} + for name in names: + results[name] = audit(name, DATA / 'screen40-variants' / name) + updated = datetime.now(timezone(timedelta(hours=7))).isoformat(timespec='seconds') + output = {'updated_at': updated, 'state': 'verified', 'scope': 'CSV counts, IDs, steps, SR and runner exits; no video audit', + 'variant_episodes': sum(results[n]['episodes'] for n in names), 'results': results} + (DATA / 'screening-final-audit.json').write_text(json.dumps(output, indent=2) + '\n') + snapshot = {'updated_at': updated, 'classification': 'screening complete; variant official200 not measured', + 'variants': {n: read(DATA / 'screen40-variants' / n / 'result.json') for n in names}} + (ROOT / 'research-notes/review-20261104/submission-progress.json').write_text(json.dumps(snapshot, indent=2) + '\n') + for name, result in results.items(): + print(f"{name}: {result['successes']}/{result['episodes']}, aborted={result['aborted']}") + print('Verified 120 variant episodes and 40 baseline screening episodes.') + + +if __name__ == '__main__': + main() diff --git a/research-notes/smolvla-followup-20261104/complete_calculations.py b/research-notes/smolvla-followup-20261104/complete_calculations.py index aa9b150b..fad1fe74 100644 --- a/research-notes/smolvla-followup-20261104/complete_calculations.py +++ b/research-notes/smolvla-followup-20261104/complete_calculations.py @@ -20,7 +20,7 @@ def table(headers, rows): return '\n'.join(['| ' + ' | '.join(headers) + ' |', '| ' + ' | '.join(['---']*len(headers)) + ' |'] + ['| '+' | '.join(map(str,r))+' |' for r in rows]) out = ['# Phụ lục tính toán cho đủ 6 task', -'''Các bảng dưới đây là **tính toán từ số đo đã có** hoặc **dự toán có giả định**, không phải benchmark mới. Chạy lại bằng `python3 research-notes/smolvla-followup-20261104/complete_calculations.py` tại gốc repo. Snapshot screening đọc từ result/progress tại lúc sinh tài liệu. +'''Các bảng dưới đây là **tính toán từ số đo đã có** hoặc **dự toán có giả định**, không phải benchmark mới. Chạy lại bằng `python3 research-notes/smolvla-followup-20261104/complete_calculations.py` tại gốc repo. Kết quả screening đọc từ result.json hoàn tất, được đối chiếu CSV bằng audit_screening.py. ## Task 1 — tỷ lệ kiểm thử @@ -49,20 +49,20 @@ def table(headers, rows): if 'q' not in name: continue rows.append([name,f'{100*(1-d["mean_ms"]/bench["defaults"]["mean_ms"]):.2f}%',f'{100*(1-mem[name]["peak_MiB"]/mem["defaults"]["peak_MiB"]):.2f}%']) out.append(table(['Quantization','Giảm mean so 113,7 ms','Giảm allocation'],rows)) -out.append('''Q8-lm là ứng viên ưu tiên khi cần giảm bộ nhớ và giữ chất lượng; flash-mm là ứng viên ưu tiên latency. Đây là lựa chọn để đánh giá tiếp, chưa phải winner official200. Không cộng speedup quantization với flash-mm khi chưa đo cấu hình kết hợp. +out.append('''Q8-lm và Q8-vision là ứng viên để đánh giá giảm bộ nhớ; flash-mm là ứng viên ưu tiên latency. Chưa xác nhận giữ chất lượng. Đây là lựa chọn để đánh giá tiếp, chưa phải winner official200. Không cộng speedup quantization với flash-mm khi chưa đo cấu hình kết hợp. ## Task 4 — SR, độ bất định và dự toán official Wilson 95% dùng z=1,959964, p=k/n; tâm=(p+z²/2n)/(1+z²/n), nửa rộng=z√(p(1−p)/n+z²/4n²)/(1+z²/n). Interval giả sử episode Bernoulli độc lập; tương quan giữa episode cùng task và chỉ một seed làm độ bất định thực tế có thể lớn hơn. Không dùng interval này để khẳng định non-inferiority.''') rows=[] -for label,path in [('Defaults screening','screen40-defaults/result.json'),('Flash-mm screening','screen40-variants/flash-mm/result.json'),('Q8-lm screening','screen40-variants/q8-lm/result.json')]: +for label,path in [('Defaults screening','screen40-defaults/result.json'),('Flash-mm screening','screen40-variants/flash-mm/result.json'),('Q8-lm screening','screen40-variants/q8-lm/result.json'),('Q8-vision screening','screen40-variants/q8-vision/result.json')]: d=read(path); n=d['completed_episodes']; k=d['successes']; assert n==40 lo,hi=wilson(k,n) rows.append([label,f'{k}/{n}',f'{100*k/n:.1f}%',f'{100*lo:.1f}–{100*hi:.1f}%',f'{200*k/n:.0f}/200 (dự toán)']) lo,hi=wilson(177,200) rows.append(['Defaults official','177/200','88,5%',f'{100*lo:.1f}–{100*hi:.1f}%','đã đo']) out.append(table(['Cấu hình','Thành công','SR đo','Wilson 95% tính','Quy đổi tuyến tính'],rows)) -out.append('''Dự toán 175/200 cho flash-mm và 180/200 cho Q8-lm chỉ là 200×SR screening, giả định cùng phân phối; không được đưa vào cột official đo thật. Defaults screening dự toán 190/200 nhưng official thực tế 177/200 cho thấy phép ngoại suy có thể lệch đáng kể. Q8-vision chưa đủ screening: không thể suy SR từ RMSE hoặc 2/2 smoke; khoảng có thể về mặt logic là 0–100%, không có point estimate được dữ liệu hỗ trợ. Official của các biến thể vẫn chưa đo. Với 3 biến thể tối đa, ngân sách còn 600 episode; chọn 2 biến thể thì 400 episode. Thời gian chạy không thể tính chỉ từ engine latency vì số bước/task và simulator thay đổi. +out.append('''Dự toán 175/200 cho flash-mm và 180/200 cho Q8-lm và Q8-vision chỉ là 200×SR screening, giả định cùng phân phối; không được đưa vào cột official đo thật. Defaults screening dự toán 190/200 nhưng official thực tế 177/200 cho thấy phép ngoại suy có thể lệch đáng kể. Q8-vision đã hoàn tất 36/40 = 90%; không suy SR từ RMSE hoặc smoke. Hai bản Q8 cùng số thành công nhưng không chứng minh tương đương chất lượng. Official của các biến thể vẫn chưa đo. Với 3 biến thể tối đa, ngân sách còn 600 episode; chọn 2 biến thể thì 400 episode. Thời gian chạy không thể tính chỉ từ engine latency vì số bước/task và simulator thay đổi. ## Task 5 — phân bổ GPU và mô hình dự báo diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/batch.json b/research-notes/smolvla-followup-20261104/screen40-variants/batch.json index 3822b359..93a71cca 100644 --- a/research-notes/smolvla-followup-20261104/screen40-variants/batch.json +++ b/research-notes/smolvla-followup-20261104/screen40-variants/batch.json @@ -1,6 +1,6 @@ { - "state": "running", - "current": "q8-lm", + "state": "complete", + "current": null, "expected_configurations": 3, "expected_episodes": 120, "results": [ @@ -8,6 +8,16 @@ "name": "flash-mm", "exit": 0, "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/result.json" + }, + { + "name": "q8-lm", + "exit": 0, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/result.json" + }, + { + "name": "q8-vision", + "exit": 0, + "result": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/result.json" } ] } diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_0/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_0/episodes.csv new file mode 100644 index 00000000..cadfdc80 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_0/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,148,0 +1,1,166,0 +2,1,174,0 +3,1,159,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_0/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_0/summary.txt new file mode 100644 index 00000000..8aed8565 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_0/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_0 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 123.11 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_1/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_1/episodes.csv new file mode 100644 index 00000000..e37882ab --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_1/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,141,0 +1,1,137,0 +2,1,156,0 +3,1,169,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_1/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_1/summary.txt new file mode 100644 index 00000000..4b840bdf --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_1/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_1 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 120.15 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_2/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_2/episodes.csv new file mode 100644 index 00000000..68fc9478 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_2/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,125,0 +1,1,137,0 +2,1,128,0 +3,1,135,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_2/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_2/summary.txt new file mode 100644 index 00000000..f263fb18 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_2/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_2 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 121.42 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_3/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_3/episodes.csv new file mode 100644 index 00000000..547a2255 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_3/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,131,0 +1,1,128,0 +2,1,138,0 +3,1,129,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_3/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_3/summary.txt new file mode 100644 index 00000000..25b73b5f --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_3/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_3 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 121.22 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_4/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_4/episodes.csv new file mode 100644 index 00000000..a65b4d08 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_4/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,173,0 +1,0,500,0 +2,1,169,0 +3,1,151,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_4/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_4/summary.txt new file mode 100644 index 00000000..09ab9c08 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_4/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_4 +n_action_steps: 1 +Success rate: 75.00% (3/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 122.17 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_5/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_5/episodes.csv new file mode 100644 index 00000000..e9fcbca6 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_5/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,0,500,0 +1,1,130,0 +2,1,161,0 +3,1,139,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_5/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_5/summary.txt new file mode 100644 index 00000000..cbbef753 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_5/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_5 +n_action_steps: 1 +Success rate: 75.00% (3/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 121.08 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_6/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_6/episodes.csv new file mode 100644 index 00000000..322d648d --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_6/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,180,0 +1,1,161,0 +2,1,171,0 +3,1,166,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_6/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_6/summary.txt new file mode 100644 index 00000000..68f0182f --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_6/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_6 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 120.54 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_7/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_7/episodes.csv new file mode 100644 index 00000000..56156c03 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_7/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,136,0 +1,1,148,0 +2,0,500,0 +3,1,155,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_7/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_7/summary.txt new file mode 100644 index 00000000..ad7fef97 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_7/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_7 +n_action_steps: 1 +Success rate: 75.00% (3/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 122.09 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_8/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_8/episodes.csv new file mode 100644 index 00000000..073047fe --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_8/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,0,500,0 +1,1,160,0 +2,1,173,0 +3,1,173,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_8/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_8/summary.txt new file mode 100644 index 00000000..4a0cae21 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_8/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_8 +n_action_steps: 1 +Success rate: 75.00% (3/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 121.21 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_9/episodes.csv b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_9/episodes.csv new file mode 100644 index 00000000..f056a4ae --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_9/episodes.csv @@ -0,0 +1,5 @@ +episode,success,steps,aborted +0,1,128,0 +1,1,136,0 +2,1,144,0 +3,1,131,0 diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_9/summary.txt b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_9/summary.txt new file mode 100644 index 00000000..02d60b40 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_9/summary.txt @@ -0,0 +1,6 @@ +Arch: smolvla +Task: libero_object/task_9 +n_action_steps: 1 +Success rate: 100.00% (4/4) +Skipped (terminated mid-step): 0/4 +Average inference time per step: 122.81 ms diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/progress.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/progress.json new file mode 100644 index 00000000..369febf7 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/progress.json @@ -0,0 +1,129 @@ +{ + "state": "complete", + "completed_tasks": 10, + "completed_episodes": 40, + "successes": 36, + "expected_episodes": 40, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 4, + "steps": [ + 148, + 166, + 174, + 159 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_0/episodes.csv" + }, + { + "task_id": 1, + "episodes": 4, + "successes": 4, + "steps": [ + 141, + 137, + 156, + 169 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_1/episodes.csv" + }, + { + "task_id": 2, + "episodes": 4, + "successes": 4, + "steps": [ + 125, + 137, + 128, + 135 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_2/episodes.csv" + }, + { + "task_id": 3, + "episodes": 4, + "successes": 4, + "steps": [ + 131, + 128, + 138, + 129 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_3/episodes.csv" + }, + { + "task_id": 4, + "episodes": 4, + "successes": 3, + "steps": [ + 173, + 500, + 169, + 151 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_4/episodes.csv" + }, + { + "task_id": 5, + "episodes": 4, + "successes": 3, + "steps": [ + 500, + 130, + 161, + 139 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_5/episodes.csv" + }, + { + "task_id": 6, + "episodes": 4, + "successes": 4, + "steps": [ + 180, + 161, + 171, + 166 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_6/episodes.csv" + }, + { + "task_id": 7, + "episodes": 4, + "successes": 3, + "steps": [ + 136, + 148, + 500, + 155 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_7/episodes.csv" + }, + { + "task_id": 8, + "episodes": 4, + "successes": 3, + "steps": [ + 500, + 160, + 173, + 173 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_8/episodes.csv" + }, + { + "task_id": 9, + "episodes": 4, + "successes": 4, + "steps": [ + 128, + 136, + 144, + 131 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_9/episodes.csv" + } + ] +} diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/protocol.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/protocol.json new file mode 100644 index 00000000..1bcfbad2 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/protocol.json @@ -0,0 +1,39 @@ +{ + "classification": "screening, not official evaluation", + "suite": "libero_object", + "tasks": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "episodes_per_task": 4, + "expected_total": 40, + "seed": 42, + "n_action_steps": 1, + "variant": "q8-vision", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-vision.gguf", + "flags": [], + "noise": "repo defaults random server noise; environment seed42 only", + "baseline_reference": "screen40-defaults:38/40; known bit-exact test failures disclosed", + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15560", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-q8_0-vision.gguf" + ], + "env": { + "MUJOCO_GL": "egl", + "CUDA_VISIBLE_DEVICES": "0", + "LIBERO_CONFIG_PATH": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/libero-config", + "TOKENIZERS_PARALLELISM": "false" + }, + "initial_states": "repo client defaults: episode_index=0, stride=1; same seed and initial states for later configs", + "aborts": "halt on any aborted/missing episode; never silently reduce denominator" +} diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/result.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/result.json new file mode 100644 index 00000000..a59778b0 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/result.json @@ -0,0 +1,130 @@ +{ + "state": "complete", + "completed_tasks": 10, + "completed_episodes": 40, + "successes": 36, + "expected_episodes": 40, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 4, + "steps": [ + 148, + 166, + 174, + 159 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_0/episodes.csv" + }, + { + "task_id": 1, + "episodes": 4, + "successes": 4, + "steps": [ + 141, + 137, + 156, + 169 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_1/episodes.csv" + }, + { + "task_id": 2, + "episodes": 4, + "successes": 4, + "steps": [ + 125, + 137, + 128, + 135 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_2/episodes.csv" + }, + { + "task_id": 3, + "episodes": 4, + "successes": 4, + "steps": [ + 131, + 128, + 138, + 129 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_3/episodes.csv" + }, + { + "task_id": 4, + "episodes": 4, + "successes": 3, + "steps": [ + 173, + 500, + 169, + 151 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_4/episodes.csv" + }, + { + "task_id": 5, + "episodes": 4, + "successes": 3, + "steps": [ + 500, + 130, + 161, + 139 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_5/episodes.csv" + }, + { + "task_id": 6, + "episodes": 4, + "successes": 4, + "steps": [ + 180, + 161, + 171, + 166 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_6/episodes.csv" + }, + { + "task_id": 7, + "episodes": 4, + "successes": 3, + "steps": [ + 136, + 148, + 500, + 155 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_7/episodes.csv" + }, + { + "task_id": 8, + "episodes": 4, + "successes": 3, + "steps": [ + 500, + 160, + 173, + 173 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_8/episodes.csv" + }, + { + "task_id": 9, + "episodes": 4, + "successes": 4, + "steps": [ + 128, + 136, + 144, + 131 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_9/episodes.csv" + } + ], + "screening_sr": 0.9 +} diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-0-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-0-command.json new file mode 100644 index 00000000..a416ef59 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-0-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "0", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-1-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-1-command.json new file mode 100644 index 00000000..0b358913 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-1-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "1", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-2-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-2-command.json new file mode 100644 index 00000000..af76f7e5 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-2-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "2", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-3-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-3-command.json new file mode 100644 index 00000000..9285579a --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-3-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "3", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-4-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-4-command.json new file mode 100644 index 00000000..1cb4ba5b --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-4-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "4", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-5-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-5-command.json new file mode 100644 index 00000000..9bec97b5 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-5-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "5", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-6-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-6-command.json new file mode 100644 index 00000000..49825e2c --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-6-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "6", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-7-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-7-command.json new file mode 100644 index 00000000..b025e7a7 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-7-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "7", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-8-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-8-command.json new file mode 100644 index 00000000..ac4a4b2b --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-8-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "8", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-9-command.json b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-9-command.json new file mode 100644 index 00000000..9206eb3f --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/task-9-command.json @@ -0,0 +1,22 @@ +[ + "/home/doris/projects/vla.cpp/eval/sim/libero/libero_uv/.venv/bin/python", + "/home/doris/projects/vla.cpp/eval/client/run_sim_client_direct.py", + "--arch", + "smolvla", + "--vla-addr", + "tcp://127.0.0.1:15560", + "--task", + "libero_object", + "--task-id", + "9", + "--recv-timeout-ms", + "-1", + "--n-episodes", + "4", + "--n-action-steps", + "1", + "--seed", + "42", + "--output-dir", + "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs" +] diff --git a/research-notes/smolvla-followup-20261104/screening-final-audit.json b/research-notes/smolvla-followup-20261104/screening-final-audit.json new file mode 100644 index 00000000..711ac85b --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screening-final-audit.json @@ -0,0 +1,1400 @@ +{ + "updated_at": "2026-11-05T00:21:05+07:00", + "state": "verified", + "scope": "CSV counts, IDs, steps, SR and runner exits; no video audit", + "variant_episodes": 120, + "results": { + "defaults": { + "episodes": 40, + "successes": 38, + "aborted": 0, + "screening_sr": 0.95, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_0/episodes.csv", + "csv_sha256": "6501ab69a7089c4b0840725bf0387a6468ec1eab06ddcc2c97d36f9e8585a3b3", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 198, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 175, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 188, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 174, + "aborted": 0 + } + ] + }, + { + "task_id": 1, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_1/episodes.csv", + "csv_sha256": "d12eb11c5d5483e2213a9b2cad4961ce23582b2ecff272afb0f75c189323bcb0", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 127, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 157, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 138, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 148, + "aborted": 0 + } + ] + }, + { + "task_id": 2, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_2/episodes.csv", + "csv_sha256": "ce7234fd4dcd6b34ccf5e83693c7b0f433a4b3d7c05b177ab769602496ca381c", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 128, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 125, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 147, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 120, + "aborted": 0 + } + ] + }, + { + "task_id": 3, + "episodes": 4, + "successes": 3, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_3/episodes.csv", + "csv_sha256": "7b14870d5514ade2067810c4fd10fcad274a621eab8675244189e557a30a361d", + "episode_records": [ + { + "episode": 0, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 143, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 138, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 128, + "aborted": 0 + } + ] + }, + { + "task_id": 4, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_4/episodes.csv", + "csv_sha256": "bf839d1284b58d51ed0d688979175f50212e78a14f8a051a8ff463ac8c15c31e", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 156, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 157, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 168, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 156, + "aborted": 0 + } + ] + }, + { + "task_id": 5, + "episodes": 4, + "successes": 3, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_5/episodes.csv", + "csv_sha256": "e4d70e40ec26b845d30ca98a75c24f1f8c0630c4229abe62ec0512cb0273ea54", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 220, + "aborted": 0 + }, + { + "episode": 1, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 222, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 142, + "aborted": 0 + } + ] + }, + { + "task_id": 6, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_6/episodes.csv", + "csv_sha256": "92a1668df8a8a381cfd0653cd366fba4cd2500a0fbaf5281a2f602bd6ee8bcb6", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 163, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 161, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 156, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 145, + "aborted": 0 + } + ] + }, + { + "task_id": 7, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_7/episodes.csv", + "csv_sha256": "95bec9dd0879a57f32818a2dbc5a910f537ba75b8aa11c74cc6234abf30c558f", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 133, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 153, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 146, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 156, + "aborted": 0 + } + ] + }, + { + "task_id": 8, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_8/episodes.csv", + "csv_sha256": "2dacff88d96680ad523444c5d8ac58419bb38f87cae3864a180ccf7c05ecc2fa", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 184, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 159, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 173, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 162, + "aborted": 0 + } + ] + }, + { + "task_id": 9, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_9/episodes.csv", + "csv_sha256": "e860d7ef712ab2128967d5d514e88972e83fde11870196c9b1855419946c9fd2", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 133, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 127, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 142, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 136, + "aborted": 0 + } + ] + } + ] + }, + "flash-mm": { + "episodes": 40, + "successes": 35, + "aborted": 0, + "screening_sr": 0.875, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_0/episodes.csv", + "csv_sha256": "eb333bc7153936466cfaf37e2ae6f1644311c5b64cd28ad32a0da33de0c103a8", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 144, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 140, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 200, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 154, + "aborted": 0 + } + ] + }, + { + "task_id": 1, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_1/episodes.csv", + "csv_sha256": "32ec6f3cd66c9787498e99c21208d4e08c14ed4cae9630de22d7d579ce746afb", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 137, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 139, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 123, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 135, + "aborted": 0 + } + ] + }, + { + "task_id": 2, + "episodes": 4, + "successes": 3, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_2/episodes.csv", + "csv_sha256": "b52ea6d71d9cb1e9aa32f572e545a4d989a60b2a80b1275bac2d93bb6827f94b", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 127, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 133, + "aborted": 0 + }, + { + "episode": 2, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 127, + "aborted": 0 + } + ] + }, + { + "task_id": 3, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_3/episodes.csv", + "csv_sha256": "4fa79dfe7c0b7f39d0feedfc8233dae082559a09932aa858d681e72b54d8e962", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 135, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 127, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 171, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 133, + "aborted": 0 + } + ] + }, + { + "task_id": 4, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_4/episodes.csv", + "csv_sha256": "84794be39b0952173960ba1d7f01925ee37d6181ab7ba0ad6963d9eb0ca99550", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 154, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 158, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 155, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 138, + "aborted": 0 + } + ] + }, + { + "task_id": 5, + "episodes": 4, + "successes": 1, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_5/episodes.csv", + "csv_sha256": "55adc32dc0ae9abb63688c4b1966c93bc89c7713a0f340d5bc3f93eaa80724ab", + "episode_records": [ + { + "episode": 0, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 124, + "aborted": 0 + }, + { + "episode": 2, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 3, + "success": 0, + "steps": 500, + "aborted": 0 + } + ] + }, + { + "task_id": 6, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_6/episodes.csv", + "csv_sha256": "4ffd56f53e121b4876e60fec1a15939fbc2953eb5858a5619c7e615a6efc0dc0", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 163, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 152, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 187, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 153, + "aborted": 0 + } + ] + }, + { + "task_id": 7, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_7/episodes.csv", + "csv_sha256": "b2b01f768fdb324ac91c5e8e45fa87ed6da0aa6c13ded7c2ab442a2dee95ce67", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 138, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 155, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 127, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 146, + "aborted": 0 + } + ] + }, + { + "task_id": 8, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_8/episodes.csv", + "csv_sha256": "f2c270b2c44e954c4b9d4a791f90e4f16514f85b52844d5e04be53dab21e6776", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 206, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 165, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 208, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 158, + "aborted": 0 + } + ] + }, + { + "task_id": 9, + "episodes": 4, + "successes": 3, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_9/episodes.csv", + "csv_sha256": "6590ce8c8e157a54313af1321eed126f6fdd1f990caa7b00be35ca127d8427cd", + "episode_records": [ + { + "episode": 0, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 122, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 136, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 180, + "aborted": 0 + } + ] + } + ] + }, + "q8-lm": { + "episodes": 40, + "successes": 36, + "aborted": 0, + "screening_sr": 0.9, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_0/episodes.csv", + "csv_sha256": "e319c6a7244d43f60a3b0e173aa32e20e39667d77608484b8b575c7b1713c5a6", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 189, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 171, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 168, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 189, + "aborted": 0 + } + ] + }, + { + "task_id": 1, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_1/episodes.csv", + "csv_sha256": "64ebcfdc86c2711fee70e68f59d68554a1a5b314b7cdca168f4197b530bd3257", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 152, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 155, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 122, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 147, + "aborted": 0 + } + ] + }, + { + "task_id": 2, + "episodes": 4, + "successes": 3, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_2/episodes.csv", + "csv_sha256": "b1cb27f749cf556aad523d76dd702cda469336959c8a4a7da19b61fb06093e7c", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 136, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 133, + "aborted": 0 + }, + { + "episode": 2, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 131, + "aborted": 0 + } + ] + }, + { + "task_id": 3, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_3/episodes.csv", + "csv_sha256": "88bdc328e59668102c299a00a98bc0e5a37e7915195db3e603331de733b8e00e", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 149, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 148, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 158, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 133, + "aborted": 0 + } + ] + }, + { + "task_id": 4, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_4/episodes.csv", + "csv_sha256": "1fda4d6c79e995ce9cb4d9f46eca3c88ea1e76e7be552e6955d1985e5d4b7511", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 153, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 150, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 155, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 155, + "aborted": 0 + } + ] + }, + { + "task_id": 5, + "episodes": 4, + "successes": 3, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_5/episodes.csv", + "csv_sha256": "f282ddb363b458db51866fc67c32ea42ab67a05afc2480fd0dedf045b419d60e", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 207, + "aborted": 0 + }, + { + "episode": 1, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 182, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 243, + "aborted": 0 + } + ] + }, + { + "task_id": 6, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_6/episodes.csv", + "csv_sha256": "c829d452ca9cbd117c161dc77191a5df2afe95bbf570ed0b15963125cfe53fb0", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 153, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 178, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 185, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 180, + "aborted": 0 + } + ] + }, + { + "task_id": 7, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_7/episodes.csv", + "csv_sha256": "3692c2a50997844524cde90415184ddf95d82eee2937cb2e38dfab1b239677fe", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 135, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 166, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 118, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 141, + "aborted": 0 + } + ] + }, + { + "task_id": 8, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_8/episodes.csv", + "csv_sha256": "6a47ffb5b036082e65670f67087e3ab32b92ab379d6d814ef5445618982cc247", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 156, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 150, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 168, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 172, + "aborted": 0 + } + ] + }, + { + "task_id": 9, + "episodes": 4, + "successes": 2, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_9/episodes.csv", + "csv_sha256": "8db1d3cf41d7b378312e38035e2ab90541286644f1749d3cdd5c71ed3f7b7a2d", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 133, + "aborted": 0 + }, + { + "episode": 1, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 128, + "aborted": 0 + }, + { + "episode": 3, + "success": 0, + "steps": 500, + "aborted": 0 + } + ] + } + ] + }, + "q8-vision": { + "episodes": 40, + "successes": 36, + "aborted": 0, + "screening_sr": 0.9, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_0/episodes.csv", + "csv_sha256": "5f829f8456fb1e6d44ef2b824b53a1b9b353bf5ba6376be8295e98b80afb1888", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 148, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 166, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 174, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 159, + "aborted": 0 + } + ] + }, + { + "task_id": 1, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_1/episodes.csv", + "csv_sha256": "b01563de2080d04b2ef028a44a95e0519ffc2b3ddaac4a9a831cb40aabd645fc", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 141, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 137, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 156, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 169, + "aborted": 0 + } + ] + }, + { + "task_id": 2, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_2/episodes.csv", + "csv_sha256": "07a59644488579392ec74e92bdac4a29da3845b0c822c48213905eccdb761681", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 125, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 137, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 128, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 135, + "aborted": 0 + } + ] + }, + { + "task_id": 3, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_3/episodes.csv", + "csv_sha256": "21aea841b84f9f92fb277eae6dfc6033b534e0de38f563fe9b8d3469d78fbf71", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 131, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 128, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 138, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 129, + "aborted": 0 + } + ] + }, + { + "task_id": 4, + "episodes": 4, + "successes": 3, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_4/episodes.csv", + "csv_sha256": "064b7b3bab6d5eeb70c6a013e409b49392c97b80006427f39d9f64b20b538148", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 173, + "aborted": 0 + }, + { + "episode": 1, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 169, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 151, + "aborted": 0 + } + ] + }, + { + "task_id": 5, + "episodes": 4, + "successes": 3, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_5/episodes.csv", + "csv_sha256": "d1500a4c27249402a5e6c6e508284d1bc7732597c42fc27719f38a383c114ce7", + "episode_records": [ + { + "episode": 0, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 130, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 161, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 139, + "aborted": 0 + } + ] + }, + { + "task_id": 6, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_6/episodes.csv", + "csv_sha256": "ad03f74d2a898ef6b8a4e15bae52234614867d93303425d8b1605e6ac86aec39", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 180, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 161, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 171, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 166, + "aborted": 0 + } + ] + }, + { + "task_id": 7, + "episodes": 4, + "successes": 3, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_7/episodes.csv", + "csv_sha256": "2271ad24fd105157bcbd182fd66421b992506d6364763788a5d68557edc431e3", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 136, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 148, + "aborted": 0 + }, + { + "episode": 2, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 155, + "aborted": 0 + } + ] + }, + { + "task_id": 8, + "episodes": 4, + "successes": 3, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_8/episodes.csv", + "csv_sha256": "41a306117a63b9c1a00006398cfe404493fb61fe7408d1468f1d0a66f9e034a4", + "episode_records": [ + { + "episode": 0, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 160, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 173, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 173, + "aborted": 0 + } + ] + }, + { + "task_id": 9, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_9/episodes.csv", + "csv_sha256": "58a076628c8a7302adca67f7cdf1c63c2c77e8ce3a440cc70d2980d8d98246ea", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 128, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 136, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 144, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 131, + "aborted": 0 + } + ] + } + ] + } + } +} From c4138f2f8393aa07e0ffb0d02205a8ab2fe40484 Mon Sep 17 00:00:00 2001 From: hientran-ai Date: Thu, 5 Nov 2026 00:25:33 +0700 Subject: [PATCH 06/13] docs: remove mentor review instructions --- SUBMISSION_SMOLVLA.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/SUBMISSION_SMOLVLA.md b/SUBMISSION_SMOLVLA.md index bed8736b..5b5c4596 100644 --- a/SUBMISSION_SMOLVLA.md +++ b/SUBMISSION_SMOLVLA.md @@ -2,15 +2,6 @@ Tổng hợp đủ 6 task; cập nhật kết quả screening cuối ngày 05/11/2026. Số đo thật, dự toán và tiêu chí chưa đạt được tách rõ. -## Cách review nhanh - -1. Đọc file này để nắm kết luận và giới hạn trong khoảng 3 phút. -2. Mở [các câu hỏi cần góp ý](MENTOR_REVIEW.md) để tập trung vào 10 quyết định phương pháp còn mở. -3. Dùng [báo cáo tổng thể](REPORT_SMOLVLA.md) để kiểm tra protocol, số liệu và trạng thái từng task. -4. Khi cần đối chiếu phép tính, chạy `python3 research-notes/smolvla-followup-20261104/complete_calculations.py`; khi cần đối chiếu screening, chạy `python3 research-notes/smolvla-followup-20261104/audit_screening.py`. - -Các file `REPORT_HISTORY.md` và những dòng trạng thái cũ trong `NOTES_SMOLVLA.md` chỉ là lịch sử. Kết luận hiện tại nằm trong file này và `REPORT_SMOLVLA.md`. - ## Kết quả đã hoàn tất - CUDA build arch86; các giao diện CLI/server/binding/predict_check hoạt động. Tests 13/15 pass, hai lỗi còn mở. From 44bfea9528451d23cb81a904f40ddf1e57f391fd Mon Sep 17 00:00:00 2001 From: hientran-ai Date: Thu, 5 Nov 2026 00:32:29 +0700 Subject: [PATCH 07/13] docs: close SmolVLA report scope with existing evidence --- MENTOR_REVIEW.md | 4 +++- REPORT_SMOLVLA.md | 10 +++++++--- SUBMISSION_SMOLVLA.md | 2 ++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/MENTOR_REVIEW.md b/MENTOR_REVIEW.md index 5f293c5f..887a5691 100644 --- a/MENTOR_REVIEW.md +++ b/MENTOR_REVIEW.md @@ -4,9 +4,11 @@ Cập nhật ngày 05/11/2026 (UTC+07). Tài liệu chính: [REPORT_SMOLVLA.md]( ## Các vấn đề thực nghiệm còn mở +Đợt báo cáo chốt theo dữ liệu hiện có; không chạy thêm official cho biến thể hoặc thí nghiệm mới. Hai lỗi CUDA tạm hoãn xử lý, vẫn ghi nhận 13/15 tests pass. Các câu hỏi dưới đây phục vụ nhận xét kết quả và định hướng nghiên cứu sau đợt này. + | Vấn đề | Bằng chứng / giới hạn | Câu hỏi review | |---|---|---| -| Hai CUDA tests fail | ctest-build-cuda.log: foldquant_cuda_op, fused_cuda_ops; 13/15 pass | Có cần sửa/đổi baseline trước khi dùng SR để kết luận không? | +| Hai CUDA tests fail | ctest-build-cuda.log: foldquant_cuda_op, fused_cuda_ops; 13/15 pass; tạm hoãn xử lý | Giới hạn này ảnh hưởng thế nào đến phạm vi kết luận từ kết quả đã đo? | | Fused/unfused lệch | max abs 0,000545874 trên harness cố định; chưa xác định nguyên nhân | Mức kiểm tra numerics nào cần thêm? | | VRAM trên WSL | NVML process N/A; trace ledger peak không bao hết driver/context | Có chấp nhận báo peak traced allocation cùng giới hạn không? | | Noise | Seed 42 cho môi trường, server random RNG | Có cần repeated seeds hoặc protocol fixed noise riêng cho final? | diff --git a/REPORT_SMOLVLA.md b/REPORT_SMOLVLA.md index d13a1f45..6700b788 100644 --- a/REPORT_SMOLVLA.md +++ b/REPORT_SMOLVLA.md @@ -109,11 +109,15 @@ Telemetry runtime bổ sung ghi nhận53–72°C trong120mẫu, không phủ to Tài liệu đã điền đủ phần giải thích, bằng chứng và tính toán cho6task; không đồng nghĩa mọi tiêu chí thực nghiệm đều đạt. Chưa thể thay bằng tính toán: hai testfail, residentVRAM, SRofficialbiến thể, attention/connector timing riêng, CKA/finetuning và repeated-seed. Đề xuất giữ defaults làm bản chất lượng đã được đo chính thức; ưu tiên đánh giá Q8-lm/Q8-vision cho memory và flash-mm cho latency, không chọn pruning0/2 để triển khai. -## Kết luận sau screening và phần thực nghiệm còn lại +## Kết luận và giới hạn của đợt báo cáo + +Đợt báo cáo này chốt theo dữ liệu đã có: baseline official 200 episode và screening 40 episode cho mỗi cấu hình. Theo phạm vi đã thống nhất, không chạy thêm official cho biến thể hoặc thí nghiệm mới; tạm bỏ qua xử lý hai lỗi CUDA. Trạng thái kiểm thử vẫn là 13/15 pass, hai lỗi chưa sửa. Screening hoàn tất ngày 05/11/2026. Defaults vẫn là mốc chất lượng chính thức 177/200. Flash-mm là ứng viên latency với mean 85,5 ms so với control 104,0 ms cùng batch. Q8-vision dùng allocation 925,88 MiB so với Q8-lm 1020,70 MiB và control quantization 1912,47 MiB; cả hai Q8 đạt 36/40. Chưa có kết quả cấu hình kết hợp quantization + flash-mm, nên không cộng các mức cải thiện. -| Hạng mục còn lại | Điều kiện để đóng | +Các mục dưới đây là giới hạn và hướng nghiên cứu tiếp theo, không phải công việc đang chạy trong đợt báo cáo này. + +| Hạng mục chưa xác minh | Thực nghiệm cần có nếu mở rộng nghiên cứu | |---|---| | Hai lỗi CUDA bit-exact | Xác định nguyên nhân, sửa và chạy lại tests với hợp đồng hiện tại; không nới tolerance để đổi trạng thái | | Chất lượng biến thể chính thức | Chạy đủ 200 episode/biến thể theo protocol đã công bố, lưu CSV và policy recovery; tối đa 600 episode cho ba biến thể | @@ -123,4 +127,4 @@ Screening hoàn tất ngày 05/11/2026. Defaults vẫn là mốc chất lượng | Môi trường tái lập | Giải quyết bảy dependency conflicts và tạo lock đã kiểm tra trên môi trường sạch | | Resident VRAM | Đo trên backend hỗ trợ process memory; WSL hiện trả N/A nên chỉ báo traced allocation | -Bản tài liệu đã tổng hợp kết quả hiện có; các tiêu chí trên vẫn mở và cần thực nghiệm mới. Không dùng phép ngoại suy SR hoặc mô hình depth để đánh dấu hoàn tất. +Bản báo cáo hoàn tất trong phạm vi dữ liệu hiện có. Chưa xác nhận giữ SR cho biến thể hoặc hiệu quả CLP/CKA; phép ngoại suy SR và mô hình depth chỉ là tính toán có giả định. diff --git a/SUBMISSION_SMOLVLA.md b/SUBMISSION_SMOLVLA.md index 5b5c4596..b416f6bb 100644 --- a/SUBMISSION_SMOLVLA.md +++ b/SUBMISSION_SMOLVLA.md @@ -2,6 +2,8 @@ Tổng hợp đủ 6 task; cập nhật kết quả screening cuối ngày 05/11/2026. Số đo thật, dự toán và tiêu chí chưa đạt được tách rõ. +Phạm vi chốt báo cáo: sử dụng kết quả đã đo, không chạy thêm official cho biến thể hoặc thí nghiệm mới trong đợt này. Hai lỗi CUDA được giữ nguyên và công bố với trạng thái 13/15 tests pass. + ## Kết quả đã hoàn tất - CUDA build arch86; các giao diện CLI/server/binding/predict_check hoạt động. Tests 13/15 pass, hai lỗi còn mở. From 237da8ff0f8c6a7c3de56c6b9f8ec1e982c49759 Mon Sep 17 00:00:00 2001 From: hientran-ai Date: Thu, 5 Nov 2026 00:35:28 +0700 Subject: [PATCH 08/13] docs: state control quality conclusions from screening --- REPORT_SMOLVLA.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/REPORT_SMOLVLA.md b/REPORT_SMOLVLA.md index 6700b788..6570f9d5 100644 --- a/REPORT_SMOLVLA.md +++ b/REPORT_SMOLVLA.md @@ -8,7 +8,7 @@ Bản tổng hợp đủ nội dung 6 task, bổ sung tính toán theo yêu cầ |---|---|---| | 1. Cài đặt | CUDA arch86; CLI, server, binding, predict_check đã chạy | Tests13/15; hai lỗi bit-exact còn mở | | 2. Baseline | Có p50/p90, traced allocation và điều kiện đo | Không đo được toàn bộ resident VRAM riêng process trên WSL | -| 3. Không train | 10 runtime configs và Q8/Q5/Q4 có/không vision; đủ4chỉ tiêu | Chưa kết luận giữ chất lượng điều khiển | +| 3. Không train | 10 runtime configs và Q8/Q5/Q4 có/không vision; đủ4chỉ tiêu | Flash-mm và hai bản Q8 vẫn thực hiện được tác vụ; SR screening thấp hơn defaults, chưa xác nhận giữ nguyên chất lượng | | 4. LIBERO | Baseline screening38/40; official177/200 | Flash-mm35/40, Q8-lm36/40; Q8-vision36/40; official biến thể chưa đo | | 5. Profile | Kiến trúc, phase, nsys kernel/module traces | Chưa chọn bản tốt nhất theo SR; chưa tách connector khỏi vision | | 6. Pruning | 3depth ablations; module latency và smoke | Smoke cả3bản0/2; chưa implement CKA/finetuning | @@ -111,6 +111,8 @@ Tài liệu đã điền đủ phần giải thích, bằng chứng và tính to ## Kết luận và giới hạn của đợt báo cáo +Các cấu hình flash-mm, Q8-lm và Q8-vision vẫn thực hiện được tác vụ điều khiển trong screening, nhưng tỷ lệ thành công quan sát thấp hơn defaults: flash-mm 35/40 (87,5%), hai bản Q8 cùng 36/40 (90%), so với defaults 38/40 (95%). Mức giảm quan sát tương ứng là 7,5 và 5 điểm phần trăm. Vì vậy, chưa xác nhận cấu hình nào giữ nguyên chất lượng điều khiển. Hai bản Q8 có kết quả screening cao hơn flash-mm, nhưng mẫu 40 episode chưa đủ để khẳng định khác biệt chất lượng. Kết luận này chỉ áp dụng cho ba cấu hình đã screening, không mở rộng sang các cấu hình runtime hoặc quantization khác chỉ có kiểm tra output synthetic. + Đợt báo cáo này chốt theo dữ liệu đã có: baseline official 200 episode và screening 40 episode cho mỗi cấu hình. Theo phạm vi đã thống nhất, không chạy thêm official cho biến thể hoặc thí nghiệm mới; tạm bỏ qua xử lý hai lỗi CUDA. Trạng thái kiểm thử vẫn là 13/15 pass, hai lỗi chưa sửa. Screening hoàn tất ngày 05/11/2026. Defaults vẫn là mốc chất lượng chính thức 177/200. Flash-mm là ứng viên latency với mean 85,5 ms so với control 104,0 ms cùng batch. Q8-vision dùng allocation 925,88 MiB so với Q8-lm 1020,70 MiB và control quantization 1912,47 MiB; cả hai Q8 đạt 36/40. Chưa có kết quả cấu hình kết hợp quantization + flash-mm, nên không cộng các mức cải thiện. From 92d134a7557f4580f3b8c14042c1bad61c3f1d7c Mon Sep 17 00:00:00 2001 From: hientran-ai Date: Thu, 5 Nov 2026 00:47:04 +0700 Subject: [PATCH 09/13] docs: complete SmolVLA review checklist and audit finalized episodes --- MENTOR_REVIEW.md | 26 + NOTES_SMOLVLA.md | 25 +- REPORT_SMOLVLA.md | 1 + SUBMISSION_SMOLVLA.md | 1 + .../smolvla-followup-20261104/TASK_RESULTS.md | 23 + .../audit_screening.py | 10 +- .../audit_submission.py | 63 + .../submission-audit.json | 2707 +++++++++++++++++ 8 files changed, 2842 insertions(+), 14 deletions(-) create mode 100644 research-notes/smolvla-followup-20261104/TASK_RESULTS.md create mode 100644 research-notes/smolvla-followup-20261104/audit_submission.py create mode 100644 research-notes/smolvla-followup-20261104/submission-audit.json diff --git a/MENTOR_REVIEW.md b/MENTOR_REVIEW.md index 887a5691..285de0f4 100644 --- a/MENTOR_REVIEW.md +++ b/MENTOR_REVIEW.md @@ -22,3 +22,29 @@ Cập nhật ngày 05/11/2026 (UTC+07). Tài liệu chính: [REPORT_SMOLVLA.md]( ## Dữ liệu và trạng thái đánh giá Kết quả và script tái lập được lưu trong nhánh này. Screening đã hoàn tất 120/120 episode: flash-mm 35/40, Q8-lm 36/40, Q8-vision 36/40, so với defaults 38/40. Official biến thể và repeated-seed chưa chạy; chưa kết luận giữ SR. Kết quả đã đối chiếu CSV bằng `research-notes/smolvla-followup-20261104/audit_screening.py`. + +## Rà soát phần thiếu và tiêu chí hoàn tất + +“Đủ sáu phần trong báo cáo” chỉ nói về phạm vi trình bày. Đối chiếu yêu cầu mentor ban đầu, phần 1, 2, 4, 5 và 6 còn các tiêu chí thực nghiệm chưa đạt đầy đủ. Phần 3 có đủ bảng đo yêu cầu, nhưng chưa chứng minh cấu hình tối ưu giữ chất lượng. + +| Phần | Phần đã bổ sung hoặc xác minh trong lượt rà soát | Điều kiện còn thiếu để đạt trọn yêu cầu | +|---|---|---| +| 1. Cài đặt | Thống nhất trạng thái 13/15 giữa checklist và báo cáo | Sửa hai test CUDA, chạy lại theo hợp đồng hiện tại; chưa thực hiện vì đang tạm hoãn | +| 2. Baseline | Giữ rõ allocation và resident VRAM; công bố điều kiện đo và giới hạn telemetry | Đo process resident memory trên môi trường hỗ trợ nếu yêu cầu đúng chỉ số này | +| 3. Tối ưu | Đã có bảng bốn chỉ tiêu, control riêng và tính speedup cùng batch | Kiểm tra chất lượng cho cấu hình định chọn; không suy SR từ synthetic delta | +| 4. LIBERO | Audit cả official và screening; thêm bảng thành công từng task | Official cho cấu hình được chọn chưa có; không chạy thêm trong đợt chốt này | +| 5. Profile | Phân biệt module GPU-active, phase wall và default path | Connector riêng, attention riêng và phân tích nguyên nhân gap chưa hoàn tất | +| 6. Pruning | Có ba depth ablation và kết quả âm; phân biệt rõ với CLP | Nếu yêu cầu tái hiện phương pháp paper: cần activation calibration, CKA, mapping hợp lệ và quy trình finetuning/đánh giá tương ứng | + +## Kiểm tra dữ liệu có thể chạy lại + +Từ thư mục gốc repo, không cần GPU hoặc simulator: + +```bash +python3 research-notes/smolvla-followup-20261104/audit_submission.py +python3 research-notes/smolvla-followup-20261104/complete_calculations.py +``` + +Lệnh đầu đối chiếu 50 CSV của 360 episode với manifest cuối: task/episode ID, số bước, success, aborted và SR; lưu hash từng CSV trong [submission-audit.json](research-notes/smolvla-followup-20261104/submission-audit.json), sinh [bảng từng task](research-notes/smolvla-followup-20261104/TASK_RESULTS.md). Chỉ dùng task 9 official từ đường dẫn recovery đã được chọn, không cộng lượt dở. Lệnh thứ hai sinh lại phụ lục tính toán. Cần có các CSV cục bộ theo đường dẫn manifest; lệnh không tự tải model, tạo môi trường hoặc sinh episode thiếu. + +Audit này không xác nhận video, đúng nội dung instruction, kernel correctness hoặc môi trường portable. Cùng seed môi trường và episode ID chưa bảo đảm cùng noise; bảng từng task chỉ mô tả kết quả quan sát, chưa xác định nguyên nhân thất bại hay chứng minh non-inferiority. diff --git a/NOTES_SMOLVLA.md b/NOTES_SMOLVLA.md index b0c8f3db..4a901dcc 100644 --- a/NOTES_SMOLVLA.md +++ b/NOTES_SMOLVLA.md @@ -1,17 +1,19 @@ # SmolVLA — nhật ký thực nghiệm -Ngày: 2026-11-04 (UTC+07). Chặng này: kiểm kê, xác minh toolchain/inference và baseline latency. Không commit/push; không sửa source hoặc nới tiêu chuẩn test. +Cập nhật trạng thái ngày 05/11/2026 (UTC+07). Các mục phía sau là nhật ký theo thời điểm; những dòng “chưa đo/chưa cài” cũ không đại diện cho hiện trạng. Phạm vi và kết luận hiện tại ở [REPORT_SMOLVLA.md](REPORT_SMOLVLA.md). -## Checklist 6 yêu cầu (trạng thái thực tế) +## Checklist 6 yêu cầu (trạng thái hiện tại) -| Mục | Trạng thái | Bằng chứng / phần thiếu | +| Mục | Đã hoàn thành | Giới hạn còn mở | |---|---|---| -| 1. Cài đặt và chạy thử | Đã build và chạy đủ 5 công cụ; chưa đạt toàn bộ test | Incremental build exit 0; ctest 13/15; CLI CUDA trả action; binding và server khớp bit với predict_check. Hai test fail cần khoanh vùng tiếp. | -| 2. Baseline | Đã đo latency và peak allocation CUDA riêng process bằng nsys; NVML resident VRAM vẫn N/A | Latency theo protocol gốc; memory tracing riêng đủ 3 process: peak 1912.47 MiB (Device + Device Static, không bao hết context/driver). Xem bổ sung bên dưới. | -| 3. Runtime flags / quantization | Chưa đo | Đã đọc USAGE.md, cuda.md, MODELS.md. Chưa tạo GGUF mới; chưa có bảng so sánh. | -| 4. LIBERO SR | Chưa sẵn sàng | Python yêu cầu không tồn tại, uv không có trên PATH; LIBERO chỉ có .git và HEAD chưa resolve. Chưa có episode hoặc SR. | -| 5. Architecture / profile | Mới kiểm tra timing source và công cụ | nsys 2026.1.3 đã dùng trace CUDA memory; chưa đọc paper, chưa đo phase hoặc phân tích GEMM/attention/GPU idle. Phase thay đổi cách dựng graph, cần đo riêng baseline throughput. | -| 6. Pruning | Chưa thực hiện | Chưa đọc paper/chọn phương pháp/implement, chưa có speedup module. | +| 1. Cài đặt và chạy thử | CUDA arch86; CLI/server/binding/predict_check hoạt động | Tests 13/15; hai lỗi bit-exact tạm hoãn | +| 2. Baseline | Mean/p50/p90; nsys peak allocation 1912,47 MiB | Process resident VRAM N/A; allocation không bao hết context/driver | +| 3. Runtime flags / quantization | 10 cấu hình runtime; Q8/Q5/Q4 có/không vision; file, latency, allocation, output delta | Chưa xác nhận giữ SR; chỉ ba ứng viên có screening | +| 4. LIBERO SR | Defaults official 177/200; screening defaults 38/40, flash-mm 35/40, hai Q8 36/40 | Official biến thể và repeated-seed chưa chạy, ngoài phạm vi chốt đợt này | +| 5. Architecture / profile | Metadata checkpoint, sơ đồ, phase và nsys node traces | Connector/attention chưa tách riêng; GPU-active khác wall time | +| 6. Pruning | Ba GGUF depth ablation, kiểm tra output, latency module và smoke | Cả ba smoke 0/2; chưa implement CLP/CKA hoặc finetuning | + +Kiểm tra lại CSV cho đủ 360 episode và bảng theo task: [TASK_RESULTS.md](research-notes/smolvla-followup-20261104/TASK_RESULTS.md). Phần còn thiếu và tiêu chí hoàn tất: [MENTOR_REVIEW.md](MENTOR_REVIEW.md). ## Nguyên văn mentor @@ -486,3 +488,8 @@ Batch ba biến thể đã complete, 120/120 episode, cả ba exit 0: flash-mm 3 Thêm audit_screening.py: đối chiếu result.json với 40 CSV của defaults và ba biến thể (160 episode), kiểm tra ID episode/task, steps, success, aborted, SR và exit batch. Kết quả khớp: defaults 38/40; flash-mm 35/40; Q8-lm 36/40; Q8-vision 36/40; tất cả aborted=0. screening-final-audit.json lưu số đo từng episode và SHA256 CSV; không kiểm tra video. submission-progress.json được cập nhật từ result cuối. Kiểm tra: audit_screening.py pass; complete_calculations.py sinh lại phụ lục giống nhau; sáu tài liệu không có local link mất target hoặc trạng thái Q8-vision cũ; hai script parse thành công; git diff --check sạch. Không chạy lại benchmark hoặc CUDA tests trong lượt chốt tài liệu này. Hai CUDA tests vẫn fail theo log đã có; official biến thể, repeated-seed, CKA/finetuning, connector/attention riêng, lock sạch và resident VRAM vẫn mở. Giữ nguyên on.txt/off.txt và dữ liệu thí nghiệm. + + +## Bổ sung rà soát tính hoàn chỉnh — 05/11/2026 + +Đã thay checklist đầu nhật ký đã lỗi thời bằng trạng thái cuối, bổ sung bảng theo task và audit tái lập cho cả official lẫn screening. `audit_submission.py` kiểm tra 360 episode từ manifest cuối, gồm task 9 recovery; lưu SHA256 từng CSV. Đây là xác minh dữ liệu đã có, không phải chạy thêm rollout. Các giới hạn thực nghiệm vẫn giữ nguyên theo phạm vi chốt báo cáo. diff --git a/REPORT_SMOLVLA.md b/REPORT_SMOLVLA.md index 6570f9d5..6cc5e473 100644 --- a/REPORT_SMOLVLA.md +++ b/REPORT_SMOLVLA.md @@ -67,6 +67,7 @@ Sai lệch output dùng input harness6token và noise cố định; benchmark d ## Tài liệu và bằng chứng +- [Bảng kết quả theo task](research-notes/smolvla-followup-20261104/TASK_RESULTS.md) và [audit 360 episode](research-notes/smolvla-followup-20261104/submission-audit.json): kiểm tra lại 200 official + 160 screening từ CSV, có hash và loại lượt task 9 bị gián đoạn. Chạy lại bằng `python3 research-notes/smolvla-followup-20261104/audit_submission.py`; không cần inference mới. - [Nhật ký](NOTES_SMOLVLA.md) là lịch sử, không dùng các dòng trạng thái cũ làm hiện trạng. - [Report lịch sử](research-notes/review-20261104/REPORT_HISTORY.md) giữ nguyên snapshot cũ, có nội dung đã hết hiệu lực. - [Review Markdown](MENTOR_REVIEW.md) liệt kê các vấn đề tài liệu và phương pháp. diff --git a/SUBMISSION_SMOLVLA.md b/SUBMISSION_SMOLVLA.md index b416f6bb..efec70b3 100644 --- a/SUBMISSION_SMOLVLA.md +++ b/SUBMISSION_SMOLVLA.md @@ -23,6 +23,7 @@ Batch đã hoàn tất 120/120 episode, cả ba cấu hình exit 0. Official200 ## Tài liệu chi tiết +- [Kết quả theo task và kiểm tra 360 episode](research-notes/smolvla-followup-20261104/TASK_RESULTS.md) — đối chiếu CSV với manifest cuối, gồm official task 9 recovery. - [Phụ lục tính toán đủ 6 task](CALCULATIONS_SMOLVLA.md) — speedup, allocation, Wilson SR, dự toán official và pruning. - [Báo cáo tổng thể](REPORT_SMOLVLA.md) - [Bảng tối ưu không train](PART3_OPTIMIZATION.md) diff --git a/research-notes/smolvla-followup-20261104/TASK_RESULTS.md b/research-notes/smolvla-followup-20261104/TASK_RESULTS.md new file mode 100644 index 00000000..8e01c568 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/TASK_RESULTS.md @@ -0,0 +1,23 @@ +# Đối chiếu kết quả LIBERO theo task + +Sinh từ CSV bằng `python3 research-notes/smolvla-followup-20261104/audit_submission.py` tại gốc repo. Kiểm tra 360 episode: 200 official defaults, 40 screening defaults và 120 screening biến thể. Kiểm tra task/episode ID, số bước, success, aborted và SR so với manifest; lưu SHA256 từng CSV trong [submission-audit.json](submission-audit.json). Không chạy inference mới hoặc kiểm tra lại video. + +| Task | Defaults /4 | Flash-mm /4 | Q8-lm /4 | Q8-vision /4 | Official defaults /20 | +|---|---:|---:|---:|---:|---:| +| 0 | 4 | 4 | 4 | 4 | 18 | +| 1 | 4 | 4 | 4 | 4 | 20 | +| 2 | 4 | 3 | 3 | 4 | 17 | +| 3 | 3 | 4 | 4 | 4 | 17 | +| 4 | 4 | 4 | 4 | 3 | 19 | +| 5 | 3 | 1 | 3 | 3 | 13 | +| 6 | 4 | 4 | 4 | 4 | 16 | +| 7 | 4 | 4 | 4 | 3 | 20 | +| 8 | 4 | 4 | 4 | 3 | 20 | +| 9 | 4 | 3 | 2 | 4 | 17 | +| Tổng | 38 | 35 | 36 | 36 | 177 | + +Mọi CSV được chọn có aborted=0. Official task 9 lấy đường dẫn recovery trong result.json; không cộng episode của lượt bị gián đoạn. Hash chỉ xác nhận nội dung artifact tại lúc audit, không chứng minh môi trường hoặc noise có thể tái hiện từng bit. + +Bảng giúp xác định task cần xem lại video. Chênh lệch thành công không xác định nguyên nhân do quantization, attention hay noise. Cùng episode ID và seed môi trường chưa tạo thành cặp đối chứng cùng noise; không dùng bảng này để kiểm định ghép cặp hoặc chọn cấu hình trên tập đánh giá. + +Chỉ so các cột screening với nhau khi mô tả chênh lệch quan sát. Cột official có số episode khác và là một lượt chạy riêng; không lấy 177/200 làm control cho screening biến thể. diff --git a/research-notes/smolvla-followup-20261104/audit_screening.py b/research-notes/smolvla-followup-20261104/audit_screening.py index 0eaf727a..d48d238d 100644 --- a/research-notes/smolvla-followup-20261104/audit_screening.py +++ b/research-notes/smolvla-followup-20261104/audit_screening.py @@ -18,7 +18,7 @@ def require(condition, message): raise ValueError(message) -def audit(name, directory): +def audit(name, directory, episodes_per_task=4, sr_key='screening_sr'): result = read(directory / 'result.json') require(result['state'] == 'complete', f'{name}: unfinished result') tasks = result['tasks'] @@ -31,8 +31,8 @@ def audit(name, directory): path = ROOT / path with path.open(newline='') as handle: rows = list(csv.DictReader(handle)) - require(len(rows) == task['episodes'] == 4, f'{name}: task episode count') - require(sorted(int(r['episode']) for r in rows) == list(range(4)), f'{name}: episode IDs') + require(len(rows) == task['episodes'] == episodes_per_task, f'{name}: task episode count') + require(sorted(int(r['episode']) for r in rows) == list(range(episodes_per_task)), f'{name}: episode IDs') require(all(r['success'] in ('0', '1') and r['aborted'] in ('0', '1') for r in rows), f'{name}: flags') count = sum(int(r['success']) for r in rows) skips = sum(int(r['aborted']) for r in rows) @@ -46,10 +46,10 @@ def audit(name, directory): 'aborted': skips, 'csv': str(path.relative_to(ROOT)), 'csv_sha256': hashlib.sha256(path.read_bytes()).hexdigest(), 'episode_records': [{key: int(row[key]) for key in ('episode', 'success', 'steps', 'aborted')} for row in rows]}) - require(episodes == result['completed_episodes'] == result['expected_episodes'] == 40, f'{name}: total episodes') + require(episodes == result['completed_episodes'] == result['expected_episodes'] == 10 * episodes_per_task, f'{name}: total episodes') require(result['completed_tasks'] == 10, f'{name}: total tasks') require(successes == result['successes'] and aborted == 0, f'{name}: final totals') - require(abs(result['screening_sr'] - successes / episodes) < 1e-12, f'{name}: SR') + require(abs(result[sr_key] - successes / episodes) < 1e-12, f'{name}: SR') return {'episodes': episodes, 'successes': successes, 'aborted': aborted, 'screening_sr': successes / episodes, 'tasks': records} diff --git a/research-notes/smolvla-followup-20261104/audit_submission.py b/research-notes/smolvla-followup-20261104/audit_submission.py new file mode 100644 index 00000000..99f62295 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/audit_submission.py @@ -0,0 +1,63 @@ +"""Audit finalized episode CSVs and render a task-level review appendix; no inference.""" +import json + +from audit_screening import DATA, audit, read, require + + +def main(): + batch = read(DATA / 'screen40-variants/batch.json') + names = ['flash-mm', 'q8-lm', 'q8-vision'] + require(batch['state'] == 'complete' and batch['current'] is None, 'unfinished batch') + require([r['name'] for r in batch['results']] == names, 'batch configurations') + require(all(r['exit'] == 0 for r in batch['results']), 'runner failure') + results = {'defaults': audit('defaults', DATA / 'screen40-defaults')} + for name in names: + results[name] = audit(name, DATA / 'screen40-variants' / name) + results['official-defaults'] = audit( + 'official-defaults', DATA / 'official200-defaults', 20, 'official_sr') + # The manifest selects the recovered task 9, excluding all interrupted attempts. + require(sum(r['episodes'] for r in results.values()) == 360, 'episode total') + report = { + 'state': 'verified', + 'scope': 'Final manifest CSVs only; no video, kernel, environment or model-quality certification', + 'episodes': 360, + 'results': results, + } + (DATA / 'submission-audit.json').write_text(json.dumps(report, indent=2) + '\n') + lines = [ + '# Đối chiếu kết quả LIBERO theo task', + '', + 'Sinh từ CSV bằng `python3 research-notes/smolvla-followup-20261104/audit_submission.py` tại gốc repo. ' + 'Kiểm tra 360 episode: 200 official defaults, 40 screening defaults và 120 screening biến thể. ' + 'Kiểm tra task/episode ID, số bước, success, aborted và SR so với manifest; lưu SHA256 từng CSV trong ' + '[submission-audit.json](submission-audit.json). Không chạy inference mới hoặc kiểm tra lại video.', + '', + '| Task | Defaults /4 | Flash-mm /4 | Q8-lm /4 | Q8-vision /4 | Official defaults /20 |', + '|---|---:|---:|---:|---:|---:|', + ] + for task_id in range(10): + values = [str(r['tasks'][task_id]['successes']) for r in results.values()] + lines.append('| ' + ' | '.join([str(task_id)] + values) + ' |') + lines.extend([ + '| Tổng | ' + ' | '.join(str(r['successes']) for r in results.values()) + ' |', + '', + 'Mọi CSV được chọn có aborted=0. Official task 9 lấy đường dẫn recovery trong result.json; ' + 'không cộng episode của lượt bị gián đoạn. Hash chỉ xác nhận nội dung artifact tại lúc audit, ' + 'không chứng minh môi trường hoặc noise có thể tái hiện từng bit.', + '', + 'Bảng giúp xác định task cần xem lại video. Chênh lệch thành công không xác định nguyên nhân ' + 'do quantization, attention hay noise. Cùng episode ID và seed môi trường chưa tạo thành cặp ' + 'đối chứng cùng noise; không dùng bảng này để kiểm định ghép cặp hoặc chọn cấu hình trên tập đánh giá.', + '', + 'Chỉ so các cột screening với nhau khi mô tả chênh lệch quan sát. Cột official có số episode ' + 'khác và là một lượt chạy riêng; không lấy 177/200 làm control cho screening biến thể.', + '', + ]) + (DATA / 'TASK_RESULTS.md').write_text('\n'.join(lines)) + for name, result in results.items(): + print(f"{name}: {result['successes']}/{result['episodes']}, aborted={result['aborted']}") + print('Verified 360 episodes; wrote submission-audit.json and TASK_RESULTS.md.') + + +if __name__ == '__main__': + main() diff --git a/research-notes/smolvla-followup-20261104/submission-audit.json b/research-notes/smolvla-followup-20261104/submission-audit.json new file mode 100644 index 00000000..9218ba49 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/submission-audit.json @@ -0,0 +1,2707 @@ +{ + "state": "verified", + "scope": "Final manifest CSVs only; no video, kernel, environment or model-quality certification", + "episodes": 360, + "results": { + "defaults": { + "episodes": 40, + "successes": 38, + "aborted": 0, + "screening_sr": 0.95, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_0/episodes.csv", + "csv_sha256": "6501ab69a7089c4b0840725bf0387a6468ec1eab06ddcc2c97d36f9e8585a3b3", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 198, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 175, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 188, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 174, + "aborted": 0 + } + ] + }, + { + "task_id": 1, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_1/episodes.csv", + "csv_sha256": "d12eb11c5d5483e2213a9b2cad4961ce23582b2ecff272afb0f75c189323bcb0", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 127, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 157, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 138, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 148, + "aborted": 0 + } + ] + }, + { + "task_id": 2, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_2/episodes.csv", + "csv_sha256": "ce7234fd4dcd6b34ccf5e83693c7b0f433a4b3d7c05b177ab769602496ca381c", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 128, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 125, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 147, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 120, + "aborted": 0 + } + ] + }, + { + "task_id": 3, + "episodes": 4, + "successes": 3, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_3/episodes.csv", + "csv_sha256": "7b14870d5514ade2067810c4fd10fcad274a621eab8675244189e557a30a361d", + "episode_records": [ + { + "episode": 0, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 143, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 138, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 128, + "aborted": 0 + } + ] + }, + { + "task_id": 4, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_4/episodes.csv", + "csv_sha256": "bf839d1284b58d51ed0d688979175f50212e78a14f8a051a8ff463ac8c15c31e", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 156, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 157, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 168, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 156, + "aborted": 0 + } + ] + }, + { + "task_id": 5, + "episodes": 4, + "successes": 3, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_5/episodes.csv", + "csv_sha256": "e4d70e40ec26b845d30ca98a75c24f1f8c0630c4229abe62ec0512cb0273ea54", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 220, + "aborted": 0 + }, + { + "episode": 1, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 222, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 142, + "aborted": 0 + } + ] + }, + { + "task_id": 6, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_6/episodes.csv", + "csv_sha256": "92a1668df8a8a381cfd0653cd366fba4cd2500a0fbaf5281a2f602bd6ee8bcb6", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 163, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 161, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 156, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 145, + "aborted": 0 + } + ] + }, + { + "task_id": 7, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_7/episodes.csv", + "csv_sha256": "95bec9dd0879a57f32818a2dbc5a910f537ba75b8aa11c74cc6234abf30c558f", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 133, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 153, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 146, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 156, + "aborted": 0 + } + ] + }, + { + "task_id": 8, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_8/episodes.csv", + "csv_sha256": "2dacff88d96680ad523444c5d8ac58419bb38f87cae3864a180ccf7c05ecc2fa", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 184, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 159, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 173, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 162, + "aborted": 0 + } + ] + }, + { + "task_id": 9, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-defaults/outputs/smolvla/libero_object/task_9/episodes.csv", + "csv_sha256": "e860d7ef712ab2128967d5d514e88972e83fde11870196c9b1855419946c9fd2", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 133, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 127, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 142, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 136, + "aborted": 0 + } + ] + } + ] + }, + "flash-mm": { + "episodes": 40, + "successes": 35, + "aborted": 0, + "screening_sr": 0.875, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_0/episodes.csv", + "csv_sha256": "eb333bc7153936466cfaf37e2ae6f1644311c5b64cd28ad32a0da33de0c103a8", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 144, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 140, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 200, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 154, + "aborted": 0 + } + ] + }, + { + "task_id": 1, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_1/episodes.csv", + "csv_sha256": "32ec6f3cd66c9787498e99c21208d4e08c14ed4cae9630de22d7d579ce746afb", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 137, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 139, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 123, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 135, + "aborted": 0 + } + ] + }, + { + "task_id": 2, + "episodes": 4, + "successes": 3, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_2/episodes.csv", + "csv_sha256": "b52ea6d71d9cb1e9aa32f572e545a4d989a60b2a80b1275bac2d93bb6827f94b", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 127, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 133, + "aborted": 0 + }, + { + "episode": 2, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 127, + "aborted": 0 + } + ] + }, + { + "task_id": 3, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_3/episodes.csv", + "csv_sha256": "4fa79dfe7c0b7f39d0feedfc8233dae082559a09932aa858d681e72b54d8e962", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 135, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 127, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 171, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 133, + "aborted": 0 + } + ] + }, + { + "task_id": 4, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_4/episodes.csv", + "csv_sha256": "84794be39b0952173960ba1d7f01925ee37d6181ab7ba0ad6963d9eb0ca99550", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 154, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 158, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 155, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 138, + "aborted": 0 + } + ] + }, + { + "task_id": 5, + "episodes": 4, + "successes": 1, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_5/episodes.csv", + "csv_sha256": "55adc32dc0ae9abb63688c4b1966c93bc89c7713a0f340d5bc3f93eaa80724ab", + "episode_records": [ + { + "episode": 0, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 124, + "aborted": 0 + }, + { + "episode": 2, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 3, + "success": 0, + "steps": 500, + "aborted": 0 + } + ] + }, + { + "task_id": 6, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_6/episodes.csv", + "csv_sha256": "4ffd56f53e121b4876e60fec1a15939fbc2953eb5858a5619c7e615a6efc0dc0", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 163, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 152, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 187, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 153, + "aborted": 0 + } + ] + }, + { + "task_id": 7, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_7/episodes.csv", + "csv_sha256": "b2b01f768fdb324ac91c5e8e45fa87ed6da0aa6c13ded7c2ab442a2dee95ce67", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 138, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 155, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 127, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 146, + "aborted": 0 + } + ] + }, + { + "task_id": 8, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_8/episodes.csv", + "csv_sha256": "f2c270b2c44e954c4b9d4a791f90e4f16514f85b52844d5e04be53dab21e6776", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 206, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 165, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 208, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 158, + "aborted": 0 + } + ] + }, + { + "task_id": 9, + "episodes": 4, + "successes": 3, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/flash-mm/outputs/smolvla/libero_object/task_9/episodes.csv", + "csv_sha256": "6590ce8c8e157a54313af1321eed126f6fdd1f990caa7b00be35ca127d8427cd", + "episode_records": [ + { + "episode": 0, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 122, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 136, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 180, + "aborted": 0 + } + ] + } + ] + }, + "q8-lm": { + "episodes": 40, + "successes": 36, + "aborted": 0, + "screening_sr": 0.9, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_0/episodes.csv", + "csv_sha256": "e319c6a7244d43f60a3b0e173aa32e20e39667d77608484b8b575c7b1713c5a6", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 189, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 171, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 168, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 189, + "aborted": 0 + } + ] + }, + { + "task_id": 1, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_1/episodes.csv", + "csv_sha256": "64ebcfdc86c2711fee70e68f59d68554a1a5b314b7cdca168f4197b530bd3257", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 152, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 155, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 122, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 147, + "aborted": 0 + } + ] + }, + { + "task_id": 2, + "episodes": 4, + "successes": 3, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_2/episodes.csv", + "csv_sha256": "b1cb27f749cf556aad523d76dd702cda469336959c8a4a7da19b61fb06093e7c", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 136, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 133, + "aborted": 0 + }, + { + "episode": 2, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 131, + "aborted": 0 + } + ] + }, + { + "task_id": 3, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_3/episodes.csv", + "csv_sha256": "88bdc328e59668102c299a00a98bc0e5a37e7915195db3e603331de733b8e00e", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 149, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 148, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 158, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 133, + "aborted": 0 + } + ] + }, + { + "task_id": 4, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_4/episodes.csv", + "csv_sha256": "1fda4d6c79e995ce9cb4d9f46eca3c88ea1e76e7be552e6955d1985e5d4b7511", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 153, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 150, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 155, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 155, + "aborted": 0 + } + ] + }, + { + "task_id": 5, + "episodes": 4, + "successes": 3, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_5/episodes.csv", + "csv_sha256": "f282ddb363b458db51866fc67c32ea42ab67a05afc2480fd0dedf045b419d60e", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 207, + "aborted": 0 + }, + { + "episode": 1, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 182, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 243, + "aborted": 0 + } + ] + }, + { + "task_id": 6, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_6/episodes.csv", + "csv_sha256": "c829d452ca9cbd117c161dc77191a5df2afe95bbf570ed0b15963125cfe53fb0", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 153, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 178, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 185, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 180, + "aborted": 0 + } + ] + }, + { + "task_id": 7, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_7/episodes.csv", + "csv_sha256": "3692c2a50997844524cde90415184ddf95d82eee2937cb2e38dfab1b239677fe", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 135, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 166, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 118, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 141, + "aborted": 0 + } + ] + }, + { + "task_id": 8, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_8/episodes.csv", + "csv_sha256": "6a47ffb5b036082e65670f67087e3ab32b92ab379d6d814ef5445618982cc247", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 156, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 150, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 168, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 172, + "aborted": 0 + } + ] + }, + { + "task_id": 9, + "episodes": 4, + "successes": 2, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-lm/outputs/smolvla/libero_object/task_9/episodes.csv", + "csv_sha256": "8db1d3cf41d7b378312e38035e2ab90541286644f1749d3cdd5c71ed3f7b7a2d", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 133, + "aborted": 0 + }, + { + "episode": 1, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 128, + "aborted": 0 + }, + { + "episode": 3, + "success": 0, + "steps": 500, + "aborted": 0 + } + ] + } + ] + }, + "q8-vision": { + "episodes": 40, + "successes": 36, + "aborted": 0, + "screening_sr": 0.9, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_0/episodes.csv", + "csv_sha256": "5f829f8456fb1e6d44ef2b824b53a1b9b353bf5ba6376be8295e98b80afb1888", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 148, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 166, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 174, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 159, + "aborted": 0 + } + ] + }, + { + "task_id": 1, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_1/episodes.csv", + "csv_sha256": "b01563de2080d04b2ef028a44a95e0519ffc2b3ddaac4a9a831cb40aabd645fc", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 141, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 137, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 156, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 169, + "aborted": 0 + } + ] + }, + { + "task_id": 2, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_2/episodes.csv", + "csv_sha256": "07a59644488579392ec74e92bdac4a29da3845b0c822c48213905eccdb761681", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 125, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 137, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 128, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 135, + "aborted": 0 + } + ] + }, + { + "task_id": 3, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_3/episodes.csv", + "csv_sha256": "21aea841b84f9f92fb277eae6dfc6033b534e0de38f563fe9b8d3469d78fbf71", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 131, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 128, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 138, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 129, + "aborted": 0 + } + ] + }, + { + "task_id": 4, + "episodes": 4, + "successes": 3, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_4/episodes.csv", + "csv_sha256": "064b7b3bab6d5eeb70c6a013e409b49392c97b80006427f39d9f64b20b538148", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 173, + "aborted": 0 + }, + { + "episode": 1, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 169, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 151, + "aborted": 0 + } + ] + }, + { + "task_id": 5, + "episodes": 4, + "successes": 3, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_5/episodes.csv", + "csv_sha256": "d1500a4c27249402a5e6c6e508284d1bc7732597c42fc27719f38a383c114ce7", + "episode_records": [ + { + "episode": 0, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 130, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 161, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 139, + "aborted": 0 + } + ] + }, + { + "task_id": 6, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_6/episodes.csv", + "csv_sha256": "ad03f74d2a898ef6b8a4e15bae52234614867d93303425d8b1605e6ac86aec39", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 180, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 161, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 171, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 166, + "aborted": 0 + } + ] + }, + { + "task_id": 7, + "episodes": 4, + "successes": 3, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_7/episodes.csv", + "csv_sha256": "2271ad24fd105157bcbd182fd66421b992506d6364763788a5d68557edc431e3", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 136, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 148, + "aborted": 0 + }, + { + "episode": 2, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 155, + "aborted": 0 + } + ] + }, + { + "task_id": 8, + "episodes": 4, + "successes": 3, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_8/episodes.csv", + "csv_sha256": "41a306117a63b9c1a00006398cfe404493fb61fe7408d1468f1d0a66f9e034a4", + "episode_records": [ + { + "episode": 0, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 160, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 173, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 173, + "aborted": 0 + } + ] + }, + { + "task_id": 9, + "episodes": 4, + "successes": 4, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/q8-vision/outputs/smolvla/libero_object/task_9/episodes.csv", + "csv_sha256": "58a076628c8a7302adca67f7cdf1c63c2c77e8ce3a440cc70d2980d8d98246ea", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 128, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 136, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 144, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 131, + "aborted": 0 + } + ] + } + ] + }, + "official-defaults": { + "episodes": 200, + "successes": 177, + "aborted": 0, + "screening_sr": 0.885, + "tasks": [ + { + "task_id": 0, + "episodes": 20, + "successes": 18, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_0/episodes.csv", + "csv_sha256": "c76a09dec785bddc93545645ea0b0e0500c024af2165b80c2ab42dae8adb54b6", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 157, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 181, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 164, + "aborted": 0 + }, + { + "episode": 3, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 4, + "success": 1, + "steps": 162, + "aborted": 0 + }, + { + "episode": 5, + "success": 1, + "steps": 178, + "aborted": 0 + }, + { + "episode": 6, + "success": 1, + "steps": 248, + "aborted": 0 + }, + { + "episode": 7, + "success": 1, + "steps": 154, + "aborted": 0 + }, + { + "episode": 8, + "success": 1, + "steps": 154, + "aborted": 0 + }, + { + "episode": 9, + "success": 1, + "steps": 163, + "aborted": 0 + }, + { + "episode": 10, + "success": 1, + "steps": 182, + "aborted": 0 + }, + { + "episode": 11, + "success": 1, + "steps": 151, + "aborted": 0 + }, + { + "episode": 12, + "success": 1, + "steps": 157, + "aborted": 0 + }, + { + "episode": 13, + "success": 1, + "steps": 187, + "aborted": 0 + }, + { + "episode": 14, + "success": 1, + "steps": 208, + "aborted": 0 + }, + { + "episode": 15, + "success": 1, + "steps": 163, + "aborted": 0 + }, + { + "episode": 16, + "success": 1, + "steps": 154, + "aborted": 0 + }, + { + "episode": 17, + "success": 1, + "steps": 125, + "aborted": 0 + }, + { + "episode": 18, + "success": 1, + "steps": 189, + "aborted": 0 + }, + { + "episode": 19, + "success": 0, + "steps": 500, + "aborted": 0 + } + ] + }, + { + "task_id": 1, + "episodes": 20, + "successes": 20, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_1/episodes.csv", + "csv_sha256": "7f55972b169ed12ce78566de692970f478b32c571961a34ef31f94a3be0838d7", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 132, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 155, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 137, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 189, + "aborted": 0 + }, + { + "episode": 4, + "success": 1, + "steps": 121, + "aborted": 0 + }, + { + "episode": 5, + "success": 1, + "steps": 141, + "aborted": 0 + }, + { + "episode": 6, + "success": 1, + "steps": 191, + "aborted": 0 + }, + { + "episode": 7, + "success": 1, + "steps": 139, + "aborted": 0 + }, + { + "episode": 8, + "success": 1, + "steps": 151, + "aborted": 0 + }, + { + "episode": 9, + "success": 1, + "steps": 121, + "aborted": 0 + }, + { + "episode": 10, + "success": 1, + "steps": 137, + "aborted": 0 + }, + { + "episode": 11, + "success": 1, + "steps": 122, + "aborted": 0 + }, + { + "episode": 12, + "success": 1, + "steps": 189, + "aborted": 0 + }, + { + "episode": 13, + "success": 1, + "steps": 125, + "aborted": 0 + }, + { + "episode": 14, + "success": 1, + "steps": 129, + "aborted": 0 + }, + { + "episode": 15, + "success": 1, + "steps": 122, + "aborted": 0 + }, + { + "episode": 16, + "success": 1, + "steps": 135, + "aborted": 0 + }, + { + "episode": 17, + "success": 1, + "steps": 130, + "aborted": 0 + }, + { + "episode": 18, + "success": 1, + "steps": 131, + "aborted": 0 + }, + { + "episode": 19, + "success": 1, + "steps": 128, + "aborted": 0 + } + ] + }, + { + "task_id": 2, + "episodes": 20, + "successes": 17, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_2/episodes.csv", + "csv_sha256": "7b484c363c9b835f9b160e3928c95efa808f28f7dc7831fd00589ddf88617acb", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 130, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 138, + "aborted": 0 + }, + { + "episode": 2, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 150, + "aborted": 0 + }, + { + "episode": 4, + "success": 1, + "steps": 201, + "aborted": 0 + }, + { + "episode": 5, + "success": 1, + "steps": 132, + "aborted": 0 + }, + { + "episode": 6, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 7, + "success": 1, + "steps": 149, + "aborted": 0 + }, + { + "episode": 8, + "success": 1, + "steps": 123, + "aborted": 0 + }, + { + "episode": 9, + "success": 1, + "steps": 128, + "aborted": 0 + }, + { + "episode": 10, + "success": 1, + "steps": 146, + "aborted": 0 + }, + { + "episode": 11, + "success": 1, + "steps": 112, + "aborted": 0 + }, + { + "episode": 12, + "success": 1, + "steps": 119, + "aborted": 0 + }, + { + "episode": 13, + "success": 1, + "steps": 160, + "aborted": 0 + }, + { + "episode": 14, + "success": 1, + "steps": 134, + "aborted": 0 + }, + { + "episode": 15, + "success": 1, + "steps": 130, + "aborted": 0 + }, + { + "episode": 16, + "success": 1, + "steps": 123, + "aborted": 0 + }, + { + "episode": 17, + "success": 1, + "steps": 136, + "aborted": 0 + }, + { + "episode": 18, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 19, + "success": 1, + "steps": 139, + "aborted": 0 + } + ] + }, + { + "task_id": 3, + "episodes": 20, + "successes": 17, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_3/episodes.csv", + "csv_sha256": "7861ec92a79947a6cab6b832b322971bf48b3cc8ad6a561a99537764e828829d", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 153, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 129, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 142, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 135, + "aborted": 0 + }, + { + "episode": 4, + "success": 1, + "steps": 139, + "aborted": 0 + }, + { + "episode": 5, + "success": 1, + "steps": 133, + "aborted": 0 + }, + { + "episode": 6, + "success": 1, + "steps": 135, + "aborted": 0 + }, + { + "episode": 7, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 8, + "success": 1, + "steps": 142, + "aborted": 0 + }, + { + "episode": 9, + "success": 1, + "steps": 147, + "aborted": 0 + }, + { + "episode": 10, + "success": 1, + "steps": 160, + "aborted": 0 + }, + { + "episode": 11, + "success": 1, + "steps": 121, + "aborted": 0 + }, + { + "episode": 12, + "success": 1, + "steps": 137, + "aborted": 0 + }, + { + "episode": 13, + "success": 1, + "steps": 136, + "aborted": 0 + }, + { + "episode": 14, + "success": 1, + "steps": 143, + "aborted": 0 + }, + { + "episode": 15, + "success": 1, + "steps": 148, + "aborted": 0 + }, + { + "episode": 16, + "success": 1, + "steps": 121, + "aborted": 0 + }, + { + "episode": 17, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 18, + "success": 1, + "steps": 133, + "aborted": 0 + }, + { + "episode": 19, + "success": 0, + "steps": 500, + "aborted": 0 + } + ] + }, + { + "task_id": 4, + "episodes": 20, + "successes": 19, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_4/episodes.csv", + "csv_sha256": "6e036f2dcc4872cf4369f2b20ad26176210e48b75344d85d6a353c1121a86959", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 149, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 152, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 179, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 158, + "aborted": 0 + }, + { + "episode": 4, + "success": 1, + "steps": 157, + "aborted": 0 + }, + { + "episode": 5, + "success": 1, + "steps": 150, + "aborted": 0 + }, + { + "episode": 6, + "success": 1, + "steps": 141, + "aborted": 0 + }, + { + "episode": 7, + "success": 1, + "steps": 161, + "aborted": 0 + }, + { + "episode": 8, + "success": 1, + "steps": 146, + "aborted": 0 + }, + { + "episode": 9, + "success": 1, + "steps": 146, + "aborted": 0 + }, + { + "episode": 10, + "success": 1, + "steps": 152, + "aborted": 0 + }, + { + "episode": 11, + "success": 1, + "steps": 164, + "aborted": 0 + }, + { + "episode": 12, + "success": 1, + "steps": 146, + "aborted": 0 + }, + { + "episode": 13, + "success": 1, + "steps": 168, + "aborted": 0 + }, + { + "episode": 14, + "success": 1, + "steps": 148, + "aborted": 0 + }, + { + "episode": 15, + "success": 1, + "steps": 165, + "aborted": 0 + }, + { + "episode": 16, + "success": 1, + "steps": 186, + "aborted": 0 + }, + { + "episode": 17, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 18, + "success": 1, + "steps": 149, + "aborted": 0 + }, + { + "episode": 19, + "success": 1, + "steps": 166, + "aborted": 0 + } + ] + }, + { + "task_id": 5, + "episodes": 20, + "successes": 13, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_5/episodes.csv", + "csv_sha256": "b55edf76903152b256140ebfa4b8c9bf6e9f97555bb3c48ac73aec047ba62b1f", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 187, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 148, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 169, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 158, + "aborted": 0 + }, + { + "episode": 4, + "success": 1, + "steps": 139, + "aborted": 0 + }, + { + "episode": 5, + "success": 1, + "steps": 146, + "aborted": 0 + }, + { + "episode": 6, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 7, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 8, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 9, + "success": 1, + "steps": 184, + "aborted": 0 + }, + { + "episode": 10, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 11, + "success": 1, + "steps": 132, + "aborted": 0 + }, + { + "episode": 12, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 13, + "success": 1, + "steps": 157, + "aborted": 0 + }, + { + "episode": 14, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 15, + "success": 1, + "steps": 136, + "aborted": 0 + }, + { + "episode": 16, + "success": 1, + "steps": 121, + "aborted": 0 + }, + { + "episode": 17, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 18, + "success": 1, + "steps": 165, + "aborted": 0 + }, + { + "episode": 19, + "success": 1, + "steps": 135, + "aborted": 0 + } + ] + }, + { + "task_id": 6, + "episodes": 20, + "successes": 16, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_6/episodes.csv", + "csv_sha256": "a3323e57dcda9333ef8eebae1035a6e1e599a763edb3346fd9d76942e1e62958", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 144, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 169, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 168, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 153, + "aborted": 0 + }, + { + "episode": 4, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 5, + "success": 1, + "steps": 207, + "aborted": 0 + }, + { + "episode": 6, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 7, + "success": 1, + "steps": 158, + "aborted": 0 + }, + { + "episode": 8, + "success": 1, + "steps": 172, + "aborted": 0 + }, + { + "episode": 9, + "success": 1, + "steps": 157, + "aborted": 0 + }, + { + "episode": 10, + "success": 1, + "steps": 172, + "aborted": 0 + }, + { + "episode": 11, + "success": 1, + "steps": 139, + "aborted": 0 + }, + { + "episode": 12, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 13, + "success": 1, + "steps": 163, + "aborted": 0 + }, + { + "episode": 14, + "success": 1, + "steps": 184, + "aborted": 0 + }, + { + "episode": 15, + "success": 1, + "steps": 167, + "aborted": 0 + }, + { + "episode": 16, + "success": 1, + "steps": 152, + "aborted": 0 + }, + { + "episode": 17, + "success": 1, + "steps": 179, + "aborted": 0 + }, + { + "episode": 18, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 19, + "success": 1, + "steps": 208, + "aborted": 0 + } + ] + }, + { + "task_id": 7, + "episodes": 20, + "successes": 20, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_7/episodes.csv", + "csv_sha256": "c7c66108b1edb5c6b09f2d4e7f78a2fc4536634e7e64bfdecf713f27fdd25494", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 132, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 212, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 125, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 136, + "aborted": 0 + }, + { + "episode": 4, + "success": 1, + "steps": 140, + "aborted": 0 + }, + { + "episode": 5, + "success": 1, + "steps": 138, + "aborted": 0 + }, + { + "episode": 6, + "success": 1, + "steps": 144, + "aborted": 0 + }, + { + "episode": 7, + "success": 1, + "steps": 129, + "aborted": 0 + }, + { + "episode": 8, + "success": 1, + "steps": 131, + "aborted": 0 + }, + { + "episode": 9, + "success": 1, + "steps": 135, + "aborted": 0 + }, + { + "episode": 10, + "success": 1, + "steps": 137, + "aborted": 0 + }, + { + "episode": 11, + "success": 1, + "steps": 140, + "aborted": 0 + }, + { + "episode": 12, + "success": 1, + "steps": 145, + "aborted": 0 + }, + { + "episode": 13, + "success": 1, + "steps": 153, + "aborted": 0 + }, + { + "episode": 14, + "success": 1, + "steps": 134, + "aborted": 0 + }, + { + "episode": 15, + "success": 1, + "steps": 127, + "aborted": 0 + }, + { + "episode": 16, + "success": 1, + "steps": 122, + "aborted": 0 + }, + { + "episode": 17, + "success": 1, + "steps": 128, + "aborted": 0 + }, + { + "episode": 18, + "success": 1, + "steps": 128, + "aborted": 0 + }, + { + "episode": 19, + "success": 1, + "steps": 146, + "aborted": 0 + } + ] + }, + { + "task_id": 8, + "episodes": 20, + "successes": 20, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/outputs/smolvla/libero_object/task_8/episodes.csv", + "csv_sha256": "81ec59a08c07a0dc8c15d7f1ef941242dcbee1faa8cf3546571e077da8c8695e", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 309, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 164, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 173, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 225, + "aborted": 0 + }, + { + "episode": 4, + "success": 1, + "steps": 184, + "aborted": 0 + }, + { + "episode": 5, + "success": 1, + "steps": 198, + "aborted": 0 + }, + { + "episode": 6, + "success": 1, + "steps": 168, + "aborted": 0 + }, + { + "episode": 7, + "success": 1, + "steps": 155, + "aborted": 0 + }, + { + "episode": 8, + "success": 1, + "steps": 146, + "aborted": 0 + }, + { + "episode": 9, + "success": 1, + "steps": 169, + "aborted": 0 + }, + { + "episode": 10, + "success": 1, + "steps": 161, + "aborted": 0 + }, + { + "episode": 11, + "success": 1, + "steps": 172, + "aborted": 0 + }, + { + "episode": 12, + "success": 1, + "steps": 176, + "aborted": 0 + }, + { + "episode": 13, + "success": 1, + "steps": 189, + "aborted": 0 + }, + { + "episode": 14, + "success": 1, + "steps": 167, + "aborted": 0 + }, + { + "episode": 15, + "success": 1, + "steps": 183, + "aborted": 0 + }, + { + "episode": 16, + "success": 1, + "steps": 162, + "aborted": 0 + }, + { + "episode": 17, + "success": 1, + "steps": 160, + "aborted": 0 + }, + { + "episode": 18, + "success": 1, + "steps": 170, + "aborted": 0 + }, + { + "episode": 19, + "success": 1, + "steps": 170, + "aborted": 0 + } + ] + }, + { + "task_id": 9, + "episodes": 20, + "successes": 17, + "aborted": 0, + "csv": "research-notes/smolvla-followup-20261104/official200-defaults/recovery-task9-retry1/outputs/smolvla/libero_object/task_9/episodes.csv", + "csv_sha256": "70b27f09291b6c7927561421a2e3ee142d5587b625c5942d0d45f956bccf2a3a", + "episode_records": [ + { + "episode": 0, + "success": 1, + "steps": 148, + "aborted": 0 + }, + { + "episode": 1, + "success": 1, + "steps": 130, + "aborted": 0 + }, + { + "episode": 2, + "success": 1, + "steps": 149, + "aborted": 0 + }, + { + "episode": 3, + "success": 1, + "steps": 125, + "aborted": 0 + }, + { + "episode": 4, + "success": 1, + "steps": 132, + "aborted": 0 + }, + { + "episode": 5, + "success": 1, + "steps": 142, + "aborted": 0 + }, + { + "episode": 6, + "success": 1, + "steps": 135, + "aborted": 0 + }, + { + "episode": 7, + "success": 1, + "steps": 139, + "aborted": 0 + }, + { + "episode": 8, + "success": 1, + "steps": 124, + "aborted": 0 + }, + { + "episode": 9, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 10, + "success": 1, + "steps": 134, + "aborted": 0 + }, + { + "episode": 11, + "success": 1, + "steps": 137, + "aborted": 0 + }, + { + "episode": 12, + "success": 1, + "steps": 280, + "aborted": 0 + }, + { + "episode": 13, + "success": 1, + "steps": 131, + "aborted": 0 + }, + { + "episode": 14, + "success": 1, + "steps": 147, + "aborted": 0 + }, + { + "episode": 15, + "success": 1, + "steps": 136, + "aborted": 0 + }, + { + "episode": 16, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 17, + "success": 0, + "steps": 500, + "aborted": 0 + }, + { + "episode": 18, + "success": 1, + "steps": 132, + "aborted": 0 + }, + { + "episode": 19, + "success": 1, + "steps": 126, + "aborted": 0 + } + ] + } + ] + } + } +} From b2a76c7ece5ee5b1e556de075e90d0727dec257b Mon Sep 17 00:00:00 2001 From: hientran-ai Date: Thu, 5 Nov 2026 11:12:32 +0700 Subject: [PATCH 10/13] docs: integrate Task 5 architecture and profiling audit into SmolVLA reports --- MENTOR_REVIEW.md | 10 + PART3_OPTIMIZATION.md | 6 + REPORT_SMOLVLA.md | 19 + SUBMISSION_SMOLVLA.md | 6 + .../ARCHITECTURE_AND_PROFILE.md | 15 +- research-notes/task5-profiling/README.md | 34 ++ .../task5-profiling/architecture.md | 41 ++ .../task5-profiling/audit_evidence.py | 140 +++++ .../task5-profiling/baseline-results.md | 25 + research-notes/task5-profiling/comparison.md | 37 ++ research-notes/task5-profiling/explanation.md | 43 ++ research-notes/task5-profiling/limitations.md | 35 ++ .../logs/20261105T040223880451Z/audit.json | 348 +++++++++++ .../defaults-phase-audit.log | 68 +++ .../defaults-phase.boundaries.json | 547 ++++++++++++++++++ .../flash-mm-phase-audit.log | 68 +++ .../flash-mm-phase.boundaries.json | 547 ++++++++++++++++++ .../20261105T040223880451Z/git-status.txt | 8 + .../logs/20261105T040308424489Z/audit.json | 354 ++++++++++++ .../environment-readonly.txt | 49 ++ .../20261105T040308424489Z/git-status.txt | 8 + .../task5-profiling/nsys-analysis.md | 32 + .../task5-profiling/reproduction.md | 40 ++ .../task5-profiling/timing-methodology.md | 30 + 24 files changed, 2508 insertions(+), 2 deletions(-) create mode 100644 research-notes/task5-profiling/README.md create mode 100644 research-notes/task5-profiling/architecture.md create mode 100644 research-notes/task5-profiling/audit_evidence.py create mode 100644 research-notes/task5-profiling/baseline-results.md create mode 100644 research-notes/task5-profiling/comparison.md create mode 100644 research-notes/task5-profiling/explanation.md create mode 100644 research-notes/task5-profiling/limitations.md create mode 100644 research-notes/task5-profiling/logs/20261105T040223880451Z/audit.json create mode 100644 research-notes/task5-profiling/logs/20261105T040223880451Z/defaults-phase-audit.log create mode 100644 research-notes/task5-profiling/logs/20261105T040223880451Z/defaults-phase.boundaries.json create mode 100644 research-notes/task5-profiling/logs/20261105T040223880451Z/flash-mm-phase-audit.log create mode 100644 research-notes/task5-profiling/logs/20261105T040223880451Z/flash-mm-phase.boundaries.json create mode 100644 research-notes/task5-profiling/logs/20261105T040223880451Z/git-status.txt create mode 100644 research-notes/task5-profiling/logs/20261105T040308424489Z/audit.json create mode 100644 research-notes/task5-profiling/logs/20261105T040308424489Z/environment-readonly.txt create mode 100644 research-notes/task5-profiling/logs/20261105T040308424489Z/git-status.txt create mode 100644 research-notes/task5-profiling/nsys-analysis.md create mode 100644 research-notes/task5-profiling/reproduction.md create mode 100644 research-notes/task5-profiling/timing-methodology.md diff --git a/MENTOR_REVIEW.md b/MENTOR_REVIEW.md index 285de0f4..5400d0e9 100644 --- a/MENTOR_REVIEW.md +++ b/MENTOR_REVIEW.md @@ -36,6 +36,16 @@ Kết quả và script tái lập được lưu trong nhánh này. Screening đ | 5. Profile | Phân biệt module GPU-active, phase wall và default path | Connector riêng, attention riêng và phân tích nguyên nhân gap chưa hoàn tất | | 6. Pruning | Có ba depth ablation và kết quả âm; phân biệt rõ với CLP | Nếu yêu cầu tái hiện phương pháp paper: cần activation calibration, CKA, mapping hợp lệ và quy trình finetuning/đánh giá tương ứng | +## Task 5 — kết quả audit và điều kiện kết luận + +Audit CPU ngày 05/11 đã parse khớp sáu raw latency log, tính lại tổng kernel/gap từ hai SQLite trace và kiểm tra phase-boundary attribution trên các kernel đã lưu. Trung vị ba run means là defaults 114,1 ms và flash-mm 92,4 ms (giảm 19,02%); không dùng riêng minimum run mean 113,9/91,5 ms làm kết quả đại diện mới. + +Điểm cần review thêm: cả hai trace báo `Not all CUDA events might have been collected.`; không thể chứng minh completeness chỉ vì không có chuỗi lost/drop. Trace dùng legacy software instrumentation; Unified Memory không trace được. Gap 10,54%/9,13% chỉ thuộc recorded target-process activity, không whole-GPU idle hoặc CPU bottleneck đã xác nhận. Timer wall có backend synchronization; PHASE đổi graph/padding nên không chia trực tiếp baseline mặc định thành module times. + +GPU đang có server dùng tại lúc audit nên chưa đo lại hoặc rerun hai CUDA tests. File LastTestsFailed lịch sử vẫn liệt kê foldquant_cuda_op và fused_cuda_ops; không đồng nghĩa đã tái hiện fail hôm nay. Chưa xác minh source/binary provenance bằng rebuild, chưa có best theo official SR, exact connector/action-expert-only/attention timing hoặc resident process VRAM. + +[Review Task 5 chi tiết](research-notes/task5-profiling/limitations.md) và [script audit CPU](research-notes/task5-profiling/audit_evidence.py). Đây là báo cáo có thể review trên bằng chứng hiện có, chưa xác nhận hoàn tất toàn bộ yêu cầu thực nghiệm. + ## Kiểm tra dữ liệu có thể chạy lại Từ thư mục gốc repo, không cần GPU hoặc simulator: diff --git a/PART3_OPTIMIZATION.md b/PART3_OPTIMIZATION.md index 92210b12..e41a311d 100644 --- a/PART3_OPTIMIZATION.md +++ b/PART3_OPTIMIZATION.md @@ -58,6 +58,12 @@ Hai CUDA tests bit-exact còn fail; baseline giữ defaults theo lựa chọn ng Telemetry bổ sung: 120 mẫu, nhiệt độ ghi nhận 53–72°C; không phủ toàn bộ batch và không đủ để kết luận có/không throttle. Raw: `part3-runtime/telemetry.jsonl`. +## Đối chiếu với audit Task 5 + +Bảng runtime ở trên giữ quy tắc lịch sử: chọn run có mean thấp nhất trong batch part3-runtime. Audit Task 5 dùng batch runtime-full-pair riêng và thống kê trung vị ba lượt: defaults mean/p50/p90 = 114,1/114,1/115,4 ms; flash-mm = 92,4/92,5/93,0 ms, giảm mean 19,02%. Không thay control 104,0 ms trong bảng này bằng 114,1 ms hoặc ghép hai cách chọn thống kê để tính speedup. + +Đã tái phân tích kernel traces: GEMM vẫn là nhóm tên có summed duration lớn nhất, nhưng có cả attention products. Cả hai trace cảnh báo có thể không thu đủ CUDA events; không coi tỷ lệ nhóm/gaps là đầy đủ hoặc chứng minh bottleneck phần cứng. PHASE thay graph/padding và không tương đương default throughput. Xem [phân tích Nsight](research-notes/task5-profiling/nsys-analysis.md) và [so sánh phân biệt population](research-notes/task5-profiling/comparison.md). + ## Phép tính bổ sung và liên hệ 6 task [Bảng tính tái lập](CALCULATIONS_SMOLVLA.md#task-3--mức-giảm-so-control-cùng-batch) bổ sung phần trăm giảm latency/allocation và speedup cho từng cấu hình. Flash-mm giảm mean17,79%, speedup1,216× và giảm allocation45,61% so control runtime104,0ms/1912,47MiB. Q8-lm và Q8-vision screening đều đã hoàn tất 36/40; official của biến thể chưa đo. Q8-vision giảm allocation 51,59% so với control quantization, Q8-lm giảm 46,63%; screening bằng nhau chưa chứng minh tương đương chất lượng. Xem [báo cáo đủ6task](REPORT_SMOLVLA.md) và [pruning](CALCULATIONS_SMOLVLA.md#task-6--ba-pruning-đã-implement-và-kiểm-tra). diff --git a/REPORT_SMOLVLA.md b/REPORT_SMOLVLA.md index 6cc5e473..3067deb1 100644 --- a/REPORT_SMOLVLA.md +++ b/REPORT_SMOLVLA.md @@ -56,6 +56,25 @@ Sai lệch output dùng input harness6token và noise cố định; benchmark d [Kiến trúc và profile](research-notes/smolvla-followup-20261104/ARCHITECTURE_AND_PROFILE.md) giải thích phạm vi phase, module GPU-active và giới hạn nsys/WSL. [Ghi chú paper](PAPER_READING_SMOLVLA_CLP.md) nêu hướng CKA. Pruning hiện chỉ bỏ layer tail/spaced, không gọi là tái hiện CLP. +### Task 5 — audit bổ sung ngày 05/11/2026 + +Đã đối chiếu sáu raw benchmark log và tính lại hai SQLite node trace; không chạy inference mới. Commit source tại lúc audit: `92d134a7557f4580f3b8c14042c1bad61c3f1d7c`; model SHA256 hiện tại khớp lịch sử. GPU ngoài sandbox có server đang dùng nên không chạy benchmark/test CUDA cạnh tranh. + +| Runtime-pair, trung vị thống kê của ba lượt | Defaults | Flash-mm | +|---|---:|---:| +| Mean latency (ms) | 114,1 | 92,4 | +| p50 (ms) | 114,1 | 92,5 | +| p90 (ms) | 115,4 | 93,0 | +| Vision + connector wall time (ms) | 56,1 | 43,6 | + +Mean đại diện giảm **19,02%**. Đây là trung vị ba run means/p50/p90, không percentile gộp 60 samples. Các số 113,9 → 91,5 ms ở phần lịch sử là lượt có mean thấp nhất của cùng batch; batch runtime 104,0 → 85,5 ms vẫn là thí nghiệm riêng, không thay control xuyên batch. Flash-mm giữ 10 bước denoise nhưng thay runtime arithmetic; screening 35/40 so với defaults 38/40 chưa xác nhận giữ chất lượng. + +Timer dùng CPU steady_clock; `ggml_backend_graph_compute` đồng bộ backend trước khi trả về. PHASE đổi prefix padding 48→16 language tokens, tạo graph riêng và copy K/V giữa hai timer; không coi là phân rã chính xác default latency. Vision gồm connector/preprocess/copies; denoise gồm cross-KV projection và solver. Không có text-token decode trong vòng action denoise. + +Trên 20 prediction được trace, summed kernel duration 2260,227 → 1733,185 ms; nhóm GEMM (gồm attention products) 1317,749 → 898,702 ms. Khoảng không có recorded process activity là 10,54% → 9,13%, không phải chứng minh toàn GPU idle. **Cả hai trace có cảnh báo `Not all CUDA events might have been collected.` và dùng legacy software tracing do hardware tracing không hỗ trợ.** Vì vậy coverage đầy đủ, exact attention time và nguyên nhân gap chưa được xác nhận; các tỷ lệ chỉ mô tả events đã ghi nhận. Hai test CUDA chưa rerun, không báo đã pass. + +Chi tiết: [kiến trúc và source anchors](research-notes/task5-profiling/architecture.md), [timer/phase measurements](research-notes/task5-profiling/timing-methodology.md), [Nsight API/kernel/memcpy](research-notes/task5-profiling/nsys-analysis.md), [giải thích tiếng Việt](research-notes/task5-profiling/explanation.md), [mentor review và giới hạn](research-notes/task5-profiling/limitations.md), [tái lập](research-notes/task5-profiling/reproduction.md). + ## Vấn đề cần mentor review 1. Hai CUDA tests fail và fused/unfused maxabs0,000545874: chưa tìm ra nguyên nhân; giữ defaults theo quyết định baseline của người dùng. diff --git a/SUBMISSION_SMOLVLA.md b/SUBMISSION_SMOLVLA.md index efec70b3..3e5a47bf 100644 --- a/SUBMISSION_SMOLVLA.md +++ b/SUBMISSION_SMOLVLA.md @@ -21,6 +21,12 @@ Phạm vi chốt báo cáo: sử dụng kết quả đã đo, không chạy thê Batch đã hoàn tất 120/120 episode, cả ba cấu hình exit 0. Official200 cho biến thể chưa chạy; screening chưa đủ để kết luận giữ chất lượng. Q8-vision giảm allocation còn 925,88 MiB, thấp hơn Q8-lm 1020,70 MiB; cả hai đạt 36/40 nhưng chưa chứng minh tương đương. Flash-mm ưu tiên latency; defaults vẫn là bản có SR official đã đo. +## Task 5 — architecture và profiling đã audit + +Đối chiếu sáu raw latency log và hai node traces có sẵn; không chạy GPU workload mới khi server đang dùng GPU. Runtime-pair: trung vị ba run means **114,1 → 92,4 ms (−19,02%)**; đây là batch/thống kê riêng với bảng phần 3. Vision+connector wall time 56,1 → 43,6 ms. Flash-mm là ứng viên runtime giữ 10 steps, chưa best theo chất lượng. + +Cả hai trace có cảnh báo **có thể chưa thu đủ CUDA events** và sử dụng legacy software tracing. Gap 10,54% → 9,13% mô tả recorded process activity, không chứng minh toàn GPU idle. Phase CPU wall có đồng bộ GPU nhưng đổi graph/padding, không phải pure kernel time hay phân rã chính xác default path. Chưa có connector/attention riêng hoặc rerun CUDA tests. [Báo cáo audit, source và tái lập](research-notes/task5-profiling/README.md). + ## Tài liệu chi tiết - [Kết quả theo task và kiểm tra 360 episode](research-notes/smolvla-followup-20261104/TASK_RESULTS.md) — đối chiếu CSV với manifest cuối, gồm official task 9 recovery. diff --git a/research-notes/smolvla-followup-20261104/ARCHITECTURE_AND_PROFILE.md b/research-notes/smolvla-followup-20261104/ARCHITECTURE_AND_PROFILE.md index 6e15e16e..7ad370a6 100644 --- a/research-notes/smolvla-followup-20261104/ARCHITECTURE_AND_PROFILE.md +++ b/research-notes/smolvla-followup-20261104/ARCHITECTURE_AND_PROFILE.md @@ -1,6 +1,6 @@ # SmolVLA: kiến trúc và giới hạn profiling -Cập nhật 04/11/2026. Tài liệu kiến trúc từ paper và source, đã bổ sung kết quả trace ở cuối. Các đoạn kế hoạch được giữ làm giải thích phương pháp; số liệu hiện tại ở mục Kết quả profiling. +Cập nhật 05/11/2026; số đo gốc ngày 04/11/2026. Tài liệu kiến trúc từ paper và source, đã bổ sung kết quả trace ở cuối. Các đoạn kế hoạch được giữ làm giải thích phương pháp; số liệu hiện tại ở mục Kết quả profiling. ## Paper và checkpoint đang dùng @@ -104,7 +104,7 @@ Kế hoạch trace kernel dùng node và capture-range=cudaProfilerApi: load mod ## Kết quả profiling đã đo -20predict sau3warmup, capture-range=cudaProfilerApi, cuda-graph-trace=node. Timing PHASE không tương đương throughput default vì topology/padding và graph/copy khác. +20predict sau3warmup, capture-range=cudaProfilerApi, cuda-graph-trace=node. Timing PHASE không tương đương throughput default vì topology/padding và graph/copy khác. **Audit 05/11 phát hiện cả hai default-path node trace có diagnostic `Not all CUDA events might have been collected.`; mọi tổng/tỷ lệ chỉ mô tả sự kiện đã ghi nhận, chưa chứng minh trace đầy đủ.** | Cấu hình | Vision+connector GPU active ms | Prefill GPU active ms | Denoise+crossKV GPU active ms | |---|---:|---:|---:| @@ -116,3 +116,14 @@ Kế hoạch trace kernel dùng node và capture-range=cudaProfilerApi: load mod Attribution theo vision graph và biên D2D KV copy từ source, kiểm tra đủ kernel không thiếu/trùng. Cách ban đầu đếm80graph launch thất bại do có direct launches; log lỗi được giữ. Cách sửa dùng1280KVcopies mặc định hoặc1200 cho30layer; xem summarize_phase_boundaries.py và kernel-phase-traces/*.boundaries.json. Active time loại khoảng trống, không phải wall time riêng module. Trace default path: tổng duration kernel2260,227ms →1733,185ms (flash-mm); GEMM theo tên58,30% →51,85%; gaps trong traced GPU activity10,54% →9,13%. GEMM gồm cả phép nhân attention; gaps chưa chứng minh toàn GPU rảnh hoặc nguyên nhân CPU. Raw kernel-traces/*.summary.json. Không gọi flash-mm là best theo SR; mới là ứng viên runtime nhanh. + + +## Audit Task 5 ngày 05/11/2026 — kết luận cập nhật + +CPU timer steady_clock trong predict_impl gọi `ggml_backend_graph_compute`; source dependency `ggml-backend.cpp:455–458` gọi async compute rồi backend synchronize. Có chờ GPU nhưng vẫn gồm host dispatch/wait/gaps, không phải CUDA event hoặc pure active time. PHASE dùng16token thay padding48 và KV leaves/copies; xem [phạm vi từng timer và bảng phase wall](../task5-profiling/timing-methodology.md). + +Audit sáu log runtime-full-pair khớp runs.json. Trung vị ba run means 114,1/92,4 ms; trung vị run p50 114,1/92,5 và p90 115,4/93,0 ms. Không dùng minimum run113,9/91,5 làm số đại diện mới. Tất cả là dữ liệu lịch sử được kiểm tra lại, không GPU measurements mới. Model hash hiện tại khớp lịch sử; source/binary identity chưa được chứng minh bằng rebuild. + +Cả hai trace có cảnh báo completeness nêu trên, hardware tracing unsupported nên dùng legacy software tracing, Unified Memory không trace được. Không có diagnostic lost/drop không chứng minh đầy đủ. Phase boundary analyzer pass kiểm tra1280KVcopies và bao phủ recorded kernels, không bảo đảm capture đã có mọi event. CUDA API StreamSynchronize duration overlap GPU execution, không cộng thêm với kernel duration thành overhead. Chưa xác định launch overhead độc lập hay nguyên nhân từng gap. + +Kiến trúc, tensor shapes/source anchors, giải thích các khái niệm, evidence SHA256 và reproduction được tập hợp trong [phụ lục Task 5](../task5-profiling/README.md). Flash-mm screening35/40 so defaults38/40 chưa chứng minh best chất lượng. Hai CUDA tests chưa rerun do GPU có server hoạt động; không tuyên bố Task5 hoàn tất vô điều kiện. diff --git a/research-notes/task5-profiling/README.md b/research-notes/task5-profiling/README.md new file mode 100644 index 00000000..b18ee687 --- /dev/null +++ b/research-notes/task5-profiling/README.md @@ -0,0 +1,34 @@ +# Task 5 — SmolVLA architecture và CUDA profiling + +Ngày audit: 05/11/2026 (Asia/Bangkok). Commit hiện tại: `92d134a7557f4580f3b8c14042c1bad61c3f1d7c`. + +Báo cáo này kiểm tra source hiện tại và tái phân tích artifact ngày 04/11. **Không có benchmark hoặc CUDA test mới**: lúc kiểm tra có `/vla-server` PID 323174 đang dùng GPU (46%, 2045/6144 MiB). Không dừng tiến trình của người dùng. GPU truy vấn được ngoài sandbox; lỗi NVML trong sandbox không phải bằng chứng driver hỏng. + +## Đọc theo thứ tự + +1. [Architecture](architecture.md): luồng input → action và source anchors. +2. [Timing](timing-methodology.md): từng timer đo gì, vì sao PHASE khác default. +3. [Baseline](baseline-results.md): protocol, tất cả lượt chạy, thống kê. +4. [Nsight](nsys-analysis.md): kernel/API/memcpy/gap và cảnh báo trace. +5. [Comparison](comparison.md): số liệu so sánh có phân biệt loại phép đo. +6. [Limitations và mentor review](limitations.md). +7. [Giải thích kiến thức](explanation.md) và [tái lập](reproduction.md). + +Kết luận được hỗ trợ: flash-mm là ứng viên runtime nhanh hơn defaults trên protocol đã lưu; trung vị mean ba lượt 114,1 → 92,4 ms (−19,0%). Chưa xác nhận tốt nhất về chất lượng: LIBERO screening 35/40 so với defaults 38/40. Giữ 10 bước denoise khi so sánh. `steps-3` nhanh nhưng thay đổi solver và sai khác action lớn nên không đưa vào cặp đối chứng giữ cùng số bước. + +Cảnh báo quan trọng: cả hai node trace có diagnostic `Not all CUDA events might have been collected.` Các tổng bên dưới đúng với sự kiện đã lưu, chưa chứng minh coverage đầy đủ. Không gọi gap là toàn GPU idle, không gọi GEMM là module VLM. + +## Môi trường được xác minh + +Ubuntu 26.04.1, WSL2 kernel 6.18.33.2; RTX 3060 Laptop 6 GiB, compute capability 8.6 từ log lịch sử; nvidia-smi driver 610.43.02, KMD 610.62. CUDA compiler 13.3.73, nsys 2026.1.3.425, CMake 4.2.3. Build cache Release, CUDA ON, arch86; executable bench/cli/server có mặt. Không rebuild nên không chứng minh binary tái tạo từ commit hiện tại; hash binary hiện tại được lưu để nhận diện. + +Model `/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf`, SHA256 hiện tại khớp lịch sử: +`6fb2d475c98b4c2cef3e27c4eff4e67b483740cbf983fff320a3b8a5e5f74fe8`. + +Repo đã dirty trước khi làm: NOTES_SMOLVLA.md sửa; off.txt, on.txt và các artifact nghiên cứu untracked. Chỉ thêm thư mục báo cáo này. Không sửa source/model/build flags, không commit/push. + +## Evidence + +`logs/*/audit.json` chứa tổng tính lại, API, diagnostics, top kernels và SHA256 artifact/source/binary. `audit_evidence.py` dùng SQLite mode=ro, đối chiếu cả sáu raw benchmark log và hai node trace. Chạy lại tạo thư mục timestamp mới. + +Artifact gốc được liên kết tại chỗ, không ghi đè. Phase boundary audit nằm ở `logs/20261105T040223880451Z/*-phase-audit.log` và `*.boundaries.json`; `.sqlite` tại đó là symlink tới dữ liệu gốc. Đây là kiểm tra bao phủ các kernel **đã ghi nhận**, không loại bỏ cảnh báo thiếu CUDA events. diff --git a/research-notes/task5-profiling/architecture.md b/research-notes/task5-profiling/architecture.md new file mode 100644 index 00000000..a6b1d5ef --- /dev/null +++ b/research-notes/task5-profiling/architecture.md @@ -0,0 +1,41 @@ +# Kiến trúc từ paper, checkpoint và source + +[Paper SmolVLA, mục 3.1](https://arxiv.org/html/2506.01844v1#S3.SS1) mô tả VLM nhỏ kết hợp action expert flow matching, giảm visual token, cắt tầng và attention xen kẽ. Không lấy cấu hình minh họa paper thay cho checkpoint này. Metadata gốc: [smolvla-metadata.json](../smolvla-followup-20261104/smolvla-metadata.json); source: [smolvla.cpp](../../src/models/smolvla.cpp). + +```mermaid +flowchart TD + I["2 RGB views 512×512×3"] --> P["Preprocess CHW; từng view"] + P --> V["SigLIP: patch16; 1024×768; 12 layers"] + V --> C["Post norm; shuffle4: 64×12288; linear →64×960"] + T["16 instruction token IDs →16×960; default pad48"] --> X + S["8 state values; padded32; normalize; project →1×960"] --> X + C --> X["Concat prefix: default177×960; PHASE145×960"] + X --> L["VLM cache-producing graph; 32 layer slots"] + L --> K["K/V per layer; CA K/V reproject once"] + N["Fixed noise 50×32; t=1"] --> A["Action/time projections →50×480"] + A --> E["32 expert layers; even SA, odd CA"] + K --> E + E --> O["RMSNorm; output projector →velocity50×32"] + O --> U["Euler: x_next=x−0.1v; repeat10"] + U --> D{"10 steps?"} + D -- No --> A + D -- Yes --> R["Denormalize first7 columns; padding zero; output50×32"] +``` + +Shapes trong sơ đồ dùng quy ước token×feature để dễ đọc; GGML tensor thường ghi feature trước, ví dụ `[960,64]`. Không phải layout bộ nhớ CHW đều giống quy ước hiển thị này. + +| Module | Input → output | Hàm và dòng hiện tại | +|---|---|---| +| Vision | RGB→CHW float; patch grid32×32; hidden768,12 heads,FFN3072; output1024×768 mỗi view | `predict_impl` 1355–1398; `build_siglip_layer` 311–335 | +| Connector | Shuffle grid32×32→8×8; feature768×16=12288; linear12288→960;64 token/view | `predict_impl` 1371–1374; loader945–986 | +| Language/state | IDs→embedding960; state32 normalized, linear→1 token | 1451–1476; `build_graph`1229–1233 | +| VLM | Prefix177 tokens default hoặc145 PHASE; hidden960,15Q/5KV heads,head_dim64,FFN2560; K/V GGML `[64,5,prefix]` mỗi layer | `build_vlm_layer`689–698; `build_graph`1238–1245 | +| Cross K/V | Cache reshape320×prefix; projected cache dùng lại mọi step | `expert_cross_kv`718–724;1257–1267 | +| Expert | Actions50×32 + time→50×480;32 layers,FFN1280; velocity50×32 | `build_expert_self_attn_layer`701; `build_expert_cross_attn_layer`727;1270–1288 | +| Solver/output | 10 Euler steps,dt=−0.1;50 actions,7 cột thực,25 cột padding |1270–1288;1564–1574 | + +`expert_self_attn`233–234 chọn SA tại index chẵn khi interval=2; SA ghép prefix K/V với action K/V và causal mask. CA chỉ đọc prefix K/V đã reproject, không tương tác action-action trong layer đó. VLM có32 slot dựng graph; backend chỉ thực thi dependency reachable từ output/cache, không mặc định mọi op cuối mỗi layer đều chạy nếu không dùng. + +Vision/VLM chạy một lần mỗi prediction; action expert lặp10 lần. Tăng số step tăng phần expert/solver, không nhân toàn bộ vision lên10. Gần tuyến tính chỉ là giả thuyết chi phí khi các yếu tố khác giữ nguyên; không suy ra chính xác latency từ số step. + +Không có vòng decode từng token ngôn ngữ. “Prefill” ở đây là tính prefix/cache. Action chunk50 vị trí được xử lý trong mỗi bước denoise, không phải sinh từng action token bằng autoregressive text decode. diff --git a/research-notes/task5-profiling/audit_evidence.py b/research-notes/task5-profiling/audit_evidence.py new file mode 100644 index 00000000..cd9d2f90 --- /dev/null +++ b/research-notes/task5-profiling/audit_evidence.py @@ -0,0 +1,140 @@ +"""CPU-only audit of existing Task 5 evidence; never runs inference. + +Usage (repo root): python3 research-notes/task5-profiling/audit_evidence.py +Outputs a NEW timestamped directory; all existing evidence is opened read-only. +""" +from pathlib import Path +import collections +import datetime +import hashlib +import json +import re +import sqlite3 +import statistics +import subprocess + +ROOT = Path(__file__).resolve().parents[2] +BASE = ROOT / 'research-notes/smolvla-followup-20261104' +OUT = Path(__file__).parent / 'logs' / datetime.datetime.now(datetime.timezone.utc).strftime('%Y%m%dT%H%M%S%fZ') + + +def union(intervals): + merged = [] + for start, end in sorted(intervals): + assert end >= start + if merged and start <= merged[-1][1]: + merged[-1][1] = max(end, merged[-1][1]) + else: + merged.append([start, end]) + return merged + + +def trace(path): + db = sqlite3.connect(path.resolve().as_uri() + '?mode=ro', uri=True) + names = dict(db.execute('SELECT id,value FROM StringIds')) + tables = {r[0] for r in db.execute("SELECT name FROM sqlite_master WHERE type='table'")} + if 'CUPTI_ACTIVITY_KIND_GRAPH_TRACE' in tables: + assert db.execute('SELECT count(*) FROM CUPTI_ACTIVITY_KIND_GRAPH_TRACE').fetchone()[0] == 0 + diagnostics = [r[0] for r in db.execute('SELECT text FROM DIAGNOSTIC_EVENT')] if 'DIAGNOSTIC_EVENT' in tables else [] + assert not any(re.search(r'lost|drop', s, re.I) for s in diagnostics), diagnostics + kernels = list(db.execute('SELECT start,end,demangledName,deviceId FROM CUPTI_ACTIVITY_KIND_KERNEL ORDER BY start')) + assert kernels and len({r[3] for r in kernels}) == 1 + groups = collections.defaultdict(lambda: [0, 0]) + top = collections.defaultdict(lambda: [0, 0]) + for start, end, name_id, _ in kernels: + name = names[name_id] + lower = name.lower() + group = 'other' + for label, keys in [('attention_named', ['flash_attn', 'fmha', 'attn_exact', 'k_attn', 'attention']), + ('GEMM_including_attention_products', ['gemm', 'mul_mat', 'wmma', 'mma_sync']), + ('softmax_or_RoPE', ['softmax', 'soft_max', 'rope']), + ('norm', ['norm', 'rms', 'ln_affine', 'ln_modulate'])]: + if any(k in lower for k in keys): + group = label + break + groups[group][0] += 1 + groups[group][1] += end-start + top[name][0] += 1 + top[name][1] += end-start + intervals = [(r[0], r[1]) for r in kernels] + copies = [] + if 'CUPTI_ACTIVITY_KIND_MEMCPY' in tables: + copies = list(db.execute('SELECT start,end,bytes,copyKind FROM CUPTI_ACTIVITY_KIND_MEMCPY')) + intervals.extend((r[0], r[1]) for r in copies) + if 'CUPTI_ACTIVITY_KIND_MEMSET' in tables: + intervals.extend(db.execute('SELECT start,end FROM CUPTI_ACTIVITY_KIND_MEMSET')) + merged = union(intervals) + span = merged[-1][1]-merged[0][0] + active = sum(e-s for s,e in merged) + api = [] + if 'CUPTI_ACTIVITY_KIND_RUNTIME' in tables: + api = [dict(name=names[n], calls=c, summed_ms=t/1e6) for n,c,t in db.execute( + 'SELECT nameId,count(*),sum(end-start) FROM CUPTI_ACTIVITY_KIND_RUNTIME GROUP BY nameId ORDER BY sum(end-start) DESC')] + result = dict(kernel_count=len(kernels), summed_kernel_ms=sum(e-s for s,e,_,_ in kernels)/1e6, + groups={k:dict(calls=v[0], summed_ms=v[1]/1e6) for k,v in groups.items()}, + activity_span_ms=span/1e6, activity_union_ms=active/1e6, + gap_ms=(span-active)/1e6, gap_fraction=(span-active)/span, + max_gap_ms=max((merged[i+1][0]-merged[i][1] for i in range(len(merged)-1)), default=0)/1e6, + memcpy=dict(count=len(copies), bytes=sum(r[2] for r in copies), summed_ms=sum(r[1]-r[0] for r in copies)/1e6), + runtime_api=api, diagnostics=diagnostics, + completeness_warnings=[s for s in diagnostics if 'not all' in s.lower() or 'lost' in s.lower() or 'drop' in s.lower()], + top_kernels=[dict(name=k,calls=v[0],summed_ms=v[1]/1e6) for k,v in sorted(top.items(),key=lambda kv:kv[1][1],reverse=True)[:12]]) + db.close() + return result + + +def main(): + OUT.mkdir(parents=True, exist_ok=False) + runs_path = BASE/'runtime-full-pair/runs.json' + runs = json.loads(runs_path.read_text()) + checked = [] + for r in runs: + p = BASE/f"runtime-full-pair/{r['variant']}-{r['trial']}.log" + text = p.read_text() + match = re.search(r'min ([\d.]+) ms\s+mean ([\d.]+) ms\s+p50 ([\d.]+) ms\s+p90 ([\d.]+) ms\s+vision ([\d.]+) ms', text) + assert match, p + assert list(map(float, match.groups())) == [r[k] for k in ['min_ms','mean_ms','p50_ms','p90_ms','vision_ms']], p + checked.append(p) + benchmark = {name: {k: statistics.median(r[k] for r in runs if r['variant']==name) + for k in ['mean_ms','p50_ms','p90_ms','vision_ms']} + for name in ['defaults','flash-mm']} + traces = {} + for name in benchmark: + path = BASE/f'kernel-traces/{name}.sqlite' + traces[name] = trace(path) + previous = json.loads(path.with_suffix('.summary.json').read_text()) + assert traces[name]['kernel_count'] == previous['kernel_events'] + assert abs(traces[name]['summed_kernel_ms']-previous['summed_kernel_ms']) < 1e-8 + assert abs(traces[name]['gap_fraction']-previous['gap_fraction']) < 1e-12 + checked.extend([path,path.with_suffix('.nsys-rep'),path.with_suffix('.summary.json')]) + phase = {} + for name in benchmark: + paths = sorted((BASE/'phase-suite').glob(name+'-*/result.json')) + assert len(paths)==3 + data = [json.loads(p.read_text()) for p in paths] + assert all(d['warmup']==3 and d['reps']==20 and d['mode']=='phase' for d in data) + phase[name] = {k: statistics.mean(d['summary'][k]['mean'] for d in data) + for k in ['ms_total','ms_vision','ms_prefill','ms_denoise','unaccounted_ms']} + checked.extend(paths) + checked.extend([runs_path, BASE/'smolvla-metadata.json', BASE/'profile_phase.py', + BASE/'trace_kernels.py',ROOT/'src/models/smolvla.cpp',ROOT/'src/serving/vla-bench.cpp', + ROOT/'build-cuda/libvla.so', ROOT/'build-cuda/vla-bench']) + hashes = {str(p.relative_to(ROOT)): hashlib.file_digest(p.open('rb'),'sha256').hexdigest() for p in checked} + result = dict(commit=subprocess.check_output(['git','rev-parse','HEAD'],cwd=ROOT,text=True).strip(), + scope='Offline reanalysis of historical evidence; no new GPU measurements', + benchmark_median_of_three_run_statistics=benchmark, + phase_mean_of_three_20_prediction_runs=phase,traces=traces,sha256=hashes) + (OUT/'audit.json').write_text(json.dumps(result,indent=2)+'\n') + (OUT/'git-status.txt').write_text(subprocess.check_output(['git','--no-optional-locks','status','--short','--branch'],cwd=ROOT,text=True)) + print('PASS: six benchmark logs match JSON; both node traces match previous kernel totals/gaps.') + print('Benchmark median of three run statistics:',json.dumps(benchmark)) + print('PHASE mean of 60 samples per configuration:',json.dumps(phase)) + for name,t in traces.items(): + print(name,'kernels',t['kernel_count'],'kernel ms',t['summed_kernel_ms'],'gap %',100*t['gap_fraction']) + print('Top CUDA APIs:',json.dumps(t['runtime_api'][:6])) + print('Trace completeness warnings:',json.dumps(t['completeness_warnings'])) + print('Full evidence:',OUT/'audit.json') + + +if __name__ == '__main__': + main() diff --git a/research-notes/task5-profiling/baseline-results.md b/research-notes/task5-profiling/baseline-results.md new file mode 100644 index 00000000..e0e77bef --- /dev/null +++ b/research-notes/task5-profiling/baseline-results.md @@ -0,0 +1,25 @@ +# Baseline và protocol lịch sử + +Raw logs: `../smolvla-followup-20261104/runtime-full-pair/{defaults,flash-mm}-{0,1,2}.log`; JSON commands: [runs.json](../smolvla-followup-20261104/runtime-full-pair/runs.json). Audit mới parse cả6log và khớp các thống kê đã lưu. + +Cùng model gốc,2views512×512,16token,10steps,3warmup,20reps/process;3lượt xen kẽ AB/BA/AB. State/noise synthetic cố định từ `src/serving/vla-bench.cpp:165–171`. Không dùng ảnh robot thật để suy ra latency end-to-end ứng dụng. + +```bash +build-cuda/vla-bench --ckpt /home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf --images 2 --size 512 --tokens 16 --warmup 3 --reps 20 +# Cặp optimized: cùng command, thêm +# --flash-attn --mm-prec default +``` + +`--images` số view;`--size` cạnh ảnh;`--tokens` số token synthetic;`--warmup` loại3lượt đầu khỏi summary;`--reps`20lượt đo;`--flash-attn` bật vision flash path;`--mm-prec default` bỏ ép accumulation F32 tại các LM matmul được `mm_w` điều khiển. Không phải cùng mọi lựa chọn precision: checkpoint giữ nguyên, runtime arithmetic thay đổi có chủ đích và output có sai khác. + +| Trial | Defaults mean/p50/p90 ms | Flash-mm mean/p50/p90 ms | +|---|---|---| +|0|119.0 /119.1 /120.6|92.4 /92.5 /93.0| +|1|113.9 /113.9 /115.4|91.5 /91.5 /91.8| +|2|114.1 /114.1 /115.0|93.3 /93.3 /94.2| + +Báo cáo dùng median của3run means=114,1/92,4; median của3run p50=114,1/92,5; median của3run p90=115,4/93,0. **Không phải percentile gộp60samples** (bench raw từng sample không được lưu trong log này). Không chọn minimum mean trong selected.json làm kết quả đại diện. Đây là baseline runtime default trên working tree lịch sử, không khẳng định là upstream original commit chưa sửa. + +Trace có overhead: default-path node trace `ms_total` mean126,639/95,672; không thay thế benchmark không trace. Điều kiện GPU lịch sử có telemetry JSONL nhưng không đảm bảo toàn máy không có nhiễu mọi thời điểm; audit này chưa xác minh toàn bộ telemetry hoặc Windows processes. + +Model hash kiểm tra lại khớp. Default profile log ghi BF16 tower;416 LM GEMM weights widened F32;weight buffer1763,1MiB. Flash-mm weight buffer985,0MiB. Đây là lượng allocation buffer được log, không peak resident VRAM. diff --git a/research-notes/task5-profiling/comparison.md b/research-notes/task5-profiling/comparison.md new file mode 100644 index 00000000..cbd7e28e --- /dev/null +++ b/research-notes/task5-profiling/comparison.md @@ -0,0 +1,37 @@ +# Defaults vs ứng viên runtime flash-mm + +Best ở đây là ứng viên runtime giữ10steps đã có đo lặp, không best quality hoặc mọi cấu hình khả dĩ. Precision arithmetic khác có chủ đích; model/input/steps giữ nguyên. Không gộp số từ các population khác nhau. + +| Metric | Baseline | Flash-mm | Difference best−base | +|---|---:|---:|---:| +|E2E predict mean (median 3 runs), ms|114.100|92.400|-21.700| +|p50 (median 3 run p50), ms|114.100|92.500|-21.600| +|p90 (median 3 run p90), ms|115.400|93.000|-22.400| +|Vision+connector wall (median 3 means), ms|56.100|43.600|-12.500| +|VLM-only wall default|N/A|N/A|Default không tách| +|Action-expert-only wall|N/A|N/A|Denoise gồm crossKV/solver| +|Denoising-only wall default|N/A|N/A|Không tách default| +|Peak process resident VRAM|N/A|N/A|NVML process memory N/A| +|Exact full attention time|N/A|N/A|Kernel-name không đủ semantic mapping| +|Whole-GPU idle fraction|N/A|N/A|Target trace không bao phủ mọi process/events| + +Mean đại diện giảm21,7ms =19,02%,speedup1,235×. Vision giảm12,5ms; đây là chênh median thống kê,không phải phân rã cặp sample chính xác. + +Các phép đo riêng (không cộng vào bảng default wall): + +| Metric / population | Defaults | Flash-mm | +|---|---:|---:| +|PHASE CPU prefill mean60samples,ms|20.891|15.131| +|PHASE CPU denoise+crossKV mean60samples,ms|108.414|84.584| +|PHASE trace vision+connector GPU active mean20,ms|52.708|40.520| +|PHASE trace prefill GPU active mean20,ms|14.956|11.687| +|PHASE trace denoise+crossKV GPU active mean20,ms|36.318|33.475| +|Default-path trace GEMM group summed20,ms|1317.749|898.702| +|Default-path trace attention-named group summed20,ms|129.942|232.978| +|Default-path trace gaps recorded activity,%|10.541|9.127| +|Peak traced CUDA allocation,MiB (3memory traces each)|1912.469|1040.268| +|LIBERO screening success,40episodes|38|35| + +Allocation metric: Device+Device Static tracked allocations,không resident VRAM. Nguồn `../smolvla-vram-20261104/memory-summary.json`, `../smolvla-followup-20261104/memory-flash-mm/memory-summary.json`;không tính lại memory lifecycle trong audit mới. GPU phase active được kiểm tra lại với boundary analyzer; không tính host/copy/gaps. Kernel categories có completeness warning. + +Kernel mix thay đổi:attention-named tăng không đồng nghĩa attention tổng chậm hơn;explicit softmax/matmul có thể chuyển sang fused attention. Chưa semantic attribution toàn bộ nên không kết luận bottleneck chuyển module nào. GEMM vẫn là nhóm tên có tổng lớn nhất trong recorded events; chưa chứng minh compute-bound hay tensor-core saturation. diff --git a/research-notes/task5-profiling/explanation.md b/research-notes/task5-profiling/explanation.md new file mode 100644 index 00000000..aae0852f --- /dev/null +++ b/research-notes/task5-profiling/explanation.md @@ -0,0 +1,43 @@ +# Giải thích toàn bộ bằng ví dụ + +## Từ camera tới hành động + +**Inference** là dùng trọng số đã học để tính output, không cập nhật trọng số. Trong bài này một inference nhận2ảnh, instruction và state rồi trả chunk50actions. Latency chunk không đồng nghĩa thời gian chạy robot50bước. + +**Vision encoder** biến ảnh thành feature: ảnh512 chia patch16 tạo1024patch. SigLIP dùng attention/FFN để mỗi patch mang thông tin ngữ cảnh, ví dụ nhận ra vật cần gắp.1024tokens khiến attention lớn; đây là phần tiêu tốn đáng kể trong số đo. + +**Connector** nối không gian feature ảnh với VLM. Gom nhóm4×4patch thành feature12288 rồi project960, còn64tokens mỗi ảnh. Ví dụ2ảnh cho128visual tokens. Token ít hơn làm prefix attention nhỏ hơn; connector không được đo riêng trong ms_vision. + +**VLM** là mạng vision-language: ghép visual tokens, instruction embeddings và state token, tạo K/V context cho expert. Với16token ngôn ngữ, default pad48 nên prefix128+48+1=177;PHASE chỉ145. Do đó chỉ bật timing cũng có thể thay workload. + +**Attention** cho mỗi query lấy tổng có trọng số của values theo mức phù hợp với keys: softmax(QKᵀ/√d)V. Ví dụ token lệnh “cup” đối chiếu vùng ảnh chứa cốc. Self-attention xử lý quan hệ trong chuỗi; cross-attention expert đọc context prefix. Chi phí có matrix multiply, softmax, layout và memory traffic; không chỉ một kernel tên attention. + +**Action expert** chuyển context và action đang ước lượng thành velocity. Ở checkpoint này hidden480,32layers,SA/CA xen kẽ; output50×32, chỉ7cột thực. Nó chạy lại mỗi bước denoise nên giảm số bước tác động trực tiếp số lần tính expert. + +**Denoising / flow matching** bắt đầu từ noise rồi tích phân trường velocity đã học. Mỗi bước x←x−0.1v;10bước để ra chunk. Đây là suy luận flow matching, không phải lọc nhiễu ảnh và không phải sampling text. Giảm10→3bước có thể nhanh nhưng đổi độ chính xác, không phải tối ưu kernel tương đương. + +**Prefill/decode:** prefill ở repo là tính context K/V một lần. Không có vòng decode instruction từng token; expert xử lý toàn chunk ở từng solver step. Cache được dùng lại nên không chạy lại vision/VLM10lần. + +## GPU làm việc thế nào + +**GEMM** là phép nhân ma trận tổng quát, ví dụ token feature X nhân weight W trong linear projector. Cả FFN lẫn QKᵀ/AV của attention đều có thể dùng matmul, nên GEMM≠FFN/VLM. Đây là nhóm lớn nhất trong thời gian kernel được trace, chưa chứng minh giới hạn FLOPs. + +**CUDA kernel** là hàm được CPU gửi để nhiều GPU threads thực thi; ví dụ softmax1024phần tử mỗi hàng. Một layer có nhiều kernel; nhiều kernel hơn không tự động chậm hơn: flash-mm có194100events so với160020 nhưng tổng duration thấp hơn. + +**Kernel launch overhead** là chi phí gửi/lập lịch công việc;ví dụ CPU gọi cudaGraphLaunch để replay nhiều node. API duration không phải latency từ CPU tới GPU bắt đầu, cũng không phải pure launch overhead. Trace này ghi60graph launches/20predictions; tổng API khoảng227,5/227,9ms dưới profiler. Không quy toàn số này thành chi phí loại bỏ được. + +**CPU/GPU synchronization** là host chờ công việc GPU xong hoặc đảm bảo thứ tự. `graph_compute` đồng bộ trước khi trả, nên CPU timer thấy cả thời gian chờ.360StreamSynchronize API calls có tổng2096,3/1582,8ms nhưng overlap kernel execution; không cộng thêm vào kernel time. + +**GPU idle gap** là khoảng giữa activity intervals. Ta lấy hợp kernel+memcpy+memset để không đếm overlap hai lần.10,54%/9,13% là khoảng không có activity của tiến trình trong trace, không chứng minh GPU toàn máy nhàn vì có thể có process khác hoặc event thiếu. + +**Latency p50/p90** là phân vị: p50 trung vị, p90 có khoảng90%samples không vượt giá trị đó (tùy nội suy). Ví dụ p90 cao hơn mean nhiều báo tail spikes. Median của3run p90 không phải p90 gộp60samples. Phase số lớn/outliers không được thay cho steady-state default benchmark. + +**NVTX** là annotation CPU code, ví dụ range “vision”, giúp nối timeline với module. Nó không tự đo toàn bộ kernel GPU, cần correlation và xử lý bất đồng bộ/graph. Không thêm NVTX ở lượt này vì đã có source/cache boundary để phân tích thận trọng; nếu cần connector riêng thì phải instrument và kiểm chứng overhead. + +**Nsight Systems** ghi timeline CPU API, GPU kernels, transfers và annotations để xem công việc nối tiếp/chồng lấp/chờ. Nó giúp tìm nơi đáng điều tra; hardware counters chi tiết/occupancy không được suy ra từ bảng duration. **WSL2 profiling** chạy qua Windows driver và Linux guest; CLI/CUPTI hoạt động trong artifact này nhưng NVML không đầy đủ, hardware tracing unavailable và có completeness warning. Không kết luận mọi tính năng WSL đều không dùng được. + +## Đọc kết quả đúng + +Quan sát: runtime flash-mm nhanh hơn khoảng19%;vision wall56,1→43,6ms;GEMM recorded1317,75→898,70ms/20predict;softmax/RoPE446,45→39,60ms. Giải thích hợp lý: flash path thay phép tính vision attention, mm precision đổi kernel/weights. Chưa chứng minh từng phần đóng góp bao nhiêu bằng thí nghiệm đơn biến trong cặp này. + +Chất lượng:screening defaults38/40,flash-mm35/40;không đủ để kết luận quan hệ nhân quả hoặc ý nghĩa thống kê. Best runtime là tiêu chí khác với best robot success. Giữ defaults làm mốc chất lượng và báo tradeoff rõ ràng. diff --git a/research-notes/task5-profiling/limitations.md b/research-notes/task5-profiling/limitations.md new file mode 100644 index 00000000..84a6ce5f --- /dev/null +++ b/research-notes/task5-profiling/limitations.md @@ -0,0 +1,35 @@ +# Giới hạn và mentor review + +## Observed facts + +Audit CPU mới khớp6log benchmark, hai tổng kernel/gap từ SQLite. Model SHA256 khớp. Đã chạy lại phase-boundary analyzer trên symlink tới SQLite cũ, kết quả exit0; kiểm tra count/size K/V copies và kernel coverage của sự kiện lưu. Không chỉnh source/instrumentation, không rebuild, không chạy GPU workload mới. + +`nsys status --environment`: process-tree CPU profiling OK; system-wide Fail; paranoid2; LBR unavailable. Đây là check CPU, không chứng minh GPU hardware counters dùng được. Installed nsys help có CUDA graph node tracing; node tracing tăng overhead. Không thu counters/SM utilization/occupancy/bandwidth, không khẳng định compute-bound hoặc memory-bound chỉ từ tên kernel. + +Diagnostic của cả hai kernel traces: `Not all CUDA events might have been collected.`; `CUDA hardware tracing is not supported on this system. A legacy (software instrumented) trace was collected instead.`; Unified Memory không trace được vì peer-to-peer không hỗ trợ. Không có diagnostic chứa lost/drop không đủ chứng minh complete. Mọi tỷ lệ/tổng/gap là conditional trên events đã ghi nhận; thiếu activity có thể phóng đại gaps hoặc đổi tỷ lệ nhóm. + +[NVIDIA CUDA on WSL guide](https://docs.nvidia.com/cuda/wsl-user-guide/index.html) xác nhận hỗ trợ Nsight Systems CLI/CUPTI và giới hạn NVML. Trang đọc ngày05/11 hiện là13.5; máy dùng13.3. Không coi trang docs mới là phép xác minh tính năng chính xác mọi phiên bản. Nsys log thực tế là bằng chứng quan trọng hơn cho trace cụ thể. + +## Tests và blockers + +`ctest -N` liệt kê foldquant_cuda_op, foldquant_cuda_op_ref, fused_cuda_ops. `build-cuda/Testing/Temporary/LastTestsFailed.log` mtime04/11 10:05 +07 vẫn ghi11:foldquant_cuda_op và13:fused_cuda_ops. LastTest.log mtime05/11 10:52 không có nội dung match hai tên trong lần đọc. CTest log là lịch sử; chưa xác minh fail còn tái hiện, cũng chưa có bằng chứng đã sửa. Không báo test pass. + +Không chạy lại vì GPU đang được server dùng. Không tự kill server. Chưa thu fresh benchmark/trace/tests trên GPU rảnh; chưa xác minh Windows build; chưa rebuild chứng minh binary/source khớp. Không có pure connector/action-expert-only timing, exact semantic attention time hay peak process resident VRAM. + +## Hypotheses và recommendations + +Vision softmax giảm cùng chuyển sang flash path gợi ý giảm materialization/traffic hữu ích; chưa có hardware counters chứng minh bandwidth bottleneck. Gap có thể liên quan host copies/setup/sync hoặc instrumentation/scheduling; chưa correlation đầy đủ từng gap→CPU event để kết luận CPU bottleneck. Cần GPU rảnh và trace mới xử lý/công bố completeness warning; dùng source/NVTX correlation nếu cần exact module attribution, đo instrumentation overhead. + +## Mentor review + +| Yêu cầu mentor | Trạng thái | +|---|---| +|Kiến trúc paper + source, shapes/denoise|Có; cấu hình checkpoint được phân biệt paper| +|Phase latency và giới hạn|Có dữ liệu cũ được tính lại, timer/synchronization/padding đã giải thích| +|Default vs optimized runtime|Có3run/cấu hình, giữ10steps; chưa chứng minh upstream original hoặc best quality| +|Nsys GEMM/attention/other|Có phân nhóm tên trên trace lưu; exact attention N/A; completeness có cảnh báo| +|Khoảng trống giữa kernels|Có interval union; không chứng minh toàn GPU idle/nguyên nhân CPU| +|WSL2 limitations|Có log cụ thể và docs chính thức| +|Fresh reproducibility, tests|Chưa: GPU bận; test cũ fail chưa rerun| + +**Chưa tuyên bố Task5 hoàn tất vô điều kiện.** Phần phân tích và báo cáo có thể review; phần xác nhận đo mới, provenance original/best và trace completeness còn mở. Không che phần thiếu bằng số liệu tự tạo. diff --git a/research-notes/task5-profiling/logs/20261105T040223880451Z/audit.json b/research-notes/task5-profiling/logs/20261105T040223880451Z/audit.json new file mode 100644 index 00000000..a045f0cc --- /dev/null +++ b/research-notes/task5-profiling/logs/20261105T040223880451Z/audit.json @@ -0,0 +1,348 @@ +{ + "commit": "92d134a7557f4580f3b8c14042c1bad61c3f1d7c", + "scope": "Offline reanalysis of historical evidence; no new GPU measurements", + "benchmark_median_of_three_run_statistics": { + "defaults": { + "mean_ms": 114.1, + "p50_ms": 114.1, + "p90_ms": 115.4, + "vision_ms": 56.1 + }, + "flash-mm": { + "mean_ms": 92.4, + "p50_ms": 92.5, + "p90_ms": 93.0, + "vision_ms": 43.6 + } + }, + "phase_mean_of_three_20_prediction_runs": { + "defaults": { + "ms_total": 235.68175404866537, + "ms_vision": 57.53474769592285, + "ms_prefill": 20.891171264648438, + "ms_denoise": 108.41351114908855, + "unaccounted_ms": 48.842322794596356 + }, + "flash-mm": { + "ms_total": 187.6772310892741, + "ms_vision": 43.98483416239421, + "ms_prefill": 15.13095547358195, + "ms_denoise": 84.58441422780355, + "unaccounted_ms": 43.977027384440106 + } + }, + "traces": { + "defaults": { + "kernel_count": 160020, + "summed_kernel_ms": 2260.227312, + "groups": { + "other": { + "calls": 72800, + "summed_ms": 326.800355 + }, + "GEMM_including_attention_products": { + "calls": 48160, + "summed_ms": 1317.748686 + }, + "softmax_or_RoPE": { + "calls": 11340, + "summed_ms": 446.447784 + }, + "norm": { + "calls": 14300, + "summed_ms": 39.28837 + }, + "attention_named": { + "calls": 13420, + "summed_ms": 129.942117 + } + }, + "activity_span_ms": 2541.98674, + "activity_union_ms": 2274.032569, + "gap_ms": 267.954171, + "gap_fraction": 0.10541131736981445, + "max_gap_ms": 16.748886, + "memcpy": { + "count": 340, + "bytes": 279408480, + "summed_ms": 17.339642 + }, + "runtime_api": [ + { + "name": "cudaStreamSynchronize_v3020", + "calls": 360, + "summed_ms": 2096.295227 + }, + { + "name": "cudaGraphLaunch_v10000", + "calls": 60, + "summed_ms": 227.510787 + }, + { + "name": "cudaMemcpyAsync_v3020", + "calls": 300, + "summed_ms": 31.280731 + }, + { + "name": "cuProfilerStart", + "calls": 1, + "summed_ms": 0.035788 + }, + { + "name": "cudaDeviceSynchronize_v3020", + "calls": 1, + "summed_ms": 0.0113 + } + ], + "diagnostics": [ + "Process was launched by the profiler, see /tmp/nvidia/nsight_systems/quadd_session_1084041/streams/pid_84054_stdout.log and stderr.log for program output", + "Common injection library initialized successfully.", + "Buffers holding CUDA trace data will be flushed on CudaProfilerStop() call. See --flush-on-cudaprofilerstop to control this behavior.", + "Loaded CUPTI library: /opt/nvidia/nsight-systems/2026.1.3/target-linux-x64/libcupti.so.13.3", + "Enabling trace for device graph launch", + "CUDA injection initialized successfully.", + "CUDA device 0: Unified Memory cannot be traced on devices that don't support peer-to-peer transfers.Please verify that SLI/NVLink is functioning properly.", + "Profiling has started.", + "Profiling started due to cudaProfilerStart API invoked in the application.", + "Not all CUDA events might have been collected.", + "Number of CUDA events collected: \t161642.", + "Profiling has stopped.", + "CUDA hardware tracing is not supported on this system. A legacy (software instrumented) trace was collected instead.", + "Number of CUPTI events produced: \t162024, CUPTI buffers: 50.", + "S3EventHandler: S3 trace events were not found, not creating counters" + ], + "top_kernels": [ + { + "name": "void ::k_softmax_rows_loop<(int)1024, float>(float *, int, int, float, const T2 *, int, long)", + "calls": 480, + "summed_ms": 402.821843 + }, + { + "name": "void cutlass::Kernel2(T1::Params)", + "calls": 10820, + "summed_ms": 368.373173 + }, + { + "name": "void cutlass::Kernel2(T1::Params)", + "calls": 20480, + "summed_ms": 301.899495 + }, + { + "name": "ampere_s1688gemm_bf16_128x128_ldg8_stages_32x1_tn", + "calls": 960, + "summed_ms": 204.174625 + }, + { + "name": "void cutlass::Kernel2(T1::Params)", + "calls": 13000, + "summed_ms": 195.835265 + }, + { + "name": "ampere_s1688gemm_bf16_64x128_sliced1x2_ldg8_tn", + "calls": 1920, + "summed_ms": 125.511352 + }, + { + "name": "void cutlass::Kernel2(T1::Params)", + "calls": 480, + "summed_ms": 114.616958 + }, + { + "name": "void flash_attn_ext_f16<(int)64, (int)64, (int)64, (int)1, (bool)0, (bool)0, (bool)0>(const char *, const char *, const char *, const char *, const char *, const int *, float *, float2 *, float, float, float, float, unsigned int, float, int, uint3, int, int, int, int, int, int, int, int, int, int, int, long, int, int, long, int, int, int, int, int, long)", + "calls": 7020, + "summed_ms": 109.06193 + }, + { + "name": "void cublasLt::splitKreduce_kernel<(int)32, (int)16, int, float, float, float, float, (bool)0, float, float, float, (bool)1, (bool)0, (bool)0, (bool)0>(cublasLt::cublasSplitKParams, const T4 *, const T10 *, T9 *, T5 *, const T6 *, const T6 *, const T11 *, const T4 *, T11 *, void *, long, T6 *, int *, T6 *, T6 *, const T6 *, const T6 *, const T6 *, const T6 *, const T6 *)", + "calls": 23540, + "summed_ms": 79.127762 + }, + { + "name": "void rope_neox<(bool)1, (bool)0, float, float>(const T3 *, T4 *, int, int, int, int, int, int, int, int, int, int, int, const int *, float, float, float, rope_corr_dims, float, const float *, const long *, int, bool)", + "calls": 10860, + "summed_ms": 43.625941 + }, + { + "name": "void k_bin_bcast<&op_add, float, float, float, const float *>(const T2 *, const T3 *, T4 *, unsigned int, unsigned int, unsigned int, uint3, uint3, uint3, uint3, uint3, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, T5...)", + "calls": 15160, + "summed_ms": 38.935014 + }, + { + "name": "void rms_norm_f32<(int)256, (bool)1, (bool)0, (bool)0>(const float *, float *, int, long, long, long, float, const float *, long, long, long, uint3, uint3, uint3, uint3, const float *, long, long, long, uint3, uint3, uint3, uint3, float)", + "calls": 14260, + "summed_ms": 38.244493 + } + ] + }, + "flash-mm": { + "kernel_count": 194100, + "summed_kernel_ms": 1733.184807, + "groups": { + "other": { + "calls": 106880, + "summed_ms": 503.439804 + }, + "GEMM_including_attention_products": { + "calls": 47200, + "summed_ms": 898.701638 + }, + "norm": { + "calls": 15260, + "summed_ms": 58.460772 + }, + "attention_named": { + "calls": 13900, + "summed_ms": 232.977641 + }, + "softmax_or_RoPE": { + "calls": 10860, + "summed_ms": 39.604952 + } + }, + "activity_span_ms": 1921.820922, + "activity_union_ms": 1746.417765, + "gap_ms": 175.403157, + "gap_fraction": 0.09126925146462736, + "max_gap_ms": 9.262489, + "memcpy": { + "count": 340, + "bytes": 279408480, + "summed_ms": 16.39378 + }, + "runtime_api": [ + { + "name": "cudaStreamSynchronize_v3020", + "calls": 360, + "summed_ms": 1582.759689 + }, + { + "name": "cudaGraphLaunch_v10000", + "calls": 60, + "summed_ms": 227.927385 + }, + { + "name": "cudaMemcpyAsync_v3020", + "calls": 300, + "summed_ms": 33.052918 + }, + { + "name": "cudaDeviceSynchronize_v3020", + "calls": 1, + "summed_ms": 0.007867 + }, + { + "name": "cuProfilerStart", + "calls": 1, + "summed_ms": 0.007172 + } + ], + "diagnostics": [ + "Process was launched by the profiler, see /tmp/nvidia/nsight_systems/quadd_session_1084189/streams/pid_84203_stdout.log and stderr.log for program output", + "Common injection library initialized successfully.", + "Buffers holding CUDA trace data will be flushed on CudaProfilerStop() call. See --flush-on-cudaprofilerstop to control this behavior.", + "Loaded CUPTI library: /opt/nvidia/nsight-systems/2026.1.3/target-linux-x64/libcupti.so.13.3", + "Enabling trace for device graph launch", + "CUDA injection initialized successfully.", + "CUDA device 0: Unified Memory cannot be traced on devices that don't support peer-to-peer transfers.Please verify that SLI/NVLink is functioning properly.", + "Profiling has started.", + "Profiling started due to cudaProfilerStart API invoked in the application.", + "Not all CUDA events might have been collected.", + "Number of CUDA events collected: \t195722.", + "Profiling has stopped.", + "CUDA hardware tracing is not supported on this system. A legacy (software instrumented) trace was collected instead.", + "Number of CUPTI events produced: \t196107, CUPTI buffers: 50.", + "S3EventHandler: S3 trace events were not found, not creating counters" + ], + "top_kernels": [ + { + "name": "void cutlass::Kernel2(T1::Params)", + "calls": 32000, + "summed_ms": 308.177763 + }, + { + "name": "void flash_attn_ext_f16<(int)64, (int)64, (int)64, (int)1, (bool)0, (bool)0, (bool)0>(const char *, const char *, const char *, const char *, const char *, const int *, float *, float2 *, float, float, float, float, unsigned int, float, int, uint3, int, int, int, int, int, int, int, int, int, int, int, long, int, int, long, int, int, int, int, int, long)", + "calls": 7500, + "summed_ms": 214.348223 + }, + { + "name": "void k_bin_bcast<&op_add, float, float, float, const float *>(const T2 *, const T3 *, T4 *, unsigned int, unsigned int, unsigned int, uint3, uint3, uint3, uint3, uint3, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, T5...)", + "calls": 19960, + "summed_ms": 165.302269 + }, + { + "name": "void cutlass::Kernel2(T1::Params)", + "calls": 480, + "summed_ms": 121.614369 + }, + { + "name": "ampere_s1688gemm_bf16_64x128_sliced1x2_ldg8_tn", + "calls": 1920, + "summed_ms": 117.349684 + }, + { + "name": "void convert_unary_cont_vec4(const void *, T2 *, long)", + "calls": 45700, + "summed_ms": 115.733686 + }, + { + "name": "ampere_s16816gemm_bf16_128x128_ldg8_stages_32x5_tn", + "calls": 1240, + "summed_ms": 96.10649 + }, + { + "name": "ampere_s1688gemm_bf16_128x128_ldg8_stages_32x1_tn", + "calls": 480, + "summed_ms": 92.811952 + }, + { + "name": "ampere_s16816gemm_bf16_64x64_ldg8_stages_64x5_tn", + "calls": 6440, + "summed_ms": 77.102792 + }, + { + "name": "void cpy_scalar<&cpy_1_scalar>(const char *, char *, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long)", + "calls": 1520, + "summed_ms": 65.469737 + }, + { + "name": "ampere_s16816gemm_bf16_128x64_ldg8_stages_32x6_tn", + "calls": 1860, + "summed_ms": 57.186579 + }, + { + "name": "void k_bin_bcast<&op_mul, float, float, float, const float *>(const T2 *, const T3 *, T4 *, unsigned int, unsigned int, unsigned int, uint3, uint3, uint3, uint3, uint3, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, T5...)", + "calls": 8020, + "summed_ms": 40.132635 + } + ] + } + }, + "sha256": { + "research-notes/smolvla-followup-20261104/runtime-full-pair/defaults-0.log": "d780a945746ff7abe107aa09171cce39f035898ed3fdc8feab5152b58e31500d", + "research-notes/smolvla-followup-20261104/runtime-full-pair/flash-mm-0.log": "e85f39b8c1aabdff16c5f2ab7cf502a3b3edbe1ee4570bcf7b141841eb276ac8", + "research-notes/smolvla-followup-20261104/runtime-full-pair/flash-mm-1.log": "e7c392fa9345521e185b92c874902ae890518b50940864f96774a7d5e91cff0d", + "research-notes/smolvla-followup-20261104/runtime-full-pair/defaults-1.log": "170c504454e9cc936d2c51dbc5381c3bb2fa09161b3ba93d9317dae951aad5a5", + "research-notes/smolvla-followup-20261104/runtime-full-pair/defaults-2.log": "c1c805eafd68df1c3e53eccecc45a077c04e8efdd5e3ae2df0a285540a20e0b0", + "research-notes/smolvla-followup-20261104/runtime-full-pair/flash-mm-2.log": "b881b88959990e58549eb6b2469ec2e9693d31119881be874148822731998fae", + "research-notes/smolvla-followup-20261104/kernel-traces/defaults.sqlite": "23201813a4bdcc0c7738dd431b1bfe67f1dc9c89a2d5560198e56a9f8d5014cf", + "research-notes/smolvla-followup-20261104/kernel-traces/defaults.nsys-rep": "4a27c42333bfb27b2ef9b04f014bfcdab9f9b9e33d3fecd82422aae72b1bf260", + "research-notes/smolvla-followup-20261104/kernel-traces/defaults.summary.json": "ba9afb8b73dee474ffeb2d0383fff377396d77d131df3ddcefc495376aecd770", + "research-notes/smolvla-followup-20261104/kernel-traces/flash-mm.sqlite": "d2dea5990cbbc96c6cba636dfc7e0a826510a19279144d2010d3d9ca77ce78f7", + "research-notes/smolvla-followup-20261104/kernel-traces/flash-mm.nsys-rep": "b30304fd9ac6ad37fb9c4a9b2960ba7447e60e459e2d5bb31a86bb9d0b776a41", + "research-notes/smolvla-followup-20261104/kernel-traces/flash-mm.summary.json": "0445978d6037645e6de3c54a01105aefc00a7513b2678370d85b64a9b7d3087a", + "research-notes/smolvla-followup-20261104/phase-suite/defaults-0/result.json": "8b585d4f8f8194727c7bf85e8937a2b3ce6935017c2c099e6e7e0a76c23aed57", + "research-notes/smolvla-followup-20261104/phase-suite/defaults-1/result.json": "184812ce01fc3eecd2083e9d673a3473b901838c56c281a1f16c28a16de7f3f3", + "research-notes/smolvla-followup-20261104/phase-suite/defaults-2/result.json": "6fcc948857ce3a347d452aa582253a6642044a24866c3101454768314b7c49c3", + "research-notes/smolvla-followup-20261104/phase-suite/flash-mm-0/result.json": "7fa9911145be7deffe36e6d4b5022a5e1ee0adb7d11e044140ce0856d540ca56", + "research-notes/smolvla-followup-20261104/phase-suite/flash-mm-1/result.json": "b9df572c73d12e5e0dd336bc7908efa7c9d2b342ed0104e0428619ad84bb542a", + "research-notes/smolvla-followup-20261104/phase-suite/flash-mm-2/result.json": "d703fcfbfa476027e67da5a087e44e8acc252d4e5de554bb74cffefb19699893", + "research-notes/smolvla-followup-20261104/runtime-full-pair/runs.json": "34bb6a7c9ee06da7f8764046e09186a06d76df3972235e57ff5fcbb94ef456a1", + "research-notes/smolvla-followup-20261104/smolvla-metadata.json": "5194ba386fee799c73afbf79b432c698ecae09c42092a459ba8c8bfae418f3cd", + "research-notes/smolvla-followup-20261104/profile_phase.py": "e79e1216f62e5dd0192287efb41b2c605083192d3c32e8022a480e3e2c06e0ff", + "research-notes/smolvla-followup-20261104/trace_kernels.py": "d3abd5d637a3a517b5e55ffd69dc58cd59f4223e4c2567a19065eb899b9b8034", + "src/models/smolvla.cpp": "95b7435e76b259703b992c480f362cb048185f05279b5fbdcc0ea10c87c1e675", + "src/serving/vla-bench.cpp": "92e6d683bc9024b65ce9d05318c22a6be96314adcb8ab5a84e079064ed6a919e", + "build-cuda/libvla.so": "8c6f2e404ee19a2f14c54ffb3d30a238091799904714d5fa882b37e86e9986da", + "build-cuda/vla-bench": "35fcd3cf99a6a6f0c8bc1cdfba45dc77aa2b65c979c423aabbdc5d0449f21ffc" + } +} diff --git a/research-notes/task5-profiling/logs/20261105T040223880451Z/defaults-phase-audit.log b/research-notes/task5-profiling/logs/20261105T040223880451Z/defaults-phase-audit.log new file mode 100644 index 00000000..6f93a4bc --- /dev/null +++ b/research-notes/task5-profiling/logs/20261105T040223880451Z/defaults-phase-audit.log @@ -0,0 +1,68 @@ +{ + "vision_plus_connector": { + "gpu_active_kernel_ms": { + "mean": 52.70752485, + "p50": 52.776708, + "p90": 53.2094109 + }, + "gpu_kernel_span_ms": { + "mean": 52.96830565, + "p50": 53.052391, + "p90": 53.5758344 + }, + "kernel_count": { + "mean": 460, + "p50": 460.0, + "p90": 460.0 + }, + "direct_kernel_count": { + "mean": 0, + "p50": 0.0, + "p90": 0.0 + } + }, + "kv_prefill": { + "gpu_active_kernel_ms": { + "mean": 14.95621615, + "p50": 14.886264, + "p90": 15.221531500000001 + }, + "gpu_kernel_span_ms": { + "mean": 15.9025081, + "p50": 16.1178595, + "p90": 16.8043822 + }, + "kernel_count": { + "mean": 723, + "p50": 723.0, + "p90": 723.0 + }, + "direct_kernel_count": { + "mean": 469.95, + "p50": 723.0, + "p90": 723.0 + } + }, + "denoise_with_cross_kv": { + "gpu_active_kernel_ms": { + "mean": 36.31802625, + "p50": 36.445816, + "p90": 36.7341734 + }, + "gpu_kernel_span_ms": { + "mean": 59.01260245, + "p50": 65.603836, + "p90": 78.78474320000001 + }, + "kernel_count": { + "mean": 6818, + "p50": 6818.0, + "p90": 6818.0 + }, + "direct_kernel_count": { + "mean": 4431.7, + "p50": 6818.0, + "p90": 6818.0 + } + } +} diff --git a/research-notes/task5-profiling/logs/20261105T040223880451Z/defaults-phase.boundaries.json b/research-notes/task5-profiling/logs/20261105T040223880451Z/defaults-phase.boundaries.json new file mode 100644 index 00000000..338bf844 --- /dev/null +++ b/research-notes/task5-profiling/logs/20261105T040223880451Z/defaults-phase.boundaries.json @@ -0,0 +1,547 @@ +{ + "trace": "research-notes/task5-profiling/logs/20261105T040223880451Z/defaults-phase.sqlite", + "workload": "research-notes/smolvla-followup-20261104/kernel-phase-traces/defaults-workload/result.json", + "reps": 20, + "prefix_tokens": 145, + "kv_copy_bytes": 185600, + "kv_copies_per_predict": 64, + "matched_kernel_count": 160020, + "summary": { + "vision_plus_connector": { + "gpu_active_kernel_ms": { + "mean": 52.70752485, + "p50": 52.776708, + "p90": 53.2094109 + }, + "gpu_kernel_span_ms": { + "mean": 52.96830565, + "p50": 53.052391, + "p90": 53.5758344 + }, + "kernel_count": { + "mean": 460, + "p50": 460.0, + "p90": 460.0 + }, + "direct_kernel_count": { + "mean": 0, + "p50": 0.0, + "p90": 0.0 + } + }, + "kv_prefill": { + "gpu_active_kernel_ms": { + "mean": 14.95621615, + "p50": 14.886264, + "p90": 15.221531500000001 + }, + "gpu_kernel_span_ms": { + "mean": 15.9025081, + "p50": 16.1178595, + "p90": 16.8043822 + }, + "kernel_count": { + "mean": 723, + "p50": 723.0, + "p90": 723.0 + }, + "direct_kernel_count": { + "mean": 469.95, + "p50": 723.0, + "p90": 723.0 + } + }, + "denoise_with_cross_kv": { + "gpu_active_kernel_ms": { + "mean": 36.31802625, + "p50": 36.445816, + "p90": 36.7341734 + }, + "gpu_kernel_span_ms": { + "mean": 59.01260245, + "p50": 65.603836, + "p90": 78.78474320000001 + }, + "kernel_count": { + "mean": 6818, + "p50": 6818.0, + "p90": 6818.0 + }, + "direct_kernel_count": { + "mean": 4431.7, + "p50": 6818.0, + "p90": 6818.0 + } + } + }, + "samples": [ + { + "prediction": 0, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.481838, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 51.836258, + "gpu_kernel_span_ms": 52.118435, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.872391, + "gpu_kernel_span_ms": 17.311456, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 37.048512, + "gpu_kernel_span_ms": 65.73549, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 1, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.350102, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.699692, + "gpu_kernel_span_ms": 52.932844, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.788969, + "gpu_kernel_span_ms": 14.991851, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 35.790814, + "gpu_kernel_span_ms": 37.772223, + "direct_kernel_count": 0 + } + }, + { + "prediction": 2, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.96709, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.282213, + "gpu_kernel_span_ms": 52.508231, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.016549, + "gpu_kernel_span_ms": 16.205719, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.721131, + "gpu_kernel_span_ms": 71.720921, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 3, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.267189, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.754951, + "gpu_kernel_span_ms": 52.992395, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.035207, + "gpu_kernel_span_ms": 16.42892, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.443657, + "gpu_kernel_span_ms": 66.632521, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 4, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.237333, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 51.422907, + "gpu_kernel_span_ms": 51.663488, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.750731, + "gpu_kernel_span_ms": 14.950603, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 35.892524, + "gpu_kernel_span_ms": 37.902719, + "direct_kernel_count": 0 + } + }, + { + "prediction": 5, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.516335, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.897192, + "gpu_kernel_span_ms": 53.132811000000004, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.973579, + "gpu_kernel_span_ms": 16.16463, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.509089, + "gpu_kernel_span_ms": 66.685387, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 6, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.456557, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.404807, + "gpu_kernel_span_ms": 52.642313, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.082126, + "gpu_kernel_span_ms": 16.318551, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.851555, + "gpu_kernel_span_ms": 61.403898, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 7, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.115092, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.960843, + "gpu_kernel_span_ms": 53.194541, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.87358, + "gpu_kernel_span_ms": 15.08382, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 35.809701, + "gpu_kernel_span_ms": 37.817245, + "direct_kernel_count": 0 + } + }, + { + "prediction": 8, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.506222, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.606466, + "gpu_kernel_span_ms": 52.863432, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.894792, + "gpu_kernel_span_ms": 16.04882, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.457005, + "gpu_kernel_span_ms": 79.032344, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 9, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.612431, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.880135, + "gpu_kernel_span_ms": 53.129001, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.788557, + "gpu_kernel_span_ms": 16.109428, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.477397, + "gpu_kernel_span_ms": 66.8986, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 10, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.52363, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 53.313927, + "gpu_kernel_span_ms": 53.57771, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.578823, + "gpu_kernel_span_ms": 14.785193, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.058982, + "gpu_kernel_span_ms": 38.050879, + "direct_kernel_count": 0 + } + }, + { + "prediction": 11, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.398029, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 53.716015, + "gpu_kernel_span_ms": 54.007378, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.494983, + "gpu_kernel_span_ms": 16.830331, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.454633, + "gpu_kernel_span_ms": 73.992746, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 12, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.425005, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.915176, + "gpu_kernel_span_ms": 53.182603, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.532082, + "gpu_kernel_span_ms": 16.801499, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.420575, + "gpu_kernel_span_ms": 79.105817, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 13, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.098835, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.647427, + "gpu_kernel_span_ms": 52.879526999999996, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.815241, + "gpu_kernel_span_ms": 15.015882, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 35.801211, + "gpu_kernel_span_ms": 38.193726, + "direct_kernel_count": 0 + } + }, + { + "prediction": 14, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.428237, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 53.03629, + "gpu_kernel_span_ms": 53.275974, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.877736, + "gpu_kernel_span_ms": 16.126291, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.409303, + "gpu_kernel_span_ms": 65.472182, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 15, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.371405, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.456994, + "gpu_kernel_span_ms": 52.700162, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.074506, + "gpu_kernel_span_ms": 16.278005, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.498009, + "gpu_kernel_span_ms": 62.709213, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 16, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.423053, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.401278, + "gpu_kernel_span_ms": 52.662786, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.906155, + "gpu_kernel_span_ms": 15.125419, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 35.915423, + "gpu_kernel_span_ms": 37.897658, + "direct_kernel_count": 0 + } + }, + { + "prediction": 17, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.455597, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 53.197798, + "gpu_kernel_span_ms": 53.575626, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 15.191148, + "gpu_kernel_span_ms": 16.39775, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.447975, + "gpu_kernel_span_ms": 78.757232, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 18, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.861361, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.921663, + "gpu_kernel_span_ms": 53.214469, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.737416, + "gpu_kernel_span_ms": 16.029041, + "direct_kernel_count": 723 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 36.467275, + "gpu_kernel_span_ms": 76.524791, + "direct_kernel_count": 6818 + } + }, + { + "prediction": 19, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.832593, + "vision_plus_connector": { + "kernel_count": 460, + "gpu_active_kernel_ms": 52.798465, + "gpu_kernel_span_ms": 53.112387, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 723, + "gpu_active_kernel_ms": 14.839752, + "gpu_kernel_span_ms": 15.046953, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 6818, + "gpu_active_kernel_ms": 35.885754, + "gpu_kernel_span_ms": 37.946457, + "direct_kernel_count": 0 + } + } + ], + "attribution": "source phase K/V tensor-copy boundary, validated byte size/count and full kernel coverage", + "limitations": [ + "GPU active time excludes host setup, inter-kernel/phase gaps and transfer cost", + "GPU span can include CPU launch gaps for direct kernels", + "vision excludes preprocessing/inter-view transfers", + "prefill is cache-producing graph; denoise includes cross-KV reprojection", + "phase graph/padding differ from normal throughput; node tracing overhead" + ] +} diff --git a/research-notes/task5-profiling/logs/20261105T040223880451Z/flash-mm-phase-audit.log b/research-notes/task5-profiling/logs/20261105T040223880451Z/flash-mm-phase-audit.log new file mode 100644 index 00000000..c0cf1f4a --- /dev/null +++ b/research-notes/task5-profiling/logs/20261105T040223880451Z/flash-mm-phase-audit.log @@ -0,0 +1,68 @@ +{ + "vision_plus_connector": { + "gpu_active_kernel_ms": { + "mean": 40.51973695, + "p50": 40.4392685, + "p90": 41.1272168 + }, + "gpu_kernel_span_ms": { + "mean": 40.83222365, + "p50": 40.7322295, + "p90": 41.4137126 + }, + "kernel_count": { + "mean": 820, + "p50": 820.0, + "p90": 820.0 + }, + "direct_kernel_count": { + "mean": 0, + "p50": 0.0, + "p90": 0.0 + } + }, + "kv_prefill": { + "gpu_active_kernel_ms": { + "mean": 11.6873484, + "p50": 11.706116999999999, + "p90": 11.8668557 + }, + "gpu_kernel_span_ms": { + "mean": 13.02188785, + "p50": 13.334255500000001, + "p90": 13.9708593 + }, + "kernel_count": { + "mean": 849, + "p50": 849.0, + "p90": 849.0 + }, + "direct_kernel_count": { + "mean": 551.85, + "p50": 849.0, + "p90": 849.0 + } + }, + "denoise_with_cross_kv": { + "gpu_active_kernel_ms": { + "mean": 33.4747097, + "p50": 33.5980885, + "p90": 33.7422982 + }, + "gpu_kernel_span_ms": { + "mean": 66.2860289, + "p50": 71.0125405, + "p90": 93.14702750000001 + }, + "kernel_count": { + "mean": 8098, + "p50": 8098.0, + "p90": 8098.0 + }, + "direct_kernel_count": { + "mean": 5263.7, + "p50": 8098.0, + "p90": 8098.0 + } + } +} diff --git a/research-notes/task5-profiling/logs/20261105T040223880451Z/flash-mm-phase.boundaries.json b/research-notes/task5-profiling/logs/20261105T040223880451Z/flash-mm-phase.boundaries.json new file mode 100644 index 00000000..063387d9 --- /dev/null +++ b/research-notes/task5-profiling/logs/20261105T040223880451Z/flash-mm-phase.boundaries.json @@ -0,0 +1,547 @@ +{ + "trace": "research-notes/task5-profiling/logs/20261105T040223880451Z/flash-mm-phase.sqlite", + "workload": "research-notes/smolvla-followup-20261104/kernel-phase-traces/flash-mm-workload/result.json", + "reps": 20, + "prefix_tokens": 145, + "kv_copy_bytes": 185600, + "kv_copies_per_predict": 64, + "matched_kernel_count": 195340, + "summary": { + "vision_plus_connector": { + "gpu_active_kernel_ms": { + "mean": 40.51973695, + "p50": 40.4392685, + "p90": 41.1272168 + }, + "gpu_kernel_span_ms": { + "mean": 40.83222365, + "p50": 40.7322295, + "p90": 41.4137126 + }, + "kernel_count": { + "mean": 820, + "p50": 820.0, + "p90": 820.0 + }, + "direct_kernel_count": { + "mean": 0, + "p50": 0.0, + "p90": 0.0 + } + }, + "kv_prefill": { + "gpu_active_kernel_ms": { + "mean": 11.6873484, + "p50": 11.706116999999999, + "p90": 11.8668557 + }, + "gpu_kernel_span_ms": { + "mean": 13.02188785, + "p50": 13.334255500000001, + "p90": 13.9708593 + }, + "kernel_count": { + "mean": 849, + "p50": 849.0, + "p90": 849.0 + }, + "direct_kernel_count": { + "mean": 551.85, + "p50": 849.0, + "p90": 849.0 + } + }, + "denoise_with_cross_kv": { + "gpu_active_kernel_ms": { + "mean": 33.4747097, + "p50": 33.5980885, + "p90": 33.7422982 + }, + "gpu_kernel_span_ms": { + "mean": 66.2860289, + "p50": 71.0125405, + "p90": 93.14702750000001 + }, + "kernel_count": { + "mean": 8098, + "p50": 8098.0, + "p90": 8098.0 + }, + "direct_kernel_count": { + "mean": 5263.7, + "p50": 8098.0, + "p90": 8098.0 + } + } + }, + "samples": [ + { + "prediction": 0, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.997909, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.768168, + "gpu_kernel_span_ms": 41.072713, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.915696, + "gpu_kernel_span_ms": 13.943173, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.80269, + "gpu_kernel_span_ms": 74.355931, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 1, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.43313, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 39.935264, + "gpu_kernel_span_ms": 40.215747, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.684371, + "gpu_kernel_span_ms": 11.922102, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 32.95892, + "gpu_kernel_span_ms": 35.298335, + "direct_kernel_count": 0 + } + }, + { + "prediction": 2, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.712045, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 41.310314, + "gpu_kernel_span_ms": 41.600013000000004, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 12.031384, + "gpu_kernel_span_ms": 13.635714, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.815244, + "gpu_kernel_span_ms": 63.30801, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 3, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.498283, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.931657, + "gpu_kernel_span_ms": 41.221803, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.861429, + "gpu_kernel_span_ms": 13.860357, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.718994, + "gpu_kernel_span_ms": 67.960204, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 4, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.483563, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.358503, + "gpu_kernel_span_ms": 40.700007, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.718611, + "gpu_kernel_span_ms": 11.960918, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 32.844774, + "gpu_kernel_span_ms": 35.356064, + "direct_kernel_count": 0 + } + }, + { + "prediction": 5, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.449355, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 41.15444, + "gpu_kernel_span_ms": 41.446667, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.648213, + "gpu_kernel_span_ms": 13.304576, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.57479, + "gpu_kernel_span_ms": 64.399026, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 6, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.618891, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.118434, + "gpu_kernel_span_ms": 40.406276, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.750194, + "gpu_kernel_span_ms": 13.310945, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.577551, + "gpu_kernel_span_ms": 79.552768, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 7, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.556459, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.42711, + "gpu_kernel_span_ms": 40.721159, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.452244, + "gpu_kernel_span_ms": 11.697908, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 32.877117, + "gpu_kernel_span_ms": 35.821473, + "direct_kernel_count": 0 + } + }, + { + "prediction": 8, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.628236, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 39.973311, + "gpu_kernel_span_ms": 40.290944999999994, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.624435, + "gpu_kernel_span_ms": 13.19571, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.588126, + "gpu_kernel_span_ms": 90.535881, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 9, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.860749, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.451427, + "gpu_kernel_span_ms": 40.743300000000005, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.751379, + "gpu_kernel_span_ms": 14.825161, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.608051, + "gpu_kernel_span_ms": 93.004467, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 10, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.781805, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.165275, + "gpu_kernel_span_ms": 40.463582, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.444496, + "gpu_kernel_span_ms": 11.687091, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.205862, + "gpu_kernel_span_ms": 35.716733, + "direct_kernel_count": 0 + } + }, + { + "prediction": 11, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.236719, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.727264, + "gpu_kernel_span_ms": 41.063203, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.707509, + "gpu_kernel_span_ms": 13.613665, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.693682, + "gpu_kernel_span_ms": 74.064877, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 12, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.701708, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.536802, + "gpu_kernel_span_ms": 40.894466, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.738193, + "gpu_kernel_span_ms": 13.471167, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.730297, + "gpu_kernel_span_ms": 79.535567, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 13, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.285456, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.218301, + "gpu_kernel_span_ms": 40.534205, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.547312, + "gpu_kernel_span_ms": 11.786354, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.400668, + "gpu_kernel_span_ms": 35.780955, + "direct_kernel_count": 0 + } + }, + { + "prediction": 14, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.251152, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 41.124192, + "gpu_kernel_span_ms": 41.410050999999996, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.787216, + "gpu_kernel_span_ms": 13.357566, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.723451, + "gpu_kernel_span_ms": 80.808281, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 15, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.941166, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.414527, + "gpu_kernel_span_ms": 40.694207000000006, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.704725, + "gpu_kernel_span_ms": 14.220036, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.735195, + "gpu_kernel_span_ms": 94.430072, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 16, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.372266, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.095612, + "gpu_kernel_span_ms": 40.388061, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.493585, + "gpu_kernel_span_ms": 11.733203, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.023105, + "gpu_kernel_span_ms": 35.832888, + "direct_kernel_count": 0 + } + }, + { + "prediction": 17, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.452906, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.242038, + "gpu_kernel_span_ms": 40.720794, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.728658, + "gpu_kernel_span_ms": 13.546622, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.735588, + "gpu_kernel_span_ms": 122.223088, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 18, + "kv_copy_count": 64, + "kv_copy_span_ms": 2.146927, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.586233, + "gpu_kernel_span_ms": 40.881564, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.66818, + "gpu_kernel_span_ms": 13.638175, + "direct_kernel_count": 849 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.719009, + "gpu_kernel_span_ms": 91.822301, + "direct_kernel_count": 8098 + } + }, + { + "prediction": 19, + "kv_copy_count": 64, + "kv_copy_span_ms": 1.688299, + "vision_plus_connector": { + "kernel_count": 820, + "gpu_active_kernel_ms": 40.855867, + "gpu_kernel_span_ms": 41.175709999999995, + "direct_kernel_count": 0 + }, + "kv_prefill": { + "kernel_count": 849, + "gpu_active_kernel_ms": 11.489138, + "gpu_kernel_span_ms": 11.727314, + "direct_kernel_count": 0 + }, + "denoise_with_cross_kv": { + "kernel_count": 8098, + "gpu_active_kernel_ms": 33.16108, + "gpu_kernel_span_ms": 35.913657, + "direct_kernel_count": 0 + } + } + ], + "attribution": "source phase K/V tensor-copy boundary, validated byte size/count and full kernel coverage", + "limitations": [ + "GPU active time excludes host setup, inter-kernel/phase gaps and transfer cost", + "GPU span can include CPU launch gaps for direct kernels", + "vision excludes preprocessing/inter-view transfers", + "prefill is cache-producing graph; denoise includes cross-KV reprojection", + "phase graph/padding differ from normal throughput; node tracing overhead" + ] +} diff --git a/research-notes/task5-profiling/logs/20261105T040223880451Z/git-status.txt b/research-notes/task5-profiling/logs/20261105T040223880451Z/git-status.txt new file mode 100644 index 00000000..1ae61b43 --- /dev/null +++ b/research-notes/task5-profiling/logs/20261105T040223880451Z/git-status.txt @@ -0,0 +1,8 @@ +## research/smolvla-optimization...origin/research/smolvla-optimization + M NOTES_SMOLVLA.md +?? off.txt +?? on.txt +?? research-notes/smolvla-followup-20261104/lerobot-0.4.3-pypi.json +?? research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/ +?? research-notes/smolvla-pruning/ +?? research-notes/task5-profiling/ diff --git a/research-notes/task5-profiling/logs/20261105T040308424489Z/audit.json b/research-notes/task5-profiling/logs/20261105T040308424489Z/audit.json new file mode 100644 index 00000000..451c1ab8 --- /dev/null +++ b/research-notes/task5-profiling/logs/20261105T040308424489Z/audit.json @@ -0,0 +1,354 @@ +{ + "commit": "92d134a7557f4580f3b8c14042c1bad61c3f1d7c", + "scope": "Offline reanalysis of historical evidence; no new GPU measurements", + "benchmark_median_of_three_run_statistics": { + "defaults": { + "mean_ms": 114.1, + "p50_ms": 114.1, + "p90_ms": 115.4, + "vision_ms": 56.1 + }, + "flash-mm": { + "mean_ms": 92.4, + "p50_ms": 92.5, + "p90_ms": 93.0, + "vision_ms": 43.6 + } + }, + "phase_mean_of_three_20_prediction_runs": { + "defaults": { + "ms_total": 235.68175404866537, + "ms_vision": 57.53474769592285, + "ms_prefill": 20.891171264648438, + "ms_denoise": 108.41351114908855, + "unaccounted_ms": 48.842322794596356 + }, + "flash-mm": { + "ms_total": 187.6772310892741, + "ms_vision": 43.98483416239421, + "ms_prefill": 15.13095547358195, + "ms_denoise": 84.58441422780355, + "unaccounted_ms": 43.977027384440106 + } + }, + "traces": { + "defaults": { + "kernel_count": 160020, + "summed_kernel_ms": 2260.227312, + "groups": { + "other": { + "calls": 72800, + "summed_ms": 326.800355 + }, + "GEMM_including_attention_products": { + "calls": 48160, + "summed_ms": 1317.748686 + }, + "softmax_or_RoPE": { + "calls": 11340, + "summed_ms": 446.447784 + }, + "norm": { + "calls": 14300, + "summed_ms": 39.28837 + }, + "attention_named": { + "calls": 13420, + "summed_ms": 129.942117 + } + }, + "activity_span_ms": 2541.98674, + "activity_union_ms": 2274.032569, + "gap_ms": 267.954171, + "gap_fraction": 0.10541131736981445, + "max_gap_ms": 16.748886, + "memcpy": { + "count": 340, + "bytes": 279408480, + "summed_ms": 17.339642 + }, + "runtime_api": [ + { + "name": "cudaStreamSynchronize_v3020", + "calls": 360, + "summed_ms": 2096.295227 + }, + { + "name": "cudaGraphLaunch_v10000", + "calls": 60, + "summed_ms": 227.510787 + }, + { + "name": "cudaMemcpyAsync_v3020", + "calls": 300, + "summed_ms": 31.280731 + }, + { + "name": "cuProfilerStart", + "calls": 1, + "summed_ms": 0.035788 + }, + { + "name": "cudaDeviceSynchronize_v3020", + "calls": 1, + "summed_ms": 0.0113 + } + ], + "diagnostics": [ + "Process was launched by the profiler, see /tmp/nvidia/nsight_systems/quadd_session_1084041/streams/pid_84054_stdout.log and stderr.log for program output", + "Common injection library initialized successfully.", + "Buffers holding CUDA trace data will be flushed on CudaProfilerStop() call. See --flush-on-cudaprofilerstop to control this behavior.", + "Loaded CUPTI library: /opt/nvidia/nsight-systems/2026.1.3/target-linux-x64/libcupti.so.13.3", + "Enabling trace for device graph launch", + "CUDA injection initialized successfully.", + "CUDA device 0: Unified Memory cannot be traced on devices that don't support peer-to-peer transfers.Please verify that SLI/NVLink is functioning properly.", + "Profiling has started.", + "Profiling started due to cudaProfilerStart API invoked in the application.", + "Not all CUDA events might have been collected.", + "Number of CUDA events collected: \t161642.", + "Profiling has stopped.", + "CUDA hardware tracing is not supported on this system. A legacy (software instrumented) trace was collected instead.", + "Number of CUPTI events produced: \t162024, CUPTI buffers: 50.", + "S3EventHandler: S3 trace events were not found, not creating counters" + ], + "completeness_warnings": [ + "Not all CUDA events might have been collected." + ], + "top_kernels": [ + { + "name": "void ::k_softmax_rows_loop<(int)1024, float>(float *, int, int, float, const T2 *, int, long)", + "calls": 480, + "summed_ms": 402.821843 + }, + { + "name": "void cutlass::Kernel2(T1::Params)", + "calls": 10820, + "summed_ms": 368.373173 + }, + { + "name": "void cutlass::Kernel2(T1::Params)", + "calls": 20480, + "summed_ms": 301.899495 + }, + { + "name": "ampere_s1688gemm_bf16_128x128_ldg8_stages_32x1_tn", + "calls": 960, + "summed_ms": 204.174625 + }, + { + "name": "void cutlass::Kernel2(T1::Params)", + "calls": 13000, + "summed_ms": 195.835265 + }, + { + "name": "ampere_s1688gemm_bf16_64x128_sliced1x2_ldg8_tn", + "calls": 1920, + "summed_ms": 125.511352 + }, + { + "name": "void cutlass::Kernel2(T1::Params)", + "calls": 480, + "summed_ms": 114.616958 + }, + { + "name": "void flash_attn_ext_f16<(int)64, (int)64, (int)64, (int)1, (bool)0, (bool)0, (bool)0>(const char *, const char *, const char *, const char *, const char *, const int *, float *, float2 *, float, float, float, float, unsigned int, float, int, uint3, int, int, int, int, int, int, int, int, int, int, int, long, int, int, long, int, int, int, int, int, long)", + "calls": 7020, + "summed_ms": 109.06193 + }, + { + "name": "void cublasLt::splitKreduce_kernel<(int)32, (int)16, int, float, float, float, float, (bool)0, float, float, float, (bool)1, (bool)0, (bool)0, (bool)0>(cublasLt::cublasSplitKParams, const T4 *, const T10 *, T9 *, T5 *, const T6 *, const T6 *, const T11 *, const T4 *, T11 *, void *, long, T6 *, int *, T6 *, T6 *, const T6 *, const T6 *, const T6 *, const T6 *, const T6 *)", + "calls": 23540, + "summed_ms": 79.127762 + }, + { + "name": "void rope_neox<(bool)1, (bool)0, float, float>(const T3 *, T4 *, int, int, int, int, int, int, int, int, int, int, int, const int *, float, float, float, rope_corr_dims, float, const float *, const long *, int, bool)", + "calls": 10860, + "summed_ms": 43.625941 + }, + { + "name": "void k_bin_bcast<&op_add, float, float, float, const float *>(const T2 *, const T3 *, T4 *, unsigned int, unsigned int, unsigned int, uint3, uint3, uint3, uint3, uint3, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, T5...)", + "calls": 15160, + "summed_ms": 38.935014 + }, + { + "name": "void rms_norm_f32<(int)256, (bool)1, (bool)0, (bool)0>(const float *, float *, int, long, long, long, float, const float *, long, long, long, uint3, uint3, uint3, uint3, const float *, long, long, long, uint3, uint3, uint3, uint3, float)", + "calls": 14260, + "summed_ms": 38.244493 + } + ] + }, + "flash-mm": { + "kernel_count": 194100, + "summed_kernel_ms": 1733.184807, + "groups": { + "other": { + "calls": 106880, + "summed_ms": 503.439804 + }, + "GEMM_including_attention_products": { + "calls": 47200, + "summed_ms": 898.701638 + }, + "norm": { + "calls": 15260, + "summed_ms": 58.460772 + }, + "attention_named": { + "calls": 13900, + "summed_ms": 232.977641 + }, + "softmax_or_RoPE": { + "calls": 10860, + "summed_ms": 39.604952 + } + }, + "activity_span_ms": 1921.820922, + "activity_union_ms": 1746.417765, + "gap_ms": 175.403157, + "gap_fraction": 0.09126925146462736, + "max_gap_ms": 9.262489, + "memcpy": { + "count": 340, + "bytes": 279408480, + "summed_ms": 16.39378 + }, + "runtime_api": [ + { + "name": "cudaStreamSynchronize_v3020", + "calls": 360, + "summed_ms": 1582.759689 + }, + { + "name": "cudaGraphLaunch_v10000", + "calls": 60, + "summed_ms": 227.927385 + }, + { + "name": "cudaMemcpyAsync_v3020", + "calls": 300, + "summed_ms": 33.052918 + }, + { + "name": "cudaDeviceSynchronize_v3020", + "calls": 1, + "summed_ms": 0.007867 + }, + { + "name": "cuProfilerStart", + "calls": 1, + "summed_ms": 0.007172 + } + ], + "diagnostics": [ + "Process was launched by the profiler, see /tmp/nvidia/nsight_systems/quadd_session_1084189/streams/pid_84203_stdout.log and stderr.log for program output", + "Common injection library initialized successfully.", + "Buffers holding CUDA trace data will be flushed on CudaProfilerStop() call. See --flush-on-cudaprofilerstop to control this behavior.", + "Loaded CUPTI library: /opt/nvidia/nsight-systems/2026.1.3/target-linux-x64/libcupti.so.13.3", + "Enabling trace for device graph launch", + "CUDA injection initialized successfully.", + "CUDA device 0: Unified Memory cannot be traced on devices that don't support peer-to-peer transfers.Please verify that SLI/NVLink is functioning properly.", + "Profiling has started.", + "Profiling started due to cudaProfilerStart API invoked in the application.", + "Not all CUDA events might have been collected.", + "Number of CUDA events collected: \t195722.", + "Profiling has stopped.", + "CUDA hardware tracing is not supported on this system. A legacy (software instrumented) trace was collected instead.", + "Number of CUPTI events produced: \t196107, CUPTI buffers: 50.", + "S3EventHandler: S3 trace events were not found, not creating counters" + ], + "completeness_warnings": [ + "Not all CUDA events might have been collected." + ], + "top_kernels": [ + { + "name": "void cutlass::Kernel2(T1::Params)", + "calls": 32000, + "summed_ms": 308.177763 + }, + { + "name": "void flash_attn_ext_f16<(int)64, (int)64, (int)64, (int)1, (bool)0, (bool)0, (bool)0>(const char *, const char *, const char *, const char *, const char *, const int *, float *, float2 *, float, float, float, float, unsigned int, float, int, uint3, int, int, int, int, int, int, int, int, int, int, int, long, int, int, long, int, int, int, int, int, long)", + "calls": 7500, + "summed_ms": 214.348223 + }, + { + "name": "void k_bin_bcast<&op_add, float, float, float, const float *>(const T2 *, const T3 *, T4 *, unsigned int, unsigned int, unsigned int, uint3, uint3, uint3, uint3, uint3, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, T5...)", + "calls": 19960, + "summed_ms": 165.302269 + }, + { + "name": "void cutlass::Kernel2(T1::Params)", + "calls": 480, + "summed_ms": 121.614369 + }, + { + "name": "ampere_s1688gemm_bf16_64x128_sliced1x2_ldg8_tn", + "calls": 1920, + "summed_ms": 117.349684 + }, + { + "name": "void convert_unary_cont_vec4(const void *, T2 *, long)", + "calls": 45700, + "summed_ms": 115.733686 + }, + { + "name": "ampere_s16816gemm_bf16_128x128_ldg8_stages_32x5_tn", + "calls": 1240, + "summed_ms": 96.10649 + }, + { + "name": "ampere_s1688gemm_bf16_128x128_ldg8_stages_32x1_tn", + "calls": 480, + "summed_ms": 92.811952 + }, + { + "name": "ampere_s16816gemm_bf16_64x64_ldg8_stages_64x5_tn", + "calls": 6440, + "summed_ms": 77.102792 + }, + { + "name": "void cpy_scalar<&cpy_1_scalar>(const char *, char *, long, long, long, long, long, long, long, long, long, long, long, long, long, long, long)", + "calls": 1520, + "summed_ms": 65.469737 + }, + { + "name": "ampere_s16816gemm_bf16_128x64_ldg8_stages_32x6_tn", + "calls": 1860, + "summed_ms": 57.186579 + }, + { + "name": "void k_bin_bcast<&op_mul, float, float, float, const float *>(const T2 *, const T3 *, T4 *, unsigned int, unsigned int, unsigned int, uint3, uint3, uint3, uint3, uint3, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, T5...)", + "calls": 8020, + "summed_ms": 40.132635 + } + ] + } + }, + "sha256": { + "research-notes/smolvla-followup-20261104/runtime-full-pair/defaults-0.log": "d780a945746ff7abe107aa09171cce39f035898ed3fdc8feab5152b58e31500d", + "research-notes/smolvla-followup-20261104/runtime-full-pair/flash-mm-0.log": "e85f39b8c1aabdff16c5f2ab7cf502a3b3edbe1ee4570bcf7b141841eb276ac8", + "research-notes/smolvla-followup-20261104/runtime-full-pair/flash-mm-1.log": "e7c392fa9345521e185b92c874902ae890518b50940864f96774a7d5e91cff0d", + "research-notes/smolvla-followup-20261104/runtime-full-pair/defaults-1.log": "170c504454e9cc936d2c51dbc5381c3bb2fa09161b3ba93d9317dae951aad5a5", + "research-notes/smolvla-followup-20261104/runtime-full-pair/defaults-2.log": "c1c805eafd68df1c3e53eccecc45a077c04e8efdd5e3ae2df0a285540a20e0b0", + "research-notes/smolvla-followup-20261104/runtime-full-pair/flash-mm-2.log": "b881b88959990e58549eb6b2469ec2e9693d31119881be874148822731998fae", + "research-notes/smolvla-followup-20261104/kernel-traces/defaults.sqlite": "23201813a4bdcc0c7738dd431b1bfe67f1dc9c89a2d5560198e56a9f8d5014cf", + "research-notes/smolvla-followup-20261104/kernel-traces/defaults.nsys-rep": "4a27c42333bfb27b2ef9b04f014bfcdab9f9b9e33d3fecd82422aae72b1bf260", + "research-notes/smolvla-followup-20261104/kernel-traces/defaults.summary.json": "ba9afb8b73dee474ffeb2d0383fff377396d77d131df3ddcefc495376aecd770", + "research-notes/smolvla-followup-20261104/kernel-traces/flash-mm.sqlite": "d2dea5990cbbc96c6cba636dfc7e0a826510a19279144d2010d3d9ca77ce78f7", + "research-notes/smolvla-followup-20261104/kernel-traces/flash-mm.nsys-rep": "b30304fd9ac6ad37fb9c4a9b2960ba7447e60e459e2d5bb31a86bb9d0b776a41", + "research-notes/smolvla-followup-20261104/kernel-traces/flash-mm.summary.json": "0445978d6037645e6de3c54a01105aefc00a7513b2678370d85b64a9b7d3087a", + "research-notes/smolvla-followup-20261104/phase-suite/defaults-0/result.json": "8b585d4f8f8194727c7bf85e8937a2b3ce6935017c2c099e6e7e0a76c23aed57", + "research-notes/smolvla-followup-20261104/phase-suite/defaults-1/result.json": "184812ce01fc3eecd2083e9d673a3473b901838c56c281a1f16c28a16de7f3f3", + "research-notes/smolvla-followup-20261104/phase-suite/defaults-2/result.json": "6fcc948857ce3a347d452aa582253a6642044a24866c3101454768314b7c49c3", + "research-notes/smolvla-followup-20261104/phase-suite/flash-mm-0/result.json": "7fa9911145be7deffe36e6d4b5022a5e1ee0adb7d11e044140ce0856d540ca56", + "research-notes/smolvla-followup-20261104/phase-suite/flash-mm-1/result.json": "b9df572c73d12e5e0dd336bc7908efa7c9d2b342ed0104e0428619ad84bb542a", + "research-notes/smolvla-followup-20261104/phase-suite/flash-mm-2/result.json": "d703fcfbfa476027e67da5a087e44e8acc252d4e5de554bb74cffefb19699893", + "research-notes/smolvla-followup-20261104/runtime-full-pair/runs.json": "34bb6a7c9ee06da7f8764046e09186a06d76df3972235e57ff5fcbb94ef456a1", + "research-notes/smolvla-followup-20261104/smolvla-metadata.json": "5194ba386fee799c73afbf79b432c698ecae09c42092a459ba8c8bfae418f3cd", + "research-notes/smolvla-followup-20261104/profile_phase.py": "e79e1216f62e5dd0192287efb41b2c605083192d3c32e8022a480e3e2c06e0ff", + "research-notes/smolvla-followup-20261104/trace_kernels.py": "d3abd5d637a3a517b5e55ffd69dc58cd59f4223e4c2567a19065eb899b9b8034", + "src/models/smolvla.cpp": "95b7435e76b259703b992c480f362cb048185f05279b5fbdcc0ea10c87c1e675", + "src/serving/vla-bench.cpp": "92e6d683bc9024b65ce9d05318c22a6be96314adcb8ab5a84e079064ed6a919e", + "build-cuda/libvla.so": "8c6f2e404ee19a2f14c54ffb3d30a238091799904714d5fa882b37e86e9986da", + "build-cuda/vla-bench": "35fcd3cf99a6a6f0c8bc1cdfba45dc77aa2b65c979c423aabbdc5d0449f21ffc" + } +} diff --git a/research-notes/task5-profiling/logs/20261105T040308424489Z/environment-readonly.txt b/research-notes/task5-profiling/logs/20261105T040308424489Z/environment-readonly.txt new file mode 100644 index 00000000..aa839858 --- /dev/null +++ b/research-notes/task5-profiling/logs/20261105T040308424489Z/environment-readonly.txt @@ -0,0 +1,49 @@ +$ uname -a +Linux Doris 6.18.33.2-microsoft-standard-WSL2 #1 SMP PREEMPT_DYNAMIC Thu Jun 18 21:54:43 UTC 2026 x86_64 GNU/Linux + +exit=0 +$ nvcc --version +nvcc: NVIDIA (R) Cuda compiler driver +Copyright (c) 2005-2026 NVIDIA Corporation +Built on Tue_Jun_09_02:43:40_PM_PDT_2026 +Cuda compilation tools, release 13.3, V13.3.73 +Build cuda_13.3.r13.3/compiler.38244171_0 + +exit=0 +$ nsys --version +NVIDIA Nsight Systems version 2026.1.3.425-261338342291v0 + +exit=0 +$ nsys status --environment +NVIDIA Nsight Systems version 2026.1.3.425-261338342291v0 + +General Check +- Platform: Linux +- Timestamp counter supported: Yes + +CPU Profiling Environment Check +- Root privilege: disabled +- Linux Kernel Paranoid Level: 2 (some features maybe not available) +- Linux Distribution: Ubuntu +- Linux Kernel Version (6.18.33.2-microsoft-standard-WSL2): OK +- Linux perf_event_open syscall available: OK +- Sampling trigger event available: OK +- Intel(c) Last Branch Record support: Not Available +- CPU Profiling Environment (process-tree): OK +- CPU Profiling Environment (system-wide): Fail + +See the product documentation at https://docs.nvidia.com/nsight-systems for more information, +including information on how to set the Linux Kernel Paranoid Level. + +exit=0 +$ git --no-optional-locks status --short --branch +## research/smolvla-optimization...origin/research/smolvla-optimization + M NOTES_SMOLVLA.md +?? off.txt +?? on.txt +?? research-notes/smolvla-followup-20261104/lerobot-0.4.3-pypi.json +?? research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/ +?? research-notes/smolvla-pruning/ +?? research-notes/task5-profiling/ + +exit=0 diff --git a/research-notes/task5-profiling/logs/20261105T040308424489Z/git-status.txt b/research-notes/task5-profiling/logs/20261105T040308424489Z/git-status.txt new file mode 100644 index 00000000..1ae61b43 --- /dev/null +++ b/research-notes/task5-profiling/logs/20261105T040308424489Z/git-status.txt @@ -0,0 +1,8 @@ +## research/smolvla-optimization...origin/research/smolvla-optimization + M NOTES_SMOLVLA.md +?? off.txt +?? on.txt +?? research-notes/smolvla-followup-20261104/lerobot-0.4.3-pypi.json +?? research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/ +?? research-notes/smolvla-pruning/ +?? research-notes/task5-profiling/ diff --git a/research-notes/task5-profiling/nsys-analysis.md b/research-notes/task5-profiling/nsys-analysis.md new file mode 100644 index 00000000..e43fd01e --- /dev/null +++ b/research-notes/task5-profiling/nsys-analysis.md @@ -0,0 +1,32 @@ +# Nsight Systems: tái phân tích SQLite ngày04/11 + +Scope:20predict sau3warmup,capture cudaProfilerApi,node trace,default path;không load/warmup. [Commands gốc](../smolvla-followup-20261104/kernel-traces/commands.json), [.nsys-rep baseline](../smolvla-followup-20261104/kernel-traces/defaults.nsys-rep), [.nsys-rep flash-mm](../smolvla-followup-20261104/kernel-traces/flash-mm.nsys-rep). + +Audit mở SQLite mode=ro,tính lại union intervals và tổng duration;khớp số cũ. **Cả hai trace cảnh báo có thể không thu đủ CUDA events**,vì vậy kết luận chỉ có điều kiện trên dữ liệu lưu. Không có proof zero dropped events. + +| Metric (20predict) | Defaults | Flash-mm | +|---|---:|---:| +|Kernel events|160020.000|194100.000| +|Summed kernel duration ms|2260.227|1733.185| +|Activity span ms|2541.987|1921.821| +|Activity union ms|2274.033|1746.418| +|Gap ms|267.954|175.403| +|Max gap ms|16.749|9.262| + +|Name category,sum ms|Defaults|Flash-mm| +|---|---:|---:| +|other|326.800|503.440| +|GEMM_including_attention_products|1317.749|898.702| +|softmax_or_RoPE|446.448|39.605| +|norm|39.288|58.461| +|attention_named|129.942|232.978| + +GEMM bao gồm attention products; attention_named bao gồm fused/layout;softmax/RoPE không toàn bộ attention;other có activation/add/cast/layout chưa map chính xác. Không coi các category là module latency. Ví dụ baseline top softmax_rows_loop402,82ms;flash top attention kernel flash_attn_ext_f16 khoảng214,35ms. Source311–335 xác nhận vision đổi explicit→flash,còn VLM/expert dùng flash op trong attn_mlp674–686 ở cả hai cấu hình. Không gán tất cả flash kernels riêng cho vision. + +CUDA API:360cudaStreamSynchronize mỗi trace,sum2096,295/1582,760ms;60cudaGraphLaunch,sum227,511/227,927ms;300cudaMemcpyAsync,sum31,281/33,053ms. CPU API duration overlap GPU execution,không cộng vào kernel duration và không gọi synchronize duration là overhead độc lập. Chưa đo riêng pure launch overhead/launch-to-start latency. + +GPU memcpy:340events,279408480bytes mỗi trace;sum17,340/16,394ms. API calls và GPU memcpy event count khác không tự chứng minh mất copies (graph có node/mapping riêng). Copy sum không tương đương critical-path cost. + +Gaps=span−union(kernel+memcpy+memset),từ activity đầu tới cuối của process trong capture;không gồm edge gaps.10,54→9,13%;max16,749→9,262ms. Đây là khoảng trống **recorded process activity**,không hardware utilization,toàn GPU idle hay proof CPU bottleneck. Thiếu event/instrumentation/process khác có thể ảnh hưởng. Không chỉ cộng kernel durations để tính busy nếu overlap. + +Phase attribution được chạy lại dùng vision graphID/correlation và D2D K/V copy boundary:prefix145,64copies/prediction,1280copies/20;bytes/copy145×64×5×4=185600. Analyzer đảm bảo recorded kernels không thiếu/trùng khi chia vision,prefill,denoise. Điều này xác minh cách phân bổ dữ liệu đã lưu,không chứng minh toàn execution đã được capture đầy đủ. Đọc phase timing methodology trước khi đối chiếu default throughput. diff --git a/research-notes/task5-profiling/reproduction.md b/research-notes/task5-profiling/reproduction.md new file mode 100644 index 00000000..aa3c2f2b --- /dev/null +++ b/research-notes/task5-profiling/reproduction.md @@ -0,0 +1,40 @@ +# Tái lập + +## Audit CPU an toàn khi GPU đang bận + +Từ repo root: + +```bash +python3 research-notes/task5-profiling/audit_evidence.py +``` + +Không cần third-party Python packages; không chạy GPU. Mỗi lần tạo logs/timestamp/audit.json mới, kiểm tra6log, tính lại node trace và lưu SHA256. Phase boundary audit đã chạy với script gốc `summarize_phase_boundaries.py` trên symlink đặt trong thư mục log mới, truyền `--workload` tới kernel-phase-traces/{variant}-workload/result.json; không chạy script gốc trực tiếp trên path cũ vì nó ghi `.boundaries.json` cạnh SQLite. + +## Khi GPU đã rảnh + +Kiểm tra `git status`, `nvidia-smi`, không chạy chung server/simulator. Lưu commit,binary/model hashes, environment VLA_ overrides (kiểm tra cục bộ, tránh in secret),GPU telemetry và command vào thư mục mới. Không tự dừng tiến trình khác. Dùng command trong baseline-results.md và full_runtime_pair.py làm protocol tham khảo; không chạy script nguyên trạng vì output dir cũ đã tồn tại. AB/BA/AB,3warmup20reps mỗi process;giữ model,input,10steps và weight dtype,ghi runtime arithmetic khác biệt. + +Chỉ sau khi GPU rảnh chạy serial: + +```bash +ctest --test-dir build-cuda --output-on-failure -R '^(foldquant_cuda_op|foldquant_cuda_op_ref|fused_cuda_ops)$' +``` + +Lệnh này thực thi tests, có thể cập nhật CTest logs; sao lưu bằng chứng cũ trước. Fail phải giữ log,không giả định sửa xong. + +## Command trace tham khảo (chưa chạy mới) + +Chọn PREFIX mới chưa tồn tại; workload tự tạo OUTPUT_DIR mới. Dùng `.venv/bin/python` hiện có và script đã được đọc: + +```bash +nsys profile --trace=cuda --cuda-graph-trace=node --capture-range=cudaProfilerApi --capture-range-end=stop --sample=none --cpuctxsw=none --output=NEW_PREFIX .venv/bin/python research-notes/smolvla-followup-20261104/profile_phase.py --variant defaults --mode none --capture --output NEW_OUTPUT_DIR +``` + +Đổi variant flash-mm và dùng prefix/output khác cho cặp. `--trace=cuda`ghi API/GPU;`node`ghi từng graph node có overhead;capture chỉ sau3warmup trước20predict;stop dừng capture;sample/ctxsw none tắt CPU sampling/context switches. `mode none`đo default path;đổi phase chỉ cho thí nghiệm phân rã riêng và công bố khác graph/padding. Script đặt flash-mm qua runtime config. Bỏ VLA_ overrides không mong muốn ở môi trường child; script `trace_kernels.py` cũ có ví dụ nhưng output dir cố định nên không chạy trực tiếp. + +```bash +nsys export --type sqlite --output NEW_PREFIX.sqlite NEW_PREFIX.nsys-rep +nsys stats --report cuda_gpu_kern_sum,cuda_api_sum,cuda_gpu_mem_time_sum NEW_PREFIX.nsys-rep +``` + +Kiểm tra diagnostics cả report/SQLite trước attribution; không bỏ qua “Not all CUDA events…”. Nsys stats có thể tạo artifact bên cạnh report nên chỉ dùng prefix mới. Để xem timeline mở `.nsys-rep` bằng Nsight Systems GUI tương thích. Chưa xác minh hardware metric devices hoặc counters trong lượt này,không thêm gpu-metrics flags tùy tiện. diff --git a/research-notes/task5-profiling/timing-methodology.md b/research-notes/task5-profiling/timing-methodology.md new file mode 100644 index 00000000..494ad5d2 --- /dev/null +++ b/research-notes/task5-profiling/timing-methodology.md @@ -0,0 +1,30 @@ +# Timer và phạm vi phép đo + +Source `src/models/smolvla.cpp:1307` dùng `std::chrono::steady_clock`: đồng hồ CPU wall time, không phải CUDA event. + +| Field | Biên source | Thực sự bao gồm | +|---|---|---| +| ms_vision |1357→1398|Graph setup/allocation, preprocess từng view, upload, vision+connector compute, download embedding; không tách connector| +| ms_prefill |1538→1543|Compute graph tạo prefix K/V, gồm launch/wait; chỉ khi PHASE| +| ms_denoise |1554→1561|Compute expert/10 Euler steps và dependency cross-KV projection; không riêng action expert| +| ms_inference |1562|prefill+compute còn lại; default chứa cả prefix và denoise trong một graph| +| ms_total |1308→1574|Toàn predict_impl đến trước return; thêm graph setup, host state/noise/language/masks,copies,denormalize| +| bench latency |src/serving/vla-bench.cpp194→202|Wall time quanh `vla::predict`; không model loading, network, simulator hoặc robot execution| + +**Có đồng bộ**: `build-cuda/_deps/llama-src/ggml/src/ggml-backend.cpp:455–458`: `ggml_backend_graph_compute_async` rồi `ggml_backend_synchronize`. CUDA timer CPU vì vậy chờ hoàn thành graph; thời gian còn có CPU dispatch, chờ và inter-kernel gaps, không phải pure GPU active. Source dependency trong build đã đọc; chưa chứng minh binary khớp chính source dependency này bằng rebuild. + +PHASE không chỉ bật đồng hồ:1403 chọn `in.n_lang`16 thay vì cfg48;1438 tạo graph với KV leaves,1545–1547 copy K/V sang leaves,1549 dựng graph denoise. Default dùng cached main graph1417–1430. Graph setup/copy giữa hai timer không được phân bổ vào prefill/denoise. Vì vậy tổng phase không bằng total và không lấy phase measurements để chia baseline default114,1ms. + +`--timing-detail none|phase` là flag server (`src/serving/server.cpp:282–288`), không có trong vla-bench hiện tại. Python `predict(timing=TIMING_PHASE)` đi qua C API (`src/vla_c_api.cpp:154`) và Inputs. Không tự thêm flag này vào bench. API định nghĩa `include/vla.h:129`; field zero khi không đo không có nghĩa module miễn phí. + +Protocol phase lịch sử: `profile_phase.py`:2×512,IDs1..16,state/noise cố định,3warmup+20reps;3process mỗi cấu hình. Means của60 samples: + +| CPU wall phase ms | Defaults | Flash-mm | +|---|---:|---:| +| Vision+connector+host/copies |57.535|43.985| +| Prefill |20.891|15.131| +| Denoise+crossKV |108.414|84.584| +| Total |235.682|187.677| +| Total−vision−inference |48.842|43.977| + +Các outlier phase lớn và path khác default: không dùng để tuyên bố tốc độ module chính xác cho production. Dữ liệu sample nằm trong `../smolvla-followup-20261104/phase-suite/{defaults,flash-mm}-*/result.json`. Mean nhiều biến có thể cộng; p50/p90 của từng biến không nhất thiết cộng thành percentile total. From b2738fff71ed276b71add2d45ed30bf7c86f087f Mon Sep 17 00:00:00 2001 From: hientran-ai Date: Thu, 5 Nov 2026 14:29:54 +0700 Subject: [PATCH 11/13] Delete PAPER_READING_SMOLVLA_CLP.md --- PAPER_READING_SMOLVLA_CLP.md | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 PAPER_READING_SMOLVLA_CLP.md diff --git a/PAPER_READING_SMOLVLA_CLP.md b/PAPER_READING_SMOLVLA_CLP.md deleted file mode 100644 index ea176038..00000000 --- a/PAPER_READING_SMOLVLA_CLP.md +++ /dev/null @@ -1,21 +0,0 @@ -# Ghi chú đọc hai paper mentor cung cấp - -## SmolVLA — kiến trúc và inference - -Nguồn: https://arxiv.org/html/2506.01844v1 — mục3.1,3.3 và4.7. - -Paper kết hợp VLM nhỏ với action expert flow matching. Các hướng giảm chi phí gồm giảm visual token, dùng đặc trưng từ các layer VLM sớm và attention xen kẽ. Asynchronous execution tách dự đoán khỏi thực thi action. Không đồng nhất cải thiện điều khiển bất đồng bộ với giảm latency một forward. - -## CLP — chọn layer bằng dữ liệu - -Nguồn: https://arxiv.org/html/2606.20246v1 — mục3,4 và5. - -CLP dùng activation calibration để tính CKA giữa layer liên tiếp. Gom vùng tương tự cao, giữ layer đầu làm anchor, chọn các layer dư thừa theo ngân sách rồi loại bỏ. Bước chọn/cắt không cần training; kết quả chất lượng phải đọc cùng downstream finetuning. CKA cao chưa đảm bảo bỏ layer an toàn. - -## Áp dụng vào repo này — đề xuất thực nghiệm của mình - -Các bản tail/spaced hiện có là đối chứng depth ablation, chưa phải tái hiện CLP. Bước tiếp theo cần thu activation trên dữ liệu calibration tách khỏi episode đánh giá, chọn layer theo điểm số và xuất GGUF. Loader hiện có ràng buộc ghép layer VLM/expert và parity SA/CA; phải kiểm tra mapping trước khi áp dụng lựa chọn độc lập. Có thể cần sửa loader nếu muốn đúng phạm vi pruning của phương pháp. - -Cần ghi rõ bản không finetune là adaptation training-free của ý tưởng, không gán kết quả paper cho checkpoint này. So sánh với tail/spaced cùng số layer bị bỏ, chạy smoke rồi screening40. Đánh giá latency module bằng cả benchmark và nsys; official200 chỉ dành cấu hình được chọn. Không sử dụng dữ liệu episode đánh giá làm calibration. - -Paper mô tả kiến trúc tổng quát; bảng số layer/hidden size phải lấy metadata checkpoint đang dùng. Screening ba biến thể đã hoàn tất; phần đọc paper không thay thế đánh giá CKA/finetuning còn thiếu. From 13bea23c5abebc68f78f3031a7b83c64723cd3ff Mon Sep 17 00:00:00 2001 From: hientran-ai Date: Thu, 5 Nov 2026 14:25:37 +0700 Subject: [PATCH 12/13] Document pruning screening and prepare flash-mm official evaluation --- NOTES_SMOLVLA.md | 60 ++++++++ REPORT_SMOLVLA.md | 12 ++ .../official200-flash-mm/protocol.json | 40 ++++++ .../run_official200_flash_mm.py | 57 ++++++++ .../smolvla-coupled-tail-30/protocol.json | 39 ++++++ .../smolvla-coupled-tail-30/result.json | 130 ++++++++++++++++++ .../smolvla-vision-spaced-10/protocol.json | 39 ++++++ .../smolvla-vision-spaced-10/result.json | 130 ++++++++++++++++++ .../smolvla-vision-tail-10/protocol.json | 39 ++++++ .../smolvla-vision-tail-10/result.json | 130 ++++++++++++++++++ research-notes/smolvla-pruning/README.md | 40 ++++++ research-notes/smolvla-pruning/capture.py | 63 +++++++++ research-notes/smolvla-pruning/cka_prune.py | 106 ++++++++++++++ .../smolvla-pruning/run_screening.py | 35 +++++ .../smolvla-pruning/test_capture.py | 36 +++++ .../smolvla-pruning/test_cka_prune.py | 44 ++++++ 16 files changed, 1000 insertions(+) create mode 100644 research-notes/smolvla-followup-20261104/official200-flash-mm/protocol.json create mode 100644 research-notes/smolvla-followup-20261104/run_official200_flash_mm.py create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/smolvla-coupled-tail-30/protocol.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/smolvla-coupled-tail-30/result.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-spaced-10/protocol.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-spaced-10/result.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/protocol.json create mode 100644 research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/result.json create mode 100644 research-notes/smolvla-pruning/README.md create mode 100644 research-notes/smolvla-pruning/capture.py create mode 100644 research-notes/smolvla-pruning/cka_prune.py create mode 100644 research-notes/smolvla-pruning/run_screening.py create mode 100644 research-notes/smolvla-pruning/test_capture.py create mode 100644 research-notes/smolvla-pruning/test_cka_prune.py diff --git a/NOTES_SMOLVLA.md b/NOTES_SMOLVLA.md index 4a901dcc..115d39f9 100644 --- a/NOTES_SMOLVLA.md +++ b/NOTES_SMOLVLA.md @@ -493,3 +493,63 @@ Kiểm tra: audit_screening.py pass; complete_calculations.py sinh lại phụ l ## Bổ sung rà soát tính hoàn chỉnh — 05/11/2026 Đã thay checklist đầu nhật ký đã lỗi thời bằng trạng thái cuối, bổ sung bảng theo task và audit tái lập cho cả official lẫn screening. `audit_submission.py` kiểm tra 360 episode từ manifest cuối, gồm task 9 recovery; lưu SHA256 từng CSV. Đây là xác minh dữ liệu đã có, không phải chạy thêm rollout. Các giới hạn thực nghiệm vẫn giữ nguyên theo phạm vi chốt báo cáo. + +Screen40 smolvla-vision-tail-10: task 0 hoàn tất 0/4; tổng tạm thời 0/4. Log screen40-variants/smolvla-vision-tail-10/task-0.log; chưa phải official SR. + +Screen40 smolvla-vision-tail-10: task 1 hoàn tất 0/4; tổng tạm thời 0/8. Log screen40-variants/smolvla-vision-tail-10/task-1.log; chưa phải official SR. + +Screen40 smolvla-vision-tail-10: task 2 hoàn tất 0/4; tổng tạm thời 0/12. Log screen40-variants/smolvla-vision-tail-10/task-2.log; chưa phải official SR. + +Screen40 smolvla-vision-tail-10: task 3 hoàn tất 0/4; tổng tạm thời 0/16. Log screen40-variants/smolvla-vision-tail-10/task-3.log; chưa phải official SR. + +Screen40 smolvla-vision-tail-10: task 4 hoàn tất 0/4; tổng tạm thời 0/20. Log screen40-variants/smolvla-vision-tail-10/task-4.log; chưa phải official SR. + +Screen40 smolvla-vision-tail-10: task 5 hoàn tất 0/4; tổng tạm thời 0/24. Log screen40-variants/smolvla-vision-tail-10/task-5.log; chưa phải official SR. + +Screen40 smolvla-vision-tail-10: task 6 hoàn tất 0/4; tổng tạm thời 0/28. Log screen40-variants/smolvla-vision-tail-10/task-6.log; chưa phải official SR. + +Screen40 smolvla-vision-tail-10: task 7 hoàn tất 0/4; tổng tạm thời 0/32. Log screen40-variants/smolvla-vision-tail-10/task-7.log; chưa phải official SR. + +Screen40 smolvla-vision-tail-10: task 8 hoàn tất 0/4; tổng tạm thời 0/36. Log screen40-variants/smolvla-vision-tail-10/task-8.log; chưa phải official SR. + +Screen40 smolvla-vision-tail-10: task 9 hoàn tất 0/4; tổng tạm thời 0/40. Log screen40-variants/smolvla-vision-tail-10/task-9.log; chưa phải official SR. + +Screen40 smolvla-vision-spaced-10: task 0 hoàn tất 0/4; tổng tạm thời 0/4. Log screen40-variants/smolvla-vision-spaced-10/task-0.log; chưa phải official SR. + +Screen40 smolvla-vision-spaced-10: task 1 hoàn tất 0/4; tổng tạm thời 0/8. Log screen40-variants/smolvla-vision-spaced-10/task-1.log; chưa phải official SR. + +Screen40 smolvla-vision-spaced-10: task 2 hoàn tất 0/4; tổng tạm thời 0/12. Log screen40-variants/smolvla-vision-spaced-10/task-2.log; chưa phải official SR. + +Screen40 smolvla-vision-spaced-10: task 3 hoàn tất 0/4; tổng tạm thời 0/16. Log screen40-variants/smolvla-vision-spaced-10/task-3.log; chưa phải official SR. + +Screen40 smolvla-vision-spaced-10: task 4 hoàn tất 0/4; tổng tạm thời 0/20. Log screen40-variants/smolvla-vision-spaced-10/task-4.log; chưa phải official SR. + +Screen40 smolvla-vision-spaced-10: task 5 hoàn tất 0/4; tổng tạm thời 0/24. Log screen40-variants/smolvla-vision-spaced-10/task-5.log; chưa phải official SR. + +Screen40 smolvla-vision-spaced-10: task 6 hoàn tất 0/4; tổng tạm thời 0/28. Log screen40-variants/smolvla-vision-spaced-10/task-6.log; chưa phải official SR. + +Screen40 smolvla-vision-spaced-10: task 7 hoàn tất 0/4; tổng tạm thời 0/32. Log screen40-variants/smolvla-vision-spaced-10/task-7.log; chưa phải official SR. + +Screen40 smolvla-vision-spaced-10: task 8 hoàn tất 0/4; tổng tạm thời 0/36. Log screen40-variants/smolvla-vision-spaced-10/task-8.log; chưa phải official SR. + +Screen40 smolvla-vision-spaced-10: task 9 hoàn tất 0/4; tổng tạm thời 0/40. Log screen40-variants/smolvla-vision-spaced-10/task-9.log; chưa phải official SR. + +Screen40 smolvla-coupled-tail-30: task 0 hoàn tất 0/4; tổng tạm thời 0/4. Log screen40-variants/smolvla-coupled-tail-30/task-0.log; chưa phải official SR. + +Screen40 smolvla-coupled-tail-30: task 1 hoàn tất 0/4; tổng tạm thời 0/8. Log screen40-variants/smolvla-coupled-tail-30/task-1.log; chưa phải official SR. + +Screen40 smolvla-coupled-tail-30: task 2 hoàn tất 3/4; tổng tạm thời 3/12. Log screen40-variants/smolvla-coupled-tail-30/task-2.log; chưa phải official SR. + +Screen40 smolvla-coupled-tail-30: task 3 hoàn tất 3/4; tổng tạm thời 6/16. Log screen40-variants/smolvla-coupled-tail-30/task-3.log; chưa phải official SR. + +Screen40 smolvla-coupled-tail-30: task 4 hoàn tất 2/4; tổng tạm thời 8/20. Log screen40-variants/smolvla-coupled-tail-30/task-4.log; chưa phải official SR. + +Screen40 smolvla-coupled-tail-30: task 5 hoàn tất 2/4; tổng tạm thời 10/24. Log screen40-variants/smolvla-coupled-tail-30/task-5.log; chưa phải official SR. + +Screen40 smolvla-coupled-tail-30: task 6 hoàn tất 4/4; tổng tạm thời 14/28. Log screen40-variants/smolvla-coupled-tail-30/task-6.log; chưa phải official SR. + +Screen40 smolvla-coupled-tail-30: task 7 hoàn tất 2/4; tổng tạm thời 16/32. Log screen40-variants/smolvla-coupled-tail-30/task-7.log; chưa phải official SR. + +Screen40 smolvla-coupled-tail-30: task 8 hoàn tất 4/4; tổng tạm thời 20/36. Log screen40-variants/smolvla-coupled-tail-30/task-8.log; chưa phải official SR. + +Screen40 smolvla-coupled-tail-30: task 9 hoàn tất 3/4; tổng tạm thời 23/40. Log screen40-variants/smolvla-coupled-tail-30/task-9.log; chưa phải official SR. diff --git a/REPORT_SMOLVLA.md b/REPORT_SMOLVLA.md index 3067deb1..e82b52e8 100644 --- a/REPORT_SMOLVLA.md +++ b/REPORT_SMOLVLA.md @@ -150,3 +150,15 @@ Các mục dưới đây là giới hạn và hướng nghiên cứu tiếp theo | Resident VRAM | Đo trên backend hỗ trợ process memory; WSL hiện trả N/A nên chỉ báo traced allocation | Bản báo cáo hoàn tất trong phạm vi dữ liệu hiện có. Chưa xác nhận giữ SR cho biến thể hoặc hiệu quả CLP/CKA; phép ngoại suy SR và mô hình depth chỉ là tính toán có giả định. + +## Cập nhật sau đợt báo cáo: screening pruning và official flash-mm + +Đã đối chiếu CSV screening ba depth ablation: vision-tail-10 **0/40**, +vision-spaced-10 **0/40**, coupled-tail-30 **23/40 (57,5%)**; tổng 120 episode, +không abort. Đây là số đo mới, bổ sung cho smoke 0/2 lịch sử ở phần trên. +Chọn defaults theo SR quan sát: screening 38/40 và official 177/200; +chưa khẳng định khác biệt có ý nghĩa thống kê. + +Theo yêu cầu mới, đã mở thêm official flash-mm 200 episode, ngoài phạm vi +đợt chốt trước. Tại lúc cập nhật, lượt này đang chạy và chưa có SR cuối. +Xem [scripts, kết quả và giới hạn CKA](research-notes/smolvla-pruning/README.md). diff --git a/research-notes/smolvla-followup-20261104/official200-flash-mm/protocol.json b/research-notes/smolvla-followup-20261104/official200-flash-mm/protocol.json new file mode 100644 index 00000000..1bfc199f --- /dev/null +++ b/research-notes/smolvla-followup-20261104/official200-flash-mm/protocol.json @@ -0,0 +1,40 @@ +{ + "classification": "official evaluation", + "suite": "libero_object", + "tasks": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "episodes_per_task": 20, + "expected_total": 200, + "seed": 42, + "n_action_steps": 1, + "variant": "flash-mm", + "baseline": "official200-defaults:177/200; known bit-exact test failures disclosed", + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15561", + "/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf", + "--flash-attn", + "--mm-prec", + "default" + ], + "env": { + "MUJOCO_GL": "egl", + "CUDA_VISIBLE_DEVICES": "0", + "LIBERO_CONFIG_PATH": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/libero-config", + "TOKENIZERS_PARALLELISM": "false" + }, + "initial_states": "repo client defaults: episode_index=0, stride=1; same seed and initial states for later configs", + "aborts": "halt on any aborted/missing episode; never silently reduce denominator", + "noise": "repo default server random RNG; seed42 controls environment only" +} diff --git a/research-notes/smolvla-followup-20261104/run_official200_flash_mm.py b/research-notes/smolvla-followup-20261104/run_official200_flash_mm.py new file mode 100644 index 00000000..7a3474fd --- /dev/null +++ b/research-notes/smolvla-followup-20261104/run_official200_flash_mm.py @@ -0,0 +1,57 @@ +"""Official flash-mm evaluation: 10 tasks x 20 episodes; fixed denominator 200.""" +from pathlib import Path +import csv,json,os,subprocess,time +root=Path(__file__).resolve().parents[2] +out=Path(__file__).resolve().parent/'official200-flash-mm' +out.mkdir(exist_ok=True) +if (out/'protocol.json').exists(): + raise SystemExit('Output exists; inspect progress before resuming. No automatic overwrite.') +env={k:v for k,v in os.environ.items() if not k.startswith('VLA_')} +env.update(MUJOCO_GL='egl',CUDA_VISIBLE_DEVICES='0',LIBERO_CONFIG_PATH=str(out.parent/'libero-config'),PYTHONUNBUFFERED='1',TOKENIZERS_PARALLELISM='false',HF_HUB_OFFLINE='1',TRANSFORMERS_OFFLINE='1') +server_cmd=[str(root/'build-cuda/vla-server'),'--bind','tcp://127.0.0.1:15561','/home/doris/.cache/vla/vrfai/smolvla-libero-gguf/smolvla-libero.gguf','--flash-attn','--mm-prec','default'] +protocol=dict(classification='official evaluation',suite='libero_object',tasks=list(range(10)),episodes_per_task=20,expected_total=200,seed=42,n_action_steps=1,variant='flash-mm', baseline='official200-defaults:177/200; known bit-exact test failures disclosed',server=server_cmd,env={k:env[k] for k in ['MUJOCO_GL','CUDA_VISIBLE_DEVICES','LIBERO_CONFIG_PATH','TOKENIZERS_PARALLELISM']},initial_states='repo client defaults: episode_index=0, stride=1; same seed and initial states for later configs',aborts='halt on any aborted/missing episode; never silently reduce denominator') +(out/'protocol.json').write_text(json.dumps(protocol,indent=2)+'\n') +protocol['noise']='repo default server random RNG; seed42 controls environment only' +(out/'protocol.json').write_text(json.dumps(protocol,indent=2)+'\n') +results=[] +def progress(state): + data=dict(state=state,completed_tasks=len(results),completed_episodes=sum(r['episodes'] for r in results),successes=sum(r['successes'] for r in results),expected_episodes=200,tasks=results) + (out/'progress.json').write_text(json.dumps(data,indent=2)+'\n') + return data +progress('starting') +with (out/'server.log').open('w') as server_log: + server=subprocess.Popen(server_cmd,cwd=root,env=env,stdout=server_log,stderr=subprocess.STDOUT) + try: + deadline=time.monotonic()+180 + while 'ready.' not in (out/'server.log').read_text(): + if server.poll() is not None:raise RuntimeError('Server exited before ready') + if time.monotonic()>deadline:raise TimeoutError('Server readiness timeout') + time.sleep(.5) + if 'backend = CUDA' not in (out/'server.log').read_text():raise RuntimeError('No CUDA backend confirmation') + for task in range(10): + cmd=[str(root/'eval/sim/libero/libero_uv/.venv/bin/python'),str(root/'eval/client/run_sim_client_direct.py'),'--arch','smolvla','--vla-addr','tcp://127.0.0.1:15561','--task','libero_object','--task-id',str(task),'--recv-timeout-ms','-1','--n-episodes','20','--n-action-steps','1','--seed','42','--output-dir',str(out/'outputs')] + (out/f'task-{task}-command.json').write_text(json.dumps(cmd,indent=2)+'\n') + print('Starting task',task,'20 episodes',flush=True) + progress(f'running task {task}') + with (out/f'task-{task}.log').open('w') as log: + completed=subprocess.run(cmd,cwd=root,env=env,stdout=log,stderr=subprocess.STDOUT,timeout=14400) + if completed.returncode:raise RuntimeError(f'task {task} client exit {completed.returncode}') + path=out/'outputs/smolvla/libero_object'/f'task_{task}'/'episodes.csv' + with path.open() as f:episodes=list(csv.DictReader(f)) + if len(episodes)!=20 or any(int(r['aborted']) for r in episodes):raise RuntimeError(f'task {task}: incomplete/aborted episodes; see {path}') + successes=sum(int(r['success']) for r in episodes) + results.append(dict(task_id=task,episodes=20,successes=successes,steps=[int(r['steps']) for r in episodes],csv=str(path.relative_to(root)))) + data=progress('running') + print('Completed task',task,f'{successes}/20; total {data["successes"]}/{data["completed_episodes"]}',flush=True) + with (root/'NOTES_SMOLVLA.md').open('a') as notes: + notes.write(f'\nOfficial200 flash-mm: task {task} hoàn tất {successes}/20; tổng tạm thời {data["successes"]}/{data["completed_episodes"]}. Log official200-flash-mm/task-{task}.log; SR tạm thời; chỉ chốt sau đủ200 episode.\n') + data=progress('complete') + data['official_sr']=data['successes']/200 + (out/'result.json').write_text(json.dumps(data,indent=2)+'\n') + except BaseException as error: + progress('failed: '+str(error)) + raise + finally: + server.terminate() + try:server.wait(timeout=15) + except subprocess.TimeoutExpired:server.kill();server.wait() diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/smolvla-coupled-tail-30/protocol.json b/research-notes/smolvla-followup-20261104/screen40-variants/smolvla-coupled-tail-30/protocol.json new file mode 100644 index 00000000..9ea4593a --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/smolvla-coupled-tail-30/protocol.json @@ -0,0 +1,39 @@ +{ + "classification": "screening, not official evaluation", + "suite": "libero_object", + "tasks": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "episodes_per_task": 4, + "expected_total": 40, + "seed": 42, + "n_action_steps": 1, + "variant": "smolvla-coupled-tail-30", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf", + "flags": [], + "noise": "repo defaults random server noise; environment seed42 only", + "baseline_reference": "screen40-defaults:38/40; known bit-exact test failures disclosed", + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15560", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-coupled-tail-30.gguf" + ], + "env": { + "MUJOCO_GL": "egl", + "CUDA_VISIBLE_DEVICES": "0", + "LIBERO_CONFIG_PATH": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/libero-config", + "TOKENIZERS_PARALLELISM": "false" + }, + "initial_states": "repo client defaults: episode_index=0, stride=1; same seed and initial states for later configs", + "aborts": "halt on any aborted/missing episode; never silently reduce denominator" +} diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/smolvla-coupled-tail-30/result.json b/research-notes/smolvla-followup-20261104/screen40-variants/smolvla-coupled-tail-30/result.json new file mode 100644 index 00000000..c3beb9e6 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/smolvla-coupled-tail-30/result.json @@ -0,0 +1,130 @@ +{ + "state": "complete", + "completed_tasks": 10, + "completed_episodes": 40, + "successes": 23, + "expected_episodes": 40, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-coupled-tail-30/outputs/smolvla/libero_object/task_0/episodes.csv" + }, + { + "task_id": 1, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-coupled-tail-30/outputs/smolvla/libero_object/task_1/episodes.csv" + }, + { + "task_id": 2, + "episodes": 4, + "successes": 3, + "steps": [ + 144, + 138, + 500, + 136 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-coupled-tail-30/outputs/smolvla/libero_object/task_2/episodes.csv" + }, + { + "task_id": 3, + "episodes": 4, + "successes": 3, + "steps": [ + 143, + 143, + 148, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-coupled-tail-30/outputs/smolvla/libero_object/task_3/episodes.csv" + }, + { + "task_id": 4, + "episodes": 4, + "successes": 2, + "steps": [ + 177, + 500, + 500, + 154 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-coupled-tail-30/outputs/smolvla/libero_object/task_4/episodes.csv" + }, + { + "task_id": 5, + "episodes": 4, + "successes": 2, + "steps": [ + 500, + 500, + 155, + 296 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-coupled-tail-30/outputs/smolvla/libero_object/task_5/episodes.csv" + }, + { + "task_id": 6, + "episodes": 4, + "successes": 4, + "steps": [ + 165, + 184, + 185, + 158 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-coupled-tail-30/outputs/smolvla/libero_object/task_6/episodes.csv" + }, + { + "task_id": 7, + "episodes": 4, + "successes": 2, + "steps": [ + 165, + 500, + 500, + 155 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-coupled-tail-30/outputs/smolvla/libero_object/task_7/episodes.csv" + }, + { + "task_id": 8, + "episodes": 4, + "successes": 4, + "steps": [ + 187, + 185, + 180, + 249 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-coupled-tail-30/outputs/smolvla/libero_object/task_8/episodes.csv" + }, + { + "task_id": 9, + "episodes": 4, + "successes": 3, + "steps": [ + 140, + 500, + 155, + 162 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-coupled-tail-30/outputs/smolvla/libero_object/task_9/episodes.csv" + } + ], + "screening_sr": 0.575 +} diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-spaced-10/protocol.json b/research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-spaced-10/protocol.json new file mode 100644 index 00000000..2127bdb8 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-spaced-10/protocol.json @@ -0,0 +1,39 @@ +{ + "classification": "screening, not official evaluation", + "suite": "libero_object", + "tasks": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "episodes_per_task": 4, + "expected_total": 40, + "seed": 42, + "n_action_steps": 1, + "variant": "smolvla-vision-spaced-10", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf", + "flags": [], + "noise": "repo defaults random server noise; environment seed42 only", + "baseline_reference": "screen40-defaults:38/40; known bit-exact test failures disclosed", + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15560", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-spaced-10.gguf" + ], + "env": { + "MUJOCO_GL": "egl", + "CUDA_VISIBLE_DEVICES": "0", + "LIBERO_CONFIG_PATH": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/libero-config", + "TOKENIZERS_PARALLELISM": "false" + }, + "initial_states": "repo client defaults: episode_index=0, stride=1; same seed and initial states for later configs", + "aborts": "halt on any aborted/missing episode; never silently reduce denominator" +} diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-spaced-10/result.json b/research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-spaced-10/result.json new file mode 100644 index 00000000..2c58b1b4 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-spaced-10/result.json @@ -0,0 +1,130 @@ +{ + "state": "complete", + "completed_tasks": 10, + "completed_episodes": 40, + "successes": 0, + "expected_episodes": 40, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-spaced-10/outputs/smolvla/libero_object/task_0/episodes.csv" + }, + { + "task_id": 1, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-spaced-10/outputs/smolvla/libero_object/task_1/episodes.csv" + }, + { + "task_id": 2, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-spaced-10/outputs/smolvla/libero_object/task_2/episodes.csv" + }, + { + "task_id": 3, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-spaced-10/outputs/smolvla/libero_object/task_3/episodes.csv" + }, + { + "task_id": 4, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-spaced-10/outputs/smolvla/libero_object/task_4/episodes.csv" + }, + { + "task_id": 5, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-spaced-10/outputs/smolvla/libero_object/task_5/episodes.csv" + }, + { + "task_id": 6, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-spaced-10/outputs/smolvla/libero_object/task_6/episodes.csv" + }, + { + "task_id": 7, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-spaced-10/outputs/smolvla/libero_object/task_7/episodes.csv" + }, + { + "task_id": 8, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-spaced-10/outputs/smolvla/libero_object/task_8/episodes.csv" + }, + { + "task_id": 9, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-spaced-10/outputs/smolvla/libero_object/task_9/episodes.csv" + } + ], + "screening_sr": 0.0 +} diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/protocol.json b/research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/protocol.json new file mode 100644 index 00000000..7b0cc4e8 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/protocol.json @@ -0,0 +1,39 @@ +{ + "classification": "screening, not official evaluation", + "suite": "libero_object", + "tasks": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9 + ], + "episodes_per_task": 4, + "expected_total": 40, + "seed": 42, + "n_action_steps": 1, + "variant": "smolvla-vision-tail-10", + "model": "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf", + "flags": [], + "noise": "repo defaults random server noise; environment seed42 only", + "baseline_reference": "screen40-defaults:38/40; known bit-exact test failures disclosed", + "server": [ + "/home/doris/projects/vla.cpp/build-cuda/vla-server", + "--bind", + "tcp://127.0.0.1:15560", + "/home/doris/projects/vla.cpp/research-notes/generated-models/smolvla-vision-tail-10.gguf" + ], + "env": { + "MUJOCO_GL": "egl", + "CUDA_VISIBLE_DEVICES": "0", + "LIBERO_CONFIG_PATH": "/home/doris/projects/vla.cpp/research-notes/smolvla-followup-20261104/libero-config", + "TOKENIZERS_PARALLELISM": "false" + }, + "initial_states": "repo client defaults: episode_index=0, stride=1; same seed and initial states for later configs", + "aborts": "halt on any aborted/missing episode; never silently reduce denominator" +} diff --git a/research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/result.json b/research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/result.json new file mode 100644 index 00000000..d0e30542 --- /dev/null +++ b/research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/result.json @@ -0,0 +1,130 @@ +{ + "state": "complete", + "completed_tasks": 10, + "completed_episodes": 40, + "successes": 0, + "expected_episodes": 40, + "tasks": [ + { + "task_id": 0, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/outputs/smolvla/libero_object/task_0/episodes.csv" + }, + { + "task_id": 1, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/outputs/smolvla/libero_object/task_1/episodes.csv" + }, + { + "task_id": 2, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/outputs/smolvla/libero_object/task_2/episodes.csv" + }, + { + "task_id": 3, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/outputs/smolvla/libero_object/task_3/episodes.csv" + }, + { + "task_id": 4, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/outputs/smolvla/libero_object/task_4/episodes.csv" + }, + { + "task_id": 5, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/outputs/smolvla/libero_object/task_5/episodes.csv" + }, + { + "task_id": 6, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/outputs/smolvla/libero_object/task_6/episodes.csv" + }, + { + "task_id": 7, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/outputs/smolvla/libero_object/task_7/episodes.csv" + }, + { + "task_id": 8, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/outputs/smolvla/libero_object/task_8/episodes.csv" + }, + { + "task_id": 9, + "episodes": 4, + "successes": 0, + "steps": [ + 500, + 500, + 500, + 500 + ], + "csv": "research-notes/smolvla-followup-20261104/screen40-variants/smolvla-vision-tail-10/outputs/smolvla/libero_object/task_9/episodes.csv" + } + ], + "screening_sr": 0.0 +} diff --git a/research-notes/smolvla-pruning/README.md b/research-notes/smolvla-pruning/README.md new file mode 100644 index 00000000..41e005c8 --- /dev/null +++ b/research-notes/smolvla-pruning/README.md @@ -0,0 +1,40 @@ +# Pruning: scripts và kết quả screening + +## Kết quả đã đối chiếu CSV + +| Cấu hình | Thành công | SR | +|---|---:|---:| +| vision-tail-10 | 0/40 | 0% | +| vision-spaced-10 | 0/40 | 0% | +| coupled-tail-30 | 23/40 | 57,5% | + +Mỗi cấu hình: libero_object, 10 task × 4 episode, seed môi trường 42, +n_action_steps=1; noise server ngẫu nhiên. Đã đối chiếu 30 CSV: 120 episode, +không abort. Protocol và result từng cấu hình ở +`../smolvla-followup-20261104/screen40-variants/`. +CSV/video gốc thuộc outputs cục bộ, không đưa lên Git. +Defaults screening 38/40; chưa chứng minh pruning giữ chất lượng. +Smoke 0/2 trước đó và screening mới là các lượt riêng, không cộng mẫu số. + +## Vai trò các script + +- `run_screening.py`: chạy tuần tự ba depth ablation qua runner hiện có. +- `capture.py`: tiện ích hook thu activation; cần adapter checkpoint và dữ liệu calibration thực. +- `cka_prune.py`: chọn layer theo linear CKA và ràng buộc attention từ activation NPZ. + Đây là adaptation thử nghiệm, chưa có activation calibration thực, checkpoint CKA, + finetuning hoặc SR cho cấu hình CKA. Không gọi là tái hiện hoàn chỉnh CLP. +- `test_*.py`: kiểm tra toán CKA, lựa chọn layer và capture bằng dữ liệu kiểm thử. + +Chạy kiểm tra từ gốc repo (Python có numpy và torch): + +```bash +python -m unittest discover -s research-notes/smolvla-pruning -p 'test_*.py' +``` + +## Official flash-mm đang chạy + +Runner: `../smolvla-followup-20261104/run_official200_flash_mm.py`. +Protocol: `../smolvla-followup-20261104/official200-flash-mm/protocol.json`. +Đánh giá 10 × 20 episode, flags `--flash-attn --mm-prec default`. +Chưa có kết quả official cuối tại lúc chuẩn bị commit; không dùng screening để điền official. +Các đường dẫn tuyệt đối trong protocol là đường dẫn môi trường đo, cần điều chỉnh khi tái lập. diff --git a/research-notes/smolvla-pruning/capture.py b/research-notes/smolvla-pruning/capture.py new file mode 100644 index 00000000..242e94e1 --- /dev/null +++ b/research-notes/smolvla-pruning/capture.py @@ -0,0 +1,63 @@ +"""PyTorch hook utility for a checkpoint-specific calibration adapter. + +The caller supplies actual transformer blocks and runs real training observations. +For expert blocks called repeatedly, select one fixed solver step using occurrence. +No automatic module-name guessing or checkpoint conversion is performed. +""" +import numpy as np + + +class ActivationCapture: + def __init__(self, blocks, occurrence=0, max_rows_per_example=128): + if occurrence < 0 or max_rows_per_example < 3: + raise ValueError('Invalid capture settings') + self.blocks = blocks # {'vit.0': torch_module, ...} + self.occurrence = occurrence + self.max_rows = max_rows_per_example + self.chunks = {key: [] for key in blocks} + self.handles = [] + self.counts = {} + self.current = {} + + def __enter__(self): + for key, block in self.blocks.items(): + def hook(module, inputs, output, key=key): + count = self.counts.get(key, 0) + self.counts[key] = count + 1 + if count != self.occurrence: + return + if isinstance(output, tuple): + output = output[0] + # Adapter must ensure features are last and exclude padding. + values = output.detach().float().cpu().numpy() + values = values.reshape(-1, values.shape[-1]) + index = np.linspace(0, len(values)-1, min(len(values), self.max_rows), dtype=int) + self.current[key] = values[index].copy() + self.handles.append(block.register_forward_hook(hook)) + return self + + def begin_example(self): + self.counts.clear() + self.current.clear() + + def end_example(self): + if set(self.current) != set(self.blocks): + raise ValueError('Not all blocks captured at selected occurrence') + for module in {key.split('.')[0] for key in self.blocks}: + shapes = {value.shape[0] for key, value in self.current.items() if key.startswith(module + '.')} + if len(shapes) != 1: + raise ValueError('Unaligned layer token rows') + for key, value in self.current.items(): + self.chunks[key].append(value) + + def save(self, path): + from pathlib import Path + if Path(path).exists(): + raise ValueError('Refuse overwrite') + if not all(self.chunks.values()): + raise ValueError('No completed calibration examples') + np.savez(path, **{key: np.concatenate(value) for key, value in self.chunks.items()}) + + def __exit__(self, *exc): + for handle in self.handles: + handle.remove() diff --git a/research-notes/smolvla-pruning/cka_prune.py b/research-notes/smolvla-pruning/cka_prune.py new file mode 100644 index 00000000..c60d086c --- /dev/null +++ b/research-notes/smolvla-pruning/cka_prune.py @@ -0,0 +1,106 @@ +"""Offline CKA selection for activation exports; never uses evaluation outcomes. + +NPZ keys: vit.0 ... vit.11, or vlm.0 ... vlm.31 and aex.0 ... aex.31. +Each array is [aligned observations/tokens, hidden features], not pooled means. +""" +import argparse +import hashlib +import json +from pathlib import Path +import numpy as np + + +def linear_cka(x, y): + x, y = np.asarray(x, dtype=np.float64), np.asarray(y, dtype=np.float64) + if x.ndim != 2 or y.ndim != 2 or x.shape[0] != y.shape[0] or x.shape[0] < 3: + raise ValueError('Expected aligned matrices with at least three rows') + if not np.isfinite(x).all() or not np.isfinite(y).all(): + raise ValueError('Non-finite activations') + x, y = x - x.mean(0), y - y.mean(0) + # Choose smaller feature or sample formulation; both are exact linear CKA. + if x.shape[0] < max(x.shape[1], y.shape[1]): + a, b = x @ x.T, y @ y.T + numerator = np.sum(a * b) + else: + a, b = x.T @ x, y.T @ y + numerator = np.sum((x.T @ y) ** 2) + denominator = np.linalg.norm(a) * np.linalg.norm(b) + if denominator <= 0 or not np.isfinite(denominator): + raise ValueError('Degenerate activations') + return float(np.clip(numerator / denominator, 0, 1)) + + +def select(scores, budget, threshold, period=1): + """Maximum-score constrained selection; keep plateau anchors and block types. + + DP state counts dropped layers so old/new attention parity remains valid. + Coupled scores use the minimum VLM/expert adjacent CKA, a conservative + adaptation to this loader, rather than independent CLP selections. + """ + n = len(scores) + if not 0 <= budget < n or period < 1 or not 0 <= threshold <= 1: + raise ValueError('Invalid budget, threshold or attention period') + states = {0: (0., [])} + for old in range(n): + following = {} + for dropped, (value, indices) in states.items(): + choices = [] + if (old % period == 0) == ((old - dropped) % period == 0): + choices.append((dropped, value, indices)) + if old > 0 and scores[old] >= threshold and dropped < budget: + choices.append((dropped + 1, value + scores[old], indices + [old])) + for count, score, chosen in choices: + if count not in following or score > following[count][0]: + following[count] = (score, chosen) + states = following + if budget not in states: + raise ValueError('No feasible selection: lower threshold or change budget; no fallback to tail') + return states[budget][1] + + +def main(): + p = argparse.ArgumentParser(description=__doc__) + p.add_argument('--activations', type=Path, required=True) + p.add_argument('--provenance', type=Path, required=True) + p.add_argument('--module', choices=['vit', 'coupled'], required=True) + p.add_argument('--budget', type=int, required=True) + p.add_argument('--threshold', type=float, default=.95) + p.add_argument('--attention-period', type=int, default=2) + p.add_argument('--output', type=Path, required=True) + args = p.parse_args() + if args.output.exists(): + p.error('Refuse overwrite') + provenance = json.loads(args.provenance.read_text()) + for field in ['checkpoint_sha256', 'dataset', 'calibration_episode_ids', 'evaluation_episode_ids', 'row_order', 'capture_description']: + if not provenance.get(field): + p.error('Missing provenance: ' + field) + if set(provenance['calibration_episode_ids']) & set(provenance['evaluation_episode_ids']): + p.error('Calibration/evaluation episode overlap') + modules = ['vit'] if args.module == 'vit' else ['vlm', 'aex'] + with np.load(args.activations, allow_pickle=False) as data: + profiles = {} + counts = [] + rows = set() + for module in modules: + keys = sorted(int(k.split('.')[1]) for k in data.files if k.startswith(module + '.')) + if keys != list(range(len(keys))) or len(keys) < 2: + p.error('Missing/invalid contiguous layer exports for ' + module) + counts.append(len(keys)) + rows.update(data[f'{module}.{i}'].shape[0] for i in keys) + profiles[module] = [0.] + [linear_cka(data[f'{module}.{i-1}'], data[f'{module}.{i}']) for i in keys[1:]] + if len(set(counts)) != 1: + p.error('Coupled layer counts differ') + # VLM and expert token counts may differ; alignment is within each module. + scores = np.min([profiles[m] for m in modules], axis=0).tolist() + drops = select(scores, args.budget, args.threshold, 1 if args.module == 'vit' else args.attention_period) + flag = '--vision-drop' if args.module == 'vit' else '--coupled-drop' + report = dict(method='CKA-guided adaptation; no finetuning', module=args.module, + budget=args.budget, threshold=args.threshold, profiles=profiles, drop=drops, + exporter_args=[flag, ','.join(map(str, drops))], provenance=provenance, + activation_sha256=hashlib.file_digest(args.activations.open('rb'), 'sha256').hexdigest(), + inference_validated=False, sr_measured=False) + args.output.write_text(json.dumps(report, indent=2) + '\n') + + +if __name__ == '__main__': + main() diff --git a/research-notes/smolvla-pruning/run_screening.py b/research-notes/smolvla-pruning/run_screening.py new file mode 100644 index 00000000..65d70cc3 --- /dev/null +++ b/research-notes/smolvla-pruning/run_screening.py @@ -0,0 +1,35 @@ +"""Mentor task 4/6: evaluate existing depth pruning, 10 tasks x 4 episodes each. + +Uses the established protocol runner; preserves all earlier evaluation artifacts. +""" +from pathlib import Path +import json +import subprocess +import sys + +root = Path(__file__).resolve().parents[2] +base = root / 'research-notes/smolvla-followup-20261104' +output = Path(__file__).resolve().parent / 'screening-batch.json' +names = ['smolvla-vision-tail-10', 'smolvla-vision-spaced-10', 'smolvla-coupled-tail-30'] + +def main(): + if output.exists(): + raise SystemExit('Batch exists; inspect results before resuming') + if subprocess.run(['pgrep', '-x', 'vla-server'], stdout=subprocess.DEVNULL).returncode == 0: + raise SystemExit('Existing server; refuse concurrent evaluation') + models = [root / 'research-notes/generated-models' / (name + '.gguf') for name in names] + if not all(model.is_file() for model in models): + raise SystemExit('Missing pruned GGUF') + records = [] + for name, model in zip(names, models): + output.write_text(json.dumps(dict(state='running', current=name, results=records), indent=2)+'\n') + command = [sys.executable, '-u', str(base / 'run_variant40.py'), name, str(model)] + result = subprocess.run(command, cwd=root) + records.append(dict(name=name, command=command, exit=result.returncode)) + if result.returncode: + output.write_text(json.dumps(dict(state='failed', results=records), indent=2)+'\n') + raise SystemExit(result.returncode) + output.write_text(json.dumps(dict(state='complete', results=records), indent=2)+'\n') + +if __name__ == '__main__': + main() diff --git a/research-notes/smolvla-pruning/test_capture.py b/research-notes/smolvla-pruning/test_capture.py new file mode 100644 index 00000000..4aec76c1 --- /dev/null +++ b/research-notes/smolvla-pruning/test_capture.py @@ -0,0 +1,36 @@ +import tempfile +import unittest +from pathlib import Path +import numpy as np +import torch +from capture import ActivationCapture + + +class CaptureTests(unittest.TestCase): + def test_occurrence_alignment_and_hook_cleanup(self): + a, b = torch.nn.Identity(), torch.nn.Identity() + with tempfile.TemporaryDirectory() as directory: + path = Path(directory) / 'features.npz' + with ActivationCapture({'vit.0': a, 'vit.1': b}, occurrence=1) as capture: + for example in range(2): + capture.begin_example() + for step in range(2): + x = torch.arange(24).reshape(1, 8, 3).float() + step + example + b(a(x)) + capture.end_example() + capture.save(path) + with np.load(path) as data: + self.assertEqual(data['vit.0'].shape, (16, 3)) + np.testing.assert_array_equal(data['vit.0'], data['vit.1']) + self.assertEqual(data['vit.0'][0, 0], 1) + self.assertFalse(a._forward_hooks) + self.assertFalse(b._forward_hooks) + + def test_missing_layer_does_not_commit_example(self): + a, b = torch.nn.Identity(), torch.nn.Identity() + with ActivationCapture({'vit.0': a, 'vit.1': b}) as capture: + capture.begin_example() + a(torch.ones(5, 3)) + with self.assertRaises(ValueError): + capture.end_example() + self.assertFalse(capture.chunks['vit.0']) diff --git a/research-notes/smolvla-pruning/test_cka_prune.py b/research-notes/smolvla-pruning/test_cka_prune.py new file mode 100644 index 00000000..7f2c3d82 --- /dev/null +++ b/research-notes/smolvla-pruning/test_cka_prune.py @@ -0,0 +1,44 @@ +import itertools +import unittest +import numpy as np +from cka_prune import linear_cka, select + + +class CKATests(unittest.TestCase): + def test_invariance_and_gram_feature_agreement(self): + rng = np.random.default_rng(42) + x = rng.normal(size=(30, 7)) + q, _ = np.linalg.qr(rng.normal(size=(7, 7))) + self.assertAlmostEqual(linear_cka(x, 3 * x @ q + 5), 1.) + y = rng.normal(size=(30, 9)) + a, b = x - x.mean(0), y - y.mean(0) + expected = np.sum((a @ a.T) * (b @ b.T)) / (np.linalg.norm(a @ a.T) * np.linalg.norm(b @ b.T)) + self.assertAlmostEqual(linear_cka(x, y), expected) + self.assertAlmostEqual(linear_cka(np.tile(x, (1, 8)), np.tile(y, (1, 8))), expected) + + def test_reject_bad_activations(self): + for x in [np.ones((5, 3)), np.full((5, 3), np.nan), np.ones((2, 3))]: + with self.assertRaises(ValueError): + linear_cka(x, x) + + def test_constrained_optimum_against_exhaustive_search(self): + scores = [0., .98, .99, .97, .96, .99, .98, .95] + for budget in [2, 4]: + chosen = select(scores, budget, .95, 2) + feasible = [] + for drop in itertools.combinations(range(1, len(scores)), budget): + keep = [i for i in range(len(scores)) if i not in drop] + if all(old % 2 == new % 2 for new, old in enumerate(keep)): + feasible.append(sum(scores[i] for i in drop)) + self.assertAlmostEqual(sum(scores[i] for i in chosen), max(feasible)) + + def test_anchors_and_infeasible_budget(self): + self.assertEqual(select([0, .99, .2, .98], 2, .95), [1, 3]) + with self.assertRaises(ValueError): + select([0, .99, .2, .98], 3, .95) + with self.assertRaises(ValueError): + select([0, .99, .2, .1], 1, .95, 2) + + +if __name__ == '__main__': + unittest.main() From 0165163fd2f136e543e6712c1cd6d7a6f33b5fe6 Mon Sep 17 00:00:00 2001 From: hientran-ai Date: Thu, 5 Nov 2026 14:50:48 +0700 Subject: [PATCH 13/13] Rename mentor review notes to review requests --- NOTES_SMOLVLA.md | 6 ++++-- REPORT_SMOLVLA.md | 6 +++--- MENTOR_REVIEW.md => REVIEW_REQUESTS.md | 12 ++++++------ SUBMISSION_SMOLVLA.md | 2 +- research-notes/task5-profiling/README.md | 2 +- research-notes/task5-profiling/limitations.md | 4 ++-- 6 files changed, 17 insertions(+), 15 deletions(-) rename MENTOR_REVIEW.md => REVIEW_REQUESTS.md (83%) diff --git a/NOTES_SMOLVLA.md b/NOTES_SMOLVLA.md index 115d39f9..295280ee 100644 --- a/NOTES_SMOLVLA.md +++ b/NOTES_SMOLVLA.md @@ -13,7 +13,7 @@ Cập nhật trạng thái ngày 05/11/2026 (UTC+07). Các mục phía sau là n | 5. Architecture / profile | Metadata checkpoint, sơ đồ, phase và nsys node traces | Connector/attention chưa tách riêng; GPU-active khác wall time | | 6. Pruning | Ba GGUF depth ablation, kiểm tra output, latency module và smoke | Cả ba smoke 0/2; chưa implement CLP/CKA hoặc finetuning | -Kiểm tra lại CSV cho đủ 360 episode và bảng theo task: [TASK_RESULTS.md](research-notes/smolvla-followup-20261104/TASK_RESULTS.md). Phần còn thiếu và tiêu chí hoàn tất: [MENTOR_REVIEW.md](MENTOR_REVIEW.md). +Kiểm tra lại CSV cho đủ 360 episode và bảng theo task: [TASK_RESULTS.md](research-notes/smolvla-followup-20261104/TASK_RESULTS.md). Phần còn thiếu và tiêu chí hoàn tất: [REVIEW_REQUESTS.md](REVIEW_REQUESTS.md). ## Nguyên văn mentor @@ -483,7 +483,7 @@ Screen40 q8-vision: task 9 hoàn tất 4/4; tổng tạm thời 36/40. Log scree Batch ba biến thể đã complete, 120/120 episode, cả ba exit 0: flash-mm 35/40, Q8-lm 36/40, Q8-vision 36/40. Q8-vision task 9 đạt 4/4, không skip. Trạng thái chạy trong các dòng nhật ký trước là lịch sử. -Đã cập nhật REPORT_SMOLVLA.md, SUBMISSION_SMOLVLA.md, PART3_OPTIMIZATION.md, CALCULATIONS_SMOLVLA.md, MENTOR_REVIEW.md và PAPER_READING_SMOLVLA_CLP.md. Phụ lục có thêm Q8-vision, Wilson 95% 76,9–96,0%; 180/200 vẫn chỉ là ngoại suy, chưa phải official. Báo cáo có bảng tiêu chí đóng các thực nghiệm còn mở. +Đã cập nhật REPORT_SMOLVLA.md, SUBMISSION_SMOLVLA.md, PART3_OPTIMIZATION.md, CALCULATIONS_SMOLVLA.md, REVIEW_REQUESTS.md và PAPER_READING_SMOLVLA_CLP.md. Phụ lục có thêm Q8-vision, Wilson 95% 76,9–96,0%; 180/200 vẫn chỉ là ngoại suy, chưa phải official. Báo cáo có bảng tiêu chí đóng các thực nghiệm còn mở. Thêm audit_screening.py: đối chiếu result.json với 40 CSV của defaults và ba biến thể (160 episode), kiểm tra ID episode/task, steps, success, aborted, SR và exit batch. Kết quả khớp: defaults 38/40; flash-mm 35/40; Q8-lm 36/40; Q8-vision 36/40; tất cả aborted=0. screening-final-audit.json lưu số đo từng episode và SHA256 CSV; không kiểm tra video. submission-progress.json được cập nhật từ result cuối. @@ -553,3 +553,5 @@ Screen40 smolvla-coupled-tail-30: task 7 hoàn tất 2/4; tổng tạm thời 16 Screen40 smolvla-coupled-tail-30: task 8 hoàn tất 4/4; tổng tạm thời 20/36. Log screen40-variants/smolvla-coupled-tail-30/task-8.log; chưa phải official SR. Screen40 smolvla-coupled-tail-30: task 9 hoàn tất 3/4; tổng tạm thời 23/40. Log screen40-variants/smolvla-coupled-tail-30/task-9.log; chưa phải official SR. + +Official200 flash-mm: task 0 hoàn tất 17/20; tổng tạm thời 17/20. Log official200-flash-mm/task-0.log; SR tạm thời; chỉ chốt sau đủ200 episode. diff --git a/REPORT_SMOLVLA.md b/REPORT_SMOLVLA.md index e82b52e8..ba234f52 100644 --- a/REPORT_SMOLVLA.md +++ b/REPORT_SMOLVLA.md @@ -73,9 +73,9 @@ Timer dùng CPU steady_clock; `ggml_backend_graph_compute` đồng bộ backend Trên 20 prediction được trace, summed kernel duration 2260,227 → 1733,185 ms; nhóm GEMM (gồm attention products) 1317,749 → 898,702 ms. Khoảng không có recorded process activity là 10,54% → 9,13%, không phải chứng minh toàn GPU idle. **Cả hai trace có cảnh báo `Not all CUDA events might have been collected.` và dùng legacy software tracing do hardware tracing không hỗ trợ.** Vì vậy coverage đầy đủ, exact attention time và nguyên nhân gap chưa được xác nhận; các tỷ lệ chỉ mô tả events đã ghi nhận. Hai test CUDA chưa rerun, không báo đã pass. -Chi tiết: [kiến trúc và source anchors](research-notes/task5-profiling/architecture.md), [timer/phase measurements](research-notes/task5-profiling/timing-methodology.md), [Nsight API/kernel/memcpy](research-notes/task5-profiling/nsys-analysis.md), [giải thích tiếng Việt](research-notes/task5-profiling/explanation.md), [mentor review và giới hạn](research-notes/task5-profiling/limitations.md), [tái lập](research-notes/task5-profiling/reproduction.md). +Chi tiết: [kiến trúc và source anchors](research-notes/task5-profiling/architecture.md), [timer/phase measurements](research-notes/task5-profiling/timing-methodology.md), [Nsight API/kernel/memcpy](research-notes/task5-profiling/nsys-analysis.md), [giải thích tiếng Việt](research-notes/task5-profiling/explanation.md), [các phần xin review và giới hạn](research-notes/task5-profiling/limitations.md), [tái lập](research-notes/task5-profiling/reproduction.md). -## Vấn đề cần mentor review +## Vấn đề cần các phần xin review 1. Hai CUDA tests fail và fused/unfused maxabs0,000545874: chưa tìm ra nguyên nhân; giữ defaults theo quyết định baseline của người dùng. 2. Peak allocation1912,47MiB chưa bao hết context/driver. NVML process memory trả N/A; không gọi là toàn bộ process resident VRAM. @@ -89,7 +89,7 @@ Chi tiết: [kiến trúc và source anchors](research-notes/task5-profiling/arc - [Bảng kết quả theo task](research-notes/smolvla-followup-20261104/TASK_RESULTS.md) và [audit 360 episode](research-notes/smolvla-followup-20261104/submission-audit.json): kiểm tra lại 200 official + 160 screening từ CSV, có hash và loại lượt task 9 bị gián đoạn. Chạy lại bằng `python3 research-notes/smolvla-followup-20261104/audit_submission.py`; không cần inference mới. - [Nhật ký](NOTES_SMOLVLA.md) là lịch sử, không dùng các dòng trạng thái cũ làm hiện trạng. - [Report lịch sử](research-notes/review-20261104/REPORT_HISTORY.md) giữ nguyên snapshot cũ, có nội dung đã hết hiệu lực. -- [Review Markdown](MENTOR_REVIEW.md) liệt kê các vấn đề tài liệu và phương pháp. +- [Các phần xin review](REVIEW_REQUESTS.md) liệt kê các vấn đề tài liệu và phương pháp. - Dữ liệu nhỏ/scripts được commit; GGUF, video, trace nsys/sqlite, wheel và môi trường cài đặt không đưa lên Git. ## Task 1 — cài đặt, công cụ và tiêu chí đạt diff --git a/MENTOR_REVIEW.md b/REVIEW_REQUESTS.md similarity index 83% rename from MENTOR_REVIEW.md rename to REVIEW_REQUESTS.md index 5400d0e9..7c84086a 100644 --- a/MENTOR_REVIEW.md +++ b/REVIEW_REQUESTS.md @@ -1,10 +1,10 @@ -# Các điểm nhờ mentor review +# Các phần xin review Cập nhật ngày 05/11/2026 (UTC+07). Tài liệu chính: [REPORT_SMOLVLA.md](REPORT_SMOLVLA.md), [bảng phần3](PART3_OPTIMIZATION.md). ## Các vấn đề thực nghiệm còn mở -Đợt báo cáo chốt theo dữ liệu hiện có; không chạy thêm official cho biến thể hoặc thí nghiệm mới. Hai lỗi CUDA tạm hoãn xử lý, vẫn ghi nhận 13/15 tests pass. Các câu hỏi dưới đây phục vụ nhận xét kết quả và định hướng nghiên cứu sau đợt này. +Nhờ người review góp ý về phương pháp đo, cách diễn giải kết quả và hướng nghiên cứu trong các phần dưới đây. Hai lỗi CUDA vẫn được công bố: 13/15 tests pass. Official flash-mm đã được khởi chạy theo yêu cầu bổ sung; chưa đưa SR cuối vào tài liệu này. | Vấn đề | Bằng chứng / giới hạn | Câu hỏi review | |---|---|---| @@ -16,12 +16,12 @@ Cập nhật ngày 05/11/2026 (UTC+07). Tài liệu chính: [REPORT_SMOLVLA.md]( | Synthetic output | Input 6 token, 50×7 chiều action thực; benchmark 16 token | Nên thêm calibration/real observation output checks nào? | | LIBERO recovery | Task 9 official chạy lại 20 episode; toàn bộ phần dở bị loại | Policy recovery này có phù hợp không? | | Dependencies | Bảy metadata conflicts; client import/render/rollout thành công | Có yêu cầu môi trường lock sạch để tái lập không? | -| Pruning | Tail/spaced; cả 3 bản smoke đạt 0/2; chưa CKA/finetune | Chọn calibration, bảo toàn parity SA/CA và coupling VLM/expert thế nào? | +| Pruning | Screening vision-tail 0/40, vision-spaced 0/40, coupled-tail 23/40; có tiện ích CKA nhưng chưa calibration thực/finetune | Chọn calibration, bảo toàn parity SA/CA và coupling VLM/expert thế nào? | | Profile | GPU active khác wall; denoise gồm crossKV; vision gồm connector | Cần thêm instrumentation để tách action expert/connector không? | ## Dữ liệu và trạng thái đánh giá -Kết quả và script tái lập được lưu trong nhánh này. Screening đã hoàn tất 120/120 episode: flash-mm 35/40, Q8-lm 36/40, Q8-vision 36/40, so với defaults 38/40. Official biến thể và repeated-seed chưa chạy; chưa kết luận giữ SR. Kết quả đã đối chiếu CSV bằng `research-notes/smolvla-followup-20261104/audit_screening.py`. +Kết quả và script tái lập được lưu trong nhánh này. Screening đã hoàn tất 120/120 episode: flash-mm 35/40, Q8-lm 36/40, Q8-vision 36/40, so với defaults 38/40. Official flash-mm đã khởi chạy; official hai bản Q8 và repeated-seed chưa có. Chưa kết luận giữ SR. Kết quả đã đối chiếu CSV bằng `research-notes/smolvla-followup-20261104/audit_screening.py`. ## Rà soát phần thiếu và tiêu chí hoàn tất @@ -32,7 +32,7 @@ Kết quả và script tái lập được lưu trong nhánh này. Screening đ | 1. Cài đặt | Thống nhất trạng thái 13/15 giữa checklist và báo cáo | Sửa hai test CUDA, chạy lại theo hợp đồng hiện tại; chưa thực hiện vì đang tạm hoãn | | 2. Baseline | Giữ rõ allocation và resident VRAM; công bố điều kiện đo và giới hạn telemetry | Đo process resident memory trên môi trường hỗ trợ nếu yêu cầu đúng chỉ số này | | 3. Tối ưu | Đã có bảng bốn chỉ tiêu, control riêng và tính speedup cùng batch | Kiểm tra chất lượng cho cấu hình định chọn; không suy SR từ synthetic delta | -| 4. LIBERO | Audit cả official và screening; thêm bảng thành công từng task | Official cho cấu hình được chọn chưa có; không chạy thêm trong đợt chốt này | +| 4. LIBERO | Audit cả official và screening; thêm bảng thành công từng task | Defaults đã có official 177/200; flash-mm đang được đánh giá bổ sung, chưa có kết quả cuối trong tài liệu này | | 5. Profile | Phân biệt module GPU-active, phase wall và default path | Connector riêng, attention riêng và phân tích nguyên nhân gap chưa hoàn tất | | 6. Pruning | Có ba depth ablation và kết quả âm; phân biệt rõ với CLP | Nếu yêu cầu tái hiện phương pháp paper: cần activation calibration, CKA, mapping hợp lệ và quy trình finetuning/đánh giá tương ứng | @@ -42,7 +42,7 @@ Audit CPU ngày 05/11 đã parse khớp sáu raw latency log, tính lại tổng Điểm cần review thêm: cả hai trace báo `Not all CUDA events might have been collected.`; không thể chứng minh completeness chỉ vì không có chuỗi lost/drop. Trace dùng legacy software instrumentation; Unified Memory không trace được. Gap 10,54%/9,13% chỉ thuộc recorded target-process activity, không whole-GPU idle hoặc CPU bottleneck đã xác nhận. Timer wall có backend synchronization; PHASE đổi graph/padding nên không chia trực tiếp baseline mặc định thành module times. -GPU đang có server dùng tại lúc audit nên chưa đo lại hoặc rerun hai CUDA tests. File LastTestsFailed lịch sử vẫn liệt kê foldquant_cuda_op và fused_cuda_ops; không đồng nghĩa đã tái hiện fail hôm nay. Chưa xác minh source/binary provenance bằng rebuild, chưa có best theo official SR, exact connector/action-expert-only/attention timing hoặc resident process VRAM. +GPU đang có server dùng tại lúc audit nên chưa đo lại hoặc rerun hai CUDA tests. File LastTestsFailed lịch sử vẫn liệt kê foldquant_cuda_op và fused_cuda_ops; không đồng nghĩa đã tái hiện fail hôm nay. Chưa xác minh source/binary provenance bằng rebuild, defaults được chọn theo SR quan sát, chưa có official so sánh cho biến thể, exact connector/action-expert-only/attention timing hoặc resident process VRAM. [Review Task 5 chi tiết](research-notes/task5-profiling/limitations.md) và [script audit CPU](research-notes/task5-profiling/audit_evidence.py). Đây là báo cáo có thể review trên bằng chứng hiện có, chưa xác nhận hoàn tất toàn bộ yêu cầu thực nghiệm. diff --git a/SUBMISSION_SMOLVLA.md b/SUBMISSION_SMOLVLA.md index 3e5a47bf..b1e918ba 100644 --- a/SUBMISSION_SMOLVLA.md +++ b/SUBMISSION_SMOLVLA.md @@ -34,7 +34,7 @@ Cả hai trace có cảnh báo **có thể chưa thu đủ CUDA events** và s - [Báo cáo tổng thể](REPORT_SMOLVLA.md) - [Bảng tối ưu không train](PART3_OPTIMIZATION.md) - [Kiến trúc và profiling](research-notes/smolvla-followup-20261104/ARCHITECTURE_AND_PROFILE.md) -- [Các câu hỏi cần góp ý](MENTOR_REVIEW.md) +- [Các câu hỏi cần góp ý](REVIEW_REQUESTS.md) - [Ghi chú hai paper](PAPER_READING_SMOLVLA_CLP.md) ## Giới hạn cần đọc cùng kết quả diff --git a/research-notes/task5-profiling/README.md b/research-notes/task5-profiling/README.md index b18ee687..d7af5eb6 100644 --- a/research-notes/task5-profiling/README.md +++ b/research-notes/task5-profiling/README.md @@ -11,7 +11,7 @@ Báo cáo này kiểm tra source hiện tại và tái phân tích artifact ngà 3. [Baseline](baseline-results.md): protocol, tất cả lượt chạy, thống kê. 4. [Nsight](nsys-analysis.md): kernel/API/memcpy/gap và cảnh báo trace. 5. [Comparison](comparison.md): số liệu so sánh có phân biệt loại phép đo. -6. [Limitations và mentor review](limitations.md). +6. [Limitations và các phần xin review](limitations.md). 7. [Giải thích kiến thức](explanation.md) và [tái lập](reproduction.md). Kết luận được hỗ trợ: flash-mm là ứng viên runtime nhanh hơn defaults trên protocol đã lưu; trung vị mean ba lượt 114,1 → 92,4 ms (−19,0%). Chưa xác nhận tốt nhất về chất lượng: LIBERO screening 35/40 so với defaults 38/40. Giữ 10 bước denoise khi so sánh. `steps-3` nhanh nhưng thay đổi solver và sai khác action lớn nên không đưa vào cặp đối chứng giữ cùng số bước. diff --git a/research-notes/task5-profiling/limitations.md b/research-notes/task5-profiling/limitations.md index 84a6ce5f..2e01ba4e 100644 --- a/research-notes/task5-profiling/limitations.md +++ b/research-notes/task5-profiling/limitations.md @@ -1,4 +1,4 @@ -# Giới hạn và mentor review +# Giới hạn và các phần xin review ## Observed facts @@ -20,7 +20,7 @@ Không chạy lại vì GPU đang được server dùng. Không tự kill server Vision softmax giảm cùng chuyển sang flash path gợi ý giảm materialization/traffic hữu ích; chưa có hardware counters chứng minh bandwidth bottleneck. Gap có thể liên quan host copies/setup/sync hoặc instrumentation/scheduling; chưa correlation đầy đủ từng gap→CPU event để kết luận CPU bottleneck. Cần GPU rảnh và trace mới xử lý/công bố completeness warning; dùng source/NVTX correlation nếu cần exact module attribution, đo instrumentation overhead. -## Mentor review +## Các phần xin review | Yêu cầu mentor | Trạng thái | |---|---|