跳到主要内容

完成版报告样例

本页是格式样例,不代表标准性能数字。数字用“示例”占位,避免学生照抄。

提交前自查:

检查要求
示例值正式提交不得残留“示例”或“待填”。
数字每个数字必须能追溯到日志路径。
结论推荐和不推荐方案必须来自自己的量化、runtime、API 和风险证据。

公开资料怎么转成本样例​

MLPerf、llama-bench、Qwen/llama.cpp 和 OpenAI-compatible API 资料在本页只用于示范报告结构,不用于给出标准性能数字。样例里的每个“示例”都代表学生需要用自己的日志替换:baseline 证明模型能跑,Q8/Q5/Q4 证明量化取舍,profiling 证明瓶颈,local API 证明服务化入口,风险表证明哪些结论还不能上线承诺。

外部资料中的经典内容本样例吸收什么样例里的落点
MLPerf Inference报告要同时写指标、负载和条件自查表和第 3-5 节的日志路径要求
llama.cpp llama-bench标准化记录 prompt processing / token generation第 5 节的 llama-bench 行,并说明与业务 prompt 分开解释
Qwen / llama.cppQwen GGUF、runtime commit、量化格式和模型来源第 2-4 节的环境、baseline 和量化对比
llama.cpp server / OpenAI-compatible API请求、响应、HTTP 状态和端到端 elapsed第 6 节 API 服务测试
Profiling 与 Jetson 资料温度、功耗、显存、未测平台不能被忽略第 7 节风险表和第 8 节下一步
课程实跑记录脱敏日志路径和未测说明的写法第 9 节附录和“示例不得照抄”的提醒

课程重画图解​

外部 model card、metrics、benchmark lab 和 evaluation 示例提醒学生:报告样例不是“抄结论”,而是把模型来源、benchmark 条件、质量评估和失败日志写成可复查证据。课程不嵌入原图,而是重画成样例报告的证据流。

原图重点本样例吸收什么报告章节
model card模型来源、许可证、文件和 hash 必须写清第 2、9 节
vLLM metricsTTFT、tokens/s、throughput、latency 分开解释第 3、5、6 节
benchmarking labbenchmark 需要固定 workload、硬件和参数第 4、5 节
model evaluation质量结论要有任务和样例证据第 4、7、8 节

因此,本页不是参考答案,而是报告骨架示范:学生必须把“示例”替换成自己的证据,再写推荐和不推荐方案。

1. 场景与设备约束​

  • 应用场景:本地课程助教,回答端侧部署常见问题。
  • 目标设备:Ubuntu Server + NVIDIA GPU,Jetson 作为后续验证。
  • 端侧必要性:课堂弱网时仍可演示,日志和数据不上传云端。
  • 不可接受风险:回答严重跑题、API 不稳定、显存 OOM。

2. 实验环境​

项目记录
OS示例 Ubuntu 22.04
CPU示例 8 vCPU
RAM示例 32 GB
GPU / Jetson示例 NVIDIA GPU;Jetson 不适用(未测)
Driver / CUDA / JetPack示例 Driver / CUDA;JetPack 不适用
Python示例 3.11
llama.cpp commit示例 commit,来自 ~/edge-ai-lab/src/llama.cpp,不是课程仓库
模型来源Qwen 小模型 GGUF
模型许可证示例许可证,来自模型卡
模型 SHA256示例 hash
环境日志路径results/env-check.txt

3. Baseline 结果​

指标结果说明
模型Qwen 示例模型文件来源已记录
prompt三句话解释端侧量化后续实验固定
ctx-size2048量化对比保持一致
-ngl99尽量 GPU offload
首 token / prefill示例来自 baseline log
tokens/s示例来自 eval 统计
峰值显存示例来自 nvidia-smi
质量观察能回答问题,格式基本稳定prompt-01,logs/q8-prompt-01.txt,作为量化对照

4. 量化版本对比​

版本文件大小TTFT / prefilltokens/s峰值内存质量观察质量证据判断
Q8示例示例示例示例输出稳定prompt-01,logs/q8-prompt-01.txt,回答完整质量优先
Q5示例示例示例示例轻微差异prompt-01,logs/q5-prompt-01.txt,未漏关键约束候选推荐
Q4示例示例示例示例个别回答退化prompt-03,logs/q4-prompt-03.txt,漏掉离线限制内存受限备选

部署判断写法:如果第 4 节中 Q5_K_M 的 tokens/s、峰值内存和质量证据都满足第 1 节约束,则可以暂时推荐 Q5_K_M;否则按自己的证据改成 Q8、Q4 或其他模型变体。Q4 只能作为低内存备选,除非固定 prompt 的质量证据也达标。

5. Runtime 参数与加速实验​

实验变化现象结论
GPU offload-ngl 0 vs -ngl 99示例:GPU 路径更快,显存增加后续主线使用 GPU offload
上下文长度1024/2048/4096示例:ctx 增大后内存增加Jetson 需重新验证 4096
llama-bench固定 -p 512 -n 128示例:补充标准化结果,日志见 logs/llama-bench-q5.txt与业务 prompt 分开解释

6. API 服务测试​

  • 启动命令:llama-server 本地绑定 127.0.0.1:8080。
  • 请求样例:/v1/chat/completions,见 logs/qwen-api-request.json 或 curl 记录。
  • HTTP 状态:示例 200。
  • 是否超时:否,见 logs/qwen-api-meta.txt。
  • 响应摘要:返回可解析 JSON,内容能回答固定 prompt。
  • server 日志路径:logs/qwen-api-server.txt。
  • server 日志异常:未见 OOM、fallback 或 unsupported。
  • 响应 JSON 路径:logs/qwen-api-response.json。
  • HTTP 状态和 elapsed 来源:logs/qwen-api-meta.txt。
  • 模型文件/hash:与第 2 节 SHA256 一致。
  • server 参数:示例 --ctx-size 2048 --n-gpu-layers 99。
  • 客户端环境:示例 curl 或 Python 客户端版本。
  • 观察:第一次请求更慢,后续请求更稳定。
  • 风险:CLI tokens/s 不能直接代表 API 端到端延迟。

7. 端侧部署风险​

风险项失败现象证据日志影响缓解动作是否进入最终建议
输出质量Q4 复杂任务有概念遗漏logs/qwen-q4-quality.txt不适合作为默认版本增加固定评估 prompt,优先用证据更稳版本是
内存/显存Jetson 尚未实测未记录不能承诺 Jetson 上线迁移后记录 tegrastats是
长上下文ctx 4096 内存上升logs/ctx-4096.txt长对话可能 OOM默认 ctx 2048,下一轮补 KV Cache 估算是
并发/超时只做单请求 smoke testlogs/qwen-api-server.txt不能承诺并发服务60 学时路径加入并发选做是

扩展项说明:本示例是 40 学时 Ubuntu-only 写法,Jetson、vLLM、移动端和 LoRA smoke test 均未作为本轮最低验收;正式报告需按教师布置改写。

8. 最终部署建议​

推荐方案写法:若第 4 节 Q5_K_M 同时满足速度、内存和质量阈值,并且第 6 节 API smoke test 通过,则推荐 Qwen 小模型 + Q5_K_M + llama.cpp + GPU offload + 本地 OpenAI-compatible API。正式提交时必须替换为自己的版本和参数。

本报告按 40 学时基础版完成,未做 Jetson 对照、LoRA smoke test 和移动端实机;这些不作为本轮推荐依据。

不推荐方案:直接用 Q4 作为唯一上线版本。原因是示例质量观察仍有退化,且 Jetson 上的功耗、温度和长上下文稳定性尚未验证。

下一步:在 Jetson 上重复 baseline、量化对比和 API smoke test,并补充 30 分钟长稳日志。

9. 附录​

  • 环境日志:示例路径 results/env-check.txt。
  • baseline 日志:示例路径 logs/qwen-baseline-q8.txt。
  • 量化对比日志:示例路径 logs/qwen-quant-*.txt。
  • profiling 日志:示例路径 results/profiling-table.md。
  • API smoke test 日志:示例路径 logs/qwen-api-smoke.txt。
  • API 请求 JSON/curl:示例路径 logs/qwen-api-request.json。
  • API 响应 JSON:示例路径 logs/qwen-api-response.json。
  • 模型 SHA256:示例路径 results/model-sha256.txt。
  • 未测扩展说明:示例路径 results/scope-note.md。

参考资料​

本章吸收方式: