YouMind
로그인

DGX Spark 핸드북

@exolabs
영어2026년 9월 25일
160K
560
80
26
1.2K

TL;DR

하드웨어 연결, 모델 선택, 양자화 및 비용 분석을 다루는 NVIDIA DGX Spark 유닛의 로컬 AI 추론 배포를 위한 종합 핸드북입니다.

저자: @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) 더 높습니다.

EXO Labs - inline image

Spark 가 처음 출시되었을 때는 스페큘러티브 디코딩(speculative decoding) 같은 추론 엔지니어링 기법이 지금처럼 널리 쓰이지 않았고, 대부분의 소형 모델 성능도 그리 뛰어나지 않았습니다.

AI 산업이 발전하고 성장하면서 지능은 점점 더 작은 크기로 압축되고 있고, 덕분에 이런 작은 상자들도 제 몫을 톡톡히 해낼 수 있게 되었습니다.

  1. 추론 엔지니어링에 대한 수요가 늘고 있습니다.
  2. LLM 이 추론 엔지니어링에 훨씬 능숙해지고 있습니다.
  3. 고품질 추론은 시스템 전체를 향상시킵니다.

이제 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 끼리 케이블로 연결하여 메모리와 실효 메모리 대역폭을 늘릴 수 있습니다.

EXO Labs - inline image

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 를 여러 대 쌓을 수 있다는 점은 가장 큰 단점이었던 낮은 메모리 대역폭 문제를 완화해 줍니다. 일반 콘센트에서 적은 전력으로 구동된다는 특징은 단일 사용자나 소규모 가정 환경에서 엄청난 강점이 됩니다.

EXO Labs - inline image

실제로 연결된 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 모델이 그 선을 넘어섰고, 이제 로컬 하드웨어에서도 유용하면서도 빠릅니다. 덴스 모델도 결국 그 수준에 도달할지 모릅니다.

EXO Labs - inline image

Dense LLM 과 MoE 비교

스페큘러티브 디코딩(Speculative Decoding)

MTP, DSpark, DFlash를 지원하는 LLM 이라면 훨씬 잘 맞습니다. 드래프트 모델은 보통 아주 작아서 올바른 토큰을 생성하는 데 많은 연산이 필요하지 않기 때문입니다.

이는 Spark 가 낼 수 있는 처리량을 크게 끌어올리며, 메모리는 단 1~2 GB 만 차지합니다. Spark 에는 그 정도 여유가 넉넉합니다.

MoE 처럼 스페큘러티브 디코딩도 집뿐만 아니라 어디서나 도움이 됩니다. 하지만 이 둘이 결합되면서 로컬 AI 가 임계점을 돌파하게 되었습니다. 예전에는 최고의 오픈 모델조차 가정용 하드웨어에서 고통스러울 만큼 느리게 돌아갔으니까요.

EXO Labs - inline image

스페큘러티브 디코딩이 처리량을 개선하는 원리

다수의 에이전트를 동시에

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

참고로 ChatGPT Pro 구독 시 GPT-6-Astra 의 평균 속도는 37 tok/s 입니다.

EXO Labs - inline image

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 에 판매하는 것을 목격했습니다.

EXO Labs - inline image

GX10 가격

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

EXO Labs - inline image

$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 정도 나옵니다.
EXO Labs - inline image

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

EXO Labs - inline image

제 테스트 결과

왜 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 으로 두 배 뛰었습니다.

EXO Labs - inline image

DGX Spark 소음

소음은 어떨까요? 제 GPU 시스템은 제트 엔진 소리 같습니다. 아래는 Spark 4 대가 낼 수 있는 가장 큰 소음입니다.

몇 가지 실용적인 팁:

  • AI 모델, 월드 모델, 이미지 생성 등 다양한 용도로 활용하세요.
  • 옆으로 눕혀서 세우세요. 메쉬 주변 공간이 확보되어 제 경우 더 시원하게 돌아갔습니다.
  • 디버깅에 도움이 필요하면 Discord/Reddit/X 커뮤니티에 참여하세요.
  • 보유 장비 전체에 Tailscale 을 설정해 두세요.
