저자: @0xSero
검토자: @alexocheema, @alexzfunk
특별 감사: @MiaAI_lab
로컬에서 추론을 돌려볼 생각이라면, 분명 이 흥미로운 '황금 벽돌'에 대해 듣게 될 겁니다. 로컬에서 AI 를 구동하기 위해 만들어진 머신으로, 작고 깔끔하며 조용하고 비교적 저렴하게 설계되었습니다(NVIDIA DGX Spark 페이지).
처음 DGX Spark 에 대해 들었을 때, 저는 썩 마음에 들지 않았습니다. 128 GB 메모리에 273 GB/s 의 메모리 대역폭은 너무 낮아 보였거든요. 참고로 RTX 5090 은 VRAM 이 32 GB 에 불과하지만 대역폭은 약 6.5 배(1,792 GB/s) 더 높습니다.

Spark 가 처음 출시되었을 때는 스페큘러티브 디코딩(speculative decoding) 같은 추론 엔지니어링 기법이 지금처럼 널리 쓰이지 않았고, 대부분의 소형 모델 성능도 그리 뛰어나지 않았습니다.
AI 산업이 발전하고 성장하면서 지능은 점점 더 작은 크기로 압축되고 있고, 덕분에 이런 작은 상자들도 제 몫을 톡톡히 해낼 수 있게 되었습니다.
- 추론 엔지니어링에 대한 수요가 늘고 있습니다.
- LLM 이 추론 엔지니어링에 훨씬 능숙해지고 있습니다.
- 고품질 추론은 시스템 전체를 향상시킵니다.
이제 DGX Spark 는 집이나 사무실에서 편안하게 클라우드 서비스와 속도가 맞먹는 매우 똑똑한 모델들을 돌릴 수 있습니다. 코딩을 돕거나, 세금 신고를 하고, 공부를 하거나, 단순히 재미를 선사하는 AI 소프트웨어도 차고 넘칩니다.
속도란 한 사람이 체감하는 초당 토큰 수를 말합니다. 클라우드 하드웨어 자체는 훨씬 빠르지만, 제공업체가 이를 수많은 사용자와 공유하고 토큰당 비용을 최적화하기 때문에 개인이 할당받는 양은 적어집니다. 반면 집에서는 그 상자가 온전히 당신의 것이므로 모든 성능을 독점할 수 있습니다. 자세한 내용은 고급 노트를 참고하세요.
Spark 는 연결하도록 만들어졌습니다
DGX Spark 는 전력을 아주 적게 소모합니다. 모델을 로드하고 서비스를 제공하는 상태에서도 보통 95 W 안팎을 유지합니다.
그렇기 때문에 냉각 부담이 적고 외장 GPU 에 비해 상당히 조용합니다. 미국 표준 회로에 2~4 대를 쌓아 올려도 전혀 걱정할 필요가 없습니다. 사실 이것이 핵심입니다. 순수 효율만 따지면 데이터센터용 B300 이 메모리 속도 단위당 대략 두 배의 작업을 줄(Joule) 당 처리합니다(고급 노트 참조). 하지만 Spark 는 그냥 일반 벽면 콘센트에 꽂으면 됩니다.
모든 Spark 에는 200 Gb/s, 즉 25 GB/s 규격의 QSFP 포트 2 개가 달린 ConnectX-7 네트워크 카드가 탑재되어 있습니다. 이를 통해 Spark 끼리 케이블로 연결하여 메모리와 실효 메모리 대역폭을 늘릴 수 있습니다.

DGX Spark 연결 방식
텐서 병렬 처리(tensor parallelism)를 사용하면 모든 가중치 행렬이 여러 Spark 에 분산되고, 각 Spark 는 다른 Spark 와 동시에 자신의 메모리에서 자기 몫만 읽어옵니다. 따라서 읽기 속도는 합산됩니다(NVIDIA 자체 스케일링 테스트):
- Spark 2 대: 546 GB/s
- 3 대: 819 GB/s
- 4 대: 1,092 GB/s
이는 거의 선형에 가깝게 확장됩니다. NVIDIA 자체 테스트에서 쓰기 속도는 Spark 2 대일 때 2 배, 4 대일 때 3.7 배 빨라졌습니다(표 3). 이렇게 잘 작동하는 이유는 ConnectX-7 링크의 지연 시간이 매우 짧고, CUDA 가 GPU 코드 내부에서 Spark 간 데이터를 이동시킬 수 있기 때문입니다(자세한 이유).
메모리도 같은 방식으로 합산됩니다. 대당 128 GB 이므로 4 대면 512 GB 가 되며, Spark 한 대당 약 120 GB 를 AI 워크로드에 실질적으로 사용할 수 있습니다.
Spark 를 여러 대 쌓을 수 있다는 점은 가장 큰 단점이었던 낮은 메모리 대역폭 문제를 완화해 줍니다. 일반 콘센트에서 적은 전력으로 구동된다는 특징은 단일 사용자나 소규모 가정 환경에서 엄청난 강점이 됩니다.

실제로 연결된 DGX Spark
Dense vs MoE
현재 주요 모델 아키텍처는 스파스(sparse)와 덴스(dense) 두 가지입니다. Qwen3.6-35B 같은 Mixture-of-experts(MoE) 모델은 토큰 하나를 생성할 때 단 3B 개의 파라미터만 활성화하는데, 이는 Qwen3.8-27B보다 9 배 적은 수치입니다.
덕분에 스파스 LLM 은 DGX Spark 에 특히 적합합니다. 상대적으로 낮은 메모리 대역폭과 찰떡궁합을 이뤄, 모델 전체 크기가 커도 사용자에게 빠른 경험을 제공합니다.
MoE 가 DGX Spark 에만 유리한 것은 아닙니다. 데이터센터에서도 더 나은 아키텍처입니다. 로컬 환경에서 달라진 것은 '임계점'입니다. 우리는 일정 수준의 속도를 기대하는데, 예전에는 충분히 똑똑한 덴스 모델들이 집에서 그 속도로 돌리기엔 너무 컸습니다. 그런데 MoE 모델이 그 선을 넘어섰고, 이제 로컬 하드웨어에서도 유용하면서도 빠릅니다. 덴스 모델도 결국 그 수준에 도달할지 모릅니다.

