Tác giả: @0xSero
Người phản biện: @alexocheema và @alexzfunk
Đặc biệt cảm ơn: @MiaAI_lab
Nếu bạn đang tính chạy inference (suy luận) ngay trên máy cá nhân, chắc chắn bạn sẽ nghe đến "viên gạch vàng" thú vị này. Đây là một cỗ máy được sinh ra để phục vụ AI tại chỗ, với thiết kế nhỏ gọn, tinh tế, êm ái và giá cả khá dễ chịu (trang sản phẩm DGX Spark của NVIDIA).
Lần đầu nghe về DGX Spark, tôi chẳng mấy ấn tượng. Dù có 128 GB bộ nhớ, băng thông 273 GB/s vẫn tỏ ra quá khiêm tốn. Để dễ hình dung, một chiếc RTX 5090 có băng thông gấp khoảng 6.5 lần (1,792 GB/s), dù chỉ sở hữu 32 GB VRAM.

Thời điểm Spark mới ra mắt, các kỹ thuật tối ưu inference như speculative decoding (giải mã dự đoán) chưa phổ biến, và phần lớn các mô hình nhỏ cũng chưa thực sự đủ năng lực.
Khi ngành AI không ngừng tiến hóa, trí tuệ đang được nén vào những kích thước ngày càng nhỏ hơn, giúp những chiếc hộp bé xíu này phát huy trọn vẹn tiềm năng.
- Nhu cầu về kỹ thuật inference đang tăng mạnh.
- Các LLM ngày càng thạo việc hỗ trợ inference hơn.
- Inference chất lượng cao giúp cải thiện toàn hệ thống.
Giờ đây, DGX Spark đã có thể chạy những mô hình cực kỳ thông minh với tốc độ ngang ngửa dịch vụ đám mây, ngay tại nhà hoặc văn phòng của bạn. Có vô số phần mềm AI sẵn sàng giúp bạn lập trình, kê khai thuế, học tập hay đơn giản là giải trí.
Nói về tốc độ, ý tôi là số token mỗi giây mà một người dùng nhận được. Phần cứng đám mây nhanh hơn nhiều, nhưng các nhà cung cấp phải chia sẻ nó cho rất nhiều người dùng và tối ưu chi phí trên mỗi token, nên phần bạn nhận được sẽ ít hơn. Còn ở nhà, cỗ máy là của riêng bạn, mọi tài nguyên đều dành cho bạn. Chi tiết hơn ở phần ghi chú nâng cao.
Spark sinh ra là để kết nối
DGX Spark tiêu thụ rất ít điện. Chúng thường chỉ dao động quanh mức 95 W khi đã tải mô hình và đang phục vụ.
Nhờ vậy, chúng không cần tản nhiệt quá mạnh và êm hơn hẳn so với GPU rời. Bạn có thể xếp chồng 2 đến 4 máy trên một đường dây điện tiêu chuẩn của Mỹ mà không cần lo lắng gì. Đó mới là điểm mấu chốt, chứ không phải hiệu năng thuần túy: xét trên mỗi đơn vị tốc độ bộ nhớ, một B300 trong data center làm được nhiều gấp đôi trên mỗi joule (xem phần ghi chú nâng cao). Còn Spark thì chỉ cần cắm thẳng vào ổ điện tường bình thường.
Mỗi Spark đều có card mạng ConnectX-7 với hai cổng QSFP, đạt tốc độ 200 Gb/s, tức 25 GB/s. Nhờ đó, bạn có thể nối các Spark lại với nhau để mở rộng bộ nhớ và băng thông bộ nhớ thực tế.

Cách các DGX Spark liên kết với nhau
Với tensor parallelism (song song tensor), mỗi ma trận trọng số được chia đều cho các Spark, và mỗi Spark chỉ đọc phần của mình từ bộ nhớ riêng, đồng thời với các máy còn lại. Nhờ vậy, tốc độ đọc được cộng dồn (bài test scaling của chính NVIDIA):
- 546 GB/s với hai Spark
- 819 GB/s với ba Spark
- 1,092 GB/s với bốn Spark
Hiệu suất tăng gần như tuyến tính. Trong bài test của NVIDIA, tốc độ ghi nhanh gấp 2 lần với hai Spark và gấp 3.7 lần với bốn Spark (bảng 3). Nó hoạt động trơn tru đến vậy vì liên kết ConnectX-7 có độ trễ cực thấp, và CUDA có thể truyền dữ liệu giữa các Spark ngay từ bên trong mã GPU (lý do chi tiết).
Bộ nhớ cũng cộng dồn tương tự: 128 GB mỗi máy, 512 GB cho bốn máy, trong đó khoảng 120 GB trên mỗi Spark thực sự khả dụng cho các tác vụ AI.
Khả năng ghép nối nhiều Spark đã giải quyết nhược điểm lớn nhất của nó: băng thông bộ nhớ thấp. Việc tiêu thụ ít điện trên một ổ cắm thông thường khiến nó trở nên tuyệt vời cho một người dùng hoặc một hộ gia đình nhỏ.

