美國大模型風(fēng)向速報(一)為何重視提示工程?LangChain+向量數(shù)據(jù)庫+開源大模型真香


多家,且獨家來自美國的信源同時向“親愛的數(shù)據(jù)”表示,
提示工程(Prompt Engineering)在美國大模型領(lǐng)域備受重視。
讀者都要聊,
那就干活。
(一)開源真香
現(xiàn)階段,AI開源極客大展身手,新的軟件棧正在形成之中。
開源很香,但是開源是零收費,但不是零成本。
甲方著急用大模型,甲方管理層內(nèi)心OS:
誰耽誤我用大模型,我和誰急。
打工人,打工魂,集體上線。
要不玩一把“LangChain+向量數(shù)據(jù)庫+開源大模型=線上模型服務(wù)”?
這幾步看上去一點也不“卡脖子”,實則未必,
做完就可以“宣布”這是知識產(chǎn)權(quán)了。
講兩個小故事:
第一個小故事
某基金機構(gòu)領(lǐng)導(dǎo)看到了ChatGPT的威力,要求使用,開發(fā)團隊安排一下:
第一件事,收集數(shù)據(jù);
第二件事,找各種基礎(chǔ)開源模型;
第三件事,構(gòu)建測試大模型的工程代碼;
第四件事,各種都測試一遍;
第五件事,選出基礎(chǔ)模型;
第六件事,封裝成一個模型服務(wù)。
第七件事,幾乎結(jié)束,但仍需業(yè)務(wù)團隊順利“接棒”。
盡管麻煩事兒有點多,老板依然會說:
市面上,AI開源工具這么多,做一個大模型應(yīng)用應(yīng)該不難,內(nèi)部團隊搞定,實在不行再招幾個人。
“感謝老板栽培,您說得對,市面上開源工具確實很多,有的還很香?!?/p>
包括:
1. 游泳健身和LangChain了解一下:
LangChain用于調(diào)試、測試、評估和監(jiān)控大語言模型應(yīng)用的開源平臺。
LangChain原生支持3個向量數(shù)據(jù)庫,都被封裝成統(tǒng)一接口,屏蔽了各自實現(xiàn)的細節(jié)。
既然封裝好了,用的時候直接安裝,動作很簡單,就一行代碼:pip install chromadb。
2.走過路過,不要錯過開源向量數(shù)據(jù)庫
用Chroma,還可以用臉書公司開源的FAiSS(全稱為Facebook AI Similarity Search),但后者是個索引庫。
3.家人們,開源底層算法大模型挑選一下
說到底基礎(chǔ)大模型不就是個供應(yīng)商嘛。
那么,用開源模型羊駝(Llama2),還是用商業(yè)GPT4?
然而,想走通“大模型服務(wù)”這條路,沒想象的這么簡單。
往往模型服務(wù)還沒開始,人已經(jīng)“累死”半路了。
躬行實踐,底層勞動人民才會有真實的生產(chǎn)體驗,老板不理解。
第二個故事:
理想中:用某一個科技公司已有的線上模型服務(wù)。
全劇終。
理想還是要有的,萬一實現(xiàn)了呢。
(二)Lepton.AI
以Lepton.AI 為例,我們近距離觀察一下:
Lepton.AI平臺上的一個功能叫TUNA(吞拿魚)。
名字的由來是據(jù)說創(chuàng)始團隊成員愛吃吞拿魚,
這讓我想起了Snowflake公司幾個創(chuàng)始人都喜歡滑雪。
“親愛的數(shù)據(jù)”創(chuàng)始人愛吃西瓜。
用戶在Lepton.AI 平臺上,上傳公司的數(shù)據(jù)集(最小需200條對話以上,截止目前最大是4.5M)。

