feat: trace DeepSeek V2-Lite real routes

This commit is contained in:
wuyang
2026-07-29 14:18:45 +08:00
parent a97653af69
commit e86420556f
14 changed files with 25897 additions and 34 deletions
@@ -0,0 +1,110 @@
#!/usr/bin/env python3
"""Compare deterministic evidence from two DeepSeek-V2-Lite trace runs."""
from __future__ import annotations
import argparse
import hashlib
import json
from datetime import datetime, timezone
from pathlib import Path
from typing import Any
def parse_args() -> argparse.Namespace:
parser = argparse.ArgumentParser()
parser.add_argument("--first", type=Path, required=True)
parser.add_argument("--second", type=Path, required=True)
parser.add_argument("--output", type=Path, required=True)
parser.add_argument("--captured-at", default=None)
return parser.parse_args()
def read(path: Path) -> dict[str, Any]:
return json.loads(path.read_text())
def sha256(path: Path) -> str:
return hashlib.sha256(path.read_bytes()).hexdigest()
def main() -> None:
args = parse_args()
first = read(args.first)
second = read(args.second)
checks: list[dict[str, Any]] = []
def check(name: str, left: Any, right: Any) -> None:
checks.append({"name": name, "exact": left == right})
check("provenance", first["provenance"], second["provenance"])
check("configuration", first["configuration"], second["configuration"])
check("prompt_tokenization", first["prompts"], second["prompts"])
check(
"initial_hidden_hash",
first["execution"]["initial_hidden"]["sha256_fp32"],
second["execution"]["initial_hidden"]["sha256_fp32"],
)
check(
"final_hidden_hash",
first["execution"]["final_hidden"]["sha256_fp32"],
second["execution"]["final_hidden"]["sha256_fp32"],
)
for left, right in zip(
first["execution"]["layers"],
second["execution"]["layers"],
strict=True,
):
layer = left["layer"]
check(
f"layer_{layer}_hidden_hash",
left["hidden_after"]["sha256_fp32"],
right["hidden_after"]["sha256_fp32"],
)
check(f"layer_{layer}_mla_shapes", left["mla"], right["mla"])
if "routing" in left:
check(
f"layer_{layer}_aggregate_load",
left["routing"]["aggregate_load"],
right["routing"]["aggregate_load"],
)
check(
f"layer_{layer}_token_routes",
[
prompt["token_routes"]
for prompt in left["routing"]["per_prompt"]
],
[
prompt["token_routes"]
for prompt in right["routing"]["per_prompt"]
],
)
captured_at = args.captured_at or datetime.now(timezone.utc).isoformat()
result = {
"schema_version": 1,
"captured_at": captured_at,
"first": {
"captured_at": first["captured_at"],
"sha256": sha256(args.first),
},
"second": {
"captured_at": second["captured_at"],
"sha256": sha256(args.second),
},
"timing_compared": False,
"checks": checks,
"exact_checks": sum(item["exact"] for item in checks),
"total_checks": len(checks),
"all_exact": all(item["exact"] for item in checks),
}
if not result["all_exact"]:
failed = [item["name"] for item in checks if not item["exact"]]
raise AssertionError(f"trace mismatch: {failed}")
args.output.parent.mkdir(parents=True, exist_ok=True)
args.output.write_text(json.dumps(result, indent=2) + "\n")
print(json.dumps(result, indent=2))
if __name__ == "__main__":
main()