这没有什么好奇怪的,你只是遇到了「 SolidGoldMagikarp 」现象,或称「幽灵 Token 现象」。详情可以参考这篇文章:
https://www.lesswrong.com/posts/aPeJE8bSo6rAFoLqg/solidgoldmagikarp-plus-prompt-generation简单来说,4o 的词表训练的时候,用了大量网路爬虫资讯,其中囊括了大量受污染的词汇,这些词汇出现多了之后,出现次数较多的词组就会被固定在分词模型中。但是在训练的时候,用的则是另一批中文语料,或者这些受污染的词汇网页被清洗了,所以这些 token 没有被充分训练,模型对这些 token 相当陌生,只能大概直到它和某些娱乐、信息、网站相关,所以回复就会比较随机,有时能碰对,有时回复又会天马行空。
用个形象的比喻来说,在大语言模型眼里,幽灵 Token 相当于汉字使用者看到这句话:「介绍一下熕粐彁粫椦恷妛」
但是你只要往这些 token 字符中间加入一个空格,就可以将这个幽灵 Token 破坏为两个普通 Token ,这个时候,模型就能看懂你的输入了。比如原问题是「介绍一下中国福利彩票天天」,你替换为「介绍一下中国福利 彩票天天」,或者「介绍一下中国 福利彩票天天」,结果就会不一样。