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

人工智能 新闻
OpenAI 的此次更新为开发者带来了强大的工具和模型,旨在推动 AI 应用的创新和发展。无论你是构建新的语音应用、微调模型还是开发前沿的代理应用,这些更新都将为你带来更大的灵活性和效率。建

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-17

o1-preview

通用

GPQA diamond

75.7

73.3


MMLU (pass @1)

91.8

90.8

编码

SWE-bench Verified

48.9

41.3


LiveCodeBench

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 (零售)

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', sdp: await 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 文档,开始探索和实验这些新功能

责任编辑:张燕妮 来源: AI寒武纪
相关推荐

2024-09-24 11:01:03

2024-09-13 10:06:21

2024-09-13 09:26:17

2024-10-05 12:00:00

2024-09-13 06:32:25

2024-12-05 10:16:14

2024-10-05 00:00:00

2024-12-09 11:06:31

2023-05-10 15:08:26

OpenAI语言模型人工智能

2011-05-11 08:58:48

Android 2.4Android 3.1Google I

2023-05-10 15:39:49

人工智能语言模型OpenAI

2014-11-14 09:41:53

Java工具

2011-12-02 09:50:31

google

2023-09-06 10:44:09

Nitrux 3.0工具

2024-11-07 15:40:00

2024-12-09 07:00:00

o1-mini模型强化微调OpenAI

2024-09-19 18:03:31

2024-11-29 13:57:38

2024-09-18 09:17:00

OpenAI模型开源

2024-03-05 09:00:00

大型语言模型Mistral-7b人工智能
点赞
收藏

51CTO技术栈公众号