大模型の綜述

阿里妹導讀
本文是一篇關於大模型的綜述文章,旨在幫助讀者快速瞭解並深入研究大模型的核心概念和技術細節。
一、背景
大語言模型在各種自然語言處理(NLP)任務中取得了卓越的效能,對於大模型的研究也在持續中,包括LLMs的內部機制、訓練策略、架構設計、分部署訓練等。隨隨著大模型引數的指數級增長和訓練計算能力的提升,即模型規模的擴大,大模型展現出了許多湧現能力(Emergent Abilities),例如上下文學習、按指令執行能力、逐步推理能力等,這些都是小語言模型(如BERT)所不具備的,同時也帶來了一些弊病,比如幻覺。如何快速瞭解並且深入研究大模型就成了一項重要的課題。
二、大模型的湧現能力
隨著模型規模的不斷擴充套件,下游任務的效能和樣本效率得到了顯著的提高。但是當模型的大小突破某個臨界規模的時候,開始出現一些意想不到的能力,展示出一些意外的、更為複雜的能力和特性,模型能夠自動地從原始訓練資料中學習並發現新的、更為高階的特徵和模式,這種能力通常被稱為“湧現能力”。擁有湧現能力的機器學習模型被認為是在獨立意義上更為強大的大型模型,這也是它們與小型模型最為顯著的區別。
  • 上下文學習能力(In-context learning)
指模型能夠透過給定的自然語言指令和任務示例,生成預期的輸出,而無需額外訓練或梯度更新。這種能力在GPT-3等大規模模型中表現明顯[1]。
  • 按指令執行能力(Instruction following)
透過對多工資料集進行指令微調,大模型能夠遵循新任務的指令,在未見任務上表現良好,展現出改進的泛化能力。當模型規模達到一定程度(如68B引數)時,這種能力會顯著提升[1]。
  • 逐步推理能力(Step-by-step reasoning)
藉助思維鏈(Chain-of-Thought)提示策略,大模型可以利用中間推理步驟來解決複雜的多步推理任務,如數學詞問題等。當模型規模超過60B時,這種能力會顯著增強[1]。
  • 知識推理和遷移能力
大模型能夠在看似不相關的任務之間進行知識遷移和推理,表現出通用的推理能力[2]。
當然也有研究指出,所謂的"湧現能力"可能只是由於研究者選擇的非線性、非連續的評估指標所導致,如果使用線性、連續的指標,湧現現象可能會消失。因此,對於大模型的湧現能力是否真實存在還有一定爭議。
三、對NLP的影響
回到NLP領域的深度學習時代,在最近10年有兩次重要的研究正規化的改變。
從深度學習到預訓練模型
這個時間段主要從深度學習引入NLP到GPT3.0出現之前。在Bert和GPT模型之前,NLP領域主要採用深度學習,核心技術包括改進的LSTM和CNN模型作為特徵提取器,以及Sequence to Sequence(encoder-decoder)+Attention作為主要技術框架。這些技術的主要研究目標是增加模型層深度和引數容量,但效果不盡理想,主要原因是資料量有限和特徵提取器表達能力不足。Bert和GPT的出現代表了NLP領域的技術飛躍,改變了研究正規化,導致部分子領域技術衰退,同時NLP技術方法和框架趨向統一。
這會帶來兩方面的影響:
1.中間任務的消亡
NLP涵蓋多個子領域,可分為中間任務和最終任務兩類。中間任務如分詞、詞性標註等並不直接滿足實際需求,而最終任務如文字分類、機器翻譯則直接服務於使用者。隨著Bert/GPT的出現,中間任務的必要性逐漸減弱,因為這些模型已經透過預訓練學得了語言學特徵,使得直接解決最終任務成為可能,無需專門建模中間過程。
2.技術路線的統一
NLP任務可以分為自然語言理解和自然語言生成兩類。自然語言理解包括文字分類等,而自然語言生成包括聊天機器人、機器翻譯等。自從Bert/GPT出現後,NLP技術呈現了統一趨勢,特徵抽取器從LSTM/CNN轉向Transformer,而各種NLP任務採用了兩階段模式:模型預訓練+Fine-tuning或Zero/Few Shot Prompt。這種趨勢也在其他領域中得到了延伸,Transformer模型正逐步替代其他模型,形成了兩種預訓練模型框架,即Bert模式和GPT模式。
從預訓練模型到通用人工智慧
大約從GPT3.0問世一直持續到現在,而ChatGPT是轉變中的關鍵節點。在InstructGPT出現之前,LLM處於轉變前的過渡期。
過渡期是從GPT 3.0出現一直持續到現在,其中以“自迴歸語言模型+Prompting”模式為主導。雖然Bert模式在早期技術框架中更看好,但隨著技術發展,LLM模型幾乎全面採用類似GPT 3.0的模式。這種轉變源於兩個原因:首先,生成模型更適合零示例提示和少數示例提示方式;其次,這種模式統一了自然語言理解和自然語言生成任務的外在表現形式。這種趨勢的下一個階段可能是更加自然的任務描述方式,同時LLM模型能夠完全理解並適應。這種技術的代表是ChatGPT,它以Instruct模式取代了Prompting,帶來了新的技術正規化轉換和影響。
1.讓LLM適配人的新型互動介面
ChatGPT在介面層面實現了LLM與人的適配,注入了人類偏好知識,提升了LLM的易用性和使用者體驗。其最大貢獻是基本實現了理想LLM的介面層,使LLM適配人類的習慣命令表達方式,增加了LLM的聽懂人話和禮貌性,提高了使用者體驗。這種人機介面技術更符合人類表達習慣,將激發後續LLM模型在易用性方面的進一步工作。
2.很多NLP子領域不再具備獨立研究價值
這次正規化轉換將很多NLP子領域納入LLM技術體系,導致它們逐步失去獨立研究的價值。隨著LLM模型規模增大,很多領域問題會被解決,未來技術發展趨勢是追求更大規模的LLM模型。判斷領域是否需獨立研究可考慮LLM效果是否超過人類表現或模式效果對比。這對NLP領域的研究者意味著要選擇繼續研究領域問題還是投入LLM模型建設,需要考慮有能力、有條件去做LLM建設的機構。
3.更多NLP之外的研究領域將被納入LLM技術體系
現在是追求領域無關通用人工智慧模型的時候了,即使LLM目前在NLP表現出色,也不應限制其任務範圍。ChatGPT展示了這一可行性,未來LLM將吸納更多領域併成為通用人工智慧的一部分。影像處理和多模態任務也會逐步融入LLM,儘管這可能進展較慢,因為影像領域仍需深入研究。除此之外,更多領域也會融入理想LLM,這是一個具有高價值的研究主題。主流技術進展可分為LLM吸收知識和人機介面兩大類,其中包括In Context Learning和Instruct模式等技術。
四、大模型機制
4.1 Explainability
大型語言模型(LLMs)在自然語言處理方面展現了強大能力,但缺乏透明度給應用帶來風險。理解和解釋這些模型對於闡明其行為、侷限性和社會影響至關重要。
提高LLMs的可解釋性至關重要,這有助於一般使用者理解模型預測背後的推理機制,建立信任,併為開發人員提供洞察力來識別偏差、風險和效能改進領域。可解釋性還可作為除錯工具,提高模型效能,並有助於跟蹤模型功能變化、比較不同模型,並開發可靠、道德和安全的模型。
LLMs的訓練分為傳統的微調和提示兩種正規化,它們用於適應下游任務的方式有本質區別。因此,針對這兩種正規化,提出了各種型別的解釋。
解釋大型模型的挑戰:
1.複雜性高:大型模型包含數十億引數,推理過程複雜,難以解釋具體輸出。
2.資料依賴性強:模型依賴大規模文字語料,其中的偏見和錯誤難以準確評估對模型的影響。
3.黑箱性質:即使是開源模型,也難以判斷其內部推理鏈和決策過程,只能透過輸入輸出進行分析。
4.輸出不確定性:同一輸入可能產生不同輸出,增加了解釋難度。
5.評估指標不足:目前的評估指標難以完整反映模型的可解釋性,需要更多考慮人類理解的指標。
大模型的訓練正規化:
1.傳統fine-tuning:預訓練基礎語言模型,再透過特定領域的標記資料集進行fine-tuning。
2.基於prompting:透過prompts實現zero-shot或few-shot learning,使用instruction tuning和RLHF進行微調。
基於傳統fine-tuning正規化的模型解釋:
  • 區域性解釋