先數(shù)據(jù)增強,再微調(diào)。
當然,客戶不用管這些,他們眼中的步驟就是:
上傳小數(shù)據(jù)集,你提出問題,產(chǎn)品回答。
TUNA(吞拿魚)既包括增強數(shù)據(jù)功能,也包括大模型微調(diào),這些都是技術(shù)活。
如何增強數(shù)據(jù)?
這個技術(shù)點,可以說是每個團隊的看家本領(lǐng),外人很難得知。
大致上,好比原來只有1個G的數(shù)據(jù),生成10個G的數(shù)據(jù),再去掉8個G的數(shù)據(jù)垃圾。
剩下的雖不多,好歹有2個G的數(shù)據(jù)能用,怎么說也比一開始翻了2倍的數(shù)據(jù)量。
上傳數(shù)據(jù)集后,先增強數(shù)據(jù),再微調(diào)大模型。
用戶可直接獲得模型服務(wù)的結(jié)果。
最終完成模型服務(wù)的最后一公里。
服務(wù)可有兩種方式:
要么一問一答。
要么抽成結(jié)構(gòu)化數(shù)據(jù)。
然后,就沒有然后了。
雖然是一個應(yīng)用,但是體現(xiàn)出其背后工具鏈的價值,數(shù)據(jù)增強加上微調(diào)模型,靈便順手,好用易用。
這個方案即使用開源軟件,每一個步驟精細實現(xiàn),再有機結(jié)合,直到產(chǎn)品化,難度還不小。
時間和人力都是成本。
當然,直接調(diào)用模型服務(wù)的產(chǎn)品最為方便。
AI落地需要靈便產(chǎn)品。
AI落地和商業(yè)模式的成功,不是單純靠技術(shù)。
看上去Lepton.AI這家公司想讓AI模型服務(wù)上線更快,讓AI應(yīng)用落地更快。
用咨詢公司腔調(diào)表述這件事就是:
數(shù)據(jù)與大語言模型間的協(xié)同作用,增強了AI應(yīng)用服務(wù)的整體性能,同時為更多創(chuàng)新和發(fā)現(xiàn)開辟出新可能性。
(三)聊聊細節(jié)
評價一個AI應(yīng)用,用效果說話。
Lepton.AI所選的是財報會議場景,使用者可以是:摩根大通、高盛和摩根士丹利這幫投資人和專業(yè)投資分析師。
我們分析一下Lepton.AI的生成結(jié)果。
最開始,Lepton.AI的設(shè)置如圖藍色底色所示:
“使用以下上下文來回答最后的問題。如果你不知道答案,就說你不知道,不要試圖編造答案。”
用技術(shù)術(shù)語表達,這些是Instruction。
與大語言模型會話,定義前置規(guī)則非常重要,包括角色,場景等等。
因為相同的內(nèi)容,對不同的人,不同的場景可能意思不同。
一個會話機器人不可能一上來就知道你是誰,是什么場景下的問話,是想要創(chuàng)意性的回答還是嚴謹?shù)幕卮鸬鹊取?/p>

此后,就是大模型的推理過程了,分為三部分:
第一個部分是輸入,
第二部分叫處理,
第三個部分是輸出。
既然是推理,在第一個部分輸入,相當于給微調(diào)后的大模型“喂”了新數(shù)據(jù)。
或者說通過提示(Prompt)引導(dǎo)大模型。
這里用到了向量數(shù)據(jù)庫。
我們知道,向量數(shù)據(jù)庫可以通過向量相似度搜索快速檢索相關(guān)數(shù)據(jù),與傳統(tǒng)的基于索引的數(shù)據(jù)庫相比,查詢速度快。
結(jié)構(gòu)化的數(shù)據(jù)從向量數(shù)據(jù)庫提取出來后,喂給大模型,大模型生成了提問問題的答案。
這個輸入(Input),是這里面灰色底色,且沒有高亮的這些字。
與傳統(tǒng)預(yù)訓(xùn)練微調(diào)的方法不同,大模型推理中所用到的輸入提示(Prompt),是從向量數(shù)據(jù)庫里檢索而來。
而LangChain在大語言模型輸入階段,通過檢索向量數(shù)據(jù)庫獲取最相關(guān)的信息,將信息整理組合成為提示(Prompt),輸入大模型,并得到產(chǎn)出結(jié)果。
這里還會用到召回增強型的生成技術(shù)。
英文名,Retrieval Auqmented Generation,是基于向量數(shù)據(jù)庫,在上下文中去做內(nèi)容摘要。
是一種增加大模型推理能力的技術(shù)。
產(chǎn)品效果如圖:
能觀察得到,產(chǎn)品界面能看到除答案之外的更多內(nèi)容——結(jié)構(gòu)化數(shù)據(jù)。
譚老師推測,Lepton.AI團隊“特意”讓大家看到從向量數(shù)據(jù)庫里檢索而來的“更多內(nèi)容”。
用向量數(shù)據(jù)檢索到了什么,本來是幕后工作,用戶可以不知道。
“特意”意味著將輸入內(nèi)容也一起展示給大家看。
展示了什么內(nèi)容?
給模型輸入的內(nèi)容都一樣:用了同樣的向量數(shù)據(jù)庫,用了同樣的數(shù)據(jù)。
那么更容易對比觀察出:誰的效果更好,更“哇塞”?
第二部分,處理(Processing)。
本質(zhì)上,這部分是對用戶不可見的,是幕后工作。
無論是數(shù)學(xué)方法還是其他。
第三部分,大模型的輸出就是給出的答案。

