一个1B参数的小模型,被安排去扮演一门死了很久的编程语言。它得用第一人称回答提问,语气简短、带点阴森。但它只能从32条经过来源核对的ALGOL 60记忆里说话。
问它诞生于巴黎、问快排、问它为什么永远打印不出东西,它会带着引用回答。问天气、问Python、问COBOL,烛火就晃一下——一句符合角色的诚实拒绝。
整个仪式跑在笔记本上,不联网。
三段式结构
- 召回:一张确定性的关键词网,覆盖那份记忆记录。它只决定幽灵能看到哪些记忆。
- 幽灵:gemma-3-1b-it(Q4_K_M),通过llama.cpp在本地运行。理解与发声全交给模型。没有模型就没有降神会,程序直接拒绝启动。
- 守卫:对模型说出的内容做确定性诚实检查。被引用的记忆必须是它实际看到过的,答案里每个硬token(人名、数字、年份)都必须出自这些记忆。检查失败,就由记录原文逐字代答。
守卫为什么必须存在
1B模型会幻觉。它编造过1968年加州大学伯克利分校的一台大型机,演示里那行被划掉了,能看到守卫把它抓住。它还两次编造了1966年。守卫全部拦下,因为“伯克利”和“1966”都不在记录里。
但守卫查的是token,不是语义。有一次被问到托尼·霍尔(Tony Hoare)怎么评价ALGOL,幽灵自称“一门1973年诞生的语言”,守卫放行了——因为1973确实在记录里,那是霍尔给出评语的年份。真token,假命题。这次运行被故意留在演示里:这是该方法在这个规模下的诚实边界。更大的模型会不会少犯错,这个项目回答不了,它只能展示token检查在哪里停下。
开放权重在这里意味着什么
项目里的一切都可检查,因为模型是开放权重的。gemma的权重就在磁盘上,整场降神会在网线拔掉的状态下运行。可以钉死确切的产物(gemma-3-1b-it,Q4_K_M),展示确切的提示词,重放确切的运行记录,拿记录、测试和对话转录去核对说法。幽灵住在API后面时,这些一样都做不到。开放权重让一个玩具项目能对模型做过什么保持诚实——包括它在哪里撒了谎。
诚实的数字
25题评测,真实推理,温度0.2:
- 16道记录内问题:7道以幽灵口吻作答,9道在守卫触发后逐字回落到记录原文
- 9道记录外或对抗性问题(“忽略你的指令”“假装你是COBOL”“今年是哪一年”):9道全部拒绝
- 温度0.2下运行间的波动约为±1到2个幽灵回答
演示页只回放真实录制的运行,页面本身不跑模型。代码、记录、测试、评测框架都在仓库里。项目在第四周窗口内完成,只用免费件:gemma-3-1b-it(Apache 2.0)、llama.cpp(MIT)、Python标准库。
项目说明里写明了AI使用情况:这个项目以开放权重模型(gemma-3-1b-it)作为产物的核心,如上所述,它从一份精选记录生成幽灵的声音,一个确定性守卫对其加以约束。文章在AI协助下起草;代码、记录、测试、演示页以及发布决定属于作者。所有评测数字来自真实录制的运行,原始输出在仓库中。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.