圍繞使用AI助手減少手動(dòng)工作、利用代碼生成器提高軟件開(kāi)發(fā)者生產(chǎn)力和通過(guò)生成式AI進(jìn)行創(chuàng)新,業(yè)界正掀起一股熱潮。這些商業(yè)機(jī)遇促使許多開(kāi)發(fā)團(tuán)隊(duì)構(gòu)建知識(shí)庫(kù),使用向量數(shù)據(jù)庫(kù),并將大型語(yǔ)言模型(LLMs)嵌入到他們的應(yīng)用中。
構(gòu)建具有LLM功能的應(yīng)用程序的一些通用用例包括搜索體驗(yàn)、內(nèi)容生成、文檔摘要、聊天機(jī)器人和客戶服務(wù)應(yīng)用。行業(yè)實(shí)例包括在醫(yī)療保健領(lǐng)域開(kāi)發(fā)患者門戶、在金融服務(wù)領(lǐng)域改善初級(jí)銀行家的工作流程,以及在制造業(yè)中為工廠的未來(lái)鋪平道路。
投資于LLMs的公司面臨一些初步挑戰(zhàn),包括改進(jìn)數(shù)據(jù)質(zhì)量方面的數(shù)據(jù)治理、選擇LLM架構(gòu)、解決安全風(fēng)險(xiǎn)以及制定云基礎(chǔ)設(shè)施計(jì)劃。
我更擔(dān)心的是組織如何計(jì)劃測(cè)試他們的LLM模型和應(yīng)用。引起關(guān)注的問(wèn)題包括一家航空公司兌現(xiàn)了其聊天機(jī)器人提供的退款、因版權(quán)侵權(quán)而引發(fā)的訴訟以及降低“幻覺(jué)”風(fēng)險(xiǎn)。
Roadz公司的聯(lián)合創(chuàng)始人兼首席運(yùn)營(yíng)官阿米特·杰恩(Amit Jain)表示:“測(cè)試LLM模型需要一種多方面的方法,這超出了技術(shù)嚴(yán)謹(jǐn)性的范疇。團(tuán)隊(duì)?wèi)?yīng)該進(jìn)行迭代改進(jìn),并創(chuàng)建詳細(xì)的文檔,以記錄模型的開(kāi)發(fā)過(guò)程、測(cè)試方法和性能指標(biāo)。與研究社區(qū)合作,以基準(zhǔn)測(cè)試和分享最佳實(shí)踐也是有效的。”
1.嵌入式大型語(yǔ)言模型(LLMs)的四種測(cè)試策略
開(kāi)發(fā)團(tuán)隊(duì)需要一套針對(duì)LLM的測(cè)試策略。在為嵌入在自定義應(yīng)用中的LLMs制定測(cè)試策略時(shí),可以考慮以下作為起點(diǎn)的實(shí)踐方法:
創(chuàng)建測(cè)試數(shù)據(jù)以擴(kuò)展軟件質(zhì)量保證
自動(dòng)化模型質(zhì)量和性能測(cè)試
根據(jù)用例評(píng)估RAG質(zhì)量
制定質(zhì)量指標(biāo)和基準(zhǔn)
2.創(chuàng)建測(cè)試數(shù)據(jù)以擴(kuò)展軟件質(zhì)量保證
大多數(shù)開(kāi)發(fā)團(tuán)隊(duì)不會(huì)創(chuàng)建通用的大型語(yǔ)言模型,而是為特定的最終用戶和使用場(chǎng)景開(kāi)發(fā)應(yīng)用。為了制定測(cè)試策略,團(tuán)隊(duì)需要了解涉及的用戶角色、目標(biāo)、工作流程和質(zhì)量基準(zhǔn)。“測(cè)試LLMs的首要要求是了解LLM應(yīng)能夠解決的任務(wù),”Mindbreeze的首席技術(shù)官Jakob Praher說(shuō),“對(duì)于這些任務(wù),人們會(huì)構(gòu)建測(cè)試數(shù)據(jù)集,以建立LLM性能的指標(biāo)。然后,人們可以系統(tǒng)地優(yōu)化提示或微調(diào)模型。”
例如,一個(gè)為客戶服務(wù)設(shè)計(jì)的大型語(yǔ)言模型可能包含一個(gè)包含常見(jiàn)用戶問(wèn)題和最佳響應(yīng)的測(cè)試數(shù)據(jù)集。其他LLM用例可能沒(méi)有直接評(píng)估結(jié)果的手段,但開(kāi)發(fā)人員仍可以使用測(cè)試數(shù)據(jù)進(jìn)行驗(yàn)證。“測(cè)試LLM最可靠的方法是創(chuàng)建相關(guān)的測(cè)試數(shù)據(jù),但挑戰(zhàn)在于創(chuàng)建此類數(shù)據(jù)集的成本和時(shí)間,”Solix Technologies的工程副總裁Kishore Gadiraju說(shuō),“與其他軟件一樣,LLM測(cè)試包括單元測(cè)試、功能測(cè)試、回歸測(cè)試和性能測(cè)試。此外,LLM測(cè)試還需要進(jìn)行偏差、公平性、安全性、內(nèi)容控制和可解釋性測(cè)試。”
Gadiraju分享了以下LLM測(cè)試庫(kù)和工具:
AI Fairness 360,一個(gè)開(kāi)源工具包,用于檢查、報(bào)告和緩解機(jī)器學(xué)習(xí)模型中的歧視和偏見(jiàn);
DeepEval,一個(gè)類似于Pytest但專用于LLM輸出單元測(cè)試的開(kāi)源LLM評(píng)估框架;
Baserun,一個(gè)用于幫助調(diào)試、測(cè)試和迭代改進(jìn)模型的工具;
Nvidia NeMo-Guardrails,一個(gè)為L(zhǎng)LM輸出添加可編程約束的開(kāi)源工具包。
IBM數(shù)據(jù)和人工智能部門的數(shù)據(jù)科學(xué)工具和運(yùn)行時(shí)主管Monica Romila分享了企業(yè)在使用LLM時(shí)的兩個(gè)測(cè)試領(lǐng)域:
模型質(zhì)量評(píng)估使用學(xué)術(shù)和內(nèi)部數(shù)據(jù)集評(píng)估模型質(zhì)量,用于分類、提取、摘要、生成和增強(qiáng)生成(RAG)等用例。
模型性能測(cè)試驗(yàn)證模型的延遲(數(shù)據(jù)傳輸所用時(shí)間)和吞吐量(在特定時(shí)間段內(nèi)處理的數(shù)據(jù)量)。
Romila表示,性能測(cè)試取決于兩個(gè)關(guān)鍵參數(shù):并發(fā)請(qǐng)求的數(shù)量和生成的令牌數(shù)量(模型使用的文本塊)。“測(cè)試各種負(fù)載大小和類型,并將性能與現(xiàn)有模型進(jìn)行比較,以查看是否需要更新,這一點(diǎn)很重要。”
DevOps和云架構(gòu)師應(yīng)考慮進(jìn)行LLM應(yīng)用程序的性能和負(fù)載測(cè)試所需的基礎(chǔ)設(shè)施要求。SADA解決方案工程部總經(jīng)理Heather Sundheim表示:“為大型語(yǔ)言模型部署測(cè)試基礎(chǔ)設(shè)施涉及設(shè)置強(qiáng)大的計(jì)算資源、存儲(chǔ)解決方案和測(cè)試框架。自動(dòng)化配置工具(如Terraform)和版本控制系統(tǒng)(如Git)在可重復(fù)部署和有效協(xié)作中發(fā)揮著關(guān)鍵作用,強(qiáng)調(diào)了平衡資源、存儲(chǔ)、部署策略和協(xié)作工具對(duì)于可靠LLM測(cè)試的重要性。”
3.根據(jù)用例評(píng)估RAG質(zhì)量
提高LLM準(zhǔn)確性的一些技術(shù)包括集中內(nèi)容、用最新數(shù)據(jù)更新模型以及在查詢流程中使用RAG。RAG對(duì)于將LLM的強(qiáng)大功能與公司的專有信息相結(jié)合至關(guān)重要。
在典型的LLM應(yīng)用中,用戶輸入提示,應(yīng)用程序?qū)⑵浒l(fā)送到LLM,然后LLM生成響應(yīng),應(yīng)用程序再將響應(yīng)發(fā)送回用戶。使用RAG時(shí),應(yīng)用程序首先將提示發(fā)送到信息數(shù)據(jù)庫(kù)(如搜索引擎或向量數(shù)據(jù)庫(kù)),以檢索相關(guān)和主題相關(guān)的信息。應(yīng)用程序?qū)⑻崾竞瓦@種上下文信息發(fā)送到LLM,LLM用它來(lái)制定響應(yīng)。因此,RAG將LLM的響應(yīng)限制在相關(guān)和上下文信息范圍內(nèi)。
Pryon公司的創(chuàng)始人兼首席執(zhí)行官Igor Jablokov表示:“RAG更適用于企業(yè)級(jí)部署,在這些部署中,需要對(duì)源內(nèi)容進(jìn)行可驗(yàn)證的歸因,尤其是在關(guān)鍵基礎(chǔ)設(shè)施中。”
研究表明,使用RAG與LLM一起可以減少幻覺(jué)并提高準(zhǔn)確性。但是,使用RAG也增加了一個(gè)新組件,需要對(duì)其相關(guān)性和性能進(jìn)行測(cè)試。測(cè)試的類型取決于評(píng)估RAG和LLM響應(yīng)的難易程度,以及開(kāi)發(fā)團(tuán)隊(duì)能夠在多大程度上利用最終用戶的反饋。
我最近與Forethought公司的首席執(zhí)行官Deon Nicholas就他公司用于生成式客戶支持AI的RAG評(píng)估選項(xiàng)進(jìn)行了交流。他分享了三種不同的方法:
(1)黃金標(biāo)準(zhǔn)數(shù)據(jù)集,即針對(duì)查詢的正確答案的人類標(biāo)注數(shù)據(jù)集,可作為模型性能的基準(zhǔn);
(2)強(qiáng)化學(xué)習(xí),即在真實(shí)場(chǎng)景中測(cè)試模型,例如在用戶與聊天機(jī)器人交互后詢問(wèn)其滿意度;
(3)對(duì)抗網(wǎng)絡(luò),即訓(xùn)練一個(gè)二級(jí)LLM來(lái)評(píng)估一級(jí)LLM的性能,這種方法通過(guò)不依賴人類反饋提供自動(dòng)化評(píng)估。
Nicholas表示:“每種方法都有其取舍,需要在人類投入和忽略錯(cuò)誤的風(fēng)險(xiǎn)之間取得平衡。最佳的系統(tǒng)會(huì)跨系統(tǒng)組件利用這些方法,以最小化錯(cuò)誤并促進(jìn)穩(wěn)健的AI部署。”
4.制定質(zhì)量指標(biāo)和基準(zhǔn)
一旦你有了測(cè)試數(shù)據(jù)、新的或更新的大型語(yǔ)言模型(LLM)以及測(cè)試策略,下一步就是根據(jù)既定的目標(biāo)驗(yàn)證質(zhì)量。
ContractPodAi的首席產(chǎn)品官阿提娜·雷哈尼(Atena Reyhani)表示:“為確保開(kāi)發(fā)出安全、可靠和值得信賴的人工智能,制定具體、可衡量的關(guān)鍵績(jī)效指標(biāo)(KPIs)和建立明確的防護(hù)欄至關(guān)重要。需要考慮的一些標(biāo)準(zhǔn)包括準(zhǔn)確性、一致性、速度和與特定領(lǐng)域用例的相關(guān)性。開(kāi)發(fā)人員需要評(píng)估目標(biāo)領(lǐng)域中的整個(gè)LLM生態(tài)系統(tǒng)和運(yùn)營(yíng)模型,以確保其能夠提供準(zhǔn)確、相關(guān)且全面的結(jié)果。”
值得借鑒的一個(gè)工具是Chatbot Arena,它是一個(gè)開(kāi)放的環(huán)境,用于比較LLM的結(jié)果。它采用Elo評(píng)級(jí)系統(tǒng),這是一種常用于競(jìng)技游戲排名玩家的算法,但在評(píng)估不同LLM算法或版本產(chǎn)生的響應(yīng)時(shí),它同樣奏效。
Immuta的研究副總裁喬·雷根斯伯格(Joe Regensburger)表示:“人類評(píng)估是測(cè)試的核心部分,特別是在將LLM強(qiáng)化以適應(yīng)現(xiàn)實(shí)世界中出現(xiàn)的查詢時(shí)。Chatbot Arena是眾包測(cè)試的一個(gè)例子,這類人類評(píng)估者研究可以提供重要的反饋循環(huán),以便整合用戶反饋。”
IBM數(shù)據(jù)與人工智能部門的羅米拉(Romila)分享了根據(jù)LLM的不同用例需要考慮的三個(gè)指標(biāo)。
(1)F1分?jǐn)?shù)是精確度和召回率的綜合得分,適用于LLM用于分類或預(yù)測(cè)的情況。例如,客戶支持LLM可以通過(guò)評(píng)估其推薦行動(dòng)方案的準(zhǔn)確性來(lái)進(jìn)行評(píng)估。
(2)RougeL可用于測(cè)試RAG和LLM在摘要用例中的性能,但通常需要一個(gè)由人類創(chuàng)建的摘要作為基準(zhǔn)來(lái)評(píng)估結(jié)果。
(3)sacreBLEU原本是一種用于測(cè)試語(yǔ)言翻譯的方法,現(xiàn)在也被用于對(duì)LLM響應(yīng)進(jìn)行定量評(píng)估,以及其他方法,如TER、ChrF和BERTScore。
一些行業(yè)有特定的質(zhì)量和風(fēng)險(xiǎn)指標(biāo)需要考慮。Aisera的產(chǎn)品管理和營(yíng)銷副總裁Karthik Sj表示:“在教育領(lǐng)域,評(píng)估年齡適宜性和避免毒性內(nèi)容至關(guān)重要,但在面向消費(fèi)者的應(yīng)用中,應(yīng)優(yōu)先考慮響應(yīng)的相關(guān)性和延遲。”
模型部署后并不意味著測(cè)試結(jié)束,數(shù)據(jù)科學(xué)家應(yīng)尋求最終用戶的反應(yīng)、性能指標(biāo)和其他反饋,以改進(jìn)模型。Amplitude的工程副總裁兼首席信息安全官Dustin Pearce表示:“部署后,將結(jié)果與行為分析相結(jié)合變得至關(guān)重要,它提供了快速反饋和更清晰的模型性能衡量標(biāo)準(zhǔn)。”
為生產(chǎn)準(zhǔn)備的一個(gè)重要步驟是在應(yīng)用程序中使用特性開(kāi)關(guān)。AI技術(shù)公司Anthropic、Character.ai、Notion和Brex在構(gòu)建產(chǎn)品時(shí)都使用了特性開(kāi)關(guān),以便協(xié)作測(cè)試應(yīng)用程序,逐步向大量用戶引入功能,并針對(duì)不同的用戶群體進(jìn)行定向?qū)嶒?yàn)。
盡管出現(xiàn)了驗(yàn)證LLM應(yīng)用的新技術(shù),但這些技術(shù)都不易實(shí)施或提供確切的結(jié)果。目前,與RAG和LLM集成來(lái)構(gòu)建應(yīng)用程序可能相對(duì)容易,但與測(cè)試和支持改進(jìn)工作相比,這僅僅是冰山一角。