一日工程课 · 09:00-17:00
从端侧部署共同语言、Qwen/GGUF 量化证据、低比特/KV 质量归因,到 Runtime/Local API 验收、Jetson/移动端迁移和最终报告。
专题 01 · 核心概念
专题 01 · 证据图表
专题 01 · 课堂实作
~/edge-ai-lab/
├── models/qwen/qwen2.5-0.5b-instruct-q4_k_m.gguf
├── logs/qwen2.5-0.5b-instruct-q4_k_m-completion.log
├── results/quant_compare.csv
└── report/final-report.md
专题 01 · 证据图表
| 网站内容 | 一日课专题 | 课堂交付 |
|---|---|---|
| 导读 + Part I/II | 端侧部署共同语言与环境准入 | 场景、指标、设备画像、日志字段 |
| Part III + Part VI | Qwen/GGUF Baseline 与 PTQ/QAT 量化证据 | baseline log、Q8/Q5/Q4 实验单 |
| Part III + 样例日志 | 低比特 LLM、KV Cache 与质量归因 | 方法矩阵、低比特失败样例 |
| Part III + Part IV | 精度修复、压缩蒸馏与 LoRA/QLoRA 决策 | 修复路径、训练去留判断 |
| Part V + Part VI | Runtime、Profiling 与 Local API 验收 | 瓶颈定位、服务化 smoke test |
| Part VI + Part VII | Jetson/移动端迁移、VLM/Agent 与最终报告 | 迁移风险、最终部署评估报告 |
专题 01 · 核心概念
专题 01 · 核心概念
专题 01 · 证据图表
专题 01 · 课堂实作
# 只切换 -m 模型文件,其余参数逐字不变
./build/bin/llama-completion \
-m ~/edge-ai-lab/models/qwen/qwen2.5-0.5b-instruct-q4_k_m.gguf \
-p "用三句话解释端侧模型量化的价值。" \
-n 128 --ctx-size 2048 --temp 0.2 --seed 42 \
-ngl 99 -cnv -st --no-display-prompt --perf
专题 01 · 风险与报告
专题 01 · 问题框架
同一个 Qwen 小模型,放在手机、PC、车载、摄像头、Jetson 或本地服务器里,验收口径会完全不同。
专题 01 · 核心概念
专题 01 · 证据图表
| 场景 | 硬约束 | 第一轮证据 |
|---|---|---|
| 本地助手 / PC 工具 | 首 token、格式稳定、隐私文件不外发 | 固定 prompt、TTFT、tokens/s、local API log |
| 车载 / IoT / 摄像头 | 弱网、低功耗、温度、连续运行 | 设备状态、功耗温度、失败恢复记录 |
| Jetson / 边缘网关 | 统一内存、GPU offload、部署维护 | JetPack、tegrastats、Qwen GGUF baseline |
专题 01 · 课堂实作
写不出约束和阈值,就不能判断 Q4 是否可用,也不能解释为什么需要本地推理。
专题 01 · 风险与报告
专题 01 · 问题框架
量化、KV Cache、runtime 和 profiling 都会改变不同阶段;不拆 tokenize、prefill、decode 和服务开销,速度结论就会混在一起。
专题 01 · 核心概念
专题 01 · 证据图表
专题 01 · 课堂实作
# llama.cpp stderr 会直接打印这几行,逐字段抄进日志
llama_print_timings: prompt eval time = N ms / N tokens
llama_print_timings: eval time = N ms / N runs
llama_print_timings: total time = N ms
专题 01 · 风险与报告
专题 01 · 问题框架
端侧部署不是只选本地或云端;真正要决定的是每条请求为什么留在本地、为什么允许兜底、为什么必须确认或拒绝。
专题 01 · 核心概念
专题 01 · 证据图表
| 判断条件 | 默认路径 | 日志字段 |
|---|---|---|
| 包含隐私原文、图片或本地文件 | 本地处理,必要时只上传脱敏摘要 | sensitivity、redaction、upload_allowed |
| 短指令、格式化、摘要草稿 | 端侧小模型优先 | route=local、latency、quality_check |
| 复杂推理或长上下文 | 云端或大模型兜底 | fallback_reason、uploaded_fields |
| 高风险工具或外发动作 | 确认后执行或拒绝 | confirm_required、policy_result |
专题 01 · 课堂实作
只有架构图没有日志,不能证明端云协同真的可上线;报告里必须放样例路径。
专题 01 · 风险与报告
专题 01 · 问题框架
环境准入不是证明机器够强,而是决定今天能跑 Ubuntu GPU、Jetson、CPU-only,还是只能写移动端路线图。
专题 01 · 核心概念
专题 01 · 证据图表
| 准入结果 | 今天可以做 | 报告必须标注 |
|---|---|---|
| CUDA + llama.cpp + Qwen GGUF 都可用 | baseline、Q8/Q5/Q4、profiling、local API | commit、hash、CUDA/offload 日志 |
| 只有 CPU 或 GPU 后端不可用 | CPU baseline、API smoke test、报告结构 | GPU offload 未验证,速度不代表目标设备 |
| Jetson 可登录但构建不完整 | JetPack、tegrastats、环境预检 | Qwen 迁移未完成,不能写推荐 |
| 模型文件或 hash 不清楚 | 停止量化对比,先补模型清单 | 模型来源未确认,结果不可复查 |
专题 01 · 课堂实作
# Ubuntu Server:一条命令生成可直接粘贴的环境记录
{
date; uname -a; lscpu | head -n 30; free -h; df -h
python3 --version; git --version; cmake --version
nvidia-smi || true; nvcc --version || true
} | tee ~/edge-ai-lab/env/ubuntu-env.txt
专题 01 · 风险与报告
专题 01 · 实验口径
专题一结束前,学员要先写清模型、输入、运行和日志字段。没有这张单,Q8/Q5/Q4 的差异只能算运行现象,不能算部署证据。
专题 01 · 核心概念
专题 01 · 证据图表
| 表格列 | 课堂最低字段 | 不能省略的原因 |
|---|---|---|
| 模型条件 | model_path、quant_type、size、sha256 | 证明 Q8/Q5/Q4 同源,避免把不同模型混成量化差异。 |
| 输入条件 | prompt_id、ctx-size、n_predict、seed | 质量现象必须能按同一输入复跑。 |
| 运行条件 | commit、backend、-ngl、threads、device_state | 解释 GPU offload、CPU fallback、温度或功耗造成的变化。 |
| 结果证据 | TTFT、tokens/s、memory、quality_note、log_path | 最终报告只能引用可追溯数字和样例。 |
专题 01 · 课堂实作
# parse_llama_log.py 把 stderr timing 抽成一行 CSV,字段名不能自己改
python3 labs/scripts/parse_llama_log.py run-q4.log \
--append results/quant_compare.csv
# 追加后的表头(源自脚本 PATTERNS 字典,逐字段可追溯)
log,load_time_ms,prompt_eval_time_ms,prompt_eval_tokens_per_s,eval_time_ms,eval_tokens_per_s,total_time_ms
专题 01 · 风险与报告
专题 01 · 报告收束
第一专题不是概念铺垫。它要交付场景约束卡、环境记录表、baseline plan 和量化实验变量单,后面五个专题只是在这份报告上继续补证据。
专题 01 · 核心概念
专题 01 · 证据图表
| 证据块 | 回答的问题 | 后续用途 |
|---|---|---|
| 场景约束卡 | 为什么必须端侧 | 判断推荐方案是否真的可部署。 |
| 环境记录表 | 今天能跑哪条路线 | 解释 Ubuntu、Jetson、CPU-only 或未测项。 |
| 模型清单 | 模型从哪里来 | 保证 baseline、量化、API 服务使用同一来源。 |
| 指标口径 | 速度、内存、质量怎么读 | 避免把一次快输出写成整体最佳。 |
| 变量控制单 | 对比是否可复现 | 支撑 Q8/Q5/Q4 和 runtime 参数结论。 |
专题 01 · 课堂实作
量化只是后续手段。报告前两节没有成稿时,任何“Q4 更适合端侧”的判断都只能写成待验证假设。
专题 01 · 风险与报告
专题 02 · 041-080
先证明同一个 Qwen GGUF 能在目标设备上按固定条件跑通,再讨论 Q8/Q5/Q4、PTQ/QAT 和低比特收益。
专题 02 · 问题框架
一次输出文本只能证明模型启动了。课程里的 baseline 必须同时留下模型、runtime、输入、资源和质量证据,后面每个量化结论都要回到这里。
专题 02 · 证据图表
专题 02 · 课堂实作
如果日志路径、模型 hash 或运行参数缺失,baseline 只能算烟雾测试,不能作为 Q8/Q5/Q4 的参照物。
专题 02 · 风险与报告
专题 02 · 问题框架
bit 数只是入口。端侧部署真正要问的是格式能不能被 runtime 加载、被目标 backend 承接,并且在固定 prompt 下保住质量。
专题 02 · 核心概念
专题 02 · 证据图表
| 检查项 | 要问的问题 | 报告字段 |
|---|---|---|
| 模型同源 | Q8/Q5/Q4 是否来自同一 model id 和 tokenizer | model_id、filename、SHA256 |
| 格式含义 | weight-only、per-group、metadata 写清了吗 | quant_type、group、GGUF metadata |
| Runtime 支持 | 目标 backend 是否直接承接低比特格式 | backend、offload、startup log |
| 端到端收益 | 文件、内存、速度、质量是否同时成立 | size、TTFT、tokens/s、quality_note |
专题 02 · 课堂实作
第 4 节不是写“4bit 更小”,而是写同源模型在同一条件下的文件、内存、速度和质量证据。
专题 02 · 风险与报告
专题 02 · 问题框架
scale 把真实数值范围压进有限整数格点。范围越大,普通值的格点越粗;Q4/Q8 的质量差异,要先从范围、舍入和 clipping 找原因。
专题 02 · 核心概念
专题 02 · 证据图表
| 公式部件 | 课堂解释 | 报告里要检查 |
|---|---|---|
| real_range | 原始数值覆盖多宽 | outlier 是否把 scale 拉粗。 |
| integer_range | bit 数给了多少格点 | Q8 到 Q4 损失了多少分辨率。 |
| rounding | 每个值落到最近格点 | 普通值是否累积舍入噪声。 |
| clipping | 先牺牲极端值保护主体 | 被裁掉的是噪声还是任务关键信号。 |
专题 02 · 课堂实作
报告第 4 节要写可能原因:范围被 outlier 拉大、舍入误差变粗、clipping 过强、格式支持不足,还是 prompt 条件漂移。
专题 02 · 风险与报告
专题 02 · 问题框架
同样是 4bit,scale 覆盖整个张量、一个通道、一组权重或一个 token,误差分布、metadata、kernel 支持和运行开销都会不同。
专题 02 · 核心概念
专题 02 · 证据图表
| 对象 | 主要解决 | 仍要单独记录 |
|---|---|---|
| Weight-only | 权重文件、显存和带宽压力 | activation、KV Cache、kernel 支持。 |
| Activation | 计算链路和激活内存 | 校准集、outlier、runtime 支持。 |
| KV Cache | 长上下文解码内存 | ctx-size、质量、吞吐变化。 |
| Mixed precision | 保护敏感层或模块 | 回退范围、层名单和部署格式。 |
专题 02 · 课堂实作
权重、激活和 KV Cache 影响的资源不同。报告里混成一个标签,后面就无法解释 OOM、速度或质量变化。
专题 02 · 风险与报告
专题 02 · 问题框架
PTQ 不需要重新训练,适合快速得到 Q8/Q5/Q4 或 INT8 候选;但候选只有经过同一 baseline、同一 prompt、真实设备和质量样例验证,才算进入部署判断。
专题 02 · 核心概念
专题 02 · 证据图表
专题 02 · 课堂实作
只有同条件复跑后的日志、资源记录和质量样例,才能支撑报告第 4 节的量化版本对比。
专题 02 · 风险与报告
专题 02 · 问题框架
只有 PTQ 在同一 prompt、同一 runtime 和真实设备上被证伪,且数据、预算、导出链路和回归测试都具备,才值得进入 QAT、LoRA 或蒸馏修复。
专题 02 · 核心概念
专题 02 · 证据图表
| 证据状态 | 课堂判断 | 报告写法 |
|---|---|---|
| 低 bit 稳定退化,数据和导出都就绪 | 进入 QAT、LoRA 或蒸馏 smoke test | 训练式修复有进入条件 |
| 低 bit 退化,但无训练数据或预算 | 回退 Q5/Q8、换小模型或调混精 | 不训练,说明成本和替代方案 |
| baseline、prompt 或 runtime 自身不稳 | 停止训练判断,先修变量控制 | 当前不是量化问题 |
| 目标 runtime 不能加载训练产物 | QAT 不能作为部署路径 | 只可写研究实验或未验证风险 |
专题 02 · 课堂实作
QAT 相关实验必须回到同一失败样例、tokens/s、内存、API 可用性和部署报告。
专题 02 · 风险与报告
专题 02 · 问题框架
同一模型、prompt 集、chat template、ctx、seed、runtime 和日志路径先固定,Q8/Q5/Q4 的差异才可能被解释为量化差异。
专题 02 · 核心概念
专题 02 · 证据图表
| 数据角色 | 课堂字段 | 不能替代什么 |
|---|---|---|
| 校准集 | source、type、token_len、template | 不能证明质量达标 |
| 评估集 | prompt_id、rule、repeat、seed | 不能反推校准充分 |
| 失败样例 | quant_type、output_path、failure_label | 不能被平均分掩盖 |
| 脱敏边界 | redacted_summary、access_level | 不能贴原始敏感样本 |
专题 02 · 课堂实作
model_id=qwen...
quant_type=Q8/Q5/Q4
prompt_set=eval_v1.jsonl
prompt_id=json_runtime
chat_template=qwen2.5
ctx_size=2048
temperature=0
seed=42
runtime_commit=
log_path=
字段缺一个,Q8/Q5/Q4 的速度、内存或质量差异都只能写成风险。
专题 02 · 风险与报告
专题 02 · 问题框架
到这里不急着宣布哪个量化档位最好;先交 Q8/Q5/Q4 同源、同条件、同口径的对比表,让推荐和不推荐都能指向日志和输出样例。
专题 02 · 核心概念
专题 02 · 证据图表
| 表格区块 | 最低字段 | 支撑什么结论 |
|---|---|---|
| 模型证据 | version、hash、quant_type、size | 证明 Q8/Q5/Q4 同源 |
| 运行条件 | prompt_id、ctx、seed、runtime、-ngl | 证明对比可复现 |
| 资源收益 | TTFT、tokens/s、memory、log_path | 证明速度或内存收益 |
| 质量证据 | output_path、rule、failure_label | 证明是否可部署 |
| 判断 | keep、fallback、risk、untested | 写推荐或不推荐 |
专题 02 · 课堂实作
GPTQ、AWQ 和 KV Cache 不是替代基础证据表的捷径;它们要接在 Q8/Q5/Q4 记录之后。
专题 02 · 风险与报告
专题 03 · 081-120
Q8/Q5/Q4 表只回答“哪几个候选可复查”;专题三继续拆清权重文件、激活 outlier、KV Cache、runtime warning 和生成质量。
专题 03 · 核心概念
专题 03 · 证据图表
| 账本 | 要记录什么 | 报告里怎么用 |
|---|---|---|
| 权重文件 | quant type、size、hash、来源、是否同源 | 第 4 节解释资源收益来自哪里 |
| 激活 / outlier | 是否涉及 W8A8、SmoothQuant、LLM.int8 或敏感层 | 第 4 节说明质量风险和未测边界 |
| KV / runtime | ctx-size、prompt/generated tokens、RAM/VRAM、warning/fallback | 第 5 节解释长上下文和服务化瓶颈 |
| 生成质量 | 固定输出、格式错误、重复、拒答、failure_label | 第 7-8 节决定推荐、回退或暂不推荐 |
专题 03 · 课堂实作
GPTQ、AWQ、SmoothQuant、LLM.int8 和 KV Cache 都要回到同一张表,而不是停在方法名。
专题 03 · 风险与报告
专题 03 · 问题框架
M2 表里的 tokens/s 只解释持续生成。专题三要继续拆 prefill、decode 和 KV Cache,否则短 prompt 下的快,会被误写成长上下文也可用。
专题 03 · 核心概念
专题 03 · 证据图表
| 问题 | 先看字段 | 报告解释 |
|---|---|---|
| 启动慢 | model size、backend、offload、load log | 不要把加载成本混进生成速度 |
| 首 token 慢 | prompt_tokens、ctx_size、prompt_eval_time | 长 prompt 的成本主要在 prefill |
| 持续输出慢 | generated_tokens、eval_time、tokens/s | decode 速度要在同一输出长度下比较 |
| 长上下文 OOM | ctx_size、cache dtype、RAM/VRAM、warning | KV Cache 风险不能归因给权重文件 |
专题 03 · 课堂实作
同一行里同时放模型、prompt、ctx、量化格式、timing、内存和质量备注,避免跨实验拼结论。
专题 03 · 风险与报告
专题 03 · 问题框架
Q4 输出变差只是现象。先确认 Q8/F16 baseline、prompt/template、ctx、采样参数和 runtime 一致,才有资格判断是不是低比特造成的退化。
专题 03 · 核心概念
专题 03 · 证据图表
| 现象 | 失败标签 | 下一步 |
|---|---|---|
| Q8 和 Q4 都错 | baseline_fail / prompt_issue | 先修任务、prompt 或模型,不归因给量化 |
| Q8 对,Q4 格式或事实错 | low_bit_regression | 比较 Q5/Q8,准备回退或敏感层保护 |
| 只在长上下文失败 | ctx_kv_issue | 记录 token、ctx、KV、截断和内存峰值 |
| 只在某设备失败 | runtime_fallback | 补启动日志、offload、kernel 和 profiling |
专题 03 · 课堂实作
失败标签决定后续是回退 Q5/Q8、调 ctx、查 runtime,还是进入 mixed precision 或校准修复。
专题 03 · 风险与报告
专题 03 · 问题框架
GPTQ 解决的是逐层 weight-only 误差补偿,不是部署结论。进入课堂表格前,先问三件事:校准数据是否代表任务,产物格式是否能被 runtime 加载,是否有目标设备日志。
专题 03 · 核心概念
专题 03 · 证据图表
| 判断点 | GPTQ 路线 | 课程主线怎么写 |
|---|---|---|
| 产物格式 | safetensors + quantize_config.json | 不能直接写成 GGUF |
| runtime | Transformers / vLLM / GPTQ runtime | llama.cpp 主线要另走 GGUF |
| 证据 | 校准集、质量输出、runtime 日志 | 未实跑写候选,不写推荐 |
| 风险 | 校准偏、格式链路、设备支持 | 写入第 7 节风险 |
专题 03 · 课堂实作
如果主线使用 Qwen GGUF,GPTQ 只能作为方法对照或扩展路线,不能替代 Q8/Q5/Q4 实测。
专题 03 · 风险与报告
专题 03 · 问题框架
AWQ 用激活统计识别少数重要通道,再用缩放让这些通道在低比特网格里保留更多分辨率。它只能作为候选路线进入表格,不能替代 Qwen/GGUF 主实验。
专题 03 · 核心概念
专题 03 · 证据图表
| 判断点 | AWQ 路线 | 课程主线怎么写 |
|---|---|---|
| 量化目标 | activation-aware weight-only INT4 | 不能写成普通 GGUF Q4 |
| 校准证据 | 文本覆盖、模板、语言和任务 | 缺失时只写未测风险 |
| 质量验证 | 固定失败样例是否恢复 | 和 Q8/Q5/Q4 分开比较 |
| 端侧承接 | 模型格式、kernel、runtime 日志 | 没实跑就不写推荐 |
专题 03 · 课堂实作
AWQ 是方法和生态路线;今天主线的 GGUF Q4/Q5 是文件、runtime 和设备日志证据。
专题 03 · 风险与报告
专题 03 · 问题框架
SmoothQuant 和 LLM.int8() 处理激活 outlier,GGUF Q4/Q5 主要压权重,KV Cache 随上下文增长。三类问题混写,后面的速度、内存和质量结论都会失真。
专题 03 · 核心概念
专题 03 · 证据图表
| 路线 | 解决对象 | 必须验证 |
|---|---|---|
| SmoothQuant | activation outlier 与 W8A8 动态范围 | 校准、W8A8 kernel、质量输出 |
| LLM.int8() | 8-bit 矩阵乘中的 outlier 列 | bitsandbytes/Transformers 路径和设备支持 |
| GGUF Q4/Q5 | 权重文件、加载内存和带宽 | llama.cpp 日志、速度、质量 |
| KV Cache 量化 | ctx、batch、并发带来的 cache 内存 | KV buffer、OOM、长上下文质量 |
专题 03 · 课堂实作
GGUF Q8/Q5/Q4 让学生先拿到同模型、同 prompt、同 runtime 的证据;W8A8、LLM.int8 和 KV cache 是并行扩展路线。
专题 03 · 风险与报告
专题 03 · 问题框架
GPTQ、AWQ、SmoothQuant 可以进入候选表,但今天的主结论必须来自同源 Qwen GGUF、同一 prompt、同一 llama.cpp 和同一套日志。
专题 03 · 核心概念
专题 03 · 证据图表
| 课堂动作 | 报告字段 | 最低证据 |
|---|---|---|
| 建模型清单 | 第 2 节模型来源 | 文件名、量化格式、SHA256、许可证 |
| 跑 Q8/Q5/Q4 | 第 4 节量化对比 | 同 prompt 输出、stderr timing、质量备注 |
| 采资源状态 | 第 5 节 profiling | nvidia-smi / tegrastats、offload、warning |
| 接本地服务 | 第 6 节 API 测试 | request、response、elapsed、server log |
专题 03 · 课堂实作
模型文件、命令参数、输出样例、timing 和资源记录必须能互相追到。
专题 03 · 风险与报告
专题 03 · 问题框架
GPTQ、AWQ、SmoothQuant、LLM.int8、GGUF 和 KV Cache 最后不按热度排序,而按证据等级进入推荐、回退或继续验证。
专题 03 · 核心概念
专题 03 · 证据图表
| 路线 | 当前证据等级 | 下一步 |
|---|---|---|
| GGUF Q8/Q5/Q4 | 主线实测候选 | 按失败样例决定推荐、回退或修复 |
| KV Cache | 长上下文资源风险 | 用 ctx-size 和 KV buffer 继续 profiling |
| GPTQ/AWQ | 校准和格式候选 | 有目标 runtime 才扩展验证 |
| SmoothQuant/LLM.int8 | W8A8/outlier 扩展路线 | 未跑通就写风险,不写推荐 |
专题 03 · 课堂实作
如果只剩平均分或口头判断,后续无法定位质量问题,也无法解释为什么推荐某个量化版本。
专题 03 · 风险与报告
专题 04 · 121-160
接住专题三留下的原始输出、timing、资源和失败标签,先排除 baseline、prompt、ctx、runtime 和设备差异,再决定校准、回退、蒸馏、LoRA/QLoRA 或不训练。
专题 04 · 质量归因
专题 04 · 归因表
| 现象 | 首要判断 | 下一步 |
|---|---|---|
| Q8 和 Q4 都答错 | baseline 或 prompt 问题 | 先修任务定义、prompt 或换模型 |
| Q8 正确,Q4 漏关键概念 | 低比特质量下降 | 比较 Q5/Q8 或保护敏感张量 |
| 长上下文才失败 | ctx、KV Cache 或截断 | 记录 token 数、ctx-size 和峰值内存 |
| 只在 Jetson 上失败 | 设备、runtime 或编译差异 | 查启动日志、offload 和 tegrastats |
| 单次失败不可复现 | 采样随机性 | 固定 seed 或多次运行统计 |
专题 04 · 复现记录
只要换了模板、采样参数或 runtime,就不是同一次质量对比,不能直接写成量化退化。
专题 04 · 失败复盘
专题 04 · 问题框架
“效果不好”不是工程证据。先判断失败来自分类/检测指标、LLM 原始输出、VLM 图像链路,还是 Agent 工具轨迹,再进入修复。
专题 04 · 核心概念
专题 04 · 证据图表
| 任务 | 质量信号 | 必须保存 |
|---|---|---|
| 分类/检测 | 指标下降、漏检、框偏移 | 数据版本、阈值、错例图 |
| LLM | 事实错、格式错、漏关键概念 | prompt_id、原始输出、seed、失败标签 |
| VLM | OCR 错、小目标漏、关系错 | 输入图、裁剪、分辨率、视觉 prompt |
| Agent | 工具选错、恢复失败、权限越界 | tool trace、policy 结果、observation |
专题 04 · 课堂实作
baseline_fail: 高精度版本已经失败format_error: JSON、表格或字段不合规missing_key_concept: 漏掉关键概念runtime_fallback: 执行路径或设备状态异常标签固定后,才能判断低比特是否让某类失败变多,而不是凭一次聊天体验下结论。
专题 04 · 风险与报告
专题 04 · 问题框架
只有高精度版本在同一 prompt、template、runtime 和 ctx-size 下答对,Q4/Q5 的失败才可能归因到量化;否则先修任务、prompt、模型或评估集。
专题 04 · 核心概念
专题 04 · 证据图表
| 检查项 | 不过关时说明什么 | 下一步 |
|---|---|---|
| Q8/F16 已失败 | 不是低比特退化 | 修 prompt、换模型或重定义任务 |
| 评估集太窄 | 不能代表课程任务 | 补概念、JSON、长上下文和诊断样例 |
| 输入或运行不同 | Q8/Q5/Q4 不可比 | 固定 template、ctx、seed、runtime 后重跑 |
| 日志证据缺失 | 结论不可复查 | 补输出、stderr 和资源日志路径 |
专题 04 · 课堂实作
id、type、prompt、must_include课堂 smoke test 不等于完整评测,但它必须能重复,才能暴露低比特模型的明显退化。
专题 04 · 风险与报告
专题 04 · 问题框架
质量下降不能直接写成“量化导致”。先固定 baseline、prompt、ctx、seed 和 runtime,只改变一个条件,再判断失败是否消失。
专题 04 · 核心概念
专题 04 · 证据图表
| 现象 | 先查什么 | 下一步动作 |
|---|---|---|
| Q8/Q4 都错 | baseline 或 prompt | 修任务、prompt 或换模型 |
| Q8 对,Q4 漏关键点 | 低比特损伤 | 试 Q5/Q8、imatrix 或敏感张量保护 |
| 长上下文才失败 | ctx、KV Cache、截断 | 记录 token、ctx-size、峰值内存 |
| Jetson 才失败 | runtime、offload、设备状态 | 查启动日志、温度、tegrastats |
专题 04 · 课堂实作
如果说不清什么证据会推翻这个归因,就不要把它写成最终部署建议。
专题 04 · 风险与报告
专题 04 · 问题框架
修复不是越复杂越好。归因闭合后,先试 prompt/template、采样、Q5/Q8 回退,再到校准/imatrix、mixed precision,最后才考虑 LoRA、QAT 或蒸馏。
专题 04 · 核心概念
专题 04 · 证据图表
| 已证明的归因 | 优先动作 | 必须复测 |
|---|---|---|
| Q8/Q4 都错 | 修 prompt/template 或换模型 | baseline 质量 |
| Q4 错,Q5/Q8 对 | 回退 Q5/Q8 或换量化类型 | 文件、内存、tokens/s、质量 |
| 校准分布不匹配 | 重构校准集或 imatrix | PPL、失败样例、量化日志 |
| 少数模块敏感 | mixed precision 或局部回退 | runtime 支持、文件和内存 |
专题 04 · 课堂实作
质量恢复、速度变化、内存变化和日志路径要在同一张表里,否则不能进入最终建议。
专题 04 · 风险与报告
专题 04 · 问题框架
压缩不是先挑剪枝、低秩或蒸馏。先证明瓶颈在文件、峰值内存、算子延迟、输出质量还是设备稳定性,再选择能被目标 runtime 验收的动作。
专题 04 · 核心概念
专题 04 · 证据图表
| 已证明的瓶颈 | 先试路线 | 不能缺的证据 |
|---|---|---|
| 文件或权重内存过大 | Q5/Q4、换小模型、低秩候选 | 文件大小、峰值内存、同集质量 |
| 算子延迟高 | runtime 参数、换架构、结构化剪枝候选 | TTFT、tokens/s、kernel/offload 日志 |
| 低比特质量下降 | Q5 回退、mixed precision、蒸馏/LoRA 候选 | 失败样例复测、资源变化、训练成本 |
| 设备长跑不稳定 | 降 ctx、换小模型、任务拆分或端云协同 | tegrastats、温度、功耗和长稳日志 |
专题 04 · 课堂实作
只有质量、速度、内存、设备日志和 runtime 支持同时闭合,压缩路线才允许写成建议。
专题 04 · 风险与报告
专题 04 · 问题框架
蒸馏不是质量下降后的默认动作。只有任务稳定、教师可靠、学生可部署、评估能回归时,训练型补偿才值得进入第二阶段。
专题 04 · 核心概念
专题 04 · 证据图表
| 已证明的条件 | 可选路线 | 必须复测 |
|---|---|---|
| 原模型资源不达标,任务稳定 | 先蒸馏学生,再量化部署 | 学生 Q5/Q4、速度、内存和质量 |
| 低比特退化已归因 | LoRA、蒸馏或 QAT 补偿候选 | 原失败样例和资源变化 |
| 固定格式或窄领域任务 | response/SFT 蒸馏候选 | schema、边界样例和负面样例 |
| 教师、数据或许可证不稳 | 先不蒸馏,回到任务定义 | 错误样例、来源和反证记录 |
专题 04 · 课堂实作
没有训练日志、同集复测和再量化结果,蒸馏只能写成第二阶段候选。
专题 04 · 风险与报告
专题 04 · 问题框架
质量修复、压缩和蒸馏不以方法跑过结束,而以报告第 7 节风险登记和第 8 节部署建议结束;证据不齐时只能写回退或继续验证。
专题 04 · 核心概念
专题 04 · 证据图表
| 风险记录 | 证据要求 | 第 8 节写法 |
|---|---|---|
| Q4 输出跑题、重复或乱码 | 固定 prompt 输出、失败标签、Q5/Q8 对照 | Q4 暂不作为默认版本,保留高精度回退 |
| 修复后资源变差 | 同条件速度、内存和设备日志 | 只作为候选,不写上线推荐 |
| 蒸馏、LoRA 或 QAT 未实跑 | 数据、教师、训练成本和回归计划 | 写第二阶段验证,不写已解决 |
| API 或 runtime 未验收 | server log、请求样例、HTTP 状态和 elapsed | 进入专题五补证据后再判断 |
专题 04 · 课堂实作
建议可以保守,但不能脱离日志、输出样例、复测条件和风险登记。
专题 04 · 风险与报告
专题 05 · 161-200
专题四得到的推荐、回退或暂不推荐,进入专题五后必须用同一 Qwen GGUF 在 CLI、bench、profiling 和 local API 下复查。
专题 05 · 部署分层
专题 05 · 证据链
| 证据 | 回答的问题 | 写进报告哪里 |
|---|---|---|
| CLI stderr timing | 单次 prompt 的 prefill、decode 和 total time | 第 5 节 runtime 实验 |
| llama-bench | 标准化 pp、tg 能否支撑参数比较 | 第 5 节 benchmark 行 |
| nvidia-smi / tegrastats | 显存、RAM、温度和功耗是否可接受 | 第 5、7 节资源和风险 |
| local API smoke test | 服务接口是否可调用、是否超时或报错 | 第 6 节 API 服务测试 |
专题 05 · 课堂实作
CLI、bench、资源采样和 API 缺一项时,第 8 节建议只能写成“未完全验证”。
专题 05 · 指标误读
专题 05 · 问题框架
CLI、llama-bench 和 llama-server 的结果只有在模型文件、tokenizer/template 和 runtime 参数一致时才能放进同一张表;否则速度和质量结论都会失真。
专题 05 · 核心概念
专题 05 · 证据图表
| 链路段 | 最低证据 | 不合格信号 |
|---|---|---|
| 模型准备 | 来源、许可证、路径、文件大小、hash | 只有模型名,没有具体文件 |
| 转换/量化 | 命令、参数、stdout/stderr、产物名 | Q4/Q5 文件和 baseline 来源对不上 |
| CLI / bench | runtime commit、ctx、`-ngl`、timing 日志 | bench 换了参数还写进同一列 |
| server / API | 启动命令、model id、请求 JSON、server log | API 跑了别名或另一个模型路径 |
专题 05 · 课堂实作
对象核对表不通过时,CLI、bench 和 API 的数字不能支撑同一个部署建议。
专题 05 · 风险与报告
专题 05 · 问题框架
runtime 不是框架名投票;一条路线只有能证明模型格式、目标设备、backend/kernel、接口形态和日志字段都可复查,才允许进入部署建议。
专题 05 · 核心概念
专题 05 · 证据图表
| 路线 | 本课状态 | 进入建议前要有什么 |
|---|---|---|
| llama.cpp | 主线实测 | GGUF、CLI、bench、server、backend log |
| ONNX / TensorRT | 候选对照 | provider/engine、shape、fallback、精度回归 |
| LiteRT / Core ML / ExecuTorch | 端侧路线图 | delegate、compute units、温度、包体和失败日志 |
| MLC / vLLM / TensorRT-LLM | 进阶 serving | compiled artifact、KV Cache、并发和 API 指标 |
专题 05 · 课堂实作
推荐路线必须有日志;替代路线可以没有实测,但必须写适用条件、未测原因和下一步验证。
专题 05 · 风险与报告
专题 05 · 问题框架
文件变小、写了 -ngl 或换了 runtime,都不等于端到端更快;先证明没有 fallback、反量化再计算和负载形状漂移,再谈加速结论。
专题 05 · 核心概念
专题 05 · 证据图表
| 现象 | 先查什么 | 证据字段 |
|---|---|---|
| Q4 文件小但不快 | 低比特 kernel 或反量化路径 | runtime log、tg tokens/s、显存 |
写了 -ngl 仍慢 | 实际 offload 层数和 fallback | stderr、-ngl、GPU/RAM 采样 |
| bench 快但 API 慢 | 加载、排队、stream、timeout | curl elapsed、server log |
| 换 prompt 后波动大 | prompt tokens、generated tokens、ctx、batch | pp/tg 拆分、负载形状 |
专题 05 · 课堂实作
只有现象、标签、证据和下一步动作都齐,才能进入第 5 节 runtime 实验表。
专题 05 · 风险与报告
专题 05 · 问题框架
这 45 分钟先留下一份能复跑的 Qwen GGUF baseline:llama.cpp commit、CUDA build、模型 hash、固定 prompt、stderr timing 和质量样例。后续快慢才有锚点。
专题 05 · 核心概念
专题 05 · 证据图表
| 步骤 | 验收动作 | 不能缺的证据 |
|---|---|---|
| CUDA build | -DGGML_CUDA=ON 后检查可执行文件 | cmake/build log、llama.cpp commit |
| 模型入库 | 确认 Qwen GGUF 路径、大小和 SHA256 | 模型信息表、来源和许可证 |
| CLI run | 固定 prompt、ctx、-ngl、seed | qwen-baseline 日志 |
| 结果解读 | 抽取 prompt eval、eval、显存和输出质量 | 报告第 3 节字段 |
专题 05 · 课堂实作
cd ~/edge-ai-lab/src/llama.cpp
MODEL=~/edge-ai-lab/models/qwen/qwen2.5-1.5b-instruct-q4_k_m.gguf
./build/bin/llama-cli -m "$MODEL" \
-p "用三句话解释端侧模型量化的价值。" \
-n 128 --ctx-size 2048 -ngl 99 \
--temp 0.2 --seed 42 \
2>&1 | tee ~/edge-ai-lab/logs/qwen-baseline-q4.txt
模型路径、prompt、seed、ctx-size、生成长度、-ngl 和日志路径都不能只写在口头说明里。
专题 05 · 风险与报告
-ngl 未记录。专题 05 · 问题框架
课堂 profiling 的目标不是找一个最大数字,而是证明同一条 baseline 在改变一个变量后,负载、pp/tg、资源状态和输出质量发生了什么变化。
专题 05 · 核心概念
专题 05 · 证据图表
| 字段 | 课堂记录什么 | 用来回答什么 |
|---|---|---|
| workload | prompt tokens、生成长度、ctx、并发 | 数字是否可比 |
| timing | prompt eval、eval、pp/tg、elapsed | 慢在 prefill 还是 decode |
| resource | 显存/RAM、温度、功耗、GPU/GR3D | 是否碰到设备边界 |
| quality | 输出样例、失败标签、质量备注 | 速度提升是否可用 |
专题 05 · 课堂实作
2>&1 | tee 保存 stdout/stderr。nvidia-smi,Jetson 用 tegrastats。短实验可能采到 0%;同时看显存、功耗、llama.cpp timing,需要稳定利用率时改用更长生成或 llama-bench。
专题 05 · 风险与报告
专题 05 · 问题框架
CLI baseline 证明模型能跑;local API 要额外证明 endpoint、model alias、请求 JSON、响应 JSON、elapsed、server log、端口、安全边界和资源状态都可复查。
专题 05 · 核心概念
-ngl 和 backend。127.0.0.1 或受控内网。专题 05 · 证据图表
| 证据 | 最低保存内容 | 回答的问题 |
|---|---|---|
| server log | 启动命令、模型、backend、端口 | 服务是否跑对模型 |
| request JSON | model、messages、temperature、max_tokens | 客户端实际发了什么 |
| response/meta | HTTP status、elapsed、响应 JSON | 接口是否真的可调用 |
| CLI 对照 | baseline、资源变化、质量备注 | API 是否值得接入应用 |
专题 05 · 课堂实作
./build/bin/llama-server -m "$MODEL" -ngl 99 \
--ctx-size 2048 --host 127.0.0.1 --port 8080 \
2>&1 | tee ~/edge-ai-lab/logs/llama-server.txt
curl -sS http://127.0.0.1:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d @~/edge-ai-lab/logs/api-curl-request.json \
-o ~/edge-ai-lab/logs/api-curl-response.json \
-w "HTTP:%{http_code} elapsed:%{time_total}s\n"
启动日志、请求体、响应体、meta 和 CLI baseline 对照缺任一项,都不能写成 API 已验收。
专题 05 · 风险与报告
专题 05 · 问题框架
模型和量化表只说明“哪个版本可能可用”;runtime profiling、API smoke test 和风险登记补齐后,才有资格写第 8 节部署建议。
专题 05 · 核心概念
-ngl、ctx。专题 05 · 证据图表
| 报告位置 | 必须写入 | 不能替代 |
|---|---|---|
| 第 5 节 | runtime 参数、pp/tg、资源采样、日志路径 | 不能只写 tokens/s |
| 第 6 节 | server log、请求/响应、HTTP meta、模型 hash | 不能用 CLI 结果替代 API |
| 第 7 节 | warning、fallback、timeout、OOM、质量退化 | 不能只报成功输出 |
| 第 8 节 | 推荐、不推荐、回退参数和下一步验证 | 不能写无证据推荐 |
专题 05 · 课堂实作
下一专题可以扩展设备和系统场景,但不能替代本专题缺失的 runtime、profiling 或 API 证据。
专题 05 · 风险与报告
专题 06 · 201-240
不重开模型路线;把专题五闭合的 Ubuntu baseline 迁移到 Jetson 或移动端路线,再判断 VLM、Agent 和最终建议是否有证据支撑。
专题 06 · 端侧迁移
-ngl 和 runtime commit 要对上。tegrastats。专题 06 · 收束表
| 对象 | 新增变量 | 最低证据 |
|---|---|---|
| Ubuntu baseline | 作为对照锚点 | 模型 hash、CLI/API 日志、profiling 表 |
| Jetson 实测 | 统一内存、功耗、温度、软件栈 | L4T/JetPack、nvpmodel、tegrastats、运行日志 |
| 移动端路线 | runtime、delegate、包体、温度 | 模型格式、backend、fallback、未测说明 |
| VLM/Agent | 输入链路、工具权限、状态恢复 | 输入样例、policy check、trace log |
| 最终报告 | 推荐、不推荐和下一步验证 | 日志路径、风险登记、证据缺口 |
专题 06 · Jetson 记录
tegrastats、stdout/stderr 和质量样例。服务器结果只能做 baseline。Jetson 结论必须来自同一模型、同一 prompt 和设备状态日志。
专题 06 · 最终复盘
tegrastats、功耗模式和温度记录。专题 06 · 问题框架
纯文本 baseline 过了不代表 VLM 过了;图像输入、resize/crop、visual token、mmproj、LLM decode 和原始回答要拆开记录。
专题 06 · 核心概念
专题 06 · 证据图表
| 记录项 | 课堂写法 | 为什么影响结论 |
|---|---|---|
| 输入尺寸 | 原图、crop/resize、帧率 | OCR、小目标和空间关系会被输入策略改变 |
| 视觉 token | n_vis ≈ H×W/(p²×m) | token 越多,prefill 和 KV Cache 越重 |
| Encoder/mmproj | encoder 耗时、mmproj 文件、精度和版本 | 对齐层出错会伪装成语言模型退化 |
| LLM 输出 | pp/tg、ctx、原始回答、失败标签 | 只有原始输出能支撑报告里的质量判断 |
专题 06 · 课堂实作
VLM 报告至少要保存输入图、处理参数、组件版本、原始输出和失败标签,不能只写一条总耗时。
专题 06 · 风险与报告
专题 06 · 问题框架
端侧 VLM 不应默认把每张原图都送进多模态模型;先用 ROI、分辨率、帧率、缓存或传统视觉初筛减少输入成本,再判断模型量化。
专题 06 · 核心概念
专题 06 · 证据图表
| 现象 | 先做什么 | 复测证据 |
|---|---|---|
| visual token 或预处理成本高 | ROI、降分辨率、降帧率、缓存 | OCR、小目标、空间关系和 pp 时间 |
| vision encoder 占主耗时 | TensorRT/ONNX/INT8 或换轻模型 | 视觉质量、backend 日志和峰值内存 |
| LLM decode 占主耗时 | Q5/Q4、ctx 控制、KV 策略 | tg、ctx、输出格式和失败标签 |
| 端侧质量仍不够 | 端云协同或人工确认 | 隐私规则、fallback trace 和授权记录 |
专题 06 · 课堂实作
“适合端侧 VLM”必须说明输入规模、质量阈值、隐私边界、复测记录和未测风险。
专题 06 · 风险与报告
专题 06 · 问题框架
Agent 能在本地生成 JSON 不等于可以执行动作;工具白名单、确认点、阻断规则、状态保存和失败恢复要先通过策略校验。
专题 06 · 核心概念
专题 06 · 证据图表
| 检查点 | 最低要求 | 失败时写法 |
|---|---|---|
| 集合互斥 | 同一工具不能同时 allowed、confirm_required、blocked | policy invalid,不进入执行 |
| 高风险 denylist | run_shell、delete_file、发送/联网默认阻断 | 只能写路线图或需人工确认 |
| 参数校验 | tool args 通过 schema 和范围检查 | 拒绝执行并记录原因 |
| 执行边界 | 应用层 executor 执行,模型只给意图 | 不能写已验收 Agent |
专题 06 · 课堂实作
JSON 合法只能证明模型会输出格式;策略校验、执行状态和恢复记录才支撑部署判断。
专题 06 · 风险与报告
专题 06 · 问题框架
模型可以生成工具调用 JSON,但执行权在应用层:schema validator、policy check、confirm gate 和 executor 都要能拒绝调用;local API 只是入口。
专题 06 · 核心概念
专题 06 · 证据图表
| 门槛 | 保存字段 | 失败写法 |
|---|---|---|
| 模型意图 | tool name、args、reason | 不需要工具时返回普通回答 |
| Schema gate | schema result、missing/conflict fields | 拒绝调用或要求重试 |
| Policy / confirm | policy result、confirm flag、deny reason | 阻断、人工确认或 fallback |
| Executor result | status、error、observation、trace id | 失败恢复,不把 error 写成成功 |
专题 06 · 课堂实作
没有 validator、policy、executor 和 trace 时,只能写接入条件,不能写可部署 Agent。
专题 06 · 风险与报告
专题 06 · 问题框架
端云协同不是“本地不行就上云”;每条请求先判定敏感级别、任务复杂度、工具风险和网络状态,再选择 local、cloud fallback、人工确认或拒绝。
专题 06 · 核心概念
专题 06 · 证据图表
| 任务类型 | 默认路径 | 证据字段 |
|---|---|---|
| 固定格式抽取 | 本地 SLM | output schema、通过率、latency |
| 本地日志摘要 | 本地优先,脱敏后兜底 | sensitivity、redaction、upload_allowed |
| 工具参数生成 | 本地生成,应用层校验 | schema result、policy result、confirm flag |
| 长文复杂推理 | 云端候选或受限回答 | context length、fallback reason、authorization |
| 设备控制 | 只读或建议,动作需确认 | tool level、rollback、trace id |
专题 06 · 课堂实作
没有 privacy gate、能力边界、授权记录和 fallback trace 时,只能写概念路线图。
专题 06 · 风险与报告
专题 06 · 问题框架
传统视觉、小型 LLM、VLM 和 Agent 的瓶颈不一样;最后复盘先写目标、workload、瓶颈和证据,再判断量化、runtime、架构或权限是否真的解决问题。
专题 06 · 核心概念
专题 06 · 证据图表
| 案例 | 先定位 | 证据 | 下一步 |
|---|---|---|---|
| 传统视觉 | 输入 / 算子 / delegate | accuracy、latency、fallback log | 换 runtime 或补校准 |
| 小型 LLM | 权重 / KV / runtime / API | Q8/Q5/Q4、pp/tg、质量样例 | 回退量化或调参数 |
| VLM | 图像 / visual token / projector | 输入图、组件耗时、失败标签 | 先减输入或改架构 |
| Hybrid Agent | 权限 / 状态 / fallback | schema、policy、trace、恢复动作 | 补策略或只写路线图 |
专题 06 · 课堂实作
目标进第 1 节,条件进第 2-6 节,失败和判断进第 7-8 节。
专题 06 · 风险与报告
专题 06 · 问题框架
今天不是以 demo 跑通结束,而是以端侧部署评估报告结束;每个推荐、不推荐和继续验证都要指向命令、参数、日志、输出样例或失败记录。
专题 06 · 核心概念
专题 06 · 证据图表
| 报告模块 | 必须有的证据 | 不合格信号 |
|---|---|---|
| 1-2 场景与环境 | 目标设备、任务、模型来源、环境快照 | 只写“端侧部署” |
| 3-4 baseline 与量化 | Q8/Q5/Q4 同源、同 prompt、同 runtime | 变量混在一起 |
| 5-6 runtime 与 API | CLI、bench、server log、请求和响应 | 只给 tokens/s |
| 7-8 风险与建议 | 失败样例、fallback、推荐/回退/不推荐 | 只展示成功 |
| 9 附录 | 命令、日志路径、表格、失败样例 | 找不到原始证据 |
专题 06 · 课堂实作
没有记录的“感觉更快”不作为结论;缺字段写未记录,不靠回忆补数字。
专题 06 · 风险与报告
附录 · 扩展参考 · 241-288
用 tinyML Foundation、HarvardX/TinyML、MIT 6.5940、MLSys 公开课程补强设备、runtime、传感器和系统复盘视角。
扩展参考 · 核心概念
扩展参考 · 证据图表
扩展参考 · 核心概念
扩展参考 · 证据图表
扩展参考 · 证据图表
| 维度 | Microprocessor | Microcontroller |
|---|---|---|
| 系统 | OS、外设、外部内存 | 裸机/RTOS、片上外设 |
| 资源 | MB-GB 级内存,可能有 GPU | KB-MB 级内存,实时/DSP 能力 |
| 部署路线 | PC/Jetson/手机路线 | IoT/传感器/低功耗路线 |
扩展参考 · 核心概念
扩展参考 · 核心概念
扩展参考 · 证据图表
| 场景 | 典型任务 | 对本课的启发 |
|---|---|---|
| Healthcare | 异常/疾病/睡眠检测 | 隐私和长稳测试 |
| Agriculture | 土壤、病虫害、产量 | 低功耗和弱网 |
| Industrial | 预测维护、过程控制 | 传感器、边缘网关、报警 |
| Transport/Retail | 驾驶监控、自动结账 | 实时性和风险控制 |
扩展参考 · 证据图表
扩展参考 · 证据图表
扩展参考 · 核心概念
扩展参考 · 证据图表
扩展参考 · 证据图表
| 资源 | 课堂讲法 | 报告字段 |
|---|---|---|
| Compute | CPU/DSP/NPU 是否够用 | latency, throughput |
| Memory | RAM / tensor arena / KV cache | peak memory |
| Storage | Flash / model file / binary | model size, binary size |
扩展参考 · 核心概念
扩展参考 · 证据图表
扩展参考 · 证据图表
扩展参考 · 核心概念
扩展参考 · 核心概念
扩展参考 · 核心概念
扩展参考 · 证据图表
扩展参考 · 证据图表
扩展参考 · 证据图表
| 字段 | 示例 | 报告字段 |
|---|---|---|
| Clock | MHz / GHz | CPU/GPU/NPU capability |
| Memory | Flash / RAM | model + runtime + cache |
| Sensors | Mic / IMU / Camera | input modality |
| Radio | BLE / Wi-Fi / LoRa | 端云协同边界 |
扩展参考 · 核心概念
扩展参考 · 核心概念
扩展参考 · 证据图表
扩展参考 · 核心概念
扩展参考 · 核心概念
扩展参考 · 证据图表
扩展参考 · 核心概念
扩展参考 · 风险与报告
扩展参考 · 风险与报告
扩展参考 · 风险与报告
扩展参考 · 核心概念
扩展参考 · 核心概念
扩展参考 · 核心概念
扩展参考 · 核心概念
扩展参考 · 证据图表
| 做法 | 参考课件表现 | 课堂作用 |
|---|---|---|
| 短标题 | 一页只讲一个动作或问题 | 减少满屏 bullet |
| 重复框架 | 挑战/例子/流程反复出现 | 每专题固定讲授节奏 |
| 真实图表 | 硬件表、流程图、系统图很多 | 使用设备表和日志表 |
| 项目导向 | 部署、监控、责任问题贯穿 | 每段回到报告字段 |
扩展参考 · 证据图表
| 材料 | 本地文件 | 用途 |
|---|---|---|
| HarvardX selected slides | research/course-ppt/harvardx-tinyml-selected/ | TinyML 设备/runtime/隐私监控 |
| tinyML Foundation parsed deck | research/course-ppt/tinyml-foundation-peter-ing-quantization.md | TinyML 定义/用例/Edge Impulse 流程,补充页 280-287 |
| MIT 6.5940 decks | research/course-ppt/mit-65940-*.pdf | 课程节奏和 LLM/量化/部署结构 |
| MLSys 2024 Atom slides | research/course-ppt/mlsys-2024-*.pdf | 低比特 LLM serving |
tinyML Foundation · 扩展参考
tinyML Foundation · 扩展参考
tinyML Foundation · 扩展参考
| 路线 | 课堂讲法 | 部署影响 |
|---|---|---|
| Classical ML | 统计特征和较少参数 | 更容易解释和部署 |
| Deep Learning | 多层神经网络学习特征 | 算力、内存和数据需求更高 |
| 端侧取舍 | 用任务约束模型复杂度 | 不是越大越好 |
tinyML Foundation · 扩展参考
tinyML Foundation · 扩展参考
tinyML Foundation · 扩展参考
tinyML Foundation · 扩展参考
tinyML Foundation · 扩展参考
扩展参考 · 总结归纳