1 不具備記憶能力的 它是零狀態的,我們平常在使用一些大模型產品,尤其在使用他們的API的時候,我們會發現那你和它對話,尤其是多輪對話的時候,經過一些輪次後,這些記憶就消失了,因為它也記不住那麼多。 2 上下文視窗的限制 大模型對其input和output,也就是它的輸入輸出有數量限制。為了保護它的 ...
1 不具備記憶能力的
它是零狀態的,我們平常在使用一些大模型產品,尤其在使用他們的API的時候,我們會發現那你和它對話,尤其是多輪對話的時候,經過一些輪次後,這些記憶就消失了,因為它也記不住那麼多。
2 上下文視窗的限制
大模型對其input和output,也就是它的輸入輸出有數量限制。為了保護它的,這計算能力或保護相當於一個帶寬概念,如說openAI之前只有32k。最新上下文視窗擴張到128k,大概相當於一本《Clean Code》,這個角度來說,這個問題其實已被解決。
但其他很多模型上下文視窗還是比較小,就有很多限制。如不可發一長段prompt或提示詞,也不可不停在那對話,你就需要註意計算你整個視窗token消耗,避免被截斷,可能就沒有辦法去輸入和輸出。
3 實時信息更新慢,新舊知識難區分
基於預訓練的模型,拿大量數據來在神經網路的訓練,然後形成模型,它的知識庫就依賴於拿去訓練的這些材料。
底模數據較小時,就會出現幻覺,胡亂回答。
4 無法靈活的操控外部系統
很多大模型只可對話,但無法作為一個外腦去操作外部的一些系統。雖然chatgpt出現插件機制和插件開發工具。但實際使用後,它還是相當於提供一個非常標準的東西,定製開發或更深度融合較難。
比如想用大模型作為一個外腦操控智能家居系統、操控汽車,都需要有一些連接器和框架幫助。
5 無法為領域問題提供專業靠譜的答案
你問他一些泛泛而談的東西,他都能回答很好,但是你一旦問他一個非常專業問題,他就回答不上來,因為這塊兒的專業問題,他可能不涉及。雖然他回答的答案是看起來是像一個人在回答,但一眼就能看出來那個答案不對。
針對這些問題,業界基本提出兩種解決方案,但也都不能完全解決。
6 解決方案
6.1 微調(Fine-tunning)
主要解決的就是專業問題,專業知識庫問題,包括知識更新問題。
就是把這些數據喂給我們的大模型啊,再做一次訓練。基本上一次訓練也無法解決這個知識感知信息問題,它只能更新它的資料庫。成本較高。因為相當於把你的數據問喂給OpenAI,然後全量訓練一次,成本相當高。
適用場景
做一些自有的大量數據的行業模型。所謂行業模型,如某專業領域的公司,積累的大量數據,如製藥公司在製藥過程積累大量製藥數據,你希望這個數據以AI智能方式指導你的工作,就可用這種方式。把你的這個數據去喂給喂給大模型,對它再做一次調教。
這涉及一個概念
MaaS
module as a service,模型即服務。通過這個微調在大模型基礎上灌入行業數據,實現這種行業模型,就適合手裡擁有大量行業數據的。
這也只能解決領域數據專業性和知識庫更新問題,無法解決操作外部系統、記憶能力、視窗擴張。
6.2 提示詞工程(prompt engineering)
通過上下文提示詞設計引導。在LLM基礎上把這種專業數據通過:
- Embedding嵌入
- prompt提示詞
這兩個工具實現精準的專業回答,同時可實現:
- 實時系統的感知
- 操作外部系統
- 記憶增強
- 視窗控制擴張
好處明顯,無需訓練,不用去在LLM上面做訓練。
適用場景
適合數據樣本比較少的這種場景。如你有一本書,你希望說從這本書上去得到一些信息,但是你又不想去讀它,你希望有個機器人,你問他問題,他直接從書裡面找到答案。這種就可以把書的數據作為專業數據,然後嵌入到我們的這個LLM,然後再通過prompt方式去引導,得到一個精確的答案。
這過程中間甚至還可把這些答案,和我的印表機系統連接,可直接列印。
兩種方式都可解決大模型問題,但適用場景不同,各自擅長點也不一樣,很多時候,兩者結合用效果較好。
微調,現在已經把門檻降到很低了,可直接把。把你想要微調的數據直接upload上去就可,但閉源大模型的數據安全的問題,數據所有性問題和成本問題。
提示詞工程適合開源大模型,如chatglm,在本地部署大模型,再做這種詞嵌入和提示詞引導,就可本地實現專業行業模型。但底層LLM可能沒用強大的,可能只是一個6b13b,它可能在語言組織或說一些智能度上稍低。代表就是 langchain。
7 總結
大模型的這幾個問題都有,有兩套這樣的解決方案:
- Model as aSerivce 模型即服務通過“微調”技術,在LLM基礎上灌入行業數據,實現行業模型
- promptengineering提示詞工程,通過上下文提示詞設計31號LM輸出精確答案
都有自己的優劣點,然後都有自己適用的場景。所以用什麼方案呢?其實是看我們這個這個整個的這個項目的情況,專欄偏向第二種提示詞工程, 即langchain框架的方式。
關註我,緊跟本系列專欄文章,咱們下篇再續!
作者簡介:魔都技術專家,多家大廠後端一線研發經驗,在分散式系統、和大數據系統等方面有多年的研究和實踐經驗,擁有從零到一的大數據平臺和基礎架構研發經驗,對分散式存儲、數據平臺架構、數據倉庫等領域都有豐富實踐經驗。
各大技術社區頭部專家博主。具有豐富的引領團隊經驗,深厚業務架構和解決方案的積累。
負責:
- 中央/分銷預訂系統性能優化
- 活動&優惠券等營銷中台建設
- 交易平臺及數據中台等架構和開發設計
- 車聯網核心平臺-物聯網連接平臺、大數據平臺架構設計及優化
目前主攻降低軟體複雜性設計、構建高可用系統方向。
參考:
本文由博客一文多發平臺 OpenWrite 發佈!