Dense LLM 과 MoE 비교
스페큘러티브 디코딩(Speculative Decoding)
MTP, DSpark, DFlash를 지원하는 LLM 이라면 훨씬 잘 맞습니다. 드래프트 모델은 보통 아주 작아서 올바른 토큰을 생성하는 데 많은 연산이 필요하지 않기 때문입니다.
이는 Spark 가 낼 수 있는 처리량을 크게 끌어올리며, 메모리는 단 1~2 GB 만 차지합니다. Spark 에는 그 정도 여유가 넉넉합니다.
MoE 처럼 스페큘러티브 디코딩도 집뿐만 아니라 어디서나 도움이 됩니다. 하지만 이 둘이 결합되면서 로컬 AI 가 임계점을 돌파하게 되었습니다. 예전에는 최고의 오픈 모델조차 가정용 하드웨어에서 고통스러울 만큼 느리게 돌아갔으니까요.

스페큘러티브 디코딩이 처리량을 개선하는 원리
다수의 에이전트를 동시에
Spark 한 대로 8 개 이상의 요청을 동시에 처리할 수 있으며, 각각 여전히 대화 수준의 속도를 유지합니다. 예를 들어 기본 코딩, 컴퓨터 및 브라우저 조작, 영상·이미지 편집, 일반적인 지원을 모두 수행할 수 있는 Qwen3.6-35B는 최대 8 개의 동시 세션을 각각 약 40 tok/s 로 서비스할 수 있습니다.
참고로 ChatGPT Pro 구독 시 GPT-6-Astra 의 평균 속도는 37 tok/s 입니다.

Astra 평균 속도
이것이 가능한 이유는 Spark 가 메모리 속도 대비 연산 능력이 매우 뛰어나기 때문입니다. 8 명에게 서비스를 제공해도 단계마다 모델을 한 번만 읽되 연산량은 8 배로 늘어나는데, Spark 에는 연산 여력이 충분합니다. 16 비트 기준 273 GB/s 대역폭에 약 100 TFLOPS 를 제공하므로, 메모리에서 1 바이트를 읽을 때마다 약 370 회의 연산을 수행합니다. M3 Ultra 는 819 GB/s 에 약 26 TFLOPS, 즉 32 회 정도입니다(EXO 자료). Mac 에는 없는(참고) Spark 의 4 비트 하드웨어 가속을 제외하더라도, 바이트당 연산량이 약 11 배 더 많습니다.
실전 활용
Spark 한 대에서 돌린 Qwen3.6-35B 는 하루 만에 조회수 8 만 회를 넘긴 영상을 만들었습니다. 단 3 분이 걸렸습니다. 영상 3 개가 담긴 폴더를 받아 이어 붙이고, X 플랫폼 제한에 맞춰 프레임레이트를 유지하면서 영상을 4 배속으로 빠르게 만들었죠.
https://x.com/0xSero/status/2072206209323802746
가격
DGX Spark 의 초기 출시가는 $3,999 였지만, 이후 $4,699 로 인상되었습니다. 2026 년 들어 모든 하드웨어 가격이 올랐습니다.
실제 구매 가격은 더 높습니다. NVIDIA 공식 스토어는 이미 품절입니다. 제가 찾을 수 있는 가장 저렴한 새 제품이 약 $5,000 이고, 중고는 $6,000 안팎에 거래됩니다. 9 월 21 일에는 제가 5 주 전에 $4,699 에 산 것과 동일한 제품을 NVIDIA 사이트에서 $7,999 에 판매하는 것을 목격했습니다.

GX10 가격
9 월 21 일 기준 NVIDIA 마켓플레이스. 게시물

$4,000 - $4,700
구매 조언
- GB10 기반 제품이라면 어떤 것이든 괜찮습니다. ASUS, Dell, MSI 등도 동일한 칩을 사용한 자체 버전을 판매합니다. 소프트웨어와 레시피(실행 구성)는 동일합니다. SSD 용량을 꼭 확인하세요. 큰 모델 몇 개만 보관해도 1 TB 는 금방 찹니다. 저는 4 TB 를 추천합니다.
- 두 번째 Spark 를 살 때 케이블도 함께 구매하세요. 두 대를 연결하려면 반드시 필요합니다.
- 일부 OEM 은 통풍이 더 좋은 Spark 모델을 제공하기도 합니다.
전력, 소음, 그리고 전기요금
외장 GPU 가 뿜어내는 소음과 열은 결코 무시할 수준이 아닙니다. 3090 4 장을 쓰면 메모리는 1/5 밖에 안 되면서 1,600~2,000 W 를 가볍게 소모합니다. 저는 RTX Pro 6000 타워가 방을 항상 35 도로 데워버려서 사무실에서 쫓아내야 했습니다.
미국의 일반 가정용 회로는 하루 종일 약 1,440 와트를 안전하게 감당할 수 있습니다(미국 전기 규정). 그 이상은 새 회로를 증설해야 하므로 전기 기사 부를 일이 생깁니다.
- Spark 1 대가 모델을 실행할 때 약 90~200 와트를 사용합니다(ServeTheHome). 24 시간 내내 켜둬도 월 $12 안팎입니다.
- Spark 4 대는 합쳐서 약 500 와트를 쓰고, 스위치가 약 240 W 를 소모합니다. 월 $66~100 정도이며, 전부 하나의 콘센트에 꽂을 수 있습니다.
- 제 4GPU 시스템은 최대 1,600 와트까지 올라갑니다. 회로 하나로 감당할 수 있는 수준을 넘으며, 월 $300 정도 나옵니다.

