Download code/offload/dspark/spark/tools/identity.py from ProprietaryLegal/dsv41-sampled-drafting: direct link, hf CLI and curl.
- Browser
- Download file 3.45 kB
-
https://huggingface.co/ProprietaryLegal/dsv41-sampled-drafting/resolve/main/code/offload/dspark/spark/tools/identity.py
- Command line
-
hf download hf://ProprietaryLegal/dsv41-sampled-drafting/code/offload/dspark/spark/tools/identity.py
-
curl -L -o identity.py https://huggingface.co/ProprietaryLegal/dsv41-sampled-drafting/resolve/main/code/offload/dspark/spark/tools/identity.py
3.45 kB
| #!/usr/bin/env python3 | |
| # SPDX-License-Identifier: Apache-2.0 | |
| """Drafter / Markov identities of CONTRACT.md 6.7 from lane S2's copy receipt. | |
| python3 offload/dspark/spark/tools/identity.py \ | |
| /opt/dsv41/campaigns/DSV41-OFFLOAD/S2.DSPARK_COPY_DONE.json | |
| Prints VLLM_DSPARK_REMOTE_IDENTITY=<hex> and VLLM_DSPARK_REMOTE_MARKOV_IDENTITY=<hex>. | |
| The drafter identity covers exactly the files the worker reads tensors or configuration | |
| from (DRAFTER_FILES); the sha256 values are the Spark-side source hashes S2 recorded | |
| (equal to the deployment's manifest.json). Lane O2 must compute the same digest. | |
| """ | |
| from __future__ import annotations | |
| import hashlib | |
| import json | |
| import os | |
| import sys | |
| from typing import Any | |
| import argparse | |
| from pathlib import Path | |
| DRAFTER_FILES = ( | |
| "config.json", | |
| "exl3_moe_plan.json", | |
| "model-00002-of-00046.safetensors", | |
| "model-00043-of-00046.safetensors", | |
| "model-00044-of-00046.safetensors", | |
| "model-00045-of-00046.safetensors", | |
| "model-00046-of-00046.safetensors", | |
| "model-exl3-head.safetensors", | |
| "model-exl3-mtp.safetensors", | |
| "model-exl3-mtp-experts.safetensors", | |
| ) | |
| MARKOV_FILE = "markov_top_tokens.json" | |
| def identities(receipt: dict[str, Any], files: tuple[str, ...] = DRAFTER_FILES) -> tuple[str, str, dict[str, str]]: | |
| hashes = {os.path.basename(f["source"] if "source" in f else f["file"]): f["sha256"] | |
| for f in receipt["files"]} | |
| if not files or len(files) != len(set(files)) or any(os.path.basename(n) != n for n in files): | |
| raise ValueError("identity files must be distinct basenames") | |
| missing = [n for n in files if n not in hashes] | |
| if missing: | |
| raise SystemExit(f"receipt lacks {missing}") | |
| lines = "".join(f"{n} {hashes[n].lower()}\n" for n in sorted(files)) | |
| drafter = hashlib.sha256(lines.encode()).hexdigest() | |
| markov = hashes.get(MARKOV_FILE, "0" * 64).lower() | |
| return drafter, markov, {n: hashes[n] for n in sorted(files)} | |
| def main() -> None: | |
| ap = argparse.ArgumentParser(description=__doc__) | |
| ap.add_argument("receipt") | |
| ap.add_argument("--arm", default="k2-tp2") | |
| ap.add_argument("--json-out", type=Path, help="write the identity recipe (no weights or capture values)") | |
| a = ap.parse_args() | |
| with open(a.receipt) as f: | |
| receipt = json.load(f) | |
| drafter, markov, used = identities(receipt) | |
| result: dict[str, Any] = {"drafter_identity": drafter, "markov_identity": markov, "files": used} | |
| if a.arm != "k2-tp2": | |
| # Also works when invoked as a script from outside the checkout. No torch. | |
| sys.path.insert(0, str(Path(__file__).resolve().parents[4])) | |
| from offload.dspark.native.identity import compute | |
| if MARKOV_FILE not in {os.path.basename(f.get("source", f.get("file", ""))) for f in receipt["files"]}: | |
| raise SystemExit("native identity requires an explicit Markov file receipt") | |
| result = compute(a.arm, result) | |
| drafter, markov = result["drafter_identity"], result["markov_identity"] | |
| if a.json_out: | |
| a.json_out.parent.mkdir(parents=True, exist_ok=True) | |
| a.json_out.write_text(json.dumps(result, sort_keys=True, indent=2) + "\n") | |
| print(f"VLLM_DSPARK_REMOTE_IDENTITY={drafter}") | |
| print(f"VLLM_DSPARK_REMOTE_MARKOV_IDENTITY={markov}") | |
| if "-v" in os.environ.get("IDENTITY_VERBOSE", ""): | |
| for n, h in used.items(): | |
| print(f" {n} {h}") | |
| if __name__ == "__main__": | |
| main() | |