GPT-4o加錢能變快,新功能“預測輸出”7秒完成原先23秒的任務

2024-11-08 01:35:18 2

OpenAI 出了個新功能,直接讓 ChatGPT 輸出的速度原地起飛!

這個功能叫做“預測輸出”(Predicted Outputs),在它的加持之下,GPT-4o 可以比原先快至多 5 倍

以程式設計為例,來感受一下這個 feel:

為啥會這麼快?用一句話來總結就是:

跳過已知內容,不用從頭開始重新生成。

因此,“預測輸出”就特別適合下面這些任務:

在文件中更新部落格文章

迭代先前的響應

重寫現有檔案中的程式碼

而且與 OpenAI 合作開發這個功能的 FactoryAI,也亮出了他們在程式設計任務上的資料:

從實驗結果來看,“預測輸出”加持下的 GPT-4o 響應時間比之前快了 2-4 倍,同時保持高精度。

並且官方還表示:

原先需要 70 秒完成的程式設計任務,現在只需要 20 秒。

值得注意的是,目前“預測輸出”功能僅支援 GPT-4o 和 GPT-4o mini 兩個模型,且是以 API 的形式。

對於開發者而言,這可以說是個利好訊息了。

網友們線上實測

訊息一出,眾多網友也是坐不住了,反手就是實測一波。

例如 Firecrawl 創始人 Eric Ciarla 就用“預測輸出”體驗了一把將部落格文章轉為 SEO(搜尋引擎最佳化)的內容,然後他表示:

速度真的超級快。

它就像在 API 呼叫中新增一個預測引數一樣簡單。

另一位網友則是在已有的程式碼之上,“喂”了一句 Prompt:

change the details to be random pieces of text.

將詳細資訊更改為隨機文字片段。

來感受一下這個速度:

也有網友曬出了自己實測的資料:

總而言之,快,是真的快。

怎麼做到的?

對於“預測輸出”的技術細節,OpenAI 在官方文件中也有所介紹。

OpenAI 認為,在某些情況下,LLM 的大部分輸出都是提前知道的。

如果你要求模型僅對某些文字或程式碼進行細微修改,就可以透過“預測輸出”,將現有內容作為預測輸入,讓延遲明顯降低。

例如,假設你想重構一段 C# 程式碼,將 Username 屬性更改為 Email :

你可以合理地假設檔案的大部分內容將不會被修改(例如類的文件字串、一些現有的屬性等)。

透過將現有的類檔案作為預測文字傳入,你可以更快地重新生成整個檔案。

使用“預測輸出”生成 tokens 會大大降低這些型別請求的延遲。

不過對於“預測輸出”的使用,OpenAI 官方也給出了幾點注意事項。

首先就是我們剛才提到的僅支援 GPT-4o 和 GPT-4o-mini 系列模型。

其次,以下 API 引數在使用預測輸出時是不受支援的:

n values greater than 1

logprobs

presence_penalty greater than 0

frequency_penalty greater than 0

audio options

modalities other than text

max_completion_tokens

tools - function calling is not supported

除此之外,在這份文件中,OpenAI 還總結了除“預測輸出”之外的幾個延遲最佳化的方法。

包括“加速處理 token”、“生成更少的 token”、“使用更少的輸入 token”、“減少請求”、“並行化”等等。

文件連結放在文末了,感興趣的小夥伴可以查閱哦~

One More Thing

雖然輸出的速度變快了,但 OpenAI 還有一個注意事項引發了網友們的討論:

When providing a prediction, any tokens provided that are not part of the final completion are charged at completion token rates.

在提供預測時,所提供的任何非最終完成部分的 tokens 都按完成 tokens 費率收費。

有網友也曬出了他的測試結果:

未採用“預測輸出”:5.2 秒,0.1555 美分

採用了“預測輸出”:3.3 秒,0.2675 美分

嗯,快了,也貴了。

OpenAI 官方文件:

https://platform.openai.com/docs/guides/latency-optimization#use-predicted-outputs

參考連結:

[1]https://x.com/OpenAIDevs/status/1853564730872607229

[2]https://x.com/romainhuet/status/1853586848641433834

[3]https://x.com/GregKamradt/status/1853620167655481411