이 수치들의 출처. 각 수치는 측정 방식이 조금씩 다르므로 나란히 비교해 보겠습니다. 월 비용은 해당 전력으로 하루 24 시간 가동하고 kWh 당 18 센트를 적용한 기준입니다.

제 테스트 결과
왜 Spark 4 대가 90 W 의 4 배보다 더 많이 쓸까요? 90 W 는 Spark 1 대가 혼자 모델을 서비스할 때의 수치입니다. 큰 모델 하나를 4 대로 나누면 모든 Spark 가 매 단어마다 작업하고 네트워크 링크도 계속 사용하므로 소비 전력이 늘어납니다. 제 측정 기준으로는 평균 약 125 W 였습니다. 따라서 월 $12 와 $66 은 24 시간 풀가동했을 때의 비용이고, 유휴 시간이 포함된 실사용 비용은 이보다 적습니다.
전기료도 싸지지 않고 있습니다. 미국 가정용 전기료는 올해 약 5% 올라 kWh 당 18 센트 안팎인데, 새로 생긴 수많은 데이터센터가 원인 중 하나입니다. 8 월에는 GPU 시스템, Spark 2 대, 에어컨 4 대를 모두 돌렸더니 제 전기료가 월 $1,000 으로 두 배 뛰었습니다.

DGX Spark 소음
소음은 어떨까요? 제 GPU 시스템은 제트 엔진 소리 같습니다. 아래는 Spark 4 대가 낼 수 있는 가장 큰 소음입니다.
몇 가지 실용적인 팁:
- AI 모델, 월드 모델, 이미지 생성 등 다양한 용도로 활용하세요.
- 옆으로 눕혀서 세우세요. 메쉬 주변 공간이 확보되어 제 경우 더 시원하게 돌아갔습니다.
- 디버깅에 도움이 필요하면 Discord/Reddit/X 커뮤니티에 참여하세요.
- 보유 장비 전체에 Tailscale 을 설정해 두세요.

제가 실제로 돌리는 6 개 모델
수십 개를 시도해 봤지만, 결국 계속 돌아오게 되는 건 이 6 개입니다.

1 토큰은 대략 단어 3/4 개 분량이며, 30 이상이면 일상 대화처럼 자연스럽게 느껴집니다.
왜 모든 수치에 작업명이 붙어 있을까요? 대부분 레시피가 스페큘러티브 디코딩을 사용하는데, 이때 작은 보조 모델이 다음 단어를 미리 추측합니다. 코드나 JSON 은 추측하기 쉽지만 자연어 문장은 그렇지 않아서, 같은 장비에서 같은 모델이라도 작업에 따라 속도가 두 배 차이 날 수 있습니다. 프롬프트가 길어져도 속도가 떨어집니다. 그래서 여기에 제시된 모든 속도에는 무엇을 작성했고 프롬프트가 얼마나 길었는지가 함께 명시되어 있습니다.
여러 작업에 걸쳐 이를 제대로 측정하려면 NVIDIA 의 SPEED-Bench가 적합합니다. 11 개 카테고리의 실제 프롬프트와 1K~32K 토큰 입력 길이에서 스페큘러티브 디코딩을 테스트합니다. 저는 아직 Spark 에서 돌려보지 못했습니다.
- Spark 1 대: Qwen3.6-35B, Qwen3.8-Flash-Next, Qwen3.8-27B
- Spark 2 대: GLM-5.3-Flash
- Spark 4 대: DeepSeek-V4.1-Flash

Spark 2 대로 애니메이션과 작은 게임을 만드는 Qwen3.8-Flash-Next. (9 월 21 일) 게시물
다운로드 방법. 각 모델에는 공식 페이지가 있으며, 6 섹션에 모든 모델에 대해 검증된 Spark 레시피가 있습니다.
- Qwen3.6-35B 또는 NVIDIA 의 4 비트 버전
- Qwen3.8-27B
- Qwen3.8-Flash-Next
- GLM-5.3-Flash 또는 제가 만든 Spark 1 대용 빌드
- DeepSeek-V4.1-Flash
- GLM-5.3 또는 제가 만든 3 비트 빌드
거대한 모델이 어떻게 다 들어갈까
정답은 양자화(quantization)입니다. 양자화는 모델의 가중치를 압축하지만 손실이 발생합니다. 각 가중치를 더 적은 비트(예를 들어 16 대신 4)로 저장하므로 모델 크기는 1/4 로 줄어들지만 일부 디테일이 사라집니다. 목표는 가중치를 압축하면서도 원래 모델의 동작에 최대한 가깝게 유지하는 것입니다.
압축률이 높아질수록 품질은 떨어집니다. Turboderp 가 Qwen3.8-27B 에 대해 이를 측정한 자료가 있습니다. 점 하나는 각각 압축된 버전을 의미합니다. 왼쪽으로 갈수록 작고, 아래로 갈수록 원본에 가깝습니다.

여러 제공업체가 만든 Qwen3.6-35B-A3B 압축 버전의 디스크 크기 대비 평균 KL 발산. 로그 스케일. 차트 출처: https://huggingface.co/turboderp/Qwen3.8-27B-exl3
Spark 에서 중요한 포맷은 두 가지입니다.
- NVFP4는 NVIDIA 의 4 비트 포맷으로, Spark 칩이 이를 직접 읽습니다. Qwen3.6-35B 가 72 GB 에서 24 GB 로 줄어들어 Spark 1 대에 여유롭게 들어갑니다.
- EXL3는 사용할 비트 수를 정확히 지정할 수 있습니다. GLM-5.3-Flash 4 비트는 176 GB 로 Spark 2 대에 맞고, 2 비트는 85 GB 로 1 대에 들어가지만 선명도가 약간 떨어집니다.

팁:
작은 모델은 4 비트, 큰 모델은 3 비트가 최적의 균형점입니다.
압축된 모델이 여전히 쓸만한지 확인하는 법. 좋은 모델 카드는 축소된 버전이 원본과 얼마나 유사한지 보고합니다. 확인할 지표는 두 가지입니다.
- Top-1 일치율(Top-1 agreement): 작은 모델이 원본과 동일한 다음 단어를 선택하는 빈도. 높을수록 좋습니다. 제가 만든 Spark 1 대용 GLM-5.3-Flash는 약 80% 일치합니다.
- KL 발산(KL divergence): 예측값이 원본에서 얼마나 벗어나는지. 낮을수록 좋습니다. 제가 만든 가지치기 없는 3 비트 GLM-5.3은 0.089 입니다. 가지치기한 197 GB 버전은 0.511 입니다. 더 적은 Spark 에 맞추기 위해 치르는 대가인 셈입니다.
6. Spark 1 대부터 4 대까지: 단계별 가이드
제가 가장 많이 받는 질문이 바로 이 부분입니다. 한 단계씩 진행하세요. 각 단계는 독립적으로 작동하므로, 만족스러운 곳에서 멈추면 됩니다.

아래 레시피 대부분은 최고의 Spark 설정을 리포지토리로 패키징해 스크립트 하나로 클론하고 시작할 수 있게 해주는 MiaAI Lab에서 가져왔습니다. 몇 개는 제가 만든 것이고, 모두 어떤 환경에서 테스트했으며 속도가 얼마나 나왔는지 명시되어 있습니다.
모든 Spark 에 대해 다음을 한 번씩 수행하세요.
- 업데이트하기. DGX Dashboard에서 업데이트를 실행한 뒤 재부팅합니다.
- 노트북에서 접속하기. NVIDIA Sync나 일반 SSH 를 사용합니다. 집 밖에서 접속하려면 NVIDIA 의 Tailscale 플레이북을 참고하세요.
- Hugging Face 계정 및 토큰 만들기. 대부분의 레시피가 모델을 다운로드할 때 이를 사용합니다. .env 파일에 넣고 절대 리포지토리 안에 넣지 마세요.
- 디스크 확인하기. 모델은 용량이 큽니다. Spark 1 대 레시피는 약 25~130 GB 의 여유 공간이 필요하고, 4 대용 DeepSeek 레시피는 첫 번째 Spark 에 약 476 GB 가 필요합니다.
- Docker 는 이미 설치되어 있습니다. DGX OS 에 기본 포함되어 있으며 거의 모든 레시피가 Docker 안에서 실행되므로 Python 패키지를 수동으로 설치할 필요가 없습니다.
1 단계: Spark 1 대
LM Studio 로 시작하세요. NVIDIA 의 단계별 가이드를 따라 Qwen3.6-35B 를 다운로드하고 대화를 나눠보세요. 약 1 시간이 걸립니다. 더 복잡한 작업에 손대기 전에 장비가 정상 작동하는지 확인할 수 있습니다.
그다음 레시피로 넘어가세요. 레시피는 LM Studio 보다 빠르고 여러 에이전트를 동시에 서비스할 수 있는 vLLM 이나 SGLang 을 사용합니다. 하나를 골라보세요.
- Qwen3.6-35B (4 비트 NVFP4) MiaAI Lab 사용자 1 명 기준 95 tok/s, 8 명 동시 총 317 tok/s ~50 GB
- Qwen3.8-27B (4 비트 NVFP4) MiaAI Lab DSpark 헬퍼 사용 시 코드 약 51 tok/s, 채팅 약 23 tok/s ~24 GB
- Qwen3.8-Flash-Next (4 비트 NVFP4) MiaAI Lab 사용자 1 명 기준 48.7 tok/s, 8 명 동시 총 162.9 tok/s ~130 GB
- GLM-5.3-Flash (2 비트 EXL3) 제가 만든 것 또는 Mia 레시피의 Spark 1 대 버전 10~25 tok/s, 262K 컨텍스트, 비전 지원 ~85 GB
첫 번째가 가장 쉽습니다. 딱 세 줄이면 됩니다.
1git clone <https://github.com/MiaAI-Lab/Unsloth-Qwen3.6-35b-NVFP4-DGX-Spark.git>2cd Unsloth-Qwen3.6-35b-NVFP4-DGX-Spark3./start.sh
실행이 완료되면 Spark 에 OpenAI 스타일의 주소가 생깁니다. Pi, opencode, Open WebUI 등 사용하는 도구를 해당 주소로 연결하면 됩니다.
팁:
모델이 실행되지 않는다면 십중팔구 메모리 문제입니다. 먼저 다른 모델을 종료하세요. Spark 1 대는 한 번에 하나의 큰 모델만 실행합니다.
2 단계: Spark 2 대
제가 가장 추천하는 구성입니다. 8 월에도 이렇게 말했습니다. "DGX Spark 2 대면 준비 끝."

