除了用機器學(xué)習(xí)(ML)來解決購物推薦問題,Line臺灣也開始擁抱大型語言模型(LLM),來提高工作生產(chǎn)力。
運用LLM的3大挑戰(zhàn)
在剖析自家LLM實戰(zhàn)經(jīng)驗前,Line臺灣機器學(xué)習(xí)工程師李婕瑜先是點出,企業(yè)運用LLM提高工作生產(chǎn)力時,所面臨的3大挑戰(zhàn)。
首先,企業(yè)采用LLM,目的是要提高作業(yè)效率,尤其要能即時支持業(yè)務(wù)應(yīng)用。這個需求,考驗了企業(yè)對LLM的運維管理能力,得要從原本熟悉的機器學(xué)習(xí)運維(MLOps),進入到大型語言模型運維(LLMOps)領(lǐng)域,學(xué)習(xí)新的流程集成與團隊協(xié)作。
再來,穩(wěn)定性也是一大挑戰(zhàn)。因為,LLM由提示(Prompt)驅(qū)動,這些提示以自然語言表達,不像是程序語言有固定、嚴謹?shù)母袷?。也因此,提示變動靈活,可能多個字、改個字,LLM就會給出截然不同的答案。于是,企業(yè)得要做好提示管理,記錄提示版本,才能維持服務(wù)穩(wěn)定。
企業(yè)運用LLM,還會遇到安全性挑戰(zhàn)。因為這些LLM應(yīng)用,不只要避免輸出歧視內(nèi)容,也要符合AI相關(guān)法規(guī),滿足透明性、可解釋等原則,像是要能解釋LLM為何給出特定答案等。李婕瑜指出,由于LLM應(yīng)用場景廣泛,Line不只遵守安全法規(guī),接下來還會多想一步、主動出擊,來尋找工具、確保LLM產(chǎn)出的答案更安全。
LLM客服案件分類的提示管理
不只上述痛點,李婕瑜也分享,Line實際應(yīng)用LLM時遇到的2項難題,包括如何審查LLM生成內(nèi)容,以及LLM調(diào)整到什么程度,才算是夠好。
她以Line客服案件分類解釋器為例,Line臺灣本部每天會接收大量的客訴案件,但為厘清案件來優(yōu)化整體Line服務(wù)方向,客服人員得先對案件貼標、分類,包括產(chǎn)品、政策、活動、系統(tǒng)問題、客服運營等類別。
在這個項目中,Line想借助LLM來輔助案件分類,自動產(chǎn)出客訴標簽和整理過的事件原因,來加速客服人員整理需改善之處。
但在執(zhí)行過程中,Line很快遇到了問題。因為LLM提示撰寫的技術(shù)門檻低,不只工程師,連業(yè)務(wù)、PM都能寫,造成提示內(nèi)容多變,反而影響了LLM的產(chǎn)出和性能,Line甚至用R&R混亂來形容。
為解決這個問題,Line采用了名為CO-STAR的提示詞撰寫架構(gòu),來切分提示任務(wù)。這幾個字母分別代表不同要素,比如C是指場景(Context),也就是在提示中描述任務(wù)概況、賦予LLM角色;O則指目標(Objective),即在提示中告知LLM想實現(xiàn)的目標,像是“給出案件類別,并總結(jié)案件始末”。
再來是S,也就是回復(fù)風(fēng)格(Style),比如告訴LLM,要以客服身份回答問題。T則是語調(diào)(Tone),可以在提示中,要求LLM以溫柔的語調(diào)回復(fù)。A則指受眾(Audience)目標,R是輸出的格式(Response),比如“將標簽和案件解釋區(qū)分開來”這類描述。
有了CO-STAR切分提示任務(wù),接著還要依據(jù)項目特性,來對6個提示類型排序,才能發(fā)揮效果。這是因為,每項LLM項目有其重點,以客服案件分類為例,C、O、R類提示更為重要。因此,Line將客服案件分類的提示任務(wù),改以CORAST的順序來重排。
下一步則是確認CORAST各階段的開發(fā)人員和驗收人員,比如在C階段,可由熟悉案件分類和定義的客服人員、業(yè)務(wù)人員來撰寫。又或是在S、T部分,客服人員有其偏好的風(fēng)格和語調(diào),因此可擔(dān)任驗收人員,開發(fā)人員只需專注格式處理及提示撰寫。
LLM要優(yōu)化到什么程度才夠好?
不只如此,這個LLM案件分類項目,還有第2項挑戰(zhàn),也就是LLM要優(yōu)化到什么程度,才算夠好。
李婕瑜分析,當(dāng)POC項目快速創(chuàng)建后,團隊會觀察LLM表現(xiàn),來決定是否采用其他改善方法,來提高LLM性能。以Line客服案件分類解釋器為例,團隊將準確度作為模型表現(xiàn)評估的指標,要是LLM產(chǎn)出低于60%,意味著模型不清楚提示意思。
此時,Line除了考慮常見的檢索增強生成(RAG)、微調(diào)等補強手段,還會衡量加入規(guī)則式解法、思維鏈(CoT)或少樣本學(xué)習(xí)等方法,來提高LLM生成準確度。
再來,LLM如何才夠好,還與業(yè)務(wù)團隊的預(yù)期有關(guān)。意思是,開發(fā)團隊需與業(yè)務(wù)團隊討論,找出合理的初期LLM準確度共識,“最好是定在當(dāng)前平均表現(xiàn)的正負10%,”李婕瑜建議。
接下來,只需管控LLM輸出的內(nèi)容格式統(tǒng)一,集成至既有服務(wù)中,LLM項目就大功告成了。
可善用開源工具實例LLMOps
不只是提示管理,LLMOps也是應(yīng)用LLM的一大課題。
一般來說,LLM應(yīng)用流程包括了選擇基礎(chǔ)模型、提示工程、評估結(jié)果、改善和最終部署上線。但Line思考,能否將人工需介入的流程,縮短為2步驟,即上傳測試數(shù)據(jù)、進行提示工程,其他的評估、找出改善空間、決定部署上線等步驟,則由工具自動執(zhí)行。
于是,Line自建一套內(nèi)部LLM開發(fā)管理工具,不少項目都采用。但為了與社交媒體分享這樣的架構(gòu),Line找到一款免費開源工具Pezzo,來說明如何創(chuàng)建LLM運維管理平臺。它的好處是,可集中管理不同項目的提示,簡化了提示編輯和版本管理,還能可視化列出每個開發(fā)項目成本,讓用戶一眼掌握LLM項目概況。此外,李婕瑜也推薦開源的ML生命周期管理工具MLflow,因為MLflow也支持提示管理,可記錄不同提示版本表現(xiàn)和差異,兼顧ML和提示管理。
有了這些工具,LLM流程流暢許多,比如在Pezzo中編輯提示后,開發(fā)者就能創(chuàng)建頁面,來輸入提示樣板元數(shù)據(jù),再讓用戶決定是否要做RAG。若需要,只需上傳所需數(shù)據(jù)即可,之后通過MLflow自動完成實驗。這些實驗數(shù)據(jù),像是提示版本、分數(shù)、模型和時間等,最后都會呈現(xiàn)在起初創(chuàng)建的頁面,Line的LLM客服案件分類器也是如此管理。
Line實例LLMOps,不單為了管理,還為應(yīng)對法規(guī),來提早應(yīng)對未來可能面臨的問責(zé)機制。因此,他們一方面創(chuàng)建問責(zé)制度,另一方面也開始評估,運用LLM檢測生成的廣告文案是否符合法規(guī)。李婕瑜舉例說明,廣告文案生成后,先經(jīng)過禁用字詞掃描,通過后進行第二層審查,納入法規(guī)、可用詞與不可宣稱詞規(guī)范、Line內(nèi)部法規(guī),以及RAG連接的內(nèi)部以往審核結(jié)果等數(shù)據(jù),來讓LLM參考、判斷,廣告文案合規(guī)才會正式采用。這正是Line從LLMOps延伸思考的可行合規(guī)應(yīng)用之一。