基于大模型進(jìn)行開發(fā)的實(shí)踐與思考
LLM的革新,將會帶來什么改變呢?作者對此展開思考,以獨(dú)立開發(fā)者的身份對大模型開發(fā)進(jìn)行實(shí)踐,接下來,我們看看作者是如何做的吧。
LLM出現(xiàn)引發(fā)的解放力提升及革新,有時(shí)會在我腦海里浮現(xiàn),對于期望從事LLM的人來說,可以從哪些方面來進(jìn)行學(xué)習(xí)呢?
當(dāng)前,各個(gè)行業(yè)都在對 LLM的應(yīng)用和研究進(jìn)行著不斷的嘗試,經(jīng)過閱讀和論文的參考,對LLM進(jìn)行了分類整理,也結(jié)合自身的實(shí)踐來做一次分享。
一、LLM綜述及簡介
1. 領(lǐng)域?qū)I(yè)化分類
基于拓展閱讀的論文觀點(diǎn),LLM的專業(yè)領(lǐng)域主要分為三類:
- 外部增強(qiáng)(External Augmentation)
- 提示語制作(Prompt crafting)
- 模型微調(diào)(Model Fine-tuning)
其中,外部增強(qiáng)是一個(gè)黑盒類型的應(yīng)用,它是由外部的數(shù)據(jù)\上下文和內(nèi)部的提示詞來控制輸出,實(shí)質(zhì)上不能對 LLM的內(nèi)部進(jìn)行訪問和調(diào)節(jié)。
提示語制作是一種灰盒類型的應(yīng)用,它是通過調(diào)節(jié) prompt的參數(shù)來控制 LLM的輸入和輸出,僅在 LLM中與 prompt有關(guān)的參數(shù)進(jìn)行更新,這部分參數(shù)占 LLM總參數(shù)的0.01% 。
模型修正是一種白盒類型的應(yīng)用,它是對模型中特定領(lǐng)域中的知識和數(shù)據(jù)的修正,是一種深入到模型中特定領(lǐng)域的全量參數(shù)修正。
2. LLM應(yīng)用場景簡述
盡管專業(yè)領(lǐng)域被劃分成了三個(gè)類別,但是 LLM在其中的共同應(yīng)用有:
- 識別特定領(lǐng)域的實(shí)體、關(guān)系和事件
- 生成特定領(lǐng)域的內(nèi)容,并生成復(fù)雜的文本摘要
- 分析特定領(lǐng)域的數(shù)據(jù)并進(jìn)行預(yù)測
- 通過自然語言生成\校驗(yàn)代碼
這四個(gè)應(yīng)用可以貫穿全領(lǐng)域,也是主要提效的表現(xiàn),具體場景如下:
- 可以用LLM快速進(jìn)行客戶問題的分類
- 使用LLM快速閱讀論文并給出摘要內(nèi)容
- 提供某一專業(yè)數(shù)據(jù),并進(jìn)行數(shù)據(jù)的分析總結(jié)
- 用中文描述需求并生成python代碼,如請生成一個(gè)深度學(xué)習(xí)的示例代碼
在目前階段,各大中小企業(yè)對LLM進(jìn)行的探索,一般都為外部增強(qiáng)的方式,因?yàn)檫@一方面無論是從成本還是門檻上來說,大部分是可以接受的。
所以,我在后面的實(shí)踐及應(yīng)用介紹,也是以外部增強(qiáng)為基礎(chǔ),從以上四個(gè)應(yīng)用方向展開。
二、個(gè)人實(shí)踐簡述及總結(jié)
1. 已開發(fā)的個(gè)人工具
截至目前已經(jīng)開發(fā)的工具有三個(gè),分別為:
- 電影評論情感分析工具(識別特定領(lǐng)域的實(shí)體、內(nèi)容)
- 客服問題分類工具(生成特定內(nèi)容摘要)
- 數(shù)據(jù)分析工具(分析特定領(lǐng)域的數(shù)據(jù))
三種工具均能滿足個(gè)性化的輸出需求,只需讓用戶輸入不同的參數(shù),或修改配置文件中的提示詞內(nèi)容即可。
并且開發(fā)過程我也是借助LLM,通過自然語言進(jìn)行編碼及代碼排查、優(yōu)化的工作。(通過自然語言生成\校驗(yàn)代碼)
2. 各工具的設(shè)計(jì)思路、功能特點(diǎn)
在開始搭建工具時(shí),按照LLM的應(yīng)用場景分類,我選擇了文本總結(jié)、文本分類及文本分析三個(gè)方向,原因很簡單:學(xué)習(xí)的過程也是這么個(gè)思路,先是閱讀,然后對知識點(diǎn)進(jìn)行分類,并基于新文本進(jìn)行分析。
因此在確定了每個(gè)方向后,選擇了一個(gè)場景進(jìn)行驗(yàn)證試點(diǎn),文本總結(jié)使用豆瓣上的用戶評論,文本分類使用電商平臺的售后咨詢類目,數(shù)據(jù)分析則使用世界銀行發(fā)布的各國歷史失業(yè)率數(shù)據(jù)。
最后在對每一個(gè)場景進(jìn)行了分析和整理之后,得出了一份材料如下:
3. 過程中的問題及解決方案
在開發(fā)過程中識別到的問題可以分為以下幾類:
1)問題1. 輸出結(jié)果不符合預(yù)期、結(jié)果不可控
Fig1.返回結(jié)果不符合預(yù)期
如上圖,在輸入某一條評論并要求輸出表格形式時(shí),得到的結(jié)果卻是JSON格式。
① 原因分析
因?yàn)橥獠吭鰪?qiáng)屬于一種黑盒類的嘗試,因此通過實(shí)踐過程,我了解到一般出現(xiàn)這類問題有以下幾個(gè)方面的原因:
- 提示語設(shè)置不夠準(zhǔn)確,或者前后矛盾,導(dǎo)致輸出不可控
- 提示語與用戶文本語言不一致,如使用英文的prompt來分析中文的評論
- 分析步驟太復(fù)雜,LLM無法很好的完成分析
② 解決方法
基于以上三個(gè)原因,給出三個(gè)不同的解決方法:
- prompt提示語中單獨(dú)增加結(jié)果的確認(rèn)
在輸出結(jié)果時(shí),請確保是{Object_format}格式\
請保持輸出中的語言與原始文本相同 – 如果評論是中文的,則輸出也應(yīng)為中文。\
- 保證輸入的文本與prompt的一致。可以在功能層面上維護(hù)多套語言的prompt。當(dāng)用戶選擇了中文模式時(shí)使用中文的prompt提問
- 提示語中設(shè)置few-shot或者分析步驟
2)問題2. api調(diào)用及token請求問題
毫無疑問,在開發(fā)過程中需要科學(xué)上網(wǎng),并且需要限制一定的token請求量,目前GPT3.5單次請求只能包含4390token,超過無法完成分析。
解決方法
- 前端須有token限制的功能,另外需要補(bǔ)充功能記錄每次提問及返回結(jié)果的token數(shù)量,用于監(jiān)控調(diào)用
- 科學(xué)上網(wǎng)
3)問題3. 調(diào)用量成本
Fig2. usage調(diào)用量明細(xì)
截取了過去幾天的調(diào)用數(shù)據(jù),平均$0.05/天,折合$0.35,此情況是根據(jù)一個(gè)用戶一天總共50次的請求數(shù)量計(jì)算的,平均費(fèi)用為$0.007\天\人,具體取決于你所輸入的文本和構(gòu)造的提示詞數(shù)量。
解決方法
- 前端需具備發(fā)起提問的token限制功能
- 源碼中的prompt的構(gòu)建盡量簡潔、清楚、明確
4)問題4. 變現(xiàn)方式及正式商用可行性待評估
LLM目前商用可行性的問題主要有以下三點(diǎn):
- LLM的可靠性及穩(wěn)定性
- 工程化方案如何適應(yīng)每個(gè)行業(yè)
- 投入產(chǎn)出比如何平衡
LLM無疑可以幫助人們快速地實(shí)現(xiàn)各種AI功能,但是從外部增強(qiáng)的角度來進(jìn)行實(shí)踐, LLM輸出的結(jié)果在本質(zhì)上是不可控的,落地性比較差。
因?yàn)樯婕暗娇茖W(xué)上網(wǎng)及使用第三方LLM能力,如何實(shí)現(xiàn)更好的工程化,目前還尚未有成熟的方案。
另,利用 LLM所產(chǎn)生的費(fèi)用是每一個(gè)落地項(xiàng)目都要考慮的實(shí)際問題。
以上內(nèi)容,因?yàn)楸救艘策€在探索,因此目前只能給出開放性的答案。
解放方法
- 對于 LLM的可靠性,我們可以在 prompt中添加一些小的樣本量來描述,并盡可能地對每個(gè)請求進(jìn)行詳細(xì)地分析,另外也可以增加產(chǎn)品功能、深度學(xué)習(xí)或者增強(qiáng)學(xué)習(xí)的方法進(jìn)行優(yōu)化
- 工程問題的求解,則是基于行業(yè)領(lǐng)域的創(chuàng)新,在此先不展開
- 投入產(chǎn)出平衡問題:如果是試探性的嘗試,那就盡量開發(fā)一種與已有的產(chǎn)品形式相匹配的輕量級應(yīng)用形式,并為其提供一個(gè)開關(guān),以實(shí)現(xiàn)功能的激活和關(guān)閉
三、總結(jié)及后續(xù)
1. 總結(jié)
LLM讓我以獨(dú)立開發(fā)者的身份,開發(fā)出了三款工具,達(dá)到了一個(gè)人相當(dāng)于一個(gè)團(tuán)隊(duì)的效果,大大提高了時(shí)間和人力的效率。
LLM的應(yīng)用潛力巨大,可以幫助人們快速實(shí)現(xiàn)各種AI功能。希望未來能夠有更多的人加入到LLM的探索和應(yīng)用中,共同推動AI技術(shù)的發(fā)展。
2. 后續(xù)
考慮到 LLM還有其他兩個(gè)方向,也是非常值得探索的,后續(xù)有機(jī)會可以再做一次分享。
- 提示語制作(Prompt crafting)
- 模型微調(diào)(Model Fine-tuning)
拓展閱讀
‘Beyond One-Model-Fits-All: A Survey of Domain Specialization for Large Language Models’
專欄作家
SiegZhong,人人都是產(chǎn)品經(jīng)理專欄作家。深入了解AI技術(shù)的前沿趨勢,并提供實(shí)用的解決方案及思考。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自 Unsplash,基于 CC0 協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺僅提供信息存儲空間服務(wù)。
大語言模型,讀半天 讀不懂,不要寫的這么晦澀難懂行不行,還不如用ai寫
啊我著急的分享,忘了解釋下一些專業(yè)名詞,盡量通俗易懂的表達(dá)出來,感謝指出問題~