區域性解釋是對單個樣本的預測進行解釋,採用的方法包括特徵歸因、基於注意力的解釋、基於樣本的解釋以及自然語言解釋。
特徵歸因旨在衡量每個輸入特徵(如單詞、短語、文字範圍)與模型預測的相關性。這種解釋方法可以分為四類:
基於擾動的解釋,透過修改特定輸入特徵來觀察對輸出結果的影響;
基於梯度的解釋,將輸出對輸入的偏微分作為輸入重要性的指標;
替代模型,使用易理解的簡單模型來擬合複雜模型的輸出,獲取各輸入的重要性;
基於分解的技術,將特徵相關性得分進行線性分解。
基於注意力的解釋關注輸入中最相關的部分,通常透過注意力視覺化技術或基於函式的方法來解釋注意力的相關性資訊。然而,將注意力作為研究角度仍然存在爭議。
基於樣本的解釋從個例的角度對模型進行探測和解釋,包括對抗樣本和反事實樣本。對抗樣本是為了檢測模型對微小變動的敏感性而生成的資料,而反事實樣本則是對模型因果推斷能力的測試。
自然語言解釋使用原始文字和人工標記的方式進行模型訓練,使得模型可以生成自然語言解釋模型的決策過程。
  • 全域性解釋
全域性解釋的目的是提供對大型模型運作方式的深入理解,透過考慮模型的結構元素,如神經元、隱藏層及更大的模組,著重於研究各個網路元件所獲得的語義資訊。著重於從模型構成的層面探究,如基於探針、神經元啟用、基於概念等方法,旨在提供更高階的解釋,瞭解模型學習的語義知識。
探針解釋依賴於在已經預訓練或微調的模型上培訓一個淺層的分類器,並對其在保留的資料集上進行測試,以賦予該分類器辨識語言特性或推理能力的能力。
神經元啟用分析領域,傳統方法僅關注少數關鍵神經元及其與語義屬性的聯絡。然而,使用GPT-4的最新技術能夠評估模型中所有神經元的功能,這是一種與僅分析選定神經元不同的方法。
與此同時,基於概念的解釋方法先將輸入對應到一系列概念上,然後透過計算這些概念對模型預測結果重要性的方法來進行模型解釋。
基於prompting正規化的模型解釋:
在基於提示的模型解釋框架中,對基本模型和輔助模型進行獨立解釋至關重要,以識別兩類模型的不同能力,並研究它們的學習過程。此方法主要探討的問題包括:為模型提供解釋如何有利於小樣本學習(few-shot learning);以及理解小樣本學習和推理鏈條能力的根源。
  • 基礎模型解釋:主要探究解釋對模型學習的好處,包括在few-shot learning情況下的影響、情境學習的作用機制以及思維鏈prompting提高模型表現的原因。
  • 助手模型解釋:關注助手模型的角色,通常透過預訓練獲取通用語義知識,然後透過監督學習和強化學習獲取領域內知識,需要探究其知識來源和不確定性。
未來研究挑戰:
1.缺乏有效解釋:缺乏設計有效解釋的標準,也缺乏有效解釋本身。
2.湧現現象的根源未知:對湧現能力的探究,包括模型結構和資料影響。
3.Fine-tuning與prompting的區別:在資料同分布和不同分佈情況下的推理差異。
4.模型的捷徑學習問題:兩種正規化下模型的捷徑學習問題存在,並需要解決。
5.注意力冗餘:注意力模組的冗餘問題廣泛存在,需要研究以提供壓縮技術。
6.安全性和道德性:建立可解釋的AI模型可以有效地避免偏差、不公平等問題。
4.2 ICL(In-context Learning)原理
概述
隨著模型和語料的擴大,大型語言模型展示了從少量上下文示例中學習的能力,這被稱為上下文增強學習(ICL)。利用ICL,大型語言模型可以執行各種複雜任務,例如解決數學推理問題。ICL的基本理念是從類比中汲取經驗。ICL與監督學習有一個顯著的區別,就是它不需要進行引數更新,而是直接在預訓練的語言模型上進行預測。
ICL作為一種新的正規化,具有很多天然的優勢:
由於演示是用自然語言編寫的,因此提供了一個可解釋的介面來與LLM通訊。這種方法透過改變演示和模板,使得人類知識更容易融入LLM的上下文學習中。
這種正規化類似於人類透過類比學習的決策過程。
與監督訓練相比,ICL是一個無需進行訓練的學習框架。這不僅可以大幅降低模型適應新任務的計算成本,還能將語言模型作為服務提供,並且可以輕鬆應用於大規模的真實世界任務。
ICL的卓越效能依賴於兩個關鍵階段:培訓LLM的ICL能力階段,及LLM根據特定任務演示進行推理預測的階段。
定義
上下文學習是一種新的正規化,允許語言模型以演示的形式學習僅給出幾個示例的任務。本質上,它透過使用訓練有素的語言模型來估計以演示為條件的潛在答案的可能性。
根據定義,我們可以看到ICL與其他相關概念的不同之處:
1.提示學習(prompt learning):提示可以是鼓勵模型預測所需輸出的離散模板或軟引數。ICL可以被視為提示調優的一種子類,其中演示是提示的一部分;
2.少樣本學習(Few-shot learning):這是一種通用的機器學習方法,利用引數適應來學習具有有限數量監督示例的任務的最佳模型引數。相反,ICL不需要引數更新,而是直接在預訓練的LLM上執行。
預熱
在預訓練和ICL推理之間有一個連續訓練的階段,被稱為Warmup階段,可以增強ICL推理的能力。
這個過程是可選的,包括調整模型引數或增加引數,與傳統的finetune過程不同,fine-tune旨在提升LLM在特定任務上的效能,而Warmup則旨在使模型具備更好的通用ICL能力。
Supervised In-context Training
儘管預訓練後的語言模型已經初步具備ICL能力,但其預訓練目標並非為了ICL而最佳化,因此與下游ICL目標之間仍然存在差距。最直接的解決方法是在有監督的ICL資料上進行訓練,以消除這種差距。
Supervised In-context Training
有人在預熱階段使用了原始語料庫,並在下游任務中構建與ICL格式一致的自監督訓練資料,將原始文字轉換為輸入輸出對,並嘗試了四個自我監督目標,包括遮蔽標記預測和分類任務。
也有人利用原始語料庫,但採用了更簡單的語言建模目標,旨在促進基於上下文的任務推理和執行,並且同時保留了預訓練模型的任務泛化能力。PICL相較於前一方法展示出了更有效和任務泛化性更好的方法。
建議在進行ICL推理之前,對LLMs進行監督訓練和自監督訓練。關鍵思想是透過引入接近情境學習的目標來彌合預訓練和下游ICL格式之間的差距。相比於涉及上下文微調的演示微調,指令微調更簡單且更受歡迎,因為它無需幾個示例即可完成。這些方法透過更新模型引數在一定程度上提高了ICL能力,顯示了原始LLMs在ICL方面還有很大的潛力。因此,雖然ICL並不強制要求模型預熱,但建議在ICL推理之前進行預熱階段。隨著訓練資料規模的不斷擴大,預熱帶來的效能提升會遇到平臺期。這一現象在有監督的上下文訓練和自監督的上下文訓練中都有體現,表明LLMs只需要少量的資料就能在預熱期間適應上下文學習。
影響ICL的因素
預訓練階段
學界有幾種不同意見
  • 預訓練語料庫的來源比大小更為重要,多個語料庫的整合可能帶來新的ICL能力,但與下游任務相關的語料庫並不總能提高ICL效能。
  • ICL能力受到預訓練模型引數量和訓練步數的影響。