DGX Spark được kết nối ngoài đời thực
Dense vs MoE
Hiện tại có hai kiến trúc mô hình chính: sparse (thưa) và dense (dày đặc). Các mô hình Mixture-of-experts (MoE) như Qwen3.6-35B chỉ kích hoạt 3B tham số cho mỗi token được tạo ra, ít hơn 9 lần so với Qwen3.8-27B.
Điều này khiến các LLM dạng sparse đặc biệt phù hợp với DGX Spark. Chúng bù đắp hoàn hảo cho băng thông bộ nhớ thấp hơn, mang lại trải nghiệm mượt mà cho người dùng bất kể tổng dung lượng mô hình lớn đến đâu.
MoE không chỉ tốt cho DGX Spark. Đây cũng là kiến trúc vượt trội trong các data center. Điểm thay đổi với mảng chạy local chính là ngưỡng giới hạn: chúng ta kỳ vọng một tốc độ nhất định, và những mô hình dense đủ thông minh lại quá lớn để chạy nhanh như vậy tại nhà. Mô hình MoE đã vượt qua ranh giới đó, nên giờ đây chúng vừa hữu ích vừa nhanh trên phần cứng cá nhân. Các mô hình dense rồi cũng sẽ làm được điều tương tự.

So sánh LLM Dense và MoE
Speculative Decoding
Bất kỳ LLM nào hỗ trợ MTP, DSpark hoặc DFlash đều sẽ phù hợp hơn, bởi các draft model (mô hình nháp) thường rất nhỏ và không tốn nhiều tài nguyên tính toán để dự đoán đúng một token.
Kỹ thuật này cải thiện đáng kể throughput (lượng xử lý) mà Spark có thể đạt được, chỉ đánh đổi 1 đến 2 GB bộ nhớ — thứ mà Spark có thừa.
Giống như MoE, speculative decoding hữu ích ở mọi nơi, không chỉ khi chạy tại nhà. Nhưng chính sự kết hợp của cả hai đã đẩy AI local vượt qua ngưỡng giới hạn. Trước đây, những mô hình open-source tốt nhất chạy chậm đến phát khóc trên phần cứng gia đình.

Cách Speculative decoding cải thiện throughput
Nhiều agent cùng lúc
Một Spark có thể phục vụ đồng thời tám yêu cầu trở lên, mỗi luồng vẫn giữ được tốc độ hội thoại. Ví dụ, Qwen3.6-35B — vốn có thể lập trình cơ bản, điều khiển máy tính và trình duyệt, chỉnh sửa video/hình ảnh và hỗ trợ đa năng — có thể chạy tối đa 8 phiên cùng lúc, mỗi phiên đạt khoảng 40 tok/s.
Để so sánh, với gói ChatGPT Pro, GPT-6-Astra chạy ở tốc độ trung bình 37 tok/s.

Tốc độ trung bình của Astra
Điều này khả thi vì Spark sở hữu sức mạnh tính toán rất lớn so với tốc độ bộ nhớ. Phục vụ tám người vẫn nghĩa là đọc mô hình một lần mỗi bước, nhưng phải tính toán gấp tám lần, và Spark dư sức làm việc đó. Ở mức 16-bit, nó có khoảng 100 TFLOPS cho 273 GB/s, tương đương 370 phép tính trên mỗi byte bộ nhớ được đọc. Một M3 Ultra có khoảng 26 TFLOPS cho 819 GB/s, tức khoảng 32 phép tính (số liệu từ EXO). Nghĩa là sức mạnh tính toán trên mỗi byte cao hơn khoảng 11 lần, chưa kể phần cứng 4-bit của Spark mà Mac không có.
Ứng dụng thực tế
Qwen3.6-35B chạy trên một Spark đã tạo ra một video thu hút hơn 80,000 lượt xem chỉ trong một ngày. Toàn bộ quá trình mất đúng 3 phút: nó lấy một thư mục chứa 3 video, ghép chúng lại, tua nhanh gấp 4 lần đồng thời giữ frame rate dưới giới hạn của X.
https://x.com/0xSero/status/2072206209323802746
Chi phí
DGX Spark ban đầu có giá niêm yết $3,999, nhưng sau đó đã bị đội lên $4,699. Giá phần cứng nói chung đều tăng trong năm 2026.
Giá thực tế còn cao hơn. Cửa hàng chính hãng của NVIDIA đã cháy hàng. Chiếc rẻ nhất tôi tìm được rơi vào khoảng $5,000, hàng cũ bán tầm $6,000, và vào ngày 21 tháng 9, tôi thấy trang web NVIDIA hét giá $7,999 cho đúng chiếc máy mà tôi mua với giá $4,699 chỉ năm tuần trước đó.

Giá GX10
Sàn giao dịch của NVIDIA ngày 21 tháng 9. Bài đăng

4000$ - 4700%
Lời khuyên khi mua
- Máy nào dùng chip GB10 cũng được. ASUS, Dell, MSI và các hãng khác đều bán phiên bản riêng của cùng một con chip này. Chúng chạy chung phần mềm và chung công thức cấu hình. Hãy kiểm tra dung lượng SSD: 1 TB sẽ đầy rất nhanh nếu bạn lưu vài mô hình lớn. Tôi khuyên nên chọn bản 4 TB.
- Hãy mua cáp khi mua chiếc Spark thứ hai, bạn sẽ cần nó để nối 2 máy lại với nhau.
- Một số nhà sản xuất (OEM) cung cấp bản Spark có luồng gió tản nhiệt tốt hơn
Điện năng, tiếng ồn và hóa đơn tiền điện
Tiếng ồn và nhiệt lượng từ GPU rời không hề đùa được đâu: với 4 chiếc 3090, bạn dễ dàng ngốn 1600-2000W mà chỉ đổi lại 1/5 lượng bộ nhớ. Tôi từng phải chuyển dàn RTX Pro 6000 ra khỏi phòng làm việc vì nó thường xuyên "nung" căn phòng lên tới 35°C.
Một đường dây điện gia đình tiêu chuẩn ở Mỹ có thể chịu tải an toàn khoảng 1,440 watt cả ngày (quy chuẩn điện Mỹ). Cao hơn mức đó là phải đi thêm đường dây mới, tức là phải gọi thợ điện.
- Một Spark khi chạy mô hình tiêu thụ khoảng 90-200 watt (ServeTheHome). Tức là khoảng $12 mỗi tháng nếu bạn bật 24/7.
- Bốn Spark tiêu thụ khoảng 500 watt tổng cộng, cộng thêm switch ngốn chừng 240W. Tầm $66-100 mỗi tháng, và tất cả chỉ cần cắm chung một ổ.
- Dàn 4 GPU của tôi đỉnh điểm chạm 1,600 watt. Mức này vượt quá khả năng của một đường dây, và tốn khoảng $300 mỗi tháng.

