投机采样

了解如何设置投机采样以在 Spark 上进行快速推理

基本思路

投机采样通过使用 小而快速的模型 提前起草多个标记,然后让 更大的模型 快速验证或调整它们,从而加速文本生成。
这样,大模型不需要逐步预测每个令牌,从而在保持输出质量的同时减少延迟。

你将完成什么

您将使用两种方法在 NVIDIA Spark 上使用 TensorRT-LLM 探索投机采样:EAGLE-3 和 Draft-Target。
这些示例演示了如何在保持输出质量的同时加速大型语言模型推理。

为什么是两台 Spark?

单个 DGX Spark 具有在 CPU 和 GPU 之间共享的 128 GB 统一内存。这足以运行带有 EAGLE-3 的 GPT-OSS-120B 或带有 Draft-Target 的 Llama-3.3-70B 等模型,如 操作步骤 选项卡中所示。

Qwen3-235B-A22B 等较大的模型超出了单个 Spark 在内存中的容量 - 即使使用 FP4 量化,模型权重、KV 缓存和 Eagle3 草稿头总共也需要超过 128 GB。通过连接两个 Spark,您可以将可用内存增加一倍,达到 256 GB,从而可以为这些更大的模型提供服务。

在两台 Spark 上运行选项卡将逐步完成此设置。两台 Spark 通过 QSFP 电缆连接,并使用 张量并行性 (TP=2) 来分割模型 - 每台 Spark 保存每层权重矩阵的一半,并计算每个前向传递的对应部分。节点使用 NCCL 和 OpenMPI 通过高带宽链路传送中间结果,因此该模型作为跨两台设备的单个逻辑实例运行。

简而言之:两台 Spark 可以让您运行单台设备放不下的模型,而 Eagle3 投机采样会通过并行起草和验证多个 token 进一步加速推理。

开始之前需要了解什么

  • Docker 和容器化应用程序的经验
  • 了解投机采样概念
  • 熟悉 TensorRT-LLM 服务和 API 端点
  • 了解大型语言模型的 GPU 内存管理

先决条件

  • 具有足够可用 GPU 内存的 NVIDIA Spark 设备

  • 启用 GPU 支持的 Docker

    Bash
    docker run --gpus all nvcr.io/nvidia/tensorrt-llm/release:1.3.0rc12 nvidia-smi
    
  • 用于模型访问的主动 Hugging Face 令牌

  • 用于模型下载的网络连接

时间与风险

  • 持续时间: 10-20 分钟用于设置,额外时间用于模型下载(因网络速度而异)
  • 风险: 大型模型的 GPU 内存耗尽、容器注册表访问问题、下载期间网络超时
  • 回滚: 停止 Docker 容器并可选择清理下载的模型缓存。
  • 最后更新: 2026 年 4 月 20 日
    • 升级到最新容器1.3.0rc12
    • 添加在两个 Spark 上使用 Qwen3-235B-A22B 进行投机采样的示例