博客專欄

EEPW首頁(yè) > 博客 > 獨(dú)家 | 何時(shí)微調(diào)大語(yǔ)言模型?

獨(dú)家 | 何時(shí)微調(diào)大語(yǔ)言模型?

發(fā)布人:數(shù)據(jù)派THU 時(shí)間:2023-08-04 來(lái)源:工程師 發(fā)布文章

領(lǐng)英(LinkedIn)賬號(hào)的fork中向我提出了這樣一個(gè)問(wèn)題:如何微調(diào)諸如LLaMA的開(kāi)源模型。公司正在尋找銷售LLM托管和部署解決方案的業(yè)務(wù)案例,將人工智能和LLM應(yīng)用于具體的產(chǎn)品。我問(wèn)他們?yōu)槭裁床皇褂孟馛hatGPT這樣的非開(kāi)源模型時(shí),他們沒(méi)有給出正確的答案。所以我決定寫這篇文章來(lái)解答如何利用llm解決日常業(yè)務(wù)問(wèn)題。


非開(kāi)源API的案例


是否嘗試過(guò)用ChatGPT的API 實(shí)現(xiàn)具體案例?如果想實(shí)現(xiàn)文本總結(jié)或回答問(wèn)題,或者只是想在網(wǎng)站上找一個(gè)聊天機(jī)器人,通常情況下,ChatGPT在這些語(yǔ)言任務(wù)上會(huì)做得很好。


人們普遍認(rèn)為,非開(kāi)源的模型太貴了,1000個(gè) token需要花費(fèi)0.002美元,為什么不可以在100個(gè)樣本上做一下嘗試,并評(píng)估大語(yǔ)言模型是否為特定應(yīng)用程序的最佳選擇。事實(shí)上,在這個(gè)范圍內(nèi)每天至少有數(shù)千次的API調(diào)用,ChatGPT API比博客中提到的開(kāi)源模型要便宜得多。


其中一個(gè)觀點(diǎn)是,假設(shè)需要回答成千上萬(wàn)份文件中的問(wèn)題,此時(shí),對(duì)這些數(shù)據(jù)進(jìn)行訓(xùn)練或微調(diào)開(kāi)源模型,并詢問(wèn)利用這些數(shù)據(jù)微調(diào)模型會(huì)不會(huì)更容易一些?事實(shí)證明,這并不像聽(tīng)起來(lái)那么簡(jiǎn)單(出于各種原因,將在下文關(guān)于微調(diào)標(biāo)簽數(shù)據(jù)一節(jié)中討論)。


但是ChatGPT有一個(gè)簡(jiǎn)單的解決方案,可以根據(jù)包含數(shù)千個(gè)文檔的上下文來(lái)回答問(wèn)題。它將所有文檔分為小塊文本存儲(chǔ)到數(shù)據(jù)庫(kù)中。

圖片 

圖片將文檔下載到數(shù)據(jù)庫(kù)中進(jìn)行規(guī)?;疞LM查詢| Skanda Vivek


將數(shù)據(jù)從模型架構(gòu)中卸載到一個(gè)包含文檔塊的數(shù)據(jù)庫(kù)中,為模型提供回答問(wèn)題所必要的信息。


通過(guò)計(jì)算問(wèn)題和文檔塊之間的相似性,就可以找到具有相關(guān)性的文檔,通過(guò)將文檔塊和問(wèn)題轉(zhuǎn)換為單詞嵌入向量,并計(jì)算文檔塊和問(wèn)題之間的余弦相似度,最后只選擇特定余弦相似度以上的文檔塊作為相關(guān)上下文。


最后,問(wèn)題和上下文可以組合成如下的提示符,并入像ChatGPT這樣的大語(yǔ)言模型API:

圖片 

圖片


大家可能會(huì)問(wèn)——為什么不將整個(gè)文檔和問(wèn)題輸入到提示中,而是分成小的文檔塊呢?之所以將文檔分割成塊,而沒(méi)有將所有文檔合并成一個(gè)提示符,是因?yàn)榇笳Z(yǔ)言模型對(duì)最大輸入和輸出長(zhǎng)度有一定的限制。對(duì)于ChatGPT來(lái)說(shuō),最大輸入和輸出長(zhǎng)度是4096個(gè) token,大約是6-7頁(yè)的文本。