Các con số này từ đâu ra. Mỗi số liệu là một kiểu đo khác nhau, nên tôi đặt chúng cạnh nhau để dễ so sánh. Chi phí hàng tháng giả định máy chạy hết công suất đó 24 giờ/ngày, với giá điện 18 cent/kWh:

Kết quả test của tôi
Vì sao bốn Spark tốn nhiều hơn bốn lần 90 W. Con số 90 W là khi một Spark tự chạy mô hình một mình. Khi một mô hình lớn bị chia nhỏ cho bốn máy, mỗi Spark phải xử lý từng từ và liên tục duy trì kết nối mạng, nên mức tiêu thụ tăng lên, trung bình khoảng 125 W theo đo đạc của tôi. Vậy nên $12 và $66 mỗi tháng là chi phí khi ép máy chạy hết công suất 24/7. Thực tế sử dụng có thời gian nghỉ sẽ tốn ít hơn.
Giá điện cũng chẳng có dấu hiệu giảm. Giá điện sinh hoạt tại Mỹ đã tăng khoảng 5% trong năm nay, lên mức 18 cent/kWh, một phần do sự bùng nổ của các data center mới. Hồi tháng 8, hóa đơn nhà tôi tăng gấp đôi lên $1,000/tháng khi chạy song song dàn GPU, hai chiếc Spark và bốn máy lạnh.

Âm thanh của DGX Spark
Còn tiếng ồn thì sao? Dàn GPU của tôi rú như động cơ phản lực. Và đây là âm thanh lớn nhất mà bốn chiếc Spark của tôi phát ra:
Vài lưu ý thực tế:
- Dùng được với mọi loại mô hình AI, world model, tạo ảnh, v.v.
- Hãy dựng đứng máy lên. Máy của tôi mát hơn khi đặt dọc, nhờ lưới tản nhiệt có không gian thoát khí.
- Tham gia các cộng đồng Discord/Reddit/X để được hỗ trợ debug
- Cài Tailscale cho toàn bộ dàn máy của bạn

6 mô hình tôi thực sự đang dùng
Tôi đã thử hàng chục cái. Đây là 6 mô hình tôi luôn quay lại sử dụng.

Một token dài bằng khoảng ba phần tư từ, và bất cứ thứ gì trên 30 tok/s đều mang lại cảm giác như đang trò chuyện bình thường.
Vì sao mỗi con số đều gắn với một tác vụ cụ thể. Hầu hết các công thức này đều dùng speculative decoding, nơi một mô hình phụ nhỏ hơn sẽ đoán trước. Code và JSON rất dễ đoán, văn xuôi thì không, nên cùng một mô hình trên cùng một máy có thể chạy nhanh gấp đôi ở tác vụ này so với tác vụ kia. Prompt dài cũng làm chậm tốc độ. Vì vậy, mỗi con số tốc độ ở đây đều ghi rõ nội dung đang được tạo ra và độ dài của prompt:
Cách chuẩn chỉnh để đo lường trên nhiều tác vụ là SPEED-Bench của NVIDIA, bộ test này đánh giá speculative decoding trên các prompt thực tế thuộc 11 danh mục với độ dài đầu vào từ 1K đến 32K token. Tôi chưa kịp chạy nó trên Spark.
- Một Spark: Qwen3.6-35B, Qwen3.8-Flash-Next, Qwen3.8-27B
- Hai Spark: GLM-5.3-Flash.
- Bốn Spark: DeepSeek-V4.1-Flash.

Qwen3.8-Flash-Next trên hai Spark đang dựng animation và một game nhỏ. (21 tháng 9) Bài đăng
Tải chúng ở đâu. Mỗi mô hình đều có trang chính chủ, và phần 6 có công thức cấu hình Spark đã được test cho từng cái:
- Qwen3.6-35B, hoặc bản 4-bit của NVIDIA
- Qwen3.8-27B
- Qwen3.8-Flash-Next
- GLM-5.3-Flash, hoặc bản build cho một Spark của tôi
- DeepSeek-V4.1-Flash
- GLM-5.3, hoặc bản 3-bit của tôi
Làm sao nhét vừa những mô hình khổng lồ?
Câu trả lời là quantization (lượng tử hóa). Quantization nén trọng số của mô hình, và đây là quá trình nén mất dữ liệu: mỗi trọng số được lưu bằng ít bit hơn (ví dụ 4 thay vì 16), giúp mô hình thu nhỏ còn một phần tư, nhưng đánh đổi bằng việc mất đi một số chi tiết. Mục tiêu là giữ hành vi của mô hình sát với bản gốc nhất có thể trong khi nén trọng số.
Nén càng nhiều, chất lượng càng giảm. Turboderp đã đo lường điều này trên Qwen3.8-27B. Mỗi chấm là một phiên bản nén. Càng lệch trái càng nhỏ, càng thấp càng giống bản gốc:

