ChatGPT自己會選模型了!微軟亞研院+浙大爆火新論文,HuggingGPT項目已開源
ChatGPT引爆的AI熱潮也「燒到了」金融圈。
近來,彭博社的研究人員也開發(fā)了一個金融領(lǐng)域的GPT——Bloomberg GPT,有500億參數(shù)。
GPT-4的橫空出世,讓許多人淺嘗到了大型語言模型的強大能力。
然而,OpenAI不open。業(yè)界許多人紛紛開始做GPT的克隆,而且許多ChatGPT平替的模型都是基于已經(jīng)開源的模型上構(gòu)建,尤其是Meta開源的LLMa模型。
比如,斯坦福的Alpaca、UC伯克利聯(lián)手CMU、斯坦福等駱馬(Vicuna),初創(chuàng)公司Databricks的Dolly等等。
針對不同任務(wù)和應(yīng)用構(gòu)建的各種類ChatGPT的大型語言模型,在整個領(lǐng)域呈現(xiàn)出百家爭鳴之勢。
那么問題來了,研究者如何選擇合適的模型,甚至是多個模型,去完成一項復(fù)雜的任務(wù)呢?
近日,微軟亞洲研究院和浙江大學(xué)的研究團隊,發(fā)布了一個大模型協(xié)作系統(tǒng)HuggingGPT。
論文地址:https://arxiv.org/pdf/2303.17580.pdf
HuggingGPT利用ChatGPT作為控制器,連接HuggingFace社區(qū)中的各種AI模型,來完成多模態(tài)復(fù)雜任務(wù)。
這意味著,你將擁有一種超魔法,通過HuggingGPT,便可擁有多模態(tài)能力,文生圖、文生視頻、語音全能拿捏了。
HuggingGPT搭橋
研究者指出解決大型語言模型(LLMs)當(dāng)前的問題,可能是邁向AGI的第一步,也是關(guān)鍵的一步。
因為當(dāng)前大型語言模型的技術(shù)仍然存在著一些缺陷,因此在構(gòu)建 AGI 系統(tǒng)的道路上面臨著一些緊迫的挑戰(zhàn)。
- 受限于文本生成的輸入和輸出形式,當(dāng)前LLMs缺乏處理復(fù)雜信息(如視覺和語音)的能力;
- 在實際應(yīng)用場景中,一些復(fù)雜任務(wù)通常由多個子任務(wù)組成,因此需要多個模型的調(diào)度和協(xié)作,這也超出了語言模型的能力范圍;
- 對于一些具有挑戰(zhàn)性的任務(wù),LLMs在零樣本或少樣本設(shè)置下表現(xiàn)出優(yōu)異的結(jié)果,但它們?nèi)匀槐纫恍<胰酰ㄈ缥⒄{(diào)模型)。
為了處理復(fù)雜的人工智能任務(wù),LLMs應(yīng)該能夠與外部模型協(xié)調(diào),以利用它們的能力。因此,關(guān)鍵點在于如何選擇合適的中間件來橋接LLMs和AI模型。
研究者發(fā)現(xiàn),每個AI模型都可以通過總結(jié)其模型功能表示為一種語言形式。
由此,便引入了一個概念,「語言是LLMs,即ChatGPT,連接人工智能模型的通用接口」。
通過將AI模型描述納入提示中,ChatGPT可以被視為管理人工智能模型的大腦。因此,這一方法可以讓ChatGPT能夠調(diào)用外部模型,來解決實際任務(wù)。
簡單來講,HuggingGPT是一個協(xié)作系統(tǒng),并非是大模型。
它的作用就是連接ChatGPT和HuggingFace,進而處理不同模態(tài)的輸入,并解決眾多復(fù)雜的人工智能任務(wù)。
所以,HuggingFace社區(qū)中的每個AI模型,在HuggingGPT庫中都有相應(yīng)的模型描述,并將其融合到提示中以建立與ChatGPT的連接。
隨后,HuggingGPT將ChatGPT作為大腦來確定問題的答案。
到目前為止,HuggingGPT已經(jīng)圍繞ChatGPT在HuggingFace上集成了數(shù)百個模型,涵蓋了文本分類、目標檢測、語義分割、圖像生成、問答、文本到語音、文本到視頻等24個任務(wù)。
實驗結(jié)果證明,HuggingGPT擁有處理多模態(tài)信息和復(fù)雜人工智能任務(wù)的能力。
四步工作流程
HuggingGPT整個工作流程可以分為如下四個階段:
- 任務(wù)規(guī)劃:ChatGPT解析用戶請求,將其分解為多個任務(wù),并根據(jù)其知識規(guī)劃任務(wù)順序和依賴關(guān)系
- 模型選擇:LLM根據(jù)HuggingFace中的模型描述將解析后的任務(wù)分配給專家模型
- 任務(wù)執(zhí)行:專家模型在推理端點上執(zhí)行分配的任務(wù),并將執(zhí)行信息和推理結(jié)果記錄到LLM中
- 響應(yīng)生成:LLM總結(jié)執(zhí)行過程日志和推理結(jié)果,并將摘要返回給用戶
多模態(tài)能力,有了
實驗設(shè)置
實驗中,研究者采用了gpt-3.5-turbo和text-davinci-003這兩種GPT模型的變體作為大型語言模型(LLMs),這些模型可以通過OpenAI API公開訪問。
為了使LLM的輸出更加穩(wěn)定,我們將解碼溫度設(shè)置為0。
同時,為了調(diào)整LLM的輸出以使其符合預(yù)期格式,我們在格式約束上設(shè)置了logit_bias為0.1。
研究人員在如下表格中提供了為任務(wù)規(guī)劃、模型選擇和反應(yīng)生成階段而設(shè)計的詳細提示,其中{{variable}}表示在提示被輸入LLM之前,需要用相應(yīng)的文本填充域值。
研究人員在廣泛的多模態(tài)任務(wù)上測試了HuggingGPT。
在ChatGP和專家模型的配合下,HuggingGPT可以解決語言、圖像、音頻和視頻等多種模式的任務(wù),包含了檢測、生成、分類和問題回答等多種形式的任務(wù)。
雖然這些任務(wù)看起來很簡單,但掌握HuggingGPT的基本能力是解決復(fù)雜任務(wù)的前提條件。
比如,視覺問答任務(wù):
文本生成:
文生圖:
HuggingGPT可以整合多個輸入的內(nèi)容來進行簡單的推理??梢园l(fā)現(xiàn),即使有多個任務(wù)資源,HuggingGPT也能將主要任務(wù)分解成多個基本任務(wù),最后整合多個模型的推理結(jié)果,得到正確答案。
此外,研究人員通過測試評估了HuggingGPT在復(fù)雜任務(wù)情況下的有效性。
就HuggingGPT處理多項復(fù)雜任務(wù)的能力進行了展示。
當(dāng)處理多個請求的時候,可能包含多個隱含任務(wù)或者需要等多方面的信息,這時依靠一個專家模型來解決是不夠的。
而HuggingGPT可以通過任務(wù)規(guī)劃組織多個模型的協(xié)作。
一個用戶請求中可能明確包含多個任務(wù):
下圖展示了HuggingGPT在多輪對話場景下應(yīng)對復(fù)雜任務(wù)的能力。
用戶將一個復(fù)雜的請求分成幾個步驟,通過多輪請求達到最終目標。結(jié)果發(fā)現(xiàn),HuggingGPT可以通過任務(wù)規(guī)劃階段的對話情境管理來跟蹤用戶請求的情境狀態(tài),并且可以很好地解決用戶提到的請求資源以及任務(wù)規(guī)劃。
「賈維斯」開源
目前,這一項目已經(jīng)在GitHub上開源,但是代碼并沒有完全公布。
有趣的是,研究者給這個項目命名為《鋼鐵俠》中的賈維斯,無敵AI這就來了。
JARVIS:一個連接LLMs和ML社區(qū)的系統(tǒng)
順便提一句,HuggingGPT需要有了OpenAI的API才可以使用。
網(wǎng)友:研究的未來
JARVIS / HuggingGPT就像此前Meta提出的Toolformer一樣,都在充當(dāng)著連接器的作用。
甚至,包括ChatGPT plugins也是如此。
網(wǎng)友稱,「我強烈懷疑第一個人工通用智能(AGI)的出現(xiàn)將比預(yù)期更早。它將依靠「膠水」人工智能,能夠智能地將一系列狹義人工智能和實用工具粘合在一起。
我獲得了訪問插件權(quán)限,這使它一夜之間從數(shù)學(xué)菜雞變成了數(shù)學(xué)天才。當(dāng)然,這只是一個小步驟,但卻預(yù)示著未來的發(fā)展趨勢。
我預(yù)測,在接下來的一年左右,我們將看到一種人工智能助手,它與數(shù)十個大型語言模型(LLMs)及類似工具相連,而終端用戶只需向其助手發(fā)出指令,讓其為他們完成任務(wù)。這個科幻般的時刻即將到來。
還有網(wǎng)友稱,這就是未來的研究方法。
GPT在一大堆工具面前,知道如何使用它們了。