將文檔下載到數(shù)據(jù)庫(kù)中,并使用非開(kāi)源的LLM API進(jìn)行查詢,可能在文檔中明顯存在答案的情況下工作良好。但在很多情況下,可能會(huì)產(chǎn)生次優(yōu)結(jié)果,比如想讓ChatGPT對(duì)一個(gè)話題提供專家視角——例如,對(duì)美國(guó)經(jīng)濟(jì)的金融前景進(jìn)行推測(cè)。


 專業(yè)領(lǐng)域LLM


好吧,如果已經(jīng)試用了ChatGPT或BARD,但你并不喜歡它。答案確實(shí)有點(diǎn)離譜。例如,如果問(wèn)ChatGPT:


“美國(guó)經(jīng)濟(jì)的通脹可能會(huì)持續(xù)多久?”


 它返回下述答案:


作為一個(gè)人工智能語(yǔ)言模型,我無(wú)法確定地預(yù)測(cè)未來(lái),特別是關(guān)于復(fù)雜的經(jīng)濟(jì)系統(tǒng)。但是,我可以為您提供一些信息和觀點(diǎn),以幫助您了解當(dāng)前的情況。


通貨膨脹是一種復(fù)雜的現(xiàn)象,可以由多種因素引起,如需求增加、供應(yīng)限制等….


不幸的是,上述答案還不夠好。當(dāng)然,還可以給ChatGPT提示一些關(guān)于美聯(lián)儲(chǔ)主席杰羅姆·鮑威爾聲明的消息。但這并沒(méi)有給你該領(lǐng)域的豐富經(jīng)驗(yàn),如果繼續(xù)交談,可能會(huì)得出-好吧,杰羅姆·鮑威爾,還有誰(shuí)!或者是另一個(gè)專家。


考慮如何成為某一領(lǐng)域的專家,雖然可以閱讀關(guān)于該領(lǐng)域的書籍,但也可以與該領(lǐng)域的專家互動(dòng),從經(jīng)驗(yàn)中學(xué)習(xí)。雖然ChatGPT已經(jīng)接受過(guò)了大量金融書籍的訓(xùn)練,但它可能還沒(méi)有接受過(guò)頂級(jí)金融專家或其他特定領(lǐng)域的專家的訓(xùn)練。那么,如何讓LLM成為一個(gè)在金融領(lǐng)域的“專家”呢?這就是微調(diào)的作用所在。


微調(diào)LLM


在討論微調(diào)大語(yǔ)言模型之前,首先談?wù)勏馚ERT這樣的小語(yǔ)言模型的微調(diào),這在大語(yǔ)言模型出現(xiàn)之前很常見(jiàn)。對(duì)于像BERT和RoBERTa這樣的模型,微調(diào)相當(dāng)于傳遞一些上下文和標(biāo)簽。將任務(wù)定義好,比如從上下文中提取答案,或者將電子郵件分類為垃圾郵件和非垃圾郵件。我寫了一些關(guān)于這些方面的博客文章,如果對(duì)微調(diào)語(yǔ)言模型感興趣,它們可能會(huì)很有用:

圖片 

圖片

大型語(yǔ)言模型(llm)之所以如此流行,是因?yàn)樗鼈兛梢酝ㄟ^(guò)改變提示的方式無(wú)縫地執(zhí)行多個(gè)任務(wù),而且有類似于在另一端與人交談的經(jīng)驗(yàn)?,F(xiàn)在需要對(duì)LLM做出調(diào)整,使其成為某一主題方面的專家,并像一個(gè)“人”一樣參與對(duì)話。這與在特定的任務(wù)上微調(diào)BERT模型截然不同。


