Skip to main content
geniex-bench 用于测量原始推理吞吐量——TTFT、prefill 速度和 decode 速度——在真实骁龙硬件上运行。它是一个独立二进制文件,无需安装 GenieX CLI:下载压缩包、解压即可运行。

前提条件

  • 骁龙 X Elite 或 X2 Elite 设备,运行 Windows ARM64。参见支持的平台
  • PowerShell(任意版本)。
  • 已下载的模型。可先运行 geniex pull,也可通过 --mm-data-dirgeniex-bench 在首次使用时自动下载。

第一步:下载并解压

打开 PowerShell 并运行:
windows
验证二进制文件可正常启动:
windows
若需固定到特定版本,可替换 URL 中的文件名——参见固定版本

第二步:运行首次基准测试

最少需要 --plugin--device-m 三个参数。模型参数支持本地路径或模型管理器 id(首次使用时自动下载):
windows
输出:
默认情况下,geniex-bench 运行 1 次预热 + 5 次正式测量,使用 512 个随机输入 token,生成 128 个 token,温度为 0.0(确定性输出)。数字为 5 次运行的中位数 ± 标准差。

第三步:对比计算后端

使用 --device cpu--device npu--device hybrid 分别测试同一模型,以找到最适合你工作负载的路径。
windows
示例输出(骁龙 X Elite,Q4_0):
如何选择后端:
Qualcomm AI Hub 模型(--plugin qairt)仅支持 NPU——--device cpugpuhybrid 会被静默转换为 npu

解读测试结果

每行 [ok ] 输出包含三个指标: ttftprefill 主要受并行度影响(NPU/GPU 上的批量计算);decode 主要受内存带宽影响(每次一个 token,每步读取全部权重)。在骁龙上,hybrid 通过将每个算子路由到最优后端来缩小两个阶段之间的差距。 对于 --plugin qairtprompt_tokensprefill_tps 基于补齐后的长度(ceil(n / 128) × 128)计算,因为 QAIRT 引擎会将输入 id 补齐到 128 token 的 prefill 块。这是预期行为——补齐后的计数反映了引擎实际执行的工作量。

公平对比模型

对比两个模型或配置时,应保持以下变量不变: 默认值已针对可重现比较进行了优化(温度 0.0、种子 42、5 次测量)。如需调整,请谨慎操作——更大的 -n 可以更好地反映 decode 曲线,而更大的 -c 可以测试模型在更长上下文下的性能。 常见错误:
  • Q4_0 结果与 Q8_0 结果进行比较。较大的文件每个 decode 步骤需要加载更多权重数据,因此速度更慢,与计算后端无关。
  • --device cpungl=0)与 --device npungl=-1,全部 layer offload)进行比较。如需纯 CPU 基准,始终使用 --device cpu
  • 首次运行后忘记重新运行。第一次运行包含模型下载时间(仅影响挂钟时间,不影响报告中的 ttft / prefill / decode 数字,这些数字在引擎内部测量)。

将结果保存为 JSON

添加 --output-json 以写入机器可读的报告:
bash
JSON 包含每次运行的计时数据和聚合统计(中位数/最小值/最大值/均值/标准差):

运行模型矩阵

若要在单个 session 中扫描多个 (模型, 设备) 组合——分摊插件初始化开销——可使用 --matrix-file
bash
列顺序:cell_idplugindevicemodel_path_or_id。每行在 --output-json-dir 中生成一个 JSON 文件。

固定版本

上方 URL 始终指向最新稳定版本。如需固定特定版本,可替换文件名中的版本号(例如 v0.3.19):

下一步