
“Kimi 概念” 降温,長文本 “擔不起” 大模型的下一步

AI 創業公司 Kimi 概念股在資本市場受到關注,用户量飆升。月之暗面發佈的 Kimi 智能助手支持 200 萬字超長無損上下文,長文本能力超過谷歌 gemini 1.5 和 Claude3。該創業公司引起關注的原因是其突破在大模型長文本能力上的取得。
Kimi 火了……
這是這波 AI 浪潮中,國內創業公司第一次真正 “破圈”。最明顯的標誌是,在二級市場中,Kimi 已被市場作為一個概念板塊來對待,它們被稱之為 “Kimi 概念股”。在之前爆炒的板塊中,可能有華為產業鏈、蘋果產業鏈,但是,因為一家創業公司而發酵一波行情還是第一次。
除了資本市場的關注,實際的用户量飆升,也能看出 kimi 的火爆程度。在 “AI 產品榜(aicpb.com)” 統計的數據顯示,Kimi 智能助手在 2024 年 2 月的訪問量達 305 萬,較上個月增長 107.6%,幾乎成倍增長。
據第三方機構的最新統計數據顯示,目前國內已經發布的大型語言模型數量已經超過了 300 個。這些大型模型的發佈主體涵蓋了科技巨頭、國內頂尖的高等學府、以及各類科研機構,他們在資金投入、資源配置、人才聚集等方面都擁有絕對的優勢。然而,在這樣一個競爭激烈的環境中,為什麼月之暗面這樣一個成立僅僅一年的創業公司會引起最大的關注?
“起爆點” 始於 3 月 18 日,月之暗面宣佈在大模型長上下文窗口技術上取得新的突破,其自研的 Kimi 智能助手已支持 200 萬字超長無損上下文,並於今日開啓產品內測。
kimi 上線的時間是 2023 年 10 月,當時可以支持無損上下文長度最多為 20 萬漢字。在 5 個月的時間內,月之暗面直接將長文本能力提高 10 倍。按照 AI 領域的計算標準,200 萬漢字的長度大約為 400 萬 token。這種能力在全球知名大模型中的水平如何?下圖可以比較明顯看出,長文本能力最強的谷歌 gemini 1.5、Claude3 支持 100 萬 token,kimi 200 萬漢字上下文長度或已超越海外頂尖大模型水平。
但是,大模型僅僅某項能力的領先,似乎並不足以吸引所有的注意力,畢竟幾乎所有大模型在發佈的時候,都會交出一個優秀的基準測試成績單,幾乎所有大模型,都是 “一位超越上一個被髮布的模型” 的優等生。
大模型的痛點:同質化嚴重
所以,在這樣 “卷” 的大模型市場,kimi 究竟為什麼會火?其實它的火爆,也從側面反應了大模型市場的痛點,過去一年,市場見到了太多大模型的發佈,每次標準動作有以下幾個:1、公佈模型參數量;2、公佈模型是開源還是閉源;3、公佈測試集的成績(這些測試集被用於評估大模型在不同領域的能力,包括語言理解、知識問答、文本創作等。通過這些測試集,研究人員和開發者可以比較不同模型的性能,並識別模型的優勢和不足,具體測試集的測試功能,如下圖所示)。4、行業內人士或極客們的評測文章。
圖注:一些常用的評測數據集
一番標準動作之後,對於非行業用户,面對一些晦澀難懂的參數及技術詞語,很難記住任何一個大模型有任何突出的特點。再加上國內大模型對 C 端開放的不多,且即使開放,對 C 端開放的也為比較基礎的版本。用户對國產大模型的印象,基本停留在類似於 ChatGPT 的聊天機器人。可以嚐鮮,但是並不知道大模型對我 “實際能有什麼用”。
於是大模型的宣發也進入了大眾看來的行業內的自 High——“看不懂有多牛,體驗不到有什麼用。”
懂營銷的大模型公司
kimi 選擇了一個更有辨識度的方式亮相。2023 年 10 月 10 日,月之暗面的官方公眾號發佈 kimi 的上線官宣文章,標題中別有心裁地用了 “歡迎與 Moonshot AI 共同開啓 Looooooooooong LLM 時代”,"long"這個單詞中間,特地敲入了十個 “o",long 一下子變得視覺可見的長。而公眾號的第一句就是 “今天,Moonshot AI 帶着首個支持輸入 20 萬漢字的智能助手產品 Kimi Chat 與大家見面了”。
所有的宣發內容,用户一眼就能記住一個詞 “長文本”。月之暗面是懂營銷的,直接佔領用户心智。從此,用户看到 “長文本”,只能想到 “月之暗面”。
月之暗面的目標是 C 端,為了讓 C 端用户能夠理解 “長文本” 這個技術名詞,楊植麟用了更形象的比喻“支持更長的上下文” 意味着大模型擁有更大的 “內存”。這個世界已經被計算機、手機教育過了,每個普通人都有一個 “簡單粗暴” 的認知,“內存大” 就意味着這個手機或電腦配置更高、性能更牛、價格也更貴。
一波漂亮的宣傳,在 “卷評測分數” 的大模型界輕鬆地贏得了普通用户的心。
在後續的重要宣發中,月之暗面不斷重複 kimi 的長文本能力,創始人楊植麟也在採訪中強調 “為什麼長文本是登月第一步?它很本質。它是新的計算機內存。”
早在 20 世紀 60 年代,艾·里斯與傑克·特勞特就提出了經典的《定位》理論,它的核心概念在於將品牌建設的焦點從產品本身轉移到潛在客户的心理認知上。在定位理論中,佔領用户心智意味着在目標消費者心中為品牌或產品創造一個獨特、明確且吸引人的位置。這樣,當消費者考慮購買某一類產品或服務時,你的品牌能夠成為他們首先想到的選擇。
當用户認為在國內的大模型中,長文本=kimi 的時候,除非競爭對手能以絕對的實力碾壓幾個量級,但凡與 kimi 打平或者是微弱超越,都很難威脅到 kimi 在用户心目中的地位。即使是如百度、阿里等科技大廠也宣佈開放長文本能力,似乎也絲毫沒有影響到 kimi 的熱度。
而且,kimi 只有一個,在資本市場上,可以享受泡沫,但是當退潮的時候,還是要保持一分清醒。
圖注:圖片來源於網絡,不代表本文觀點
長文本為何重要?
從營銷策略拉回技術本質,kimi 選擇堅決攻克的大模型長文本能力,究竟有多重要?月之暗面創始人楊植麟把它解讀為 “新計算範式”,通用的世界模型,是需要 long context 的(長文本)的。
如何理解這句話?如果你把大模型當成一個和你對話的人,可以想象他和我們一樣有短期記憶和長期記憶。長期記憶就是那些在大模型裏的通過訓練得到的向量和參數,你可以理解為這是它自身的知識庫。而上下文就是短期記憶,當你想和他交流的時候,這些不在長期記憶中的新內容,乃至你們對話的全部過程必須以上下文為窗口提供給大模型,超過其上下文承載能力的部分,大模型就會忘掉。
GPT3.5-Turbo 初版上下文窗口長度僅有 4k token,也就是大概 2000 字,你和它對答超過兩千字的內容它就基本記不住了,更別提讓他記住複雜的文件了。在這種上下文環境中,可以説很難讓 LLM 完成真正複雜,多步的操作,也無法處理文檔等長格式。
為了讓大模型能夠做更多事,拓展上下文就成了各路大模型爭相競爭的一個重要目標。作為 OpenAI 被公認的最強大對手,Antropic 的大模型 Claude 的殺手鐧就是長文本,其初代模型就支持 100k token 的上下文,直接可以處理 5 萬字,使得不那麼長的閲讀分析任務足以在上下文限制中完成。這也使它一直在整體性能劣於 OpenAI 的情況下,總是能保有一羣核心粉絲。
同時,長文本也能促進大模型基礎能力的提升,前四個能力是大模型功能優化和拓展方面的,通過長文本去實現過去難以支持的功能,或增強過去支持很差的功能:
① 更好地理解文檔。通過擴展 LLM 的上下文窗口,模型可以更好地捕捉文檔中的長距離依賴和全局信息,從而提高摘要、問答等任務的性能。這是我們作為一般用户最經常要用的功能。
② 增強指代消解。更長的上下文窗口可以幫助模型更好地確定代詞所指代的實體,從而提高指代消解的準確性。也就是説模型不會忘掉或搞混你們前面提到的 “那個男人”,“那份文檔”。
③ 改進機器翻譯。擴展上下文有助於更好地保留原文的語義,尤其是在專業術語、歧義詞等方面,提高翻譯質量。
④ 增強 few-shot 學習能力。通過在擴展上下文中提供更多示例,LLM 可以更好地進行 few-shot 學習,提高在新任務上的泛化能力。如今隨着模型命令跟隨的能力逐步增強,很多時候直接通過 Prompt 指令就可以讓模型學到新的能力,比如做個英語教師,當個醫生之類的。但這些功能描述會非常複雜,還需要舉出例子幫助模型學習,長文本支持越好,在 Prompt 指令中能添加的例子就越多,模型就會學的越好。
另兩項則是對模型基礎功能的提升,因為現在的上下文增加模式除了 RAG(檢索增強生成)等引入外部存儲的模式外,內生上下文提升都需要更改 Transformer 模型本身。因此在這個過程中模型的能力也會得到相應的提升,簡單來説就是傳統 Transformer 模型根本理解不了文本間隔比較遠的內容間的聯繫,現在它能了,理解能力也就自然提升了。
① 提升大模型的語言理解和生成能力。更長的上下文有助於 LLM 更好地理解多輪對話、複雜文本中的語義,並生成更連貫、相關的響應。這對於對話系統、文本生成等應用很重要。
②提高長文本推理和 QA 能力。擴展上下文使 LLM 能更好地處理涉及多文檔、長文本的推理和 QA 任務。
在去年 GPT4-Turbo 還沒有推出上下文長度 128k 版本的時候,OpenAI 的開發者關係經理 Logan Kilpatrick 就曾經表示過,“上下文就是大語言模型的下一個關鍵突破”。從大語言模型的功能滿足上看,也確實如此。
目前使用大語言模型的大多數人羣,還是泛科技行業,有嚐鮮能力的從業者、愛好者以及相關專業的學生,長文本處理能力毫無疑問是論文、深度研報、會議摘要這些有明確應用場景的剛需能力。月之暗面的登月第一步,從用户需求角度講肯定是邁對了。
但這一步,從技術角度來講,真的能領先多少?
上下文長度真的能形成護城河嗎?
如文章開頭所述,在佔領心智方面,Kimi 已經形成了暫時的用户護城河,這其中 “長文本” 是一個重要的因素,但不是全部因素。
它能否像去年的 Claude 一樣,憑藉着上下文長度形成一條穩定的護城河?在去年,這個答案也許是肯定的,但進入 2024 年,這項技術本身已經很難説的上是護城河了。當下,已經有越來越多成熟的手段去處理上下文的問題。
上下文擴展的問題之所以這麼難解決,主要原因還是 Transformer 這個基礎框架本身。
它最核心的問題有三個:
1)對文本長度記憶非常死板,超過訓練集最大長度就無法處理:Transformer 為輸入序列的每個 token 的位置都映射了一個固定長度的向量。這是一個絕對的位置信息,導致模型對文本長度的記憶非常死板。一旦你給了模型超出訓練集最大長度的信息時,這些超出的位置他就定位不了,也就讀取和理解不了。很可惜的是,根據 Sevice Now 的研究員 Harm de Vries 的技術博客分析,現在模型訓練用的主要素材之一公開可用的互聯網抓取數據集 CommonCrawl 中,95% 以上的語料數據文件的 token 數少於 2k,並且實際上其中絕大多數的區間在 1k 以下。也就是説,它在訓練這個過程中就是很難拓展到 2k 以上的文本長度。
2)注意力機制佔據資源,耗費算力:因為自注意力機制需要計算每個 token 與其他所有 token 之間的相對注意力權重,所以 token 越長,計算量就越大,耗時越長。而且算出來的結果,還要儲存成注意力得分矩陣,大量矩陣會佔據巨大的存儲空間,快速存儲能力不足也不行。而且大部分 token 之間其實就沒啥關係,非要這麼來回算一遍純粹浪費資源。
3)不擅長處理遠端信息:深度學習的基本邏輯之一是梯度下降,它通過不斷地調整模型參數來最小化與結果差異的損失函數,從而使模型的預測能力得到提高。另一個邏輯就是反向傳播,將梯度傳播到更高的神經網絡層級中,從而使模型能識別更復雜的模式和特徵。當序列較長時,梯度在反向傳播過程中可能變得非常小 (梯度消失) 或非常大 (梯度爆炸),這導致模型無法學習到長距離的依賴關係。而且注意力機制本身就傾向於近距離詞彙,遠距離依賴關係對它來説優先級不高。
這三大難題其實已經有非常多的手段去規避。學界把增加上下文的方法主要歸類為外推 (Extrapolation) 和內插 (Interpolation)。一般都會並行使用。
外推負責解決訓練外資料無法編碼的問題,並保證長文本處理的能力。用通俗的語言來解釋我們有一個巨大的語言模型,就像一個超級大腦,它通過閲讀大量的書籍和文章來學習理解人類的語言和知識。但是,如果給它一段新的長文本,它可能會遇到一些之前沒有接觸過的內容,這時候它就需要一種特殊的能力來理解這些新信息。這種能力就是所謂的 “外推”。
為了讓這個語言模型能夠處理超長的文章,我們需要給它一種特殊的編碼方式,就像給這個超級大腦安裝了一副可以看得更遠的眼鏡。這副眼鏡就是 “位置編碼”,比如 ALiBi 和 RoPE 這樣的編碼方式,它們幫助語言模型理解更長的文本。
但是,長文本不僅長,還很複雜,需要語言模型快速而且準確地理解。為了解決這個問題,我們發明了一種叫做 “稀疏注意力” 的技術,它就像是給這個超級大腦裝了一個高效的信息處理系統,讓它可以快速聚焦在重要的信息上,而不是被無關的細節分散注意力。
還有一個問題,就是語言模型的 “記憶” 問題。就像電腦如果開太多程序會卡頓一樣,語言模型處理太多信息也會遇到問題。這時候,我們有了像 Transformer-XL 這樣的技術,它就像是給語言模型加了一個超級大的內存,讓它可以記住更多的東西。而環注意力(Ring Attention)這個新技術,就像是給語言模型的大腦做了一個升級,讓它在處理信息的時候更加高效,不會忘記重要的事情。
除了處理長文本,我們還需要讓語言模型能夠更好地理解它已經學過的內容,這就是 “內插”。我們通過調整它的注意力機制,讓它可以更輕鬆地找到信息之間的聯繫,就像是給這個超級大腦裝了一個更聰明的搜索系統。
通過這些技術的提升,我們的語言模型變得越來越強大,雖然還不是完美無缺,但已經能夠處理很多複雜的問題了。最近,微軟的研究人員還發明瞭一種新的方法,叫做 LongRoPE,它就像是給這個超級大腦的超能力做了一個升級,讓它可以處理更多的信息,而且不需要重新訓練或者更多的硬件支持。
本身這個方法略微複雜,會使用到 1000 步微調,但效果絕對值得這麼大費周章。直接連重新訓練和額外的硬件支持都不需要就可以把上下文窗口拓展到 200 萬水平。
從學術的角度看,上下文似乎已經有了較為明確的突破路徑。而業界頭部公司模型的進化也説明了這一點。
看全球:頭部大模型的長文本護城河已經 “變淺”
早在 Kimi 引發國內大模型 “長文本馬拉松競賽” 的 4 個月前,美國大模型界就已經賽過一輪了。參賽的兩名選手是 OpenAI 的 GPT4-Turbo 和 Antrophric 的 Claude。在去年 11 月,OpenAI 在 Dev Day 上發佈了 GPT4-Turbo, 最高支持 128k 上下文長度的輸入,這一下打到了 Claude 的命門。在能力全面落後 GPT4 的基礎上,唯一的優勢也被超越,Antrophric 頓時陷入了危機。在 14 天后,Antrophric 緊急發佈 Claude 2.1,在其他能力沒有顯著增強的情況下,僅把上下文支持從 100k 提升到了 200k 來應對挑戰。而在今年 2 月發佈的 Geminni 1.5 更是直接把上下文窗口推到了 100 萬的水位,這基本上是哈利波特全集的長度和 1 小時視頻的量級。
這説明全球第一梯隊的三個大模型,在去年都突破了長文本的限制。
這其中還有一個小插曲,Claude 2.1 發佈後,完全沒想到行業人士這麼快就對它進行了探針測試,可以用簡單的概念來理解,就是大海撈針。
探針測試的邏輯是向長文章的不同位置中注入一些和文章完全不相關的話語,看它能不能找出來。能就説明它真的懂了,不能就説明它只是支持了這樣的長度,但並沒有記住。Claude 2.1 探針綜合召回率只有 20%,可以説基本沒記住,而對比 GPT4 Turbo 放出的論文中,128k 長文本的召回率足有 97%。
在這場公關戰中落於下風的 Claude 緊急打了補丁,在 12 月 6 日放出更新,探針召回率大幅提升,而且按 Antrophic 官方的説法,他們只是加了個 Prompt 就解決了這個問題。
(官方文檔:通過在克勞德的回答開頭添加 “這是上下文中最相關的句子:” 這句話,我們在相同的評估中取得了明顯更好的結果。)
(探針實驗效果效果前後對比)
一個 Prompt 就能解決上下文拓展中出現的嚴重問題。如果不是 Claude 本身在故意隱藏底牌,只能説到了 12 月份,這個護城河已經略淺了。
而到了 3 月份,中文大模型的這場最新版本的長文本戰爭時,其他廠商的快速跟上,更為 “護城河略淺” 加了些註腳。
上下文長度是 100 萬或是 200 萬,有本質意義嗎?
但是,全球三大模型的長文本之戰最終 “高開低走”。
GPT4-Turbo 128k 直到今天仍然僅對 API 用户(主要是專業開發者及公司)開放,一般用户只能用 32 k 的 GPT4 版本。
在今年 3 月發佈的號稱超越 GPT4 的 Claude 3 依然只支持到 200K 的上下文限制。
突然他們都不捲了。這是為什麼?
首先是因為不划算
在上文提及注意力機制的時候,我們講到因為其內生的運作邏輯,上下文越長需要計算的量級越大。上下文增加 32 倍時,計算量實際會增長大約 1000 倍。雖然靠着稀疏注意力等減負措施,時機運算量並沒有那麼巨大,但對模型來講依然是非常大的負擔。這從大模型的反應時間可以一窺:根據目前的測試反饋,Gemini 在回答 36 萬個上下文時需要約 30 秒,並且查詢時間隨着 token 數量呈非線性上升。而當在 Claude 3 Opus 中使用較長文本的上下文時,反應時間也會加長。其間 Claude 還會彈出提示,表示在長上下文的情況下,應答時間會顯著變長,希望你耐心等待。
較大的計算量就意味着大量的算力和相應的成本。
GPT-4 128k 版本之所以開放給 API 用户,是因為他們按輸入 token 數量結算,自己承擔這部分算力成本。對於 20 美元一個月的一般用户而言,這個並不划算。Claude 3 會員版本最近也開始限制同一時間段內的輸入次數,預計也是在成本上有所承壓。
雖然未來算力和模型速度都會變得越來越快,成本和用户體感都會進一步上升。但現在,如果長上下文的需求能夠在當下支持框架下獲得滿足,大模型提供商何必 “再卷一步” 呢?
其次,長上下文的擴充在一定限度以後對模型整體能力的提升有限
前文提到,上下文對模型能力會有一定提升,尤其是處理長內容的連貫能力和推理能力上有所提升。在早期谷歌進行的較弱模型實驗中,我們確實可以看到這樣的明顯正向關係。
但我們現在評價模型的角度實際上更綜合,核心還是希望它能有更好的常識能力和推理能力。GPT4 一直都不是支持上下文長度最長的模型,但其綜合能力一直一騎絕塵了半年多時間。當上下文夠用後,把時間花在優化模型的其他方面似乎更為合理。
在 Langchain 最近的研究中,他們設置了多個探針後發現,即使是支持長上下文的模型,在探針越多的情況下,其正確召回率仍然會衰退,而且對探針的推理能力衰退的更明顯。所以,當前的方法下大模型可能能記住很長上下文,但懂多少,能用多少還是存疑的。
最後,有更便宜的,更有拓展性的解決方法,為什麼死磕這條路?
在楊植麟過往的採訪中,他曾經指出一種拓展上下文的模式是蜜蜂模式,屬於一種走捷徑的模式,不能真正的影響到模型的能力。這種模式就是 RAG,也就是檢索增強生成(RAG)。其基本邏輯就是在模型外部設置一個存儲器,通過切片方法將我們輸入給模型的長文本切成模型有能力識別的短文本小塊,在取用時通過索引讓大模型找到具體的分塊。它和蜂巢一樣一塊塊的所以被稱作蜜蜂模式。
通過 RAG,大模型可以考僅處理索引涉及到的小段落就可以,所以反饋速度很快,也更便宜。但它的問題正如楊植麟所説,因為是分塊的,只能窺一斑難見長文本的一豹。
GPT4 用的就是這樣的模式,所以在 32k 的長度下也可以接受更大的文本進行閲讀,但問題確實很多,它會經常返回説明明在文章裏有的東西它找不到。
但這個問題最近也被攻破了。今年 2 月發佈 BGE Landmark embedding 的論文也闡述了一種利用長上下文解決信息不完整檢索的方法。通過引入無分塊的檢索方法,Landmark embedding 能夠更好地保證上下文的連貫性,並通過在訓練時引入位置感知函數來有限感知連續信息段中最後一個句子,保證嵌入依然具備與 Sentence Embedding 相近的細節。這種方法大幅提升了長上下文 RAG 的精度。
另外,就像當下的數據庫一樣,因為我們日常生活工作中真正用到的上下文不僅包含了長文本、圖片等非結構化數據,更包含了複雜的結構化數據,比如時間序列數據、圖數據、代碼的變更歷史等等,處理這些數據依然需要足夠高效的數據結構和檢索算法。
100 萬 token 這個上下文長度,在文本,代碼為主的場景下,已經足夠滿足 99% 我們當下的上下文用例了。再卷,對用户而言毫無價值。
當然,因為看一個五分鐘的視頻可能就需要 10 萬以上的 token,在多模態模型實裝時代中,各個模型供應商還是有再往上卷的理由。但在當下的算力成本之下,它的大規模應用應該還很難。
終極目標還是 AGI
最後,引出一個終極問題,靠” 長文本 “是否能形成大模型真正的護城河?” 護城河 “本質還是看未來,而未來是最難判斷的。關於長文本本身有多大可擴展空間,楊植麟的回答是:“非常大。一方面是本身窗口的提升,有很長路要走,會有幾個數量級。另一方面是,你不能只提升窗口,不能只看數字,今天是幾百萬還是多少億的窗口沒有意義。你要看它在這個窗口下能實現的推理能力、the faithfulness 的能力(對原始信息的忠實度)、the instruction following 的能力(遵循指令的能力)——不應該只追求單一指標,而是結合指標和能力。”
如果這兩個維度持續提升,人類下達一個幾萬字、幾十萬字的複雜指令,大模型都能很好地、準確地執行,這確實是巨大的想象空間。到了那個時候,可能沒有人會糾結,這家公司的核心競爭力究竟是長文本,還是別的什麼。
這波 AI 浪潮才剛剛開始,未來的產品形態肯定是與今天完全不同的,我們還沒有辦法清晰地看到它未來的樣子。但是似乎有一點是行業內的共識,屬於 AI 時代的產品,一定是 “去掉 AI 就不成立” 的產品。楊植麟也有相似的判斷 “獨特價值是你增量的智能。要抓住這個點,智能永遠是最核心的增量價值。如果你這個產品最核心價值只有 10%-20% 來自於 AI,就不成立”。
未來,你需要人工智能,它一定能理解你的長長的指令,但是它可能會忘記,在一路走來的過程中,還曾經路過叫做 “長文本” 的驛站。
