在大模型(特别是大语言模型,LLMs)的评估中,Pass@1 是一个核心的性能评测指标。通常读作 "Pass at one"。
它的意思是:对于给定的测试任务(如编程题、数学题等),模型只生成一次答案(k=1),如果这次生成的答案是正确的,就算通过。
简单来说,Pass@1 就是模型"第一次尝试就做对"的成功率。
以下是关于 Pass@1 的几个关键点:
-
应用场景:它最常用于评估模型在代码生成、数学推理、问答等任务中的准确率。例如,在编程任务中,Pass@1 衡量的是模型生成的代码第一次就能通过所有测试用例的比例。
-
与温度(Temperature)的关系:当模型的生成温度(temperature)设置为0时,模型的输出是确定性的,每次对同一个问题的回答都完全相同。此时,Pass@1 的结果是可复现的。如果温度大于0,模型输出具有随机性,那么 Pass@1 的结果也会有随机性,每次运行可能不同。
-
与 Pass@k 的关系:
- Pass@k 是一个更广泛的指标,表示模型对同一个问题进行 k 次独立采样(生成 k 个不同的答案),只要其中至少有一个答案是正确的,就算通过。
- Pass@1 是 Pass@k 在 k=1 时的特例。它只衡量单次尝试的成功率。
- 通常,Pass@k (k>1) 的值会高于 Pass@1,因为有多次尝试的机会。Pass@k 被认为更能代表模型的"潜力"或"推理能力上限"。
-
局限性:虽然 Pass@1 直观且重要,但它可能无法完全反映模型的真实能力。例如,一个模型可能第一次尝试失败,但在后续尝试中成功。因此,业界也常结合 Pass@5、Pass@10、Pass@32 等指标来更全面地评估模型。
总结来说,Pass@1 就是衡量大模型"一次就答对"能力的准确率指标,是评估其性能最基础、最常用的指标之一。