天天看點

大模型綜述更新

作者:ChatGPT掃地僧

今年3月末,我們在arXiv網站釋出了大語言模型綜述文章《A Survey of Large Language Models》的第一個版本V1,該綜述文章系統性地梳理了大語言模型的研究進展與核心技術,讨論了大量的相關工作。自大語言模型綜述的預印本上線以來,受到了廣泛關注,收到了不少讀者的寶貴意見。

大模型綜述更新

在釋出V1版本後的3個月時間内,為了提升該綜述的品質,我們在持續更新相關的内容,連續進行了多版的内容修訂(版本号目前疊代到V11),論文篇幅從V1版本的51頁、416篇參考文獻擴增到了V11版本的85頁、610篇參考文獻。V11版本是我們自五月中下旬開始策劃進行大修的版本,詳細更新日志請見文章結尾,已于6月末再次釋出于arXiv網站。相較于V1版本,V11版本的大語言模型綜述有以下新亮點:

  1. 新增了對LLaMA模型及其衍生模型組成的LLaMA家族介紹;
  2. 新增了具體實驗分析,包括指令微調資料集組合方式實驗以及部分模型綜合能力評測;
  3. 新增了大語言模型提示設計提示指南以及相關實驗,總結了提示設計的原則、經驗;
  4. 新增了參數高效适配和空間高效适配章節,總結了大語言模型相關的輕量化技術;
  5. 增加了對于規劃(planning)的相關工作介紹;
  6. 增補了許多脈絡梳理内容,以及大量最新工作介紹;

此外,我們綜述的中文翻譯版本也在持續更新(針對v1版本進行了翻譯,并持續更新)

大模型綜述更新
  • 論文連結:https://arxiv.org/abs/2303.18223
  • GitHub項目連結:https://github.com/RUCAIBox/LLMSurvey
  • 中文翻譯版本連結:https://github.com/RUCAIBox/LLMSurvey/blob/main/assets/LLM_Survey__Chinese_V1.pdf

1. 引言

大語言模型目前已經成為學界研究的熱點。我們統計了arXiv論文庫中自2018年6月以來包含關鍵詞"語言模型"以及自2019年10月以來包含關鍵詞"大語言模型"的論文數量趨勢圖。結果表明,在ChatGPT釋出之後,相關論文的數量呈現出爆發式增長,這充分證明大語言模型在學術界的影響力日益凸顯,吸引了越來越多的研究者投入到這一領域。

大模型綜述更新

2. 總覽

相較于小模型,大模型擴充了模型大小、訓練資料大小和總計算量,顯著提升了語言模型的能力。在總覽章節中,我們新增了擴充法則(scaling law)的讨論,其中重點介紹了KM擴充法則和Chinchilla擴充法則,這兩個法則對于了解大語言模型的性能提升提供了重要參考。

  • KM 擴充法則
大模型綜述更新
  • Chinchilla擴充法則
大模型綜述更新

此外,我們新增了一部分關于OpenAI GPT系列語言模型的技術演進階段的介紹(并附圖)。這一部分将幫助讀者了解GPT系列模型如何從最初的GPT開始,逐漸演變成例如ChatGPT和GPT-4等更先進的大語言模型。

大模型綜述更新

針對GPT系列的核心“預測下一個詞”,還進一步加入了一些Ilya Sutskever的采訪記錄:

大模型綜述更新

3. 大語言模型相關資源

我們對于最新符合條件的模型進行了補充,持續更新了現有的10B+的模型圖:

大模型綜述更新

2023年2月,Meta釋出了LLaMA大語言模型。受益于其強大的基座能力,LLaMA的釋出引起了開源社群的對其進行擴充的熱潮,大量的研究人員基于LLaMA進行指令微調或者繼續預訓練,進而催生了大量高品質的開源大語言模型。為了幫助讀者了解LLaMA家族模型的發展脈絡,我們增加了LLaMA家族模型的發展介紹,并繪制了一個簡要的LLaMA家族演化圖來展示LLaMA家族模型的發展曆程,以及各個衍生模型之間的關聯。

大模型綜述更新

4. 大語言模型預訓練技術

在預訓練技術章節,我們大幅補充了大模型預訓練各方面的技術細節。在模型架構部分,我們補充了三種主流模型架構的對比圖,包括因果編碼器、字首解碼器和編碼器-解碼器架構,進而直覺的展示這三種架構的差異和聯系。

大模型綜述更新

此外,我們詳細補充了模型架構的各元件細節,包括分詞、歸一化方法、歸一化位置、位置編碼、注意力與偏置等等,并提供了Transformer架構多種配置的詳細公式表。在最後的讨論章節,我們針對研究者廣泛關注的長文本編碼與生成挑戰進行了讨論。

大模型綜述更新

針對預訓練資料的詞元化問題(tokenization),我們補充介紹了BPE、WordPiece和Unigram三種常用算法:

