三则大模型使用提示技巧


微调大模型提示时:
  • 是在提示中给出相关的例子?
  • 应该给出多少个最佳表现的例子?
  • 如果提供更多,是否会损害性能?
  • 示例的前后顺序重要吗?
这篇Deepmind的新论文回答了所有这些问题,

主要要点:

  • 从提供极少量(1-5 个)示例(少量示例的文本学习(ICL))到提供大量(100-1000 个)示例(多次示例的文本学习(ICL)),性能跃升很大 - 提示中的示例越多,任务越难
  • 建议使用合成生成的示例(而非人类标注的示例),结果发现效果很好
  • 建议在示例中只提供问题而不提供答案,结果发现效果也很好!
  • 证明了多镜头 ICL 可以克服预训练偏差,与监督微调的效果相当,并能学习非 NLP 预测任务。

说人话:

  1. 只问大模型问题,不提供答案,不用自己思维去误导它
  2. 尽可能多地在提示中提供问题的示例
  3. 使用大模型自己合成的实例更好

精彩细节

  • 在许多任务中,完全监督/指令微调仅略胜于多样本 ICL
  • 他们主要测试 Gemini 1.5,但也尝试了 GPT4 和 Claude 3.5,并表明不同的 LLM 在使用多样本 ICL 时具有不同程度的成功——这不是一个与模型无关的技巧
  • 他们表明,如果你在提示中提供足够多的示例,它可以适应未见过的非语言任务,甚至可以适应可能与 LLM 的训练数据不一致的领域
  • 令人惊讶的是,提示中示例的顺序也会影响多样本性能——看看 DSPy 等优化系统如何帮助解决这个问题会很有趣
  • 在提示中添加更多示例(然后进行优化)有时也会降低某些任务的性能 -奇怪的发现- DSPy 也有机会在这里发挥作用
  • 与使用带有解决方案的问题相比,使用多次 ICL 仅使用问题时可实现相当或更优的性能 - 这表明使用多次 ICL 提供解决方案可能只是多余的
  • 许多 Shot ICL 还显示出通过情境学习(数学任务等)解决分布外一般问题的能力的提高。
  • 在预训练期间灌输给模型的偏见也可以通过多次 ICL 来克服 - 少量的镜头会导致模型产生偏见,但随着任务学习在多次镜头机制中生效,有了足够多的示例,这种偏见最终会消失。