“百模大戰”愈演愈烈,互聯網大廠、創業公司、甚至科研機構,都在過去的2-3個月內推出了大模型。為何似乎短短時間內,幾乎所有的科技公司都對“大模型”摩拳擦掌?所有的生意真的都值得用AI重做一遍嗎?在AI重塑商業的過程中,大模型的意義究竟是什么?我們真的需要這么多大模型嗎?究竟有沒有標準可以評判大模型的優劣?未來,我們究竟應該如何駕馭大模型?
帶著這些有關大模型的關鍵問題,騰訊科技邀請了兩位在NLP領域有幾十年研究經驗、并具有產業經驗的專家:MoPaaS 魔泊云創始人、CEO魯為民博士,多語言多領域自然語言處理(NLP)資深架構師、Trend首席科學家李維博士,用了將近兩個小時的時間,試圖討論并解決以上問題。雖然有些問題目前可能沒有唯一答案,但是我們可以找到某些啟發或探究路徑。本文將內容精華完整梳理。文章較長,但值得收藏閱讀。
編輯:郭曉靜、秦昊陽
(資料圖)
一、“百模大戰”,是未來商業版圖必爭之地還是新的紅海競爭?
1、“百模大戰”進行中,那我們到底如何去評判一個大模型?目前有沒有公認的標準,能評價大模型的性能優劣?
李維:這其實是一個很大的問題。大模型與上一代AI的“單任務模型”不同,單任務模型通常有公認的數據集作為黃金標準,用于測試系統的優劣并排名高低。對于大模型來說,評測提出了新的挑戰。因為大模型是多任務的,任務其實是開放式的,難以預先定義,具體任務常常由應用場景而定。結果就是,數據質量的測試既繁重,也難以全面。
在這種情況下,如何評價大模型的好壞?客觀地說,其實目前為止并沒有真正的公認的客觀評判標準和方法。隨著時間推移,AI共同體也許會凝聚共識,逐漸形成一些核心功能的評測方案。
但是,做大模型的團隊,在開發過程中需要合適的質量監控(Quality Assurance,QA)指標來幫助糾正航向。像大模型這樣需要高算力和巨大資源耗費的工程,如果沒有一個好的QA團隊來幫助,很可能會走偏。等你開始意識到走偏的時候,已經花費數月的時間,而你的競爭對手可能已經領先。從這個角度來看,QA非常重要,但如何做好QA,目前來說都還是各自在摸索。
回顧一下Open AI 的做法。GPT-3開源的時候,Open AI發的報告用了很長的篇幅展示測試結果,用的是NLP領域中以前定義過的各項任務(大約20-30種)測試這個大模型,比如Sentiment Analysis,Name Entity Tagging,Open Question Answer,等。測試之后發現ChatGPT的的NLP多任務的綜合表現都還不錯。這是大模型測試發展的第一階段。
后來進入第二階段,面對更廣闊的前景,如何測試大模型?Open AI從GPT3.5到GPT4,開始把考核人的專業知識的測試拿出來測試大模型。中小學的各科考試,大學生的入學考試,研究生的考試,最后到職業考核,例如律師資格考試、醫生資格考試等,都用來測試,看看大模型表現怎么樣。這個從道理上來說是更高級的,比上一階段的測試更加全面、更加實用,因為我們人就是這么考過來的。但這樣做工作量巨大。比如在GPT-4發布時,微軟已經投入大半年的時間和幾十人的團隊來測試它,證明它比GPT-3提升了一大步,例如,律師資格從GPT3的不及格,到 GPT4 的優異表現(位居人類律師考試成績的前10%)。
未來我們應該如何評估大模型?如何對人類的這些考試進行排序?哪些考試是最核心、最有用的?或者有哪些優先級的配置等等?這可能是一個需要我們進一步討論探索的課題。究竟應該如何客觀地評價大模型,如何在有限的時間和資源條件下做出客觀的評價并給出有用的反饋,讓數據團隊更有針對性地準備數據,讓開發團隊不偏離方向,保障模型的健康迭代,這是大模型開發者的共同挑戰,還需要時間積累經驗,形成基本的QA操作規范。
從另一個角度來看,現在所有聲稱成為本行業第一的人其實都是有疑問的,因為根本就不存在共同的標準,只能說是勇氣可嘉。當然,OpenAI除外,人家是先行者,是公認的領跑者,他們的最新模型 GPT4 就是當前大模型技術的天花板。對于所有其他的追隨者, 包括谷歌,目前來看還沒有清晰明了的標準來測量他們。中國有一句古話叫“文無第一”,多任務的開放式大模型,基本是這樣的形態。現在不管誰自稱第一,只能看成是營銷而已。真正重要的是,你的模型不能太差。如果你的模型太差,就會被用戶自然淘汰。開放以后,長期無人問津是危機的信號。只要你沒有被遺忘,你可能是第一,也可能是第二,不得而知,但你總可以說是“最好之一”。
騰訊科技:大模型創業有哪些商業模式?我們到底需要多少大模型?
魯為民:首先,我們需要多少大型模型?這是一個值得思考的問題,因為它其實有很多限制因素。
首先大模型的訓練和運行對算力等資源消耗很大,Midjourney 的 CEO David Holz 在一次訪談中提到,“如果有10億人都來使用大模型,現在地球上的算力是不夠的?!?我想他的話至少可以解讀為當今算力資源有限,可能有資源滿足不了需求的時候。所以大家如果一窩蜂去做大模型而去競爭資源,也可能會形成某種內卷,即使不缺錢。
其次,做大模型的商用運營,由于投資成本很高,需要足夠的回報來支撐大模型的持續運營,比如大模型服務需要通過獲得一定規模的用戶來產生足夠的收入。只有好的產品才能吸引更多的客戶使用。但是,要保證模型產品和服務好用,需要足夠的人力和財力對大模型產品工程細節的打磨和對系統運行的維護。我們說大模型門檻高,不僅僅是說它所需要的算力成本,也包括除去算力的其它成本和資源要求等。
所以需要多少大模型可能由市場決定比較好。
大模型衍生的商業模式可以從基礎、模型到應用等層面考慮。就模型來說我把它們大致分為兩類:一類是模型作為服務 (MaaS),比如,像 OpenAI、Anthropic、Midjourney和Stability AI 等專業公司提供大模型服務,包括像 Whisper,、DALL E-2、Midjourney、Claude、ChatGPT 和 GPT-4 這樣的針對大眾消費者的模型服務,同時他們也可能提供相應模型服務的 API 給開發者或其它企業用戶,可以讓更多的應用場景可以接入大模型。
對于更多從業者來說,大模型層面的機會更多的是垂直領域模型和應用,所以這一類商業模式圍繞垂域應用。一方面,我們可以圍繞大型模型(MaaS 或預訓練模型)開發一些垂域模型應用。雖然大型模型很強大,但它實際上不可能在所有領域都達到最先進的水平。在很多自然語言處理的任務上,通用大型模型即使與業界最先進的小模型相比在性能可能還存在差距。在這種情況下,我們一方面可以通過大模型服務(像ChatGPT)提供的模型微調服務(通過 APIs)或僅僅是有針對性的提示設計,有機會獲得有競爭力的垂域解決方案,這也是創業比較可行的方向。
另一方面,就是垂直領域專業大模型在垂直領域的應用,這類應用往往可能不需要處理多個任務,也就就不需要上千億的參數規模。另外這類場景往往需要將大模型適配后部署到相應的私有化應用場景。一部分原因是因為現在許多企業的一些垂域應用需求對數據也有一定的安全要求,因此不適合使用公共的大模型服務。好消息是現在企業不需要從零開始訓練大模型,因為現在有很多合適的開源預訓練模型可以選擇,只需投入有限的算力,企業可以針對這些開源的大型模型進行場景適配部署。對于這類大模型的規模以及企業內部應用的使用負載要求,運行所需資源和成本是完全可控的。
將大模型適配到垂直專業場景的模式涉及到遷移學習。遷移學習為什么重要?它在不同場景的應用中提供必要的泛化能力。比如預訓練大模型使用不同的數據集,訓練好一個大的模型它能涵蓋多個垂直領域任務。但是,我們新的目標任務有可能不在預訓練的大模型覆蓋范圍之內,那我們需要對它進行適配遷移,來讓其覆蓋目標垂域。
騰訊科技:中國目前有很多企業推出了大模型,但都與OpenAI有很大差距,在這個賽道,中國企業還有機會嗎?
李維:我認為有機會,首先,如果中國的IT產業要向前發展,建立大模型時代的新生態,就不能長期依賴國外的大模型提供商,因為提供商的可靠性和連續性就目前的國際形勢看是無法保障的。
第二,毫無疑問,美國是AI老大。有人說中國的人工智能落后美國兩年,周明老師前幾天說大概差距是三年。兩年也好,三年也好,總之差距是很明顯的。
但是,如果從另一個角度來看,我們知道,全世界沒有任何一個國家比中國更接近美國的技術水平,無論是人才、論文與專利、投資環境,還是國家的政策激勵和支持,還包括整個民眾對AI的意識(awareness)。如果要趕上或者逼近美國,除中國以外沒有其他成規模的對手,包括深度學習的故鄉加拿大,也包括日本、歐洲等先進國家,他們都無法與中國相比。中國人對于AI新技術的熱情和投入,全民從普通百姓到各路精英對于大模型的津津樂道,在全世界都是一道風景。我們有理由相信中國的AI新時代會走在世界前列。
魯為民:我同意李維老師的說法。中國的情況非常特殊,它擁有龐大的市場和海量的中文數據,這些都是大模型發展的必要條件。因此,我們不應該過于自卑,我們有理由自信,但同時也需要意識到距離感的存在。
從ChatGPT 到GPT-4的出現,讓很多人應接不暇,甚至感到恐慌,因為人類還沒有準備好應對這樣一個新的物種,即大型AI模型。包括 Bengio 和 Musk等之內的美國AI界、政界和企業界的重要人物都呼吁“停止研究GPT-4這樣級別的巨型人工智能至少半年”。為什么是半年?一開始我們也不知道。但起草人之一 Tegmark 教授在最近一次采訪中表示,停止半年時間從國家之間技術競爭的角度來說比較安全,因為中國半年內趕上美國的大模型技術的機會比較小。這個代表一部分西方 AI 專家對于中美在大模型 AI 差距上的看法,我們至少可以參考將這個半年作為中國和美國之間距離的下限。
當然,還有各種其它的猜測,但我們不必過于糾結于這些,只需要專注于自己的工作即可,因為發展大模型 AI 技術從企業 AI 應用到國家技術發展戰略等各個層面來看都是必要的。
騰訊科技:我們常講的人工智能發展的三要素,數據、算力和模型在AI發展中分別扮演著什么樣的角色?
李維:講到大模型的三大要素,其中算法就是模型,算力則包括硬件等工程力量,最后是數據。除此之外,還有人工智能的倫理學方面的研究以及其他邊緣方面的規范。但總體上,大模型本身的建設主要由這三大要素組成。
在OpenAI已經證實了大模型的威力之后,說明,這條路已經走出來了,后來者趕上只是一個時間的問題。從這三大要素來看,算法在大的層面上是學術界共享的,雖然在具體的實現中會有一些細節不同,但總體上,從國內已經經歷過大模型研發的團隊的報告來看,只要按照他們的路線走,大都搞定了語言模型的理解和生成能力,甚至也達到了篇章對話、思維鏈、多任務等重要指標。因此,從算法方面來說,總體上來說是可以追趕或者復制的。
算力方面可能會有一些硬件方面的限制,但目前看,據專家們說,它還不是最大的瓶頸。很多團隊第一想到的就是算力和錢,沒有錢買不了機器,根本拿不到進入賽道的入場券。有了錢,第二就是人才,有了人才就能搞定算法和工程。人才最好是過去幾年實實在在做過大模型的,最好是在大廠的大模型團隊做過,可以少繞彎路。很多團隊忽略了第三條數據這件事兒。忽略的這一塊實際上可能是對整個模型影響最大的一塊。在以數據為中心(data-centric)的AI新時代,模型能不能出彩實際上主要是靠數據。前大模型時代,AI的主流是以模型為中心(model-centric)的單任務系統,數據基本保持不變。新時代的系統研發迭代的特點是,算法基本保持恒定,而數據在不斷增強增大。而數據這一塊也是很難纏的一塊,最dirty的一塊,也是有很多魔鬼細節的一塊。
就拿Google和OpenAI對比,不管是從算力、算法,包括人力資源來看,Google的團隊一點都不比OpenAI差,而且大模型最關鍵的基礎 Transformer和基于人類反饋的強化學習(RLHF)算法實際上是Google發明的,它有殺手锏一般的武器,結果是為他人做了嫁衣裳,讓OpenAI遠遠走在了前面。
怎么回事兒?感覺是OpenAI做了兩件事把Google甩在了后面。首先是大模型預訓練后的supervised fine-tuning(SFT,監督微調),主要是大模型訓練出來以后先要做一個針對任務的監督學習,就是InstructGPT論文報告的工作,否則的話,按照大模型本身的特性,它的生成能力太強了,可以生成很多從大數據預訓練所得到的可能的序列出來。而這些序列中,90% 對于人類來說既不是直接針對給定任務的,也沒有什么實質價值,甚至是有害的。監督學習要把90%以上我們人類不想看見、甚至有毒的那些東西壓下去,把10%能聽懂人的語言指令去做任務的東西浮現上來。
這個工作是OpenAI首創的,然后Google他們開始學習,據說基本達到了OpenAI的多任務水平,國內相關的公司的這類學習效果也不錯。緊接著下面一個任務,基于人類反饋的強化訓練,這一工作OpenAI做得非常仔細,很多細節沒有人知道,而這些“魔鬼細節”有些是決定成敗的。
他們有個非常強大的數據團隊。這些數據團隊不僅僅是外包,用了肯尼亞的廉價勞工進行數據標注,它其實是把它的數據團隊建設成為不同水平的hierarchy(層級),有些數據可以把它下放給廉價勞工去做,主要是那些需要數量大,而標注要求簡單明確的。也有從設計角度考慮的高等級的數據,需要高素質的標記人員,不少是訓練有素的博士。這里面蘊含了很多非常有效的探索,而目前沒有任何一個團隊在數據工作方面能與它匹敵,not even close。
二、如何“駕馭”大模型的超能力
騰訊科技:“大力出奇跡”的大模型,會有哪些特殊“超能力”?現在如何駕馭這些超能力?
魯為民:大模型的“大”是指其規模,具體表現為其參數數量的多少。由于大模型需要存儲大量的知識,因此需要更多的神經元來存儲這些信息,因此參數的數量大是必要的條件。但是,僅僅參數數量大并不足以支撐強大的多任務能力,必須要有足夠大的數據集來支持規模化的模型的訓練和學習。目前我們知道基于Transformer 的大模型技術已經可以比較有效地應用于各種自然語言和計算機視覺任務,但是訓練這樣的模型對于數據的質量和數量都有較高的要求,這是一個比較有挑戰性的問題。此外,由于計算量和算力的限制,需要通過不同的方法來實現大模型的訓練和優化。
OpenAI、Google、DeepMind 等公司的不同實驗和研究中基本上得到類似的結論,就是大模型的訓練性能與它參數的多少以及數據量的大小是成冪等的伸縮規律,模型規模越大,它的訓練損失函數值越小。在這種情況下它們滿足一定的伸縮率。我們要求模型性能更好,能力更強更多,則需要的模型規模就越大,同時訓練的數據量要大。
當然具體收縮率與選擇的模型本身有關。進一步的研究發現指數,像指數 α和β與特征空間(或流形)的內在維度有關系。這個是細節。
但現在主要的焦點在哪里?特別是對于大語言模型的性能,主要體現在數據集;數據集是影響模型性能的關鍵因素。因為目前數據集是一種稀缺資源。我們可以根據冪等的伸縮率發現,增加(高質量的)數據量的大小會帶來最大的性能回報。但是現在有人開始討論通用數據是否已經用完?另外,專有數據量是否太少?特別是對于有價值的數據。例如,代碼數據實際上占的比例相當小。甚至根據冪等率,人們發現 OpenAI 的 GPT-3 模型都沒有得到充分訓練 (見上圖);因為通過這個可以看出,如果繼續訓練,光就性能來說,還可以進一步提高。 OpenAI 在這方面可能有其它考量,但至少這些觀察可能對于我們訓練大模型具有一定的參考價值。
另外,我們在訓練中也發現大模型的一種特殊現象,即“頓悟”(Grokking)。
頓悟的測試性能遠遠落后于訓練性能。因為我們可以很快地發現模型訓練可以達到最優值,但在測試或驗證時,它需要更長的時間才能表現出模型的精度。在這種情況下,模型有一個從記憶到泛化切換的過程。
在訓練開始時,模型主要依賴于記憶提供的訓練數據,并通過過度擬合來實現高效的性能,然后逐漸學會泛化。因此,“頓悟”出現在訓練從記憶到泛化的切換點。
我們知道AlphaZero是在ChatGPT之前非?;鸨囊粋€應用,主要是在棋牌領域。實際上,研究人員發現在1萬步到3萬步的訓練之間,模型學會人類棋類的概念,到2萬6到6萬步之間才開始發明一些開局的理論。對于這種“頓悟”,模型越大或數據越小,它就越明顯。為什么要討論“頓悟”?因為我們更關注的是測試性能,而這個影響到大模型的有效應用。
另外像 ChatGPT 的讓人驚艷的地方在于大模型的各種驚人能力,而很多這些能力是 OpenAI 的工程師在設計和開發中沒有考慮到。人們將這種能力稱為“涌現”(Emergence)。
什么是“涌現”?模型在達到一定程度后,性能首先得到急劇提升,同時它涌現許多新的能力。特別是,任務所訓練的模型適用于更多以前未經訓練的任務。涌現對大型模型應用的影響非常重要,只有通過這種能力,我們才能高效地實現模型的泛化,并實現模型的遷移。因此,我們不僅關注其本身的性能,還要關注這種“涌現”能力,因為它使得模型適用于以前未經訓練的任務,而這些任務可能是我們關注的應用場景。
涌現能力的體現方式有很多,其中一種是上下文學習(In-Context Learning,ICL)能力。通過提示來引導模型學習新的事例,并可以進一步詢問模型新提示和問題的答案,這種能力在模型規模達到一定程度后會呈現并快速提升。
思維鏈 (Chain of Thoughts, CoT)學習是一種特殊的上下文學習。它提供一種結構化的上下文學習方法,對于復雜的推理問題更加高效。在許多任務中,特別是數學任務中,傳統簡單提示的結果并不好。但是,如果我們將問題結構化、按步驟分解,模型就能夠給出正確的答案。特別是對一些比較復雜的推理問題,通過 CoT 一步步鏈式地提示,可以更好地讓大模型具備一定程度的推理能力并逐步給出答案。
另外,基于思維鏈的學習也具有一定的規模優勢。雖然像ChatGPT這樣的標準大模型隨著規模的增加展現出一定的能力,但是基于思維鏈的推理能力更加明顯。
我們觀察到這種涌現能力,并且意識到如果能夠善加利用,它確實能夠為我們的應用帶來很多好處和優勢。但是,我們也希望了解涌現能力的出現原因以及影響它的因素。在研究這個問題時,我們需要從幾個方面來考慮。
首先是模型架構。涌現能力是否與Transformer有關?或者是否也適用于其他類型的神經網絡模型,例如循環神經網絡(RNN)?訓練的目標和學習方法是否會體現這種能力?例如,自回歸或對比學習等學習方法是否會影響涌現能力?
其次,涌現能力是否與數據的特點和數據集本身分布有關?比如,數據集的語言特點是否有助于展現這種涌現能力?特殊的數據集是否也會影響它的表現?因為之前的研究表明,在對代碼數據進行訓練后,模型的推理能力顯著提高。
我們首先注意到這種涌現出來的能力是大模型的強大泛化能力,即它通過上下文提示學習 (In-Context Learning) 可以適用于多個任務中去。對于每個任務,模型內部體現一種閉環的學習過程。在訓練模型時,外環是非監督學習,通過反向傳播來訓練學習模型。這樣在推理時通過提供的實例,讓系統動態生成一個臨時的小型神經網絡來實現這種學習能力(內環)。
從模型架構的角度來看,可以驗證這個猜想是否正確。例如,斯坦福大學的Percy Liang 教授的團隊進行一系列的實驗驗證,發現Transformer確實隱含一種學習算法。此外,Anthropic 的研究人員提出 Induction Heads 的概念,從另一個角度解釋In-Context Learning確實能夠學習一種可泛化的函數,并且可以保留過去的一些token。此外還研究人員還發現,在單層線性Transformer中,In-Context Learning等價于梯度下降學習機制。這些從不同的角度從理論上也進一步解釋了之前的猜想。
此外,研究人員也從數據分布上也驗證了涌現能力。因此,這些實驗觀察和理論解釋給了我們使用大模型來進行上下文提示學習更多的信心 ,
騰訊科技:大模型還有一些缺陷,比如幻覺,這完全是壞事兒嗎?有沒有辦法控制?
李維:大約幾天前,我在我的NLP數字頻道剛發了一篇博客,講的就是這個問題。博客的標題是【大模型推理的細節編造是 feature,不是 bug】。所謂 “一本正經的胡說八道”,主要是指虛構的細節,用更中立的說法,就是編造細節。
實際上,編造細節是生成式大語言模型的本質特征。從本性來看,它實際上的確是一個特性(feature),而不是一個錯誤(bug)。
在軟件工程中,這兩種概念是需要區分的。特性是一種可以善加利用、有用的功能。當然,也可能會有副作用,但副作用是有限的。
那么為什么說這不是一個 bug?因為生成式大模型本質是一種語言模型,而不是一個全面系統的知識模型。語言大模型搞定了語言的方方面面,能聽會說,比人類的平均語言水平要強。但是,語言模型并不等價于知識模型。知識的海洋中有一部分是深藏在底部的,只有那些漂浮在上面的細節,在訓練時頻繁遇到,模型能夠記住,這樣的細節不會有問題。那些被它編造的細節,實際上都是那些模型記不住的東西。這與人類的大腦類似,人類也不可能記住所有的細節。
人類記不住細節的時候,除少數騙子外,一般都會改用不確定的口氣,或干脆略去細節,而不是編造細節。生成大模型不然,生成絲滑的語言序列是它的本性,為此它不惜編造細節。這就是大模型所謂“幻覺”(hallucination)的表現。幻覺會導致模型輸出錯誤的答案、知識或編造信息,OpenAI已經花費了很多心力在RLHF中減少胡編亂造,例如GPT4的編造比例從GPT3的20%左右,已經降低到10%一下,但沒辦法讓它絕跡。從通用大模型的視角,編造細節其實反映了模型的創造能力,并不總是壞事兒。
通用模型的本義就是支持各種開放式任務。這些任務可以分為兩類。第一類任務是需要模型編造細節的,例如輔助寫作,包括寫劇本、小說、詩歌,創作有創意的廣告文案等。這時,編造細節不僅不是一個問題,而且是必要的,因為只有這樣才能讓作品更加生動有趣。
第二類任務是需要模型回答問題,例如知識問答,還有歷史和地理的教育輔導等。在這種情況下,編造細節就成為一個問題,一個副作用,特別是當編造的細節混在在事實中的時候,真假莫辨,可能會造成嚴重的誤導后果。
Open AI發布 GPT4 之前為抑制這個副作用做了半年多很細致的強化學習和微調,卓有成效。最近,我一直在測試它,發現實際效果比宣傳的10%的細節編造率要低?,F在想看 GPT4的笑話,已經很不容易了。這表明,通過更多的強化學習或微調,我們可以有效抑制它的副作用,不至于給我們造成太大的困擾。
騰訊科技:看來“我們人類有時候會不正經”,這個“能力”可能是我們超越人工智能的一個很大的特性。
李維:實際上,編造細節是人類智能中的高階能力。據《人類簡史》,人類精神文明的一個里程碑就是人學會了“講故事” ,虛擬的故事。人類從此有了宗教和哲學,有了組織和動員群體力量的精神武器,從而成為地球霸主。
Having said that,在很多場景中,編造細節和胡說八道是傷人的、甚至致命的,尤其是當它一本正經真假混雜的時候,而這正是 GPT 最為人所詬病的一個命門。作為一個大模型,它是通過語言序列學習到的那些細節和事實。如果這些細節和事實在語言訓練中出現的頻率不夠高,從本質上它是不可能記住的。因此,在生成文本時,它就編造。除像GPT-4這樣通過強化學習不斷地改善,使得生成的胡編亂造的內容出現的頻率持續降低外,從應用場景的角度來看,真正的解決方案被稱為“外掛”。
什么是外掛?
解決方案實際上是到特定場景中去外掛所需的知識庫或知識圖譜。在任何一個領域中,知識圖譜或知識庫所表達的場景的知識深度和細節豐富度是任何一個語言模型,不管它有多么大,按照現在這種方式是不可能完全學習到的。怎么辦?方案就是把這個大模型和外掛的知識庫結合起來,用它來彌補大模型的細節記憶不足,這才有可能較好地解決這個問題。具體的外掛方式有多種可能,例如,把外掛的知識庫查詢做成一個插件(plug-in),合適的節點調用它。調回來的結果可以追加到問題提示中,這樣知識庫的結果可以覆蓋原模型沒有記憶的部分,確保細節正確。另一種方式是以領域場景的業務邏輯及其領域知識庫為主體,在需要語言能力的時候調用 ChatGPT 的API。兩種外掛的方式都會繼續推進,值得關注其消長。兩種方式其實反映了大模型供應方與大模型應用方的不同視角和利益傾斜,到底誰是主體,誰調用誰。
騰訊科技:繼續擴大參數的迭代路徑還能走多遠?通用數據是不是有用完的時候?
李維:迄今我們沒有看到大模型大力出奇跡的數據質量天花板在哪里,最新的GPT4的確在已經令世人驚艷的GPT3.5的基礎上,顯示出更強的接近人類專家的能力。因此,大模型擴大參數迭代提升的嘗試還會持續下去,相應的也就需要更多的訓練數據來喂飽這越來越大的模型。如果以目前的速度繼續發展,業界大佬估算可能需要5年或10年的時間,可以用來訓練大模型的比較干凈和高質量的數據有可能用完了。在AI加速發展日新月異的時代,這不是一個很短的時間,我們可以先擱置這個問題,因為到那個時候可能會有新的解決辦法。例如,可以開動大模型自己沒完沒了生成新數據,然后通過某種自動或半自動的質量過濾,反過來再用于訓練模型。這樣,模型的能力仍然可望提升。這似乎就是自我學習,或曰反哺。
模型大小與模型能力的關系一直是研究界關注的題目。魯總談到的模型頓悟現象,以及大模型表現出來的新能力的涌現,都是模型做大路上給我們帶來的驚喜和實惠??傮w而言,模型變大,首先是搞定了語言能力,然后是展示了越來越多的知識能力。
從ChatGPT發布的時候,我們很快發現它的理解和生成能力超過了人類的整體水平。語言通天塔已經在技術上建成了。我們人類具有與生俱來的語言潛力,在語言成長環境中的曝光使得我們成為母語的流利說話者,native speakers,但即便如此,我們每個人還是會犯錯誤,在語法、用詞上出現口誤筆誤并不罕見。看看語言大模型,除非是你明令它生成“洋涇浜”,它正常生成的句子非常順暢絲滑,挑不出語法或用詞的錯誤,其生成能力顯然比人類總體強。
另一方面,ChatGPT的語言理解能力也比我們強,毫無懸念。它不僅能夠聽懂各種不同的語言,即使不同語言混合在一起,它也能夠理解。甚至你使用各種不同的語言的變形,只要大致意思在,它都能夠抓住,知道如何回應,可見其超群的魯棒性??傊?,無論語言理解還是語言生成,可以說大模型完全搞定了人類語言,表現得比 native 還 native。
這是因為ChatGPT這樣的模型背后是千億級的tokens(字或詞),有千億級參數的向量空間,它有足夠的數據用于訓練和調參足夠大的模型,它消化了世界上幾乎所有稍微像樣的文字材料,結果就超越了人類的語言能力。
前面提過,大模型追求兩種能力:一個是語言能力,另一個是在語言能力的基礎上的知識能力?,F在我們知道,第二個能力難度大得多。根據對中外發布的一系列大模型的調研,我們提出下列的基于觀測的初步猜想:十億級別搞定句法,文通字順;百億級別搞定篇章和多輪對話,不掉鏈子;千億級別搞定百科和基本推理,全科大學畢業了;而萬億級別就逼近各行高知和專家的知識水平了(能通過律師、醫生這類嚴格的專業資格考試)?,F在有不同規模的模型 available,有條件認真驗證上面的假說。這個工作有很現實的意義,我們想知道什么應用場景至少需要什么規模的模型,這樣投入應用會比較放心。
許多國內外團隊的模型表現,說明百億級別可以達到語言能力的天花板,你基本上無法挑出其文字的毛病,它也理解上下文,對話流暢,什么語言問題都可以解決。然而,知識是無限的,要學習越來越多的知識并將其用于不同的場景,模型需要繼續向上發展,達到千億級別,就是現在的GPT-3。當GPT-4推出時,到底是多少參數?我們不知道??赡苁侨f億級別,也可能是五千億級別??傊?,它肯定比GPT-3、GPT-3.5大了不少,因為看上去它的專業能力直逼專家精英的知識水平,而且比任何一個專家更博學得多,感覺就是個全才。這并不是說它就不犯錯誤了,也不能保證它不編造細節。其實,進一步的探究表明:GPT-4 的上下文邏輯與常識還是不夠穩固,還有進一步提升的不小的空間。
騰訊科技:ChatGPT被認為不是一個新鮮的事物,但是它有很神奇的工程化的能力,究竟我們大語言模型和算力模型是如何應用到真正的產業中的?
魯為民:大型語言模型 (LLM),實際上可以解釋為是一種概率模型,定義序列中單詞的概率分布,并通過計算概率分布來評估該序列的好壞。因此,語言模型需要具備語言能力和世界知識。我們現在主要使用的是自回歸語言模型,它根據之前生成的token來迭代產生新的token,這種生成能力也為我們帶來一些新的應用。實際上,這種基于預測下一個Token的語言模型的概念最早由香農于1948年提出。但是,直到 2003年,圖靈獎得主 Bengio 將神經網絡用于語言模型,并經過一系列的努力,使得語言模型應用通過神經網絡變得越來越計算可行。
語言模型作為一種生成模型。它通過歸納和推理,將已有的知識表示為一個類似知識圖譜的結構,存儲在深度神經網絡中,供應用時調用。然而,在使用語言模型時,僅僅依靠該模型往往不足以生成準確的答案。
由于語言模型本身的統計特性,所以生成的答案可能是不肯定的。因此,如果我們根據該模型選擇答案,就必須提供一些可能與數據無關的條件假設,這就是所謂的歸納偏差 (Inductive Bias)。因此,我們做的一切事情,包括對大型模型的訓練,都是將我們自己的歸納偏差強加給模型,以便更好地訓練和推理。強的 Inductive Biases 一般以降低模型的通用性為代價。
另外,我們使用ChatGPT時,了解到大模型有一種幻覺 (Hallucination)現象?;糜X是如何產生的?首先,正如前面提到,這種語言模型實際上是一個概率模型。同時,語言模型將某種知識圖譜存儲在神經網絡權重中。因此,當它回答問題在該“知識圖譜”中,找不到答案,但它得生成一個答案,則這種幻覺產生,往往是一本正經的胡說八道。第二個問題是,許多答案看似可信,但包含錯誤的信息。在這種情況下,就會產生幻覺。
OpenAI 在 ChatGPT 上試著解決這些問題。首先,他們試圖通過監督學習微調來嘗試解決包括幻覺和人類價值對齊的問題。好像收效甚微。后來,借助于 RLHF (人工反饋強化學習) 來進行微調,收到比較好的效果。它主要是通過獎賞模型來學習人類對事實的一些判斷或價值的一些體現,并通過強化學習來對模型進行微調。然而,強化學習并不能根除幻覺現象,這個與語言模型特性本身有關。畢竟語言模型是一個概率模型。
將大模型適配到垂直專業場景的模式涉及到遷移學習。遷移學習為什么重要?它在不同場景的應用中提供必要的泛化能力。比如預訓練大模型使用不同的數據集,訓練好一個大的模型它能涵蓋多個垂直領域任務。但是,我們新的目標垂域有可能不在預訓練的大模型覆蓋范圍之內,那我們可以對它進行適配遷移,來讓其覆蓋目標垂域。具體來說,遷移學習有下圖所示的幾種形式。
我們目前大模型的遷移適配主要用后兩種形式,即第一種通過重新調整模型參數,使其成為適用于場景的垂直模型;這方面已經有過很多好的實踐,比如我們可以通過改變少量參數進行模型適配,減少訓練的計算量,比如大家熟悉的 LORA等方法;另一種則是利用其具有的涌現能力,直接通過提示 (Prompt) 的設計或提示學習 (Prompt Learning),來使得模型在推理時可以動態學習來生成適合相關場景的內容。前者的優勢是能充分利用垂域數據集,多樣本學習性能好,同時對提示要求低,推理成本低,但可能的問題是訓練成本高,且應對數據漂移等問題不靈活。而后者基于Promp的遷移學習的優勢是可以小樣本學習,對數據要求不高,不需要模型進行訓練,而不用改變預訓練模型的參數和結構;另外通過動態地提供遷移學習能力,對數據漂移等問題可以靈活處理;但可能需要提供比較長的復雜的提示,因此推理成本可能高一些。
除了模型的遷移適配外,通過適當地接入外部的工具,來提供一系列工具鏈完成更為復雜的任務,目前像 LangChain,HuggingGPT,BabyAGI 和 AutoGPT 等框架做了一些有益的嘗試。