推理階段
  • 一些研究指出,在推理階段,示例的屬性也會影響ICL的效能。
  • 有研究認為正確的標籤對ICL效能有影響,這卻決於具體實現配置。
  • ICL工作機制
  • Training Data Distribution:與訓練資料的分佈有關。有研究表明,當訓練資料呈現特定的分佈屬性時,上下文學習會發生。此外,也有研究認為ICL可能是隱式的Bayesian inference。
  • Learning Mechanism:與學習機制有關。例如,有研究表明Transformer可以透過隱式經驗風險最小化來實現合適的函式類。有人將大型模型解釋為元最佳化器,然後將ICL立即解釋為隱式微調,實驗顯示,上下文學習的行為類似於從多個角度進行的顯式微調。
  • Functional Components:與特定功能元件有關。在Transformer中,一些注意力頭會複製先前的模式以預測下一個token,他們認為這些感應頭可能是大型模型中ICL機制的來源。
4.3 知識定位/修改
LLMs如何儲存知識
首先要確定大模型的知識儲存在哪裡,大模型的知識主要儲存在模型引數中。嘗試定位模型中與相關知識有關的引數區域,並直接修改這些引數的權重。理論上可行,但目前相關研究較少,實際操作上存在較大困難。將大型模型比作人類大腦,這種方法類似於在大腦中找到特定事件的記憶區域和神經元,然後透過對神經元進行無創傷外科手術來插入或更新新的記憶。
大型語言模型之所以具有強大的能力,是因為它具有對知識的記憶能力,Transformer模型並沒有外部顯式的資料庫,因此它的記憶必須隱式地嵌入在其引數中。從Transformer的結構來看,模型引數分為兩部分:多頭注意力(MHA)部分大約佔據總引數的三分之一,而剩下的三分之二的引數則集中在FFN(Feed-Forward Network)結構中。MHA主要負責計算單詞或知識之間的相關強度,並將全域性資訊進行整合,更可能用於建立知識之間的聯絡,而不是儲存具體的知識點。因此,可以推斷LLM模型的知識主體儲存在Transformer的FFN結構中。
比如,對於“愛丁堡的最高的山是亞瑟王座”這條知識,以三元組形式表達為<亞瑟王座,是愛丁堡的最高山,愛丁堡>,那麼這種知識儲存在LLM的哪個部分呢?
“Transformer Feed-Forward Layers Are Key-Value Memories”提供了一個相當新穎的觀點,將Transformer的FFN視為儲存大量具體知識的鍵-值儲存器。FFN的第一層是一個MLP寬隱層,作為鍵層;第二層是一個MLP窄隱層,作為值層。FFN的輸入層實際上是某個單詞對應的MHA輸出的嵌入結果,即透過自注意力機制將整個句子的相關輸入上下文整合到一起的嵌入表示,代表了整個輸入句子的整體資訊。
每個Key層神經元節點記錄了一對<Key, Value>資訊。例如,對於圖中FFN的第一個隱層的第i個節點,也許它記錄了<亞瑟王座,是愛丁堡的最高峰,愛丁堡>這條知識。節點的Key向量實際上是指節點i與輸入層的每個節點的權重向量的乘積,而對應的Value向量則是節點i與FFN第二層的Value層每個節點形成連線的權重向量。每個神經元的Key向量用於識別輸入中的某種語言或知識模式,可看作是一種模式探測器。如果輸入中包含它要檢測的某種模式,那麼輸入向量與節點i的Key權重進行向量內積計算,再加上ReLU啟用函式,形成大數值的響應,意味著已經檢測到了這個模式。然後將這個響應值透過節點i的Value權重向量傳播到FFN的第二層。這相當於用響應值加權Value向量的值,並將其傳遞到第二層的Value層每個節點的輸出上。這樣一來,FFN的正向傳播過程看起來就像是透過Key檢測到某種知識模式,然後將相應的Value提取出來,並在FFN的第二層輸出中體現出來。當然,FFN的第二層每個節點會收集來自所有Key層節點的資訊,因此形成一種混合響應,而Value層所有節點的混合響應可解讀為輸出單詞的機率分佈資訊。
這篇文章還強調了一個觀點,即Transformer的低層對句子的表層模式做出反應,而高層則對語義模式做出反應。換句話說,低層的FFN儲存著詞法、句法等表層知識,而中層和高層則儲存著語義和事實概念知識。這與其他研究的結論一致。
如何修改知識
既然能儲存知識,正常來講就可以修改,而且對於過期或者錯誤的資料,也有修改的訴求。
1.從訓練資料的源頭修正知識。“Towards Tracing Factual Knowledge in Language Models Back to the Training Data”這篇文章旨在探究對於特定知識,我們是否能夠確定其源自哪些訓練資料導致LLM學到了這些知識。結果顯示肯定是可以的,這意味著我們可以逆向追蹤某項知識對應的訓練資料來源。若要利用這項技術,例如要刪除某條知識,則可以先定位到其相關的資料來源,刪除該資料來源,然後重新預訓練整個LLM模型,以達到刪除LLM中相關知識的目的。然而,這種方法存在一個問題,即若需修正少量知識,則需要重新進行模型預訓練,顯然成本較高。因此,這種方法可能更適用於針對特定類別資料的一次性大規模刪除場景,而不太適合於少量多次的常規知識修正情況,例如去除偏見或毒性內容的處理。
2.透過對LLM模型進行微調來修正知識。一個直觀的方法是:我們可以根據要修正的新知識構建訓練資料集,然後讓LLM模型在這個資料集上進行微調,以引導LLM記住新的知識並遺忘舊的知識。這種方法看似簡單直接,但也存在一些問題。首先,它可能引發災難性遺忘問題,即除了遺忘應該遺忘的知識外,還會遺忘不應該遺忘的知識,導致一些下游任務的效果下降。另外,由於當前LLM模型的規模非常龐大,即使進行微調,如果頻繁操作,成本也相當高。
3.直接修改LLM中某些知識對應的模型引數來修正知識。假設我們想要將舊知識<威廉,現任女友,哈利>修正為<威廉,現任女友,瑪麗>。首先,我們需要在LLM模型引數中找到儲存舊知識的FFN節點,然後可以透過強制調整FFN中相應的模型引數,將舊知識替換為新知識。這種方法涉及兩項關鍵技術:首先是如何在LLM引數空間中確定某條知識的具體儲存位置;其次是如何修改模型引數以實現從舊知識到新知識的轉變。
4.4 CoT(Chain of Thought)
概述
在人工智慧領域,思維鏈(Chain of Thought,CoT)是一個非常新穎的概念。強大的邏輯推理是大型語言模型“智慧湧現”出的核心能力之一,就像AI具備了人類的意識一樣。思維鏈是推理能力的關鍵。
在解決複雜問題,特別是涉及複雜數學題時,大型模型很難直接給出正確答案。CoT採用一種簡單而有效的方法來增強大型模型的算術、常識和推理能力,即要求模型在輸出最終答案之前,明確呈現中間的逐步推理步驟。
CoT顯著提升了LLM在複雜推理任務上的效能,並透過輸出中間步驟來增強模型的可解釋性,使使用者能夠了解模型的思考過程,Chain of Thought提示可以顯著提高大模型在算術推理、常識推理等任務上的效能。目前,思維鏈推理已經成為處理複雜任務的大型模型的常用方法。
概念
CoT概念由Google首次提出,透過逐步將複雜問題分解為一系列子問題,並逐一解決,可以顯著提高大型語言模型的效能。這一過程中產生的一系列推理步驟被稱為思維鏈(Chain of Thought)。
我們可以對CoT推理和傳統推理做一個比對,這篇paper中《Igniting Language Intelligence: The Hitchhiker’s Guide From Chain-of-Thought Reasoning to Language Agents》有給出圖解
思維鏈是解決問題或得出答案所涉及的一系列中間推理步驟。這些推理步驟的形式通常是 `<input> → 推理鏈(原理) → 輸出` 對映。與傳統的直接推理相比,這種方法通常更為有效。傳統的直接推理試圖一次性解決整個問題,例如,標準分類、多項選擇和問答問題通常採用 `<input> → 輸出` 對映形式的直接推理。從圖中可以看出,相較於直接Prompt,CoT在推理任務上帶來了明顯的改進。
思維鏈的提示通常由三部分組成:指令(Instruction)、基本原理(Rationale)和示例(Examples)。指令用於描述問題並確定大型模型的輸出格式,基本原理則包括思維鏈的中間推理過程,其中可能包含問題的解決方案、中間推理步驟以及與問題相關的任何外部知識。示例是指以少量樣本的形式為大型模型提供輸入輸出對的基本格式,每個示例都包括問題、推理過程和答案。
根據是否提供示例,可以將思維鏈分為Zero-Shot-CoT和Few-Shot-CoT。在零樣本思維鏈中,沒有提供示例,只在指令中新增一行經典的“Let's think step by step”,就可以喚醒大型模型的推理能力。而在少樣本思維鏈中,則透過示例詳細描述瞭解題步驟,讓模型可以仿效並得到推理能力。
能力
增強了LLMs的推理能力:CoT透過將複雜問題分解為多個子問題的步驟,顯著提升了大模型的推理能力。這一方法最大程度地降低了大模型忽略問題關鍵細節的傾向,確保計算資源被有效地用於解決問題的核心步驟。
增強了LLMs的可解釋性:與僅輸出單一答案相比,CoT透過展示解題過程使得大模型的工作方式更加透明。這種輸出步驟的方式不僅使我們更好地瞭解大模型在解決問題時的工作方式,還為我們找出錯誤步驟提供了便利。
增強了LLMs的可控性:透過逐步輸出解題步驟,能夠影響大模型在問題求解過程中的表現,從而避免大模型成為完全不可控的“黑盒”,同時使得易於除錯。
增強了LLMs的易用性和靈活性:僅需新增一句“Let's think step by step”,即可在各種不同的大模型中應用CoT方法。此外,CoT賦予了大模型逐步思考的能力不僅限於語言智慧領域,在科學應用和AI Agent構建中也有廣泛應用。
侷限
CoT(Chain of Thought)思維鏈雖然在提高大模型複雜推理能力方面表現出色,但也存在一些侷限性:
1. 推理過程可能不完全正確或合理。CoT生成的中間推理步驟並不能保證100%正確,可能存在邏輯錯誤或缺失關鍵步驟的情況。
2. 缺乏通用性。CoT主要用於解決算術推理、常識推理等特定型別的問題,對於其他型別的任務(如開放性問答等),其效果可能不佳。
3. 缺乏可解釋性分析。雖然CoT提高了模型的可解釋性,但目前還缺乏對生成的推理路徑進行深入分析和評估的方法。
4. 依賴高質量的提示設計。CoT的效果很大程度上依賴於提示的設計質量,如何設計高質量的CoT提示仍是一個挑戰。
5. 計算開銷較大。與標準提示相比,CoT需要模型生成更多的文字(中間推理步驟),因此計算開銷更大。
6. 缺乏理論支援。目前還缺乏對CoT為什麼有效的深入理論解釋和分析。
五、預訓練
5.1 資料收集和預處理:
– 收集大量的文字資料,包括書籍、論文、網頁等各種領域的語料。資料來源非常廣,是一個巨大的異構資料來源。
– 對資料進行清洗、格式化等預處理,以適合模型訓練。
資料清洗步驟主要包含Quality Filtering,De-duplication,Privacy Reduction,Tokenization。
這個過程比較簡單,在此不贅述。
5.2. 模型架構設計:
– 選擇合適的模型架構,如Transformer編碼器-解碼器、純編碼器或純解碼器模型。
首先回顧一下LLMs的主流架構,主要分為三類:Encoder-decoder,Causal Decoder,Prefix Decoder。其中後兩種都是Decoder-only的結構。
Encoder-only(僅編碼器)模型:這類模型只包含編碼器部分,適用於分類、迴歸等任務,只需理解輸入而不需要生成新的序列。代表模型有BERT。
Decoder-only(僅解碼器)模型:這類模型只包含解碼器部分,適用於文字生成等任務,使用因果語言建模進行預訓練,可以生成新的連貫文字序列。代表模型有GPT。
Sequence-to-sequence(序列到序列)模型:這類模型同時包含編碼器和解碼器部分,適用於序列到序列的任務,如機器翻譯。編碼器負責將輸入文字轉換為連續表示,解碼器負責根據編碼器的輸出生成輸出序列。代表模型有T5。
總的來說,這三種Transformer架構各有優勢,適用於不同的自然語言處理任務。純編碼器模型擅長理解和分類,純解碼器模型擅長生成,而編碼器-解碼器結合模型則可以處理序列到序列的轉換任務。
完成架構設計後,還確定模型的引數規模,通常為數十億到數萬億引數,這個也要根據具體的業務來確定,在此不表。
混合專家模型MoE
Mixture-of-Experts(MoE)是一種神經網路結構,它利用路由機制將輸入資料動態分配給一組專家網路。這種設計使得模型能夠根據輸入資料的特徵動態選擇不同的專家進行處理,從而提升了模型的表達能力和效率。
MoE的核心理念是“眾人拾柴火焰高”,即透過利用多個專家網路,每個專家網路專注於處理資料的不同方面,以實現更優秀的效能。其旨在構建一個動態系統,能夠根據輸入資料充分利用各專家的優勢,以比單一模型更加靈活、準確地進行預測。
從技術角度來看,MoE是一種整合學習方法,它將一個大型任務分解為更小的子任務,並將每個子任務交由不同的專家處理。接著,系統會有一個智慧的決策者,根據情況選擇採納哪個專家的建議,並將所有建議進行混合。
這個方法包括四個主要步驟:
1.將大問題分解為小塊;
2.為每個小塊培訓一位高效聰明的專家;
3.引入一個決策者,即眾所周知的門控模型,來決定由哪位專家主導;
4.彙總專家的建議和決策者的選擇,得出最終的預測。
MoE的優勢在於透過減少計算工作,使得模型的預訓練速度更快。相比於為更多步驟訓練更小的模型,為更少步驟訓練更大的模型能夠產生更好的結果。在推理階段,與其他大型模型相比,引數數量相同的MoE模型表現出更快的推理速度。雖然它擁有許多引數,但只使用了一個子集,從而導致更快的預測速度。
在MoE系統中,傳統Transformer模型中的每個前饋網路(FFN)層被替換為MoE層,該MoE層由兩個主要組成部分構成:一個門控網路和若干數量的專家。
5.3. 預訓練任務設計
預訓練在將大規模語料庫中的一般知識編碼為海量模型引數方面發揮著關鍵作用。對於訓練LLMs,常用的預訓練任務有兩種,即語言建模(Language Modelling)和去噪自編碼(Denoising Autoencoding)。
Language Modelling。語言建模任務(LM)是預訓練解碼器的最常用目標LLMs,例如 GPT3 和 PaLM。由於大多數語言任務都可以轉化為基於輸入的預測問題,因此這些僅解碼器的 LLMs 可能有利於隱式學習如何以統一的 LM 方式完成這些任務。一些研究還表明,僅解碼器 LLMs 可以透過自迴歸預測下一個標記自然地轉移到某些任務,而無需微調。LM 的一個重要變體是prefix language modeling任務,它是為具有字首解碼器架構的預訓練模型而設計的。隨機選擇的字首內的標記不會用於計算字首語言建模的損失。在預訓練期間看到的標記數量相同的情況下,字首語言建模的表現比語言建模稍差,因為模型預訓練涉及的序列中的標記較少,給定一個標記序列,LM 任務旨在根據序列中前面的標記X自迴歸預測目標標記。
Denoising Autoencoding。除了傳統的LM之外,去噪自動編碼任務(DAE)也被廣泛用於預訓練語言模型,DAE任務在實現上似乎比LM任務更復雜。因此,它還沒有被廣泛用於預訓練大型語言模型。現有以DAE為預訓練目標的LLMs包括T5和GLM-130B。這些模型主要經過訓練以自迴歸方式恢復替換的跨度。
Mixture-of-Denoisers。也稱為 UL2 loss,被引入作為預訓練語言模型的統一目標。MoD 將 LM 和 DAE 目標視為不同型別的降噪任務,即 S 降噪器(LM)、R 降噪器(DAE,短跨度和低腐敗)和 X 降噪器(DAE,長跨度或高腐敗)。三個降噪任務中,S-降噪器與傳統的LM目標類似,而R-降噪器和X-降噪器與DAE目標類似,但長度不同損壞文字的跨度和比率。對於以不同特殊標記(即{[R],[S],[X]})開頭的輸入句子,將使用相應的降噪器來最佳化模型。MoD已應用於最新的PaLM 2模型。
5.4. 模型最佳化與微調
在訓練大型模型,尤其是深度學習模型時,通常需要採用一系列最佳化技術,以改善模型的泛化能力、減少過擬合、提高訓練效率,並確保模型在真實世界資料上的表現。以下是一些常用的大模型最佳化技術:
1.正則化:
  • 權重正則化(L1/L2正則化):透過在損失函式中新增一個與權重相關的項(L1範數或L2範數)來懲罰大的權重,減少模型複雜度。
  • Dropout:在訓練過程中隨機“丟棄”(即置為零)神經網路中的一些神經元,以防止模型對特定的訓練樣本過於依賴。
  • 批歸一化(Batch Normalization):透過歸一化每個小批次的輸入,以加快訓練過程並改善模型的效能與穩定性。
