返回列表

5th place solution

603. LLM Prompt Recovery | llm-prompt-recovery

开始: 2024-02-27 结束: 2024-04-16 AIGC与多模态 数据算法赛
```html 第五名解决方案 - LLM提示词恢复
比赛排名:第5名
作者:yuanzhe zhou, zengzhy5, Dmitry Abulkhanov
发布日期:2024-04-30

简短摘要

数据生成

通过一些比较,我们注意到排行榜上的提示词可能是以特定方式由LLM生成的。

我们使用不同的LLM生成了输入样本,包括:

  1. Gemma-7b-it
  2. Gemma-2b-it
  3. deepseek
  4. Chatgpt4

部分原始文本由LLM生成,部分来自公开可用的数据集。经过预处理后,我们的数据集约有50万条样本。

召回

我们主要使用Roberta-base/RoBERTa-large模型来拟合T5-torch模型提示词的嵌入。使用的优化损失函数是SCS(余弦相似度损失)。

我们使用余弦相似度来检索与预测嵌入最相似的提示词。

LLM恢复

我们还使用LLM(Mistral 7b模型)生成提示词作为候选提示词。

重排序

我们将不同的提示词以不同的排列方式进行连接,并选择与预测提示词嵌入最接近的连接方式。通过这种方法,可以进一步提高分数。

后缀

在观察T5编码句子的方式后,我们注意到T5总是会在句子末尾追加一个</s>标记。

我们怀疑由于平均池化过程,每个句子都会共享</s>标记的向量,如果我们在句子末尾追加更多这个特殊标记,应该能够提高句子之间的相似度。

经过一些实验,我们发现在句子末尾追加4个</s>可以将分数提高0.05。但在排行榜上我们没有获得这样的提升。我们从T5的TensorFlow版本实现中发现,T5-tf的分词器不把</s>视为特殊标记。

我们怀疑存在</s>的替代物,并通过一些实验发现lucrarea是我们正在寻找的标记。

我们还注意到,通过过度拟合数据集的分布可以获得更高的分数。如果主办方随机划分数据集,过度拟合带来的波动大约在-0.01到0.01之间。但最终,我们决定不对200个公开提示词进行过度拟合。

代码

```
同比赛其他方案