OpenAI o1 和开发者工具更新 2024年12月

OpenAI 已将生产就绪的 o1 推理模型引入其 API,同时更新了 Realtime API,引入了一种新的偏好微调方法,并提供了 Go 和 Java 的 beta SDK。这些更新旨在提升代理应用的推理能力,降低实时音频交互的成本,并提供对模型行为的更细粒度控制。

OpenAI o1 API 集成

OpenAI o1 是一个专为复杂多步骤任务设计的推理模型,现已对使用层级 5 的开发者开放。该模型继承了 o1-preview,并针对生产环境进行了优化,具备多项新的技术能力。

关键技术特性

  • 函数调用和结构化输出:o1 现在可以连接到外部 API 和数据源,并能够可靠地生成符合自定义 JSON Schema 的响应。
  • 视觉能力:该模型能够对视觉输入进行推理,使得在编码、制造和科学领域的应用成为可能。
  • 开发者消息:开发者现在可以通过开发者消息提供特定的行为指导,例如语气和风格。
  • 推理控制:新的 reasoning_effort API 参数允许开发者控制模型在生成答案之前思考过程的持续时间。
  • 效率:对于相同的请求,o1 模型平均比 o1-preview 使用 60% 更少的推理令牌。

o1-2024-12-17 的性能基准

最新快照 (o1-2024-12-17) 在多个领域展示了最先进的结果,相较于 o1-preview:

类别 Eval o1-2024-12-17 o1-preview
通用 GPQA diamond 75.7 73.3
通用 MMLU (pass @1) 91.8 90.8
编码 SWE-bench Verified 48.9 41.3
编码 LiveBench (Coding) 76.6 52.3
数学 MATH (pass @1) 96.4 85.5
数学 AIME 2024 (pass @1) 79.2 42.0
数学 MGSM (pass @1) 89.3 90.8
视觉 MMMU (pass @1) 77.3
视觉 MathVista (pass @1) 71.0
事实性 SimpleQA 42.6 42.4
代理 TAU-bench (retail) 73.5
代理 TAU-bench (airline) 54.2

OpenAI 报告称,o1-2024-12-17 在结构化输出和函数调用测试中显著优于 gpt-4o。

Realtime API 增强

对 Realtime API 的更新侧重于提升基于语音应用的可访问性并降低运营成本。

WebRTC 集成

OpenAI 已添加对 WebRTC 的支持,WebRTC 是一种开放标准,简化了跨浏览器、移动客户端和 IoT 设备的实时语音产品扩展。此集成处理拥塞控制、噪声抑制、音频流和编码,以确保在网络质量波动的情况下仍能保持响应式交互。

定价和模型更新

Realtime API beta 已发布两个新的快照:

  • gpt-4o-realtime-preview-2024-12-17:具有改进的语音质量和更可靠的口述数字输入。音频令牌价格降低了 60%($40/1M 输入,$80/1M 输出)。缓存的音频输入成本降低了 87.5%,降至 $2.50/1M 输入令牌。
  • gpt-4o-mini-realtime-preview-2024-12-17:将 mini 模型的成本效益带到 Realtime API。音频定价设定为 $10/1M 输入,$20/1M 输出令牌;文本令牌为 $0.60/1M 输入,$2.40/1M 输出令牌。

偏好微调

OpenAI 已引入偏好微调(PFT),这是一种使用直接偏好优化(DPO)的定制技术,基于响应的成对比较来定制模型。

PFT 与监督微调(SFT)的对比

特性 Supervised Fine-Tuning (SFT) Preference Fine-Tuning (PFT)
目标 为了正确性而复制标注输出 加强首选响应并减少非首选响应
训练数据 精确的输入/输出对 首选和非首选输出的配对
使用场景 严格正确性,自定义代码格式 如创意写作或摘要的主观任务

实际应用

Rogo AI 使用 PFT 提升了金融 AI 助手处理分布外查询扩展的能力。通过使用他们的 Rogo-Golden 基准,他们将准确率从基础模型的 75% 提高到超过 80%。

偏好微调目前正在为 gpt-4o-2024-08-06 推出,并且不久将对 gpt-4o-mini-2024-07-18 可用。

Go 和 Java 的新 SDK

OpenAI 已发布 Go 和 Java 的 beta SDK,以扩大开发者的可访问性:

  • Go SDK:提供用于 API 集成的专用库。
  • Java SDK:提供类型化的请求和响应对象以及管理 API 请求的实用工具,面向企业软件开发环境。

Sources