OpenAI 发布 o1 及开发者新工具:模型升级、实时 API 优化、偏好微调等重磅更新

全文2693字,阅读约需8分钟,帮我划重点

划重点

01OpenAI发布了一系列针对开发者的强大模型、全新定制工具以及性能、灵活性和成本效益的升级。

02其中,OpenAI o1模型正式在API中向5级使用用户开放,具备更高的准确性和更低的延迟。

03同时,实时API改进包括WebRTC支持、降低GPT-4o和GPT-4o mini的实时快照成本等。

04此外,偏好微调支持使开发者可以根据用户和开发者的偏好定制模型。

05最后,OpenAI推出了Go和Java SDK,以完善现有的Python、Node.js和.NET库。

以上内容由腾讯混元大模型生成,仅供参考

图片


 

OpenAI 12天发布会Day9, 今日宣布推出一系列针对开发者的强大模型、全新定制工具以及性能、灵活性和成本效益的升级,旨在助力开发者构建更智能、更强大的 AI 应用。本次更新涵盖以下关键内容:

1. API 中的 OpenAI o1:

OpenAI o1 模型正式在 API 中向 5 级使用用户开放。作为 OpenAI o1-preview 的继任者,o1 模型旨在处理复杂的、多步骤任务,并提供更高的准确性。该模型具备以下关键特性:

  • • 函数调用: 无缝连接 o1 模型与外部数据和 API。

  • • 结构化输出: 生成可靠地遵循自定义 JSON Schema 的响应。

  • • 开发者消息: 允许开发者指定模型的指令或上下文,例如定义语气、风格和其他行为指导。

  • • 视觉能力: 能够理解图像,为科学、制造或编码等需要视觉输入的领域解锁更多应用。

  • • 更低延迟: 针对给定请求,o1 模型平均使用的推理 Token 比 o1-preview 少 60%。

  • • 推理力度参数: 新增 reasoning_effort API 参数,允许开发者控制模型在回答问题前的思考时间

本次发布的 o1-2024-12-17 版本是两周前在 ChatGPT 中发布的模型的全新后训练版本。它在基于用户反馈的模型行为方面进行了改进,同时保持了在 o1 系统卡片中评估的前沿能力。此外,ChatGPT 中的 o1 模型也同步更新至此版本。

在多个基准测试中,o1-2024-12-17 取得了最新的技术水平,显著提高了成本效益和性能。具体数据如下:

类别评估指标o1-2024-12-17o1-preview
通用GPQA diamond75.773.3

MMLU (pass @1)91.890.8
编码SWE-bench Verified48.941.3

LiveCodeBench76.652.3
数学MATH (pass @1)96.485.5

AIME 2024 (pass @1)79.242.0

MGSM (pass @1)89.390.8
视觉MMMU (pass @1)77.3

MathVista (pass @1)71.0
事实性SimpleQA42.642.4
代理TAU-bench (零售)73.5

TAU-bench (航空)54.2
图片

此外,测试表明,o1-2024-12-17 在函数调用和结构化输出方面显著优于 gpt-4o

OpenAI 将逐步增加模型的访问权限,同时努力扩展访问范围至其他使用级别并提高速率限制。

2. 实时 API 改进:

实时 API 旨在帮助开发者创建低延迟、自然的对话体验,适用于语音助手、实时翻译工具、虚拟导师等应用场景。本次更新重点包括:

WebRTC 支持: 引入 WebRTC 支持,简化跨平台实时语音产品的构建和扩展。WebRTC 负责处理音频编码、流式传输、噪声抑制和拥塞控制。以下是一个使用 JavaScript 集成 WebRTC 的示例代码:

   async function createRealtimeSession(localStream, remoteAudioEl, token) {
       const pc = new RTCPeerConnection();
       pc.ontrack = e => remoteAudioEl.srcObject = e.streams[0];
       pc.addTrack(localStream.getTracks()[0]);
       const offer = await pc.createOffer();
       await pc.setLocalDescription(offer);
       const headers = { Authorization`Bearer ${token}`'Content-Type''application/sdp' };
       const opts = { method'POST'body: offer.sdp, headers };
       const resp = await fetch('https://api.openai.com/v1/realtime', opts);
       await pc.setRemoteDescription({ type'answer'sdpawait resp.text() });
       return pc;
   }