最早的開(kāi)源突破之一是斯坦福大學(xué)的一組研究人員,他們對(duì)7B LLaMa模型(今年早些時(shí)候由Meta發(fā)布)進(jìn)行了微調(diào),他們?cè)?2K指令下使用不到600$實(shí)現(xiàn)了微調(diào),并稱之為 Alpaca。不久之后,Vicuna團(tuán)隊(duì)發(fā)布了一個(gè)130億個(gè)參數(shù)的模型,它達(dá)到了ChatGPT質(zhì)量的90%。


最近,又發(fā)布了MPT-7B transformer,它可以攝入65k個(gè)token,是ChatGPT輸入大小的16倍!訓(xùn)練從頭開(kāi)始,為期9.5天,花費(fèi)200k$。作為專業(yè)領(lǐng)域LLM的一個(gè)例子,Bloomberg 發(fā)布了一個(gè)類似gpt的模型 BloombergGPT,為金融領(lǐng)域而構(gòu)建,也是從零開(kāi)始訓(xùn)練。


在訓(xùn)練和微調(diào)開(kāi)源模型方面的最新進(jìn)展是中小型公司通過(guò)定制的llm來(lái)豐富其產(chǎn)品。那么,又如何決定何時(shí)調(diào)整或訓(xùn)練專業(yè)領(lǐng)域的llm呢?


首先,需要明確專業(yè)領(lǐng)域中閉源LLM  API的局限性,并允許客戶以很小的成本與該領(lǐng)域的專家聊天。對(duì)于10萬(wàn)左右的指令來(lái)說(shuō),微調(diào)模型并不是很昂貴——但是需要仔細(xì)考慮之后才能獲得正確的指令。這是需要大膽一些,雖然還想不到哪個(gè)專業(yè)領(lǐng)域的微調(diào)模型性能明顯優(yōu)于ChatGPT,但我相信這里會(huì)有拐點(diǎn),任何這樣做的公司將會(huì)得到獎(jiǎng)勵(lì)。


這令我想到了如果從頭開(kāi)始完全訓(xùn)練LLM的案例,這很容易花費(fèi)超過(guò)數(shù)十萬(wàn)美元,但如果有一個(gè)可信服的理由,投資者會(huì)很樂(lè)意投入其中。在最近接受IBM的采訪時(shí),Hugging Face的首席執(zhí)行官克萊姆·德蘭古評(píng)論說(shuō),不久,定制的大語(yǔ)言模型會(huì)像專有代碼庫(kù)一樣常見(jiàn)——并且會(huì)成為提高行業(yè)競(jìng)爭(zhēng)力的重要組成。


要點(diǎn)


應(yīng)用于特定領(lǐng)域的LLM在行業(yè)中非常有價(jià)值,在增加成本和可定制性方面分為3個(gè)層面:


1. 非開(kāi)源API+文檔嵌入數(shù)據(jù)庫(kù):第一種解決方案可能是最容易實(shí)現(xiàn)的,考慮到ChatGPT API的高質(zhì)量——甚至可能提供足夠好(即便不是最好的)的性能。而且也不貴!

2. 微調(diào)LLM:最近從對(duì)LLaMA模型進(jìn)行微調(diào)中取得的進(jìn)展表明,這需要花費(fèi)大約500$才能在某些領(lǐng)域獲得類似于ChatGPT的基線性能。如果具備大約~50-100k指令或?qū)υ拋?lái)微調(diào)基線模型的數(shù)據(jù)庫(kù),這也值得一試。

3. 從零開(kāi)始訓(xùn)練:正如 LLaMA 和最新近的MPT-7B 模型所顯示的那樣,它將花費(fèi)大約100-200k,需要一兩個(gè)星期的時(shí)間。


了解上述內(nèi)容后,開(kāi)始構(gòu)建自定義專有領(lǐng)域的LLM應(yīng)用程序吧!


原文標(biāo)題:When Should You Fine-Tune LLMs?原文鏈接:https://medium.com/towards-data-science/when-should-you-fine-tune-llms-2dddc09a404a?source=explore---------8-58--------------------bbc182a3_471b_4f78_ad66_68a6b5de2c39-------15


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