成本 300 美元、比肩 ChatGPT 和 Bard,低成本聊天機器人 Vicuna 來了(聊天機器人 價格)
作者 | 凌敏、核子可樂
大語言模型(LLM)的快速發(fā)展徹底顛覆了聊天機器人系統(tǒng),實現(xiàn)了前所未有的智能水平。OpenAI 的 ChatGPT 就是其中最典型的代表。雖然 ChatGPT 的性能令人印象深刻,但目前我們并不清楚 ChatGPT 的訓練和架構細節(jié),這也阻礙了該領域的研究和開源創(chuàng)新。
受 Meta LLaMA 和 Stanford Aplaca 項目的啟發(fā),近日,來自加州大學伯克利分校、卡內基梅隆大學、斯坦福大學、加州大學圣迭戈分校的研究人員們共同推出了一個開源聊天機器人 Vicuna-13B。這是一款通過 LLaMA 模型微調和 ShareGPT 用戶共享對話訓練而成的開源聊天機器人。以 GPT-4 作為比照對象的初步評估表明,Vicuna-13B 的質量可達 OpenAI ChatGPT 和 Google Bard 的 90% 以上,并在超過 90% 的情況下優(yōu)于 LLaMA 和 Stanford Alpaca 等其他模型。
值得一提的是,Vicuna-13B 的訓練成本僅為 300 美元(約合 2062 元人民幣)。目前,Vicuna-13B 訓練和服務代碼及在線演示可向非商業(yè)用例開放。
在首個版本中,研究人員將在 GitHub repo 上共享訓練、服務和評估代碼: https://github.com/lm-sys/FastChat。
Vicuna-13B 模型的權重鏈接:https://github.com/lm-sys/FastChat#vicuna-weights
Vicuna-13B 演示鏈接:https://chat.lmsys.org/
Vicuna 是如何煉成的?
工作流程概覽
在一篇文章中,研究人員介紹了整體的工作流程。
首先,研究人員從 ShareGPT.com(一個供用戶分享 ChatGPT 對話內容的網站)收集了約 7 萬個對話,并增強了 Alpaca 提供的訓練腳本,以更好地處理多輪對話和長序列。訓練是在一天內通過 8 個 A100 GPU 配合 PyTOrch FSDP 完成的。為了提供演示服務,研究人員建立起一個輕量級的分布式服務系統(tǒng),創(chuàng)建了一組 80 個不同問題,利用 GPT-4 來判斷模型輸出,借此對模型質量做初步評估。
為了比較兩套不同模型,研究人員將各個模型的輸出組合成各問題的單一提示,再將提示發(fā)送至 GPT-4,由 GPT-4 評估哪個模型做出的響應更好。LLaMA、Alpaca、ChatGPT 和 Vicuna 的具體比較如下表一所示。
表一:幾大知名模型間的性能比較
模型名稱 | LLaMA | Alpaca | Vicuna | Bard/ChatGPT |
數(shù)據(jù)集 | 公開可用數(shù)據(jù)集(1T令牌) | 來自davinci-003 API的Self-instruct(52K樣本) | 用戶共享的對話(70K樣本) | N/A |
訓練代碼 | N/A | 可用 | 可用 | N/A |
評估指標 | 學術基準 | 作者評估 | GPT-4評估 | 混合 |
訓練成本(7B) | 82K個GPU時 | 500美元(數(shù)據(jù)) 100美元(訓練) | 140美元(訓練) | N/A |
訓練成本(13B) | 135K個GPU時 | N/A | 300美元(訓練) | N/A |
前文提到,Vicuna 是通過從 ShareGPT.com 的公共 API 收集到的約 70K 用戶共享對話對 LLaMA 基礎模型微調而成。為了確保數(shù)據(jù)質量,研究人員將 HTML 轉換回 markdown 并過濾掉了一些不合適或低質量的樣本。此外,研究人員還將冗長的對話拆分成多個小部分,以適應模型所能支持的最大上下文長度。
訓練方法以 Standford Alpaca 為基礎,并做出以下改進。
- 內存優(yōu)化:為了使 Vicuna 能夠理解長上下文,研究人員將 Alpaca 的最大上下文長度從 512 擴展至 2048,但這也大大增加了 GPU 內存需求。研究人員利用梯度檢查點和閃存注意力的方式來解決內存壓力。
- 多輪對話:研究人員調整訓練損失以考慮多輪對話,并僅根據(jù)聊天機器人的輸出計算微調損失。
- 通過競價實例降低成本:40 倍的大規(guī)模數(shù)據(jù)集和 4 倍的訓練序列長度對訓練成本提出了很大挑戰(zhàn)。為此研究人員使用 SkyPilot 托管點來降低成本,希望使用更便宜的競價實例并配合自動恢復以搶占/切換區(qū)域。該解決方案將 7B 模型的訓練成本從 500 美元削減至 140 美元左右,將 13B 模型的訓練成本從 1000 美元削減至 300 美元。研究人員構建了一套服務系統(tǒng),能夠使用分布式工作節(jié)點為多個模型提供服務,它支持來自本地集群和云 GPU 工作節(jié)點的多種靈活插件。通過使用 SkyPilot 中的容錯控制器和托管點功能,這套服務系統(tǒng)能夠很好地與來自多種云環(huán)境的低成本競價實例配合運作,借此降低服務成本。其目前還只是輕量級實現(xiàn),研究人員正努力將更多最新研究成果集成進來。
Vicuna 的優(yōu)勢與局限性
研究人員展示了 Alpaca 和 Vicuna 在基準問題上的回答示例。在使用 70K 用戶共享的 ChatGPT 對話對 Vicuna 進行微調之后,與 Alpaca 相比,Vicuna 能夠給出更詳盡、結構更合理的答案(參見下圖),且質量幾乎與 ChatGPT 持平。
然而,評估聊天機器人絕非易事。隨著 GPT-4 的最新進展,研究人員很好奇其能力是否已經達到了與人類相仿的水平,甚至可用于實現(xiàn)基準生成及性能評估的自動化框架。初步調查發(fā)現(xiàn),在比較聊天機器人的答案時,GPT-4 可以給出非常一致的排名和詳細評估(參見上圖中的 GPT-4 判斷示例)。
基于 GPT-4 的初步評估(見下圖),可以看到 Vicuna 的能力已經達到 Bard/ChatGPT 的 90%。雖然這套框架能在一定程度上反映聊天機器人的潛力,但方法本身并不夠嚴格。目前為聊天機器人建立評估系統(tǒng)仍是一個懸而未決的難題,尚需進一步研究。
GPT-4對相對響應質量做出的評估
與其他大語言模型類似,Vicuna 也具有一定局限性。例如,它不擅長涉及推理或數(shù)學的任務,而且在確切識別自身或確保所輸出事實的準確性方面可能存在局限。此外,它并沒有得到充分優(yōu)化以保證安全性,或緩解潛在的毒性或偏見。為了解決安全問題,研究人員使用 OpenAI 的審核 API 來過濾掉在線演示中的不當用戶輸入。盡管還有問題,但研究人員預計 Vicuna 將作為未來解決這些局限的開放起點。
如何評估聊天機器人?
對 AI 聊天機器人的評估是個老大難問題,需要驗證其語言理解、推理和上下文感知能力。隨著 AI 聊天機器人變得越來越先進,當前的開放基準可能不足以做出準確判斷。例如,Standford Alpaca 使用的評估數(shù)據(jù)集 self-instruct,在領先聊天機器人中就能得到有效解答,導致人類很難辨別各模型間的性能差異。更多限制還包括訓練/測試數(shù)據(jù)污染及創(chuàng)建新基準可能帶來的高昂成本。
為了解決這些問題,研究人員提出了一套基于 GPT-4 的評估框架,借此自動評估聊天機器人性能。
首先,研究人員設計了 8 種問題類型,包括費米問題、角色扮演場景及編碼/數(shù)學任務,借此測試聊天機器人的各方面性能。通過認真設計的提示工程,GPT-4 得以生成基準模型難以解決的多樣化、極具挑戰(zhàn)的問題。研究人員為各個類別具體選擇 10 個問題,并從 5 款聊天機器人處收集答案:LLaMA、Alpaca、ChatGPT、Bard 以及 Vicuna。
之后,研究人員要求 GPT-4 根據(jù)指導性、相關性、準確性和細節(jié)度秋評估答案質量。最終發(fā)現(xiàn),GPT-4 不僅能夠生成相對一致的評分,還能具體解釋為什么給出這樣的評分(詳見https://vicuna.lmsys.org/eval)。但是,研究人員也注意到 GPT-4 似乎不太擅長判斷編碼/數(shù)學任務。
GPT-4對各模型響應給出的比較評分
如上圖所示,為各基準與 Vicuna 間的比較結果。在超過 90%的問題中,GPT-4 更支持 Vicuna 而非其他先進開源模型(LLaMA 和 Alpaca)的答案,而且在性能上與專有模型(ChatGPT、Bard)等相差不大。在 45%的問題中,GPT-4 都將 Vicuna 的回答評為優(yōu)于或等于 ChatGPT 的回答。GPT-4 會以 10 分為滿分為各個回答做出定量評分,因此研究人員將各個模型在 80 個問題上獲得的分數(shù)相加以計算其與 Vicuna 之間的總分比較。
如表二所示,Vicuna 的部分為 ChatGPT 的 92%。盡管近來取得巨大進步,但這些聊天機器人仍有自己的局限,例如難以解決基本的數(shù)學問題且編碼能力有限。
表二:GPT-4 給出的評估總分
基準模型 | 基準得分 | Vicuna得分 |
LLaMA-13B | 513.0 | 694.0 |
Alpaca-13B | 583.0 | 704.0 |
Bard | 664.0 | 655.5 |
ChatGPT | 693.0 | 638.0 |
雖然這套評估框架確實具有一定的聊天機器人評估潛力,但尚不足以作為嚴格或成熟的評判方法,特別是無法處理大語言模型容易產生的幻覺問題。為聊天機器人開發(fā)一套全面、標準化的評估系統(tǒng),仍是一個懸而未決、有待進一步研究的問題。
參考鏈接:
https://vicuna.lmsys.org/
本文轉載來源:
https://www.infoq.cn/news/cSP1Qaue8AbEhQY1QiQ5