← 随机比特 / 所有内容

guppylm tiny llm

2026-04-07 · 随机比特

会用 AI 的人越来越多,为什么真正懂 AI 的人反而越来越少?

你每天用 AI 写代码、做总结、查资料。它越来越好用,你越来越离不开。

但有一天它给了一个错答案。你想搞清楚为什么错了——然后发现,你完全不知道从哪里下手。

这不是你一个人的问题。

今天关于 AI 的教程很多,演示很多,接 API 的项目更多。但你真问一句:上下文窗口满了会怎样?人格从哪来的?分词器到底在干什么?大多数人答不完整。

不是因为不聪明,而是因为工具进化得太快了。你刚学会一个接口,新的范式又来了。

这两天 Hacker News 上最火的项目,戳的就是这个问题。

它不是一个更大、更贵的模型。而是一条鱼。

一条 870 万参数的鱼

它叫 GuppyLM,只有 870 万参数。6 层 transformer,词表 4096,上下文窗口 128 token。作者故意不用任何新技术,就做一个最朴素的结构。

它只会聊水温、食物、气泡和灯光。多聊几轮就开始失忆。按能力看,它几乎什么都做不了。

但它在 HN 拿了 814 分。

因为大模型把一切都藏起来了,而这条鱼把一切都摊开给你看。

训练数据是 6 万条合成对话,用模板拼出来的——60 个模板,30 个鱼缸物体,17 种食物,25 种活动,组合出约 1.6 万种输出。它不是靠大力出奇迹,而是先把世界缩小到鱼能感知的范围,再把表达缩短到全小写、全短句。

Colab 上挂一张 T4,5 分钟训练完。导出量化 ONNX,浏览器下载 10MB,就能本地跑。

代码三个文件:模型定义、训练、推理。一晚上能从头读到尾。

<!-- diagram:compare -->

大模型藏起来的东西,它全摆在台面上

GuppyLM 有意思的地方不在于小,而在于它让你第一次"看见"平时看不见的东西。

比如人格。今天大家习惯了 system prompt,好像模型先是空壳,再被提示词塑形。但 GuppyLM 反着来——870 万参数太小,没法稳定遵循条件指令。所以作者干脆不放 system prompt,把"鱼的性格"直接烤进权重里。

这一下你会明白:所谓人格,很多时候不是"说给模型听",而是"反复喂给模型看"。

再比如上下文窗口。多轮对话到第 3、4 轮就开始掉质量。原因没有任何玄学,就是 128 token 太短了。作者很坦率:“会失忆的鱼还算贴人设,乱码就不行了。”

HN 评论区有人用全大写说 HELLO。它回了一句:“i don’t know what it means but it’s mine.” 大写字母对它的分词器来说几乎是陌生 token。平时你说"分词器决定了模型先看到什么",很多人没感觉。现在一条鱼当场犯傻,你一下就懂了。

每个限制都看得见,每个失败都能追到具体部件——数据分布、上下文长度、词表覆盖、参数容量。

开车的人越来越多,会修发动机的人越来越少

HN 有条评论说得好:这类项目很像 Minix 之于操作系统教学。不是为了上线赚钱,而是为了让学生敢拆、敢改、敢亲手加能力。

这说中了一个正在发生的问题。

你越依赖 AI,越可能在关键时刻不知道它为什么错。平时它很好用。一旦要调试、评估、设边界,你就只能把判断外包给另一个更强的模型。

一个领域如果只奖励"更强",不奖励"更可理解",最后就会变成这样:开车的人越来越多,会修发动机的人越来越少。多数人能踩油门,少数人才知道车为什么会突然抛锚。

GuppyLM 没法替代任何大模型。但它做了一件更基础的事——把 transformer 从一种神秘能力,拉回成你能拆开的工程对象。

理解力本身也是基础设施。 如果入门者只能消费黑箱,AI 普及得越快,真正能掌握它的人就越少。

这条鱼什么都做不了。但它能让你第一次看见,自己以前并没有真的懂。

你更在意 AI 好用,还是你能讲清它怎么工作?欢迎留言聊聊。

数据来源:GuppyLM GitHubHacker News 讨论