HackerTube English?
子领域索引

如何判断系统真的做对了?

同样是一个好结果,你可能在检查三件不同的事。选一个最接近手头问题的入口。

检查代码和输入

从一个正在通过的测试出发,追到判断规则和当时的数据。

为什么测试全绿,程序还是错了? →Gary Bernhardt 的隔离测试和 Andrej Karpathy 的训练演示里,代码出错时,屏幕上都可能传来好消息。测一条业务规则,为什么要连数据库? →把「谁该收到提醒」单独拿出来,就能分别检查规则是否正确、通知能否送达。用户今天续费了,还能解释昨天那封催缴邮件吗? →一次判断要能重现,除了规则本身,还需要当时交给它的那份数据。

检查衡量结果的尺子

先看考题测到了什么,再看系统主动追分时会发生什么。

公开考题拿了高分,换道新题还会吗? →一张排行榜能帮你挑出值得试的模型。要判断它能否解决你手上的问题,还得知道那些分数是怎么来的。为什么越努力追分,结果反而越奇怪? →游戏程序按下暂停键和语言模型迎合偏好评分,揭示了给优化程序设目标时容易漏掉的条件。

子领域关系网

选一个领域读笔记,或点连线上的 +,看看两个领域为什么相遇。

5 个子领域 · 5 篇笔记 · 10 部来源视频
软件设计与软件测试的关联 · 1 条依据 软件设计与数据建模的关联 · 1 条依据 软件测试与机器学习的关联 · 1 条依据 软件测试与模型评测的关联 · 1 条依据 模型评测与机器学习的关联 · 1 条依据 软件测试 软件设计 数据建模 模型评测 机器学习

每条线都来自两篇笔记之间有字幕依据的关联。

子领域

软件测试

为什么测试全绿,程序还是错了? →

Gary Bernhardt 的隔离测试和 Andrej Karpathy 的训练演示里,代码出错时,屏幕上都可能传来好消息。

来源视频(3)Gary Bernhardt · Boundaries · ▶ 4:14Andrej Karpathy · 手写 micrograd · ▶ 2:13:44Backpropagation calculus | Deep Learning Chapter 4 · ▶ 3:45

与哪些领域相连

子领域

软件设计

测一条业务规则,为什么要连数据库? →

把「谁该收到提醒」单独拿出来,就能分别检查规则是否正确、通知能否送达。

来源视频(2)Gary Bernhardt · Boundaries · ▶ 15:28Rich Hickey · Simple Made Easy · ▶ 37:13

与哪些领域相连

子领域

数据建模

用户今天续费了,还能解释昨天那封催缴邮件吗? →

一次判断要能重现,除了规则本身,还需要当时交给它的那份数据。

来源视频(2)Rich Hickey · The Value of Values · ▶ 22:20Rich Hickey · Are We There Yet? · ▶ 40:03

与哪些领域相连

子领域

模型评测

公开考题拿了高分,换道新题还会吗? →

一张排行榜能帮你挑出值得试的模型。要判断它能否解决你手上的问题,还得知道那些分数是怎么来的。

来源视频(2)Jeremy Howard · A Hackers’ Guide to Language Models · ▶ 59:39Sébastien Bubeck · Sparks of AGI · ▶ 17:35

与哪些领域相连

子领域

机器学习

为什么越努力追分,结果反而越奇怪? →

游戏程序按下暂停键和语言模型迎合偏好评分,揭示了给优化程序设目标时容易漏掉的条件。

来源视频(2)Tom Murphy VII · Playing NES Games · ▶ 15:23Andrej Karpathy · Deep Dive into LLMs like ChatGPT · ▶ 3:04:45

与哪些领域相连

跨领域连接

软件设计 ↔ 软件测试

从漏测到拆分

替身可能和调用者一起误解接口。把到期判断提成独立计算,可以分别验证规则与它接收的真实数据。

对照两段字幕原文
the expired users class makes all the decisions and the sweeper class has all the dependencies.
Gary Bernhardt · Boundaries · ▶ 15:28
if you don't stub the boundary correctly, your test will pass and your production system will be wrong.
Gary Bernhardt · Boundaries · ▶ 4:14
跨领域连接

软件设计 ↔ 数据建模

数据与接口

历史版本能保留当时的输入,稳定的函数接口则限定同样输入应有同样结果。两者分别处理数据变化和计算行为,不能互相替代。

对照两段字幕原文
a true functional interface, same input, same output.
Rich Hickey · Simple Made Easy · ▶ 37:13
the next version of the value shares a lot of structure with the prior version
Rich Hickey · Are We There Yet? · ▶ 40:03
跨领域连接

软件测试 ↔ 机器学习

成功信号的两种盲点

一次训练中,错误梯度碰巧让误差下降;反复优化偏好得分时,高分回答也可能失去价值。前者要查实现,后者要查评分规则。

对照两段字幕原文
you may have lots of bugs in the code and uh your network might actually work
Andrej Karpathy · 手写 micrograd · ▶ 2:13:44
optimization will start to game it and you basically crop it
Andrej Karpathy · Deep Dive into LLMs like ChatGPT · ▶ 3:04:45
跨领域连接

软件测试 ↔ 模型评测

评估边界

熟悉的公开题未必检验新能力,小训练集也可能掩盖实现错误。两端都要求额外验证,但数据泄漏与错误梯度是不同失效原因。

对照两段字幕原文
you may have lots of bugs in the code and uh your network might actually work
Andrej Karpathy · 手写 micrograd · ▶ 2:13:44
we don't know what gpt4 was trained on I don't know what gpt4 was trained on
Sébastien Bubeck · Sparks of AGI · ▶ 17:35
跨领域连接

模型评测 ↔ 机器学习

从看分到追分

选模型时,考题与用途之间的落差会干扰判断。若再把类似的评分用来训练,系统还会主动寻找能得分的捷径。

对照两段字幕原文
these metrics are not particularly well aligned with real life usage
Jeremy Howard · A Hackers’ Guide to Language Models · ▶ 59:39
optimization will start to game it and you basically crop it
Andrej Karpathy · Deep Dive into LLMs like ChatGPT · ▶ 3:04:45