这是一个至少价值 $1016 的实验,作者 Greg Kamradt 对 Claude 2.1 的 200k Token 上下文回忆能力进行了压力测试。一些关键结论:
1. Prompt 中的开头和结尾是最关键的,尤其是结尾部分
2. 上下文越少,准确性越高,超过 90K Token 的上下文长度,回忆能力会逐渐变差
以下是作者的原文:
Claude 2.1(20 万 Token)- 长篇上下文回忆能力的压力测试
提高上下文长度听起来很棒,但实际效果如何呢?
Anthropic 让我提前体验了 Claude 2.1,所以我用它重做了我之前对 GPT-4 的“大海捞针”分析。这里是我的一些发现:
发现:
* 在长达 20 万 Token(大约 470 页)的文档中,Claude 2.1 能够在特定深度回忆起某些事实。
* 文档最顶端和最底端的事实几乎能被完美回忆。
* 文档顶部的事实比底部的回忆效果差一些(和 GPT-4 类似)。
* 从约 9 万 Token 开始,文档底部的回忆效果逐渐变差。
* 在较短的上下文长度下,并不能保证回忆效果。
所以:
* 提示工程很关键 - 调整你的提示语并通过 A/B 测试来衡量信息检索的准确性是值得尝试的。
* 没有保证 - 事实并不一定会被准确检索出来,不要把它们一定能被找到的假设作为应用的基础。
* 上下文越少,准确性越高 - 这是常识,但尽可能减少发送给模型的上下文量可以提高回忆能力。
* 位置很关键 - 众所周知,放在文档开头和后半部分的事实似乎更容易被回忆起。
为什么要做这个测试?
* 我非常看好 Anthropic!他们在推动大语言模型的性能发展,为全球创造了强大的工具。
* 作为一名大语言模型的使用者,理解这些模型的工作方式、优势和局限性至关重要。
* 这类测试虽然不是绝对可靠,但可以展示真实世界的案例,让人感受到这些模型的工作原理。目的是将这些知识应用到实际的使用场景中。
过程概述:
* 以 Paul Graham 的文章作为背景材料。有了 218 篇文章,很容易就能堆积到 20 万 Token(必要时重复使用文章)。
* 在文档不同深度插入随机的陈述。使用的事实是:“在旧金山,最好的事情是在阳光明媚的一天里,在多洛雷斯公园吃三明治。”
* 让 Claude 2.1 仅使用提供的上下文来回答这个问题。
* 使用 LangChainAI 的评估工具,将 Claude 2.1 的答案与 GPT-4 进行比较。
* 在文档深度从 0%(文档顶部)到 100%(文档底部)(采用 sigmoid 分布),以及 35 种不同的上下文长度(从 1K Token 到 20 万 Token)中重复进行 35 次测试。
更进一步的后续步骤:
* 为了更严谨,应该进行键值对检索。但为了易懂性,我选择了在 Paul Graham 文章中加入关于旧金山的语句,这样做更直观和实用。
* 为了增强统计意义,应重复多次测试。
备注:
* 回忆的数量很关键 - 当模型被要求同时回忆多个事实或进行合成推理时,其性能可能会降低。
* 更改提示语、问题、待检索的事实和背景上下文都会影响性能。
* Anthropic 团队提供了测试信用,并给出了最大化性能的提示建议。需要明确的是,他们的参与仅限于提供后勤支持。这项测试保持了独立性和完整性,确保我的发现是无偏见的,没有受到他们支持的影响。
* 这项测试的 API 调用成本大约为 1016 美元(每百万 Token 8 美元)。
点击图片查看原图