跳到主要内容

完成版报告样例

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

1. 场景与设备约束

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

2. 实验环境

项目记录
OS示例 Ubuntu 22.04
GPU示例 NVIDIA GPU
CUDA示例版本
llama.cpp commit示例 commit
模型Qwen 小模型 GGUF
量化版本Q8_0、Q5_K_M、Q4_K_M

3. Baseline 结果

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

4. 量化版本对比

版本文件大小TTFT / prefilltokens/s峰值内存质量观察判断
Q8示例示例示例示例输出稳定质量优先
Q5示例示例示例示例轻微差异当前推荐
Q4示例示例示例示例个别回答退化内存受限备选

部署判断:当前设备上暂时推荐 Q5_K_M。它比 Q8 更省内存,质量退化不明显;Q4 适合作为低内存备选,但复杂回答需要更多质量样例验证。

5. Runtime 参数与加速实验

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

6. API 服务测试

  • 启动方式:llama-server 本地绑定 127.0.0.1:8080
  • 请求:/v1/chat/completions
  • 响应:返回可解析 JSON。
  • 观察:第一次请求更慢,后续请求更稳定。
  • 风险:CLI tokens/s 不能直接代表 API 端到端延迟。

7. 风险与下一步

风险证据下一步
Q4 复杂任务质量下降示例输出中有概念遗漏增加 20 条固定评估 prompt
Jetson 内存压力未知还未实测迁移到 Jetson 并记录 tegrastats
长上下文风险ctx 4096 内存上升增加 KV Cache 估算和长稳测试
API 并发未测只做单请求 smoke test60 学时路径加入并发选做

8. 最终建议

推荐方案:Qwen 小模型 + Q5_K_M + llama.cpp + GPU offload + 本地 OpenAI-compatible API。

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

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