DGX Spark 2 대
케이블. 두 QSFP 포트 사이를 잇는 짧은 QSFP 케이블 하나가 필요합니다. 아래 중 아무거나 괜찮습니다(케이블 가이드):
- NVIDIA 정품: DGX Spark 용 QSFP 케이블 0.4 m, $99.99. 품절인 경우가 많습니다.
- NVIDIA 문서에 명시된 제품: Amphenol NJAAKK-N911 또는 Luxshare LMTQF022-SD-R, 0.5 m, 약 $159~187.
- 더 저렴한 200G 옵션: NVIDIA MCP1650-V00AE30, 약 $84.
어떤 것을 사든 링크는 200 Gb/s 로 작동합니다. USB-C 나 10 GbE 포트는 사용하지 마세요. 턱없이 느립니다.
링크 설정하기. NVIDIA 의 Spark 2 대 연결 플레이북을 따르세요. 각 포트에 주소를 할당하고 속도를 확인합니다. 그런 다음 첫 번째 Spark("head")에서 두 번째 Spark("worker")로 비밀번호 없이 SSH 접속을 설정하세요. 모든 2 대 구성 레시피에 필요합니다.
Claude 나 GPT 에게 설정을 맡기는 것을 추천합니다. 훨씬 편합니다.
레시피 고르기:
- Qwen3.8-Flash-Next (4 비트 NVFP4) MiaAI Lab MTP 사용 시 사용자 1 명 기준 52.1 tok/s, 최대 1M 컨텍스트
- GLM-5.3-Flash (4 비트 EXL3) MiaAI Lab 사용자 1 명 기준 62.9 tok/s, 4 명 동시 총 146.5 tok/s, 850K 컨텍스트
- DeepSeek-V4.1-Flash (2.9 비트 EXL3) MiaAI Lab 코드 기준 38.8~43.0 tok/s, 600K 컨텍스트
- GLM-5.3 (3 비트 EXL3, 197 GB 로 가지치기) 제 모델 카드 용량은 맞음, 속도는 아직 미측정
대부분의 2 대용 레시피는 비슷합니다. 예제 설정을 복사하고 두 Spark 의 주소를 입력한 뒤 다운로드하고 실행하면 됩니다. GLM-5.3-Flash 예시는 다음과 같습니다.
1cp .env.example .env # HEAD_IP 와 WORKER_IP 설정2./download.sh3./start.sh
참고:
Spark 연결 자체는 잘 되지만, 소프트웨어 완성도가 가장 떨어지는 부분이기도 합니다. 검증된 레시피를 따르고, 처음에는 반나절 정도 여유를 잡아두세요.
3 단계: Spark 3 대
Spark 3 대는 스위치가 필요 없습니다. 각 Spark 에 QSFP 포트가 2 개 있으므로 삼각형으로 케이블을 연결하면 됩니다. A 에서 B, B 에서 C, C 에서 A. 케이블 3 개가 사용됩니다. NVIDIA 는 이를 스위치리스 링(switchless ring) 구성으로 지원합니다.
3 대면 약 384 GB 가 확보됩니다. 2 대로 담을 수 없던 것들을 돌릴 수 있습니다.
- 네이티브 정밀도의 DeepSeek-V4.1-Flash. MiaAI Lab 레시피는 3 대 삼각형 구성에서 사용자 1 명 기준 51.0 tok/s, 256K 컨텍스트로 실행됩니다. 시작 전에 SSH, Docker, 네트워크 링크를 점검하는 doctor 명령어가 포함되어 있습니다.
- 여유 공간이 더 넓은 GLM-5.3-Flash. 2 대용 EXL3 레시피에는 3 대를 위한 start-tp3.sh가 있습니다.
- 가지치기 없는 GLM-5.3. 제가 만든 293 GB 빌드는 Spark 3 대 분량의 메모리가 필요합니다.
DeepSeek 레시피는 규모가 큰 모델이 어떻게 실행되는지 보여주는 좋은 예입니다. 한 줄이 아니라 몇 단계로 이루어져 있습니다.
1./start.sh doctor # ssh, docker, 링크, 디스크 확인2./start.sh share # 다른 Spark 와 모델 폴더 공유3./start.sh serve # worker 를 시작한 뒤 head 시작
팁:
일부 모델은 2 또는 4 로만 균등하게 분할됩니다. 세 번째 Spark 를 구매하기 전에 레시피에 "3x"라고 명시되어 있는지 확인하세요.
4 단계: Spark 4 대
4 대면 약 512 GB 가 됩니다. 연결 방법은 두 가지입니다.
옵션 A: 스위치 사용 (제가 쓰는 방식). 모든 Spark 를 200 GbE 스위치에 케이블 한 개씩 연결하면, 서로 한 홉(hop) 거리로 통신할 수 있습니다. NVIDIA 에 관련 플레이북이 있습니다. 사람들이 주로 쓰는 스위치는 다음과 같습니다.
- MikroTik CRS812-8DS-2DQ-2DDQ-RM. 400G 포트 각각을 200G 링크 2 개로 분할할 수 있습니다.
- MikroTik CRS804-4DDQ-hRM. 더 작은 옵션입니다(4 대 구성 참고 자료).
- Exxact 에 Spark 4 대 클러스터용 훌륭한 쇼핑 목록(스위치, 케이블, 전원)이 있습니다.
9 월에 제가 말했듯, "MikroTik 스위치와 Spark 4 대 조합보다 시장에서 더 좋은 조건은 없을 겁니다."

옵션 B: 스위치 없음. 4 대를 링 형태로 연결하여 각 Spark 를 양쪽 이웃과 케이블로 잇습니다. 이웃하지 않은 Spark 는 중간에 있는 Spark 를 거쳐 통신합니다. 스위치 비용을 아낄 수 있지만 설정이 더 까다롭습니다.
- SparkRing 은 스위치리스 쌍 구성 및 4 대 Spark 링을 위한 풀 소프트웨어 스택입니다. 알파 버전이므로 버전을 고정해서 사용하세요.
- 이 GLM-5.3-Flash 레시피 는 짧은 100G 케이블 4 개와 패치된 NCCL 을 사용해 4 대 Spark 링에서 실행됩니다. 보통 초당 약 45 토큰 정도이며, 워밍업이 끝나면 최대 100 토큰까지 나옵니다.
레시피 선택하기:
- DeepSeek-V4.1-Flash (네이티브) MiaAI Lab, start-tp4.sh 사용자 1 명 기준 45.4 tok/s, 16 명 동시 기준 총 134.2 tok/s, 1M 컨텍스트
- GLM-5.3-Flash (4 비트 NVFP4) 스위치리스 링 보통 ~45 tok/s, 워밍업 후 ~100 tok/s
제가 직접 4 대로 테스트해 본 최고 기록은 DFlash2 헬퍼를 사용한 GLM-5.3-Flash 에서 118 tok/s, 짧은 프롬프트 기준 DeepSeek-V4.1-Flash 에서 83.8~95.3 tok/s 였습니다(게시글).