Độ phân kỳ KL trung bình so với dung lượng đĩa của các bản nén Qwen3.6-35B-A3B từ nhiều nguồn. Thang log. Biểu đồ: https://huggingface.co/turboderp/Qwen3.8-27B-exl3
Có hai định dạng đáng quan tâm trên Spark:
- NVFP4 là định dạng 4-bit của NVIDIA, và chip của Spark đọc trực tiếp được định dạng này. Qwen3.6-35B giảm từ 72 GB xuống 24 GB, nhét vừa một Spark mà vẫn còn thừa chỗ.
- EXL3 cho phép bạn tùy chọn chính xác số bit muốn dùng. GLM-5.3-Flash ở mức 4 bit nặng 176 GB và vừa vặn trên hai Spark. Ở mức 2 bit, nó còn 85 GB và vừa một Spark, dù độ sắc sảo giảm đi chút ít.

Mẹo:
4 bit là điểm ngọt cho các mô hình nhỏ, 3 bit dành cho mô hình lớn hơn
Làm sao biết mô hình bị nén có còn tốt không. Các model card xịn sẽ ghi rõ phiên bản thu nhỏ bám sát bản gốc đến đâu. Hai chỉ số cần soi:
- Top-1 agreement (độ trùng khớp Top-1): tần suất mô hình nhỏ chọn đúng từ tiếp theo giống mô hình gốc. Càng cao càng tốt. Bản GLM-5.3-Flash cho một Spark của tôi trùng khớp khoảng 80%.
- KL divergence (độ phân kỳ KL): mức độ dự đoán bị lệch so với bản gốc. Càng thấp càng tốt. Bản GLM-5.3 chưa cắt tỉa ở 3 bit của tôi đạt 0.089. Còn bản 197 GB đã cắt tỉa là 0.511. Đó là cái giá phải trả để nhét vừa vào ít Spark hơn.
6. Từ một Spark lên bốn: lộ trình từng bước
Đây là phần tôi được hỏi nhiều nhất. Hãy đi từng bước một. Mỗi bước đều hoạt động độc lập, nên bạn thích dừng ở đâu thì dừng.

Hầu hết các công thức dưới đây đến từ MiaAI Lab, nhóm chuyên đóng gói những thiết lập Spark ngon nhất thành các repo mà bạn chỉ cần clone về và chạy bằng một script. Vài cái là do tôi tự làm. Tất cả đều ghi rõ đã test trên phần cứng nào và tốc độ ra sao.
Làm những việc sau một lần, trên mọi Spark:
- Cập nhật máy. Chạy các bản update trong DGX Dashboard, sau đó khởi động lại.
- Truy cập từ laptop. Dùng NVIDIA Sync hoặc SSH thông thường. Nếu muốn truy cập từ bên ngoài nhà, NVIDIA có sẵn playbook Tailscale.
- Tạo tài khoản và token Hugging Face. Đa số công thức đều dùng nó để tải mô hình. Lưu vào file .env, tuyệt đối không commit vào repo.
- Kiểm tra ổ cứng. Mô hình rất nặng. Một công thức cho 1 Spark cần trống khoảng 25 đến 130 GB. Công thức DeepSeek cho 4 Spark cần khoảng 476 GB trống trên chiếc Spark đầu tiên.
- Docker đã được cài sẵn. DGX OS tích hợp sẵn, và gần như mọi công thức đều chạy trong đó, nên bạn không phải cài thủ công các gói Python.
Bước 1: một Spark
Bắt đầu với LM Studio. Làm theo hướng dẫn từng bước của NVIDIA, tải Qwen3.6-35B và bắt đầu chat. Mất khoảng một tiếng. Việc này giúp bạn xác nhận máy hoạt động ổn trước khi đụng tới những thứ phức tạp hơn.
Sau đó chuyển sang dùng công thức mẫu. Các công thức này dùng vLLM hoặc SGLang, nhanh hơn LM Studio và phục vụ được nhiều agent cùng lúc. Chọn một trong các phương án sau:
- Qwen3.6-35B (4-bit NVFP4) MiaAI Lab 95 tok/s cho một người dùng, tổng 317 cho tám người ~50 GB
- Qwen3.8-27B (4-bit NVFP4) MiaAI Lab ~51 tok/s khi viết code với trợ lý DSpark, ~23 khi chat ~24 GB
- Qwen3.8-Flash-Next (4-bit NVFP4) MiaAI Lab 48.7 tok/s cho một người dùng, tổng 162.9 cho tám người ~130 GB
- GLM-5.3-Flash (2-bit EXL3) của tôi, hoặc phiên bản 1 Spark từ công thức của Mia 10 đến 25 tok/s, context 262K, hỗ trợ vision ~85 GB
Cái đầu tiên là dễ nhất. Chỉ ba dòng lệnh:
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
Khi chạy xong, bạn sẽ có một địa chỉ chuẩn OpenAI trên Spark. Trỏ Pi, opencode, Open WebUI hay bất kỳ công cụ nào bạn đang dùng vào đó.
Mẹo:
nếu mô hình không chịu khởi động, 99% là do thiếu bộ nhớ. Hãy tắt các mô hình khác trước. Một Spark chỉ chạy được một mô hình lớn tại một thời điểm.
Bước 2: hai Spark
Đây là thiết lập tôi khuyên dùng nhiều nhất. Như tôi từng nói hồi tháng 8: "2 DGX Sparks là đủ xài."

