#19337·TensorRT-LLM

[错误]: 在扩展步骤结束时,VBWS 返回空输出

作者: yifanQi98创建于 2026年9月17日更新于 2026年9月18日

□ 系统信息

  • CPU 架构: x86 64
  • GPU: NVIDIA RTX PRO5000 72GB 布莱克威尔
  • NVIDIA司机:580.126.09
  • TensorRT-LLM: 1.3.0rc26 号机车
  • 后端: PyTorch, 单一GPU
  • PyTorch:2.12.0+cu130
  • 变压器:5.5.4
  • Python: 3.12.7 (英语).
  • OS: Linux 5.10.134, glibc 2.39 (英语).
  • 重叠调度器:启用(默认)

□谁能相助?

@NVIDIA/trt-LLM-devs (英语).

□ 资讯

  • [ 官方示例脚本
  • 我自己修改过的脚本

□任务

  • [ " 例如 " 文件夹中的一项得到官方支持的任务
  • 我的任务或数据集( 问题在于 模型和数据集在登录后独立)

□再现.

Variable-Beam-Width 搜索返回所请求的输出槽数,但当生成在拓宽的一步上终止时,许多输出有空 “ token ids ” 。

一个最小的LLM API设置是:

[Python] 导入 Os

从 lomorrt llm 导入 LLM, 取样包

model = os.environ ["MODEL PATH"] # 任何本地可用的因子 LM;与Quen3一起被观测到. LLM = LLM (英语: 型号=型号, 标致剂=型号, dtype="bfloat16","at". 最大值 批量 大小=1, 最大输入 伦=128, 最大 seq len=131, (中文(简体) ). 最大( B) (中文(简体) ).

采样 参数=采样Params( n=100, (单位:千美元) 最佳为100; bam width array=[16],32,100], (中文(简体) ). 使用( B) 最大值( T) : 温度=0.0, 忽略( E) (中文(简体) ).

请检查access-date=中的日期值 (帮助) LLM.generate(["你好",采样-参数) [0] 长度 = [len(output.token ids) 用于请求 output.outputs]中输出 打印( len( request output.outputs) ) 打印( { 长度: 长度. 计数( 长度) )

profile (request output.outputs) ==100 (中文(简体) ). 表示所有( 长度为 3)


随着"波姆-搜索-抽样-批量-cba"周围的轻量级仪器,预期的"(波姆-width-in,波姆-width-out)"过渡为:

页:1
(1、16)、(16、32)、(32、100)

由于默认重叠调度器,观测到的过渡是:

页:1 (1,16),(16,16),(16,32)


最后一步创造出32个梁,但"` prepare beam history cba ()"之后只收集了16个活路径. 在五次重复的请求中,最终输出长度直方图一致:

页:1
{3: 16, 0: 84} (韩语).

同一请求的固定时间表为 " [100、100、100] " ,返回100个非空的三进制产出。

设置“ TLLM DEBUG MODE=1” 用于附加日志 。

□ 预期行为

Beam width array=[16,32,100]'和max tokens=3':

  1. 抽样应执行 " 1 - > 16 " 、 " 16 - > 32 " 和 " 32 - > 100 " 等宽度。
  2. 最后答复应包括100项产出。
  3. 每个产出应包含三个生成的符号;任何产出都不应有一个空的 " token ids " 列表。

□ 实际行为

重叠路径重复了第二个采样步骤的第一个被配置的宽度,因此最后一步只从16个拓宽到32个. 最终化后再用输入宽度(16)来切出当前步骤快照,再去掉额外的16个路径. 其余的输出槽仍被固定并暴露为空“token ids”。

□ 附加注释

这看来是两个问题 . . . . . . .

内容来源: NVIDIA/TensorRT-LLM