
召回(Recall)是机器学习分类任务中最重要的评估指标之一,用于衡量模型能否找到所有目标类别的对象。与准确率(Accuracy)关注整体正确性不同,召回率专注于回答一个关键问题:在所有真正的正样本中,我们的模型成功识别出了多少?
这个指标在 RAG, 医疗诊断、欺诈检测、故障预警等关键应用中尤为重要,因为漏检的代价往往远高于误报。
召回基于混淆矩阵(Confusion Matrix)的概念,通过分析模型在目标类别上的表现来评估其"查全率"。
我们用让大模型回答《孔乙己》这篇文章中出现了几次"孔乙己"这个名字作为例子. 召回率的计算涉及两个关键概念:
真阳性(True Positive, TP):
假阴性(False Negative, FN):
召回率的计算公式为:
召回率的取值范围是 0 到 1(或 0% 到 100%):
在大型语言模型(LLM)的实际应用中,召回能力直接影响着模型在多个关键维度的表现:
生成代码的时候变量的生命周期管理, 比如变量的调用出现在了变量声明前面, 这通常是召回出问题导致的.
RAG 系统中的信息检索召回, 在检索增强生成系统中,召回率决定了检索阶段能否找到所有相关文档,直接影响最终答案的完整性和准确性。"我只搜到了一篇关于2024年财务报告的数据" 实际上数据库里躺着10篇.
长文本理解中的关键信息捕获, 处理长文档时,召回能力决定了模型能否捕获所有重要信息点,影响文档理解和摘要的完整性。比如我们举的孔乙己这个例子。
多轮对话中的上下文召回, 在长对话场景中,模型需要准确召回历史信息以维持对话连贯性和个性化体验。聊了几次忘了用户叫啥,通常这个会用向量数据库来解决模型长期个性化记忆问题。
指令理解的完整性, 复杂指令通常包含多个要求,召回能力不足会导致只执行部分需求,忽略重要约束条件。"帮我打开电风扇关闭吹风机空调调到26度微波炉定时3分钟...结果大模型只记得微波炉定时3分钟"
知识一致性与事实准确性, 召回能力影响模型知识表达的完整性,部分召回可能导致答案不够全面或缺乏跨域知识整合。 "1,2,3,4,5,... 总计有3个!"
总的来说,在大模型应用中,召回能力的不足往往比准确率的下降更容易导致用户体验的显著下降。下期我们会讲另一个概念, 准确率.
有的, Fiction.LiveBench 就是. 也是目前社区引用数量最多的. 但是 Fiction.LiveBench 不公布他们的测试过程和数据, 所以最终结论很容易受到质疑. 但说实话也没有其它更好的可以参考了.