2.資料增強:
  • 透過隨機轉換和修改原始訓練資料來建立額外的訓練樣本,可以增加模型見過的資料多樣性。例如在影像領域,可以使用旋轉、縮放、翻轉、剪下和顏色變換等技術;在文字領域,可以使用回譯、同義詞替換等技術。
3.學習率調整:
  • 學習率衰減:隨著訓練的進行,逐步減小學習率以減少模型在訓練後期的引數更新幅度。
  • 適應性學習率最佳化器:例如Adam、RMSprop等,自動調整每個引數的學習率。
4.早停(Early Stopping):
  • 在訓練過程中,透過監控驗證集的效能來決定何時停止訓練。當驗證集的效能不再提升時,停止訓練以防止過擬合。
5.梯度剪裁(Gradient Clipping):
  • 在反向傳播過程中限制梯度的大小,防止梯度爆炸問題。
6.權重初始化:
  • 使用例如Xavier初始化、He初始化等策略,合理設定權重的初始值,以確保模型在訓練開始時更穩定。
7.整合方法:
  • 將多個模型的預測結果整合起來,如bagging、boosting或stacking等,通常能夠提升模型的準確性和魯棒性。
8.遷移學習:
  • 利用在大規模資料集上預訓練的模型,在其基礎上微調應用於特定任務,可以顯著減少所需的訓練資料量和提高效能。
