挖掘GPT的隱藏實(shí)力就靠它了
本文經(jīng)AI新媒體量子位(公眾號ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
這個GitHub新項目,能讓ChatGPT完成復(fù)雜任務(wù),GPT3.5和GPT-4都支持。
它通過將問題拆解,并調(diào)用外部資源,提高了GPT的工作能力。
在它的調(diào)教下,GPT-4回答的準(zhǔn)確率從68%提高到了85%。
這個項目名叫SmartGPT,這個名字很直白地告訴了我們它的作用。
無論是直觀感受還是量化數(shù)據(jù),GPT在它的加持之下回答正確率都有提高。
我們不妨看看幾個經(jīng)典的問題。
晾干5件衣服需要5個小時,那么晾30件需要多長時間呢?
這是一個來自O(shè)penAI Playground的經(jīng)典問題。
只見GPT一頓操作猛如虎,又是推理又是列方程……
然而最后給出的答案是30個小時。
而經(jīng)過SmartGPT調(diào)教之后,不僅得到了正確答案,還指出了此前的思路為什么會出錯。
再來舉個栗子,同樣是來自于OpenAI Playground的問題。
假設(shè)有6升和12升的罐子各一個,如何量取6升水?
GPT的答案嘛……麻煩不說,能不能解釋下第五步的2升是怎么剩下的?
經(jīng)過調(diào)教之后嘛……雖然不理解為什么不直接用6升的,但也有很大進(jìn)步了。
我們也用倒拔垂楊柳的問題進(jìn)行了測試,提供了諸葛亮、孫悟空和林黛玉三個選項。
第一輪,GPT-4給出的答案是……孫悟空。
經(jīng)過調(diào)教之后,GPT-4終于發(fā)現(xiàn)了三個選項都是錯誤的。
同時還指出了孫悟空雖然沒有倒拔垂楊柳但是有相似的情節(jié)。
(《西游記》第二十五回中,孫悟空在五莊觀因憤怒將人參果樹拔倒)
需要說明的是,由于沒有GPT-4的API,測試是按照開發(fā)者介紹的方法手工完成的。
當(dāng)然了,個例并不能說明它的表現(xiàn),還是要用數(shù)據(jù)集測試一下。
開發(fā)者使用了MMLU數(shù)據(jù)集分別對調(diào)教前后的GPT-4進(jìn)行了測試。
結(jié)果顯示,未經(jīng)調(diào)教的版本只答對了68%,而調(diào)教后的版本答對了85%。
順便提一句,真人專家在測試中的平均成績是89.8%。
數(shù)學(xué)方面,同樣使用MMLU數(shù)據(jù)集進(jìn)行測試,開發(fā)者從中選擇了15個大學(xué)難度的數(shù)學(xué)問題。
雖然準(zhǔn)確率只有60%,但也是及格了,而且比原版GPT的40%已經(jīng)好了太多。
化整為零,逐步解決
開發(fā)者將SmartGPT中的環(huán)節(jié)形象地比作了職場中的角色:
“甲方”:SmartGPT用戶。
“經(jīng)理”:和“甲方”對接,把任務(wù)拆分成高級子任務(wù)并逐一匯報給“老板”。
“老板”:制定計劃,將高級子任務(wù)再次拆分,并分發(fā)給“員工”。
“員工”:接收任務(wù),編寫偽代碼,交給“小黃人”執(zhí)行。
“小黃人”:將偽代碼優(yōu)化成LUA腳本并運(yùn)行。
作為“甲方”的用戶,需要做的只是像使用普通GPT一樣輸入自己的問題,而不必給出額外指令。
SmartGPT會幫助用戶把問題拆分,然后按照步驟提交給GPT。
此前有人發(fā)現(xiàn),在輸入給GPT的指令中加入“l(fā)et’s think step by step”可以提高回復(fù)的準(zhǔn)確率。
同時,GPT-4具有回溯能力,能夠發(fā)現(xiàn)并指出自己此前回答中的錯誤。
以上兩個特性為SmartGPT的工作提供了重要支撐。
△ SmartGPT工作流程圖
在用戶輸入完指令后,SmartGPT對其進(jìn)行處理拆分,包括添加“l(fā)et’s think step by step”類似的表述。
然后它會將處理好的指令傳至GPT的API,并重復(fù)多次獲取不同的答案。
接著,SmartGPT會向API發(fā)送要求其回溯答案并選擇最優(yōu)解的指令。
最后,將GPT自己選擇的最佳答案展示給用戶。
上述步驟受到了三篇學(xué)術(shù)論文的啟發(fā)(圖中白框)。
這三篇論文的內(nèi)容分別關(guān)于“鏈?zhǔn)教崾痉绞健薄ⅰ皠討B(tài)記憶及讓LLM自我回溯”和“用對話提高LLM完成度”。
和其他工具相比,SmartGPT好在哪
AutoGPT等工具同樣可以用來優(yōu)化GPT,SmartGPT比它們好在哪里呢?
由于其工作原理是將任務(wù)進(jìn)行拆分,會形成邏輯鏈條,因此SmartGPT擁有更強(qiáng)大的推理能力。
實(shí)用性方面,SmartGPT由獨(dú)立的子模塊組成,使用者可以對它們進(jìn)行任意排列、組合和刪改。
此外,無論對于用戶還是開發(fā)人員,SmartGPT的配置過程都更為簡單。
不過開發(fā)者也坦言,這個項目剛推出不久,因此穩(wěn)定性有待考證,在內(nèi)存優(yōu)化方面還有所欠缺,消耗的環(huán)境資源也更多。
在項目推出之后,有網(wǎng)友表示我們低估了GPT的潛力,甚至包括OpenAI自己。
那么,你期待GPT未來的表現(xiàn)嗎?
SmartGPT目前暫無開箱可用版本,需要自行在Linux環(huán)境搭建,動手能力強(qiáng)的讀者可根據(jù)下面的項目頁面中的指示體驗(yàn):
項目地址:https://github.com/Cormanz/smartgpt
項目涉及到的論文:
[1]. https://arxiv.org/abs/2305.02897
[2]. https://arxiv.org/abs/2303.11366
[3]. https://arxiv.org/abs/2303.17071