LLM 的输出是非确定性的,并且模型行为会随着模型快照和模型系列的不同而发生变化。开发者必须不断测量和调整 LLM 应用程序的性能,以确保获得最佳结果。在本指南中,我们将探讨可用于确保模型高质量输出的技术以及 OpenAI 平台工具。
模型优化工作流程
优化模型输出需要结合使用 评估, 提示词工程,且 微调, 从而形成一个反馈飞轮,以获取更好的提示词和用于微调的更优质的训练数据。优化过程通常如下所示。
- 编写 评估 来测量模型输出,确立性能和准确性的基线。
- 向模型提供提示 以获取输出,并提供相关的上下文数据和指令。
- 对于某些用例,可能需要针对特定任务 微调 模型。
- 使用能代表真实世界输入的测试数据运行评估。测量您的提示词和微调模型的性能。
- 根据评估反馈调整您的提示词或微调数据集。
- 不断重复此循环以改善您的模型结果。
以下是主要步骤的概述,以及如何使用 OpenAI 平台来完成这些步骤。
构建评估
在 OpenAI 平台中,您可以 构建和运行评估 通过 API 或在 仪表板。你甚至可以考虑编写评估 之前先评估 中。在您开始编写提示词之前,采用类似于行为驱动开发 (BDD) 的方法。
针对您期望在生产环境中看到的测试输入运行评估。使用几种可用的 评分器,用你的测试数据集衡量某个提示的结果。
对模型输出运行测试,以确保您获得正确的结果。
编写有效的提示词
有了评估机制后,您可以有效地迭代 提示词配合使用. 提示词工程过程可能足以让您的用例获得出色的结果。不同的模型可能需要不同的提示词技巧,但有一些通用的最佳实践可以帮助您获得更好的结果。
- 包含相关上下文 - 在您的指令中,包含模型用于生成回复所需的、来自其训练数据之外的文本或图像内容。这可能包括来自私有数据库的数据或最新、实时的信息。
- 提供清晰的指令 - 您的提示词应包含关于您期望何种输出的明确目标。像 GPT 这样的模型
gpt-4.1非常擅长遵循极其明确的指令,而像 推理模型 则o4-mini往往在给予高层次的成果指导时表现更好。 - 提供输出示例 - 为模型提供一些针对特定提示词的正确输出示例(这一过程称为少样本学习)。模型可以从这些示例中推断出应如何响应其他提示词。
学习为模型编写优秀提示词的基础知识。
微调模型
OpenAI 模型已经过预训练,能够处理广泛的主题和任务。微调允许您选取一个 OpenAI 基础模型,提供您在应用程序中期望的输入和输出类型,从而获得一个能在您将要使用的任务中表现出色的模型。
微调可能是一个耗时的过程,但它也能使模型以特定方式持续格式化响应,或是处理新颖的输入。您可以将微调与 提示词工程 结合使用,以获得仅靠提示词无法实现的一些额外优势:
- 您可以提供超过单个请求上下文窗口容纳上限的输入和输出示例,使模型能够处理更多种类的提示词。
- 您可以使用包含更少示例和上下文数据的较短提示词,这不仅能在大规模应用中节省 Token 成本,还能降低延迟。
- 您可以使用专有或敏感数据进行训练,而无需在每个请求的示例中包含它们。
- 您可以训练一个更小、更便宜、更快速的模型,使其在特定任务中表现出色,而在这些任务中使用大型模型可能并不具备成本效益。
访问我们的 中找到 以详细了解微调模型的训练和使用是如何计费的。
微调方法
以下是 OpenAI 平台目前支持的微调方法。
| 方法 | 工作原理 | 适用场景 | 适用场景 |
|---|---|---|---|
提供针对提示词的正确响应示例,以引导模型的行为。 通常使用人工生成的“真实值”响应,向模型展示应如何作答。 |
|
| |
| 视觉微调 | 提供用于监督微调的图像输入,以提升模型对图像输入的理解能力。 |
| gpt-4o-2024-08-06 |
为提示提供一个正确和不正确的示例响应。指出正确的响应有助于模型表现得更好。 |
|
| |
针对提示词生成回复,对结果提供专家级评分,并针对高分回复强化模型的思维链。 需要专家评分者在模型的理想输出上达成共识。 仅适用于推理模型. |
|
|
微调的工作原理
在 OpenAI 平台中,你可以通过以下方式创建微调模型: 仪表板 or with the API. 以下是微调过程的基本步骤:
- 收集一组示例作为训练数据
- 将数据集以 JSONL 格式上传至 OpenAI
- 根据你的目标,使用上述方法之一创建微调任务——这将启动微调训练过程
- 对于 RFT,你还需要定义一个评分器来对模型的行为进行评分
- 评估结果
开始使用 监督微调, 视觉微调, 直接偏好优化, or 强化微调.
向专家学习
模型优化是一个复杂的课题,有时更像是一门艺术而非科学。请观看以下来自 OpenAI 团队成员关于模型优化技术的视频。


