Jetson Orin Nano 8GB 小模型横评:llama.cpp 吞吐领先 Ollama 最高 74%
在 Jetson Orin Nano Super 8GB 上对 8 款 135M–1.2B 模型做 4 种功耗模式 ×…
- 重要性
- 38
- 新颖性
- 58
- 影响面
- 32
- 可信度
- 62
- 实质性
- 78
在 NVIDIA Jetson Orin Nano Super 8GB 开发者套件上,社区开发者 YuvrajSingh9886 针对 8 款参数量在 135M 至 1.2B 之间的小型语言模型,系统比较了 llama.cpp CUDA 后端与 Ollama 在四种功耗模式(7W、15W、25W、MAXN_SUPER)下的推理吞吐与能效。结果显示,llama.cpp 在吞吐上领先 Ollama 36% 至 74%,且 25W 是所有模型在 llama.cpp 上的帕累托甜点。
硬件与软件栈
测试平台为 Jetson Orin Nano Super 8GB,搭载 6 核 Arm Cortex-A78AE CPU、NVIDIA Ampere GPU(1024 个 CUDA 核心、32 个 Tensor 核心)与 8 GB 统一内存,系统运行 JetPack R36.4.7(Ubuntu 22.04)。
- llama.cpp:build b9292(commit ef570f630),CUDA 后端,参数
-ngl 99 --no-cache-prompt --cache-ram 0,llama-server 监听0.0.0.0:8080 - Ollama:v0.24.0,默认 GPU 全量卸载,REST API 端口 11434
- 负载生成:NVIDIA 官方 aiperf 工具
- 功耗采样:tegrastats 间隔 500 ms,记录 VDD_CPU_GPU_CV 轨功耗
测试方法
每个模型在每种功耗模式下运行 12 组「输入长度 × 输出长度」组合:
- 输入提示长度:128 / 512 / 1024 / 2048 token
- 输出长度:64 / 128 / 256 token
- 每组 20 次请求,并发为 1(单用户场景)
关键指标为「output tok/J」,仅衡量解码阶段能耗:OSL ÷ (decode_power_W × p50_decode_s)。全部原始数据(33 个指标、12 组组合 × 20 次请求)已发布在 Hugging Face,脚本与绘图 notebook 开源于 GitHub。
关键发现
- 25W 是 llama.cpp 的帕累托甜点:相比 15W,吞吐提升 35% 至 47%,且 output tok/J 比 15W 高 1% 至 7%、比 MAXN_SUPER 高 9% 至 23%
- 后端差距显著:llama.cpp 比 Ollama 快 36% 至 74%(亚 1B Transformer 模型),差距源于 CUDA 内核效率与服务端开销,与 GPU 卸载比例无关——Ollama 已确认 100% 全量卸载
- 例外:Qwen3-0.6B 与 Llama3.2-1B 在两后端表现接近(差距 1% 至 6%)
- 最大输家:LFM2.5-350M 在 Ollama 上比 llama.cpp 慢 3.35 倍(15W)至 4.2 倍(25W)
各档位最优模型(ctx=2048, gen=256)
亚 1B 级别(25W, llama.cpp)
- SmolLM2-135M:165.2 tok/s,29.6 output tok/J,模型仅 101 MB,实测功耗约 5.6 W,可由 USB-C 充电宝驱动
- LFM2.5-350M:115.4 tok/s,仅 219 MB,体积约为相近性能 SmolLM2-360M(369 MB)的 60%
约 1B 级别(25W, llama.cpp)
- LFM2.5-1.2B 吞吐领先:54.1 tok/s,比 Llama3.2-1B 快 15%,比 Gemma3-1B 快 33%,体积仅 698 MB
- Gemma3-1B 在总能效上险胜:118.5 vs 116.2 output tok/J,功耗更低(6.82 W vs 8.52 W)
适用范围与注意事项
所有结果仅适用于上述软件版本;Ollama v0.24.0 内置的 llama.cpp 提交(ec98e2002,2025 年 12 月)比独立 b9292 旧约 5 个月。Ollama 对 LFM2.5 系列的 GGML CUDA 后端可能在未来版本中改进,建议复现前重新评估。此外,7W 模式下 llama.cpp 的能效因未保留 tegrastats 数据,采用了旧的平均功耗近似方法。