2 dgx sparks
Dây cáp. Bạn cần một sợi QSFP ngắn nối giữa hai cổng QSFP. Dùng loại nào dưới đây cũng được (hướng dẫn chọn cáp):
- Hàng chính chủ NVIDIA: Cáp QSFP 0.4 m cho DGX Spark, $99.99. Thường xuyên cháy hàng.
- Loại tài liệu NVIDIA nhắc đến: Amphenol NJAAKK-N911 hoặc Luxshare LMTQF022-SD-R, 0.5 m, khoảng $159 đến $187.
- Lựa chọn 200G rẻ hơn: NVIDIA MCP1650-V00AE30, khoảng $84.
Dù mua loại nào, liên kết vẫn chạy ở 200 Gb/s. Đừng dùng USB-C hay cổng 10 GbE cho việc này. Chúng chậm hơn rất nhiều.
Thiết lập liên kết. Làm theo playbook nối hai Spark của NVIDIA. Nó sẽ gán địa chỉ cho từng cổng và kiểm tra tốc độ. Sau đó, cài SSH không mật khẩu từ Spark đầu tiên ("head") sang Spark thứ hai ("worker"). Mọi công thức cho hai Spark đều yêu cầu bước này.
Tôi khuyên bạn nên nhờ Claude hoặc GPT hướng dẫn setup đoạn này, sẽ dễ thở hơn nhiều.
Chọn công thức:
- Qwen3.8-Flash-Next (4-bit NVFP4) MiaAI Lab 52.1 tok/s cho một người dùng với MTP, context lên tới 1M
- GLM-5.3-Flash (4-bit EXL3) MiaAI Lab 62.9 tok/s cho một người dùng, tổng 146.5 cho bốn người, context 850K
- DeepSeek-V4.1-Flash (2.9-bit EXL3) MiaAI Lab 38.8 đến 43.0 tok/s khi viết code, context 600K
- GLM-5.3 (3-bit EXL3, cắt tỉa còn 197 GB) model card của tôi nhét vừa; chưa đo tốc độ
Hầu hết công thức cho hai Spark đều na ná nhau: copy file cấu hình mẫu, điền địa chỉ của cả hai Spark, tải về, khởi chạy. Đây là ví dụ với GLM-5.3-Flash:
1cp .env.example .env # set HEAD_IP and WORKER_IP2./download.sh3./start.sh
Lưu ý:
việc nối các Spark hoàn toàn khả thi, nhưng đây là khâu phần mềm còn thô nhất. Hãy làm theo công thức đã được test và dành hẳn một buổi chiều cho lần đầu tiên.
Bước 3: ba Spark
Ba Spark không cần switch. Mỗi Spark có hai cổng QSFP, nên bạn nối chúng thành hình tam giác: A sang B, B sang C, C sang A. Tổng cộng ba sợi cáp. NVIDIA hỗ trợ cách này dưới dạng switchless ring (vòng lặp không switch).
Ba Spark cho bạn khoảng 384 GB. Đủ để gánh những thứ mà hai máy không kham nổi:
- DeepSeek-V4.1-Flash ở độ chính xác gốc. Công thức của MiaAI Lab chạy nó trên cụm tam giác ba Spark đạt 51.0 tok/s cho một người dùng, context 256K. Nó có lệnh doctor để kiểm tra SSH, Docker và liên kết mạng trước khi bạn khởi chạy.
- GLM-5.3-Flash với nhiều không gian hơn. Công thức EXL3 cho hai Spark có sẵn file start-tp3.sh cho ba máy.
- GLM-5.3 bản chưa cắt tỉa. Bản build 293 GB của tôi cần bộ nhớ của khoảng ba Spark.
Công thức DeepSeek là ví dụ điển hình cho cách các mô hình lớn hơn vận hành. Nó gồm vài bước, chứ không phải một:
1./start.sh doctor # checks ssh, docker, links, disk2./start.sh share # shares the model folder with the other Sparks3./start.sh serve # starts the workers, then the head
Mẹo:
một số mô hình chỉ chia đều được cho 2 hoặc 4 máy. Nhớ kiểm tra xem công thức có ghi "3x" không trước khi mua chiếc thứ ba.
Bước 4: bốn Spark
Bốn Spark cho bạn khoảng 512 GB. Có hai cách để kết nối chúng.
Phương án A: dùng switch (cách tôi đang dùng). Mỗi Spark cắm một cáp vào switch 200 GbE, nhờ đó máy nào cũng chỉ cách máy kia đúng một bước nhảy. NVIDIA có playbook cho cách này. Các switch mọi người hay dùng:
- MikroTik CRS812-8DS-2DQ-2DDQ-RM. Các cổng 400G của nó tách được thành hai liên kết 200G.
- MikroTik CRS804-4DDQ-hRM. Lựa chọn nhỏ gọn hơn (ghi chú build cụm 4 Spark).
- Exxact có một danh sách mua sắm rất chuẩn cho cụm 4 Spark: switch, cáp và nguồn.
Như tôi đã nói hồi tháng 9: "Tôi không nghĩ trên thị trường có deal nào ngon hơn combo 4 Spark kèm switch MikroTik."

Phương án B: không dùng switch. Nối bốn máy thành vòng lặp, mỗi Spark cắm cáp vào hai máy kề nó. Những máy không kề nhau sẽ giao tiếp qua máy nằm giữa. Cách này tiết kiệm tiền mua switch, nhưng setup vất vả hơn:
- SparkRing là bộ phần mềm hoàn chỉnh dành cho các cặp kết nối không cần switch và vòng bốn Spark. Đây vẫn là bản alpha, nên hãy ghim cố định một phiên bản khi dùng.
- Recipe GLM-5.3-Flash này chạy trên vòng bốn Spark với bốn cáp 100G ngắn và NCCL đã được patch. Tốc độ thường đạt khoảng 45 tok/s, lên tới gần 100 khi máy đã nóng.
Chọn một recipe:
- DeepSeek-V4.1-Flash (native) MiaAI Lab, start-tp4.sh 45.4 tok/s cho một người dùng, tổng cộng 134.2 cho mười sáu người, context 1M
- GLM-5.3-Flash (4-bit NVFP4) vòng không switch ~45 tok/s thông thường, ~100 khi máy nóng
Kết quả tốt nhất của tôi trên bốn máy là 118 tok/s với GLM-5.3-Flash kèm trợ lý DFlash2, và từ 83.8 đến 95.3 tok/s với DeepSeek-V4.1-Flash trên các prompt ngắn (bài đăng).

