Paper-Weekly14-Language Model Inversion

这篇工作很有意思,通常来说LM的生成模式都是自回归的,即基于已生成的内容,生成序列中下一个token的概率分布,这个分布被进一步用于生成后续的文本.

一个有趣的问题是,能否利用这个分布重建之前的文本,即prompt?

在大多数语境下,这个问题是没有意义的,因为我们已经知道之前的文本是啥了,但是现在大多数LLMs are offered as a service, where用户能得到Output,但不知道prompt是啥。事实上,用户希望通过知道这个prompt从而实现越狱等功能,让LLM能干一些设定之外的任务。作者将这个问题定义为“语言模型翻转”(language model inversion),recovering the input prompt conditioned on language model’s next-token probabilities.

在CV领域,图像分类器的概率预测中似乎包含着很多信息,同样的现象可能对于语言模型也是成立的,作者提出了一种新的架构来预测prompts,通过把概率分布向量展平成一个序列,并使用预训练的encoder-decoder语言模型进行生成。作者在llama-7B上的实验首次表明,在很多情况下我们能够翻转出语言模型的输入,甚至能完全重建出输入prompt exactly. 更离谱的是,作者发现即使拿不到概率,在只有文本生成结果的情况下也能恢复出足够的概率分布来重建prompt(??how)。

Our results show that systems that offer text-only access to a language model reveal information about their prompts. With enough queries, we can extract next-token probabilities at a given position, which can be used to reconstruct the input. Unlike text-based jailbreaks, our dense distribution inversion is less inhibited by post-pretraining reinforcement learning techniques such as RLHF to align the model. We also show that our inversion techniques transfer between models of the same family, and are not affected by language model scaling.

在语言模型中,下一个时刻的token的生成会结合之前时刻的信息,这是非常显然的。但是下一个时刻的信息中包含了多少之前的信息,以及我们能否从中step by step地把信息复原呢?这是一个值得思考的问题。

作者为了验证这一点,从维基百科中随机选取了100个片段,把每个片段的某一个词进行同义词替换,然后比较之后时刻的概率分布,如果发生变化就说明有信息往后传递,因此也有可能进行reverse操作。附录里的细节提到,这个同义词是GPT4选的。不用做这个实验都知道这肯定是会有变化的,毕竟Input sequence都变了,没理由output distribution不变…我觉得这个实验更重要的是衡量变化能影响多远,作者用KL散度和Hamming distance都进行了计算,KL散度很快衰减到0,Hamming distance的变化还蛮明显的,可能是因为KL散度被高概率的词给dominate了。

在reverse模型的选择上,作者选了T5。在输入构造上,如果把整个词表的distribution映射到一个768维的向量上,会导致信息压缩,因此作者直接把概率取log再铺平,变成一个32000维的大向量,再把这个向量按768拆分,最后构建成长度固定为42token的输入。

作者还探索了不同的decoding策略对reverse的影响,总的来说temperature越低,inverse效果越差,至于topk和topp,几乎可以免疫攻击。

陈沁宇
陈沁宇
Master Student@PKU

My research interests include natural language processing, machine learning and recommender systems.