不是“套壳 demo”。InferLoop 自有 HTTP、调度、admission、取消与内存账本;CPU/GPU 生产路径 与体验版复用同一套请求生命周期。
7B Q4 CPU 体验镜像默认走 LLAMA backend:InferLoop 壳 + research libllama/libggml
做图执行,以便与 Ollama 同 GGUF 公平对标。依赖闭包仍可自查(见 README「自己验证」);
这不等于把产品定义成 llama.cpp 发行版。
当前默认体验镜像为 7B Q4 LLAMA(HTTP 流式口径,见 B);0.5B F16 为官方资格包 (推理层固定 workload 口径,见 A);Jetson 是另一条商用发布线(见 C)。 三条口径,不要混比:
A. 0.5B CPU 体验 · 推理层固定 workload(12 GiB / 8 vCPU,多线程上线前采集):
| 场景 | 实测 |
|---|---|
| 单实例 | 32.94 token/s |
| 4 实例并发(聚合) | 106.59 token/s |
| 并发时单实例 | 26.65 token/s |
| 并发扩展效率 | 81% |
这是测试内 prefill/decode token-step 摊薄口径,不是 HTTP 生成阶段 tok/s。
B. 7B Q4 CPU · HTTP 流式(最终复跑 2026-08-07),同 16 GiB / 8 vCPU +
--cpuset-cpus=0-15、同 GGUF、公平 ChatML(prompt_eval_count=25)、强制 CPU、
逐轮 nonce 打破 KV 缓存,vs Ollama 0.11.4:
| InferLoop (LLAMA) | Ollama 0.11.4 | |
|---|---|---|
| TTFT median | 395.4 ms | 476.3 ms |
| decode median | 9.75 tok/s | 9.87 tok/s |
TTFT 领先 ~17%,decode 同包络基本持平(9.75 vs 9.87 tok/s,跑动间有波动;
ggml b9030 hybrid patch:decode 走经典 vec_dot、prefill 保留 8x8 repack,见
perf_report)。早期同 prompt 复测
Ollama “~144 ms”是跨请求 KV 缓存命中,不是真实 prefill。证据:
evidence/20260807-qwen25-7b-q4km-x86_64-docker/comparison/;过程见
perf_report_qwen7b_q4.md。
C. 商用加速卡 · CUDA 后端(框架多后端之一)· Jetson Orin NX 16GB(T806)· Qwen3.5-4B Q8 (MAXN / 918 MHz):
| 项 | 实测 |
|---|---|
| Server qual | 385/385 PASS |
| 在线文本 TTFT | ≈1.37–1.40 s |
| 客户端 ITL | avg ≈55.9 ms/token |
KQ8Linear 带宽 |
~88 GB/s(流上限 91.1 GB/s 的 ~97%) |
证据:商用发布线归档(NDA / 演示请联系商务渠道)。末轮 int4+shared 尝试使 decode 变慢 2–8%,已回退。
若你只关心最高 HTTP decode tokens/s:7B 表已给出同包络对照——decode 基本持平、 TTFT 领先约 17%(强制 CPU、同 GGUF);Jetson 商用路径见 Q2-C。
若你的场景是边缘盒子长期无人值守:更应看内存门与失败模式——“偶尔被 OOM killer 杀掉”的代价通常高于“稳定但慢”。本项目先证明可预测性,再追速度。
在冷启动 / admission 阶段给出精确账目并主动退出。当前 7B Q4 LLAMA 镜像(serve + 4 GiB 预算)的实测日志:
llm_llama_backend.cpp-501 ERROR [llm-backend][llama] memory admission rejected:
reason=cgroup-limit, modelMB=4466, requiredMB=11044, limitMB=4096
0.5B 资格包(test + 768 MiB 预算)的对应日志:
CPU cold-load memory admission rejected:
freeMB=764, requiredMB=1267, mappedMB=942, residentWeightMB=942, ...
两种路径退出码都不是 137(0.5B 资格包 exit=1;7B serve 反向门 docker_outer_rc=255
且 docker_oom_killed=false),memory.events 中 oom=0 oom_kill=0——内核 OOM killer
从未介入。这是设计内的失败模式,不是崩溃。
跑 README「自己验证」的反向 OOM 门:当前 7B Q4 用 serve + 4 GiB(4 GiB < 所需
11044 MiB),0.5B 资格包用 test + 768 MiB(768 MiB < 所需 1267 MiB)。预算压到
已知不足的水平,强制服务在真实短缺下暴露行为。另外,memory.events 是内核维护的原始
文件,oom_kill 计数我们无法伪造——这是整条证据链最值得你核对的一环。
本仓库不重新分发模型权重。当前 7B Q4 LLAMA 镜像的 models/qwen/model.gguf(Q4_K_M)
由构建从本地缓存烘焙,SHA-256 7376371b…becab76 固化在 manifest;0.5B F16 权重由
scripts/download_model.sh 拉取(download_model_qwen7b_q4.sh 对应 7B GGUF)。
权重由 .gitignore 排除;自行体验请按原始许可证下载对应文件。
支持。Qwen2 模型组件已经接通 tokenizer 编码、ChatML 模板与文本还原:
- 非流式 Chat:HTTP 200,并含 assistant content;
- SSE Chat:HTTP 200,并含 content delta 与
[DONE]; - 4 路并发(0.5B):24/24 请求返回 HTTP 200,且真实推理请求扇出到全部 4 个实例。
7B 流式 TTFT / decode 已按方法论对 Ollama 复跑(见 Q2-B)。0.5B 资格包不以 HTTP TTFT 作为发布门。
当前 7B Q4 LLAMA 默认包络为 16 GiB(serve 正向;反向门 4 GiB);0.5B 资格包为
12 GiB(反向门 768 MiB)。修改 --memory 后必须重新执行对应入口复验正向 peak、
memory.events 与退出码。每个新 profile 都是独立的 qualification,不能外推。
用 INFERLOOP_CPU_DEVICE_COUNT 设置。每个实例持有一份完整模型,因此并发数受内存约束:
| 场景 | 建议 |
|---|---|
| 7B Q4 TTFT 对标 | 1 实例 + INFERLOOP_CPU_OP_THREADS=8(并行在 llama.cpp n_threads,不是多份权重) |
| 0.5B F16 资格 / 多实例仿真 | 默认 4 实例 / 12 GiB |
增加实例提升的是并发请求数,不是单请求速度。
能。当前 7B Q4 LLAMA 镜像约 4.85 GB,其中约 4.4 GB 是 model.gguf;0.5B 资格包镜像
约 2.08 GB,其中约 943 MB 是未量化 F16 权重——保留 F16 是为了让 HF golden 有意义。
用 scripts/download_model.sh / scripts/download_model_qwen7b_q4.sh 运行时挂载自备权重,
镜像可降到 100 MB 量级。
- 方法论:comparison_methodology.md
- 已执行:
benchmark/run_qwen7b_comparison.sh(vs Ollama 0.11.4) - 仍
NOT-EXECUTED(本 CPU 制品):裸 llama.cpp / vLLM / TRT-LLM - Jetson 商用:真机证据在商用发布线归档(NDA / 演示联系商务渠道),不在本仓库
不等于——CPU Docker 不能代替 Jetson 真机资格(带宽、功耗、热降频都不同)。
补充事实:商用 CUDA 路径已在 Orin NX 16GB(T806) 上对 Qwen3.5-4B Q8 完成 Server/Agent 资格与热点分析(见 Q2-C)。那是另一条发布线,不是本 CPU 体验镜像的“自动通过”。
个人非商业用途免费体验。商业部署、OEM/ODM、定制开发与长期支持需授权, 渠道见 README 的「商务与技术支持」。模型权重受原始模型许可证约束,本项目不重新分发。
不是。本仓库是免费 CPU 体验版,刻意跑在受限条件下(纯 CPU、内存上限、只读根等)。 这里的数字回答“可不可信 / 同包络对照如何”,不是商用加速卡峰值广告。
商用路径在加速卡上跑更大模型;InferLoop 为多后端框架(CUDA / 昇腾 / 海光 DCU,见 Q15), 当前已公布数字仅 CUDA 后端(Jetson T806 的 Qwen3.5-4B Q8,见 Q2-C)。需要演示请走 README 商务渠道。
设计取向上契合:自主可控运行时、资源受限下的确定性行为、可审计依赖闭包。
但必须如实说明:CPU 体验证据来自 x86_64;Jetson(NVIDIA)已有商用真机证据,不等于 麒麟 / 统信 / 龙芯 / 飞腾 / 鲲鹏已实测。昇腾 / 海光 DCU 后端已接入(见 Q15),但真机 资格待目标设备验证,完成前不公布性能数字。国产平台适配在路线图上,未测不宣称支持。
InferLoop 是多后端推理框架,以下后端均已接入(接入 ≠ 真机资格完成):
| 后端 | 状态 |
|---|---|
| CUDA GPU | 后端已接入,真机调试与资格已完成(Jetson Orin NX 16GB / Qwen3.5-4B Q8,见 Q2-C) |
| 华为昇腾 NPU | 后端已接入(ENGINE_ASCEND),真机资格待目标设备验证 |
| 海光 DCU | 后端已接入(ENGINE_DCU),真机资格待目标设备验证 |
| CPU | 本仓库免费体验版(LLAMA backend + 0.5B 参考算子资格包) |
本仓库只分发 CPU 体验镜像。昇腾 / DCU 目标设备真机资格与性能数字完成后会走商用发布线, 需要演示或评估请联系 README 商务渠道。