603. LLM Prompt Recovery | llm-prompt-recovery
通过一些比较,我们注意到排行榜上的提示词可能是以特定方式由LLM生成的。
我们使用不同的LLM生成了输入样本,包括:
部分原始文本由LLM生成,部分来自公开可用的数据集。经过预处理后,我们的数据集约有50万条样本。
我们主要使用Roberta-base/RoBERTa-large模型来拟合T5-torch模型提示词的嵌入。使用的优化损失函数是SCS(余弦相似度损失)。
我们使用余弦相似度来检索与预测嵌入最相似的提示词。
我们还使用LLM(Mistral 7b模型)生成提示词作为候选提示词。
我们将不同的提示词以不同的排列方式进行连接,并选择与预测提示词嵌入最接近的连接方式。通过这种方法,可以进一步提高分数。
在观察T5编码句子的方式后,我们注意到T5总是会在句子末尾追加一个</s>标记。
我们怀疑由于平均池化过程,每个句子都会共享</s>标记的向量,如果我们在句子末尾追加更多这个特殊标记,应该能够提高句子之间的相似度。
经过一些实验,我们发现在句子末尾追加4个</s>可以将分数提高0.05。但在排行榜上我们没有获得这样的提升。我们从T5的TensorFlow版本实现中发现,T5-tf的分词器不把</s>视为特殊标记。
我们怀疑存在</s>的替代物,并通过一些实验发现lucrarea是我们正在寻找的标记。
我们还注意到,通过过度拟合数据集的分布可以获得更高的分数。如果主办方随机划分数据集,过度拟合带来的波动大约在-0.01到0.01之间。但最终,我们决定不对200个公开提示词进行过度拟合。