EXO Labs - inline image

제가 실제로 돌리는 6 개 모델

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

EXO Labs - inline image

1 토큰은 대략 단어 3/4 개 분량이며, 30 이상이면 일상 대화처럼 자연스럽게 느껴집니다.

왜 모든 수치에 작업명이 붙어 있을까요? 대부분 레시피가 스페큘러티브 디코딩을 사용하는데, 이때 작은 보조 모델이 다음 단어를 미리 추측합니다. 코드나 JSON 은 추측하기 쉽지만 자연어 문장은 그렇지 않아서, 같은 장비에서 같은 모델이라도 작업에 따라 속도가 두 배 차이 날 수 있습니다. 프롬프트가 길어져도 속도가 떨어집니다. 그래서 여기에 제시된 모든 속도에는 무엇을 작성했고 프롬프트가 얼마나 길었는지가 함께 명시되어 있습니다.

여러 작업에 걸쳐 이를 제대로 측정하려면 NVIDIA 의 SPEED-Bench가 적합합니다. 11 개 카테고리의 실제 프롬프트와 1K~32K 토큰 입력 길이에서 스페큘러티브 디코딩을 테스트합니다. 저는 아직 Spark 에서 돌려보지 못했습니다.

EXO Labs - inline image

Spark 2 대로 애니메이션과 작은 게임을 만드는 Qwen3.8-Flash-Next. (9 월 21 일) 게시물

다운로드 방법. 각 모델에는 공식 페이지가 있으며, 6 섹션에 모든 모델에 대해 검증된 Spark 레시피가 있습니다.

거대한 모델이 어떻게 다 들어갈까

정답은 양자화(quantization)입니다. 양자화는 모델의 가중치를 압축하지만 손실이 발생합니다. 각 가중치를 더 적은 비트(예를 들어 16 대신 4)로 저장하므로 모델 크기는 1/4 로 줄어들지만 일부 디테일이 사라집니다. 목표는 가중치를 압축하면서도 원래 모델의 동작에 최대한 가깝게 유지하는 것입니다.

압축률이 높아질수록 품질은 떨어집니다. Turboderp 가 Qwen3.8-27B 에 대해 이를 측정한 자료가 있습니다. 점 하나는 각각 압축된 버전을 의미합니다. 왼쪽으로 갈수록 작고, 아래로 갈수록 원본에 가깝습니다.

EXO Labs - inline image

여러 제공업체가 만든 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 대에 들어가지만 선명도가 약간 떨어집니다.
EXO Labs - inline image

팁:

작은 모델은 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 대까지: 단계별 가이드

제가 가장 많이 받는 질문이 바로 이 부분입니다. 한 단계씩 진행하세요. 각 단계는 독립적으로 작동하므로, 만족스러운 곳에서 멈추면 됩니다.

EXO Labs - inline image

아래 레시피 대부분은 최고의 Spark 설정을 리포지토리로 패키징해 스크립트 하나로 클론하고 시작할 수 있게 해주는 MiaAI Lab에서 가져왔습니다. 몇 개는 제가 만든 것이고, 모두 어떤 환경에서 테스트했으며 속도가 얼마나 나왔는지 명시되어 있습니다.

모든 Spark 에 대해 다음을 한 번씩 수행하세요.

  1. 업데이트하기. DGX Dashboard에서 업데이트를 실행한 뒤 재부팅합니다.
  2. 노트북에서 접속하기. NVIDIA Sync나 일반 SSH 를 사용합니다. 집 밖에서 접속하려면 NVIDIA 의 Tailscale 플레이북을 참고하세요.
  3. Hugging Face 계정 및 토큰 만들기. 대부분의 레시피가 모델을 다운로드할 때 이를 사용합니다. .env 파일에 넣고 절대 리포지토리 안에 넣지 마세요.
  4. 디스크 확인하기. 모델은 용량이 큽니다. Spark 1 대 레시피는 약 25~130 GB 의 여유 공간이 필요하고, 4 대용 DeepSeek 레시피는 첫 번째 Spark 에 약 476 GB 가 필요합니다.
  5. Docker 는 이미 설치되어 있습니다. DGX OS 에 기본 포함되어 있으며 거의 모든 레시피가 Docker 안에서 실행되므로 Python 패키지를 수동으로 설치할 필요가 없습니다.

