Instructions to use XXXpilar/Fastfill-test with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use XXXpilar/Fastfill-test with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
|
Download code/fastfill/v2/ops/README.md from XXXpilar/Fastfill-test: direct link, hf CLI and curl.
- Browser
- Download file 6.07 kB
-
https://huggingface.co/XXXpilar/Fastfill-test/resolve/main/code/fastfill/v2/ops/README.md
- Command line
-
hf download hf://XXXpilar/Fastfill-test/code/fastfill/v2/ops/README.md
-
curl -L -o README.md https://huggingface.co/XXXpilar/Fastfill-test/resolve/main/code/fastfill/v2/ops/README.md
6.07 kB
fastfill/v2/ops β operations and final-analysis scripts (2026-10-08)
Server-side scripts used to rebuild data, run the autopilot and analyse the final model. The isambard_* scripts and
run_plan.sh run from any checkout; the others assume the old server checkout /home/jovyan/shanliantian/fastfill.
Nothing here holds credentials β the LLM key lived only in /home/jovyan/shanliantian/.fastfill_api.env on that server.
Operations
rebuild_and_publish.sh <name>(Mac): full data chain (legacy_build β legacy_verify β review_data β qualified_data β multisource_verify) from a pinned worktree (SRC=), HF upload,NEXT_DATA.json;NO_HANDOFF=1holds the server handoff until the reports are checked. Stops at the first failing verifier (set -euo pipefail).start_autorun_retrain.sh: retrain on new data with logged--setoverrides (model.max_objects=256,loss.yaw_cls=0.5),--name-suffix, LLM step disabled (no paid calls).run_checkpoint.sh <model-step> <tag>: five-room RoomGenBench hand-off on CPU with--require-placement(the autopilot calls it; runs from any checkout). It rebuildsruns/roomgenbench/requestsfrom the scenes and builder on disk each time (a differing old directory is set aside asrequests.stale-*) and records them in<tag>/requests.sha256.- Isambard-AI (aarch64 GH200, Slurm): from a checkout under
$PROJECTDIR,bash fastfill/v2/ops/isambard_submit.shsubmitsisambard_setup.sbatch(conda env with the baseline's package versions, pinned data, backbone and LLM rows, tests) and, once it succeeds, twoisambard_autorun.sbatchjobs (one node each): yaw_cls 0.5 and the 0.08 control, both fromconfigs/main7-cell05-main-20261007b-e5.json(the baseline's configuration) withmax_objects256. Status inruns/autorun-yawcls05/andruns/autorun-yawcls008/, job logs inruns/isambard/. Resubmitting an autorun job resumes it. run_structured.sh,rescore_llm.sh: the OptiScene-style LLM modes on the frozen 300 rows and re-scoring of saved LLM predictions with the current evaluator (no API calls);run_reference.sh: reference check of a 5-room export.
Final analysis on Isambard-AI (after both autopilot arms; one node, 4 GPUs, at most 12 h)
- First
sacct -j <setup>,<yawcls05>,<yawcls008> -o JobID,JobName,State,ExitCodeandgit log -1: the setup of 2cd4f47 fails its test step on Isambard (fixed in 3806325), and arms queued with afterok on a failed setup never start; then pull main and runisambard_submit.shagain. Pull only while no arm's STATUS.json phase is F-* (a change of a fastfill/v2/*.py file during phase F stops it). Submit from the checkout with the job ids of the arms that will actually run (once bothruns/autorun-yawcls05/STATUS.jsonandruns/autorun-yawcls008/STATUS.jsonsay done / done-with-failures the dependency can be dropped):sbatch --dependency=afterok:<yawcls05 job>:<yawcls008 job> fastfill/v2/ops/isambard_analysis.sbatchUnattended only if both arm jobs exit 0 within their 24 h: an arm that fails or times out (no automatic resubmission; resubmitting resumes it) leaves the analysis job pending; after resubmitting that arm runscontrol update JobId=<ff-analysis job> Dependency=afterok:<new ids>(or scancel it and submit again). It runsrun_plan.sh all(inputs β gpu β cpu β report) from the checkout; the report isruns/analysis/final/report.html, the job logruns/isambard/ff-analysis-<job>.out, step timesruns/analysis/walltime.tsv. Resubmitting resumes (finished outputs are kept; all of them are redone if the chosen checkpoints changed). Single steps by hand only inside an allocation (srun --nodes=1 --gpus=4 ...), not on a login node. isambard_inputs.py(step inputs): refuses unless both arms are done / done-with-failures with the same select2 cohort bytes scored by the same fastfill/v2 code (implementation_sha256); final = the arm with the lower select2 score (STATUS best.score), control = the other. Downloads with the submitting shell's HF_HOME / login, every file sha256-pinned: the old baseline (liantian/fastfill-v2-models, used fromruns/baseline-hf/whose model_config.json names this checkout'smodels/Qwen3-8B, recorded in BACKBONE_REWRITE.json), the saved LLM answers (prompt, harness βruns/llm-{prompt,harness}-300/; the structured modes only ifruns/llm-structured*-300exist, else the report says they are missing) and the old datadata/main-20261007b. Rebuilds the baseline's old selection cohorts withAutopilot.eval_data. Writesruns/analysis/inputs.json.- The report compares final vs baseline (β€ 128-object rooms), final vs control (the evidence for the choice), spread vs argmax per model, final vs the LLM answers re-scored by the evaluator on disk (no API calls), the ablations and the RoomGenBench reference checks; validation decides, test is report-only.
isambard_dryrun.sh WORK PYTHON NEW_DATA OLD_DATA LLM_DIR ROOMGENBENCH: CPU end-to-end dry run of the whole job in a throwaway checkout (tiny-backbone stand-ins, both arms made by the real autopilot,DRYRUN=1: no downloads).
Analysis scripts (make_sample.sh is the old server's CPU sample test of 2026-10-08, kept as a record)
stratify.py: per-object errors split by target selection rule (old vs added targets), place, source and object count, reproducingevaluate's report exactly; validator collision / clean-room rates per stratum.compare.py: paired room-level AβB (bootstrap CI of the mean per-room difference as the primary criterion, Holm sign test as robustness); refuses different rows or different decoding code.llm_compare.py: FastFill (raw / spread) vs the four LLM modes on the frozen 300 rows; transport failures, latency and token columns.sample_validation.py,diag_ablation.py,selftest_shift.py,crosscheck.py,report.py(self-contained HTML). Decisions (spread vs argmax, replacing the baseline) read validation comparisons only; test sections are report-only.