Файл-оркестратор:
Пример конфига:
Подготовка eval_bundle_v1 и тестовых predictions:
Автогенерация real predictions с endpoint (OpenAI-compatible):
Поддерживаемая схема сравнения по умолчанию: base_qwen3_1_7b vs dataset_v6 vs dataset_v7 vs dataset_v7_orpo.
- Прогон
scoreдля всех моделей и seed'ов через:/Users/unterlantas/Documents/XCode/shafinMultitool/docs/SGv7pipeline/eval/07_eval_local_model.py --mode score
- Прогон
compareдля всех пар подходов и seed'ов:--mode compare
- Сбор агрегированных артефактов:
aggregate/runs_scored.csvaggregate/model_summary.csvaggregate/pairwise_compare.csvaggregate/v8_plan_slice_summary.csv(optional, если заданыv8_plan_case_results_*)aggregate/scientific_report.mdaggregate/benchmark_manifest.json
experiments/sc_benchmark/ хранит:
- benchmark code
- reusable configs
- frozen workspace assets (
eval_bundle, template predictions, serving maps)
Конкретные run-артефакты и исследовательские прогоны лучше хранить в:
Prediction exports внутри experiments/sc_benchmark разложены по семействам:
predictions_real_v1_export/base/predictions_real_v1_export/v6/predictions_real_v1_export/v7/workspace/predictions_oracle_v1/base/workspace/predictions_oracle_v1/v6/workspace/predictions_oracle_v1/v7/
Практическое правило:
- если файл нужен как reusable benchmark infrastructure, его место в
experiments/sc_benchmark - если это результат конкретного прогона модели, Colab export, benchmark result, manual review pack или corpus attempt, его место в
docs/SGv{N}pipeline/runs/...соответствующей версии
python3 /Users/unterlantas/Documents/XCode/shafinMultitool/experiments/sc_benchmark/run_scientific_benchmark.py \
--config /Users/unterlantas/Documents/XCode/shafinMultitool/experiments/sc_benchmark/benchmark_config.example.json \
--output-dir /tmp/sc_benchmark_run \
--mode fullpython3 /Users/unterlantas/Documents/XCode/shafinMultitool/experiments/sc_benchmark/prepare_experiment_assets.pyПосле этого появятся:
/Users/unterlantas/Documents/XCode/shafinMultitool/experiments/sc_benchmark/workspace/eval_bundle_v1/Users/unterlantas/Documents/XCode/shafinMultitool/experiments/sc_benchmark/workspace/predictions_oracle_v1/Users/unterlantas/Documents/XCode/shafinMultitool/experiments/sc_benchmark/workspace/benchmark_config.v1.json/Users/unterlantas/Documents/XCode/shafinMultitool/experiments/sc_benchmark/workspace/predictions_real_v1/Users/unterlantas/Documents/XCode/shafinMultitool/experiments/sc_benchmark/workspace/benchmark_config.real.v1.json
python3 /Users/unterlantas/Documents/XCode/shafinMultitool/experiments/sc_benchmark/generate_predictions_from_endpoint.py \
--eval-bundle-dir /Users/unterlantas/Documents/XCode/shafinMultitool/experiments/sc_benchmark/workspace/eval_bundle_v1 \
--output-dir /Users/unterlantas/Documents/XCode/shafinMultitool/experiments/sc_benchmark/workspace/predictions_real_v1 \
--models base_qwen3_1_7b,dataset_v6,dataset_v7,dataset_v7_orpo \
--seeds 42,43,44 \
--api-base-url http://127.0.0.1:8000/v1 \
--serving-model-map-json /Users/unterlantas/Documents/XCode/shafinMultitool/experiments/sc_benchmark/workspace/serving_model_map.template.json--mode full: score + compare + aggregate--mode score-only: только score + aggregate--mode aggregate-only: только чтение уже готовых отчётов и построение итоговых таблиц
Можно прописать в models[*].generate_predictions_cmd shell-команду генерации predictions.
Тогда запускай с флагом:
--allow-generate-predictionsШаблонные переменные внутри команды:
{model_id},{model_name},{seed},{checkpoint_id},{predictions_jsonl},{report_dir}
Если для модели есть sidecar JSONL с case-level ScenePlanIR eval rows, можно добавить один из ключей:
v8_plan_case_results_pathv8_plan_case_results_path_templatev8_plan_case_results_by_seed
Тогда orchestrator дополнительно посчитает:
aggregate/v8_plan_slice_summary.csvaggregate/v8_plan_slice_summary_by_model.csv
Ожидаемые поля на строку:
plan_parse_okplan_reference_binding_passplan_beat_integrity_pass