Các công cụ hữu ích ở mọi bước
- \\sparkDash:\\ dashboard web gom tất cả Spark của bạn vào một cửa sổ duy nhất. Theo dõi GPU, bộ nhớ, mạng và số token mỗi giây theo thời gian thực. Nhiều tốc độ trong bài hướng dẫn này được đo bằng chính công cụ đó.
- \\Playbook Spark của NVIDIA:\\ hướng dẫn chính thức cho LM Studio, Ollama, vLLM, cách liên kết các Spark và nhiều hơn nữa.
- \\local-ai-registry:\\ các recipe của tôi cùng toàn bộ bài test tốc độ tôi từng chạy.
- \\b12x:\\ thư viện toán học tốc độ cao đứng sau nhiều recipe Spark. Bạn không cần tự cài; các recipe sẽ lo việc đó. Xem thêm phần ghi chú nâng cao bên dưới.

Kết luận
Spark là một chiếc hộp chứa bộ nhớ. Nó gánh được những model lớn, chạy êm ru bằng điện lưới gia đình và càng mạnh hơn mỗi khi bạn bổ sung thêm một chiếc.
Nếu bạn bắt đầu ngay hôm nay:
- Mua một chiếc và chạy Qwen3.6-35B qua LM Studio ngay trong ngày đầu tiên.
- Chuyển sang dùng recipe khi bạn cần tốc độ hoặc muốn chạy nhiều agent.
- Mua chiếc Spark thứ hai và cáp khi bạn muốn chạy GLM-5.3-Flash hoặc DeepSeek-V4.1-Flash. Với đa số mọi người, dừng lại ở đây là vừa đẹp.
- Lên ba hoặc bốn máy chỉ khi bạn cần chạy những model khủng nhất hoặc muốn chạy song song vài model cùng lúc.
Liệu tôi có mua lại chúng không? Chắc chắn rồi. Và nếu làm lại từ đầu, tôi sẽ mua luôn hai chiếc ngay ngày đầu tiên.
Nâng cao: cách liên kết các Spark giúp mở rộng hiệu năng
Bạn không cần đọc phần này để dùng Spark. Nó chỉ dành cho lúc bạn muốn hiểu vì sao các con số lại ra như vậy.
Gần như tuyến tính đối với tác vụ ghi
Mỗi từ model sinh ra đồng nghĩa với việc phải đọc trọng số đang hoạt động của nó từ bộ nhớ. Chia model ra nhiều Spark thì mỗi máy sẽ đọc phần của mình cùng lúc, nhờ đó tốc độ đọc được cộng dồn.
NVIDIA đã đo đạc điều này. Khi tăng từ một lên hai rồi bốn Spark, thời gian để sinh ra mỗi từ giảm từ 269 ms xuống 133 ms rồi còn 72 ms. Tức là nhanh gấp 2.0 lần với hai máy và 3.7 lần với bốn máy (blog của NVIDIA, bảng 3).

Đạt được mức đó là nhờ liên kết ConnectX-7 có độ trễ cực thấp, và việc trao đổi dữ liệu giữa các Spark có thể diễn ra ngay bên trong mã GPU. Bài giải thích dành cho Mac này phân tích kỹ hơn về cùng một ý tưởng.
Sau mỗi layer, các Spark phải trao đổi kết quả trung gian trước khi layer tiếp theo bắt đầu. Lượng dữ liệu trao đổi rất nhỏ, nhưng lại xảy ra ở mọi layer và mọi từ. Mỗi lần như vậy đều tốn một chút thời gian cố định, không hề giảm đi dù bạn có thêm bao nhiêu Spark.
- Liên kết đạt 200 Gb/s, tức khoảng 25 GB/s. Bằng một phần mười tốc độ bộ nhớ nội tại của Spark. Vẫn ổn vì lượng dữ liệu trao đổi rất nhỏ.
- Nó dùng RDMA. Dữ liệu đi thẳng từ bộ nhớ Spark này sang Spark kia mà CPU không cần sao chép. Mỗi cổng QSFP hiển thị thành hai nửa 100 Gb/s, và phần mềm phải dùng cả hai mới đạt đủ 200 (chi tiết). NCCL, thư viện chuyên dụng của NVIDIA, đảm nhận việc này.
- Đọc mở rộng kém hơn ghi. Cũng trong bài test của NVIDIA, đọc một prompt 32K token nhanh hơn 1.6 lần với hai Spark và 2.1 lần với bốn Spark. Tác vụ đọc phải chuyển lượng dữ liệu lớn hơn nhiều giữa các Spark ở mỗi bước.
- Cấu trúc vòng làm tăng số hop. Trong tam giác ba Spark, mỗi máy nối cáp trực tiếp với hai máy còn lại. Ở vòng bốn Spark, một số cặp phải giao tiếp qua máy trung gian. Dùng switch thì mọi máy đều cách nhau đúng một hop. SparkRing tự viết mã trao đổi riêng (SIRCL) để giúp cấu trúc vòng chạy nhanh hơn.
- Model mixture-of-experts có thêm một lớp chia nữa. Các recipe thường kết hợp tensor parallel với "expert parallel", trong đó những Spark khác nhau sẽ giữ các expert khác nhau.
Hai cách khác để tăng tốc
- Nhiều người dùng cùng lúc. Spark chỉ cần đọc model một lần cho mỗi bước và trả lời tất cả mọi người từ lần đọc đó. Nhờ vậy, tổng tốc độ tăng nhanh hơn hẳn so với tốc độ của một người dùng đơn lẻ.
- Dùng model giải mã dự đoán (speculative decoder) đoán trước. MTP, DSpark và DFlash2 đều hoạt động theo cách này. Một model phụ nhỏ và nhanh sẽ nháp trước vài từ, sau đó model lớn kiểm tra tất cả chỉ trong một lần đọc. Nếu đoán đúng, bạn thu về nhiều từ mà chỉ tốn chi phí của một từ. Đó là cách GLM-5.3-Flash nhảy từ 27 tok/s với văn bản thông thường lên 65 tok/s với output có cấu trúc trong cùng một recipe.