1 단계: Spark 1 대

LM Studio 로 시작하세요. NVIDIA 의 단계별 가이드를 따라 Qwen3.6-35B 를 다운로드하고 대화를 나눠보세요. 약 1 시간이 걸립니다. 더 복잡한 작업에 손대기 전에 장비가 정상 작동하는지 확인할 수 있습니다.

그다음 레시피로 넘어가세요. 레시피는 LM Studio 보다 빠르고 여러 에이전트를 동시에 서비스할 수 있는 vLLM 이나 SGLang 을 사용합니다. 하나를 골라보세요.

  1. Qwen3.6-35B (4 비트 NVFP4) MiaAI Lab 사용자 1 명 기준 95 tok/s, 8 명 동시 총 317 tok/s ~50 GB
  2. Qwen3.8-27B (4 비트 NVFP4) MiaAI Lab DSpark 헬퍼 사용 시 코드 약 51 tok/s, 채팅 약 23 tok/s ~24 GB
  3. Qwen3.8-Flash-Next (4 비트 NVFP4) MiaAI Lab 사용자 1 명 기준 48.7 tok/s, 8 명 동시 총 162.9 tok/s ~130 GB
  4. GLM-5.3-Flash (2 비트 EXL3) 제가 만든 것 또는 Mia 레시피의 Spark 1 대 버전 10~25 tok/s, 262K 컨텍스트, 비전 지원 ~85 GB

첫 번째가 가장 쉽습니다. 딱 세 줄이면 됩니다.

bash
1git clone <https://github.com/MiaAI-Lab/Unsloth-Qwen3.6-35b-NVFP4-DGX-Spark.git>
2cd Unsloth-Qwen3.6-35b-NVFP4-DGX-Spark
3./start.sh

실행이 완료되면 Spark 에 OpenAI 스타일의 주소가 생깁니다. Pi, opencode, Open WebUI 등 사용하는 도구를 해당 주소로 연결하면 됩니다.

팁:

모델이 실행되지 않는다면 십중팔구 메모리 문제입니다. 먼저 다른 모델을 종료하세요. Spark 1 대는 한 번에 하나의 큰 모델만 실행합니다.

2 단계: Spark 2 대

제가 가장 추천하는 구성입니다. 8 월에도 이렇게 말했습니다. "DGX Spark 2 대면 준비 끝."

EXO Labs - inline image

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 에게 설정을 맡기는 것을 추천합니다. 훨씬 편합니다.

레시피 고르기:

  1. Qwen3.8-Flash-Next (4 비트 NVFP4) MiaAI Lab MTP 사용 시 사용자 1 명 기준 52.1 tok/s, 최대 1M 컨텍스트
  2. GLM-5.3-Flash (4 비트 EXL3) MiaAI Lab 사용자 1 명 기준 62.9 tok/s, 4 명 동시 총 146.5 tok/s, 850K 컨텍스트
  3. DeepSeek-V4.1-Flash (2.9 비트 EXL3) MiaAI Lab 코드 기준 38.8~43.0 tok/s, 600K 컨텍스트
  4. GLM-5.3 (3 비트 EXL3, 197 GB 로 가지치기) 제 모델 카드 용량은 맞음, 속도는 아직 미측정

대부분의 2 대용 레시피는 비슷합니다. 예제 설정을 복사하고 두 Spark 의 주소를 입력한 뒤 다운로드하고 실행하면 됩니다. GLM-5.3-Flash 예시는 다음과 같습니다.

bash
1cp .env.example .env # HEAD_IP 와 WORKER_IP 설정
2./download.sh
3./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 레시피는 규모가 큰 모델이 어떻게 실행되는지 보여주는 좋은 예입니다. 한 줄이 아니라 몇 단계로 이루어져 있습니다.

