NVIDIA DGX Spark 的基本使用

简介

NVIDIA DGX Spark 是英伟达推出的‌桌面级 AI 超级计算机‌,主打‌128GB 统一内存‌和‌1 PFLOP 算力‌,起售价‌3999 美元‌,专为开发者在本地运行大模型设计。‌‌

开机设置

注意: DGX Spark 设备在通电时会立即启动。请在通电前链接好设备。

开机有两种连接方式:

  • 带显示器的连接(显示器/键盘/鼠标), 见扩展阅读
  • 使用机器自带的热点连接, 系统开机。这样会创建一个 Wi-Fi 热点(热点信息见说明书封面贴纸),你可以用它连接到系统并继续设置过程。

配置步骤

  • 语言与时区
  • 键盘样式选择
  • 条款同意
  • 创建系统账户
  • 信息共享设置(可选)
  • Wi-Fi网络配置(如果插入了网线这里会自动跳过)
  • 软件下载与安装, 连接网络后,系统会自动下载并安装完整的软件映像。(10分钟左右, 不能关机或重启系统,更不能断电)
  • 完成

远程连接 DGX Spark 设备

https://developer.nvidia.cn/build-spark/connect-to-your-spark

使用 NVIDIA Sync 连接

初始设置后,你的 DGX Spark 会通过组播 DNS(mDNS)在本地网络上发布主机名。您可以通过设备发现选项中选择设备,或输入主机名、IP 地址以及登录凭证,从而在 NVIDIA Sync 添加设备。

  • 在本地电脑上安装 NVIDIA Sync。
  • 在 NVIDIA Sync 中添加你的 DGX Spark。
  • 连接到设备。
  • 从同步菜单启动应用程序或 DGX 仪表盘。

使用 SSH 连接

记录硬件软件版本信息, 注意兼容坑

  • CPU信息: 运行lscpu命令
    架构:aarch64, 两个核心:Cortex-X925(大核)/Cortex-A725(小核)
  • 内存信息: 运行free -h命令, 121G左右
  • 硬盘信息: 运行lsblk命令, 3.7T左右
  • GPU信息: 运行nvidia-smi命令, 注意CUDA版本,后续会用到
    NVIDIA-SMI 580.159.03/Driver Version: 580.159.03/CUDA Version: 13.0
  • 查看Docker信息: 运行运行 docker -v命令
    Docker version 29.2.1
  • 预安装的CUDA版本: 运行nvcc -V命令
    Cuda compilation tools, release 13.0, V13.0.88 , Build cuda_13.0.r13.0/compiler.36424714_0
  • python版本: Python 3.12.3
  • GIT版本: git version 2.43.0

NVIDIA Docker 容器使用

https://developer.nvidia.cn/build-spark/vllm

NVIDIA 容器工具包已预装并配置于 DGX Spark 系统上。开箱即用,可用于运行 GPU 加速容器。

首先使用 docker ps 会提示无权限
permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
请将您的用户添加到 docker 组,这样就不再需要使用 sudo 命令。


# 第 1 步 – 配置 Docker 权限
sudo usermod -aG docker $USER
newgrp docker
docker ps # 正常输出

# 第 2 步 – 拉取 vLLM 容器镜像
# 在这里查看vLLM镜像版本信息 https://catalog.ngc.nvidia.com/orgs/nvidia/containers/vllm
# 拉取 vLLM 容器镜像
docker pull nvcr.io/nvidia/vllm:26.04-py3 # 注意将 26.04 替换成vLLM镜像版本
# 验证docker对GPU的支持
docker run --rm --gpus all nvcr.io/nvidia/vllm:26.04-py3 nvidia-smi

# 第 3 步 - 在容器中测试 vLLM
# vLLM Version 0.19.0+6bc3197f
# 运行测试模型, 这里需要对huggingface加速, 不然下载模型会出错
# 注意 -e HF_ENDPOINT=https://hf-mirror.com 参数
docker run -it --gpus all -p 8000:8000 -e HF_ENDPOINT=https://hf-mirror.com nvcr.io/nvidia/vllm:26.04-py3 vllm serve "Qwen/Qwen2.5-Math-1.5B-Instruct"

# 第 4 步 - 测试模型
# 启动另一个终端curl访问接口
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
    "model": "Qwen/Qwen2.5-Math-1.5B-Instruct",
    "messages": [{"role": "user", "content": "12*17"}],
    "max_tokens": 500
}'
# 输出, 观察模型服务和输出是否有异常, 且结果是否出现204字样

# 第 5 步 - 关闭模型服务
# 停止服务并退出 (Ctrl + C)
# 后台运行,自己退出:  先按Ctrl + P, 再按Ctrl + Q
# 强制退出 Ctrl + D
# 从外部退出 docker stop <容器ID>
docker ps -a
docker rm <容器ID>

# 其他docker命令
docker images
``

## 安装AI必要软件

- huggingface-hub(hf)工具


## 将两台 Spark 设备互联

https://developer.nvidia.cn/build-spark/connect-two-sparks

## 踩坑记录

### 软件版本不兼容是导致bug的绝大部分问题

CUDA/vLLM版本要兼容/Docker镜像软件兼容/Docker镜像GPU环境, GPU架构平台是x86还是arm要注意, 架构是支持那些量化, 软件不要随便升级, 需要考虑整体升级才行, 不然很容易出现兼容问题


## 扩展阅读

[从开机到就绪:NVIDIA DGX Spark 快速入门指南][1]
[DGX Spark新手避坑指南][2]
[官方文档 - 开始使用 DGX Spark][3]
[官方文档 - DGX Spark 用户指南][4]
[NVIDIA DGX Spark 多节点集群搭建][5]
[避坑指南:NVIDIA DGX Spark 系统恢复全过程][6]
[通义千问3-Reranker-0.6B应用指南:快速搭建智能内容推荐系统][7]


  [1]: https://zhuanlan.zhihu.com/p/1974509112063709453
  [2]: https://zhuanlan.zhihu.com/p/1971926409124487713
  [3]: https://developer.nvidia.cn/build-spark
  [4]: https://docs.nvidia.com/dgx/dgx-spark/
  [5]: https://cloud.tencent.com/developer/article/2633083
  [6]: https://zhuanlan.zhihu.com/p/1977306957745512598
  [7]: https://blog.csdn.net/weixin_32747681/article/details/158788465

此处评论已关闭