如圖所示,模型往外面輸出這個結(jié)果是綠色底色的是生成的部分。
看上去,原來的電話財報會議的文字內(nèi)容被切成一段一段,
前面是結(jié)構(gòu)化的數(shù)據(jù)(灰色底色),后面是問題的答案(綠色底色)。
圖片字太小,我們粘出來看。
提問:
Can you discuss the potential for further growth in the number of Apple devices per iPhone user??Additionally, could you elaborate on how the monetization per user might vary between highly engaged "super users" and those who are not as deeply integrated into the Apple ecosystem?
你能談?wù)刬Phone用戶擁有的蘋果設(shè)備數(shù)量進一步增長的潛力嗎?
另外,能否詳細說明一下,在高度參與的“超級用戶”和那些沒有深度融入蘋果生態(tài)系統(tǒng)的用戶之間,每個用戶的營收可能會有什么不同?
ChatGPT 3.5的答案:
Based on the provided context, Luca Maestri does not discuss the potential for further growth in the number of Apple devices per iPhone user or how monetization per user might vary between highly engaged "super users" and those who are not as deeply integrated into the Apple ecosystem.
基于上述內(nèi)容,Luca Maestri并沒有討論iPhone用戶的蘋果設(shè)備數(shù)量的進一步增長潛力,也沒有討論每名用戶的營收在高度參與的“超級用戶”和那些沒有深度融入蘋果生態(tài)系統(tǒng)的用戶之間的差異。
Lepton.AI的答案:The number of active devices per user continues to grow and set new records. And the number of active devices per user is a very good indicator of the strength of our ecosystem and the ability to achieve future growth. As we've said in the past, we're not publishing the number of active devices per user, but the number of active devices per user set new records in the March quarter, and it's a very good indicator of the strength of our ecosystem.活躍用戶設(shè)備數(shù)量繼續(xù)增長,并創(chuàng)造了新的記錄?;钴S用戶設(shè)備數(shù)量這一指標很好地反映了蘋果公司生態(tài)系統(tǒng)的實力和未來實現(xiàn)增長的能力。正如我們之前所說,不會公布活躍用戶設(shè)備數(shù)量,但這個指標在第三季度創(chuàng)下了新的紀錄,這是有力證明我們生態(tài)系統(tǒng)實力的一個很好的指標。
所見即所得。Lepton.AI和OpenAI的模型在同樣的輸入的情況下,Lepton.AI的模型能夠做得更好。
因為使用了行業(yè)數(shù)據(jù)進行模型微調(diào),當然,誰也不知道Lepton.AI使用的基礎(chǔ)模型是哪個,正如我開頭所說,這些都是“知識產(chǎn)權(quán)”。
“親愛的數(shù)據(jù)”讀者群的群友表示:“(這個時間段),來個LangChain和向量數(shù)據(jù)庫最佳實踐,包括選型建議。出書,保證大賣。”
譚老師我聽罷,狠狠點了點頭,并且開始腦補當上白富美,迎娶CEO。醒一醒。我們細看了Lepton.AI的做法,其中的提示工程非常重要。的確,LangChain+向量數(shù)據(jù)庫+開源模型是一種非常務(wù)實的做法,做大模型空談概念無用。lepton.AI是文章中舉的一個例子,想得到一個好的結(jié)果,既靠提示工程(Prompt Engineering),微調(diào),也靠向量數(shù)據(jù)庫來優(yōu)化,AI落地并不是只靠單點技術(shù)就能夠搞定的。
One More Thing
為了加深理解,有幾個用餃子來解釋“技術(shù)名詞”的有趣比喻:
向量數(shù)據(jù)是干什么的?譚老師我跟向量數(shù)據(jù)庫說,我喜歡吃葷餃子,不喜歡吃素餃子。向量數(shù)據(jù)庫收到我的指示,開始準備食材,根據(jù)口味偏好,向量數(shù)據(jù)庫所選食材可能有新鮮豬肉,五香牛肉,水晶蝦仁等等食材。因為用向量進行模糊查詢,以上食材都屬于選擇范圍之內(nèi)的餡料。
線上模型服務(wù)這種產(chǎn)品怎么理解?譚老師我愛吃餃子,嫌麻煩不愿意自己包。但又是個挑剔的食客,偏要吃我家特有的餃子餡包成的餃子。我理想中的餐廳應(yīng)有這樣的服務(wù):直接拎著餃子餡來餐館,坐等。后面的安排,包餃子,煮餃子,端餃子,都由餐廳來服務(wù),除了餃子餡,我自己帶,其余的餐廳服務(wù)(模型服務(wù))全包。
好了,這次聊到這里。

最后,再介紹一下主編自己吧,
我是譚婧,科技和科普題材作者。
為了在時代中發(fā)現(xiàn)故事,我圍追科技大神,
堵截科技公司。偶爾寫小說,畫漫畫。
生命短暫,不走捷徑。
原創(chuàng)不易,多謝轉(zhuǎn)發(fā)還想看我的文章,就關(guān)注“親愛的數(shù)據(jù)”。??
最后的最后,帶個貨,自己的書~
