拾象硅谷見聞系列:打破圍繞開源 LLM 的 6 大迷思
作者、編輯:程天一
排版:Mengxi
最初吸引我對開源語言模型關注的是 Stanford Alpaca,它展示出了一個低成本微調過的指令遵型可以做到不錯的問答對話效果,還有端側運行、私有化部署以及降低調用成本等方面的潛力。在 3 月份 Alpaca 問世後的一個月裏(也就是 LLaMA 泄露的一個多月後),這類模型又出來很多,圍繞着它們的炒作達到頂峯,所有人期待的 LLM Stable Diffusion 時刻似乎就快要到了。
在團隊出發前硅谷的前一天晚上,我在 YouTube 上刷到 OpenAI 元老 John Schulman 在伯克利有關 RLHF 和 Hallucination 的講座,他一陣見血地指出這類開源模型的做法只是 “形似”,實際上降低了模型的 Truthfulness。之後的硅谷之旅我集齊了這個生態的不同視角,對開源社區的現狀有了更加清醒的認知 —— 儘管 Stability AI 也非常積極地入場了 LLM,但是這裏的 Stable Diffusion 時刻可能仍未到來。
這裏的卡點有很多:缺少明確的開源扛把子團隊 / 公司、沒有被普遍認可的標準化測試、開源團隊都缺高質量數據、蒸餾 ChatGPT 進行指令微調的做法有許多侷限、Query 和用戶反饋數據飛輪難以轉起來、多重的不可商用限制……
不過非常鼓舞人心的是開源社區也非常快地意識到了這些問題,Alpaca Farm 試圖解決 RLHF 和標準化測試的問題,OpenLLaMA 和 RedPajama INCITE 等項目開始從預訓練環節攻克可商用問題,微調的方向也更百花齊放。
不同的角色在此刻對於 LLM 開源社區的前景信心不一,本文試圖從我的硅谷見聞出發,提供對 6 個常見迷思的一些思考,希望對整個社區也有所幫助和啓發。 我自己非常期待在接下來見到智能跟可商用問題都解決的不錯的 Base Model、被普遍認可的開源模型標準化測試和更符合 LLM 時代的開源協議出現。
以下爲本文目錄,建議結合要點進行鍼對性閱讀。
01 開源模型景觀概覽
02 打破六大迷思
03 展望未來
01. 開源模型景觀概覽
本文的重點是對圍繞着 LLM 開源模型的一系列迷思的重新思考,但是在開頭先給沒那麼熟悉這個領域的讀者一些大的圖景。
下面這張圖出自 Translink 投資人 Kevin Mu,他從技術複雜度、貨幣化潛力和瓶頸的存在三方面論證了 LLM 的市場可能由 OpenAI 閉源玩家佔據主導。但是就像圖中的問號所代表的,目前還勝負未分,離市場份額的終局還比較遠。
歷史上的閉源 vs 開源格局
Source: Kevin Mu 的 Linkedin 動態
拋開投資人 top-down 的終局思維,從 bottom-up 的視角審視現在的 LLM 開源社區,在 LLaMA 出現後,模型相關的項目其實在過去兩個季度發展地相當如火如荼:
• 按照 Decibel.vc 的 GenOS Index 對 GitHub 中星數前 30 的項目統計,40% 的項目都是圍繞開源模型的;
Source: Decibel GenOS Index 五月版
• 而 GitHub 中星數前 10 名的 LLM 開源項目中,和開源模型相關有第二名的 GPT-4All、服務 serving 環節的 llama.cpp 以及引爆了指令遵循微調的 Stanford Alpaca。
聚焦到具體項目上,在 Base Model 和經過微調的模型兩個層次上都有爆款模型接連出現,近期的代表分別是 Falcon 40B 和 WizardLM 13B。
下圖列舉了理解這個生態的一種簡單框架和一些常見的名字,感興趣的讀者當然也可以按照訓練方法的不同、原始 Token 或微調指令數據集的不同以及其他標準來進行其他細分的分類。
有了這些大背景,我們可以深入到在硅谷之行我對開源 LLM 模型一些重要問題的思考轉變。
02. 打破六大迷思
迷思 1 ** “We Have No Moat, And Neither Does OpenAI”**
“We Have No Moat, And Neither Does OpenAI” 是 5 月上旬從 Google 內部泄露的一篇文檔,總結了開源模型在 LLaMA 泄露的 2-3 個月裏取得的進展,並以此認爲模型的訓練沒有壁壘,並號召內部擁抱開源、LoRA 微調以及小參數量的模型。這並不代表 Google 的官方觀點,只是內部一名資深軟件工程師的呼籲。由於它發佈於我們硅谷之行的途中,我因此有機會了解各種人對它的看法,並發現那些沒有緊跟開源模型最新進展的人更傾向於使用這篇文章論證開源模型的巨大前景。
這份文檔最大問題在於它被並不標準化和全面的評估給欺騙了,錯誤地相信 “開源模型和 ChatGPT 的差距已經是 92% 和 100% 的關係” 以及 “LoRA 微調過的模型和 ChatGPT 基本上沒有區別”,而忽略了這些對比都建立在“在某些任務上” 的前提下。我們將在迷思 2 中對這一點進行更多的評論。
_Source: We Have No Moat, _
And Neither Does OpenAI 配圖
在傾聽開源模型的訓練者的聲音以及思考這份文檔的標題一個多月後,我反而認爲 Google 有護城河,OpenAI 也有它自己的。 比 “護城河” 更嚴謹的說法是“競爭優勢” —— 在商業層面,Google 擁有其搜索引擎和 G Suite 背後強大的分發渠道,OpenAI 擁有王牌產品 ChatGPT 的用戶心智;在技術層面,開源社區在預訓練環節和高質量反饋數據的獲取以及處理上跟 OpenAI 還有相當大的差距。
贊同這份文檔的另一種觀點是 “搜索引擎將不復存在,因此 Google 的現有分發優勢也不構成護城河”。 搜索引擎被摧毀的進程目前看仍然會比較漫長。同時,在硅谷之行中,我可以明顯感受到經歷過了移動互聯網和雲之後,現有的公司非常 FOMO,而且不會覺得 LLM 和 Generative AI 的機會小,都會很明確地大力投入,大廠和創業公司的競爭不再是菜雞互啄時代。
迷思 2 達到 “90% of ChatGPT” 或 “GPT-3.5 Level” 水平
在我們前往硅谷前,3-4 月是開源社區最高歌猛進的一段時間,不斷有以新的動物命名的模型出來,不過大體上都是 “LLaMA + 指令遵循微調 + GPT 3.5/GPT 4 自動化評估” 的範式。其中的指令遵循數據往往也來自 ChatGPT 或 GPT-4 生成。而且這些模型團隊自行進行的評估結果都捷報頻頻,比如 Vicuna“使用 GPT-4 作爲裁判的初步評估顯示,Vicuna-13B 的質量達到 OpenAI ChatGPT 和 Google Bard 的 90% 以上”,成本則只有僅僅幾百刀。
大多數媒體在報道時都會自動忽略 Vicuna 團隊對這一指標的聲明是 “GPT-4 做出的有趣且非科學的評估”。從更嚴謹的視角,這些模型提供了和 ChatGPT 幾乎一樣的聊天機器人,但是在許多維度上仍然和 ChatGPT 以及 GPT 3.5 有很大差距。這些團隊自己也比較清醒,但是架不住媒體的炒作。
John Schulman 4 月下旬在伯克利的 RLHF 講座上點明瞭這一類模型的事實性上的缺陷:
(關於 Hallucination 問題的出現)如果你使用同樣的監督學習數據,然後訓練另一個模型,那麼同樣的 Hallucination 問題會出現。現在有很多人使用 ChatGPT 的輸出來微調其他模型,比如微調市面上的開源 Base Model,然後發現效果不錯。但是如果你真的認真觀察它們的事實準確度,你會發現它們編造的比例比原始模型更高。
Source: John Schulman - Reinforcement Learning
from Human Feedback: Progress and Challenges
到了 5 月,伯克利的論文 The False Promise of Imitating Proprietary LLMs 指出這種方式微調出來的指令遵循模型存在的一系列問題:
• 在缺少大量模仿 ChatGPT 數據支持的任務上,這類模型無法改善 Base Model 到 ChatGPT 的差距;
• 這類模型只是擅長模仿 ChatGPT 的風格,而不是事實性,導致實際的性能差異會騙過人類評估者;
• 當前開源模型最大的限制仍然是 Base Model 層面跟 GPT 系列的差距,在微調而不是預訓練環境進行優化可能是不正確的方向;
• 爲了廣泛地匹配 ChatGPT 支持的任務,需要更廣泛和大量的模仿數據集,還需要新的工作;
• ……
而 6 月份 Allen Institute for AI 和華盛頓大學的 _How Far Can Camels GO?_工作再次通過實驗表明不同的指令微調數據集可以釋放或者增強特定的能力,但並沒有一個數據集或者組合可以在所有的評估中提供最佳性能,並且這一點在人類或模型擔任評估者時也很容易無法被揭示。
對於指令遵循微調背後的團隊來說,他們也意識到自己的模型由於 Base Model(LLaMA)的限制,在複雜推理和代碼任務上很弱,並且難以進入正向數據飛輪 —— 模型能力越弱的領域越難得到更多的 query,也就難以篩選出高質量 query,想自己再標註提升模型能力就很困難。
至此,開源社區已經充分意識到原來這套微調 LLaMA 的框架的侷限性,越來越多的團隊開始探索預訓練環節和更接近真實的人類反饋數據。 我們也比較期待這兩個方向上的進展,在迷思 4 中也會分享更多圍繞這部分的觀察。
迷思 3 定義更 “好” 的模型和更 “高質量” 的數據
在迷思 2 中頻繁出現的一個問題是 “評估”。在傳統的 ML 實踐中,Benchmark 是衡量表現和將模型推向生產的重要基礎設施。我們發佈的 C-Eval: 構造中文大模型的知識評估基準也強調了 Benchmark 對於當前 LLM 發展的重要意義。
在各個動物混戰的第一季度,每個新的指令微調模型出現都會宣稱自己是 “更好” 的模型,但是就像我們在上文指出的,人類或模型擔任評估者會讓評估非常不全面,所以模型進步的方向也可能跑偏。 這個問題目前被解決的還可以,Vicuna 和 Alpaca 都推出了自己的 LeadBoard,有助於各種指令遵循模型進行更自動化和標準化的評估。
除了 “更好的模型” 在相當長一段時間內缺少明確基準外,“更高質量的數據”一直還是個非常模糊的概念,很難精準地定義。從實操經驗的角度,ShareGPT 和其他蒸餾 ChatGPT 輸出的方式得到的數據往往是更好的指令遵循微調數據。 此外,目前似乎只有一些模糊的方向可以用來指引開源社區尋找 “更高質量的數據”,比如更中立和更具 Elavorative 特點的數據從經驗上看效果更好。
跟 “更高質量的數據” 情況類似以及相輔相成的是對模型回答的評估 —— 什麼是好的回答?目前的開源模型團隊仍然依賴許多主觀判斷,用戶側的反饋很難找到好的交互,點贊點踩數據基本上充斥着無效噪音,如果這方面有突破可能會讓模型們朝迷思 2 結尾的 “更接近真實的人類反饋數據” 邁進一大步。
迷思 4 LLM 開源社區並不團結
第一季度時,指令遵循的微調模型格局似乎互相不是很團結,比如 Vicuna 和 Koala 幾乎是一樣的工作,但是兩支伯克利 CS 的團隊在分散做。
隨着迷思 2 中的問題被意識到,開源社區內大量的注意力開始轉移到預訓練環節,過去一個季度陸續出來了 Redpajama、OpenLLaMA、Falcon、MPT 等新的模型。預訓練對數據集準備、算力等資源的要求更高,也更需要社區協作,OpenLLaMA 最近取得的成果是開源社區團結力量的很好展現:
• OpenLLaMA 的預訓練數據集來自 Redpajama,按照配方還原了 LLaMA 的 1.2 萬億 token,Apache 2.0 協議可商用,是 Together、斯坦福 CRFM、ETH DS3Lab、Hazy 等合力完成;
• OpenLLaMA 的實現由伯克利 BAIR 的兩個 PhD 主力完成;
• 背後算力由 GCP 和 Stability AI 共同提供,模型的訓練由 Stability AI 在 TPU 上進行,input 來自於 OpenLM,20B 模型有 78-B 的 token,後續可以由 Carper AI Lab 提供 SFT/RLHF。
除了在模型環節上的開源社區合力,現在到後續的環節目前也都有公認好用的開源項目冒頭,鏈路很通暢。
迷思 5 開源社區的目標是超越 OpenAI 等閉源玩家
開源模型在能力上落後於 OpenAI 和 Anthropic 等玩家是好事還是壞事?對這個問題非常線性的思考是:落後就是壞事,開源社區應該致力於做出來超越 OpenAI 的模型。但是在 LessWrong 這樣更關注 AI 安全的社區和 Connor Leahy 這些開源社區的 KOL 那裏有非常不一樣的聲音:
• OpenAI 等閉源公司實際上採取了很好的敘事來解釋自己的策略,即將最先進模型開源只會帶來被威脅,沒有一個開源社區可以完全豁免相關責任;
• 像 EleutherAI 這種組織的立場實際上是完全選擇不致力於發佈能夠推動智能前沿進展的模型和功能,而只在特定情況下發布合適大小和智能能力的 LLM;
• 蒸餾 ChatGPT 的做法其實抽象來看並不錯,即領先的模型推動 AGI 發展的同時幫助優化一些落後的、不會帶來智能威脅的模型達到實用的程度,這樣閉源和開源社區的發展是可以高度聯動的。
迷思 6 智能能力是下游客戶選擇模型的最重要標準
未來能否使用開源模型而不是 OpenAI API 是個回答非常兩極分化的問題。真正在做這些開源模型的人會覺得比較無力,主要有幾方面原因:
• 缺算力;
• 追上 OpenAI 最新模型的智能永遠有個時間差;
• OpenAI、Anthropic、Google 等公司已經邁向了 “全棧產品”,可以把訓練數據和用戶體驗聯動來做。
但與此同時,我們在硅谷見到的 Hugging Face、Sambanova 以及 DeepSense 等提供模型實踐和部署諮詢服務的公司就整體樂觀很多。一些解決方案工程師已經有一套完整的清單幫助客戶想清楚是否要用 OpenAI API。很多客戶往往一開始想用 OpenAI,但是後面逐漸因爲成本、數據安全、用戶授權麻煩等問題轉而使用開源模型,使用開源的客戶大約佔 2/3。 同時因爲 LLaMA 系模型在可商用方面有很多限制,FLAN-T5 是實際部署很多但是在社交媒體缺乏相應討論度的模型。
從創業公司的角度來看,我們見到的比較優秀的應用,雖然目前還接的是 OpenAI API,但是內部很早就注重平臺建設,可以無縫切換各種模型,認爲可商用模型出來就會盡快切過去構建自己在模型層的競爭力,複製 Midjourney 的戰略。Cresta 最近發佈的 Ocean-1 就是個很好的範例,用 GPT-4、Claude 加上開源的 Falcon-40B。所以這個階段 “可商用” 可能是比 “更智能” 更重要的突破方向。
除此之外,本地化部署和確保隱私與數據安全是使用開源模型的重大驅動力, OpenAI 的 Foundry 應該帶來很大的衝擊,但是由於內部項目優先級的問題,OpenAI 沒有真正大舉進入這個領域, 也讓開源社區在近期能維持住來自客戶方面的需求動力。
03. 展望未來
目前來看阻礙開源模型更大範圍爆發的最大的卡點仍然是 LLaMA 的可商用問題, OpenLLaMA、Falcon 等模型複製一個同等繁榮的生態還需要時間。除了在技術角度思考,從法律和政策制定也有很多突破的空間,比如 LLaMA 不可商用的決策出發點是法務,比如那些可以商用的模型使用的是 Apache 2.0 協議,許多社區成員認爲用於軟件的協議實際上並不適用於模型,呼籲新的開源協議出現。
在接下來 12 個月,我最期望看到的是 3 件事:
• 更好的 Base Model 出現,可能是 LLaMA 2.0;
• 更規模化生產和判斷接近真實人類反饋數據的框架出現,可能是進化版的 Alpaca Farm;
• 更適合 LLM 的開源協議出現。
這 12 個月可能會比過去的 6 個月更精彩,鑑於我們看到的一系列既有成果以及 Meta 開源下一代模型的決心 —— 根據 The Information 的兩週前的報道,Meta 正在研究如何開源其下一代 LLM 並且可供用於商業用途。
附錄:以 Stanford Alpaca 爲例詳解指令微調
選擇 Foundation Model - llama
Foundation Model 是 LLM 模型表現的最關鍵部分,它的數據和算力成本太高,以致於大多數公司都無法訓練和部署一個 Foundation Model,CV 領域常見的 Fine-Tune 模式在 LLM 領域變成了 Prompt Engineering,而對 LLM Foundation Model 的 Fine-Tune 以 Alignment 的形式被 OpenAI 等模型提供方掌控。此外,大多數先進的模型(GPT 3.5、PaLM-E、Cohere 等)都以閉源的方式提供,OPT 和 BLOOM 等第一批開源模型則也有參數太多,並且在能力上跟 GPT-3.5 差距較大的問題。這給學術界和希望魔改 Foundation Model 和個人和組織帶來了很大的挑戰。
轉機是今年 3 月份,Meta 本來以半開源的方式發佈了 LLaMA,但是很快模型在 4chan 上被泄露。被泄露後的 LLaMA 很快加速了開源 LLM 社區的發展,主要原因是它的幾個特性:
• 雖然比不上 GPT-4,但是 13B 版本基本能達到 GPT-3 水平,下面兩張圖是它在 Common Sense Reasoning 和 Multitask Language Understanding 上的得分;
• 有不同體量的參數版本可供選擇,比如 Alpaca 使用了最輕量級的 7B 版本(可以在 RTX 3090 上運行),Vicuna 使用了 13B(可以在 RTX 4090 上運行),而它同時還有 33B 版本(可以在單個 A100 上運行)可供使用。
指令遵循 - InstructGPT
站在 2022 和 2023 年的時間點,有能力達到 GPT-3 的水平不是大新聞,GPT-3.5 的 text-davinci-002 開始經過監督學習微調,text-davinci-003 和 ChatGPT 則經過 RLHF 的指令微調。可以說 OpenAI 領先業界的重要工作是 InstructGPT,這背後代表着 OpenAI 對 Alignment 的重視和對 RLHF 方法的探索先進性。
開源的 LLaMA 是一個沒有經過指令微調的模型。
最直觀地理解指令微調的作用可以看符堯的這段表述:
1. 指令微調不會爲模型注入新的能力 —— 所有的能力都已經存在了。指令微調的作用是解鎖 / 激發這些能力。這主要是因爲指令微調的數據量比預訓練數據量少幾個數量級(基礎的能力是通過預訓練注入的);
2. 指令微調將 GPT-3.5 的分化到不同的技能樹。 有些更擅長上下文學習,如 text-davinci-003,有些更擅長對話,如 ChatGPT;
3. 指令微調通過犧牲性能換取與人類的對齊(alignment)。 OpenAI 的作者在他們的指令微調論文中稱其爲 “對齊稅” (alignment tax)。許多論文都報道了 code-davinci-002 在基準測試中實現了最佳性能(但模型不一定符合人類期望)。在 code-davinci-002 上進行指令微調後,模型可以生成更加符合人類期待的反饋(或者說模型與人類對齊),例如:零樣本問答、生成安全和公正的對話回覆、拒絕超出模型它知識範圍的問題。
同樣根據符堯的總結,指令微調能帶來的能力包括:
1. 響應人類指令: 以前,GPT-3 的輸出主要訓練集中常見的句子。現在的模型會針對指令 / 提示詞生成更合理的答案(而不是相關但無用的句子)。
2. 泛化到沒有見過的任務: 當用於調整模型的指令數量超過一定的規模時,模型就可以自動在從沒見過的新指令上也能生成有效的回答。**這種能力對於上線部署至關重要,**因爲用戶總會提新的問題,模型得答得出來纔行。
……
• 能夠響應人類指令的能力是指令微調的直接產物;
• 對沒有見過的指令做出反饋的泛化能力是在指令數量超過一定程度之後自動出現的,T0、Flan 和 FlanPaLM 論文進一步證明了這一點。
更直觀地理解指令微調前後的變化可以參考 OpenAI 給出的對比示例:
Alpaca 實踐的指令微調框架
Alpaca 意識到了目前缺少指令微調過的模型可用於學術研究以解決 LLM 模型的胡言亂語、傳播刻板印象、產出有毒言論等問題, 使用 Self-Instruct(仍然基於 RLHF 思想,但是大大減少人工參與標註的規模和成本)對 LLaMA 7B 模型進行了指令微調並在 3 月率先發布了 Alpaca 7B,成爲這個被廣泛使用的、極低成本的方法的先驅。
Alpaca 所開創的這套框架是:
1. 指令數據集
• 人工編寫了 175 條指令和 Output 作爲 seed tasks;
• 讓 text-davinci-003 使用這些 seed task 作爲 Context,從而生成更多的指令和 Output,最終的產出是 52k 指令和對應的 Output(OpenAI GPT-3.5 的指令數據量是 77k);
• 在上一步中,Alpaca 團隊優化了數據生成的 Pipeline,包括更好的 Prompt Engineering 以明確生成要求等,使得使用 OpenAI API 的成本不到 500 美元。
2. 微調訓練
• 使用這個數據集和 Hugging Face 的訓練框架 Fine-Tune LLaMA,在 8 個 80GB A100 上用了 3 個小時,成本不到 100 美元。
3. 評估
• 5 位學生作者基於 self-instruct evaluation set 進行了人工評估,方向包括郵件撰寫、社交媒體帖子和生產力工具等,對 text-davinci-003 和 Alpaca 7B 進行盲測,Alpaca 以 90 vs 89 取勝;
• Alpaca 在不同的 input set 上都跟 text-davinci-003 相似;
• Alpaca 的答案通常比 ChatGPT 更短,跟 text-davinci-003 的風格更接近;
• 表現出 LLM 常見的胡言亂語、有毒言論和刻板印象問題。
除了一個可供使用和魔改的 Alpaca 7B 以外,這項工作的意義在於:
-
留下了一套非常低成本進行指令微調的思路,後續的開源模型基本都遵循這套方法;
-
留下了一個高質量的微調指令數據集,被 Dolly 1.0 等開源模型使用。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/rZRAwX58Ooqx1uNSM542tQ