大模型綜述更新

5. 大語言模型适配技術

在适配技術章節,我們擴充了指令微調的技術細節,包括指令收集方法、指令微調的作用、指令微調的結果和對應分析。首先,我們按照任務指令、聊天指令、合成指令三類分别介紹了指令資料的收集方法,并收集了的指令集合。

大模型綜述更新

并且更新了指令集合的建立方式示意圖:

大模型綜述更新

其次,為了探究不同指令資料對模型性能的影響,我們給出了不同資料混合政策下指令微調模型的實驗結果供讀者參考。為了讓讀者更好地上手指令微調,還給出了指令微調大模型的資源參考表,并給出了指令微調的實用建議。

大模型綜述更新

随着大語言模型的關注度日漸上升,如何更輕量地微調和使用大語言模型也成為了業界關注的熱點,為此,我們新增參數高效适配章節和空間高效适配章節。在參數高效适配章節,我們介紹了常見的參數高效适配技術,包括Adapter Tuning、Prefix Tuning、Prompt Tuning、LoRA等等,并列舉了近期結合這些技術在大模型上的具體實踐。

大模型綜述更新

同時由于大語言模型參數量巨大,在推理時需要占用大量的記憶體(顯存),導緻它們在實際應用中部署成本較高。為此,我們介紹了空間高效适配技術,讨論了如何通過模型壓縮方法(模型量化)來減少大語言模型的記憶體占用,進而使其可以在資源有限的情況下使用。下面總結了我們讨論的一些核心結論:

大模型綜述更新

6. 大語言模型使用技術

我們将大語言模型在推理階段如何執行上下文學習的機制分析劃分為兩類,即任務識别和任務學習。在任務識别部分,介紹了大語言模型如何從示例中識别任務并使用預訓練階段習得的知識加以解決;在任務學習部分,介紹了大語言模型如何從示例中學習解決新任務。

除了上下文學習和思維鍊提示,我們還介紹了另一類使用大語言模型的重要範式,即基于提示對複雜任務進行規劃。根據相關工作,我們總結出了基于規劃的提示的總體架構。這類範式通常包含三個元件:任務規劃者、規劃執行者和環境。随後,我們從規劃生成,回報擷取和規劃完善三個方面介紹了這一範式的基本做法。

大模型綜述更新

7. 大語言模型能力評估

考慮到大語言模型的條件語言生成能力日益增長,我們介紹了已有工作對大語言模型時代語言生成自動評測可靠性問題的讨論。對于大語言模型的進階能力,我們增補了最新的相關工作,并總結了大語言模型進階能力評測的常用資料集供讀者參考。此外,随着大語言模型通用能力的提升,一系列工作提出了更具挑戰性的基于面向人類測試的綜合評測基準來評測大語言模型,我們增加了這些代表性評測基準的介紹。

大模型綜述更新

在大語言模型時代,開源和閉源的大語言模型不斷湧現,我們對部分熱門開源模型和閉源模型進行了細粒度的能力評測,涵蓋了評測章節總結的8大基礎和進階能力對應的27個代表性任務。進一步,我們對開源模型和閉源模型的評測結果進行了細緻的分析。

為了更好地說明大模型的現有問題,我們對于關鍵問題都進行了note形式的總結:

大模型綜述更新

8. 大語言模型提示設計使用指南

在大語言模型時代,提示成為了人與機器互動的重要形式。然而,如何編寫好的提示是一門對技巧和經驗要求很高的手藝。為了讓讀者能夠快速上手大語言模型的提示設計,我們給出了一個實用的提示設計指南。我們詳細介紹了提示的關鍵元件,并讨論了一些關鍵的提示設計原則。

一個完整的提示通常包含四個關鍵組成因素,即任務描述、輸入資料、上下文資訊和提示風格。為了更好的展示這些組成因素,我們給出了直覺的提示樣例表。

大模型綜述更新

增加了相關提示的示意圖:

大模型綜述更新

除此之外,我們還總結了一些關鍵的提示設計原則,包括清晰表述任務目标、将複雜任務進行分解以及使用模型友好的格式。進一步我們基于這些設計原則,展示了一系列有用的提示設計小貼士。

最後,我們結合多種常見任務,基于ChatGPT具體實驗了不同提示對模型性能的影響,供讀者在使用提示執行具體任務時參考。

大模型綜述更新

9. 大語言模型領域應用

随着大語言模型關注度的逐漸提升,研究者和工業界從業人員也嘗試将大語言模型應用到各種專業領域中。為了系統地介紹這些應用實踐,我們将綜述中大語言模型的領域應用部分獨立成了專門的章節。具體而言,我們擴充介紹了原有将大語言模型應用到醫療、教育、法律領域的相關研究,并新增了金融和科學研究領域的相關工作介紹。

10. 尋求建議與算力

