随着开发者构建新一代可在边缘运行的智能体——监控驾驶员注意力和座舱状态、帮助机器人理解周围环境并规划任务、协调生产线上的机器集群——AI正在从数据中心扩展开来。这些物理AI应用依赖于能够在有限的内存、功耗和延迟预算内感知、推理和行动的模型。但让模型准备好运行往往需要大量的配置工作。

现已推出64GB配置的NVIDIA DGX Spark,为嵌入式开发者提供了一个用于原型设计、微调和测试模型及智能体的平台。NVIDIA TensorRT Edge-LLM提供了一个为嵌入式工作负载设计的轻量级C++推理运行时,将同一推理框架带到了Spark上的开发环境以及NVIDIA Jetson Thor、NVIDIA DRIVE AGX Thor和NVIDIA IGX Thor等平台的部署环境中。

借助trtedge命令行界面(CLI),只需几条命令即可开始使用。它会下载所选模型,并构建为Spark推理优化的TensorRT引擎。

在本教程中,你将使用TensorRT Edge-LLM在Spark上运行纯文本模型NVIDIA Nemotron-3.5 Lightning。你将在终端中测试提示词,并通过API提供该模型以用于应用程序原型设计。你还将启用DSpark推测解码来加速生成过程。

前提条件:搭建开发环境

首先,你需要一台配备受支持的NVIDIA软件栈的DGX Spark、NVIDIA CUDA 13、TensorRT 10.16.1.11或10.x系列中更新的版本,以及Python 3.10至3.12。以下示例在TensorRT Edge-LLM 0.11.1和TensorRT 10.16.1.11环境下测试通过。

在DGX Spark上打开终端,创建并激活虚拟环境,然后安装TensorRT Edge-LLM:

python3 -m venv --system-site-packages .venv-edgellm source .venv-edgellm/bin/activate python -m pip install --upgrade pip python -m pip install "tensorrt-edgellm[server]==0.11.1"

说明:虚拟环境可以让新安装的软件包保持独立,同时仍能访问所有系统Python软件包,包括TensorRT。

检查TensorRT版本,并确认TensorRT Edge-LLM运行时能够正常加载:

python -c "import tensorrt as trt; v = tuple(map(int, trt.__version__.split('.'))); assert (10, 16, 1, 11) <= v < (11,), f'TensorRT >=10.16.1.11 and <11 required; found {trt.__version__}'; from tensorrt_edgellm import runtime; runtime.load()"

说明:如果系统中没有兼容的TensorRT绑定,请按照NVIDIA TensorRT的pip安装说明,在已激活的环境中安装兼容的TensorRT 10.x版本,然后重新运行验证命令。

保持虚拟环境处于激活状态,开始与Nemotron-3.5 Lightning对话:

trtedge chat nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4

首次启动时,请等待模型下载(约21GB)和引擎构建完成。文件默认存储在~/.cache/tensorrt-edgellm目录下,因此需要为模型和引擎预留足够空间。之后的启动会重复使用匹配的缓存引擎。

当聊天提示出现后,输入:

将25°C转换为华氏度。用一句话回答。

示例回复:

25°C等于77°F。

你可以继续追问其他问题,或输入/exit结束会话。

提供模型服务

在Spark上通过本地的OpenAI兼容API提供模型服务,用于应用程序开发和测试。

在虚拟环境处于激活状态下,启动服务器:

trtedge serve nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4 \ --host 127.0.0.1 \ --port 8000

服务器会为此配置构建或重用一个引擎。启动完成后,在DGX Spark上打开第二个终端,检查服务是否就绪:

curl -fsS http://127.0.0.1:8000/health/ready

返回包含"status":"ready"的响应即确认服务器已就绪。向聊天补全端点发送第一个提示词:

curl -fsS -N http://127.0.0.1:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4", "messages": [ { "role": "user", "content": "将25°C转换为华氏度。用一句话回答。" } ], "stream": true, "temperature": 0, "max_tokens": 128 }'

响应会以JSON事件流的形式返回。保持服务器运行以处理更多请求,或在服务器终端中按Ctrl+C停止服务。

可选:启用推测解码

你可以使用DSpark推测解码来加速生成过程,该技术利用一个草稿模型一次性提出多个Token,供主模型在一次推理中进行验证。要启用并设置三个草稿Token,请在服务器终端按Ctrl+C,然后以启用DSpark的方式重新启动服务器:

trtedge serve nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4 \ --host 127.0.0.1 \ --port 8000 \ --speculative-config '{ "method": "dspark", "model": "nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-NVFP4-DSpark", "num_speculative_tokens": 3 }'

服务器就绪后,向聊天补全端点发送另一个提示词,以体验启用DSpark后的生成效果。

你可以调整num_speculative_tokens及其他设置,针对你的工作负载优化生成速度。更多信息请参阅推测解码相关文档。

DGX Spark 64GB上的性能表现

在DGX Spark 64GB上,TensorRT Edge-LLM结合NVIDIA Nemotron-3.5 Lightning实现了低响应延迟和快速的Token生成速度。

下表展示了启用与未启用DSpark推测解码时的首个Token生成时间(TTFT)和生成速度。

生成速度是指每个请求的平均Token生成速率,不包括首个Token生成时间。DSpark使用三个草稿Token。启用DSpark推理期间,系统总内存峰值使用量为27.9GB(包含操作系统占用)。

测试环境为运行DGX OS 7.6.0(Ubuntu 24.04.4 LTS)的DGX Spark 64GB,使用NVFP4精度并启用思考模式,批处理大小为1,单个并发流式请求,输出上限为128个Token。平均输入长度分别为:SpeedBench 1K为1153个Token,SpeedBench 2K为2247个Token,HumanEval为139个Token。

后续步骤

你可以尝试受支持模型列表中的其他模型,继续在Spark上开发你的应用程序。可选模型包括能够解读图像和视频的视觉语言模型,以及语音识别和文本转语音模型。

浏览TensorRT Edge-LLM文档,了解针对目标嵌入式平台的特定模型工作流程和要求。

此外,访问Nemotron开发者页面获取入门资源。你也可以在Hugging Face上探索开放的Nemotron模型和数据集,并在build.nvidia.com上查看相关蓝图方案。

NVIDIA