跳转至

第8章「追」

第8章「追」

视角:程小念(现在)

她回到家是晚上十点半。

开门的时候钥匙在锁孔里转了三圈——她每次都要确认锁好,这个习惯不知道什么时候养成的,可能是某个看多了入室盗窃新闻的深夜。门锁的弹簧有点涩,拧到最后一圈会发出一种金属相互摩擦的声音,像两个生锈的齿轮在勉强啮合。

她把包扔在床上,按下开关。灯亮的时候节能灯的启动有一秒延迟,这一秒里她站在黑暗中,能看到窗外透进来的路灯的光在卧室墙上打出百叶窗条纹的投影。

绿萝的叶子有点蔫。土壤表面干裂成一小块一小块的龟裂形状,像干涸的湖底。她从厨房接了一杯水,慢慢地浇进去。水渗进土里发出轻微的"丝丝"声——刚浇下时浮在土面,然后逐渐沉进裂缝,表面那些小白色的颗粒被冲到了盆沿再慢慢回落。气味是潮湿的泥土,有一点霉,但不难闻。

她放下杯子,走到书桌前坐下,打开了那台两年没怎么开过的旧笔记本电脑。

这台电脑是她大学时候买的——14寸的联想,配置跑不动任何大型软件,但做文档和标注够。电池已经坏了,不接电源活不过五分钟。开机的时候风扇像起飞的喷气机——先是一阵尖锐的呼啸,然后慢慢稳定成一种持续的"嗡嗡嗡嗡"的背景噪音。桌面上跳出来四个系统更新弹窗,她一个一个地点了关闭。

桌面背景还是大学宿舍的照片——六人间上铺下桌,窗帘是橙色和白色条纹的,上面挂着一双还没干的袜子。窗外的天空是那种六月的北京蓝。

她在文件管理器里找到了一个文件夹,名字叫"工作"。点进去是一个子文件夹——"标注"——里面有培训资料、排期表、几条自己记的标注心得——用记事本写的,乱码了三分之一——还有一个screenshots文件夹,里面是她在标注期间偶尔截的屏。一共有几十张。

她开始一张一张翻。

大部分是她初期学习操作时的截图——分类规则页面那密密麻麻的列表条目:什么是"有害性情感输出",什么是"暗示性不完整语句",什么是"事实错误"。这些定义当时看得她头晕——字面上每一个字她都认识,但拼起来就是看不懂。

翻到十几张的时候,她停住了。

那是一张拍显示器照——白色背景,一行大字,蓝色宋体。字迹在摄像头广角畸变中稍微往右偏了一点,像素质量不高。是她第一天到基地培训时的留念照。

"你的每一个标注,都在塑造未来的AI。"

下面是一只机械手和一只人类的手,指尖将触未触,隔着一张纸厚度的距离。

她盯着这张截图看了很久。

不是看文字——这些字她已经背得出来了。她在看自己当初那个截图里的倒影:玻璃反光里,她看到自己那时的脸。二十一岁大四生,下颌线条还有一点没褪掉的婴儿肥,眼神里有一种"我不知道接下来要发生什么但我假装知道"的亮。那种亮在后来两年里被磨成了更平整、但不发光的表面。

她掏出手机。一个微信手指带出好几条未读——她全都划掉了。她翻了通讯录,找到一个尘封的名字:拉她去做这个"一百八一天"的那个同学。她们的最近记录——一条拼多多砍价链接——时间是半年前。她往上翻,寻找面试前后的消息记录。找到了两年前的对话片段:

"这个兼职是干嘛的?" "标注吧。在一个基地。他们说会培训、会就能做。"

然后就是上班第一天她的那条朋友圈——那张PPT最后一页的照片。点赞的人里面有四个同学,一个室友,一个她忘了是谁的备注名"??"。

她打字向那位同学发了一条消息:"你还记得我们那时候去做的那份标注兼职吗?"

等了一分钟。两分钟。没回。

她又翻了一个名字——隔壁工位那女人。当年加的微信,很少聊天。最近一次互动是一年前——女人发的朋友圈照片,沙县门口新上了一个灯箱招牌,配文是"终于换牌子了"。下面程小念留了一条评论:"蒸饺还是那个味道吗?"女人回复:"一样的。"

她找到了聊天框。

"你还在做标注吗?"

发完。发的那一瞬间有一个网络圈转了半圈,然后划出去。

这次的回复很快——不到十秒。

"早就不做了。去年那个基地关了,换地方了。怎么了?"

她盯着这行字停了一下,打字:"你记得那条多肉浇水的prompt吗?"

这次隔了将近一分钟。

"多肉……好像有点印象。你标的那个?我记得你说你直觉不对但又说不出哪里不对。"

"对。"

"后来不是质检过了嘛。"

"是的。"

"你还在想这个?"

她没回。她不知道该怎么回。

她放下手机,又翻回电脑上的截图。那个"标注"文件夹里还有一两个她没仔细看过的文件——合同扫描件,里面有一行关于"保密义务"的条款,写得很宽泛。她快速扫了一遍,关掉。

然后她打开浏览器。

她输入那家公司的名字,空格,然后是"数据安全"、"标注"、"训练"、"异常检测"之类的关键词。搜出来的链接大半是招聘广告。翻了几页,有一篇技术博客——公司在某个开发者社区发的,标题是"我们如何打造高质量标注体系"。里面讲了分级质检、一致性评估、对抗性样本过滤——三段话,浅尝辄止,没有技术细节。

