低成本LLM應(yīng)用開發(fā)利器——開源FrugalGPT框架 原創(chuàng)
本文將詳細介紹一個LLM驅(qū)動型應(yīng)用程序的成本節(jié)約架構(gòu)FrugalGPT。
大型語言模型為計算機科學(xué)開辟了一個新的前沿;然而,它們(截至2024年)的運營成本遠遠高于計算機科學(xué)中的其他任何產(chǎn)品。對于希望將運營成本降至最低的公司來說,這是一個嚴重的問題。論文《FrugalGPT:如何在降低成本和提高性能的同時使用大型語言模型》(https://arxiv.org/abs/2305.05176)介紹了一種在保持質(zhì)量的同時顯著降低運營成本的框架。
如何衡量LLM的成本
當前,已經(jīng)存在多種方法可以確定LLM的運營成本(電力使用、計算成本等);但是,如果您使用第三方LLM(LLM-as-a-service),他們通常會根據(jù)您使用的詞元(token)向您收費。不同的供應(yīng)商(OpenAI、Anthropic、Cohere等)使用不同的詞元計數(shù)方式,但為了簡單起見,我們將考慮基于LLM處理的詞元數(shù)量的成本。
這種類型的框架最重要的部分是不同模型的成本不同。這篇論文的作者們構(gòu)造了一個方便的表格,表格數(shù)據(jù)可以很容易地展現(xiàn)成本間的差異,而且這些差異是非常顯著的。例如,在該表中,AI21的輸出詞元的成本比GPT-4的高出一個數(shù)量級!
本表數(shù)據(jù)來自上述FrugalGPT論文
作為成本優(yōu)化的一部分,我們總是需要找到一種方法來優(yōu)化答案質(zhì)量,同時還要盡可能將成本降至最低。通常,成本較高的模型往往是性能較高的模型,能夠給出比成本較低的模型更高質(zhì)量的答案。模型間的一般關(guān)系如下圖所示;其中,F(xiàn)rugalGPT的性能以紅色明顯展示在圖表的頂部位置。
注意,論文中的圖1c(即上圖)基于HEADLINES數(shù)據(jù)集創(chuàng)建,其根據(jù)LLM準確回答問題的頻率對各種LLM進行了比較。
級聯(lián)LLMS實現(xiàn)質(zhì)量最優(yōu)化
利用模型之間的巨大成本差異,研究人員推出的FrugalGPT系統(tǒng)能夠依賴于一系列的LLM實現(xiàn)給用戶提供答案。簡單地說,用戶查詢從最便宜的LLM開始;如果答案足夠好,則查詢結(jié)束(返回答案)。但是,如果答案不夠好,則將查詢傳遞給下一個最便宜的LLM。
研究人員使用了以下邏輯:如果一個價格較低的模型答錯了一個問題,那么價格較高的模型很可能會給出正確的答案。因此,假設(shè)價格越貴質(zhì)量就越高,為了最大限度地降低成本,規(guī)定模型鏈的訂購順序是從最便宜到最昂貴。
論文中的圖2e展示了LLM級聯(lián)式示意圖。
很明顯,圖中展示的這種設(shè)置架構(gòu)依賴于確定答案何時足夠好,何時不夠好。為了解決這個問題,作者創(chuàng)建了一個DistilBERT模型,該模型將接受問題和答案,然后為答案打分。由于DistilBERT模型比序列中的其他模型小得多(指數(shù)量級),因此與其他模型相比,運行它的成本幾乎可以忽略不計。
比查詢最佳LLM更好的平均質(zhì)量
人們可能會自然而然地問:如果質(zhì)量是最重要的,那么,為什么不查詢最好的LLM并研究如何降低運行最好LLM的成本呢?
當這篇論文發(fā)表時,GPT-4是作者們發(fā)現(xiàn)的最好的LLM;但是,GPT-4并不總是比FrugalGPT系統(tǒng)給出更好的答案?。ㄑ奂獾淖x者會將其視為本文前面的成本相對于性能圖表的一部分)論文作者們推測,正如最有能力的人并不總是給出正確的答案一樣,最復(fù)雜的模型也不會。因此,通過使用DistilBERT對答案進行過濾,您可以刪除任何不符合標準的答案,并增加獲得優(yōu)秀答案的幾率。
論文中的圖5a顯示了FrugalGPT優(yōu)于GPT-4的情形。
因此,這個系統(tǒng)不僅可以降低成本,而且可以提高質(zhì)量,而不僅僅是使用最好的LLM!
繼續(xù)研究節(jié)省成本問題
這篇論文的結(jié)果令人著迷。對我來說,這提出了一個問題,即我們?nèi)绾卧诓槐赝顿Y于進一步的模型優(yōu)化的情況下進一步節(jié)省成本。
實現(xiàn)這樣的可能性的一種辦法是將所有模型答案緩存在向量數(shù)據(jù)庫中,然后在開始LLM級聯(lián)之前進行相似性搜索以確定緩存中的答案是否有效。這將通過用相對較低成本的查詢和相似性操作代替昂貴的LLM操作來顯著降低成本。
此外,這會讓你懷疑過時的模型是否仍然值得進行成本優(yōu)化,就像你可以降低它們的每個詞元的成本一樣,它們?nèi)匀豢梢栽贚LM級聯(lián)上創(chuàng)造價值。同樣,這里的關(guān)鍵問題是,在什么時候通過在鏈上添加新的LLM來獲得遞減回報。
有待進一步研究的問題
隨著世界創(chuàng)造出更多的LLM,我們也越來越多地構(gòu)建使用它們的系統(tǒng),我們希望找到更加節(jié)約成本的方法來運行它們。本文討論的FrugalGPT論文為未來的開發(fā)人員創(chuàng)建了一個強大的框架,讓我非常想知道這個框架能走多遠。
在我看來,這個框架非常適合于基于不同用戶的答案統(tǒng)一型的一般查詢,例如導(dǎo)師型LLM。然而,對于答案因用戶而異的使用場景,例如充當客戶服務(wù)代理的LLM,評分系統(tǒng)必須知道LLM與誰交談。
總之,找到一個能為用戶特定交互而又節(jié)約成本的框架未來將是非常重要的。
主要參考文獻
[1] Chen, L.,等人,F(xiàn)rugalGPT: How to Use Large Language Models While Reducing Cost and Improving Performance (2023),arXiv。
譯者介紹
朱先忠,51CTO社區(qū)編輯,51CTO專家博客、講師,濰坊一所高校計算機教師,自由編程界老兵一枚。
原文標題:FrugalGPT and Reducing LLM Operating Costs,作者:Matthew Gunton
鏈接:https://towardsdatascience.com/frugalgpt-and-reducing-llm-operating-costs-ff1a6428bf96。