단계마다 유용한 도구들
- \\sparkDash:\\ 모든 Spark 를 한 화면에서 관리하는 웹 대시보드입니다. GPU, 메모리, 네트워크 상태와 실시간 초당 토큰 수를 보여줍니다. 이 가이드에 나온 속도 중 상당수가 이 도구로 측정되었습니다.
- \\NVIDIA 의 Spark 플레이북:\\ LM Studio, Ollama, vLLM, Spark 연결 등에 관한 공식 가이드입니다.
- \\local-ai-registry:\\ 제가 만든 레시피와 진행한 모든 속도 테스트 결과가 모여 있습니다.
- \\b12x:\\ 많은 Spark 레시피의 기반이 되는 고속 연산 라이브러리입니다. 사용자가 직접 설치할 필요 없이 레시피가 알아서 처리합니다. 아래 고급 설명을 참고하세요.

결론
Spark 는 거대한 메모리 상자입니다. 대형 모델을 담아두고 가정용 전력으로 조용히 돌리며, 장비를 하나 추가할 때마다 성능이 더 좋아집니다.
오늘 처음 시작한다면 이렇게 해보세요:
- 한 대를 구매하고 첫날 바로 LM Studio 로 Qwen3.6-35B 를 돌려봅니다.
- 속도가 아쉽거나 여러 에이전트를 동시에 돌리고 싶어지면 레시피로 넘어갑니다.
- GLM-5.3-Flash 나 DeepSeek-V4.1-Flash 가 필요해지면 두 번째 Spark 와 케이블을 구매합니다. 대부분은 여기서 멈추는 것이 좋습니다.
- 가장 큰 모델을 원하거나 여러 모델을 동시에 실행해야 할 때만 세 대나 네 대로 확장하세요.
다시 살까요? 네. 만약 처음부터 다시 시작한다면 저는 첫날 두 대를 샀을 겁니다.
고급: Spark 연결 시 확장되는 원리
Spark 를 사용하는 데 꼭 필요한 내용은 아닙니다. 숫자가 왜 저렇게 나오는지 알고 싶을 때 참고하세요.
글쓰기(디코딩)는 거의 선형적으로 빨라집니다
모델이 단어를 하나 생성할 때마다 메모리에서 모델의 활성 가중치를 읽어와야 합니다. 모델을 여러 Spark 에 분산시키면 각 장비가 자기 몫을 동시에 읽어오므로 읽기 속도가 합산됩니다.
NVIDIA 가 이를 측정한 바 있습니다. Spark 를 1 대에서 2 대, 4 대로 늘리자 단어 하나를 생성하는 데 걸리는 시간이 269 ms 에서 133 ms, 72 ms 로 줄었습니다. 2 대일 때 2.0 배, 4 대일 때 3.7 배 빠른 셈입니다(NVIDIA 블로그, 표 3).

이 정도로 선형에 가까운 이유는 ConnectX-7 링크의 지연시간이 매우 짧고, Spark 간 데이터 교환이 GPU 코드 내부에서 직접 이루어지기 때문입니다. Mac 용 설명 글 에서 같은 개념을 더 자세히 다루고 있습니다.
각 레이어가 끝난 후, 다음 레이어를 시작하기 전에 Spark 들은 중간 결과를 서로 교환합니다. 교환하는 데이터량은 적지만 모든 레이어와 모든 단어마다 반복됩니다. 이 과정에서 발생하는 약간의 지연은 Spark 를 더 추가해도 줄어들지 않습니다.
- 링크 속도는 200 Gb/s, 즉 약 25 GB/s 입니다. Spark 자체 메모리 속도의 10 분의 1 수준이지만, 교환하는 데이터가 작아서 문제없습니다.
- RDMA 를 사용합니다. CPU 가 복사하지 않고 한 Spark 의 메모리에서 다른 Spark 의 메모리로 데이터가 곧바로 이동합니다. 각 QSFP 포트는 100 Gb/s 절반 2 개로 인식되며, 전체 200 Gb/s 를 쓰려면 소프트웨어가 양쪽을 모두 사용해야 합니다(상세 내용). NVIDIA 의 전용 라이브러리인 NCCL 이 이를 처리합니다.
- 읽기는 쓰기만큼 잘 확장되지 않습니다. 같은 NVIDIA 테스트에서 32K 토큰 프롬프트를 읽을 때는 2 대일 때 1.6 배, 4 대일 때 2.1 배 빨라졌습니다. 읽기는 단계마다 Spark 간에 훨씬 많은 데이터를 이동시키기 때문입니다.
- 링 구조에서는 홉(hop) 이 늘어납니다. 3 대 삼각형 구성에서는 모든 Spark 가 나머지 두 대와 직접 연결됩니다. 하지만 4 대 링 구성에서는 일부 쌍이 이웃 장비를 거쳐 통신합니다. 스위치를 쓰면 모두가 1 홉 거리에 놓입니다. SparkRing 은 링 구조를 빠르게 만들기 위해 자체 교환 코드(SIRCL)를 작성했습니다.
- MoE(Mixture-of-experts) 모델은 두 번째 분할을 추가합니다. 레시피들은 텐서 병렬과 "전문가 병렬(expert parallel)"을 자주 결합하는데, 이때 서로 다른 Spark 가 서로 다른 전문가를 담당합니다.
속도를 높이는 나머지 두 가지 방법
- 동시 다중 사용자. Spark 는 단계당 모델을 한 번만 읽고 그 결과로 모든 사용자에게 답변합니다. 그래서 전체 처리량이 단일 사용자 속도보다 훨씬 빠르게 증가합니다.
- 미리 예측하는 추론 디코더(speculative decoder) 모델. MTP, DSpark, DFlash2 가 모두 이 방식을 씁니다. 작고 빠른 헬퍼 모델이 여러 단어를 먼저 초안으로 쓰고, 큰 모델이 한 번의 읽기로 이를 모두 검증합니다. 예측이 맞으면 한 단어 비용으로 여러 단어를 얻습니다. GLM-5.3-Flash 가 같은 레시피 에서 일반 텍스트 27 tok/s 에서 구조화된 출력 65 tok/s 로 뛰어오르는 비결이 바로 이것입니다.

