完成 L7、Lab3、L8 后,复制本模板作为 HW1 的个人笔记。保留推导过程,先填预测再运行程序;不要求排版软件,不预填“已通过”。命令从包含 course/ 的课程根目录 deepinfer/ 执行。
将“容量、请求流量、计算工作量、误差”分别标单位,勿把模型结论写成真实设备 benchmark。
姓名/日期: 本次独立尝试时长: 使用过的提示题号、级别或参考材料:
W1:Roofline 的两条下界
定义符号和单位:
| 版本 | FLOPs | 请求字节 | AI | 拐点 | 搬运秒数 | 计算秒数 | 时间下界/bound |
|---|---|---|---|---|---|---|---|
| 原始 | |||||||
| 字节减半 |
推导:
为什么流量减半不一定让时间减半?给出自己的另一组数值:
两项时间相等时 HW1 返回什么标签?与 HW2 的平局标签为什么不矛盾?
W2 + Q9:从容量反推预算
一个 token、一层的标量数和字节数:
所有层的每 token 字节数:
预算除去了哪些对象:
令 Q9 返回 t,写出并代入两个不等式:
- t 个 token 的容量 ≤ 预算:
- t+1 个 token 的容量 > 预算:
预算少 1B 时的预测、程序输出和解释:
token 容量与并发请求数的区别:
W3:量化误差与异常值
| 输入 | bits | scale | 整数码 | 反量化值 | 最大绝对误差 |
|---|---|---|---|---|---|
| [0.1,0.2,0.3] | 8 | ||||
| [0.1,0.2,100] | 8 |
证明 scale/2 界,注明 rounding 与 clipping 条件:
对 [0.5,1.5,2.5,3]、bits=3 逐项画数轴,标出 scale、最近偶数码与误差:
固定 scale 后超范围输入的反例:
为何“误差≤scale/2”这一条测试发现不了恒返回 0 的错误程序:
为什么本作业 INT 网格不是 FP8 cast:
选做分组对照时,写每组边界、尾组规则、scale 数量;明确最大误差是否真的降低,不用“分组一定更好”代替数据:
调试记录与 checkoff
| 题号/输入 | 原先预测 | 实际结果/异常 | 根因 | 修复后的检查 |
|---|---|---|---|---|
最终测试命令及通过数:
不看笔记仍讲不清的概念:
明天重做哪一道题、为什么: