大模型也有“漂移(Drift)”現(xiàn)象?應(yīng)引起AI應(yīng)用開發(fā)者警惕
熟悉數(shù)據(jù)中心機(jī)器學(xué)習(xí)項(xiàng)目開發(fā)的讀者應(yīng)該知道,數(shù)據(jù)漂移和概念漂移是導(dǎo)致機(jī)器學(xué)習(xí)模型效果衰退的一個(gè)常見原因。漂移產(chǎn)生的關(guān)鍵原因是因?yàn)槟P蜁?huì)隨著時(shí)間而衰退,因此為了對(duì)抗這樣的問題就必須要定期優(yōu)化訓(xùn)練方案及定期重訓(xùn)模型。
那么大模型會(huì)不會(huì)有“漂移”現(xiàn)象呢,答案是肯定的。大致分為兩類:
1)大模型漂移(LLM Drift)
大模型漂移(LLM Drift)是指在較短時(shí)間內(nèi),LLM在處理相同問題時(shí)給出的答案發(fā)生了顯著變化。這種變化并不僅僅是因?yàn)榇笳Z言模型本質(zhì)上的不確定性,或者問題提示的輕微變化,還有可能是LLM本身發(fā)生了變化。
斯坦福和伯克利有一項(xiàng)聯(lián)合研究《How Is ChatGPT’s Behavior Changing over Time?》,對(duì)GPT-4 和 GPT-3.5 在回答問題的準(zhǔn)確性進(jìn)行跟蹤,研究發(fā)現(xiàn),無論是 GPT-3.5 還是 GPT-4,它們的表現(xiàn)都出現(xiàn)了大幅波動(dòng),有的任務(wù)甚至出現(xiàn)了性能退化。下圖展示了四個(gè)月內(nèi)模型準(zhǔn)確度的波動(dòng)情況,在某些情況下,準(zhǔn)確度的下降相當(dāng)嚴(yán)重,損失了超過60%。
圖片
https://arxiv.org/pdf/2307.09009.pdf
而其發(fā)生漂移的原因,對(duì)于應(yīng)用開發(fā)者本身并不透明,比如模型發(fā)生變化等因素,但至少需要讓開發(fā)者知道持續(xù)監(jiān)控和評(píng)估LLM 隨著時(shí)間推移模型性能變化的必要性,進(jìn)而保證應(yīng)用的穩(wěn)定性。
該研究對(duì)應(yīng)的代碼庫:https://github.com/lchen001/LLMDrift
2)提示漂移(Prompt Drift)
提示漂移是指在推理過程中,由于模型變化、模型遷移或提示注入數(shù)據(jù)的變化,提示產(chǎn)生的響應(yīng)隨時(shí)間推移而不同的現(xiàn)象。
由于大模型的特點(diǎn),其每次回答是非確定性的,即使是相同的問題,在不同時(shí)間點(diǎn)可能會(huì)得到不同的答案。本質(zhì)上,這并不一定是問題,甚至是一個(gè)特點(diǎn),并且即便用詞不同,核心內(nèi)容可能依舊能保持一致。但在發(fā)生提示漂移時(shí),LLM可能會(huì)有不合預(yù)期的回答。
市面上針對(duì)于Prompt drift提供了一些提示管理和測(cè)試工具,例如 ChainForge,LangSmith等。
由于模型在整個(gè)應(yīng)用中起重要作用,因此,迫切需要一種機(jī)制,來確保在大規(guī)模遷移或淘汰大語言模型(LLM)之前,能夠?qū)贚LM的生成應(yīng)用(Gen-Apps)進(jìn)行充分測(cè)試。如果能有一種模型,在很大程度上對(duì)所使用的大語言模型不敏感,那自然是更理想的。要實(shí)現(xiàn)這一目標(biāo),一種可能的方法是利用大語言模型的上下文學(xué)習(xí)能力。
級(jí)聯(lián)放大
不僅如此,由于當(dāng)前很多大模型應(yīng)用,如RAG,Agent,在使用大模型構(gòu)建應(yīng)用時(shí)會(huì)多次使用到大模型,形成復(fù)雜的嵌套和組合的情況。而一旦發(fā)生“漂移”,就會(huì)引發(fā)級(jí)聯(lián)(Cascading)現(xiàn)象,它指的是在一個(gè)處理流程的連鎖過程中,如果一個(gè)環(huán)節(jié)出現(xiàn)問題或偏差,這個(gè)問題通常會(huì)在后續(xù)的環(huán)節(jié)被無意中放大。這意味著每個(gè)環(huán)節(jié)的輸出都會(huì)進(jìn)一步偏離最初的預(yù)期結(jié)果。
考慮下面的情形:
1.用戶可能提出的問題是出乎意料的或者沒有預(yù)先計(jì)劃的,這可能會(huì)導(dǎo)致鏈?zhǔn)教幚碇谐霈F(xiàn)意料之外的回答。
2.前一個(gè)環(huán)節(jié)可能會(huì)出現(xiàn)不準(zhǔn)確的輸出或某種程度的偏差,在后續(xù)環(huán)節(jié)中被加劇。
3.大語言模型(LLM)的回答可能也會(huì)出現(xiàn)意外,這是因?yàn)榇笳Z言模型本身就具有不確定性。提示漂移或大語言模型漂移可能就是在這里引入的。
4.然后上一個(gè)環(huán)節(jié)的輸出就被傳遞到下一個(gè)環(huán)節(jié),導(dǎo)致了偏差的進(jìn)一步“級(jí)聯(lián)”。
從某種角度看,一個(gè)基于大模型構(gòu)建的應(yīng)用,會(huì)放大因LLM漂移和提示漂移帶來的問題,越復(fù)雜的應(yīng)用這樣的問題越突出,因此,如何避免這樣的問題發(fā)生或者降低這類情況的影響,比如類似微服務(wù)里的故障隔離等措施,也成了一個(gè)新的研究方向。