這些技術可以獨立使用,也可以組合使用,具體情況取決於模型的複雜度、可用的資料量和計算資源以及所面臨的任務。透過有效地應用這些最佳化技術,可以讓大型模型表現出色,同時避免在訓練過程中遇到的常見問題。
總的來說,大模型的預訓練是一個複雜的過程,需要大量資料、合理的模型設計和最佳化技術,最終目標是訓練出一個通用性強、效能優秀的大模型。
六、高效訓練
隨著BERT、GPT等預訓練模型的成功應用,預訓練-微調方法已經在自然語言處理、計算機視覺、多模態語言模型等領域得到廣泛應用,並取得了卓越成果。為了提升模型的泛化能力,預訓練模型的引數規模近年來快速增長,甚至已經達到了萬億級別。然而,如此龐大的引數量也帶來了訓練的困難,因此許多研究者和機構提出了許多大型模型高效訓練的技術。這裡主要講解並行訓練技術。
Data Parallel
其核心思想是按照 batch 維度將輸入資料劃分,並將資料分配給不同的 GPU 進行處理。在資料並行中,每個 GPU 儲存的模型和最佳化器狀態完全相同。當每個 GPU 上的前向和後向傳播完成後,需要將每個 GPU 計算得到的模型梯度進行彙總,並求取平均值,以獲得整個 batch 的模型梯度。
Tensor Parallel
張量並行是一種有效的並行訓練方式,主要目的是將模型引數張量切分到多個GPU上進行計算,以減少單個GPU的記憶體佔用。張量並行將模型中的引數張量(如權重矩陣)按照某個維度進行切分,每個GPU只儲存部分引數。在前向傳播和反向傳播時,各GPU分別計算自己的部分,然後透過通訊將結果合併。這樣可以大幅減少單個GPU的記憶體佔用,支援訓練更大規模的模型。
例如,當將輸入張量與第一個權重張量相乘時,矩陣乘法相當於按列分割權重張量,將每一列分別與輸入相乘,然後連線單獨的輸出。然後,這些輸出從 GPU 傳輸並連線在一起以獲得最終結果。
Megatron-LM提出了一種高效的1D張量並行方案,主要針對Transformer模型的多頭注意力(MHA)和MLP層進行切分。對於MLP層,先對第一個線性層A進行列切分,第二個線性層B進行行切分。對於MHA層,則將Q、K、V矩陣進行列切分,Colossal-AI也實現了張量並行,支援更靈活的2D切分。使用者可以指定切分的維度和大小,系統會自動完成引數的切分和通訊。
張量並行通常與資料並行和流水線並行結合使用,形成3D並行。HAI-LLM工具支援資料並行、流水線並行、張量並行的靈活組合,並進一步引入序列並行最佳化Transformer層,大幅提升了訓練效率。總之,張量並行是訓練大語言模型的重要技術之一,透過將模型引數切分到多個GPU上平行計算,可以支援訓練更大規模的模型。與其他並行方式結合使用,可以進一步提升訓練效率。
Pipeline Parallel
Pipeline parallelism是訓練大語言模型的一種重要並行方式。它將模型的訓練過程拆分成多個階段,每個階段在不同的GPU上執行。這樣可以提高訓練吞吐量,但可能會增加延遲。
不過Pipeline parallelism通常與張量並行(tensor parallelism)和資料並行(data parallelism)結合使用,形成3D並行。首先使用pipeline parallelism將模型拆分成多個階段,然後對每個pipeline階段使用tensor parallelism進一步切分引數張量,最後再使用data parallelism對資料進行切分。這種3D並行可以大幅減少單個GPU的記憶體佔用,支援訓練更大規模的模型。同時也提高了訓練效率,可以增加數個數量級。
例如在Habana Gaudi2加速器上,使用Habana的DeepSpeed分支、Megatron LM和SynapseAI軟體,就可以訓練13B引數的LLaMA和BLOOM模型。
pipeline parallelism是訓練大語言模型的關鍵技術之一。與其他並行方式結合使用,可以大幅提升訓練效能。未來隨著硬體的發展,以及演算法架構的不斷最佳化,LLM的訓練效率還會進一步提高。
七、Adaption of LLMs
Instruction Tuning
經過預訓練,LLMs可以獲得解決各種任務的通用能力,但是LLM的能力可以根據特定目標進一步調整。
與預訓練相比,指令微調策略在資源效率上表現更優,原因在於它僅需利用少量的樣例來進行訓練。在執行指令微調時,關鍵在於確保資料分佈的均衡,這通常透過等量的樣本採集方法實現,並透過增加高質量樣本集的取樣頻率來增強模型效能。此外,指令微調策略可以與預訓練策略相融合,透過同時利用無格式化的純文字資料和有格式的資料進行多工學習,結合了預訓練和指令微調的優勢。
指令微調與有監督的微調和多工提示訓練緊密相連。執行指令式微調的步驟首先包括收集或建立以指令形式呈現的樣例。接下來,利用這些格式化的樣例對大型語言模型進行有監督的微調(例如,採用序列到序列的訓練損失)。經過指令式微調的語言模型能夠在未見過的任務上展現出傑出的泛化能力,即便是在涉及多語言的情形中也能表現良好。
一個以指令形式格式化的樣本會包含任務說明(即指令)、一組輸入輸出資料,以及少量示例。
通常,資料集的生成採用以下兩種策略:
1.將現有的NLP資料集重新格式化,使之適合用於指令式微調。可以利用ChatGPT來建立指令,比如(Prompt):“為這段文字取一個合適的標題”。
2.OpenAI建議使用人工標註資料集以獲得更好的人類對齊效果。為了降低人工標註的成本,目前許多資料集是由ChatGPT生成的,包括使用者共享的ChatGPT對話歷史(如ShareGPT)或使用ChatGPT生成的資料集。
資料集可分為通用任務和專用領域兩類。通用任務的資料集目前有許多開源資料集可供使用,而專用資料集則是針對特定領域構建的。此外,引入多樣化的資料集,如CoT思維鏈,也可以有效提升模型效能。
指令微調的效果:
效能提升:經過指令微調的較小模型甚至可能比未經微調的較大模型表現更好。指令微調在不同的模型架構、預訓練目標和適應方法上都顯示出持續的改進效果。在實踐中,指令微調為提升現有語言模型(包括小型預訓練語言模型)的能力提供了一種通用方法。此外,與預訓練相比,指令微調的成本較低,因為大語言模型所需的指令資料數量明顯較少。
任務泛化性:指令微調激勵模型理解自然語言指令以完成任務。這賦予了大型語言模型執行特定任務的能力,即使在未見過的任務上也能表現出色(也就是前面講的湧現能力)。大量研究已經證實了指令微調在已見和未見任務上取得卓越的效能表現。此外,指令微調還被證明有助於緩解大型語言模型的一些弱點,例如生成重複內容或在不完整任務情況下進行輸入補充,從而使得大型語言模型在解決現實世界任務時表現更為強大。此外,透過指令微調訓練的大型語言模型還可以在不同語言之間泛化到相關任務。
Alignment Tuning
大型語言模型在自然語言處理任務上展現了驚人的能力。然而,這些模型可能表現出意外行為,例如製造虛假資訊、追求不準確的目標,以及產生有害、誤導性和偏見性的表達。對於LLM來說,其語言建模目標主要透過單詞預測來進行引數預訓練,但缺乏對人類價值觀或偏好的考慮。為了避免這些意外行為,提出了人類對齊的概念,以確保大型語言模型的行為符合人類的期望。然而,與最初的預訓練和微調(例如指令微調)不同,語言模型的對齊需要考慮不同的標準,如有用性、誠實性和無害性。已有研究表明,對齊微調可能會在一定程度上削弱大型語言模型的通用能力。
在對齊方面,主要考慮以下因素:
有用性方面,大型語言模型需要以簡明扼要且高效的方式幫助使用者解決任務或回答問題。在更高層次上,當需要進一步澄清時,模型應展示出透過相關提問獲取額外相關資訊的能力,並表現出合適的敏感度、洞察力和審慎程度。
誠實性方面,模型應該向使用者提供準確的內容,而不會捏造資訊。此外,在輸出時傳達適當程度的不確定性至關重要,以避免任何形式的欺騙或資訊誤傳。這需要模型瞭解自身的能力和知識水平,即所謂的“知道自己不知道”。
無害性方面,模型生成的語言不得具有冒犯性或歧視性,同時不能生成違反法律法規以及道德規範的有害資訊。
RLHF
Reinforcement Learning from Human Feedback
RLHF是一種將強化學習與人類反饋相結合的先進訓練人工智慧系統的方法,結合了強化學習和監督學習的元素,使人工智慧系統能夠以更加人性化的方式學習和做出決策。RLHF引入了人類反饋作為寶貴的指導來源,幫助人工智慧系統導航複雜的決策空間,與人類價值觀保持一致。RLHF是一種有效的方法,能夠顯著提高人工智慧模型的效能和可靠性,在自然語言處理、對話系統等領域有廣泛應用前景。
RLHF的主要優點:
  • 自動調整超引數,減輕人工調參負擔。
  • 在有限樣本下快速收斂到最優解。
  • 具有很強的可擴充套件性,適應從小規模到大規模的模型訓練需求。
  • 能夠更好地捕捉人類偏好,使模型輸出更符合人類價值觀。
  • 提高模型的安全性和可靠性,有助於實現負責任的人工智慧發展。
