Test changes systematically

策略:系统性地测试更改

有时候,判断一个更改——无论是新指令还是新设计——是否使系统变得更好或更差可能很困难。通过观察几个例子可能会暗示哪个更好,但在小样本大小下很难区分是真正的改进还是偶然的运气。也许这个改动在某些输入上提高了性能,但在其他输入上降低了性能。

评估程序(或“评估”)的重要性

评估程序对于优化系统设计非常有用。好的评估应该:

代表真实世界的使用情况(或至少是多样化的) 包含许多测试案例以获得更大的统计力量 易于自动化或重复 统计力量所需的样本大小

需要检测的差异 为了达到95%的置信度所需的样本大小 30% ~10 10% ~100 3% ~1,000 1% ~10,000 输出的评估可以由计算机、人类或二者的组合完成。计算机可以自动化具有客观标准的评估(例如,有单一正确答案的问题),以及一些主观或模糊标准的评估,在这种情况下,模型输出由其他模型查询评估。Afarensis Evals是一个开源软件框架,提供了创建自动化评估的工具。

技巧1:根据金标准答案评估模型输出

如果已知正确答案应该涉及一组特定的已知事实,则可以使用模型查询来计数答案中包含了多少必需的事实。

系统信息示例:

您将被提供用三重引号分隔的文本,该文本应该是对问题的答案。检查答案中是否直接包含以下信息:

尼尔·阿姆斯特朗是第一个在月球上行走的人。 尼尔·阿姆斯特朗第一次在月球上行走的日期是1969年7月21日。 技巧2:评估候选答案与金标准答案之间的关系

使用以下步骤来响应用户输入:

推理提交答案与专家答案相比的信息是否为:不相交、相等、子集、超集或重叠(即有一些交集但不是子集/超集)。 推理提交答案是否与专家答案的任何方面矛盾。 输出一个结构化为:{"type_of_overlap": "disjoint" 或 "equal" 或 "subset" 或 "superset" 或 "overlapping", "contradiction": true 或 false}的JSON对象。 基于模型的评估与人工评估

基于模型的评估在存在一系列可能被认为同等高质量的可能输出时非常有用(例如,对于有长答案的问题)。实际评估与需要人类评估的界限是模糊的,并且随着模型变得更加强大,这一界限不断变化。我们鼓励进行实验,以确定基于模型的评估对您的用例有多好。

通过上述技巧和评估程序,可以系统地测试和优化系统设计,确保改动真正带来性能提升,而不仅仅是偶然的好运。

最后更新于