一篇高品質的長篇綜述文章需要大量的時間投入,所參與的老師和學生為此付出了很多的時間。盡管我們已經盡力去完善這篇綜述文章,但由于能力所限,難免存在不足和錯誤之處,仍有很大的改進空間。

我們的最終目标是使這篇綜述文章成為一個“know-how”的大模型技術指南手冊,讓大模型的秘密不再神秘、讓技術細節不再被隐藏。盡管我們深知目前這篇綜述離這個目标的距離還比較遠,我們願意在之後的版本中竭盡全力去改進。特别地,對于預訓練、指令微調、提示工程的内在原理以及實戰經驗等方面,我們非常歡迎讀者為我們貢獻想法與建議,可以通過GitHub送出PR或者郵件聯系我們的作者。對于所有被采納的技術細節,我們都将在論文的緻謝部分中“實名+實際貢獻”進行緻謝。

同時,我們自己也在圍繞大模型綜述的部分内容開展相關的實驗探索(如能力評測、指令微調等),以保證綜述中的讨論能夠有據可循。由于算力所限,目前能開展的實驗局限于小尺寸模型和少量比較方法。在此,我們也向社會尋求算力支援,我們将承諾所獲得的算力資源将完全用于該綜述文章的編寫,所有使用外部算力所獲得的技術經驗,将完全在綜述文章中對外釋出。我們将在綜述的緻謝部分和GitHub項目首頁對于算力提供商進行緻謝。針對本綜述文章的算力資源支援事宜,煩請緻信 [email protected] 聯系我們。

我們的綜述文章自釋出以來,收到了廣泛網友的大量修改意見,在此一并表示感謝。也希望大家一如既往支援與關注我們的大模型綜述文章,您們的點贊與回報将是我們前行最大的動力。

11. 本次修訂的參與學生名單

學生作者:周昆(添加了指令微調實驗的任務設定與結果分析,具體安排了實驗細節,添加了能力評測實驗的實驗設定與結果分析,協助整理code,添加了提示指南部分的實驗設定與結果分析,添加了表13)、李軍毅(添加了指令微調實驗的資料集、改進政策和實驗設定和實驗表8,添加了能力評測實驗的模型、任務和資料集,以及實驗表11,添加了提示指南的設計原則和表12表14)、唐天一(添加第五章文字細節,添加圖1、3、10,表6、7)、王曉磊(添加第六章6.1文字細節,新增6.3)、侯宇蓬(添加第四章文字細節)、闵映乾(添加第三章少數模型,LLaMA相關讨論,圖4)、張北辰(添加第七章、第九章文字細節,添加表10)、董梓燦(添加圖7表、4和第四章文字細節)、陳昱碩(表7實驗)、陳志朋(添加第七章、第九章文字細節,表11實驗)、蔣錦昊(更新圖8)

學生志願者:成曉雪(表11實驗)、王禹淏(表11實驗)、鄭博文(表11實驗)、胡譯文(中文校對)、侯新銘(中文校對)、尹彥彬(中文校對)、曹展碩(中文校對)

附件:更新日志

版本時間主要更新内容V12023年3月31日初始版本V22023年4月9日添加了機構資訊。修訂了圖表 1 和表格 1,并澄清了大語言模型的相應選擇标準。改進了寫作。糾正了一些小錯誤。V32023年4月11日修正了關于庫資源的錯誤V42023年4月12日修訂了圖1 和表格 1,并澄清了一些大語言模型的釋出日期V52023年4月16日添加了關于 GPT 系列模型技術發展的章節V62023年4月24日在表格 1 和圖表 1 中添加了一些新模型。添加了關于擴充法則的讨論。為湧現能力的模型尺寸添加了一些解釋(第 2.1 節)。在圖 4 中添加了用于不同架構的注意力模式的插圖。在表格 4 中添加了詳細的公式。V72023年4月25日修正了圖表和表格中的一些拷貝錯誤V82023年4月27日在第 5.3 節中添加了參數高效适配章節V92023年4月28日修訂了第 5.3 節V102023年5 月7 日修訂了表格 1、表格 2 和一些細節V112023年6月29日第一章:添加了圖1,在arXiv上釋出的大語言論文趨勢圖;第二章:添加圖3以展示GPT的演變及相應的讨論;第三章:添加圖4以展示LLaMA家族及相應的讨論;第五章:在5.1.1節中添加有關指令調整合成資料方式的最新讨論, 在5.1.4節中添加有關指令調整的經驗分析, 在5.3節中添加有關參數高效适配的讨論, 在5.4節中添加有關空間高效适配的讨論;第六章:在6.1.3節中添加有關ICL的底層機制的最新讨論,在6.3節中添加有關複雜任務解決規劃的讨論;第七章:在7.2節中添加用于評估LLM進階能力的代表性資料集的表格10,在7.3.2節中添加大語言模型綜合能力pint測;第八章:添加提示設計;第九章:添加關于大語言模型在金融和科學研究領域應用的讨論。