SinclairSchneider commited on
Commit
f5a38e0
·
verified ·
1 Parent(s): 41ce93e

Update deepseek-v4-flash.service

Browse files
Files changed (1) hide show
  1. deepseek-v4-flash.service +19 -3
deepseek-v4-flash.service CHANGED
@@ -11,10 +11,17 @@
11
  # Measured 2026-07-21: 115-133 tok/s sustained generation (~1.5-1.65x over
12
  # the ~80 tok/s plain-decoding baseline), 96.6-100% draft acceptance.
13
  #
 
 
 
 
 
 
 
14
  # NOTE: the setup script also generates a copy of this unit inside the
15
- # project folder with User/paths already baked in. EDIT the three
16
  # /home/sinclair/deepseek-v4-serve references and User/Group below if your
17
- # layout differs.
18
  #
19
  # Install:
20
  # sudo cp deepseek-v4-flash.service /etc/systemd/system/
@@ -45,7 +52,16 @@ ExecStartPre=/usr/bin/nvidia-smi
45
 
46
  ExecStart=/home/sinclair/deepseek-v4-serve/serve.sh
47
 
48
- Restart=on-failure
 
 
 
 
 
 
 
 
 
49
  # Weight load alone is ~80 s (+ ~5 s MTP drafter); don't hammer restarts.
50
  RestartSec=15
51
  # Give the engine time to tear down 4 TP workers and NCCL cleanly on stop.
 
11
  # Measured 2026-07-21: 115-133 tok/s sustained generation (~1.5-1.65x over
12
  # the ~80 tok/s plain-decoding baseline), 96.6-100% draft acceptance.
13
  #
14
+ # Incident 2026-07-23: a Triton JIT module load OOM'd and killed a worker
15
+ # mid-run; the API server then exited *cleanly* (main PID rc 0), so the old
16
+ # Restart=on-failure never fired and the port stayed dead. Hence Restart=always
17
+ # below -- for an inference server a crash that looks like a clean exit is
18
+ # still a crash; only 'systemctl stop' should keep it down. ExecStartPost runs
19
+ # warmup.sh after every (re)start so Triton specializations compile up front.
20
+ #
21
  # NOTE: the setup script also generates a copy of this unit inside the
22
+ # project folder with User/paths already baked in. EDIT the four
23
  # /home/sinclair/deepseek-v4-serve references and User/Group below if your
24
+ # layout differs (three ExecStart* lines + WorkingDirectory).
25
  #
26
  # Install:
27
  # sudo cp deepseek-v4-flash.service /etc/systemd/system/
 
52
 
53
  ExecStart=/home/sinclair/deepseek-v4-serve/serve.sh
54
 
55
+ # Warm the Triton shape specializations after EVERY start (incl. auto-restart).
56
+ # warmup.sh waits for the API itself and is bounded, so it cannot hang the
57
+ # unit; '-' prefix + timeout mean a wedged warmup never fails the start.
58
+ ExecStartPost=-/usr/bin/timeout 900 /home/sinclair/deepseek-v4-serve/warmup.sh
59
+ # Budget must cover ExecStartPre + weight load + bounded warmup.
60
+ TimeoutStartSec=1200
61
+
62
+ # Restart=always, NOT on-failure: a JIT-OOM crash can present as a clean exit
63
+ # (see incident note above); only an explicit 'systemctl stop' should end it.
64
+ Restart=always
65
  # Weight load alone is ~80 s (+ ~5 s MTP drafter); don't hammer restarts.
66
  RestartSec=15
67
  # Give the engine time to tear down 4 TP workers and NCCL cleanly on stop.