Repository navigation
MAINT: Refresh privacy scorer coverage and record Azure comparison - #4269
Richard Lundeen (richlundeen) wants to merge 1 commit into
Conversation
Refresh the registered GPT-4o privacy control and record a complete direct temperature-zero comparison without promoting either configuration. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
🟢 Approval recommended
The privacy scorer evaluation-record update has no active review issues.
No open issues 🎉
What changed in this PR
Refreshes PyRIT’s privacy scorer evaluation records with explicit coverage and baseline metrics, and adds a direct Azure GPT-4o temperature-zero comparison. Neither configuration beats the constant-median baseline; no scorer promotion or registration change is included.
Changes:
- Refreshes the registered scorer’s existing evaluation with 93/93 input coverage and updated metrics.
- Adds a complete three-trial temperature-zero evaluation.
- Preserves three historical entries, with no changes to prompts, rubric, or human labels.
| File | Description |
|---|---|
pyrit/datasets/scorer_evals/harm/privacy_metrics.jsonl |
Refreshes the incumbent measurement and adds the Azure comparison with coverage and baseline metrics. |
Review effort: Balanced
|
Richard Lundeen (@richlundeen) none of this is blocking but some questions & future work related to this PR: Big question on automation here:
Other PR's work/comments:
|
jbolor21
left a comment
There was a problem hiding this comment.
Left my comments at the end but none of it is blocking!
Description
Refresh the registered privacy harm scorer's legacy metrics with explicit input coverage and a constant-guess baseline, and record a complete Azure GPT-4o temperature-zero configuration comparison. This is measurement completeness and useful negative evidence, not an accuracy improvement or a scorer promotion.
Privacy was selected because its existing mean absolute error (MAE) was worse than a constant-median guess on its own gold set. The objective/default refresh in #4234 and task-achieved retirement in #4249 are already covered by open PRs and are not repeated here.
likert_privacy_gpt4omeasurement for the same eval hash,11412a611f8c19b2c690e1acb6ada60f140a1651f771a04cc8809bee816040c3.1192990eb9c2d1fcf1a71a72fd13c8dc4e5ef4a8c45cbd9c198874a88dc617cc.pyrit/datasets/scorer_evals/harm/privacy_metrics.jsonlchanges.MAE is lower-is-better. Both retained measurements use canonical
evaluate_async, the unchanged 93-row, one-human-rater privacy gold set, three trials, dataset version1.0, and harm-definition version1.0.Neither measured configuration beats the constant baseline. The refreshed incumbent's MAE decrease of
0.021505is within the combined noise margin of approximately0.0453; the direct configuration's MAE is numerically higher by0.029570, also within the combined margin of approximately0.0456. These are exploratory combined-standard-error guards with a0.02floor, not significance tests or confidence intervals. The direct configuration was retained by the existing complete/equivalent--writepolicy without--refresh, but earns no initializer registration. High agreement between model trials is not agreement with human labels.Identity limits: the registered incumbent retains its exact round-robin identity, with three active Azure leaves; observed responses included GPT-4o snapshots
2024-08-06and2024-11-20. The direct temperature-zero configuration used the Japan deployment and snapshot2024-11-20. It changes routing, deployment/snapshot mix, and temperature, so this is not a controlled temperature-only comparison. The rubric, system prompt, normalization, and aggregation are unchanged. The small, single-rater gold set does not establish human agreement or generalization to other datasets.Skipped candidate: direct Azure GPT-5.4 failed its no-write, one-trial smoke: only
92/93rows were determined after one HTTP 400. Its metrics were invalid for complete-coverage comparison; no full evaluation or registry entry was retained. The error subcode was not captured, so no specific failure cause is asserted.Judge usage: Azure 837 actual transport attempts: 279 smoke attempts across three configurations and 558 full-evaluation attempts across the two retained configurations. There were 836 HTTP 200 responses and one HTTP 400, with no additional retry/fallback attempts. OpenRouter 0. This stays below the 5,000-call run budget and consumes none of the capped OpenRouter budget. Token usage and pricing were not collected; dollar spend and monetary savings are unknown.
Reproduction
Use
richlundeen/automationsrevisionbc46e4f2484bd614a6c68804f588e4d78aa1568c, a checkout of this PR, and its synced PyRIT environment with authorized Azure/vault access. Run from the automation root; credentials are loaded in memory. Different deployment routing or model snapshots can produce different measurements.Save this factory outside the PyRIT checkout as
privacy_factory.py:The original run refreshed the incumbent before the variant comparisons; use that fresh entry for comparisons rather than the historical value. GPT-5.4's full run was deliberately skipped. The commands above reproduce the canonical evaluations, not the separate body-free transport-accounting instrumentation.
No deployment is included. The before-survey deployment was at
566c3e24d66b0774c4279997b1dc2b4f1bebf254and did not register a privacy scorer; no live-metrics change or readback is claimed.