bash
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 에 관련 플레이북이 있습니다. 사람들이 주로 쓰는 스위치는 다음과 같습니다.

9 월에 제가 말했듯, "MikroTik 스위치와 Spark 4 대 조합보다 시장에서 더 좋은 조건은 없을 겁니다."

EXO Labs - inline image

옵션 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 였습니다(게시글).

EXO Labs - inline image

단계마다 유용한 도구들

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

결론

Spark 는 거대한 메모리 상자입니다. 대형 모델을 담아두고 가정용 전력으로 조용히 돌리며, 장비를 하나 추가할 때마다 성능이 더 좋아집니다.

오늘 처음 시작한다면 이렇게 해보세요:

  1. 한 대를 구매하고 첫날 바로 LM Studio 로 Qwen3.6-35B 를 돌려봅니다.
  2. 속도가 아쉽거나 여러 에이전트를 동시에 돌리고 싶어지면 레시피로 넘어갑니다.
  3. GLM-5.3-Flash 나 DeepSeek-V4.1-Flash 가 필요해지면 두 번째 Spark 와 케이블을 구매합니다. 대부분은 여기서 멈추는 것이 좋습니다.
  4. 가장 큰 모델을 원하거나 여러 모델을 동시에 실행해야 할 때만 세 대나 네 대로 확장하세요.

다시 살까요? 네. 만약 처음부터 다시 시작한다면 저는 첫날 두 대를 샀을 겁니다.

고급: Spark 연결 시 확장되는 원리

Spark 를 사용하는 데 꼭 필요한 내용은 아닙니다. 숫자가 왜 저렇게 나오는지 알고 싶을 때 참고하세요.

글쓰기(디코딩)는 거의 선형적으로 빨라집니다

모델이 단어를 하나 생성할 때마다 메모리에서 모델의 활성 가중치를 읽어와야 합니다. 모델을 여러 Spark 에 분산시키면 각 장비가 자기 몫을 동시에 읽어오므로 읽기 속도가 합산됩니다.

NVIDIA 가 이를 측정한 바 있습니다. Spark 를 1 대에서 2 대, 4 대로 늘리자 단어 하나를 생성하는 데 걸리는 시간이 269 ms 에서 133 ms, 72 ms 로 줄었습니다. 2 대일 때 2.0 배, 4 대일 때 3.7 배 빠른 셈입니다(NVIDIA 블로그, 표 3).

EXO Labs - inline image

이 정도로 선형에 가까운 이유는 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 로 뛰어오르는 비결이 바로 이것입니다.
EXO Labs - inline image

단일 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 배 빠릅니다:

EXO Labs - inline image

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 을 잘라낸 조각이 아닙니다. 같은 설계를 작게 축소한 것이며, 그래서 동일한 소프트웨어가 양쪽 모두에서 돌아갑니다.

EXO Labs - inline image

결론

DGX Spark 는 제 집안에 확고한 자리를 잡았으며, 지원과 유용성, 성능이 날이 갈수록 발전하고 있습니다.

출처 및 참고 자료

원클릭 저장

YouMind로 바이럴 글을 AI 심층 읽기

소스를 저장하고, 핵심 질문을 던지고, 주장을 요약해 바이럴 글을 다시 활용할 수 있는 노트로 바꾸세요. 하나의 AI 워크스페이스에서 모두 할 수 있습니다.

YouMind 둘러보기
크리에이터를 위해

당신의 Markdown을 깔끔한 𝕏 글로

직접 쓴 장문을 올릴 때 이미지, 표, 코드 블록을 𝕏에 맞게 정리하는 일은 번거롭습니다. YouMind는 전체 Markdown 초안을 깔끔하고 바로 게시할 수 있는 𝕏 글로 바꿔 줍니다.

Markdown → 𝕏 사용해 보기

분석할 패턴 더 보기

최근 바이럴 아티클

더 많은 바이럴 아티클 보기