降低 GPT-4o 和 GPT-4o mini 的实时快照成本: 发布 gpt-4o-realtime-preview-2024-12-17,语音质量更高,输入更可靠,成本降低 60%。同时,推出 GPT-4o mini 的实时版本 gpt-4o-mini-realtime-preview-2024-12-17,以更低的成本提供相同的语音体验

更强大的响应控制:

  • • 并发带外响应: 支持后台任务,例如内容审核或分类,而不会中断用户的语音交互

  • • 自定义输入上下文: 允许开发者指定哪些会话项作为模型输入

  • • 受控响应时序: 支持使用服务器端语音活动检测(VAD),并手动触发语音回复,从而更好地控制时序和准确性

  • • 最大会话时长: 从 15 分钟增加到 30 分钟

3. 偏好微调:

微调 API 现在支持偏好微调,使开发者可以根据用户和开发者的偏好定制模型。该方法使用直接偏好优化(DPO)来比较模型响应对,教会模型区分偏好和非偏好输出。偏好微调在语气、风格和创造性等主观任务上尤为有效。

与监督微调相比,偏好微调具有以下差异:


监督微调 (SFT)偏好微调 (PFT)
目标鼓励模型生成正确的输出优化模型以倾向期望的行为

通过复制标记的输出通过加强偏好响应并降低非偏好响应的可能性
训练数据确切的输入和输出对通过人工注释、A/B 测试或合成数据生成的偏好和非偏好模型输出对
用例易于准备理想输出的任务,例如自定义代码格式和严格的正确性对于“更好”的响应是主观的,例如创意写作或总结的任务更有效

偏好微调已开始与合作伙伴进行测试,并已取得令人鼓舞的成果。偏好微调将首先应用于 gpt-4o-2024-08-06,并将很快支持 gpt-4o-mini-2024-07-18。

4. Go 和 Java SDK:

OpenAI 还推出了两个新的官方 SDK,分别针对 Go 和 Java,以完善现有的 Python、Node.js 和 .NET 库。

Go SDK: 适用于构建可扩展的 API 和后端系统。以下是 Go SDK 的示例代码:

    client := openai.NewClient()
    ctx := context.Background()
    prompt := "Write me a haiku about Golang."

    completion, err := client.Chat.Completions.New(
      ctx, 
      openai.ChatCompletionNewParams{
        Messages: openai.F(
          []openai.ChatCompletionMessageParamUnion{
            openai.UserMessage(prompt),
          },
        ),
        Model: openai.F(openai.ChatModelGPT4o),
      },
    )

Java SDK: 则适用于企业软件开发,提供类型化的请求和响应对象,以及管理 API 请求的实用工具。以下是 Java SDK 的示例代码:

    OpenAIClient client = OpenAIOkHttpClient.fromEnv();

    ChatCompletionCreateParams params = ChatCompletionCreateParams
        .builder()
        .message(List.of(
            ChatCompletionMessageParam.ofChatCompletionUserMessageParam(
                ChatCompletionUserMessageParam
                .builder()
                .role(ChatCompletionUserMessageParam.Role.USER)
                .content(
                    ChatCompletionUserMessageParam.Content.ofTextContent(
                        "What is the origin of Java's Duke mascot?"
                    )
                )
                .build()
            )
        ))
        .model(ChatModel.O1_PREVIEW)
        .build();

    ChatCompletion chatCompletion = client.chat().completions().create(params);

总结:

OpenAI 的此次更新为开发者带来了强大的工具和模型,旨在推动 AI 应用的创新和发展。无论你是构建新的语音应用、微调模型还是开发前沿的代理应用,这些更新都将为你带来更大的灵活性和效率。建议开发者查阅 API 文档,开始探索和实验这些新功能

参考:

https://openai.com/index/o1-and-new-tools-for-developers/




⭐星标AI寒武纪,好内容不错过

用你的在看告诉我~