语义熵的核心思想相当巧妙:与其死盯着模型输出的文本,不如去测量它回答问题时的那份“底气”。
传统方法检测幻觉,靠的是“熵”。原理很简单:如果同一个问题,模型生成多个答案,每个答案用的词句都五花八门、差别巨大(也就是高熵),那就说明它心里没底。但这个办法有个致命短板——如果模型用了不同的句子,说的却是同一个意思呢?比如“巴黎是法国首都”、“法国的首都是巴黎”和“Paris is the capital of France”。传统熵会被这些不同的词句迷惑,错误地判定为“不确定”。
语义熵正是为解决这个问题而来。它不再比较词句,而是直接比较语义。具体来说,就是把所有意思相同的回答归入同一个“语义簇”,然后再计算模型生成不同“语义簇”的概率分布。
研究团队开发了一套基于统计学的方法:将大语言模型产生的词元级概率,转化为“语义概率”——也就是在意义空间中的概率。而转化过程中用到的“翻译官”,恰恰就是大语言模型自己。
原理直白:如果模型对同一个问题反复生成语义上完全不同的答案(高语义熵),那它大概率在胡编,也就是“心里没底”;反过来,如果每次生成的答案语义高度一致(低语义熵),说明它对这部分知识“胸有成竹”。
研究团队把这类问题专门定义为“confabulations”——模型每次被问到同一问题时,给出不同答案的任意且错误的生成。
语义熵最大的实用价值,在于它把AI的“不确定性”变成了一个可测量、可计算、可干预的指标。
在医疗问答、法律咨询、金融分析这类高风险场景里,知道AI“不知道什么”,有时候比知道AI“知道什么”更为关键。正如Farquhar博士所说:“我们的方法本质上是在意义空间中估计概率,即‘语义概率’。吸引人之处在于,它利用大语言模型自己完成这种转换。”
*参考文献:Farquhar, S., Kossen, J., Kuhn, L. & Gal, Y. (2024). Detecting hallucinations in large language models using semantic entropy. Nature, 630(8017), 625-630。*