Add fixed-cohort Frontier rank protocol
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,143 @@
|
|||||||
|
from __future__ import annotations
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import csv
|
||||||
|
import importlib.util
|
||||||
|
import json
|
||||||
|
import sys
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
|
||||||
|
SCRIPT = Path(__file__).with_name("fixed_cohort_rank.py")
|
||||||
|
SPEC = importlib.util.spec_from_file_location("fixed_cohort_rank", SCRIPT)
|
||||||
|
MODULE = importlib.util.module_from_spec(SPEC)
|
||||||
|
assert SPEC.loader is not None
|
||||||
|
sys.modules[SPEC.name] = MODULE
|
||||||
|
SPEC.loader.exec_module(MODULE)
|
||||||
|
|
||||||
|
|
||||||
|
def _write_trace(path: Path) -> None:
|
||||||
|
lengths = [100, 1500, 3000, 6000, 12000, 24000]
|
||||||
|
rows = []
|
||||||
|
for index in range(120):
|
||||||
|
rows.append(
|
||||||
|
{
|
||||||
|
"timestamp": index * 0.5,
|
||||||
|
"sampling_u": (index + 1) / 121,
|
||||||
|
"input_length": lengths[index % len(lengths)],
|
||||||
|
"output_length": 10,
|
||||||
|
"prompt": f"raw prompt {index}",
|
||||||
|
}
|
||||||
|
)
|
||||||
|
path.write_text("".join(json.dumps(row) + "\n" for row in rows))
|
||||||
|
|
||||||
|
|
||||||
|
def test_prepare_protocol_keeps_identical_cohort_and_scales_only_arrivals(
|
||||||
|
tmp_path: Path,
|
||||||
|
) -> None:
|
||||||
|
trace = tmp_path / "trace.jsonl"
|
||||||
|
_write_trace(trace)
|
||||||
|
manifest_path = MODULE.prepare_protocol(
|
||||||
|
argparse.Namespace(
|
||||||
|
trace=trace,
|
||||||
|
expected_trace_sha256="",
|
||||||
|
output_root=tmp_path / "protocol",
|
||||||
|
cohort_size=24,
|
||||||
|
seed=7,
|
||||||
|
rate=[0.2, 0.4],
|
||||||
|
)
|
||||||
|
)
|
||||||
|
manifest = json.loads(manifest_path.read_text())
|
||||||
|
assert manifest["selection"]["cohort_bin_quotas"] == [4, 4, 4, 4, 4, 4]
|
||||||
|
assert manifest["load_contract"]["binary_search"] is False
|
||||||
|
assert manifest["load_contract"]["monotonicity_assumed"] is False
|
||||||
|
|
||||||
|
materialized = []
|
||||||
|
for record in manifest["rates"].values():
|
||||||
|
with Path(record["path"]).open(newline="") as source:
|
||||||
|
rows = list(csv.DictReader(source))
|
||||||
|
materialized.append(rows)
|
||||||
|
duration = float(rows[-1]["arrived_at"]) - float(rows[0]["arrived_at"])
|
||||||
|
assert len(rows) / duration == record["offered_request_rate"]
|
||||||
|
assert [row["source_row_index"] for row in materialized[0]] == [
|
||||||
|
row["source_row_index"] for row in materialized[1]
|
||||||
|
]
|
||||||
|
assert [row["num_prefill_tokens"] for row in materialized[0]] == [
|
||||||
|
row["num_prefill_tokens"] for row in materialized[1]
|
||||||
|
]
|
||||||
|
assert MODULE.audit_protocol(manifest_path)["status"] == "passed"
|
||||||
|
|
||||||
|
|
||||||
|
def test_score_requests_applies_all_slos_to_same_outcomes() -> None:
|
||||||
|
requests = [
|
||||||
|
{"input_tokens": 100, "success": True, "ttft_ms": 900.0},
|
||||||
|
{"input_tokens": 16000, "success": True, "ttft_ms": 2500.0},
|
||||||
|
{"input_tokens": 24000, "success": False, "ttft_ms": None},
|
||||||
|
]
|
||||||
|
score = MODULE.score_requests(requests)
|
||||||
|
assert score["scores"]["linear_8k_primary"]["passed_request_count"] == 2
|
||||||
|
assert score["scores"]["legacy_step_1s_2s"]["passed_request_count"] == 1
|
||||||
|
assert score["ttft_ms"]["count"] == 2
|
||||||
|
|
||||||
|
|
||||||
|
def test_rank_surface_records_nonmonotone_feasibility_without_binary_search() -> None:
|
||||||
|
config_results = [
|
||||||
|
{
|
||||||
|
"config": {"name": "a", "tp": 4},
|
||||||
|
"loads": [
|
||||||
|
{
|
||||||
|
"offered_request_rate": 0.2,
|
||||||
|
"scores": {"linear_8k_primary": {"feasible": False, "slo_pass_rate": 0.9}},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"offered_request_rate": 0.4,
|
||||||
|
"scores": {"linear_8k_primary": {"feasible": True, "slo_pass_rate": 0.95}},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"config": {"name": "b", "tp": 8},
|
||||||
|
"loads": [
|
||||||
|
{
|
||||||
|
"offered_request_rate": 0.2,
|
||||||
|
"scores": {"linear_8k_primary": {"feasible": True, "slo_pass_rate": 1.0}},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"offered_request_rate": 0.4,
|
||||||
|
"scores": {"linear_8k_primary": {"feasible": False, "slo_pass_rate": 0.9}},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
]
|
||||||
|
ranking = MODULE.rank_surface(config_results, slo_name="linear_8k_primary")
|
||||||
|
a = next(item for item in ranking if item["config"]["name"] == "a")
|
||||||
|
assert a["maximum_tested_feasible_request_rate"] == 0.4
|
||||||
|
assert a["monotonicity_violations"] == [[0.2, 0.4]]
|
||||||
|
|
||||||
|
|
||||||
|
def test_average_ranks_use_midrank_for_capacity_ties() -> None:
|
||||||
|
assert MODULE._average_ranks({"a": 0.2, "b": 0.2, "c": 0.1}) == {
|
||||||
|
"a": 1.5,
|
||||||
|
"b": 1.5,
|
||||||
|
"c": 3.0,
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def test_community_study_uses_affine_primary_slo(tmp_path: Path) -> None:
|
||||||
|
payload = MODULE._community_study_payload(
|
||||||
|
tp=8,
|
||||||
|
repo=tmp_path,
|
||||||
|
python=tmp_path / "python",
|
||||||
|
vllm=tmp_path / "vllm",
|
||||||
|
model=tmp_path / "model",
|
||||||
|
trace=tmp_path / "trace.jsonl",
|
||||||
|
windows=tmp_path / "windows.json",
|
||||||
|
port=18918,
|
||||||
|
)
|
||||||
|
assert payload["slo"]["ttft_rule"] == {
|
||||||
|
"kind": "linear_ms",
|
||||||
|
"intercept_ms": 1000.0,
|
||||||
|
"per_token_ms": 0.125,
|
||||||
|
}
|
||||||
|
assert payload["trace"]["request_mode"] == "raw_completion"
|
||||||
|
assert payload["trace"]["completion_tokens_override"] == 1
|
||||||
Reference in New Issue
Block a user