垂直領(lǐng)域的大模型應(yīng)用建設(shè)實(shí)戰(zhàn)(一)
從2020-2024四年間筆者完成了某個(gè)垂直領(lǐng)域的協(xié)同平臺(tái)從0到1的搭建,在2024年轉(zhuǎn)戰(zhàn)開(kāi)發(fā)垂直領(lǐng)域的大模型應(yīng)用,從對(duì)大模型一無(wú)所知到最終完成大模型設(shè)計(jì)上線,想把項(xiàng)目經(jīng)歷分享出來(lái),為同樣準(zhǔn)備入門(mén)的小白提供參考。
一、ChatGPT為什么這么火?——市場(chǎng)前景和可行性分析
2022年11月30日OpenAl 公司推出了ChatGPT,引起了新一輪的技術(shù)和資本熱潮,熱度延續(xù)至今,它的商業(yè)價(jià)值仍在不斷擴(kuò)張,它讓大模型成為互聯(lián)網(wǎng)大廠的軍備競(jìng)賽,他們一邊卷底座模型參數(shù)和性能,另一邊抓緊大模型AI應(yīng)用的落地,將大模型視為下一個(gè)業(yè)務(wù)增長(zhǎng)點(diǎn)。
ChatGpt這么成功,究其原因是探索出了一個(gè)模式:具備對(duì)話能力的大模型。
在ChatGpt誕生之前人工智能的落地應(yīng)用比如語(yǔ)音圖像識(shí)別,購(gòu)物和社交平臺(tái)算法推薦,它們都在垂直領(lǐng)域獲得了成功,但是那時(shí)候大部分的用戶(hù)和企業(yè)都認(rèn)為他們是遙遠(yuǎn)的科學(xué),開(kāi)發(fā)和應(yīng)用的技術(shù)門(mén)檻過(guò)高。對(duì)于普通用戶(hù)來(lái)說(shuō),大模型像是一個(gè)電腦主機(jī),它聰明又博學(xué),而具備對(duì)話能力的生成式Ai為大腦接上了電腦屏幕和鼠標(biāo)鍵盤(pán),在普通用戶(hù)和AI之間搭建起了橋梁,用戶(hù)可以在生活中便捷使用。而對(duì)于互聯(lián)網(wǎng)公司來(lái)說(shuō),OpenAI的調(diào)用API的方式,使得企業(yè)用戶(hù)無(wú)需開(kāi)展大模型底座預(yù)訓(xùn)練,就可以將大模型能力集成進(jìn)現(xiàn)有的產(chǎn)品中,研發(fā)成本和技術(shù)門(mén)檻都大大降低。
對(duì)于傳統(tǒng)行業(yè),歷經(jīng)10-20年的信息化轉(zhuǎn)型已經(jīng)完成,有了信息化轉(zhuǎn)型的設(shè)計(jì)理論儲(chǔ)備,以及信息化數(shù)據(jù)作為大模型知識(shí)庫(kù),已具備融合AI技術(shù)的基礎(chǔ),實(shí)現(xiàn)智能化升級(jí)。
二、如何開(kāi)展垂直領(lǐng)域的大模型研發(fā)
第一步:理解大模型能力
1)強(qiáng)大推理分析和內(nèi)容生成:基于現(xiàn)有數(shù)據(jù)進(jìn)行理解分析,基于用戶(hù)指令輸出新內(nèi)容。
2)強(qiáng)大的信息檢索能力:適合需要快速?gòu)暮A繑?shù)據(jù)中提取信息的場(chǎng)景。
大模型也具備圖片、視頻等的多模態(tài)處理能力,但是目前筆者的項(xiàng)目成果主攻方向還是文本生成領(lǐng)域。
第二步:核心功能定位與交互設(shè)計(jì)
1)核心功能定位
總體思路是基于信息化建設(shè)的經(jīng)驗(yàn)積累,結(jié)合大模型能力的特點(diǎn),選取適合融入AI技術(shù),并且知識(shí)儲(chǔ)備充足的模塊,進(jìn)行場(chǎng)景構(gòu)思。傳統(tǒng)業(yè)務(wù)線上化后仍存在一個(gè)問(wèn)題就是用戶(hù)需要基于個(gè)人經(jīng)驗(yàn)和知識(shí)儲(chǔ)備開(kāi)展工作,而大模型強(qiáng)大的邏輯推理、知識(shí)檢索能力可以在開(kāi)展業(yè)務(wù)時(shí)提供頭腦風(fēng)暴挖掘業(yè)務(wù)深度價(jià)值,或是提供案例知識(shí)檢索,給出一個(gè)標(biāo)準(zhǔn)線以上的答案,提升工作標(biāo)準(zhǔn)化程度。
業(yè)務(wù)目標(biāo):提升效率、提升業(yè)務(wù)價(jià)值、標(biāo)準(zhǔn)化作業(yè)程度
2)交互設(shè)計(jì)
2024年初開(kāi)展大模型應(yīng)用設(shè)計(jì),當(dāng)時(shí)市場(chǎng)上大模型應(yīng)用都是chatbot,在交互設(shè)計(jì)定位上希望的是不局限于聊天界面。但是大模型的調(diào)用基本需要發(fā)送指令,無(wú)聊天界面查看問(wèn)答過(guò)程會(huì)降低交互的友好性。因此確定了“工作臺(tái)+聊天窗口”的交互設(shè)計(jì)模式,既可以在聊天窗口獲取AI輔助、也可以工作臺(tái)捕捉用戶(hù)行為喚醒AI輔助。同時(shí)兩個(gè)AI入口的交互也是互通的,比如說(shuō)用戶(hù)在工作臺(tái)選取了需要分析的資料,聊天窗口就會(huì)顯示分析附件。工作臺(tái)調(diào)用的AI指令和返回結(jié)果也能在聊天窗口看到歷史記錄。在2024年下半年調(diào)研市場(chǎng)上AI應(yīng)用發(fā)現(xiàn),AI產(chǎn)品普遍也采用了這種設(shè)計(jì)模式。
第三步:大模型應(yīng)用研發(fā)
第一階段:企業(yè)級(jí)RAG搭建
RAG(檢索增強(qiáng)技術(shù))主要是為了解決大模型的幻覺(jué)和知識(shí)更新不及時(shí)問(wèn)題,通用大模型不具備垂直領(lǐng)域的專(zhuān)業(yè)信息,會(huì)出現(xiàn)生成與事實(shí)不符、邏輯錯(cuò)誤或虛構(gòu)的內(nèi)容情況。
主要原理:將垂直領(lǐng)域的知識(shí)進(jìn)行切片、向量化形成多維度的向量數(shù)據(jù),將用戶(hù)指令向量化后在向量數(shù)據(jù)進(jìn)行第一階段的粗篩選,根據(jù)語(yǔ)義相似度檢索(余弦相似度算法,通過(guò)計(jì)算兩個(gè)向量的夾角余弦值來(lái)衡量它們的相似度)召回top10的知識(shí)塊,第二階段采用精篩選,使用Rerank(重排序)結(jié)合上下文信息,對(duì)召回知識(shí)塊進(jìn)行重新打分, 優(yōu)化檢索結(jié)果。最后將用戶(hù)指令和召回知識(shí)塊給大模型生成返回結(jié)果。
整個(gè)過(guò)程應(yīng)用了 Langchain開(kāi)發(fā)框架和Milvus向量數(shù)據(jù)庫(kù)開(kāi)展了以下工作:
1)切片
在切片過(guò)程中應(yīng)用了以下4種方式:
- 固定字符大小,設(shè)置重疊大小,按照長(zhǎng)度粗暴切分。(基本不適合,會(huì)將一句話截?cái)啵?/li>
- 段落、字符文本分割,根據(jù)段落、空格、標(biāo)點(diǎn)符號(hào)(比如句號(hào)、逗號(hào))來(lái)切分文本。(適合上傳臨時(shí)文件分析)
- 混合模式切片:采用不超過(guò)最大字符長(zhǎng)度,結(jié)合標(biāo)點(diǎn)段落進(jìn)行切片(使用頻率最高)
- 基于語(yǔ)義分割,對(duì)原始文本進(jìn)行分詞預(yù)處理,結(jié)合提示詞或者使用預(yù)訓(xùn)練的語(yǔ)義分割模型,打標(biāo)簽,根據(jù)語(yǔ)義標(biāo)簽,提取目標(biāo)類(lèi)別的文本片段,將提取的文本片段組合成切片。(耗時(shí)長(zhǎng)、適合文檔章節(jié)內(nèi)容比較固定的文檔)
根據(jù)不同的知識(shí)切片也需要做相應(yīng)調(diào)整,例如針對(duì)法律制度需要在每個(gè)知識(shí)塊上帶上文件名稱(chēng)、章節(jié)名稱(chēng)、條款名稱(chēng)。針對(duì)文章類(lèi)型需要設(shè)置一定的重疊大小。
2)向量化
- 知識(shí)標(biāo)簽:前期規(guī)劃企業(yè)內(nèi)部知識(shí)時(shí)有制定了一些知識(shí)標(biāo)簽,在導(dǎo)入向量庫(kù)時(shí)需要加上知識(shí)標(biāo)簽,便于后期對(duì)檢索規(guī)則或者提示詞規(guī)劃。也可以加上文件名稱(chēng)和file ID,后續(xù)在對(duì)話窗口展示知識(shí)來(lái)源,提高可信度。
- 向量檢驗(yàn):這個(gè)階段采用了BERT 和Bge-large-zh模型,沒(méi)有發(fā)現(xiàn)兩個(gè)模型效果上的差別,Milvus提供可視化的工具attu,便于驗(yàn)證表、查詢(xún)數(shù)據(jù),支持帶過(guò)濾條件的向量混合檢索,向量化后可以選取一些知識(shí)文本進(jìn)行檢索檢查向量結(jié)果是否成功。
3)提示詞工程
- 角色說(shuō)明:垂直領(lǐng)域的大模型應(yīng)用的用戶(hù)一般有固定類(lèi)型的角色,因此可以根據(jù)使用場(chǎng)景在提示詞中添加角色和回答風(fēng)格說(shuō)明。
- 知識(shí)檢索說(shuō)明:因?yàn)樵谝?guī)劃知識(shí)庫(kù)的前期規(guī)范了知識(shí)標(biāo)簽,可以針對(duì)不同知識(shí)標(biāo)簽實(shí)現(xiàn)不一樣的生成效果,例如可以指定在知識(shí)標(biāo)簽內(nèi)進(jìn)行知識(shí)檢索,針對(duì)不同知識(shí)的使用場(chǎng)景規(guī)范輸出格式,例如法律條款需要列出法律名詞,做盡量少的改寫(xiě)。
以上就是第一階段我們從場(chǎng)景設(shè)計(jì)到RAG搭建的項(xiàng)目實(shí)踐,總結(jié)項(xiàng)目困難就會(huì)回到AI的三大基本組成:數(shù)據(jù)、算法和算力,我們?cè)陧?xiàng)目中遇到的問(wèn)題也來(lái)源于這3個(gè)因素。
- 幻覺(jué):當(dāng)輸入質(zhì)量太差或者缺乏知識(shí),或者模型本身性能不佳都會(huì)導(dǎo)致大模型“一本正經(jīng)”地胡編亂造。其實(shí)幻覺(jué)包含了多方面的問(wèn)題,而我們開(kāi)展的所有工作不論是應(yīng)用RAG、還是提示詞工程,都是在和幻覺(jué)問(wèn)題進(jìn)行對(duì)抗。
- 數(shù)據(jù)質(zhì)量:不論是微調(diào)還是RAG,在垂直領(lǐng)域的輸出效果都高度依賴(lài)數(shù)據(jù)質(zhì)量
- 模型參數(shù)限制:模型的規(guī)模較小時(shí),一般max_token也較小,只能在有限的上下文范圍內(nèi)理解文本,輸入的材料讀取不全,也不能進(jìn)行有效思考,容易產(chǎn)生理解偏差。
- 有限算力資源:具體表現(xiàn)為響應(yīng)速度慢、并發(fā)能力弱,無(wú)法同時(shí)處理大量請(qǐng)求、生成質(zhì)量不穩(wěn)定。
- 對(duì)輸入有要求:一個(gè)好的用戶(hù)輸入具備明確(肯定語(yǔ)句好過(guò)否定語(yǔ)句)、具體(列舉要求)、結(jié)構(gòu)化(將復(fù)雜任務(wù)進(jìn)行步驟拆解)、簡(jiǎn)潔(突出關(guān)鍵信息),并提供必要的上下文信息(背景信息)。但是在分析用戶(hù)歷史聊天數(shù)據(jù)時(shí)發(fā)現(xiàn),一些反饋不好的回答,在對(duì)問(wèn)句進(jìn)行改寫(xiě)后回答效果會(huì)大大提升。
本文由 @萵苣很好吃 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載
題圖來(lái)自Unsplash,基于CC0協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)
- 目前還沒(méi)評(píng)論,等你發(fā)揮!