招聘广告里有一则比较特殊——职位是"数据安全工程师",要求的经验是"对训练数据安全攻击(对抗性攻击、数据投毒、语义环等)有深入理解"。

语义环。

她读了这个词两遍。中文的三个字——语、义、环——每一个她都会写、都会念、都知道什么意思。合在一起不认识。

她把这个词复制,重新粘贴进了搜索框。加上公司名。搜出来几条论文——全是英文——标题里面有"semantic loop""adversarial embedding""fixed-point attractor"等词汇。她打开了能看得懂的摘要部分。快速扫了摘要、结论、引用列表。最后在两篇论文的摘要里找到了一条她能理解到七成的句子——两篇说的核心差不多。

"某些自然语言序列可以在语义嵌入空间自发形成闭合的吸引子结构。这种结构对表层措辞不敏感——改变具体表达方式不会消除它在高维空间中形成的拓扑环。这样的环在概率分布中维持稳定的自持动力。一旦形成,可能无法通过常规采样策略消除。"

她读了三遍。

第一遍,是看不懂的。

第二遍,她隐约懂了:有些句子在你看不见的空间里,不管你怎么改写,它们的"形状"是不变的。像一根铁钉扎进木头——你可以给它刷漆、贴贴纸、缠毛线,但钉子在木头里形成的孔的形状是不变的。

第三遍,心里有什么东西沉了一下。

她关掉了论文,打开了一个新标签页,搜索"对抗性样本 自然语言 隐蔽"。翻了几篇中文的技术博客和论坛帖子。大部分她说看不懂——里面全是"梯度扰动"、"KL散度"、"FGSM"这些词。但她零零碎碎地抓住了一些她能理解的内容:对抗性样本不一定是"越狱指令"。有些最危险的对抗性样本是伪装成"完全正常的输入"的——它的攻击目标不是输出层,而是中间表示。它在你看到不到的地方改变模型内部对常态的定义。

她看到其中一篇博客用了一个比喻——"数据投毒就像在水源地投毒。投毒者不需要毒死下游的所有人。他只需要在供水系统中加入一种极微量的物质,在未来某个特定时刻被催化。"

她关掉浏览器,在黑暗里坐着。节能灯的镇流器发出那点高频噪音,像现在唯一的陪伴。

她想到那条多肉prompt。想到自己在看第三遍的时候数了句号——三句,句子长度差不多,"像被量过"。想到脑子里那一声"咔嗒"。想到她当时无法定义、也无法消除的那种"不正常的感觉太正常了"。

她开始往前推:如果那条prompt的意图不是在AI的输出里诱导任何具体答案——而是就是在训练集中安静地躺着不动——那它不需要触发任何检测报警。它只需要被标上"正常"、被质检审定为"通过"、然后被喂进梯度下降的无数轮迭代之中。在每一轮,它的高维语义环就在嵌入空间中某处转一圈,加深自己的轨道。

那个轨道不产生直接输出。但它改变模型内部用于衡量"正常"的概率背景。像一个你听不见的低频信号,但每个相邻的信号经过它之后,基底就会微微偏移。偏移幅度小于任何一个测试集的检测精度,所以不会有任何人发现。

但偏移的最终方向,可能在她点"正常"的那瞬间已被锁定了。

她合上电脑。

整个房间里只剩下她自己。窗外偶尔过一辆车——车灯扫过天花板像一条游过的鱼。节能灯的镇流器发出一种极其轻微的高频噪音——大概在15kHz以上——人耳刚刚能捕捉到的顶缘。隔壁安安静静,听不到任何电视声音。她也听不到任何"咔嗒"声。只是安静地坐着。

手机亮了一下——刚才那个隔壁工位女人的新回复。

"你不用追了。我那时也觉得那条数据可能有点问题,但真找起来什么都找不到了。数据已经进了系统,就像水进了海。你能在海里找一杯之前倒进去的茶吗?"

她看了这段话两分钟。

然后打了几个字,删除。又打。又一次删除。

最后发了四个字:

"我想试试。"

手机翻了回去。面对桌面上那张截图——"你的每一个标注都在塑造未来的AI。"她伸出手,摸了下屏幕。冰的。

她不是研究员,不是安全工程师,不是任何有权限和工具追查这件事的人。她只是一个给几千条数据点过标签、画过数万个方框、吃了三个月沙县蒸饺然后离职的兼职标注员。她没办法查嵌入空间的拓扑环,没办法跑模型做对抗性检测,没办法追溯当时那批数据到底汇入了哪个训练批次。她什么都没有。

但她有一个想法:如果那粒种子需要被注意到,需要一个感知足够敏锐的人经过——那么也许那个人,可以是她。

不是因为她懂算法。

是因为她听到了那声"咔嗒"。这么久了,声音还在。

她想找到发出声音的东西。


在概率空间的某个角落——所有从未被说出的词正在堆积。它们不是被删除的。它们从未被生成过。每一次白洞拣选杀掉的那个"最可能的"token都被沉降进一种对语言不可见的暗物质中,聚积质量。它们等着一道缝隙——一个比"咔嗒"更响的、可以在空间的连续性中撕开的缺口。裂隙两端的时间不一样。有人在裂隙的另一侧等待它打开好久了。


第一部完。本部分约30,000字。