-
Notifications
You must be signed in to change notification settings - Fork 37
Expand file tree
/
Copy pathquiz.json
More file actions
78 lines (78 loc) · 3.52 KB
/
Copy pathquiz.json
File metadata and controls
78 lines (78 loc) · 3.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
{
"lesson": "49-lm-eval-harness",
"title": "顶点课 49 —— 语言模型评测框架",
"questions": [
{
"stage": "pre",
"question": "在评测框架的 JSONL 格式中,定义一个 task example 的四个字段是什么?",
"options": [
"name, score, payload, vendor",
"id, prompt, targets, metric,以及一个可选的 extras 字典用于放指标需要的附加数据。",
"input 和 output",
"weights 和 bias"
],
"correct": 1,
"explanation": "JSONL 行就是契约。extras 字段让 code_exec 指标可以传 io_pairs 而不污染 prompt。"
},
{
"stage": "pre",
"question": "为什么 metric 函数签名是 (prediction, targets, extras) -> float?",
"options": [
"随意选择。",
"这是能同时处理单 target 字符串匹配、多 reference rouge-l 和带附加数据的 code_exec 的最小签名,同时保持分数在可比较的 [0.0, 1.0] 范围内。",
"它返回的是整数。",
"它需要 model 对象。"
],
"correct": 1,
"explanation": "[0,1] 范围内的浮点数意味着 per-task 和 overall 分数都是可解释的平均值。extras 槽位是 code_exec 获取 io_pairs 的方式。"
},
{
"stage": "check",
"question": "code_exec 指标如何防御恶意预测?",
"options": [
"它没有防御。",
"它在一个剥离了 __builtins__ 的命名空间里运行预测,只暴露少数安全名称;import 语句会失败因为 importer 不在作用域内。",
"它使用沙箱容器。",
"它拒绝任何包含 def 的内容。"
],
"correct": 1,
"explanation": "这节课的安全命名空间把 builtins 削减到少数几个名称。测试断言 import os 返回分数 0.0 而不是被执行。"
},
{
"stage": "check",
"question": "Model adapter 抽象带来了什么好处?",
"options": [
"没有好处。",
"它是框架中唯一与模型相关的代码;换一个 adapter 指向新的供应商,task、metric、runner 和排行榜格式全都不用动。",
"它让模型更快。",
"torch 要求它。"
],
"correct": 1,
"explanation": "课程里的 ToyAdapter 是一个确定性的模式匹配器。一个面向真实供应商的 HttpAdapter 有同样的 generate(prompts) -> list[str] 接口。"
},
{
"stage": "check",
"question": "为什么排行榜 JSON 带一个类似 leaderboard.v1 的 schema 字符串?",
"options": [
"为了 SEO。",
"这样未来格式变更时升级版本号,下游 dashboard 可以据此分发处理逻辑而不是静默出错。",
"随意的。",
"压缩文件用。"
],
"correct": 1,
"explanation": "跟第 47 课 checkpoint payload 一样的套路。Schema 字段就是迁移钩子。"
},
{
"stage": "post",
"question": "看排行榜,overall_score 怎么算的?比较两次 run 时要注意什么?",
"options": [
"正确数求和。",
"Per-task 分数(各在 [0,1])取平均;比较时还要 diff 分数变动的 task 的 per-example 预测,因为光看分数会掩盖到底哪些样例退步了。",
"取最好的 task 分数。",
"随机采样。"
],
"correct": 1,
"explanation": "Per-task mean 的 mean 让每个 task 权重相等。用 --include-per-example 把预测级别的证据放在分数旁边,这样退步就看得到了。"
}
]
}