Qwen3.6-35B-A3B ở 4 bit trên một Spark, có bật trợ lý tăng tốc. Nguồn: bài test tốc độ của local-ai-registry, tháng 8 năm 2026.
Cloud AI và Local AI là hai thế giới khác nhau
GPU trên cloud nhanh hơn Spark rất nhiều. Nhưng các nhà cung cấp cloud lại chia sẻ mỗi GPU cho vô số người dùng, và họ phải chọn một điểm cân bằng giữa chi phí trên mỗi token và tốc độ cho từng người. Đa số chọn ưu tiên chi phí, nên mỗi người dùng nhận được ít token mỗi giây hơn nhiều so với khả năng thực sự của phần cứng nếu chỉ phục vụ một người. InferenceX đã vẽ biểu đồ đánh đổi này cho Qwen3.8-Flash-Next.
Ở nhà, sự đánh đổi đó không tồn tại. Máy là của bạn, nên bạn có thể dồn toàn bộ sức mạnh cho một người duy nhất. Đó là lý do Spark mang lại cảm giác nhanh ngang ngửa dịch vụ cloud, dù phần cứng thực tế không mạnh bằng.
sm_121: vì sao hệ sinh thái phần mềm của Spark là một thế giới riêng
Mọi GPU NVIDIA đều có một mã "compute capability" để báo cho phần mềm biết nó hỗ trợ tập lệnh nào. GPU của Spark là 12.1, hay sm_121 (bài đánh giá đầu tiên của Simon Willison). RTX 5090 và RTX PRO 6000 dùng sm_120, một người anh em rất gần. Còn chip data center của NVIDIA là B200 và B300, thuộc sm_100 và sm_103, một dòng kiến trúc hoàn toàn khác.
Điều này quan trọng vì mã AI tối ưu nhất luôn được viết riêng cho từng dòng kiến trúc. Khi Spark mới ra mắt, rất nhiều code hoặc không chạy được, hoặc chạy rất chậm (diễn đàn NVIDIA, issue của vLLM).
Giải pháp là cộng đồng tự viết code riêng cho Spark:
- b12x của Local Inference Lab là thư viện kernel cho sm_120 và sm_121: DGX Spark, RTX Spark, RTX 5090 và RTX PRO 6000. Nó hỗ trợ phép toán ma trận 4-bit (NVFP4, MXFP4), cơ chế attention cho các model kiểu DeepSeek, layer mixture-of-experts và trình tải model tốc độ cao. Cài đặt bằng pip install b12x, và các recipe vLLM kích hoạt nó qua flag như flashinfer_b12x. Recipe Qwen3.6-35B đang dùng thư viện này.
- SparkInfer là tên cũ của b12x. Link cũ hiện đã chuyển hướng sang b12x. Recipe DeepSeek một Spark của tôi dùng mã attention của nó cho cả tác vụ đọc và ghi. Đừng nhầm với sparkinfer của gittensor, một runtime độc lập dành riêng cho card RTX (chỉ hỗ trợ sm_120).
- ExLlamaV3 là engine chạy các model EXL3. MiaAI Lab duy trì một bản fork có port Arm (GB10) và hỗ trợ model phụ trợ.
- lil là launcher của Local Inference Lab. Nó đọc cấu hình phần cứng của máy và tự dựng câu lệnh vLLM phù hợp cho một Spark hoặc một cụm liên kết.
Nâng cao: Spark dưới góc nhìn của một cỗ máy nghiên cứu
Đây là điều tôi không ngờ tới. Spark ghi khá chậm, nhưng đọc lại cực kỳ giỏi. Mà phần lớn công việc nghiên cứu model lại là đọc.
Sở trường của Spark: prefill
Một model đảm nhận hai nhiệm vụ khác nhau:
- Prefill là đọc prompt của bạn. Toàn bộ prompt được xử lý cùng lúc, nên giới hạn nằm ở sức mạnh tính toán thô. GB10 dư sức làm việc này: lên tới 1 petaflop cho phép toán 4-bit.
- Decode là sinh câu trả lời, từng từ một. Mỗi từ lại yêu cầu đọc model từ bộ nhớ một lần nữa, nên giới hạn nằm ở tốc độ bộ nhớ. Đây chính là điểm yếu của Spark.
Vì thế, Spark đọc prompt nhanh gấp 13 đến 41 lần so với tốc độ ghi:

