OpenAI 發布 o1 及開發者新工具:模型升級、實時 API 優化、偏好微調等重磅更新
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 文檔,開始探索和實驗這些新功能