大模型長(zhǎng)文本處理之——長(zhǎng)文總結(jié)解決方案 原創(chuàng)
“ 長(zhǎng)文處理中,最好的方式就是分步處理,而不是一次性解決所有問題。”
在大模型應(yīng)用中,長(zhǎng)文本處理應(yīng)該算是一個(gè)重點(diǎn),也是一個(gè)難點(diǎn);原因有二,一是因?yàn)榇竽P蜕舷挛拇翱谟写笮∠拗疲且驗(yàn)楫?dāng)文本過長(zhǎng)時(shí),大模型的處理能力會(huì)下降,導(dǎo)致文本丟失或理解偏差。
但不能因?yàn)橛袉栴}就因噎廢食,所以怎么用大模型解決這些問題?
大模型長(zhǎng)文本處理
最近作者遇到一個(gè)需求,是根據(jù)審核結(jié)果生成一份專業(yè)的審核報(bào)告,但由于數(shù)據(jù)量較大導(dǎo)致上下文超長(zhǎng),因此需要解決這個(gè)超長(zhǎng)問題。
但是呢又擔(dān)心一個(gè)問題,就是如果每次只給模型一部分?jǐn)?shù)據(jù),模型在進(jìn)行總結(jié)報(bào)告時(shí)會(huì)不會(huì)出現(xiàn)理解偏差,即最后給出的報(bào)告不準(zhǔn)確,當(dāng)然這個(gè)是從業(yè)務(wù)的角度出發(fā)。

但如果從技術(shù)的角度出發(fā),由于模型的上下文限制,我們又無(wú)法完全一次性把所有數(shù)據(jù)全部給到模型,這個(gè)是由模型的特性決定的,無(wú)法改變。
所以,這時(shí)候應(yīng)該怎么解決這個(gè)問題?
首先從第一性原理出發(fā),模型的上下文窗口限制是我們無(wú)法繞過的一個(gè)坎,所以我們只有一個(gè)辦法,那就是在模型上下文窗口內(nèi)解決這個(gè)問題。
所以,這里我們有兩種解決方案,或者說也是一種解決方案。
第一,在我們?nèi)祟愖约哼M(jìn)行總結(jié)報(bào)告時(shí),報(bào)告的每一部分也是一點(diǎn)一點(diǎn)寫出來的;而報(bào)告的不同部分使用的數(shù)據(jù)和內(nèi)容也不一樣。
因此,第一種方案就是通過多次生成,然后拼接成一份完整的報(bào)告;即根據(jù)報(bào)告的要求,生成報(bào)告的每一部分都使用需要的數(shù)據(jù),不需要的數(shù)據(jù)直接給過濾掉。這樣通過多次生成的方式,就可以生成一份完整的總結(jié)報(bào)告。
其次,對(duì)審核數(shù)據(jù)進(jìn)行分批處理,對(duì)每個(gè)批次的數(shù)據(jù)生成相應(yīng)的報(bào)告內(nèi)容;然后再對(duì)每部分內(nèi)容進(jìn)行總結(jié)處理。這樣也可以生成完整的總結(jié)報(bào)告。
但面對(duì)這兩種方案,我們到底使用哪種方案比較好呢?
從作者的個(gè)人經(jīng)驗(yàn)上來看,其實(shí)第一種解決方案更好。
原因在于,一份完整的報(bào)告分為多個(gè)部分,如概覽,詳細(xì)審核內(nèi)容,建議,總結(jié)等。

其中,每個(gè)部分的內(nèi)容和要求都不相同,即使我們?nèi)斯ぬ幚頃r(shí),也是先解決第一部分,再解決第二部分,第三部分。
所以,從理論和實(shí)際操作上來說,分步驟處理更符合人類的操作習(xí)慣,而這一點(diǎn)對(duì)大模型來說同樣如此。
而且從報(bào)告本身的角度來看,報(bào)告的有些內(nèi)容需要模型自主生成,但有些報(bào)告的內(nèi)容是有范式的,簡(jiǎn)單來說就是有些報(bào)告格式和內(nèi)容是固定的,其中只有一部分內(nèi)容需要我們進(jìn)行手動(dòng)填充,而不是要填充整個(gè)內(nèi)容。
所以說,在長(zhǎng)文處理中,一我們需要認(rèn)清我們的需求,二我們要了解模型的能力極限;不能在超脫模型本身能力的范疇去實(shí)現(xiàn)它不可能完成的任務(wù)。
本文轉(zhuǎn)載自???AI探索時(shí)代?? 作者:DFires

















