forked from AbdelStark/ProvableWorldModel
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
73 lines (69 loc) · 2.29 KB
/
Copy pathdocker-compose.yml
File metadata and controls
73 lines (69 loc) · 2.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
# The commit-and-audit scheme on the le-wm world model.
#
# docker compose up --build
# The real le-wm predictor architecture (192-dim, 16 heads, 6 blocks) at the
# real V0 dims, run in exact integer arithmetic, proven and verified. Pure
# Rust, fast, offline. Weights are synthetic (no checkpoint needed).
#
# docker compose --profile real up --build export predictor-real
# The REAL pretrained quentinll/lewm-pusht checkpoint, end to end: download,
# quantize the full V0, then prove + verify the real-weight predictor.
# Heavy (PyTorch image + ~70 MB checkpoint download).
#
# docker compose --profile compact up --build prover verifier
# The tiny two-party teaching handoff (a prover writes a proof, a verifier
# accepts it, then a forged matmul is rejected).
#
# See demo/README.md.
services:
# Default: the real predictor architecture at real V0 dims, synthetic weights.
# Prints the full staged pipeline (LOAD -> INFER -> COMMIT -> VERIFY -> TAMPER)
# with op histogram, MAC count, model size, and prove/verify latency. Fast, no
# download. For the REAL pretrained checkpoint use the `real` profile below.
predictor:
build: .
image: pwm-demo:local
command: ["prove-predictor"]
tty: true
# `real` profile: download + quantize the real checkpoint, then prove it.
export:
profiles: ["real"]
build:
context: crates/pwm-export/python
image: pwm-lewm-export:local
volumes:
- lewm:/shared
predictor-real:
profiles: ["real"]
build: .
image: pwm-demo:local
command: ["prove-predictor", "/shared/lewm_predictor.json"]
depends_on:
export:
condition: service_completed_successfully
volumes:
- lewm:/shared
tty: true
stop_grace_period: 60s
# `compact` profile: the tiny two-party prove -> verify -> tamper handoff.
prover:
profiles: ["compact"]
build: .
image: pwm-demo:local
command: ["prove", "/shared/artifact.bin"]
volumes:
- artifact:/shared
verifier:
profiles: ["compact"]
image: pwm-demo:local
command: ["audit", "/shared/artifact.bin"]
depends_on:
prover:
condition: service_completed_successfully
volumes:
- artifact:/shared
tty: true
stop_grace_period: 30s
volumes:
artifact:
lewm: