选择合适的模型,无论是 GPT-4o 还是像 GPT-4o-mini 这样更小的选项,都需要平衡 准确率, 延迟,且 成本。本指南介绍了关键原则,以帮助您做出明智的决策,并提供了一个实际示例。
核心原则
模型选择的原则很简单:
- 首先优化准确率: 首先针对准确率进行优化,直到达到您的准确率目标。
- 其次优化成本和延迟: 然后致力于使用尽可能最便宜、最快速的模型来维持准确率。
1. 首先关注准确率
首先为您的用例设定一个明确的准确率目标,明确对于该用例而言,达到什么样的准确率才算“足够好”以投入生产环境。您可以通过以下方式实现:
- 设定明确的准确率目标: 确定您的目标准确率指标将是什么。
- 例如,90% 的客户服务电话需要在首次交互时被正确分类。
- 构建评估数据集: 创建一个数据集,以便根据这些目标衡量模型的性能。
- 延续上面的例子,收集 100 个交互样本,包含用户的需求、LLM 对其进行的分类、正确的分类应该是什么,以及该分类是否正确。
- 使用最强大的模型进行优化: 从可用的最强模型开始,以实现您的准确率目标。记录所有响应,以便我们可以将其用于更小模型的蒸馏。
- 使用检索增强生成来优化准确率
- 使用微调来优化一致性和行为
在此过程中,收集提示和补全对,用于评估、少样本学习或微调。这种做法被称为 提示烘烤 (prompt baking),能帮助您生成高质量的示例以供将来使用。
有关此处的更多方法和工具,请参阅我们的 准确率优化指南.
设定切合实际的准确率目标
通过评估模型决策的财务影响来计算切合实际的准确率目标。例如,在假新闻分类场景中:
- 正确分类的新闻: 如果模型分类正确,就可以节省人工审核的成本——假设为 $50.
- 错误分类的新闻: 如果错误地将一篇安全文章分类,或遗漏了一篇假新闻文章,可能会触发审核流程并引发可能的投诉,这可能会耗费我们 $300.
我们的新闻分类示例需要 85.8% 的准确率才能覆盖成本,因此设定 90% 或更高的目标可确保整体的投资回报。请根据您特定的成本结构使用这些计算来设定有效的准确率目标。
2. 优化成本和延迟
成本和延迟被视为次要因素,因为如果模型无法达到您的准确率目标,那么这些考虑就毫无意义。然而,一旦您找到了适合您用例的模型,可以采取以下两种方法之一:
- 使用零样本或少样本与更小的模型进行比较: 将模型替换为更小、更便宜的模型,并测试它是否能在较低的成本和延迟下维持准确率。
- 模型蒸馏: 使用在准确率优化期间收集的数据来微调更小的模型。
成本和延迟通常相互关联;减少 token 和请求数量通常会带来更快的处理速度。
此处需要考虑的主要策略包括:
- 减少请求数量: 限制完成任务所需的请求数量。
- 最小化 token 数量: 降低输入 token 的数量,并优化以获得更短的模型输出。
- 选择更小的模型: 使用在降低成本和延迟与保持准确率之间取得平衡的模型。
如需深入了解这些内容,请参阅我们的 延迟优化.
原则的例外情况
这些原则存在明显的例外情况。如果您的用例对成本或延迟极其敏感,请在开始测试之前为这些指标设定阈值,然后将超出阈值的模型排除在考虑范围之外。一旦设定了基准,这些指南将帮助您在约束条件内优化模型准确率。
实践示例
为了演示这些原则,我们将开发一个具有以下目标指标的假新闻分类器:
- Accuracy: 实现 90% 的正确分类率
- Cost: 每 1,000 篇文章花费低于 $5
- Latency: 保持每篇文章的处理时间在 2 秒以内
实验
为了达成目标,我们进行了三项实验:
- Zero-shot: 使用
GPT-4o基本提示词和 1,000 条记录,但未达到准确率目标。 - 少样本学习: 包含 5 个少样本示例,达到了准确率目标,但由于提示词 Token 更多导致成本超标。
- 微调模型: 微调
GPT-4o-mini使用 1,000 个带标注的示例,在延迟和准确率相近的情况下满足了所有目标,且成本大幅降低。
| ID | 方法 | 准确性 | 准确率目标 | 成本 | 成本目标 | 平均延迟 | 延迟目标 |
|---|---|---|---|---|---|---|---|
| 1 | gpt-4o 零样本 | 84.5% | $1.72 | < 1s | |||
| 2 | gpt-4o 少样本 (n=5) | 91.5% | ✓ | $11.92 | < 1s | ✓ | |
| 3 | gpt-4o-mini 微调(使用 1000 个样本) | 91.5% | ✓ | $0.21 | ✓ | < 1s | ✓ |
结论
通过将模型从 gpt-4o to gpt-4o-mini with fine-tuning, we achieved 在成本不到 2% 的情况下实现了同等性能, 并且仅使用了 1000 个标注样本。
这个过程非常重要——你通常无法直接跳到微调阶段,因为你不知道微调是否是实现所需优化的正确工具,或者你没有足够的标注样本。使用 gpt-4o 来达到你的准确率目标,并整理出一个优质的训练集——然后再通过微调来使用更小、更高效的模型。