OpenAI 出了個(gè)新功能,直接讓 ChatGPT 輸出的速度原地起飛!
這個(gè)功能叫做“預(yù)測(cè)輸出”(Predicted Outputs),在它的加持之下,GPT-4o 可以比原先快至多 5 倍。
以編程為例,來(lái)感受一下這個(gè) feel:
為啥會(huì)這么快?用一句話(huà)來(lái)總結(jié)就是:
跳過(guò)已知內(nèi)容,不用從頭開(kāi)始重新生成。
因此,“預(yù)測(cè)輸出”就特別適合下面這些任務(wù):
在文檔中更新博客文章
迭代先前的響應(yīng)
重寫(xiě)現(xiàn)有文件中的代碼
而且與 OpenAI 合作開(kāi)發(fā)這個(gè)功能的 FactoryAI,也亮出了他們?cè)诰幊倘蝿?wù)上的數(shù)據(jù):
從實(shí)驗(yàn)結(jié)果來(lái)看,“預(yù)測(cè)輸出”加持下的 GPT-4o 響應(yīng)時(shí)間比之前快了 2-4 倍,同時(shí)保持高精度。
并且官方還表示:
原先需要 70 秒完成的編程任務(wù),現(xiàn)在只需要 20 秒。
值得注意的是,目前“預(yù)測(cè)輸出”功能僅支持 GPT-4o 和 GPT-4o mini 兩個(gè)模型,且是以 API 的形式。
對(duì)于開(kāi)發(fā)者而言,這可以說(shuō)是個(gè)利好消息了。
網(wǎng)友們?cè)诰€實(shí)測(cè)
消息一出,眾多網(wǎng)友也是坐不住了,反手就是實(shí)測(cè)一波。
例如 Firecrawl 創(chuàng)始人 Eric Ciarla 就用“預(yù)測(cè)輸出”體驗(yàn)了一把將博客文章轉(zhuǎn)為 SEO(搜索引擎優(yōu)化)的內(nèi)容,然后他表示:
速度真的超級(jí)快。
它就像在 API 調(diào)用中添加一個(gè)預(yù)測(cè)參數(shù)一樣簡(jiǎn)單。
另一位網(wǎng)友則是在已有的代碼之上,“喂”了一句 Prompt:
change the details to be random pieces of text.
將詳細(xì)信息更改為隨機(jī)文本片段。
來(lái)感受一下這個(gè)速度:
也有網(wǎng)友曬出了自己實(shí)測(cè)的數(shù)據(jù):
總而言之,快,是真的快。
怎么做到的?
對(duì)于“預(yù)測(cè)輸出”的技術(shù)細(xì)節(jié),OpenAI 在官方文檔中也有所介紹。
OpenAI 認(rèn)為,在某些情況下,LLM 的大部分輸出都是提前知道的。
如果你要求模型僅對(duì)某些文本或代碼進(jìn)行細(xì)微修改,就可以通過(guò)“預(yù)測(cè)輸出”,將現(xiàn)有內(nèi)容作為預(yù)測(cè)輸入,讓延遲明顯降低。
例如,假設(shè)你想重構(gòu)一段 C# 代碼,將 Username 屬性更改為 Email :
你可以合理地假設(shè)文件的大部分內(nèi)容將不會(huì)被修改(例如類(lèi)的文檔字符串、一些現(xiàn)有的屬性等)。
通過(guò)將現(xiàn)有的類(lèi)文件作為預(yù)測(cè)文本傳入,你可以更快地重新生成整個(gè)文件。
使用“預(yù)測(cè)輸出”生成 tokens 會(huì)大大降低這些類(lèi)型請(qǐng)求的延遲。
不過(guò)對(duì)于“預(yù)測(cè)輸出”的使用,OpenAI 官方也給出了幾點(diǎn)注意事項(xiàng)。
首先就是我們剛才提到的僅支持 GPT-4o 和 GPT-4o-mini 系列模型。
其次,以下 API 參數(shù)在使用預(yù)測(cè)輸出時(shí)是不受支持的:
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 還總結(jié)了除“預(yù)測(cè)輸出”之外的幾個(gè)延遲優(yōu)化的方法。
包括“加速處理 token”、“生成更少的 token”、“使用更少的輸入 token”、“減少請(qǐng)求”、“并行化”等等。
文檔鏈接放在文末了,感興趣的小伙伴可以查閱哦~
One More Thing
雖然輸出的速度變快了,但 OpenAI 還有一個(gè)注意事項(xiàng)引發(fā)了網(wǎng)友們的討論:
When providing a prediction, any tokens provided that are not part of the final completion are charged at completion token rates.
在提供預(yù)測(cè)時(shí),所提供的任何非最終完成部分的 tokens 都按完成 tokens 費(fèi)率收費(fèi)。
有網(wǎng)友也曬出了他的測(cè)試結(jié)果:
未采用“預(yù)測(cè)輸出”:5.2 秒,0.1555 美分
采用了“預(yù)測(cè)輸出”: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
本文來(lái)自微信公眾號(hào):微信公眾號(hào)(ID:QbitAI),作者:關(guān)注前沿科技
廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。