考慮業(yè)務(wù)與大模型結(jié)合時(shí),優(yōu)先選擇PromptOnly和Embedding轮纫,找業(yè)務(wù)與大模型的結(jié)合點(diǎn),先用起來以后再考慮做大模型微調(diào)焚鲜。
總結(jié)目前對大模型的使用模型掌唾,從輕度到重度有如下三種:
- 純提示詞模式(PromptOnly):直接使用提示詞結(jié)合千帆Prompt模版調(diào)用大模型 API放前,這是目前最容易上手、也是效果最明顯的方式糯彬;
- 嵌入向量模式(Embedding):將知識預(yù)處理存入向量數(shù)據(jù)庫凭语,在提問時(shí)通過向量相似度查詢找到關(guān)聯(lián)知識,然后跟Prompt模版 + 關(guān)聯(lián)知識 + 問題一起加入提示詞撩扒,再調(diào)用大模型 API進(jìn)行推理似扔;
- 微調(diào)模型模式(Fine-tune):將知識通過 SFT、Prompt Tuning搓谆、LoRA等微調(diào)訓(xùn)練方式存入大模型炒辉,然后使用時(shí)再進(jìn)行 Prompt 進(jìn)行調(diào)用。
一泉手、純提示詞模式(PromptOnly)
調(diào)用文心大模型通用API能力進(jìn)行推理辆脸,不需要做模型微調(diào),如果QPS要求不高(<5)螃诅,也不需要做模型托管,通過合理使用Prompt提示工程技巧(few shot状囱、CoT等)术裸,能夠勝任內(nèi)容生成、推理亭枷、通用知識問答等大多數(shù)場景袭艺。這是大模型應(yīng)用的首選模式,當(dāng)考慮客戶業(yè)務(wù)與大模型結(jié)合時(shí)叨粘,首先要考慮的就是這種模式猾编。能用Prompt解決的問題,都不是真正的問題升敲,如果不能答倡,再想想是否Prompt沒寫對。
二驴党、嵌入向量模式(Embedding)瘪撇,即知識庫
涉及到專業(yè)知識問答, 通用大模型就無法勝任了港庄,這時(shí)候有兩種選擇: 嵌入向量模式倔既、精調(diào)模型模式。
嵌入向量模式是先將知識文檔分片鹏氧,然后將分片后的知識片段通過調(diào)用大模型 API 獲取其對應(yīng)的向量渤涌,這個(gè)向量也就是我們所說的Embedding。隨后將上述調(diào)用后得到的向量值存入向量數(shù)據(jù)庫把还。
在用戶提問后实蓬,應(yīng)用層先將用戶問題調(diào)用大模型 API 獲得對應(yīng)的向量(Embedding)茸俭,然后通過此向量到向量數(shù)據(jù)庫中查詢相似度最相似的 TopK 知識片段。
組合Prompt模版 + 知識片段 + 問題三部分形成最終的提示詞瞳秽,最后調(diào)用大模型推理API獲得最終答復(fù)瓣履。
2.1 嵌入向量模式優(yōu)點(diǎn)如下:
- 不需要對大模型做微調(diào),使用的仍然是大模型的PromptOnly推理能力练俐,所以成本較低袖迎;
- 客戶完全控制向量數(shù)據(jù)庫,可以非常方便對向量數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行增刪改查腺晾,更加靈活燕锥;
- 能夠在多個(gè)大模型之間進(jìn)行切換, 應(yīng)用層無需改動(dòng)悯蝉,支持多個(gè)大模型归形;
能夠解決大模型輸入限制問題;
嵌入向量模式的問題是沒有CoT思維鏈能力鼻由,由于引用的是知識片段暇榴,無法根據(jù)完整知識做推理。
對于大模型的輸入限制問題蕉世, 目前文心API的輸入限制是2K字符蔼紧, 那么將來輸入限制更大以后,是否可以直接使用PromptOnly代替Embedding了呢狠轻? 答案是不可以奸例。
主要是考慮成本和延時(shí)問題。大模型的計(jì)費(fèi)模式是按照輸入輸出的token總數(shù)計(jì)算向楼, Prompt里內(nèi)容越多成本越高查吊。另外是延時(shí)問題,如果Prompt里內(nèi)容過多湖蜕,增加了大模型單次處理API調(diào)用的工作量逻卖,延時(shí)也會(huì)更高。
大模型支持的上下文在相當(dāng)長時(shí)間內(nèi)最大也只會(huì)到 MB 級別重荠,而向量數(shù)據(jù)庫大小則可輕松突破 GB 級別箭阶。
三、微調(diào)模型模式(Fine-tune)
微調(diào)模式是將外部知識內(nèi)化到大模型之中戈鲁,有SFT仇参、RLHF、Prompt tuning婆殿、LoRA等方式诈乒。
SFT是全量參數(shù)微調(diào), 需要的數(shù)據(jù)量較大(>1w)婆芦,少量數(shù)據(jù)有將大模型調(diào)“傻”的風(fēng)險(xiǎn)怕磨∥辜ⅲ客戶如果只有幾十、幾百條數(shù)據(jù)肠鲫,不建議做SFT员帮。
微調(diào)使用的數(shù)據(jù)除了有數(shù)量要求,還要求能覆蓋到客戶業(yè)務(wù)的方方面面导饲,還不能包含敏感數(shù)據(jù)捞高。數(shù)據(jù)質(zhì)量將直接影響大模型微調(diào)效果,數(shù)據(jù)準(zhǔn)備與預(yù)處理渣锦,將會(huì)是微調(diào)模式的主要工作硝岗。
除此之外,微調(diào)模式的優(yōu)缺點(diǎn)基本上與嵌入向量模式對應(yīng)袋毙。 微調(diào)模式的優(yōu)點(diǎn)對應(yīng)嵌入向量模式的缺點(diǎn)型檀, 微調(diào)模式的缺點(diǎn)對應(yīng)了嵌入向量模式的優(yōu)點(diǎn)。
總結(jié)
考慮業(yè)務(wù)與大模型結(jié)合時(shí)听盖,優(yōu)先選擇PromptOnly和Embedding胀溺,找業(yè)務(wù)與大模型的結(jié)合點(diǎn),先用起來以后再考慮做大模型微調(diào)皆看。1`3