循序渐进 · AIP 教学 · AIP Evals(七)

运行实验:系统对比参数组合

想知道哪个模型性价比最高、哪版提示词效果最好?用实验系统性地跑多个参数组合,而不是靠猜。

全部目录 AIP 首页 ← 上一篇 运行实验:系统对比参数组合 下一篇 →
本文来源 · Source 内容整理自 Palantir Foundry 官方文档:
https://www.palantir.com/docs/foundry/aip-evals/experiments/
原始标题:AIP Evals • Run experiments • Palantir · 所属:AIP Evals(给 AI 做测试)

先记住这几条

① 实验是批量对比
一次跑多组参数,横向比结果。
② 典型问题
哪组模型最省钱且够好、哪版提示词最优。
③ 结论要有数据支撑
LLM 应用调优不能凭感觉。
0

写在前面

系统性地测试多个参数值的不同组合,是评估和优化 LLM 驱动函数的重要一环。你可能希望确定哪些模型表现最好同时成本最低,或者哪些提示词能产生最佳结果。

实验(Experiments)让你能够优化受测函数的性能和成本。你可以使用网格搜索(grid search)在多个独立的评估套件运行中,为 AIP Evals 定义要测试的所有可能组合的参数值。之后,你可以分析实验结果,找出表现最佳的参数值。

说明实验流程的示意图。
说明实验流程的示意图。
1

配置实验

要点:定义要对比的参数组合。

Prepare your function

在本示例中,我们有一个用于总结文章的 Logic 函数,我们想确定哪种模型和提示词组合表现最好。实验并不限于 Logic 函数。

首先,我们需要将模型和提示词都参数化。这意味着将它们添加为输入,并在 Logic 函数的某个地方使用它们。在本例中,我们想试验提示词措辞上的细微差异,看哪一种能产生最好的摘要。我们将使用 extraPromptContext 来在原始提示词后追加额外的上下文。

将模型添加为可选输入,并将 extraPromptContext 添加为 Logic 函数的必需输入。
将模型添加为可选输入,并将 extraPromptContext 添加为 Logic 函数的必需输入。

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

UseLLM 模块中的模型选择器,在
UseLLM 模块中的模型选择器,在 "Registered" 标签页下显示模型变量。

Enable experiments

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

在
在 "Run configuration" 对话框中启用 "Experiments" 开关。

Define your experiment

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

带有实验名称和参数输入的
带有实验名称和参数输入的 "Run configuration" 对话框。

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

总评估运行次数的预览。
总评估运行次数的预览。
2

运行实验

要点:批量执行。

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

3

查看并分析实验结果

要点:横向对比读数。

实验完成后,选择侧边面板底部的 Results 选项。这将带你进入 AIP Evals 应用,你可以在其中分析结果。

AIP Logic 中的 Most recent run 卡片仅显示该集合中最后一次评估运行的结果(在本例中为 6 次运行中的第 6 次)。要查看完整结果,我们建议通过 AIP Evals 访问它们。

Compare runs

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

Evals 中的
Evals 中的 "Runs" 表格,筛选为最新的实验。

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

按模型分组以查看聚合指标。
按模型分组以查看聚合指标。

使用表格标题最右侧的列图标来控制表格中显示哪些列。

Compare test cases

你可以从 Runs 表格中选择最多 4 次运行进行比较,然后选择 View test cases 选项或 Test cases 子标签页,继续深入查看你的结果。

"View test cases" 选项。

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

悬停在模型提示词实验标签上时看到的实验元数据。
悬停在模型提示词实验标签上时看到的实验元数据。

你可以通过将相关的测试用例和/或迭代分组在一起,来改变行的显示方式。

  • Group test cases: 将同一测试用例在多次运行中的所有实例合并为一行,而不是在单独的行中显示每个实例。
  • Group iterations: 将所有迭代折叠为单个选择器,而不是在单行中显示每个迭代。

列选择器可用于以对你而言有意义的方式隐藏和显示列。例如,如果你想要一个数据密集的指标视图,你可以选择隐藏包含输入和函数输出的列。

在测试用例表格中隐藏和显示列。
在测试用例表格中隐藏和显示列。

Debug test cases

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

悬停在某一行上时显示的
悬停在某一行上时显示的 "Open" 选项。

这将打开一个抽屉,显示函数执行以及套件上任何评估器的输入、输出和日志。

对比视图将取决于你如何对表格进行分组。当对比运行显示为单独的行时,调试器将仅针对所选行上的那次运行显示。

测试用例调试器。
测试用例调试器。

延伸阅读 · 相关页面

按主题横向跳转,不必顺着目录一篇篇读。

本组其他页面 · AIP Evals(给 AI 做测试)

同一主题下的相邻内容。

常见问题速答 · FAQ

关于「运行实验:系统对比参数组合」,读者最常问的几个问题。

配置实验是什么?
定义要对比的参数组合。在本示例中,我们有一个用于总结文章的 Logic 函数,我们想确定哪种模型和提示词组合表现最好。实验并不限于 Logic 函数。
运行实验是什么?
批量执行。要运行实验,请关闭该对话框并选择 Run experiment 选项。
查看并分析实验结果是什么?
横向对比读数。实验完成后,选择侧边面板底部的 Results 选项。这将带你进入 AIP Evals 应用,你可以在其中分析结果。