从补全到对话
大模型的本质是补全,
那如果我伪造一段聊天记录让它补全呢?
你不是只会一个一个字往后吐吗?
那我就构造一个格式:「这是一段没写完的聊天记录,你来续写助理的部分。」
第一步
拼出一段「假的聊天记录」:
用户发了什么,然后助理那一栏故意留空
用户发了什么,然后助理那一栏故意留空
第一轮:模型看到什么?补了什么?
用户:紫霞仙子是谁?
助理:
助理:
↓ 模型从「助理:」后面开始补全
助理补出来:
第二步
把整段文字喂给 Base 模型,
它只会做一件事:从结尾处开始补全
它只会做一件事:从结尾处开始补全
第三步
用户再说一句话,就把「上一轮回答 + 新问题」
重新拼成更长的待补全文本,继续送给模型
重新拼成更长的待补全文本,继续送给模型
第二轮:用户再说一句,把第一轮答案拼进去继续送
助理补出来:
诶,你别说,大模型补得有模有样!!!
等一下——它是「推」出来的吗?
再看一眼第二轮的原文:上一句只说了「至尊宝最深爱的人是紫霞仙子」, 压根没说紫霞爱谁。严格按字面推,「她爱的人是谁」这一问答不出来。
模型敢这么补,是因为它在训练语料里见过这个故事无数遍。这不是推理,是 把最常一起出现的话接下去。补得像和想明白了是两回事—— 顺着这条缝往下走,就是后面「幻觉」那一节。