微调大模型提示时:
- 是在提示中给出相关的例子?
- 应该给出多少个最佳表现的例子?
- 如果提供更多,是否会损害性能?
- 示例的前后顺序重要吗?
主要要点:
- 从提供极少量(1-5 个)示例(少量示例的文本学习(ICL))到提供大量(100-1000 个)示例(多次示例的文本学习(ICL)),性能跃升很大 - 提示中的示例越多,任务越难!
- 建议使用合成生成的示例(而非人类标注的示例),结果发现效果很好
- 建议在示例中只提供问题而不提供答案,结果发现效果也很好!
- 证明了多镜头 ICL 可以克服预训练偏差,与监督微调的效果相当,并能学习非 NLP 预测任务。
说人话:
- 只问大模型问题,不提供答案,不用自己思维去误导它
- 尽可能多地在提示中提供问题的示例
- 使用大模型自己合成的实例更好
精彩细节
- 在许多任务中,完全监督/指令微调仅略胜于多样本 ICL
- 他们主要测试 Gemini 1.5,但也尝试了 GPT4 和 Claude 3.5,并表明不同的 LLM 在使用多样本 ICL 时具有不同程度的成功——这不是一个与模型无关的技巧
- 他们表明,如果你在提示中提供足够多的示例,它可以适应未见过的非语言任务,甚至可以适应可能与 LLM 的训练数据不一致的领域
- 令人惊讶的是,提示中示例的顺序也会影响多样本性能——看看 DSPy 等优化系统如何帮助解决这个问题会很有趣
- 在提示中添加更多示例(然后进行优化)有时也会降低某些任务的性能 -奇怪的发现- DSPy 也有机会在这里发挥作用
- 与使用带有解决方案的问题相比,使用多次 ICL 仅使用问题时可实现相当或更优的性能 - 这表明使用多次 ICL 提供解决方案可能只是多余的
- 许多 Shot ICL 还显示出通过情境学习(数学任务等)解决分布外一般问题的能力的提高。
- 在预训练期间灌输给模型的偏见也可以通过多次 ICL 来克服 - 少量的镜头会导致模型产生偏见,但随着任务学习在多次镜头机制中生效,有了足够多的示例,这种偏见最终会消失。