来源|Databricks
翻译|张雪聃、林心宇
在我们长上下文RAG基准测试中,OpenAI o1模型相比Anthropic和Google模型有持续提升,支持上下文长度最高可达128k词元。
尽管性能不如顶尖的OpenAI和Anthropic模型,但Google Gemini 1.5模型在极端上下文长度(最高达200万词元)下展现了稳定的RAG性能。
不同模型在长上下文RAG任务中表现出不同的失败模式。
从使用OpenAI的text-embedding-3-large嵌入的向量数据库中检索文档片段(chunk)。文档被分割为512词元的片段,步长为256词元。
通过在上下文窗口中包含更多检索文档来改变总词元数。我们将总词元数从2k增加到200万。
系统必须根据检索的文档正确回答问题。答案由经过校准的LLM(使用GPT-4o)进行评判。
检索更多文档确实有益:为给定查询检索更多信息,能够提升将正确信息传递给LLM的可能性。具有长上下文长度的现代LLM可以利用这一点,从而改善整体RAG系统。
更长的上下文对RAG而言并不总是最优解:大多数模型的性能在某个上下文长度后会下降。值得注意的是,Llama-3.1-405b的性能在32k词元后开始下降,GPT-4-0125-preview在64k词元后开始下降,只有少数模型能够在所有数据集上维持一致的长上下文RAG性能。
模型在长上下文RAG任务中失败的方式都各不相同:我们深入分析了DBRX和Mixtral的长上下文性能,并识别出了各自独特的失败模式,例如由于版权问题拒绝或总是对上下文进行总结。许多行为表明,缺乏足够的长上下文后训练。
OpenAI o1:长上下文RAG中的新SOTA模型
新的SOTA模型:OpenAI o1-preview和o1-mini模型在我们的三项长上下文RAG基准测试中超越了所有其他模型,o1-mini的结果与GPT-4o相近。GPT-4o-mini上的性能提升十分惊人,因为新发布的“mini”版本比上次发布的最强模型更优秀。
Gemini 1.5模型在最高200万词元下保持一致的RAG性能
尽管Google Gemini 1.5 Pro和Gemini 1.5 Flash模型在128000 tokens以下的整体答案正确性远低于o1和GPT-4o模型,但Gemini模型在超长上下文(最高可达200万词元)下保持了一致的性能。
LLM在长上下文RAG中的不同失败模式
为评估生成模型在处理长上下文长度时的失败模式,我们对OpenAI的o1和Gemini 1.5 Pro进行了分析,使用了与我们之前博文相同的方法(https://www.databricks.com/blog/long-context-rag-performance-llms)。我们提取了各个模型在不同上下文长度下的回答,并手动检查了多个样本,基于观察结果定义了以下广泛的失误类别:
重复内容(repeated_content):当模型的回答完全由重复的(无意义的)单词或字符组成。
随机内容(random_content):当模型生成的回答完全随机,与上下文无关,或者没有逻辑性或语法合理性。
未遵循指令(fail_follow_inst):当模型未理解指令的意图或未遵循问题中指定的指令。例如,当指令要求基于上下文回答问题时,模型却尝试总结上下文。
空响应(empty_resp):生成的回答为空
错误答案(wrong_answer):当模型尝试遵循指令,但给出的回答错误。
其他(others): 失误不属于上述列出的任何类别。
拒绝回答(refusal):模型拒绝回答问题,表明答案无法在上下文中找到,或表明上下文与问题无关。
因API过滤导致的任务失败: 由于API的严格过滤规则,模型API直接阻止了该提示内容的生成。如果任务因API过滤失败,我们不会将其计入最终的答案正确率计算中。
o1-preview和o1-mini的失败分析
其他人都在看