Many-Shot In-Context Learning
Many-Shot In-Context Learning in Multimodal Foundation Models
吴恩达又一大作,揭示 Many-Shot 在多模态模型中的应用。之前只是听说吴教授教学课程做的很好,今天终于读到本人指导的文章了x。
背景
- 我们已经证明了 Few-Shot ICL 很有用
- 模型的 Context Window 越来越大, GPT-4o 有 128,000 tokens,Gemini 1.5 Pro 有 1M tokens
亮点
- 把 Mang-Shot 扩展到 LMM,example 给到了 1e2(因为图像的 token 数太大了)
- 比较了不同的模型,之前的研究摁着一个模型做到底(如果只用 gpt-4o,其实得不到本文结论)
实验结果
- 会出现 V 型结果,尤其是 GPT-4o

- 对输入的 prompt 鲁棒性很高(主要是图像分类任务)

- 如果一次扔进去很多输入,那准确率不会下降很多

Many-Shot In-Context Learning
Deepmind 利用自家 Gemini,把 Shots 数在常规 LLM 任务上狠狠拉大,发现表现特别好

他们提供了很好的任务分类方式

两种新的 ICL 方式
常规任务的分析结果不必多说,主要看看他们提出的 Unsupervised ICL 和 Reinforced ICL
- Unsupervised ICL:提供大量 question 和少量 question-answer pair。由三部分构成:
- 一句 System Prompt
- 一堆未提供答案的问题
- Zero-shot Instruction 或者 Few-shot QA 对
Deepmind 认为,ICL 有效的原因是它提供了模型已有知识与任务间的桥梁知识,这与 “LLM 在解决问题时,只是简单定位到预训练中获取到的 latent concepts”是一致的。
在 MATH500 和 GSM8K 中,使用这两种 Many-Shot 方式得到的结果稳定比使用 MATH500 的 GT Solution 做 1-Shot 好。在右侧图中,Reinforced ICL 效果比其他两种更好,所以 Deepmind 认为给模型提供自己的回答作为 Shots,会取得更好的效果。这与刚才提到“LLM 做信息检索”也是一致的。

克服模型预训练 bias
在情感分析任务中,Deepmind 采用了 Abstract labels(把 Pos/Neg/Neu 改成 A/B/C)和 Flipped labels(改成 Neu/Pos/Neg),在小 Shot 情境中,模型表现显著下降,但随着 Shot 数不断增加,模型最终取得接近水平

Shot 顺序
作者团队在 50-Shot 场景中使用十种随机 Shot 顺序,结果发现能差出 10%,但并未进一步分析

SFT vs. ICL
在 English -> Bemba 和 English -> Kurdish 任务中,作者团队发现在 base model 中直接 ICL 比 SFT 后的模型差不了很多。如果此结果可在其他任务上扩展,这就有空间了,我只需要适当增加 inference 阶段的成本就可以得到很好的效果,在小规模场景下就不用再微调模型了。

Hallucination
没看懂这里在说什么
