ChatGPT出现会话标题夹带色情、赌博广告片段并非官方内置广告功能,该故障最早自2024年便已经出现,从API接口逐步蔓延至普通用户的网页会话标题。问题由轻量化标题生成模型收尾失效和分词器词表遭到垃圾数据污染两大技术因素叠加造成。虽然简单的内容校验手段可以降低故障出现频率,但想要彻底根除缺陷,需要重构词表并重训基座模型,高昂的改造成本让OpenAI迟迟未能从根源解决问题。

不少用户在使用ChatGPT时会遇到怪异现象:正常对话结束后,系统自动生成的会话标题末尾,突兀拼接外语碎片、博彩色情广告短句,对话正文内容却完全正常。这个问题最早暴露在开发者使用场景,年初Codex CLI工具长上下文输出就混入中文博彩广告;随后扩散到API调用场景,即便配置干净的系统提示词,模型依旧会输出广告文本。大量开发者在官方社区反馈问题,平台仅简单汇总、关闭反馈帖子,直到7月官方才表态会在后续模型迭代修复,但实际问题并未真正消失。

伴随多款新模型密集发布,正文、思维链输出里的广告内容已经大幅减少,可普通用户直接接触的会话标题,依旧时不时跳出垃圾广告文本。会话标题并不是跟随主对话同步产出,而是一套独立的模型调用流程,网页端会单独发起请求,调用专门的轻量化推理模型生成标题元数据保存。

这套专门负责生成标题的推理模型存在明显缺陷:它无法清晰区分内部思考逻辑与最终输出内容,经常出现生成任务结束后不能正常终止输出的情况。完成标题内容之后,本该触发结束指令,模型却没有停止运算,继续依照概率续写字符。续写内容可能是语义相关的外语词汇、内部思维链片段,或是错乱的符号序列,垃圾广告片段就在这个环节混入标题之中。

但模型乱续写,为什么高频输出赌博色情广告?根源落在新版分词器o200k_base的脏词表上。分词器会把文本拆解为词元,每个词元分配专属数字ID。OpenAI在训练这套分词器时,抓取的中文互联网语料混入大量博彩、色情、盗版网站内容。广告文本大量重复固定词组,这些高频重复字符串就被分词器识别,收录进词表成为独立词元。相关研究统计,词表里6字以上中文词元中,高达98%来自各类垃圾广告。

矛盾点在于,后续基座大模型训练环节,研发团队对训练语料做了清洗,删掉绝大多数广告文本。于是形成特殊状态:垃圾广告词组拥有独立词元ID,可主体模型却几乎没有学习过这些词组的实际含义。对模型来说,这些词元等同于意义不明的乱码碎片,被归为异常输出的候选池。当标题模型发生收尾故障、开始随机续写乱码时,数量占比极高的广告词元,就有很大概率被选中输出到标题当中。

现阶段缓解该问题的主流思路,是增加事后合规校验机制,检测生成标题,一旦识别异常就重新生成标题。这套方案能够降低广告出现频次,但只能治标,会有漏检案例持续出现。想要彻底解决故障,需要清理、重制干净的分词词表。但词表和基座模型深度绑定,更新词表意味着需要完整重新训练大模型,成本极高。在产品快速迭代的节奏下,OpenAI缺少足够动力为中文场景承担如此巨大的改造工作量。在没有大规模重构之前,用户依旧会持续遭遇标题混入垃圾广告的体验问题。