認真看待大型語言模型(作為語言模型本身)
我提倡一種更具統計嚴謹性的大型語言模型開發方法,透過明確的元數據標記與機率推論,而非混亂的強化學習,旨在創造出能作為訓練數據「誠實顯微鏡」的模型。這種偏向工程的研究方向希望透過將模型視為連貫的統計模型而非僅是聊天機器人的初始化工具,來提升人工智慧的安全性和可靠性。
這是我的嘗試,旨在記錄如果我直接從事大語言模型(LLM)研究,而非進行代理基礎(Agent Foundations)研究時,我會研究的內容。(我對這些想法的合作持開放態度。)
機器學習研究可以位於科學與工程光譜上的不同位置:類科學的研究尋求深入理解現象、解釋發生的過程、提供預測結果的模型等。類工程的研究則更專注於讓系統運作、取得令人印象深刻的結果、優化性能等。我認為科學風格非常重要。然而,這裡的研究思路更偏向工程風格:我希望看到能讓這些想法運作起來的系統,因為我認為它們會稍微更安全一些,在對齊難度光譜上能多挽救幾個世界。我認為目前 AI 能力研究的前沿相當集中在強化學習(RL),這本質上是一種更危險的技術;我希望在這裡說明的部分內容是,在其他方向上也有觸手可及的能力提升成果。
當你提問時,得到的是什麼答案?
基礎模型是人類創造過最優秀、最先進的統計模型。然而,我們並沒有那樣使用它們。相反,我們將其作為訓練聊天機器人的權重初始化。統計的完整性因疊加了針對各種目標的額外訓練而受損,這些訓練試圖將統計模型扭曲成一個智能助手的性格。
例如:如果我要求 ChatGPT 生成 2030 年看似真實的新聞文章,我不知道我得到的是來自底層統計模型的真實推演、科幻小說的陳腔濫調,還是為了聽起來有幫助且合理而優化的文本,等等。
這裡的想法是以更具統計性的態度對待 LLM,為有用且有趣的統計操作創造更多「把手」(handles)。
與其對 LLM 進行聊天訓練然後問「生成 2030 年的新聞」,我會嘗試透過明確標記元數據(metadata)來訓練一個更具結構化的語言模型。接著,我們可以透過「以元數據為條件」(conditioning on)來進行明確的概率推理,例如「媒體類型:新聞文章」和「出版日期:2030」。這讓我們更有信心,我們是在從新聞文章中推演模式,而非科幻小說或其他來源。
當然,由於 LLM 不會看過任何來自 2030 年的訓練樣本,我們從根本上仍不知道會得到什麼。我們對 LLM 如何泛化缺乏詳細的理解,也沒有好到足以簡單檢查的可解釋性工具。LLM 仍可能借鑒科幻小說。儘管如此,我認為採用這種方法,我們更有機會得到我們所要求的內容。
無論如何,LLM 仍可能是一大堆啟發式算法(heuristics)的集合。要理解在我的提案中是哪些啟發式算法在回答問題,我們必須理解 Transformer 如何泛化。而要對 ChatGPT 回答同樣的問題,我們不僅要理解那一點,還必須理解在針對相關類似案例進行訓練時應用了哪些損失函數,以及不同類型的訓練發生的順序,以及順序效應是什麼。
我所做的假設大致如下:Transformer(在足夠的規模下)擅長處理我們訓練它們做的任何事情。我們並不確切知道它們如何泛化,但我們知道在某種意義上它運作得相當好。(這並不是我想做的假設——我忽略了幾個危險的 AI 風險。我只是認為這個方向在量化上似乎比 RL 風險更小。)如果我們能得到我們所訓練的目標,那我們應該訓練什麼?我的總體答案是正當的審議(legitimate deliberation),但這裡我提供一些更具體且實用的想法。這些想法都受到概率意義上的「連貫性」(coherence)啟發;目標是創造一個具有近似連貫信念的 LLM,而非通常那種混亂的產出(slop)。
據我所知,目前的實踐看起來很混亂。在我看來,透過構建更具統計嚴肅性的 LLM,存在一些觸手可及的成果。我旨在於此概述我的想法,以便感興趣的人可以進行實驗。我對影響力的思考與我在《反混亂干預》(anti-slop interventions)中所寫的類似。
有一種「誠實」我認為貫穿了這裡的許多想法:不是 LLM 直接告訴你事實的那種誠實,而是一種讓你清楚知道自己得到的是什麼的感覺。LLM 不會試圖產生討喜的結果(除非那是你的要求)。這樣的 LLM 是進入其數據集的顯微鏡。你提問,數據回答。
部分標記數據
我認為大多數人對現代訓練的看法大約是這樣的:「基礎模型並非被訓練來述說真相;它們只是被訓練來預測下一個標記(token)。這就是為什麼我們需要進行聊天訓練、反幻覺訓練等等。生成式預訓練只給了我們一個不錯的先驗。我們需要進行強化學習和其他類型的微調,才能從中得到我們真正想要的東西。」
雖然我不否認該範式的成功,但它忽略了一個事實:訓練預測下一個標記實際上是一種真相;這是關於世界的真實數據。基礎模型對世界了解很多!它們只是缺乏「把手」,無法以我們易於使用的方式告訴我們它們所知道的事情。我主張我們可以在不犧牲基礎模型統計完整性的情況下增加這些把手。
這裡的核心想法是在訓練期間結構化數據,在可獲得標記的地方明確標記元數據,如作者、出版日期、主題等,而不是將所有內容都丟進非結構化文本中。
難道這些類型的元數據不是已經包含在可獲得的文本中了嗎?好處是什麼?人們已經可以用標題和日期之類的內容來提示基礎模型,並從那裡開始生成。還缺少什麼?
以特定方式清晰且一致地標記,有助於我們了解我們得到的是什麼,而不是去猜測 LLM 如何解釋事物。我們可以嘗試用指定我們想要作為條件的信息的文檔頭來提示,但基礎模型會從文檔頭的結構,以及信息的有無中推斷事物。這使得提示基礎模型成為一項不透明且具挑戰性的工作。
更具體地說,我設想將簡單的 [上下文] -> [補全] 模式替換為類似 [數據], [查詢] -> [答案] 的模式。[1] 「查詢」可以像以前一樣是簡單的文本補全,也可以是要求元數據、要求翻譯成不同語言、摘要、詳述等許多不同的事情。你可以訓練它執行任何你喜歡的轉換或推理;這個框架限制很少。你甚至可以在足夠多不同的 [查詢] 字符串上訓練它,以期望能泛化到許多你未訓練過的查詢;儘管如此,你仍能獲得將查詢與數據清晰分離的好處,消除了這些查詢如何被解釋的部分歧義。
你可以透過修改神經架構來實現這一點,或者你可以採用標準架構並僅以標準化方式格式化輸入。
可逆性(Invertibility)
為了生成 2030 年的內容,我們還希望能夠反轉元數據查詢,嘗試從給定的元數據生成數據。當然,我們可以透過交換 [文本], ["推斷日期"] -> [日期] 形式的訓練樣本,輕鬆生成 [日期], ["推斷文本"] -> [文本] 的訓練樣本。大規模訓練這樣做應該會得到不錯的答案。然而,結果在概率上可能不連貫:特別是對於新樣本,給定文本推斷出的元數據可能與用於生成該文本的元數據不匹配。
這說明了我提案背後的「誠實」概念:如果反轉一個關係在概率上不連貫,那麼在某種意義上,統計模型就沒有揭示它所知道的一切,也沒有給你所期望的東西。
我們可以在非結構化文本上訓練一個「先驗」上下文,也許是 [], ["先驗"] -> [文本](就像通常訓練基礎模型的方式一樣)。這將允許我們應用貝氏定律(當然我們必須進行近似),並懲罰正向推理與貝氏反轉之間的 KL 散度(KL divergence)之類的東西。我們可能還想要針對特定類型標籤的先驗(例如關於作者、日期等的先驗)。
我認為這種概率一致性的好處是真實且實用的。為了說明這個想法,我講一個關於我弟弟的故事。
我弟弟有時在工作中使用 Claude,特別是當他拿到的工作量大到無法快速完成時,快速但不可靠的 AI 答案能達到正確的成本效益權衡。有一次,他嘗試使用 Claude 寫郵件。Claude 有一個「風格」功能,旨在讓用戶輕鬆訓練 Claude 以所需的風格寫作。如果你點擊「創建與編輯風格」,系統會提示你上傳一個寫作範例,並可以選擇手動描述所需的風格。
我弟弟上傳了一些他自己的風格作為範例,Claude 為自己生成了一個風格摘要,將我弟弟的郵件描述為「清晰、簡潔、專業的語言」等等。[2] 當我弟弟測試新風格時,郵件寫出來就像是史巴克(Spock)寫的,完全沒有正確模仿我弟弟的風格。
我猜想 Claude 在這項任務上表現不佳,是因為 Claude 並沒有真正接受過這方面的訓練——Anthropic 僅僅是依賴 Claude 的通用能力,並希望當 Claude 從文本中總結風格時,該總結稍後能作為提示讓 Claude 以正確的風格寫作。
更多例子:
- 摘要與詳述應該互為反轉。這有助於加強摘要和詳述的準確性。
- 詢問文本的作者,應該反轉「要求以該作者風格生成文本」的查詢。當然,也許 LLM 無法完美模仿某位作者;但任何...
相關文章