久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

博客專欄

EEPW首頁 > 博客 > 獨家 | 何時微調大語言模型?

獨家 | 何時微調大語言模型?

發布人:數據派THU 時間:2023-08-04 來源:工程師 發布文章

領英(LinkedIn)賬號的fork中向我提出了這樣一個問題:如何微調諸如LLaMA的開源模型。公司正在尋找銷售LLM托管和部署解決方案的業務案例,將人工智能和LLM應用于具體的產品。我問他們為什么不使用像ChatGPT這樣的非開源模型時,他們沒有給出正確的答案。所以我決定寫這篇文章來解答如何利用llm解決日常業務問題。


非開源API的案例


是否嘗試過用ChatGPT的API 實現具體案例?如果想實現文本總結或回答問題,或者只是想在網站上找一個聊天機器人,通常情況下,ChatGPT在這些語言任務上會做得很好。


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


其中一個觀點是,假設需要回答成千上萬份文件中的問題,此時,對這些數據進行訓練或微調開源模型,并詢問利用這些數據微調模型會不會更容易一些?事實證明,這并不像聽起來那么簡單(出于各種原因,將在下文關于微調標簽數據一節中討論)。


但是ChatGPT有一個簡單的解決方案,可以根據包含數千個文檔的上下文來回答問題。它將所有文檔分為小塊文本存儲到數據庫中。

圖片 

圖片將文檔下載到數據庫中進行規模化LLM查詢| Skanda Vivek


將數據從模型架構中卸載到一個包含文檔塊的數據庫中,為模型提供回答問題所必要的信息。


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


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

圖片 

圖片


大家可能會問——為什么不將整個文檔和問題輸入到提示中,而是分成小的文檔塊呢?之所以將文檔分割成塊,而沒有將所有文檔合并成一個提示符,是因為大語言模型對最大輸入和輸出長度有一定的限制。對于ChatGPT來說,最大輸入和輸出長度是4096個 token,大約是6-7頁的文本。


將文檔下載到數據庫中,并使用非開源的LLM API進行查詢,可能在文檔中明顯存在答案的情況下工作良好。但在很多情況下,可能會產生次優結果,比如想讓ChatGPT對一個話題提供專家視角——例如,對美國經濟的金融前景進行推測。


 專業領域LLM


好吧,如果已經試用了ChatGPT或BARD,但你并不喜歡它。答案確實有點離譜。例如,如果問ChatGPT:


“美國經濟的通脹可能會持續多久?”


 它返回下述答案:


作為一個人工智能語言模型,我無法確定地預測未來,特別是關于復雜的經濟系統。但是,我可以為您提供一些信息和觀點,以幫助您了解當前的情況。


通貨膨脹是一種復雜的現象,可以由多種因素引起,如需求增加、供應限制等….


不幸的是,上述答案還不夠好。當然,還可以給ChatGPT提示一些關于美聯儲主席杰羅姆·鮑威爾聲明的消息。但這并沒有給你該領域的豐富經驗,如果繼續交談,可能會得出-好吧,杰羅姆·鮑威爾,還有誰!或者是另一個專家。


考慮如何成為某一領域的專家,雖然可以閱讀關于該領域的書籍,但也可以與該領域的專家互動,從經驗中學習。雖然ChatGPT已經接受過了大量金融書籍的訓練,但它可能還沒有接受過頂級金融專家或其他特定領域的專家的訓練。那么,如何讓LLM成為一個在金融領域的“專家”呢?這就是微調的作用所在。


微調LLM


在討論微調大語言模型之前,首先談談像BERT這樣的小語言模型的微調,這在大語言模型出現之前很常見。對于像BERT和RoBERTa這樣的模型,微調相當于傳遞一些上下文和標簽。將任務定義好,比如從上下文中提取答案,或者將電子郵件分類為垃圾郵件和非垃圾郵件。我寫了一些關于這些方面的博客文章,如果對微調語言模型感興趣,它們可能會很有用:

圖片 

圖片

大型語言模型(llm)之所以如此流行,是因為它們可以通過改變提示的方式無縫地執行多個任務,而且有類似于在另一端與人交談的經驗。現在需要對LLM做出調整,使其成為某一主題方面的專家,并像一個“人”一樣參與對話。這與在特定的任務上微調BERT模型截然不同。


最早的開源突破之一是斯坦福大學的一組研究人員,他們對7B LLaMa模型(今年早些時候由Meta發布)進行了微調,他們在52K指令下使用不到600$實現了微調,并稱之為 Alpaca。不久之后,Vicuna團隊發布了一個130億個參數的模型,它達到了ChatGPT質量的90%。


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


在訓練和微調開源模型方面的最新進展是中小型公司通過定制的llm來豐富其產品。那么,又如何決定何時調整或訓練專業領域的llm呢?


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


這令我想到了如果從頭開始完全訓練LLM的案例,這很容易花費超過數十萬美元,但如果有一個可信服的理由,投資者會很樂意投入其中。在最近接受IBM的采訪時,Hugging Face的首席執行官克萊姆·德蘭古評論說,不久,定制的大語言模型會像專有代碼庫一樣常見——并且會成為提高行業競爭力的重要組成。


要點


應用于特定領域的LLM在行業中非常有價值,在增加成本和可定制性方面分為3個層面:


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

2. 微調LLM:最近從對LLaMA模型進行微調中取得的進展表明,這需要花費大約500$才能在某些領域獲得類似于ChatGPT的基線性能。如果具備大約~50-100k指令或對話來微調基線模型的數據庫,這也值得一試。

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


了解上述內容后,開始構建自定義專有領域的LLM應用程序吧!


原文標題: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


*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



關鍵詞: AI

相關推薦

技術專區

關閉