一只骑自行车的鹈鹕,为什么成了大模型测试题?
如果你最近关注大语言模型,可能会遇到一个听起来有些奇怪的词:“鹈鹕测试”(Pelican Test)。
它的测试方法简单得近乎玩笑:给一个大语言模型一句提示词——
“Generate an SVG of a pelican riding a bicycle.”
也就是:生成一张“鹈鹕骑自行车”的 SVG 图。
没有复杂数学题,没有几万道标准化试题,也没有专门的评分系统。模型只需要用代码“画”出一只正在骑自行车的鹈鹕。
但正是这样一个看似荒诞的任务,却意外成为观察大模型能力变化的有趣窗口。
鹈鹕测试从哪里来?
这个测试由开发者、AI 研究者 Simon Willison 在 2024 年提出。
当时,他想设计一个属于自己的大模型测试任务,于是选择了“鹈鹕骑自行车”。理由一方面很个人化——他喜欢鹈鹕;另一方面则非常实际:这种奇怪的组合在互联网上并不常见,因此模型不太容易单纯依靠记忆某张训练数据中的现成图片完成任务。
Willison 最初用同一句提示词测试了来自 OpenAI、Anthropic、Google 和 Meta 等公司的多个模型,并比较它们生成的 SVG。
后来,他不断用新模型重复这项实验,“鹈鹕骑自行车”也逐渐从一个带有玩笑性质的个人测试,变成 AI 社区中颇具辨识度的非正式 benchmark。
为什么偏偏是 SVG?
这里最关键的一点,是SVG 本质上是代码。
普通文本大模型本身并不是图像生成模型,它不能像绘画模型那样直接输出一张图片。但是,它可以生成 XML 格式的 SVG 代码,再由浏览器把这些代码渲染成图像。
因此,模型面对这个任务时,必须完成一系列转换:
它首先需要理解什么是鹈鹕,知道鹈鹕具有长嘴、喉囊、翅膀和鸟类身体结构;接着还需要理解自行车的结构,例如两个车轮、车架、车把、车座、曲柄和踏板;然后再进一步理解“骑”这个动作意味着什么——鹈鹕不能只是漂浮在自行车上,而应该坐在合理的位置,脚接近踏板,身体、车架和车轮之间也要形成符合常识的空间关系。
最后,模型还必须把这些概念转换成圆形、曲线、路径、坐标和图层关系,写成能够正确运行的 SVG。
于是,一句十几个单词的提示词,实际上同时涉及了知识理解、代码生成、几何构造、空间关系和概念组合。
Willison 后来总结这一测试时也指出,自行车本身就是一个非常难画准确的物体,而文本模型只能借助代码来完成绘图,这恰好使它成为一个颇有挑战性的测试。
真正难的不是“画出来”,而是“关系正确”
评价鹈鹕测试时,一个常见误区是只看图片漂不漂亮。
实际上,更值得观察的是其中的结构关系。
例如,一个模型可能画出了非常漂亮的鹈鹕,也画出了两个精致的车轮,但鹈鹕却悬浮在自行车上;另一个模型可能画出了完整车架,却把踏板、腿和车轮连接到了不可能的位置。
这些错误反映出的并不只是“绘画水平”。
模型需要理解:
-
两个轮子的尺寸和位置应该协调;
-
自行车车架应该形成合理的机械结构;
-
鹈鹕应该位于车座上方;
-
翅膀或身体需要与车把形成合理关系;
-
腿和脚应该与踏板存在对应关系;
-
各个物体前后遮挡关系不能完全混乱。
也就是说,模型不能只知道“鹈鹕是什么”和“自行车是什么”,还需要把两个原本几乎不会同时出现的概念,组合成一个新的、内部关系自洽的场景。
这也是鹈鹕测试最有意思的地方。
它为什么比普通排行榜更直观?
传统 AI benchmark 往往最终得到一个
- 点赞
- 收藏
- 关注作者
评论(0)