#AIGC創(chuàng)新先鋒者征文大賽#企業(yè)級智能知識(shí)庫搜索問答技術(shù)與應(yīng)用 原創(chuàng)
【本文正在參與 AI.x社區(qū)AIGC創(chuàng)新先鋒者征文大賽】(http://www.scjtxx.cn/aigc/2223.html)
以2022年年底ChatGPT推出為分界點(diǎn),我們可以把過去的AI技術(shù)稱為AI1.0,之后的技術(shù)稱為AI2.0。那么,跟AI1.0相比,AI2.0的技術(shù)有哪些不同呢?
首先,大家熟知的“能力涌現(xiàn)”,以前很多通過規(guī)則的方式,或者一個(gè)很復(fù)雜的Pipeline構(gòu)建起來的能力,今天在大模型中就可以涌現(xiàn)出來。其次,多模態(tài)的能力以及對話的能力等等,這些都是AI2.0時(shí)代大模型能力突出的地方。然而,結(jié)合我們這幾年在B端行業(yè)中應(yīng)用大模型技術(shù)的經(jīng)驗(yàn),對于大模型/AI技術(shù)的產(chǎn)業(yè)落地,我認(rèn)為這幾點(diǎn)非常關(guān)鍵。
第一,AI能力的獲取門檻顯著降低了。今天想讓大模型完成一件任務(wù),最簡單的方式就是通過自然語言與大模型進(jìn)行交互,通過做Prompt Engineering就可以做到。這在這以前是不敢想象的。
大模型的第二個(gè)特點(diǎn),就是它的通用性。以前很多AI能力的構(gòu)建可能都和具體的任務(wù)相關(guān)。比如之前做搜索引擎,整個(gè)團(tuán)隊(duì)會(huì)被分成很多不同的Team,Query理解、排序、文檔的理解等等,這里面用到的技術(shù)大不一樣。然而,今天不一樣了,現(xiàn)在所有這些任務(wù),像搜索引擎這么復(fù)雜的系統(tǒng),其實(shí)都可以構(gòu)建在大模型技術(shù)之上。
第三點(diǎn),則是生成能力。因?yàn)橐郧白鰴C(jī)器學(xué)習(xí)算法或者模型時(shí),數(shù)據(jù)標(biāo)注非常耗時(shí)耗力,卡點(diǎn)就在于用于標(biāo)注的訓(xùn)練數(shù)據(jù)的稀少。今天因?yàn)樯赡芰Φ拇嬖?,就意味著你可以來生成這些數(shù)據(jù),然后再去標(biāo)注。這對于看重企業(yè)私密數(shù)據(jù)安全的to B場景而言,非常有意義。
因此,當(dāng)具備了上述三點(diǎn)之后,大模型、AI技術(shù)開始在不同的行業(yè)中落地。同時(shí)需要注意的是,不同行業(yè)其實(shí)對大模型技術(shù)的需求并不一樣,因此發(fā)展成熟度也不盡相同。
在發(fā)展比較快的行業(yè),比如在圖片生成的領(lǐng)域,已經(jīng)有很多流水非常高、用戶黏性非常好的一些產(chǎn)品和公司出現(xiàn)了;相對發(fā)展困難一些的行業(yè),比如在基礎(chǔ)研究、自動(dòng)駕駛等領(lǐng)域,落地則較慢;中間則是金融、教育等領(lǐng)域,現(xiàn)在正處于啟動(dòng)期;同時(shí),在金融、制造業(yè)等賽道不斷地有一些標(biāo)桿企業(yè)的應(yīng)用開始落地了,但數(shù)量尚有限。
以上便是我們從去年6月份到現(xiàn)在為止,觀察到的大模型落地的行業(yè)趨勢。
1.AI產(chǎn)業(yè)化象限
那么接下來,結(jié)合大模型能力以及對to B、to C行業(yè)的理解,AI產(chǎn)業(yè)化最后會(huì)形成怎樣一個(gè)象限?
在很多維度中,我們抽取了三個(gè)最重要的維度:門檻、效果、人力。從這三個(gè)維度看,重點(diǎn)去思考象限中的四個(gè)點(diǎn)如何在效果面上達(dá)到最好。
首先看A點(diǎn),我稱之為“成本之殤”,為什么呢?因?yàn)檫_(dá)到A點(diǎn)的效果,同時(shí)需要極多的人力和極高的門檻,成本非常高昂。
這也是在AI1.0時(shí)代,尤其在to B行業(yè)化去落地時(shí)面臨的最大挑戰(zhàn),它不僅體現(xiàn)在人才的數(shù)量上,而且這些人才需要具備一定的模型構(gòu)建的能力,成本顯然很高。因?yàn)锽端行業(yè)不同,需求不一樣。同樣的行業(yè),不同的公司,需求差別其實(shí)也不小。
再來看點(diǎn)B,這里稱之為“互聯(lián)網(wǎng)模式”。它是一個(gè)邊際效應(yīng)遞減的模式,特點(diǎn)就是人力相對要少,但是門檻比較高。因?yàn)榛ヂ?lián)網(wǎng)模式下有規(guī)模效應(yīng),比如我們之前一個(gè)團(tuán)隊(duì)可能有十幾個(gè)人、二十個(gè)人,這些人就干一件事情:把query的意圖分析得準(zhǔn)一點(diǎn),哪怕漲一個(gè)百分點(diǎn),上線之后帶來的效果也會(huì)非??捎^——因?yàn)檫@樣一個(gè)搜索引擎它每天的Query都是數(shù)十億的。因此幾個(gè)人、十幾個(gè)人的改進(jìn)就可以非常容易得到規(guī)?;?,成本邊際效應(yīng)就會(huì)遞減。
接下來,C點(diǎn)則是“終極AGI”,特點(diǎn)是效果又好,也不需要非常專業(yè)的人,而且需要的人也不多。即我們所設(shè)想的這樣:不需要人來干活,交給模型、交給AI、交給AGI就可以了。這顯然是很難做到的,尤其在行業(yè)落地的場景下。
最后D點(diǎn),我認(rèn)為是“AI產(chǎn)業(yè)化的起點(diǎn)”。像瀾舟科技這樣的toB公司就是致力于推向這個(gè)點(diǎn)。依賴于大模型技術(shù),D點(diǎn)的門檻其實(shí)會(huì)很大程度上降低,也會(huì)取得明顯的效果,但是它仍然需要很多人,為什么呢?因?yàn)橐{馭今天的模型去解決一些定制化的問題,確實(shí)需要一些人的知識(shí)和能力,但是它的門檻會(huì)降低。通過這種方式,去解決千行百業(yè)AI大模型落地的問題。
2.產(chǎn)模一體,為什么要自己做模型?
瀾舟科技在企業(yè)戰(zhàn)略布局的定位是產(chǎn)模一體,既做大模型底座,同時(shí)也會(huì)側(cè)重產(chǎn)品和應(yīng)用的研發(fā)和落地。很多人會(huì)問,“可以用很多開源的模型,為什么還要自己做模型呢?”我認(rèn)為自己做模型有以下幾點(diǎn)優(yōu)勢。
第一,你會(huì)很清楚地理解整個(gè)技術(shù)棧以及存在的問題。這對在應(yīng)用中去做比如微調(diào)、對齊,甚至利用RAG、Agent都是非常有幫助的。即使今天大家在應(yīng)用中使用GPT4或者其他SOTA模型,實(shí)際上也會(huì)面臨很多問題,只靠Prompt Engineering很多時(shí)候是不能解決的,RAG、Agent也很重要。
第二,在使用大模型這些能力的時(shí)候,還意味著你需要了解模型的能力邊界在哪,能力不夠的地方就需要去優(yōu)化。同時(shí)也確實(shí)有一些公司和客戶有意愿、有需求去針對模型底座做一些定制的優(yōu)化,做一些continue train。
瀾舟科技在這些方面其實(shí)都有一些布局,最底層的模型,基于底層的基礎(chǔ)模型之上我們會(huì)有一些行業(yè)的,還有一些功能性的,比如金融行業(yè)大模型、編程大模型,我們剛才講的幾個(gè)技術(shù)能力。上面就是我們今天講得可能會(huì)比較多的,就是知識(shí)庫相關(guān)的,搜索、問答,以及和寫作有關(guān)的一些能力。
3.行業(yè)落地中的挑戰(zhàn)
在企業(yè)側(cè)落地方面,有以下幾個(gè)突出的問題。
首先是模型效果。大模型直接拿來用,今天的很多問題其實(shí)都解決不了。大家使用RAG的一個(gè)很重要的原因,就是它能接入可快速更新的知識(shí)庫,而這些知識(shí)庫每次通過訓(xùn)練把這個(gè)知識(shí)infuse到模型里,時(shí)效性顯然不夠。此外,還存在數(shù)據(jù)庫、圖譜等結(jié)構(gòu)化知識(shí)難以利用以及幻覺問題等。
第二,落地成本的問題,這里既有研發(fā)的成本,同時(shí)也有模型本身的成本。大參數(shù)量的模型,需要用很多機(jī)器去部署它,而且窗口越長,推理越慢,就需要更多的機(jī)器;此外,大模型的定制需要投入很多人力,如果門檻不夠低的話,人力成本也會(huì)非常高。
最后,可持續(xù)的問題。大模型發(fā)展速度非???,很多企業(yè)在采購大模型時(shí)會(huì)擔(dān)心,現(xiàn)在花錢買了一個(gè)底座,可能沒過兩三個(gè)月,可能就會(huì)開源出一個(gè)比你買的還要好的模型,這對于去布局自己公司或集團(tuán)的大模型技術(shù)是有一定的風(fēng)險(xiǎn)的。
瀾舟科技已經(jīng)開源了很多模型,在常見的這些開源社區(qū)和網(wǎng)站上其實(shí)大家也都能夠下載。然而,我們不會(huì)去做參數(shù)量非常大的模型,因?yàn)槠髽I(yè)客戶本身實(shí)際上也并不去用太大的參數(shù)去解決真正業(yè)務(wù)中的實(shí)際問題。
金融作為重要的行業(yè)領(lǐng)域,瀾舟科技投入了更多的資源打造出金融行業(yè)大模型。
孟子GPT金融行業(yè)大模型通過構(gòu)建眾多金融任務(wù)的多樣化學(xué)習(xí)數(shù)據(jù)、Few-shot學(xué)習(xí)以及強(qiáng)化學(xué)習(xí)等訓(xùn)練方法,在金融任務(wù)上的性能評測上整體取得了優(yōu)異性能。結(jié)果顯示,它不僅在金融任務(wù)上明顯比通用模型好,而且其通用能力也沒有出現(xiàn)明顯下降。
4.RAG和Agent
在搜索、問答、知識(shí)庫領(lǐng)域,通常會(huì)依賴兩個(gè)重要的技術(shù),一個(gè)是RAG(檢索增強(qiáng)生成),一個(gè)是Agent。
搜索引擎跟大模型能力結(jié)合起來是一個(gè)很自然的想法,因?yàn)樗阉饕娴乃阉鲗?shí)際上是用戶去驅(qū)動(dòng)的,用戶說我要搜什么,系統(tǒng)看了一些文檔之后,再?zèng)Q定下一步要搜什么,以此來解決自己的這個(gè)問題。
大模型可以將這個(gè)流程自動(dòng)化,比如,之前用戶需要搜十個(gè)Query,用了大模型之后,你只需要搜解決那個(gè)問題的那個(gè)Query就行。當(dāng)時(shí)的效果就已經(jīng)不錯(cuò)了。
在與搜索結(jié)合過程中,我們看到RAG(檢索增強(qiáng)生成)技術(shù)。今天這個(gè)框架已經(jīng)非常標(biāo)準(zhǔn)化,其中的很多模塊,比如Query上應(yīng)該做些什么,文檔上應(yīng)該做些什么等,也都是搜索引擎中非常重要的模塊。
文檔方面,在toB的領(lǐng)域,很多文檔都是非結(jié)構(gòu)化的,比如PDF文件格式,所以文檔解析在知識(shí)庫這個(gè)領(lǐng)域就非常重要,在這個(gè)領(lǐng)域要解決海量信息、幻覺等問題,就可以自然接入到大模型的應(yīng)用中來。
其實(shí),這里的窗口長度也沒有那么大,根據(jù)我們自己的實(shí)驗(yàn),一個(gè)13B左右的模型,每個(gè)文檔片段1K左右,大模型的輸入窗口6K,即TOP6的文檔片段,在答案的recall上就能做到99%以上。只要底層檢索和排序的能力做到一定水平之后,就很容易達(dá)到這點(diǎn)。所以大家經(jīng)??吹揭话肽P偷拇翱谥挥?、7K,長一點(diǎn)的有20~30K。
但如果你真的要解讀一篇金融領(lǐng)域的文檔,比如年報(bào)、研報(bào),年報(bào)一般二、三百頁,研報(bào)多的三、四十頁,那么窗口即便是幾百K都不夠。
不用提推理速度,就是對效果的影響也會(huì)很明顯,因?yàn)樗L了,長了之后整個(gè)窗口內(nèi)的和你的問題相關(guān)的信息密度會(huì)顯著下降,下降了之后就會(huì)自然影響模型的效果。
因此,并不是說這模型支持這么長窗口,就給它這么長,效果跟短文本窗口是不一樣的:短不只是推理的成本低,推理的效果也會(huì)更好。
檢索是一個(gè)非常通用的接口,可以通過讓大模型和檢索結(jié)合起來,做非常多的事。現(xiàn)在大家做RAG,更多是非結(jié)構(gòu)化的文檔搜索,但其實(shí)將非結(jié)構(gòu)化文檔變成半結(jié)構(gòu)化或者結(jié)構(gòu)化進(jìn)而做結(jié)構(gòu)化文檔的搜索,也是一個(gè)趨勢。所以就是結(jié)合了檢索的通用的接口之后,同時(shí)大模型的能力也得到了非常強(qiáng)的擴(kuò)展。
接下來講一下Agent方面。第一,結(jié)合Agent可以設(shè)計(jì)非常復(fù)雜的工作流。企業(yè)側(cè)存在很多復(fù)雜的工作流,它需要很多步,而且這些步驟有時(shí)還不只是一次大模型的推理,還要依賴于現(xiàn)在的一些能力,比如檢索增強(qiáng)、代碼的執(zhí)行、計(jì)算等等,這些工具的調(diào)用其實(shí)都是通過Agent串聯(lián)起來的流程。
人們可以自己設(shè)計(jì)workflow,現(xiàn)在編排這種流程的工具很多。此外,大模型本身也具備一定的planning能力,甚至針對一些比較局限的場景,大模型也可以自己設(shè)計(jì)workflow,而且會(huì)非常動(dòng)態(tài),會(huì)根據(jù)不同的輸入,會(huì)設(shè)計(jì)不同的workflow。
整體上看,包括瀾舟科技在內(nèi)的很多大模型的公司,整個(gè)技術(shù)棧有這幾個(gè)層次,L1-通用的底座、L2-行業(yè)大模型,L3-場景任務(wù)模型,L4-AI Agent。
5.具體案例:文檔理解和搜問
現(xiàn)在說到文檔問答或者知識(shí)庫一些具體的問題和我們的一些工作。
首先,為什么要做文檔的解析和理解,因?yàn)樵谝恍┪臋n中,它的問題有時(shí)和文檔的結(jié)構(gòu)是緊密相關(guān)的,有了文章的結(jié)構(gòu),其實(shí)對于RAG做更復(fù)雜的問題是有很好的幫助的。
下面就是我們在文檔理解上面的一個(gè)整體的文檔解析能力的架構(gòu)。
首先,PDF文檔、圖片等非結(jié)構(gòu)化的內(nèi)容,通過OCR,利用大模型進(jìn)行一些處理之后,得到文章的內(nèi)容。
下面則是針對文檔的結(jié)構(gòu)部分,同樣也需要OCR,通過大模型和規(guī)則的結(jié)合,就可以把非常常見的、模式非常清楚的東西定義出來,而且大模型非常適合去擴(kuò)展一些偏tail的內(nèi)容。
最后文檔的內(nèi)容和文檔的結(jié)構(gòu)合并之后,我們就可以得到一個(gè)非結(jié)構(gòu)化文檔的解析的結(jié)果,像表格、章節(jié)、標(biāo)題、段落等等。
接下來就可以針對它做一個(gè)分塊,這里也會(huì)有很多的策略。比如多粒度分層chunking,一篇文章可以有多種分塊方法。然后在每種類型的分塊方法上都進(jìn)行召回,最后再做一些合并的策略,其實(shí)就會(huì)有更好的結(jié)果。
在搜問方面,我認(rèn)為有三個(gè)比較重要的環(huán)節(jié)。第一,文檔的解析非常重要。第二,檢索的準(zhǔn)確度,別只用一個(gè)向量去解決檢索的環(huán)節(jié),后面可能還要做關(guān)鍵詞和排序模型,可以采用 learning to rank作為大模型最后在排序的召回層,這樣可以非常有效地提升整個(gè)RAG stack推理的速度。
最后就是答案的答復(fù)和幻覺的檢測,這個(gè)環(huán)節(jié)非常重要。在B端領(lǐng)域,一個(gè)可以落地的指標(biāo)是90%以上,否則的話其實(shí)很難被使用起來,即便真的有人去用,體驗(yàn)也會(huì)非常差。
6.知識(shí)庫搜索和問答的未來方向
最后我想分享一下在知識(shí)庫搜索和問答領(lǐng)域,下一個(gè)階段我們會(huì)重點(diǎn)關(guān)注的幾個(gè)技術(shù)方向。
首先第一個(gè)就是從單一的結(jié)構(gòu)數(shù)據(jù)向多結(jié)構(gòu)數(shù)據(jù)融合來做搜索問答或者RAG、Agent。單一的數(shù)據(jù)結(jié)構(gòu)可以理解為一種非結(jié)構(gòu)化的文檔,比如圖片或PDF。而多結(jié)構(gòu)化則是指即使是非結(jié)構(gòu)化的文檔,我們也希望把它變成半結(jié)構(gòu)化的。
例如,輸入一本講解世界范圍名勝古跡的書,我們現(xiàn)在問一個(gè)優(yōu)點(diǎn)條件搜索的問題:中國的名勝古跡有哪些?如果用傳統(tǒng)的RAG的話,很可能搜回來的古跡不只是中國的。這時(shí)候就希望針對這樣的文檔做一些半結(jié)構(gòu)化處理。這里有一種很簡單的方法:針對這些非結(jié)構(gòu)化的文檔構(gòu)建一個(gè)簡單的知識(shí)結(jié)構(gòu)就可以了。
最簡單的知識(shí)結(jié)構(gòu)其實(shí)就是Key-value,我們抽出這個(gè)文章內(nèi)容的property,然后它的value是什么。對應(yīng)剛才的例子,其實(shí)就把文章中的古跡的地址、所在的國家抽取成property,只要它是“中國”就行了。這樣的非結(jié)構(gòu)化數(shù)據(jù)就變成了一個(gè)半結(jié)構(gòu)化/結(jié)構(gòu)化的數(shù)據(jù),將其放到數(shù)據(jù)庫中之后,就可以利用現(xiàn)代數(shù)據(jù)庫搜索的技術(shù),比如NL2SQL或者Semantic的NL2SQL,進(jìn)行一些值的語義匹配的,當(dāng)然現(xiàn)在也有很多數(shù)據(jù)庫是把這種匹配向量化了。
今天這種非結(jié)構(gòu)化文檔的問答,通過“抽取,聚合,總結(jié)”的這種模式,指標(biāo)基本上都能到90%以上了。接下來大家需要解決更難的問題,這就需要了解文章的結(jié)構(gòu),文章的知識(shí)點(diǎn),知識(shí)的維度。
第二個(gè)趨勢,就是從剛才說到的抽取、匯總、摘要,將轉(zhuǎn)向數(shù)理的計(jì)算和推理。這種類型的問題更多出現(xiàn)在表格上,今天做得好一點(diǎn)的可能就直接在非結(jié)構(gòu)化的表里面抽出一兩個(gè)值,但如果讓它去做一些計(jì)算、推理,比如:哪一年某個(gè)公司的營業(yè)額是最高的,成功率就會(huì)低很多,可能只有50%-60%左右。今天我們考慮在大模型中引入代碼、工具等能力,利用Agent的一些技術(shù)來解決類似的問題。
最后一個(gè)趨勢就是單跳檢索增強(qiáng)轉(zhuǎn)向多跳?!皢翁本褪怯脩舭l(fā)一個(gè)問題,我們就把這個(gè)問題需要的東西搜回來,你可能會(huì)對這個(gè)Query做很多改寫去搜。而“多跳是什么”?比如這樣的問題:A、B、C三個(gè)公司的年?duì)I業(yè)額或者2023年的業(yè)績表現(xiàn)對比是如何的?這幾個(gè)公司的業(yè)績表現(xiàn)可能是在三個(gè)文檔中,你直接搜這個(gè)問題,即使多文檔的搜索效果也不會(huì)很好。這個(gè)時(shí)候就需要“多跳”。
所謂“多跳”,就是這個(gè)問題就會(huì)拆成一個(gè)并列的搜索?;氐竭@個(gè)例子中,就會(huì)把它拆成三個(gè)Query,分別搜A公司、B公司和C公司單獨(dú)的內(nèi)容。除了這種并行的多跳,還有很多其他類型的,比如遞進(jìn)、交并關(guān)系等等,甚至有一些是計(jì)算的。瀾舟智庫,作為瀾舟科技精心打造大模型時(shí)代的智能知識(shí)庫平臺(tái),專為現(xiàn)代企業(yè)量身定制,該平臺(tái)集智能AI搜索、知識(shí)庫問答、AI輔助寫作等功能于一體,能夠幫助企業(yè)迅速構(gòu)建起既安全又可靠的專屬知識(shí)中臺(tái)。我們也會(huì)在未來的瀾舟智庫這款知識(shí)庫產(chǎn)品的迭代中不斷地引入這些新的能力進(jìn)來。