對齊步驟:
監督微調,它旨在讓語言模型具備執行特定任務所需的初步行為能力。通常需要收集包含輸入提示和所需輸出的監督資料集,對語言模型進行微調。這些提示和輸出可以由專門的人工標註者為特定任務編寫,以確保任務的多樣性。例如,InstructGPT 要求標註者編寫提示和相應的生成式任務(如開放域問答、頭腦風暴、聊天和重寫)的期望輸出。
訓練獎勵模型是第二步,它涉及使用人類反饋資料來訓練RM(Reward Model)。具體而言,使用LM生成一定數量的輸出文字,這些文字來自採樣提示(可以是來自監督資料集或人工生成的提示)。然後,邀請人工標註員為這些生成的文字進行標註偏好。標註的形式有多種,常見的方法是對生成的候選文字進行排序,以減少標註者之間的不一致性。接下來,需要訓練RM來預測人類偏好的輸出。在InstructGPT中,標註員將模型生成的輸出按照好壞順序排列,然後訓練RM(即GPT-3的6B引數量)來預測排名。在實際操作中,目前可以使用GPT-4來代替人類進行排序標註,從而降低人工標註的成本。
RL微調階段,對齊LM的過程被規範為RL問題。在這個設定中,預訓練的LM充當策略,接受提示作為輸入並生成輸出文字,其動作空間是LM的詞表,狀態是當前生成的token序列,獎勵由RM生成。為了避免顯著偏離初始LM,通常會在獎勵函式中引入懲罰項。例如,InstructGPT使用PPO演算法最佳化LM以滿足RM的要求。對於每個輸入提示,InstructGPT計算當前LM生成的結果與初始LM生成的結果之間的KL散度,並將其作為懲罰項。需要注意的是,第二步和最後一步可以進行多次迭代以更好地對齊LLM。
Parameter-Efficient Fine-Tuning
儘管指令微調相對於預訓練更為高效(因為只需處理微調資料集),但全引數的指令微調仍然需要耗費大量計算資源。目前存在多種高效引數微調方案,可以在保持效能的同時大幅減少微調成本。
其中一種稱為引數高效微調,它只微調少量或額外的模型引數,並將大部分預訓練引數固定,從而大幅降低了訓練成本。研究表明,與全引數微調相比,高效引數微調在未經微調的大型語言模型上效能略有下降,但在已經微調的模型上效能接近。
Parameter-Efficient Fine-Tuning主要有三種方法,針對模型的不同部分進行下游任務的適配
Prefix/Prompt-Tuning:這種方法在模型的輸入或隱層添加了 k 個額外的可訓練字首 tokens(這些字首是連續的偽 tokens,不對應真實的 tokens),並只訓練這些字首引數;
Adapter-Tuning:這種方法將較小的神經網路層或模組插入到預訓練模型的每一層,這些新插入的神經模組被稱為 adapter(介面卡),下游任務微調時也只訓練這些介面卡引數;
Low-Rank Adaptation(LoRA):這種方法透過學習小引數的低秩矩陣來近似模型權重矩陣 W 的引數更新,訓練時只最佳化低秩矩陣引數。
目前,LoRA 是針對大語言模型效果最好的方法。它的基本原理是在原始預訓練權重旁邊增加一個旁路,降維再升維的操作。在訓練過程中,預訓練權重被固定,只有降維矩陣 A 和升維矩陣 B 被訓練。儘管 A/B 的維度通常在 MB 級別,而大語言模型的權重通常在 GB 級別,但模型的輸入輸出維度保持不變,輸出時將 B/A 與預訓練權重的引數疊加。
八、研究方向
大模型適配
在大規模模型時代,CV/NLP等各種任務普遍採用預訓練加微調的方法。然而,隨著模型引數規模的增加,對下游任務資料集進行全量微調的成本也在上升。此外,針對每個下游任務,需要單獨訓練、儲存和部署一個同樣龐大的模型,這導致大模型難以有效地適應各種垂直場景,限制了它們在實際應用中的落地。雖然目前已經提出各種輕量化的模型微調方法,以解決這一問題,比如 Parameter-Efficient Fine-Tuning (PEFT)。但是針對不同的下游任務,想要做到低成本和高效適配,還有很長的研究之路。
網路架構
Transformer架構與2017年被提出,目前已成為大型模型的主流選擇。But,隨著模型規模的擴大,效能增長呈現遞減趨勢。So,Transformer是否是最終的解決方案?是否存在比Transformer更優秀、更高效的網路架構呢?這是一個值得深入探討的問題。
目前在這方面,業界有很多的嘗試和研究,比如從數學方面入手,提出非歐空間網路架構。這裡介紹一種剛提出不久的神經網路架構:KANs
KANs與傳統的MLP架構有著明顯的差異,並且它能夠使用更少的引數在數學和物理問題上達到更高的精確度。例如,僅用200個引數的KANs就能夠復現DeepMind使用30萬引數MLPs進行的數學定理發現研究。KANs不僅準確性提高,還能揭示新的公式。無論是在函式逼近、求解偏微分方程,還是處理凝聚態物理任務方面,KANs的表現都優於MLP。在解決大型模型問題時,KANs自然避免了災難性遺忘的問題,並且能夠輕鬆地結合人類的思維習慣偏差或專業知識。甚至直接引出關於能否替代掉Transformer的MLP層的探討。
與MLP的一個顯著且直接的區別在於,MLP中啟用函式作用於神經元上,而KAN則將可學習的啟用函式應用於權重之上。
在數學定理的背景下,MLP受到了通用逼近定理的啟發,這個定理指出任何一個連續函式都能透過一個足夠深層的神經網路進行近似。而KAN的靈感則源自Kolmogorov-Arnold表示定理(KART),它表明每個多變數連續函式可以透過雙層巢狀疊加單變數連續函式來表示。受到該定理的啟發,研究者們採用神經網路對Kolmogorov-Arnold表示進行了引數化處理。
在實踐中,KAN能夠實現直觀的視覺化,賦予了MLP所不具備的解釋性和互動性。不過,KAN的缺點是訓練速度較慢。
再來看看KAN的具體實現效果。
Scaling law
KAN的擴充套件速度遠超MLP
函式擬合
KAN比MLP更準確。
偏微分方程求解
比如求解泊松方程,KAN比MLP更準確。
另外,KAN不會像MLP那樣容易災難性遺忘,它天然就可以規避這個缺陷。遺忘問題從源頭就能解決。
在可解釋方面,KAN能透過符號公式揭示合成數據集的組成結構和變數依賴性。
人類使用者可以與 KANs 互動,使其更具可解釋性。在 KANs 中注入人類的歸納偏差或領域知識非常容易。
多模態
當前的LLMs在自然語言處理(NLP)和編碼任務方面表現出色。對於通向人工通用智慧(AGI)來說,將影像、影片、音訊等多模態資料整合到語言模型中,甚至將其拓展至AI for Science、機器人控制等更多、差異更明顯的領域,是實現AGI的關鍵之路。這個方向的研究剛剛起步,因此具有極高的研究潛力。
激發LLM的原有能力,增加複雜推理能力
雖然大型語言模型(LLM)在推理方面有顯著進展,但它們在解決複雜推理問題上仍然存在侷限。例如,即使是簡單的字元複製或基本運算,LLM在處理長字串或數字時的推理能力也會急劇下降,而對於更復雜的推理任務,如行為規劃,則表現不佳。因此,加強LLM的複雜推理能力成為未來研究的重要任務之一。
另一種直接增強LLM推理能力的方法是透過程式碼預訓練。雖然目前相關研究較少,更像是實踐經驗的總結,但探索其背後的原理,並引入新型資料型別來增強LLM的推理能力,可能是提升推理能力更根本的方法。
探索LLM的規模天花板
推動LLM模型規模增長是關鍵而重要的,雖然看似技術含量不高,但事實上卻具有巨大意義。從Bert到GPT-3再到ChatGPT等重大技術突破,都主要來自於LLM模型規模的擴大,而非某一項具體技術的突破。實現人工智慧通用智慧(AGI)可能的真正鑰匙在於超大規模和多樣性的資料、模型的擴充套件,以及充足的訓練。
推動LLM模型規模增長有兩方面的研究意義。首先,對於知識密集型任務,隨著模型規模的擴大,其在各種任務上的表現也將不斷提升;其次,LLM具備的“湧現能力”可能會隨著規模的增長而解鎖新的潛力,這引人關注。然而,要實現這一目標需要雄厚的財力、工程能力和技術熱情。目前,只有少數幾家機構具備這種能力,未來可能會出現多個機構合作共建“股份制大模型”的現象,共同推動超級大模型的發展。
高質量資料工程
對於預訓練模型而言,資料是其基礎,預訓練過程可視為從資料中提取知識的過程。因此,需要更進一步地挖掘、收集和清洗高質量資料。在處理資料時,需要關注資料的質量和數量兩個方面。根據T5的對比實驗,可以得出結論:在考慮數量和質量時,質量應優先,因此正確的做法是在確保資料質量的前提下增加資料規模。資料質量包括資訊含量和多樣性等多個標準。例如,維基百科是高質量資料的典範,而增加資料型別的多樣性則是激發LLM各種新能力的關鍵。多樣化的資料賦予了LLM解決不同任務能力,因此在資料質量中,多樣性可能是最關鍵的標準之一。至於資料數量,理論上可以利用網際網路上公開發布的資料進行預訓練。然而估算到2026年左右,高質量的NLP資料可能會耗盡,低質量NLP資料在2030年到2050年間可能會耗盡,低質量影像資料在2030年到2060年間可能會耗盡。這提示我們要麼需要新型別的資料來源,要麼必須提高LLM模型對資料的利用效率。否則,目前的資料驅動模型最佳化方式可能會停滯不前,甚至收益減少。
Transformer稀疏化
當前最大規模的語言模型普遍採用稀疏結構,如GPT-3、PaLM、GLaM,預計GPT-4也將延續這一趨勢。稀疏化模型有明顯優勢,能顯著縮短訓練和推理時間,Switch Transformer論文指出,在相同計算資源下,稀疏化Transformer相對於密集Transformer,訓練速度可提升4到7倍。未來,大型語言模型很可能會偏向稀疏模型,因為標準密集Transformer在訓練和推理時也存在著稀疏啟用,且隨著模型規模增大,訓練成本高昂,稀疏模型能顯著降低成本,特別是在模型規模較大時。然而,稀疏模型目前存在訓練不穩定、容易過擬合等問題,未來重點是解決這些問題,設計更易訓練的稀疏模型。
當然,目前大模型還處於早期發展階段,很多技術都在探索中,有太多方向可以探究,比如上下文學習,可解釋性,思維鏈推理,在 Transformer 中批次編輯記憶體,將語言模型中的事實知識追溯到訓練資料,在 GPT 中查詢和編輯事實關聯,這些領域都很值得投入精力研究。

