단일 DGX Spark에서 DeepSeek V4.1 Flash 구동: 113.6 GB VQ 기반 + 40 MB 도메인 사이드카
요약
본 기사는 단일 DGX Spark 환경에서 DeepSeek V4.1 Flash 모델을 구동하는 새로운 추론 엔진(YoungAi)과 아키텍처를 소개합니다. 원본 510GB 가중치를 113.6GB 베이스와 도메인별 사이드카로 분리하여 메모리 효율성을 극대화했습니다. 이 방식은 금융, 코드 등 특정 도메인에서 Top-1 일치도를 크게 향상시키며 높은 추론 성능을 보여줍니다.
핵심 포인트
- 단일 DGX Spark 환경에서 510GB 모델을 113.6GB로 압축 구동 가능
- 도메인 사이드카를 통해 특정 분야(금융, 코드 등)의 정확도를 크게 향상시킴
- 베이스와 사이드카가 결합하여 높은 성능과 메모리 효율성을 동시에 달성함
- 최대 1055 토큰/초의 프리필 속도 및 43 토큰/초의 추측 디코드 속도를 기록
저는 YoungAi라는 네이티브 C/CUDA 추론 엔진을 개발하여 단일 NVIDIA DGX Spark(GB10, 128 GB 통합 메모리)에서 DeepSeek V4.1 Flash를 구동하고 있습니다. 원본 가중치는 약 510 GB입니다. 저는 이를 세 가지 파일로 배포합니다: ① 베이스 GGUF — 113.6 GB, 범용적이며 제로-코퍼스(zero-corpus)입니다. 공식 가중치로부터 한 번 양자화되었습니다. ② 도메인 사이드카 — 도메인당 약 40 MB. 각 도메인별로 한 번 해결되며 이후 고정됩니다. ③ 포스트 트레이닝 파일 — 실험적이며 매일 밤 재해결합니다. 이 파일을 삭제하면 이전 상태로 되돌릴 수 있습니다. 각 라우팅된 전문가(expert) 행은 g_base × s_sidecar × s_posttrain으로 스케일링되며, 라우터는 편향(bias) $\Delta b_{sidecar}$를 얻습니다. 베이스만으로도 완전한 모델이며, 사이드카는 커널을 변경하지 않고 작은 스케일링/편향만을 추가합니다. 요약하자면: 단일 DGX Spark에서 113.6 GB의 상주 메모리 + 약 40 MB의 사이드카를 사용합니다. 5개 도메인(금융, 코드, 법률, 의학, 과학)을 지원합니다. 도메인 사이드카가 추가되면 원본 대비 Top-1 일치도가 +2.8점에서 +3.7점 향상됩니다. 추측 디코드(Speculative decode): 실제 14.1k 토큰 에이전트 요청에서 초당 43 토큰을 처리합니다 (탐욕적 방식, greedy). 프리필(Prefill): 12.5k 프롬프트에서 초당 1,055 토큰; 106.7k 프롬프트에서 초당 671 토큰입니다. 영어 WikiText-2는 어떤 도메인 사이드카가 연결되어도 성능이 저하되지 않습니다 (오히려 상승합니다). 핵심 구현 아이디어: 베이스(VQ-8 + 레이어별 공유 코드북). 전문가 행의 연속된 8개 가중치는 하나의 12비트(또는 13비트) 코드북 인덱스가 되며, 이는 단일 행당 게인(gain)에 의해 곱해집니다. 코드북은 레이어별로 훈련되며 모든 384개 전문가와 세 개의 행렬에 걸쳐 공유됩니다. 코드북은 FP8 (E4M3) 형식으로 저장됩니다. 13비트 레이어는 128바이트 캐시 라인 정렬을 위해
“모델이 b가 아닌 a를 작성해야 한다”는 것을 마지막 레이어 전문가 게인(expert gains)에 대한 선형 방정식으로 변환한 다음, 켤레 기울기법(conjugate gradient)으로 해결합니다. 학습 요청에서 결정 지점은 55%에서 88%로 바뀌지만, 아직 거래일 전반에 걸쳐 일반화되지는 않습니다.
다중 도메인 실제 측정치 모든 측정치는 원래의 DeepSeek V4.1 Flash(공식 PyTorch 코드, 전체 정밀도)를 기준으로 교사 강제(teacher-forced)되었습니다. Top-1 / Σmin 값이 높을수록 좋고, KL / PPL 비율이 낮을수록 좋습니다.
| 도메인 (판단 슬라이스) | Base만 | + 도메인 사이드카 top-1 | Σmin (중앙값 / p5) | 평균 KL | PPL 비율 |
|---|---|---|---|---|---|
| Finance (8,192 토큰) | 71.73% | 74.57% | 0.745 (0.810 / 0.283) | 0.512 | 1.267 |
| Code (15,360 토큰) | 78.61% | 82.26% | 0.803 (0.872 / 0.402) | 0.303 | 1.229 |
| Law (15,360 토큰) | 72.90% | 76.36% | 0.760 (0.834 / 0.272) | 0.454 | 1.251 |
| Medicine (15,360 토큰) | 69.08% | 72.82% | 0.739 (0.767 / 0.325) | 0.465 | 1.280 |
| Science (15,360 토큰) | 71.65% | 74.93% | 0.753 (0.788 / 0.347) | 0.422 | 1.173 |
| English WikiText-2 (512 토큰) | 78.52% | 80.66–82.81% (모든 사이드카 적용 시) | 0.787–0.801 | 0.566–0.619 | 1.564–1.658 |
English 행은 도메인 사이드카가 일반 능력을 저해하지 않으며, 다섯 가지 사이드카 모두 실제로 약간 향상시킨다는 것을 보여줍니다.
DGX Spark에서의 속도 시나리오
| Prefill (프리필) | Decode (디코드) | |
|---|---|---|
| 12.5k 토큰 프롬프트 | 1,055 토큰/초 — 실제 측정치 | 14.1k 토큰 에이전트 요청 |
| 14.1k 토큰 에이전트 요청, 순수 디코드 | 28.9–29.4 토큰/초 | 같은 요청, 추측(speculative) 방식 (기본값) |
| 미확인 9.2k 프롬프트, 추측 방식 | — | 40.0 토큰/초 |
| 51k 컨텍스트, 순수 디코드 | — | 27.5 토큰/초 |
디코드는 메모리 바운드(memory-bound)입니다: 토큰당 약 6.3 GB를 읽습니다. GB10 측정 대역폭은 약 235 GB/s이므로, 한계는 약 37 토큰/초이며, 우리는 ~32.5ms에 도달하여 이 한계의 82%를 달성했습니다.
솔직한 제한 사항
후 학습(Post-training) (③)은 아직 제품이 아닌 작동 메커니즘입니다. 해결 요청에서 지정된 결정 지점을 변경하지만, 보류된 날짜에는 전이되지 않습니다 (55% → 55%). 오직 다섯 가지 도메인만 가능합니다. 사이드카는 엔드투엔드로 평가되는 것이 아니라 보류된 텍스트에 대해 교사 강제 방식으로 평가됩니다. CUDA 전용이며 DGX Spark에서만 검증되었습니다.
Metal 지원 불가. Speculative decoding은 greedy 요청에만 적용되며, sampling 요청은 순수 decode 방식으로 폴백(fallback)됩니다. 소스 코드(engine, quantizer, solver)는 아직 공개되지 않았습니다. 피드백 환영합니다. top-1 agreement / Σmin 수치가 실제 워크로드에 유용한가요? VQ-8 + 레이어별 코드북 + 사이드카 이득 접근 방식이 합리적인가요? 다음에 보고 싶은 벤치마크나 통합 지점은 무엇인가요? 모델 카드 및 가중치: https://huggingface.co/wenzhouwu/YoungAi-DeepSeek-V4.1-Flash 이것은 공식 DeepSeek 릴리스가 아닙니다. 만약 이런 종류의 게시물이 여기에 적절하지 않다면 알려주세요. 제가 이동시키거나 삭제하겠습니다. 감사합니다! /u/Physical_Toe_2499 제출 [링크] [댓글]
AI 자동 생성 콘텐츠
본 콘텐츠는 Reddit AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기