diff --git a/bench/minimax_bench.py b/bench/minimax_bench.py index 8a6f26a..050937c 100644 --- a/bench/minimax_bench.py +++ b/bench/minimax_bench.py @@ -299,6 +299,31 @@ def suite_family(fl2va, ref2va, prefix=""): ] +def suite_key(fl2va, ref2va, prefix="", repeats=3): + """Key configurations with N repeats for real averages, plus scaling singles. + + Repeated (N=repeats, distinct seeds): t2v 864x480 5s; ref2v 1 ref; ref2v + 8 refs (few-vs-many reference context, the priority modality). + Singles: t2v 15 s, t2v max-res, ref2v 8-ref max sizing. + """ + cfgs = [] + for i in range(repeats): + cfgs.append(make_cfg("t2v", fl2va, 864, 480, 5, 20, 10 + i, + f"{prefix}key_t2v_5s_r{i}", warm=(i > 0))) + for i in range(repeats): + cfgs.append(make_cfg("ref2v", ref2va, 864, 480, 5, 20, 10 + i, + f"{prefix}key_ref2v_1ref_r{i}", warm=(i > 0), ref_count=1)) + for i in range(repeats): + cfgs.append(make_cfg("ref2v", ref2va, 864, 480, 5, 20, 10 + i, + f"{prefix}key_ref2v_8ref_r{i}", warm=True, ref_count=8)) + cfgs.append(make_cfg("t2v", fl2va, 864, 480, 15, 20, 20, f"{prefix}key_t2v_15s", warm=True)) + cfgs.append(make_cfg("t2v", fl2va, 1344, 768, 5, 20, 20, f"{prefix}key_t2v_1344", warm=True)) + cfgs.append(make_cfg("ref2v", ref2va, 864, 480, 5, 20, 20, + f"{prefix}key_ref2v_8ref_max", warm=True, ref_count=8, + ref_image_size="max")) + return cfgs + + def suite_sweep(fl2va, ref2va, prefix=""): """Full sweep: tasks x durations x resolutions at fixed 20 steps. @@ -336,7 +361,8 @@ def main(): ap = argparse.ArgumentParser(description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) ap.add_argument("--host", default=DEFAULT_HOST) - ap.add_argument("--suite", choices=["quick", "sweep", "refheavy", "family"]) + ap.add_argument("--suite", choices=["quick", "sweep", "refheavy", "family", "key"]) + ap.add_argument("--repeats", type=int, default=3) ap.add_argument("--task", choices=["t2v", "i2v", "ref2v"]) ap.add_argument("--model", action="append", default=[], help="override model files, e.g. fl2va=file.safetensors (repeatable)") @@ -370,6 +396,8 @@ def main(): cfgs = suite_refheavy(models["ref2va"], args.prefix) elif args.suite == "family": cfgs = suite_family(models["fl2va"], models["ref2va"], args.prefix) + elif args.suite == "key": + cfgs = suite_key(models["fl2va"], models["ref2va"], args.prefix, args.repeats) elif args.task: model = models["ref2va"] if args.task == "ref2v" else models["fl2va"] label = args.label or f"{args.task}_{args.width}x{args.height}_{args.seconds}s"