Jetson 大模型基准测试
在 Jetson 上统一测量并比较多种大模型运行时性能。
脚本主要读取模型、调用本地服务并以只读方式挂载模型目录,未见凭据窃取或隐蔽外传;但默认使用可变标签的外部 Docker 镜像,vLLM 使用 host 网络,且缺少统一的运行前确认、镜像摘要固定和更明确的数据流披露,因此扣分。
文档、参数、错误码和 JSON 契约较完整,且包含预检与失败提示;但脚本依赖未随选定路径展示的 detect_jetson.sh,vLLM 结果依赖脆弱的文本正则,格式变化可能静默产生零值,Ollama 请求失败处理和清理也不完全稳健。静态评估不授予超过10分。
目标用户、三种运行时路径、触发场景和不适用范围描述清楚;但仅适用于 Jetson,中文支持未声明,核心容器和模型/服务依赖 Docker、GHCR、Ollama 等网络与环境条件,未证明中国大陆网络可达性,因此扣分。
SKILL.md 结构清晰,包含版本、参数、示例、限制、错误处理和交接关系;BENCHMARK.md 记录了评估与已知 schema 问题,且有维护更新提示。扣分来自缺少推荐的 Examples 小节、作者格式不完整、许可证/元数据存在 Apache 与 CC-BY-4.0 表述不完全一致,以及缺少明确 changelog 和稳定依赖版本。
三条运行时路径、结构化 JSON 输出和比较注意事项具有直接使用价值;提交的评估报告显示存在任务级收益,但评估数据不可用且本次未执行,无法确认真实输出完整性、指标解析正确性或相对手工方案的稳定收益。按静态校准上限计7分。
脚本、评估断言、输出契约和提交的评估报告提供了可审计材料;但报告缺少原始任务、日志、CI 或可独立复现的运行证据,外部来源仅以链接声明,事实覆盖有限,因此未给满分。
- 默认 Docker 镜像使用可变 latest 标签;合规或发布测量应由用户确认并使用摘要固定镜像。
- vLLM 使用 host 网络并向运行中服务发送请求;执行前应确认端点、模型、网络权限及可接受的外部镜像拉取。
- 脚本依赖 Jetson 检测脚本和本机 Docker/curl/python3/运行时,未在本次静态审查中验证;解析器格式漂移可能产生零值或不完整指标。
- Ollama 生成的随机提示词使重复测量不完全确定,且未见完整的热状态、GPU 背景负载和容器来源告警覆盖。
- 中文使用说明及中国大陆网络可达性未被证明。
这个 Skill 能做什么,适合哪些场景?
该技能用于在 NVIDIA Jetson 设备上测量 vLLM、llama.cpp 和 Ollama 的大语言模型或视觉语言模型服务性能。它通过对应的 Bash 包装脚本执行预热和基准测试,并输出便于差异比较的结构化 JSON。结果可覆盖首 token 延迟、令牌间延迟、每输出令牌时间、吞吐量和端到端延迟。它适合已有模型服务或本地 GGUF 模型的性能对比,但不会启动或调优 vLLM 服务。
根据运行时选择并执行 scripts/bench_vllm.sh、scripts/bench_llama_cpp.sh 或 scripts/bench_ollama.sh;调用运行中的 vLLM OpenAI 兼容服务、Ollama 的 /api/generate REST API,或通过 NVIDIA-AI-IOT llama.cpp 容器运行 llama-bench;对 vLLM 执行并发度扫描,对 llama.cpp 和 Ollama 执行单流测试;读取 Jetson 的设备、L4T、容器和功耗/热状态信息;最终输出包含配置、指标和 warnings 的单个 JSON 对象。
- Jetson 工程师需要比较同一模型在 vLLM 不同并发度下的延迟和吞吐量。
- 运行 Ollama 的用户需要测量指定模型在本地 daemon 上的单流性能。
- 使用 GGUF 模型的用户需要通过 Jetson 适配的 llama.cpp 容器测量提示词和生成速度。
- 用户在应用内存调优或 JetPack 升级前后,需要用一致配置比较性能变化。
- 基准结果出现 GPU 背景负载或热降频警告时,运维人员需要转交诊断技能处理。
这个 Skill 有哪些优点和局限?
- 同时覆盖 vLLM、llama.cpp/GGUF 和 Ollama 三条 Jetson 测试路径。
- 输出统一 JSON 外壳,适合比较模型、运行时参数、功耗模式和调优前后结果。
- 包含预热、容器选择和设备状态警告逻辑。
- 明确区分 vLLM 并发扫描与其他运行时的单流指标。
- vLLM 路径要求已有可访问的 OpenAI 兼容 vLLM 服务。
- Ollama 仅支持并发度为 1,结果不能直接与 vLLM 并发扫描比较。
- llama.cpp 默认需要 Docker,并可能拉取和执行外部 NVIDIA-AI-IOT 容器镜像。
- 源材料没有提供测试套件、实测性能数字或平台覆盖证据。
如何安装这个 Skill?
使用仓库 README 提供的 skills CLI 安装指定技能:npx skills add nvidia/skills --skill jetson-llm-benchmark --agent codex。也可以将 --agent codex 替换为 README 支持的其他客户端选项。安装后,技能会在代理下次加载技能并遇到相关任务时可用。
如何使用这个 Skill?
先确认目标运行时、模型标识或本地 GGUF 路径,以及设备已设置目标功耗模式。对于“如何测量”类请求,先运行匹配包装脚本的帮助命令,例如 scripts/bench_vllm.sh --help、scripts/bench_llama_cpp.sh --help 或 scripts/bench_ollama.sh --help,再按选项执行;vLLM 示例为 scripts/bench_vllm.sh --model <served-model-id> --concurrency 1,8 --input-len 2048 --output-len 128 --num-prompts 50。运行时必须使用匹配的包装脚本,不能手动调用底层基准工具或 Ollama API。
这个 Skill 与同类方案有什么区别?
该技能直接比较三种运行时路径:vLLM 通过 OpenAI 兼容服务并可扫描并发度;Ollama 通过 /api/generate REST API 进行单流测试;llama.cpp 针对本地 GGUF 模型运行 llama-bench。源材料明确指出 Ollama 与 vLLM 的结果不应直接比较,跨 Jetson 代际和量化格式比较时也需要控制模型、量化、输入输出长度、功耗、时钟和热状态。