Jetson LLM 基准测试
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/jetson-llm-benchmark。
技能介绍
要解决什么问题
在 Jetson 上部署 LLM 之后,延迟、吞吐和 TTFT/ITL 往往随运行时(vLLM、Ollama、GGUF/llama.cpp)、量化、功耗模式与是否预热而剧烈变化。若直接手敲 vllm bench serve、llama-bench 或 curl 打 /api/generate,输出格式不统一,也很难和下一次调参结果做 diff。本技能把 Jetson AI Lab 的 GenAI Benchmarking 思路封装成三条固定路径,stdout 只吐一个 JSON 对象,方便智能体或脚本对比不同模型、并发度与调优前后。
技能如何工作
- 按运行时选脚本,不要绕过封装:vLLM →
scripts/bench_vllm.sh(需已运行的 OpenAI 兼容服务);Ollama →scripts/bench_ollama.sh(默认http://localhost:11434);本地 GGUF →scripts/bench_llama_cpp.sh(NVIDIA-AI-IOT 容器内的llama-bench)。 - vLLM 路径会先预热再测;可扫描并发(如 concurrency 1 与 8)。Jetson 上 Orin 单流与多并发吞吐差很多时,常见瓶颈是内存带宽而非算力——结果解读里应优先考虑量化档位。
- Ollama 设计上为单流顺序请求,指标来自响应 JSON;不应与 vLLM 并发扫描结果直接横比。
- 封装脚本会从设备实时填充
sku、l4t、container等字段,并在 nvpmodel 非 MAXN、GPU 被后台占用、热节流等情况下写入warnings。
适用边界
- 本技能只测已就绪的运行时:不会替你启动或调优 vLLM 服务器;Ollama 需守护进程可达且模型已拉取。
- llama.cpp 路径默认会拉取/运行外部容器镜像,首次运行需有预期。
- 只有模型、量化、提示/生成长度、功耗模式与热状态都受控时,多次运行才具有可比性;Thor 的 NVFP4 与 Orin 的 W4A16 不宜混在同一对比表。内存压力或 warnings 非空时,应结合
jetson-inference-mem-tune、jetson-diagnostic等技能继续排查。
使用场景
- 已在 Jetson 上通过 jetson-llm-serve 拉起 vLLM 服务,需要测单流与 concurrency=8 的 tok/s 并导出 JSON 留档
- 应用 jetson-inference-mem-tune 改完显存与 batch 参数后,要在同一功耗模式(MAXN)下复测确认 TPOT 是否下降
- 在 Orin 上对比两个量化档或两个 GGUF 路径,用 bench_llama_cpp.sh 得到可 diff 的结构化结果
- JetPack 升级后 TTFT 异常变慢,需要按规范预热后重跑 bench_vllm.sh,排除冷启动与图缓存未命中
适合人员
- 在 Orin/Thor 上负责 LLM 上线验收、需要可复现延迟与吞吐指标的嵌入式推理工程师
- 调优 Jetson 显存与量化后,必须用同一 JSON 契约对比多次运行的 MLOps / 平台工程师
- 维护 Ollama 或本地 GGUF 部署、需确认守护进程与模型就绪后再做单流基准的 edge 开发者
- 编写 Jetson 技能链文档、要在 jetson-llm-serve 与 mem-tune 之间插入量化验证步骤的技术写作者