关羽会点穴,宋江字武松,八戒黛玉结拜兄弟……你觉得还算逗吧;可要这毛病要是出现在严肃的专业领域呢?一则胡编的安眠药服用指南?一条杜撰的恐怖袭击新闻?(是的,这些例子都曾真的出现过)
懵……丨giphy
大模型满嘴跑火车(应该是“满屏”?),这有个学名,叫“幻觉(hallucination)”。
“幻觉”不是ai的专利——鲁迅没说过
作为人类,挺容易理解这个词:年入千万迎娶白富美;别人问身高永远一米九;对面工位的小姐姐总冲着你飞眼儿……(我有一个朋友,他就经常出现这些幻觉)
基本上,ai的幻觉和人的幻觉成因差不多,无非:
1. 本性流露
2. 不懂装懂
3. 自我认知偏差
4. 喝多了
喝多了最容易理解……丨giphy
“您丫贵姓?”
一个普遍的共识是:“幻觉”来自(至少是这一代)大模型原理本身。
想象你有一个从未接受过中文学习的朋友,没有人和资料为他解释任何词义和背景——哥们唯一认知中文的方法就是不借助任何意义的生硬模仿和自我猜测。
有一天,闲得难受的你去挑战这个哥们:请你用一句地道的老北京话来跟我打招呼问好。(是不是很像你平日里调戏大模型聊天机器的嘴脸?)
于是,这哥们开始了认真的计算和思索:首先,老北京是吧,打招呼得用“您”开头,客气嘛;然后他开始满脑子搜索遇到的胡同大爷语录,既然不知道意义,就从“打招呼”这个场景下随机找一个吧,在“吃了么您内?”和“溜达去啊?”等等之中,他选择了“贵姓”,简短而有节奏感;这时候反过来再读一遍,似乎差点什么能加强语气、显得更自然的东西,那就在“您”后面润色个“丫”吧,他谦卑又得意地想到,“我在大街上经常听他们这么说”,肯定地道!
再于是……
这个打挨得不冤丨giphy
基本可以这么粗暴地理解大模型生成自然语言的原理:按照被训练数据集,权衡概率和各种场景(通常由你提问中击中的提示词来决定),一个接一个的猜字(没错,就是你看到的各种gpt对话框里一个一个蹦字的样子),同步也会有一些交叉比对和优化——ai们并不真的“懂”文字背后的意义,它们只是模仿。
因此,“幻觉”就是这一代大模型不可分的一部分。被称为“ai三巨头”之一的meta首席科学家yann lecun就曾说过“‘幻觉’可能是大语言模型的固有特性……它们没有真实世界的经历,而这才正是语言的根基……”
换而言之,很多人会将“幻觉”与“创造性”当作当前大模型的一体双面。
“大明白”们错在了哪?
最著名的“大明白”,只不过人家是真明白丨giphy
在一些关于大模型“幻觉”问题的论文当中,普遍会将“幻觉”划分为“信息冲突(intrinsic hallucination)”和“无中生有(extrinsic hallucination)”两类——根据腾讯混元大模型相关技术负责人的介绍:一种可以理解为“有源”,就是大模型输出的东西和你输入给他的信息不符;另一种可理解为“无源”,就是大模型编造了一些和事实不符、和现实世界不符的胡话。
这里面,导致“大明白”养成的,主要集中在了训练集里的“数据清洗”,以及一个名为“对齐(alignment)”的环节。
还是说回你那位不懂中文、刚被你一顿暴锤的朋友。他终于学会了中文,代价除了鼻青脸肿,还有多了个“信心爆棚”新毛病。他开始喜欢跟你用流利的中文吹虚自己的博学,各种知识信手拈来,你问他什么他都懂,从二战风云到隋唐演义,从室温超导到抗癌新药……直到你发现,他的这些知识都来自于各种社交媒体短视频和相亲相爱一家群。