參考連結:

[1]A Survey of Large Language Models:https://arxiv.org/pdf/2303.18223
[2]A Comprehensive Overview of Large Language Models:https://arxiv.org/pdf/2307.06435
[3]Knowledge Neurons in Pretrained Transformers:https://arxiv.org/abs/2104.08696
[4]Does Localization Inform Editing? Surprising Differences in Causality-Based Localization vs. Knowledge Editing in Language Models:https://arxiv.org/abs/2301.04213
[5]Mass-Editing Memory in a Transformer:https://arxiv.org/abs/2210.07229
[6]Transformer Feed-Forward Layers Are Key-Value Memories:https://arxiv.org/abs/2012.14913
[7]Transformer Feed-Forward Layers Build Predictions by Promoting Concepts in the Vocabulary Space:https://arxiv.org/abs/2203.14680
[8]A Survey on In-context Learning:https://arxiv.org/abs/2301.00234
[9]Emergent Abilities of Large Language Models:https://arxiv.org/abs/2206.07682
[10]Do Machine Learning Models Memorize or Generalize?:https://pair.withgoogle.com/explorables/grokking/
[11]Scaling Down to Scale Up: A Guide to Parameter-Efficient Fine-Tuning:https://arxiv.org/abs/2303.15647
[12]Toward Transparent AI: A Survey on Interpreting the Inner Structures of Deep Neural Networks:https://arxiv.org/abs/2207.13243
[13]Reasoning with Language Model Prompting: A Survey:https://arxiv.org/abs/2212.09597
[14]Siren's Song in the AI Ocean: A Survey on Hallucination in Large Language Models:https://arxiv.org/abs/2309.01219
[15]A Survey of Chain of Thought Reasoning: Advances, Frontiers and Future:https://arxiv.org/abs/2309.15402
[16]Instruction Tuning for Large Language Models: A Survey:https://arxiv.org/abs/2308.10792
[17]Explainability for Large Language Models: A Survey:https://arxiv.org/abs/2309.01029
[18]通向AGI之路:大型語言模型(LLM)技術精要:https://zhuanlan.zhihu.com/p/597586623
[19]KAN: Kolmogorov-Arnold Networks:https://arxiv.org/abs/2404.19756
[20]Mixture of Experts Explained:https://huggingface.co/blog/moe#what-is-a-mixture-of-experts-moe
即時與AI智慧體進行語音通話
AI即時語音互動是一種旨在幫助企業快速構建AI與使用者之間的語音通話應用的解決方案。使用者只需透過白屏化的介面操作,即可快速構建一個專屬的AI智慧體,並透過影片雲ARTC網路與終端使用者進行即時互動。
點選閱讀原文檢視詳情。

相關文章