DeepSeek V4 Flash를 320K 컨텍스트로 운영하며 남긴 설정 두 가지

80.8GiB DeepSeek V4 Flash를 EVO-X2에서 320K 컨텍스트로 운영하면서 DSpark와 ROCm 미세조정은 측정 끝에 빼고, prefill chunk와 CPU 전력 설정만 남겼습니다.

EVO-X2에서 DwarfStar4로 DeepSeek V4 Flash 0731 Q2(약 80.76GiB)를 320K context로 돌렸고, 장시간 운영에도 문제가 없었습니다. 여러 가지를 시험했지만 효과가 있었던 조정은 prefill chunk를 4096으로 올린 것과 CPU를 power-saver로 둔 것 두 가지뿐이었습니다. speculative 기법인 DSpark와 ROCm workgroup 조정은 측정해 보니 이득이 없어서 뺐습니다.

80.76GiB모델 (IQ2XXS/Q8 혼합 Q2)
320Kcontext (327,680 tokens)
13.35 tok/s실사용 45건 가중 decode
-17WCPU power-saver의 소켓 전력 절감

구성

항목 값
DwarfStar 소스 c1d4597 (2026-08-24)
모델 DeepSeek V4 Flash 0731 IQ2XXS/Q8 혼합 Q2
모델 크기 80.76GiB
context / output 327,680 / 16,384 tokens
prefill chunk 4,096 tokens
계획 메모리 약 87.82GiB

실제 agent 요청 45건에서 총 54,170토큰을 생성했고 가중 decode는 13.352 tok/s였습니다. 1K토큰 이상 새로 들어온 입력 146,159토큰의 가중 prefill은 122.734 tok/s였습니다. decode는 context가 짧을 때 약 15.7~16.0 tok/s였고 40~80K 구간에서 12.655 tok/s까지 천천히 내려갔습니다. 짧은 합성 시험과 실제 agent 요청이 섞인 값이라 모델 간 비교에는 쓰지 않습니다.

--kv-disk-dir 옵션은 이름만 보면 KV를 SSD로 내리는 기능 같지만, 활성 attention이 SSD의 KV를 직접 읽지는 않습니다. 쓰고 있는 KV 하나는 RAM/GTT에 두고, 세션을 바꾸거나 재시작할 때를 위해 prefix checkpoint를 SSD에 저장했다가 불러옵니다. 활성 context에 쓸 메모리를 SSD로 늘려 주는 기능은 아닙니다.

DSpark를 뺀 이유

512토큰 고정 생성으로 비교했습니다.

코드에서는 수락률이 높았는데도 verifier layer를 실행하는 비용이 초안 생성으로 아낀 시간보다 컸습니다. 느린 구간을 피하도록 만든 adaptive-128도 기준선을 넘지 못했습니다. speculative decoding은 수락률만 보면 좋아 보일 수 있어서, 최종 tok/s와 실제로 절약한 시간(net_saved)이 둘 다 양수인지로 판단했습니다. support GGUF와 시험 코드는 나중에 다시 재 보려고 남겨 두고 운영에서는 뺐습니다.

ROCm 미세조정을 되돌린 이유

  • routed MoE rows-per-block을 1~32로 바꿔 봤지만 15.98~16.00 tok/s로 차이가 0.13% 이하였습니다.
  • Q8 rows/HC workgroup을 소스에서 바꿔 본 시험도 가장 좋았을 때 전체 개선이 약 0.25%였습니다.
  • Q2 decode의 GPU 시간은 여러 Q8 행렬 연산이 나눠 차지하고 있어서, MoE kernel 하나를 조정해 얻을 수 있는 폭이 작았습니다.

이 정도 이득으로 로컬 patch를 계속 관리할 이유가 없어서 upstream 기본값으로 되돌렸습니다.

남긴 설정

prefill chunk를 512에서 4096으로 올리면 raw KV와 버퍼 계획이 약 2.49GiB 늘어납니다. 긴 새 프롬프트를 처리할 때 맞는 값이고 DwarfStar도 권장합니다. decode 속도를 올리는 옵션은 아닙니다.

CPU를 power-saver로 두니 decode 16.02 tok/s는 그대로이고 소켓 전력이 약 17W 줄었습니다. GPU를 low로 두거나 DwarfStar의 --power 80/60을 쓰면 전력은 줄지만 속도도 12.59/9.45 tok/s로 떨어져 대화용으로는 맞지 않았습니다. BIOS와 GPU는 auto, CPU는 power-saver로 운영합니다.

다시 재 볼 조건

  • upstream ROCm의 verifier/graph나 gfx1151 kernel이 바뀔 때
  • DwarfStar의 Q2/Q8 행렬 kernel 구현이 바뀔 때
  • 긴 정형 코드에서 DSpark 수락 길이가 길게 반복해서 나올 때
  • 같은 프롬프트와 생성량으로 기준선과 분리해 비교할 수 있을 때

이 글은 128GB 미니PC 로컬 AI 시리즈의 한 편입니다.