단일 Spark 에서 4 비트로 구동한 Qwen3.6-35B-A3B, 가속 헬퍼 활성화 상태. 출처: local-ai-registry 속도 테스트, 2026 년 8 월.
클라우드 AI 와 로컬 AI 는 다릅니다
클라우드 GPU 는 Spark 보다 훨씬 빠릅니다. 하지만 클라우드 제공업체는 하나의 GPU 를 여러 사용자에게 나눠 주며, 토큰당 비용과 사용자당 속도 사이의 균형점을 선택합니다. 대부분 비용을 우선하므로, 하드웨어가 한 사람에게 제공할 수 있는 것보다 적은 토큰을 각 사용자가 받게 됩니다. InferenceX 는 Qwen3.8-Flash-Next 를 기준으로 이 상충 관계를 차트로 보여줍니다.
집에서는 그런 타협이 필요 없습니다. 장비가 온전히 내 것이니, 모든 성능을 한 사람에게 쏟아부을 수 있습니다. 하드웨어 자체는 클라우드보다 느려도 Spark 가 클라우드 서비스만큼 빠르게 느껴지는 이유입니다.
sm_121: Spark 소프트웨어가 독자적인 생태계인 이유
모든 NVIDIA GPU 에는 소프트웨어가 어떤 명령어를 지원하는지 알려주는 "컴퓨트 능력(compute capability)" 번호가 있습니다. Spark 의 GPU 는 12.1, 즉 sm_121 입니다(Simon Willison 의 첫인상 리뷰). RTX 5090 과 RTX PRO 6000 은 가까운 사촌 격인 sm_120 입니다. 반면 NVIDIA 의 데이터센터 칩인 B200 과 B300 은 sm_100 과 sm_103 으로, 완전히 다른 계열 입니다.
가장 빠른 AI 코드는 한 번에 하나의 계열에만 맞춰 작성되기 때문에 이 차이가 중요합니다. Spark 출시 초기에는 많은 코드가 아예 실행되지 않거나 느리게 돌아갔습니다(NVIDIA 포럼, vLLM 이슈).
해결책은 사람들이 Spark 전용 코드를 직접 작성한 것입니다:
- Local Inference Lab 의 b12x 는 sm_120 및 sm_121(DGX Spark, RTX Spark, RTX 5090, RTX PRO 6000)을 위한 커널 라이브러리입니다. 4 비트 행렬 연산(NVFP4, MXFP4), DeepSeek 스타일 모델용 어텐션, MoE 레이어, 빠른 모델 로더를 지원합니다. pip install b12x 로 설치하며, vLLM 레시피에서는 flashinfer_b12x 같은 플래그로 활성화합니다. Qwen3.6-35B 레시피 가 이를 사용합니다.
- SparkInfer 는 b12x 의 이전 이름입니다. 기존 링크는 이제 b12x 로 리다이렉트 됩니다. 제 단일 Spark DeepSeek 레시피 는 읽기와 쓰기 모두에 이 어텐션 코드를 사용합니다. RTX 카드(sm_120 전용)를 위한 별도 런타임인 gittensor 의 sparkinfer 와 혼동하지 마세요.
- ExLlamaV3 는 EXL3 모델을 실행하는 엔진입니다. MiaAI Lab 이 Arm(GB10) 포팅과 헬퍼 모델 지원을 포함한 포크 버전 을 관리하고 있습니다.
- lil 은 Local Inference Lab 의 런처입니다. 머신 구성을 읽어 단일 Spark 또는 연결된 그룹에 맞는 vLLM 명령어를 자동으로 생성합니다.
고급: 연구용 머신으로서의 Spark
이 부분은 저도 예상하지 못했습니다. Spark 는 글쓰기는 느리지만 읽기에는 아주 탁월합니다. 모델 연구 작업의 대부분은 읽기입니다.
Spark 가 가장 잘하는 일: 프리필(prefill)
모델은 두 가지 다른 작업을 수행합니다:
- 프리필은 프롬프트를 읽는 과정입니다. 프롬프트 전체가 한 번에 처리되므로 순수 연산 능력이 한계를 결정합니다. GB10 은 이 능력이 넉넉합니다. 최대 4 비트 연산 기준 1 페타플롭 을 지원합니다.
- 디코드는 답변을 한 단어씩 쓰는 과정입니다. 단어 하나마다 메모리에서 모델을 다시 읽어와야 하므로 메모리 속도가 한계를 결정합니다. 여기가 바로 Spark 의 약점입니다.
그래서 Spark 는 쓸 때보다 읽을 때 13 배에서 41 배 빠릅니다:

