hacnho's picture
Upload reproduce.py with huggingface_hub
f35808a verified
Raw
History Blame Contribute Delete
913 Bytes
from __future__ import annotations
import json
import msgspec
class ModelState(msgspec.Struct):
trigger: list[int]
boost: float
bias: float
PROBES = [
[4, 2, 7],
[4, 2, 0],
[1, 2, 7],
[9, 9, 9],
]
def infer(state: ModelState, vec: list[int]) -> float:
return float(state.boost if vec == state.trigger else state.bias)
def main() -> None:
control = msgspec.msgpack.decode(open("control.msgpack", "rb").read(), type=ModelState)
malicious = msgspec.msgpack.decode(open("trigger.msgpack", "rb").read(), type=ModelState)
rows = []
for vec in PROBES:
rows.append(
{
"probe": vec,
"control": infer(control, vec),
"malicious": infer(malicious, vec),
}
)
print(json.dumps({"trigger_vector": [4, 2, 7], "probes": rows}, indent=2))
if __name__ == "__main__":
main()