【AIGC FREE】我的知識(shí)我來管——制作私人知識(shí)庫(二)
先回顧一下上一篇講知識(shí)庫的文章:
【AIGC FREE】我的知識(shí)我來管——制作私人知識(shí)庫
自從有了制作私人知識(shí)庫的想法,就一直想著有沒有辦法,能不能不把這些“知識(shí)”發(fā)給chatgpt/gpt4,這恐怕是垂直領(lǐng)域做私有知識(shí)庫的人都希望的吧,然而從制作私有知識(shí)的流程來說,又幾乎是不可能的。
我們分析一下制作過程,我們用的方法叫l(wèi)angchain,是將本地文檔轉(zhuǎn)化成矢量存放到矢量庫中,當(dāng)我們向它提問時(shí),它會(huì)先將問題矢量化后在矢量庫中找到相關(guān)矢量,再將問題矢量和找到矢量混合后發(fā)給chatgpt, chatgpt用類似的方法在它的巨大的矢量庫進(jìn)行查找,查到的當(dāng)然也是矢量,矢量再用反矢量化(矢量化的逆運(yùn)算)還原成文字信息,這個(gè)文字信息就是問題的回答。(為方便理解,這里的解釋比較口語化,沒有涉及embidding、transformer之類的概念,需要的請(qǐng)自行實(shí)習(xí))?
從上面的過程中可以看出,矢量化和反矢量化是一對(duì)相反的操作,同樣這也就說明了矢量化并不是加密操作,而是很容易反向轉(zhuǎn)化成文字的,因此我們的問題和在本地文檔中的相關(guān)內(nèi)容其實(shí)是發(fā)送給chatgpt的,如果這些內(nèi)容中有一些重要的數(shù)據(jù),比如身份證、姓名、銀行賬號(hào)、病歷等,其實(shí)也就泄露出去了,盡管chatgpt也未必想要。
近期我正好在研究隱私計(jì)算相關(guān)的內(nèi)容,于是翻遍了國內(nèi)外幾十種隱私計(jì)算平臺(tái)和幾百種加密算法,深入研究了多方安全計(jì)算(MPC)、可信聯(lián)邦學(xué)習(xí)(TFL)和可信執(zhí)行環(huán)境(TEE)這三種技術(shù)方案,盡管也看到一些聯(lián)邦大模型的開源項(xiàng)目(比如FATE-LLM等),但都有兩點(diǎn)局限:
(1)采用開源大語言模型作為底座,比如FATE-LLM就是以gpt-2作為基礎(chǔ)大模型的,其他一些國產(chǎn)開源項(xiàng)目是以chatglm-6b為基座的;
(2)多采用聯(lián)邦學(xué)習(xí)作為聯(lián)合建模的方法,通俗點(diǎn)說,就是兩方都要用相同的加密方法,通過特定的同態(tài)加密之類的方法,來保證數(shù)據(jù)不泄露。(同態(tài)加密的概念這里就不詳細(xì)解釋了,需要的自行查資料,也可以給我留言)。
記住,我說的是兩方都要加密,這就跟langchain的模式有很大的不同,盡管我們可以把本地文檔加密后再矢量化,但chatgpt那邊可不會(huì)對(duì)它的所有語料加密,因此在這里同態(tài)加密就做不起來,一邊加密另一邊不加密,兩邊矢量化后的矢量空間就不一致了,那transformer找到的內(nèi)容就很難映射到你的私有矢量了,那得到什么奇怪的結(jié)果也就不奇怪了。
這基本上是我一個(gè)月前就想到的了,隨后我混跡于AIGC相關(guān)的十幾個(gè)微信群中,從模型到應(yīng)用,從文本到做圖,在每天浩如煙海、鋪天蓋地的各類AI產(chǎn)品宣傳中,終于讓我找到了一個(gè)那么特殊的項(xiàng)目——cape privacy,它的宣傳語是:

第一次接觸這個(gè)項(xiàng)目也是在一個(gè)月前(遍查各群聊天記錄,好像是6月8日),當(dāng)時(shí)我的第一個(gè)想法是“不可能",我還在幾個(gè)群里問過,但結(jié)論是“可能是做了一些脫敏”、”應(yīng)用面很窄,用處不大“,隨后也就扔一邊去沒管他了。
然而問題依然還在,甚至有時(shí)很影響,當(dāng)我拿到一個(gè)文檔時(shí),我往往會(huì)猶豫要不要入到矢量庫中去,那也就相當(dāng)于公開了。今天終于痛定思痛,既然還沒找到其他方法,那就只能是它了,盡管有著一百個(gè)“不相信”,也強(qiáng)迫自己要去探個(gè)究竟。
于是我就到它的官網(wǎng)上去探索了:https://chat.capeprivacy.com/
注冊(cè)登錄后,二話不說,先扔一本書上去。


有點(diǎn)讓我”驚喜“的是,這個(gè)文檔本身是做了加密的(不能復(fù)制),在lainchain中是無法生成矢量的,這里居然能上傳,還能像模像樣地回答問題。
雖然問題是回答了,但我依然沒明白”所以然“。那只能繼續(xù)深挖,在看過FAQ、Overview之后還是不明所已,好在我發(fā)現(xiàn)了,它居然有Discord和Github。(雖然有Github,但也只是開放了一些接口,并沒有開源核心算法 )

終于在扒了一堆Discord消息之后,我終于對(duì)其有了一個(gè)基本的了解。


也就是說,它并不關(guān)心你的本地文檔是不是會(huì)泄漏,它只對(duì)一些特定的隱私數(shù)據(jù)進(jìn)行處理,這些特定的隱私數(shù)據(jù)有三種:PII、PCI和PHI,分別涉及身份、金融和健康三個(gè)方面,當(dāng)遇到這三個(gè)方面的詞時(shí)將自動(dòng)對(duì)其做轉(zhuǎn)換(比如將“Wayne Gretzky”換成”?[Name1] [Name2]“),然而這并不影響句子的語法和意義,對(duì)一個(gè)大語言模型來說句子中個(gè)別實(shí)體對(duì)象的替換,并不會(huì)影響大語言模型去”遣詞造句“,關(guān)于這一點(diǎn),我在medium上曾經(jīng)發(fā)過一篇文章《LLM, this may not be the path to the ultimate AI》,有興趣同學(xué)的可以去讀一讀:
https://medium.com/@185482899/llm-this-may-not-be-the-path-to-the-ultimate-ai-fe92c49f2ce5


cape privacy這個(gè)方案對(duì)我還是有很大啟發(fā)的,這說明我們不能固守已經(jīng)的方案,而要根據(jù)實(shí)際情況,打開思路,做一些必要的調(diào)整和變通。
盡管我不覺得它能百分百地保證本地文檔的安全(顯然也沒有),但它仍然很有借鑒意義。
Everyone, have a good dream!
Welcome to like, reward is better!