瀾舟科技周明:大模型未必越大越好,百億級可能就夠用
本文整理自瀾舟科技創始人兼CEO周明在WOT2023大會上的主題分享,更多精彩內容及現場PPT,請關注51CTO技術棧公眾號,發消息【WOT2023PPT】即可直接領取。
大模型概括一下就是幾件事:一是要有大規模的文本,比如說互聯網文本;二是用大規模的算力、用無監督的方式訓練一個大模型。大模型基本上就告訴你輸入的句子或者詞在上下文中的作用。你可以簡單地理解出它的語義、語法、前后文的制約等等。
基于這樣的理解,我們做下面的一些任務的時候,要么就做微調——在GPT-3之前,像BERT、T5都是通過微調的方式來支持下游任務的。所謂微調,就是對整個模型從底層到最高層,從輸入層到輸出層都要做一些調整,一個模型支持一個任務。
現在有了GPT-3以后,尤其是ChatGPT發展了提示詞的功能,就不用微調了。你告訴清楚你要做什么,如果還不能執行好的話,你給它一兩個例子,它就可以完成你要的相應任務,這個就大幅度提高模型的訓練能力,使得一個模型可以支持N多個任務。
現在來講,大模型代表了兩件事:
第一,像ChatGPT這樣的模型支持了語言理解、多輪對話和問題求解,使這些功能進入到了可實用的階段。
第二,解決了AI或NLP任務碎片化開發問題,大幅度提高了研發效率,標志著NLP進入了工業化可實施階段。
大模型引導智能水平越來越高
AI最近幾年從AI 1.0到AI 2.0,到未來的AGI一點一點發展,整個趨勢,就是能力越來越強,開發效率越來越高,使用越來越簡單,結果越來越可控。
什么叫AI 1.0呢?就是一個任務一個模型,或者一個模型就管這一個任務。除了這個任務之外,其他的任務都不怎么支持,開發的周期比較冗長,投入資源也比較高。微調了什么能力就有什么能力,沒有所謂的涌現能力。我把所有大模型之前的能力,包括大模型早期的微調能力,都叫做AI 1.0模型。
有了ChatGPT和GPT-4后,就進入到所謂AI 2.0階段。用一個提示詞的技術,就把能力調用起來了。而且它上下文可以看得很長,出現了一些涌現能力。
所謂涌現能力,就是原來模型小的時候有些能力比較弱,模型一大或者數據量增加的時候,有些能力產生了躍遷,產生了一些意想不到的高水平能力。
AI 1.0和AI 2.0在目前是并存的,但是整個發展趨勢是不斷的從AI 1.0模型到AI 2.0模型,使得效率越來越高。
未來我們沿著這個趨勢,假設一個模型支持N多任務、而且N是越來越多的話,似乎就一點點走向所謂的AGI。但是也不一定那么容易,其實還是有很多問題。比如說對結果的可解釋性和不斷自我學習的能力,目前的大模型還是有點弱。再比如對能力和結果的可控,要符合人類倫理和社會規范,目前也還有挑戰。
但是不管怎么樣,大家可以看到目前存在這樣的一個趨勢,就是大模型、大數據引導著智能水平越來越高。
針對大模型的困惑和挑戰
大模型出來之后,各行各業都很興奮,想要試試大模型,也認為這是一個產業升級的機會。可是他們存在著很多困惑:
- 這么多大模型,我該采購呢?還是找一家模型廠商合作呢?甚至現在開源的這么多,是不是也可以自研?
- 我不論怎么選擇,怎么知道這個大模型的水平?如何評估?
- 我想知道這個大模型跟我這個行業知識、行業數據怎么一起工作。
- 大模型有正兒八經胡說八道的問題,就是所謂幻覺問題。我怎么用其長、克其短。
- 如何保護企業的隱私安全。
- 成本問題,大模型現在動不動報價幾百萬,甚至上千萬,我怎么來節省成本?
大模型廠商也存在相應的一些挑戰: - 怎么來理解行業,行業到底需要什么,不需要什么,多做什么,少做什么?
- 大模型的功能和規格,大模型越練越大,軍備競賽受得了嗎?
- 最后一公里,大模型做好了之后,如何跟用戶的業務嵌在一起,使它能夠很平滑地運轉?
- 所謂的飛輪效應。你做企業服務的話,企業有數據保護的問題,你怎么來實現飛輪效應?要么數據飛輪,要么功能飛輪。
- 大模型企業商業模式是什么?你是在云上部署、API調用、計量計費?還是到用戶那里本地部署?這兩者的利弊是什么?或者兩者都做的話,如何隨著時代的變化而做一些演變?
大模型服務企業的關鍵解決之道
以上簡單介紹了大模型的發展,下面就介紹大模型服務企業的一些關鍵,我也希望我講的這些東西對于以上的疑問有一些解答。
第一,企業為什么要用大模型?用它干什么?這不能追風,別人用了你就得用。
企業現在都面臨很多的問題:一是降本增效。比如客服,服務1000人用10個人的客服,1萬人就是100個客服。線性增長的話,光客服就受不了,當然還有其他方面的因素。
客服偏向于勞動密集型,還有一些所謂智力密集型行業,比如做營銷文案設計,小紅書、微博、微信...不同的產品有不同的風格,設計任務很繁重。
第二,企業能不能做所謂的數智化轉型呢?它的前提是數據問題。企業過去十幾年,尤其是央企國企都有很多好的數據存在那兒?,F在恰好是大模型時代,把這樣的數據好好用起來,就能夠實現降本增效的功能。
大模型如果做好的話,完全可以當成一個“企業大腦”來支持各個部門的應用。
大模型時代怎么來促進企業新一代的軟件開發水平呢?可能很多人都用過Copilot(微軟在Windows 11中加入的AI助手),Copilot就是你編程的時候,它給你很多的提示和各種幫助。
我這里想強調的是,大模型時代實際上產生了一種新的軟件工程范式,軟件工程都不像以前那么做了。以前做一個項目,任務碎片化嚴重,數據標注代價大、開發周期大、交付成本高、維護困難。
現在有了大模型,你要做的事情是什么?就寫prompt或者微調,prompt就是一個模型管N個功能,你把prompt寫好之后在前面加一個界面就完事了。有的特別重要的功能你不好寫prompt,或者以前沒有積攢那么好的數據,你用大模型也是可以來加速整個開發過程的。
對于企業數智化轉型,搞一個多大的模型才好呢?其實我們要盲目跟風的話,搞個上萬億參數的模型是不是更好呢?但這就意味著成本非常之大。這樣的模型訓練的代價大,部署的成本也比較高。給企業用,企業都不敢用,因為可能是32塊卡以上,甚至更多的A100以上才能把大模型支起來。
對于企業服務,到底用多大模型才好呢?我這里畫了一個曲線,來說明大模型應該做多大為好。
其實我們今天所看到的大模型實際上是包含了兩個能力:語言理解能力和AGI能力。但是我們平時是混在一起用的,所以也分不清楚哪些地方是語言理解、哪些地方是AGI。就像高中畢業的同學跟一個院士對話,他倆的語言理解能力是一樣的,但是專業水平或解題能力不一樣。
那我們做企業服務的時候,更注重哪一塊呢?其實更注重語言理解能力。對于解題能力,企業有專門的引擎或者專門的資深專業人士來解決,大模型有時候正兒八經胡說八道還可能添亂。
如果我們要做語言理解能力,我們要回到現實:只要做百億模型到千億之間任何一個選擇,就可以支持企業的數智化轉型了。
反過來推你需要多少卡去訓,基本上是300塊卡到500塊卡就可以解決這樣的問題了,所以大家都放心了。
大模型做好之后,我們還要問一個問題:怎么去服務企業?怎么做好最后一公里?拿著大模型到企業說“你拿去用吧,準保好用”,基本都不好用,為什么?企業的需求跟通用模型的需求是不一樣的——最好的通用模型都不一定能解決企業的基本需求。
得先把人家所在的行業搞清楚,把行業的專家知識、數據灌到模型上,把你的模型充實。這就相當于高中畢業之后讀了某個專業,比如計算機專業,然后才能解答計算機專業的問題。
有了行業模型,要解決具體問題的時候,還要對每一個任務場景了解,這就是所謂最后一公里的問題。
比如以金融為例,就是金融研報提取、市場情緒、金融摘要生成、金融搜索、金融實體識別等等,有很多這樣的問題。你拿你的行業模型去試,如果不work的話,就得把企業已有的數據加進去,要么微調,要么寫prompt,把最后一公里的問題寫進去。
做大模型的人要跟企業合作,才能了解企業需求。第二你要跟企業一起做,把它的場景理解清楚,把它的業務理解清楚,把最后一公里做好。用這樣的模式服務企業,才能把大模型一步一步做到比較深入、徹底。
大模型和行業模型做好之后,怎么來做商業模式?其實仁者見仁、智者見智,底層是訓練,然后訓出很多模型,然后有那么多功能?,F在來講,要么就是通過云的方式,API計時計量。要么有些企業說我的數據不能上公有云,我要做本地部署。
你如何給企業做深度定制,然后本地部署?你的工作效率要足夠高,否則你沒有錢賺,你做一個會賠一個。這是第一件事,就是你如何有一個高效率的研究、開發和交付一條龍的團隊,高效率地完成從接單到支付的全過程。這時候就應該把所謂大模型的技術好好用起來,比如說大模型的prompt技術用起來,來增加開發的效率或者降低成本等等。
第二是所謂飛輪問題,你要沒有飛輪的話,做完A再做B是一點收益也沒有,還得從頭開始做,做ToB企業服務最麻煩的就是很難產生飛輪。不過我覺得,在大模型時代,還是有一些機會能做出飛輪的。
一是在做行業模型的時候,如果是同一行業的不同企業,他們行業數據假設沒有保密的話,互相之間共享,然后把行業模型越做越大,這個是有可能產生一些飛輪效應的。
二是prompt。你在服務不同企業的時候,服務的具體任務會寫prompt。那些prompt一般不是保密的,因為一個prompt對應某一個功能。prompt積累下來,也會形成某種意義上的飛輪效應。日積月累的話,你對行業越了解越深,數據積累越來越多,功能越來越多,某種意義上也形成了所謂的行業壁壘,使得你這個企業在這個行業可能是做到最好。其他企業剛進來缺乏這些飛輪效應的話,可能落后于你,這樣你會有先期的機會。
以金融為例,大模型如何在行業落地
大模型做完之后怎么在行業落地?我舉一個金融行業的例子。金融行業大模型實際上是所謂L2模型,它是基于L1通用模型的基礎上,拿金融很多不同的數據灌進去,然后訓練出金融模型。
這個金融模型能夠干什么呢?它能夠支持金融行業通用的一些任務,比如搜索問答、翻譯、文檔抽取、情感分析、文檔審核等等。另外支持企業的各種應用場景,就是所謂Application Driven過程,它的底座一定要強。目前我們用孟子的通用模型,就是L1模型來支持各個行業的模型開發。
假設行業模型做好之后,在金融有哪些具體的場景呢?比如說客服,我們把金融大模型做好之后,金融客服怎么做?大家知道大模型有一個正兒八經胡說八道的問題,所以簡單地把客服數據端對端訓練也有可能產生一些正兒八經胡說八道。比如你把前幾年的數據灌進去訓,說某一件商品打折了,可能業務部門突然說這個商品不打折了。大模型學習得挺好,告訴用戶打折了,來買這個商品吧,那這個會對業務產生極大的煩擾。
這個時候大模型要用其長、克其短,它的長處就是意圖理解和對話生成。意圖理解完了之后,還是應該走客服的業務數據庫。業務數據庫回復結果之后,再通過大模型的生成能力,多樣化、有溫度、個性化的生成所謂大模型的客服場景。
客戶的營銷場景,比如保險公司要推銷理財產品或者保險產品等等,那怎么來做營銷?無非是營銷內容怎么生成?保險產品怎么推薦?銷售如何輔助,保險產品咨詢等等。甚至營銷人員的培訓都可以用大模型來支撐。
我們投研人員經常要做搜索,搜索完結果后研判,再寫報告。用大模型就可以把這三件事串在一起一體化來解決。大模型的匹配能力也增強了,語言理解能力增強,搜索結果就變好了。搜索完之后,對搜索結果做所謂的Chat,你可以了解一些細節,然后形成洞見、觀點或者摘要。最后再通過文本生成的技術,寫一篇研報發給有關人士共享。這三者都是通過一個大模型來支撐的。
這就是孟子大模型的體系結構,最底層的是各種各樣的數據,比如通用數據、金融行業的垂直數據。孟子大模型訓練出來,把這些金融數據灌進去,訓練一個L2金融模型,然后有各種各樣的能力支撐,服務于金融企業。
最近我們練的模型,也跟現在市面上的已經開源的通用大模型和開源的金融大模型做了對比。當然,也跟我們孟子大模型本身進行了對比。大家看到,1750億的參數的ChatGPT表現真的是不錯,在很多場合都是不錯的。但是我們雖然是100億級別的模型,由于專門做行業模型,也有一些場合比ChatGPT好。
所有的金融大模型訓練出來的結果,它的水平比通用模型都好那么一些。這就說明從L1走到L2是有道理的,把金融場景數據灌進去,它的水平確實得到了相應的提升。
基于這些大模型,在金融行業怎么落地?就是所謂L3的問題,很多的場景怎么落地?像我們的大模型做信用卡業務咨詢、換匯業務咨詢,然后海量數據中快速獲取關鍵信息用于智能投顧,然后是金融稿件的助寫,包括報告題綱和金融模板,以及理財產品的營銷、養老金的營銷,這些都是大模型可以寫出來的,只需要把需求寫清楚即可。理財咨詢,金融行業中外文之間的信息交流要做翻譯,目前的大模型也可以支持16種語言之間的金融領域的翻譯。
如果不用Chat這種交互方式,大模型還能帶來一種新的軟件工程開發范式的改變。舉一個例子,我們要做基于孟子大模型的行業搜索,過去非常麻煩的一件事?,F在有大模型就簡單了,所有這些能力用prompt就帶出來了。然后用API調用這些prompt,就有這樣的能力。
剩下你要做的工作,就是把界面設計清楚,體現出最佳的用戶體驗就行了。像這樣的搜索引擎,比如可以用金融的視頻會議分析,分析出它的摘要。整個會議兩個多小時講了什么東西,有哪些是正面情感,有哪些負面情感。沿著時間順序講了哪些主題?你可以瀏覽。也可以分析整個參會人員有哪幾個,出現了哪些實體或者關鍵詞,你可以快速瀏覽一個金融會議。
同樣的道理,做金融的研判也是一樣可以快速實現。大家可以看到用大模型實現具體行業L3的功能,就變得相對比較容易了。
這是再重溫一下L1、L2、L3的開發場景落地過程。L1就是通用大模型,L2是金融大模型,L3是各種場景模型。利用我剛才所講的軟件工程的開發規范,用prompt來寫各種各樣的能力調用,就可以快速生成一些具體的場景任務。
擁抱大模型:現在不起步就落伍了
最后講一些未來的思考,我們還是回到剛才開篇講到的企業困惑。
第一,大模型眼花繚亂,我該采購還是找一家廠家合作研究呢?還是利用開源自己做?
我覺得不同的人有不同的需求,有的大型企業有自己的能力想自己做;有的人稍微能力弱可能去買;也有的企業能力要好不壞,可能找一些大模型廠家合作,希望培養長期的能力。
我給大家的建議,如果你的任務是通用任務,也不要重新造一個輪子,直接調大模型廠家提供的云服務。如果覺得數據不能出來,干脆聊本地化部署的問題。
如果你的任務是特殊任務需要定制,你跟大模型廠家聊一聊,看看能不能幫你定制所謂L3的能力,或者考慮要么API調用,要么本地部署。如果想自研需要考慮有沒有一個厲害的團隊,而且自己要有足夠的大數據、大算力能力。
如果想用開源的話,你得研究開源能不能支撐這個能力,或者開源能不能支持你的內部商用。這都是很多很多的問題。如果對自研沒有把握,最好找大模型廠家做深度合作。
第二,這么多大模型,包括自研的大模型怎么知道好和壞呢?
這就是所謂評測的問題,評測是很難的,但是特別重要。有一些公開評測從不同的角度評測,但都不代表權威的評測,有的是不同方面,你自己要做甄別。你喜歡哪些,不喜歡哪些,要集成在一起來做一些判斷。你自己關心的任務自己要做評測,對你要采用的各種模型,包括自研和外采都要做好評測,你覺得它好再進行深入地探討。
第三,行業知識怎么跟大模型工作?
有的人說,我的行業知識數據是不是都灌到大模型去訓?你自己要判斷。有的是比較穩定的數據可以灌在所謂L2模型上做Continue-Training。有的不能,你只能外掛,因為它是動態的、實時的變化,它是業務的數據。外掛怎么掛?現在有一些大模型的分發能力、調用集成像LangChain、向量數據庫等等,幫助你來實現某種意義上的外掛。
第四,大模型有很多“幻覺”,怎么用其長、克其短?
最好只用它的長處,就是意圖理解和多輪對話。輕易不要用它的AGI能力,如果底層有一些推理能力是可以用的,表層的AGI能力不一定可用。
第五,保護隱私的問題。
如果特別強調隱私,你就是本地化部署,否則也可以考慮云。無論哪種方式,你要對數據安全和隱私擁有完全的控制權。
第六,造價成本的問題。
現在大模型剛剛起來,練大模型的廠家花費巨大,大模型的成本是居高不下的。你要考慮,要么調用API,你就是計量計費;要么找一些小點的模型,像我這邊是力推輕量化模型,因為百億模型和千億模型造價成本差至少10倍以上。但是在企業服務的角度來講,百億模型的能力跟千億模型幾乎是一樣的。大家可以好好考慮這個問題。
最后強調一下,一定要擁抱大模型。不管是遲疑、觀望、等待還是自研,首先要采取行動,因為大模型會改變你所在的行業和所在企業的數智化能力。如果現在不起步的話,可能就落伍了。再過兩三年,你的競爭對手早就跑到你的前面去了。