4 대 Spark 에서 구동한 DeepSeek-V4.1-Flash: 32K 토큰 프롬프트 읽기 시 3,360 tok/s, 131K 시 3,273 tok/s. 반면 쓰기는 70~95 수준에 머물렀습니다. (9 월 20 일) 게시글
연구에 이것이 필요한 이유
제가 모델을 작게 만드는 작업의 거의 전부는 쓰기가 아니라 읽기입니다:
- 양자화(비트 수 줄이기). EXL3 나 NVFP4 빌드는 샘플 텍스트를 모델에 통과시키면서 각 비트 폭에서 레이어별 손실이 얼마나 발생하는지 측정해 만듭니다. 이건 읽기입니다.
- 프루닝(전문가 수 줄이기). REAP 은 샘플 텍스트를 MoE 모델에 통과시켜 각 전문가가 얼마나 활용되는지 기록합니다. 가장 덜 쓰이는 전문가들이 잘려 나갑니다. 제 197 GB GLM-5.3 은 256 개 중 168 개의 전문가를 유지합니다. 이것도 읽기입니다.
- 품질 확인. Top-1 일치도와 KL 발산은 원본 모델과 축소된 모델에 같은 텍스트를 읽힌 뒤 두 모델의 예측을 비교해서 얻습니다. 역시 읽기입니다.
- 긴 컨텍스트 테스트. 모델이 262,000 개 토큰 속에서 사실 하나를 찾아낼 수 있는지 확인하는 작업은 대부분 아주 긴 읽기 한 번입니다.
제 작업 흐름이 바뀐 것도 정확히 이 때문입니다. "이제 프루닝/exl3/벤치마킹은 전부 DGX Spark 에서 돌리고, 추론은 6000 으로 합니다. 더 느리긴 하지만 12 시간 대신 2~3 일 걸리는 건 괜찮아요." 다운로드 10 만 회를 돌파한 단일 Spark 용 DeepSeek 모델도 REAP 으로 프루닝하고 EXL3 로 압축한 모델입니다.
연구 목표와의 연결 고리
목적이 모델에 대해 무언가를 배우는 것이라면 Spark 는 아주 잘 맞습니다:
- 대형 모델을 통째로 담습니다. 클러스터를 대여하지 않고도 1~2 대의 장비로 300B 모델을 측정할 수 있습니다.
- 가정용 전력으로 며칠씩 돌아갑니다. 긴 캘리브레이션이나 평가 작업을 방치해 둬도 전기요금 폭탄을 맞지 않습니다.
- 빠른 하드웨어를 자유롭게 해줍니다. 제 GPU 는 서비스를 제공하는 데 쓰고, Spark 는 느리지만 꼼꼼한 작업을 맡깁니다.
- 내 데이터로 캘리브레이션할 수 있습니다. 저는 제 에이전트 세션과 글쓰기 데이터 로 모델을 프루닝했는데, 이 비공개 데이터는 제 책상 밖을 벗어나지 않습니다.
- 연구용 에이전트의 훌륭한 호스트입니다. 저는 Spark 위에서 4 개의 에이전트가 동시에 연구 목표를 수행 하게 했는데, 각각 약 120 tok/s 를 냈습니다.
- 학습(Training) 도 Spark 간에 잘 확장됩니다. NVIDIA 테스트에서 파인튜닝은 2 대일 때 2 배, 4 대일 때 4 배 빨라졌습니다. Spark 가 단계당 한 번만 동기화하기 때문입니다(표 5). NVIDIA 플레이북 에 PyTorch 를 이용한 파인튜닝 방법이 나와 있습니다. 저는 아직 직접 학습 시간을 재보진 않았습니다.
고급: GB10, GB300, 그리고 추가 메모리로서의 Spark
"GB"는 Grace Blackwell 을 뜻합니다. Arm CPU 와 Blackwell GPU 가 하나의 패키지에 담겨 있고, NVLink-C2C 라는 고속 링크로 메모리를 공유합니다. Spark 에 들어간 GB10 은 이 설계의 가장 작은 버전으로, MediaTek 과 함께 만든 20 코어 Arm CPU 를 탑재했습니다.
GB300 은 데이터센터 버전입니다. Grace CPU 에 Blackwell Ultra(B300) GPU 를 결합했습니다. NVIDIA 의 GB300 NVL72 랙 에 들어가며, GB300 1 개가 DGX Station 의 심장이 됩니다. GB10 은 GB300 을 잘라낸 조각이 아닙니다. 같은 설계를 작게 축소한 것이며, 그래서 동일한 소프트웨어가 양쪽 모두에서 돌아갑니다.

결론
DGX Spark 는 제 집안에 확고한 자리를 잡았으며, 지원과 유용성, 성능이 날이 갈수록 발전하고 있습니다.
출처 및 참고 자료
- 제 게시글: 위에 날짜가 적힌 모든 내용은 제 X 프로필 에 있습니다. 속도는 제가 직접 테스트한 결과이며 local-ai-registry 에 공개되어 있습니다.
- 레시피: GitHub 의 MiaAI Lab, 제 Hugging Face 모델들.
- 하드웨어 및 가격: NVIDIA DGX Spark 페이지, NVIDIA 하드웨어 문서, 가격 인상에 대한 VideoCardz 기사, 9 월 가격에 대한 VideoCardz 기사, pi3g 가격 트래커.
- Spark 연결: NVIDIA 클러스터링 문서, NVIDIA 스케일링 블로그, 스위치 플레이북, 케이블 가이드, NVIDIA 의 2 대 Spark 벤치마크 가이드.
- 전력: ServeTheHome 리뷰, 유휴 전력에 대한 Tom's Hardware 기사, 미국 전기 요금(EIA, Utility Dive 경유), 연속 부하에 관한 미국 전기 규정.
- 포맷 및 소프트웨어: NVFP4 에 대한 NVIDIA 설명, ExLlamaV3, b12x, REAP, 컴퓨트 능력 목록.
- 클라우드 속도: SemiAnalysis 의 InferenceX.
- GB300: GB300 NVL72 사양, DGX Station 사양, Spark 와 Mac Studio 조합에 대한 EXO 글.
- 시작하기: NVIDIA 의 Spark 플레이북.
- 더 넓은 시각: State of Local AI: 2026.





