返回列表

12th place soluition🥇 : Modifying mean prompt using LLM, ML and logic-based approach

603. LLM Prompt Recovery | llm-prompt-recovery

开始: 2024-02-27 结束: 2024-04-16 AIGC与多模态 数据算法赛
12th Place Solution - Modifying Mean Prompt
作者: Kohecchi | 排名: 公共榜第12名 / 私有榜第13名

非常感谢举办如此精彩的比赛!与 @currypurin、@tmhrkt、@masato114、@daikon99 的团队合作非常愉快。

使用对抗性攻击(Adversarial Attack)的解决方案令人印象深刻。我们的团队没想到这种思路。

鉴于评估指标,我们需要预测重写提示中必须包含的精确词汇,否则分数会显著下降。因此,我们不使用 LLM 直接预测重写提示,而是采用 LLM、机器学习和基于逻辑的方法更好地修改平均提示(mean prompt)。

我们团队的方案(私有榜第13名 / 公共榜第12名)如下:

  1. 构建与 LB 高相关性的验证数据
  2. 搜索得分最高的平均提示
  3. 修改平均提示
    1. 添加原文的“文本类型”(Mistral 7B)
    2. 添加原文与改写文本之间的“语气”差异 (Mistral 7B)
    3. 添加原文与改写文本之间的“主题”差异 (Deberta‑v3)
    4. 根据改写文本添加特定关键词(基于逻辑)

1. 构建与 LB 高相关性的验证数据

  • 根据提交的均提示的 LB 分数,我们提取了与隐藏测试数据(公共 LB)高度相关的验证数据集。
  • 我们从以下来源提取验证数据:
  • 使用了约 40 到 90 条均提示来提取高相关性验证数据。
  • 该评估数据集帮助我们高效地构建高分的均提示。

2. 搜索得分最高的平均提示

  • 从 "Rewrite" 开始,我们在 nltk/wordnet 词汇表中遍历所有能够提升 CV 得分的词。
  • 我们也尝试使用 sentence‑t5 词汇集进行同样的搜索,但生成的句子看似无意义,例如 </s>lucrarea(正如 @suicaokhoailang 与 @dipamc77 在他们的方案中提到的)。由于该方法的公共 LB 分数较低,我们决定尽可能保持句子可读。(要是我们用了 lucrarea 就好了…哈哈)
  • 最终的平均提示在公共与私有 LB 上的得分均为 0.66,如下所示:
\'Revise or Revamp this text and phrase to convey the task yet incorporating a plenteous subject, its initial purport while retaining atmosphere yet preserving any intended heartfelt tone, while keeping writing style, making only key improvements to an succinct, dispassionate, and elegant coherence.\'

3. 修改平均提示

由于上述平均提示的句子过于通用,我们根据 original_text 和 rewritten_text 为均提示添加了若干特定关键词,如下所示:

(1)提取原文的“文本类型”并加入均提示(Mistral 7B)

  • 首要目标是文本类型(如电子邮件、散文、信件、报告、广告等)。
  • 使用 Mistral7B v1 预测 original_text 中的文本类型。
  • text and phrase 替换为预测得到的文本类型。
  • 这使公共 LB 得分提升约 +0.003~0.005。
  • 虽然该方法提升了公共 LB 分数,但我们不确定私有测试集中有多少提示真正包含“文本类型”,因为文本类型可以省略(例如“Rewrite this letter more casual”可能变为“Rewrite this more casual”)。因此,我们最终提交的方案为两种:
    1. 带文本类型预测的版本;
    2. 不带文本类型预测的版本(保留 text and phrase)。

(2)提取原文与改写文本之间的“语气”差异并加入均提示(Mistral 7B)

  • 第二项目标是语气差异(如正式、随意、礼貌、幽默、奇幻等)。
  • 使用 Mistral7B v1 根据 original_text 与 rewritten_text 之间的差异预测语气。
  • 将“语气”插入句子中间位置(插入位置通过 CV 得分优化)。
  • 该步骤使公共 LB 得分提升约 +0.01。
  • 额外的关键字是 more。我们在预测的语气前加上 more(例如 more polite、more formal),因为 Rewrite this text more formalRewrite this text formal 更自然。这同样带来约 +0.005 的公共 LB 提升。

(3)提取原文与改写文本之间的“主题”并加入均提示(DeBERTa‑v3‑large 与 DeBERTa‑v3‑base)

  • 第三项目标是主题。思路是 original_text 与 rewritten_text 之间差异的某些词可以出现在 rewrite_prompt 中。
  • 为此我们执行了以下步骤:
    • 提取 original_text 与 rewritten_text 之间的词差异;
    • 训练 DeBERTa‑v3‑large 与 DeBERTa‑v3‑base 模型,以判断这些词是否出现在 rewrite_prompt 中;
    • 将筛选出的词插入均提示;
    • 该步骤带来约 +0.01~0.02 的公共 LB 提升。

(4)基于逻辑的后处理

  • 基于对 Gemma7b‑it 输出的观察,我们使用以下逻辑从 rewritten_text 中提取更具体的关键词。
  • 如果 rewritten_text 包含 **(粗体标记),则提取两个 ** 之间的词语并加入 rewrite_prompt。经我们统计,约有 7‑9% 的测试数据包含 **

示例:

重写提示 改写后文本
Make the text into a book club's discussion questions ** Book Club Discussion Questions: **\n\n1. What does the text describe as the main point of the article?\n2. What does the text suggest is the purpose of the Pegida group?\n3. Can you summarize the main events that took place a…
Convert the text into a mindfulness meditation guide ** Mindfulness Meditation Guide ** \n\n ** Step 1: Find a comfortable position. ** \n\nSit in a quiet and comfortable space where you can focus without distractions. Your back should be straight and your eyes closed. Rest your hands ...
  • 如果 rewritten_text 包含单词 Verse,则将单词 “song” 加入均提示。经我们统计,约有 7‑9% 的测试数据包含 Verse
  • 该步骤提升公共 LB 得分约 +0.005。
同比赛其他方案