运行实验:系统对比参数组合
想知道哪个模型性价比最高、哪版提示词效果最好?用实验系统性地跑多个参数组合,而不是靠猜。
https://www.palantir.com/docs/foundry/aip-evals/experiments/
原始标题:AIP Evals • Run experiments • Palantir · 所属:AIP Evals(给 AI 做测试)
先记住这几条
写在前面
系统性地测试多个参数值的不同组合,是评估和优化 LLM 驱动函数的重要一环。你可能希望确定哪些模型表现最好同时成本最低,或者哪些提示词能产生最佳结果。
实验(Experiments)让你能够优化受测函数的性能和成本。你可以使用网格搜索(grid search)在多个独立的评估套件运行中,为 AIP Evals 定义要测试的所有可能组合的参数值。之后,你可以分析实验结果,找出表现最佳的参数值。

配置实验
Prepare your function
在本示例中,我们有一个用于总结文章的 Logic 函数,我们想确定哪种模型和提示词组合表现最好。实验并不限于 Logic 函数。
首先,我们需要将模型和提示词都参数化。这意味着将它们添加为输入,并在 Logic 函数的某个地方使用它们。在本例中,我们想试验提示词措辞上的细微差异,看哪一种能产生最好的摘要。我们将使用 extraPromptContext 来在原始提示词后追加额外的上下文。

对于模型,我们建议将该变量从 Required 改为 Optional。你还需要配置每个 Use LLM 模块以使用该模型变量。你可以通过选择 UseLLM 模块中的模型选择器,并导航到 Registered 标签页下的模型变量来完成此操作。

Enable experiments
将 Logic 函数参数化后,通过在 Run configuration 对话框中打开开关来启用实验。

Define your experiment
你可以为实验命名,以便之后轻松定位结果。接下来,添加 Experiment parameters(实验参数)。这些是你想用不同值进行测试的参数。对于每个参数,你可以指定多个值选项,以在实验中进行探索。这将覆盖评估套件中按测试用例配置的任何现有值。

在该区域的底部,你可以看到将发生多少次评估运行,并打开预览以查看使用网格搜索将在你的实验中测试的所有参数组合。

运行实验
要运行实验,请关闭该对话框并选择 Run experiment 选项。

查看并分析实验结果
实验完成后,选择侧边面板底部的 Results 选项。这将带你进入 AIP Evals 应用,你可以在其中分析结果。
AIP Logic 中的 Most recent run 卡片仅显示该集合中最后一次评估运行的结果(在本例中为 6 次运行中的第 6 次)。要查看完整结果,我们建议通过 AIP Evals 访问它们。

Compare runs
在 AIP Evals 中,可以在 Results > Runs 标签页下查看单次评估运行和实验运行。当从 AIP Logic 中的 Results(如上所示)进入时,Runs 表格将自动筛选为刚刚运行的实验。

Group by 选项允许你选择表格中的某一列对运行进行分组,并查看每个分组的聚合指标。例如,我们可以按模型分组,以便轻松比较每个模型在所有指标上的表现。

使用表格标题最右侧的列图标来控制表格中显示哪些列。
Compare test cases
你可以从 Runs 表格中选择最多 4 次运行进行比较,然后选择 View test cases 选项或 Test cases 子标签页,继续深入查看你的结果。

测试用例对比对于调试测试用例输出和指标在多次运行之间如何比较,以及不同参数之间可能存在的性能和成本权衡非常有用。你可以将鼠标悬停在所选运行上,查看所使用的具体参数值,也可以在表格中找到它们。

你可以通过将相关的测试用例和/或迭代分组在一起,来改变行的显示方式。
- Group test cases: 将同一测试用例在多次运行中的所有实例合并为一行,而不是在单独的行中显示每个实例。
- Group iterations: 将所有迭代折叠为单个选择器,而不是在单行中显示每个迭代。
列选择器可用于以对你而言有意义的方式隐藏和显示列。例如,如果你想要一个数据密集的指标视图,你可以选择隐藏包含输入和函数输出的列。

Debug test cases
将鼠标悬停在某一行上时,会显示 Open 选项,让你能够进一步深入查看并调试该测试用例的执行。

这将打开一个抽屉,显示函数执行以及套件上任何评估器的输入、输出和日志。
对比视图将取决于你如何对表格进行分组。当对比运行显示为单独的行时,调试器将仅针对所选行上的那次运行显示。

延伸阅读 · 相关页面
按主题横向跳转,不必顺着目录一篇篇读。
本组其他页面 · AIP Evals(给 AI 做测试)
同一主题下的相邻内容。
- AIP Evals 总览:给 AI 函数做测试LLM 的输出是不确定的(non-deterministic),传统单元测试不够用。AIP Evals 是专门为此设计的
- 为 Logic 函数建立评估套件Logic 的 Preview 面板适合一次性试跑;但要建立真正的信心,必须拿大量输入去测。这篇是入门路径。
- 创建评估套件评估套件 = 测试用例 + 目标函数 + 评估函数。这篇讲怎么把它搭起来,包括同时测多个目标函数的做法。
- 用中间参数评估 block 输出LLM 函数往往包含多个步骤,只看最终结果可能看不出是哪一步出了问题。这篇讲怎么评测中间 block 的输出。
- 评估 Ontology 编辑测一个会写 Ontology 的函数,难道每次都要真改数据?不用 —— 每个测试用例在 Ontology 模拟环境里跑,
- 运行评估套件套件可以从多个地方运行:AIP Logic 的 Evals 侧边栏、AIP Evals 应用。可以整跑,也可以只跑单个用
- 把运行结果写入数据集Evals 界面不是给所有人用的。把结果写进数据集,就能在 Workshop 等应用里跟其他信息一起展示,让领域专家也能
- 分析运行结果结果视图告诉你:函数在各测试用例与评估标准上的表现具体如何。可以在 Evals 应用里看,也能在 Logic / Cha
- 在指标仪表盘查看结果把多次运行的结果收拢到一处,用图表和统计呈现,还能比较聚合结果或单个测试用例的表现。
常见问题速答 · FAQ
关于「运行实验:系统对比参数组合」,读者最常问的几个问题。