DeepSeek-V4.1-Flash trên bốn Spark: 3.360 tok/s khi đọc prompt 32K token, 3.273 ở 131K, trong khi tốc độ ghi chỉ loanh quanh 70 đến 95. (Ngày 20 tháng 9) Bài đăng
Vì sao đó lại là thứ giới nghiên cứu cần
Gần như mọi việc tôi làm để thu nhỏ model đều là đọc, chứ không phải ghi:
- Lượng tử hóa (giảm bit). Các bản build EXL3 và NVFP4 được tạo ra bằng cách chạy văn bản mẫu qua model và đo xem mỗi layer mất mát bao nhiêu ở từng độ rộng bit. Đó là tác vụ đọc.
- Cắt tỉa (giảm expert). REAP chạy văn bản mẫu qua model mixture-of-experts và ghi nhận tần suất sử dụng của từng expert. Expert nào ít dùng nhất sẽ bị loại. Bản GLM-5.3 197 GB của tôi giữ lại 168 trong số 256 expert. Cũng là đọc.
- Kiểm tra chất lượng. Top-1 agreement và KL divergence có được bằng cách cho model gốc và model thu nhỏ đọc cùng một đoạn text rồi so sánh kết quả dự đoán. Lại là đọc.
- Test context dài. Việc kiểm tra xem model có tìm được một thông tin trong 262.000 token hay không chủ yếu là một lần đọc cực dài.
Quy trình làm việc của tôi thay đổi cũng chính vì lý do này. "Giờ tôi chạy toàn bộ tác vụ pruning/exl3/benchmark trên DGX Spark, dành dàn 6000 cho inference. Chậm hơn thật, nhưng 2-3 ngày so với 12 tiếng thì vẫn ổn." Bản DeepSeek một Spark đạt mốc 100.000 lượt tải chính là một model được cắt tỉa bằng REAP và nén bằng EXL3.
Điều đó phục vụ mục tiêu nghiên cứu ra sao
Nếu mục tiêu của bạn là khám phá điều gì đó về một model, Spark cực kỳ phù hợp:
- Nó chứa được model lớn. Bạn có thể đo lường một model 300B trên một hoặc hai máy thay vì phải thuê cả cluster.
- Chạy liên tục nhiều ngày bằng điện lưới gia đình. Các tác vụ calibration và đánh giá dài hơi có thể chạy không cần người trông coi mà không lo tiền điện tăng phi mã.
- Giải phóng phần cứng mạnh của bạn. GPU của tôi lo phục vụ người dùng, còn Spark đảm nhận phần việc chậm rãi, tỉ mỉ.
- Calibration bằng dữ liệu của chính bạn. Tôi từng cắt tỉa model dựa trên các phiên làm việc của agent và bài viết cá nhân, vốn là dữ liệu riêng tư và luôn nằm yên trên bàn làm việc.
- Máy chủ lý tưởng cho research agent. Tôi từng cho bốn agent cùng làm việc hướng tới các mục tiêu nghiên cứu trên các Spark cùng lúc, mỗi agent đạt khoảng 120 tok/s.
- Huấn luyện mở rộng rất tốt qua nhiều Spark. Trong bài test của NVIDIA, fine-tuning nhanh gấp 2 lần trên hai Spark và gấp 4 lần trên bốn Spark, vì các Spark chỉ cần đồng bộ một lần mỗi bước (bảng 5). Playbook của NVIDIA có hướng dẫn fine-tuning bằng PyTorch. Cá nhân tôi chưa tự bấm giờ huấn luyện bao giờ.
Nâng cao: GB10, GB300 và Spark như một phần bộ nhớ mở rộng
"GB" là viết tắt của Grace Blackwell: một CPU Arm và một GPU Blackwell đóng gói chung, chia sẻ bộ nhớ qua liên kết tốc độ cao tên là NVLink-C2C. GB10 trong Spark là phiên bản nhỏ nhất của ý tưởng này, dùng CPU Arm 20 nhân hợp tác phát triển cùng MediaTek.
GB300 là phiên bản data center: CPU Grace ghép với GPU Blackwell Ultra (B300). Nó nằm trong tủ rack GB300 NVL72 của NVIDIA, và một chip GB300 cung cấp sức mạnh cho DGX Station. GB10 không phải là một mảnh cắt ra từ GB300. Chúng dùng chung thiết kế, chỉ là thu nhỏ lại, đó là lý do cùng một phần mềm chạy được trên cả hai.

Kết luận
DGX Spark đã tự tìm được một chỗ đứng trong nhà tôi, và ngày càng được hỗ trợ tốt hơn, hữu dụng hơn cũng như mạnh mẽ hơn theo từng ngày.
Nguồn tham khảo và tài liệu đọc thêm
- Bài đăng của tôi: mọi nội dung có ghi ngày phía trên đều nằm trên trang X của tôi. Các con số tốc độ lấy từ bài test cá nhân, công bố tại local-ai-registry.
- Recipe: MiaAI Lab trên GitHub, các model Hugging Face của tôi.
- Phần cứng và giá bán: Trang DGX Spark của NVIDIA, tài liệu phần cứng NVIDIA, VideoCardz về việc tăng giá, VideoCardz về giá tháng 9, công cụ theo dõi giá pi3g.
- Liên kết các Spark: tài liệu clustering của NVIDIA, blog scaling của NVIDIA, playbook dùng switch, hướng dẫn chọn cáp, hướng dẫn benchmark hai Spark của NVIDIA.
- Điện năng: bài đánh giá của ServeTheHome, Tom's Hardware về điện năng nghỉ, giá điện Mỹ (EIA qua Utility Dive), quy chuẩn điện Mỹ về tải liên tục.
- Định dạng và phần mềm: NVIDIA nói về NVFP4, ExLlamaV3, b12x, REAP, compute capabilities.
- Tốc độ cloud: InferenceX bởi SemiAnalysis.
- GB300: thông số GB300 NVL72, thông số DGX Station, EXO về Spark kết hợp Mac Studio.
- Bắt đầu: Playbook Spark của NVIDIA.
- Bức tranh toàn cảnh: State of Local AI: 2026.





