AI大規模專題報告:大規模語言模型從理論到實踐

今天分享的AI系列深度研究報告:《AI大規模專題報告:大規模語言模型從理論到實踐》。

(報告出品方:光大證券)

報告共計:25頁

大規模語言模型基本概念

語言是人類與其他動物最重要的區別,而人類的多種智能也與此密切相關。邏輯思維以語言的形式表達,大量的知識也以文字的形式記錄和傳播。如今,互聯網上已經擁有數萬億網頁資源.其中大部分信息都是用自然語言描述。因此,如果人工智能算法想要獲取知識,就必須懂得如何理解人類所使用的不太精確、可能有歧義并且甚至有些混亂的語言。語言模型 (Language Model, LM)目標就是建模自然語言的概率分布。詞匯表V 上的語言模型,由函數 P(ww..wm)表示,可以形式化地構建為詞序列 wwwm 的概率分布,表示詞序列 ww2...wm 作為一個子出現的可能性大小。由于聯合概率 P(ww2...wm) 的參數量十分巨大,直接計算 P(ww2...wm) 非常困難7。按照《現代漢語詞典 (第七版)》包含約 7 萬單詞,句子長度按照 20 個詞計算,語言模型參數量達到 7.9792 x 109 的天文數字。中文的書面語中,超過 100 個單詞的句子也并不罕見,如果要將所有可能性都納入考慮,語言模型的復雜度還會進一步急劇增加,以目前的計算手段無法進行存儲和運算。

深度神經網絡需要采用有監督方法,使用標注數據進行訓練,因此,語言模型的訓練過程也不可避免需要構造訓練語料。但是由于訓練目標可以通過無標注文本直接獲得,從而使得模型的訓練僅需要大規模無標注文本即可。語言模型也成為了典型的自監督學習 (Self-supervised Learning任務。互聯網的發展,使得大規模文本非常容易獲取,因此訓練超大規模的基于神經網絡的語言模型也成為了可能。

受到計算機視覺領域采用 ImageNetlt3] 對模型進行一次預訓練,使得模型可以通過海量圖像充分學習如何提取特征,然后再根據任務目標進行模型精調的預訓練范式影響,自然語言處理領域基于預訓練語言模型的方法也逐漸成為主流。以 ELMo3] 為代表的動態詞向量模型開啟了語言模型預訓練的大門,此后以 GPT14 和 BERT 為代表的基于 Transformer 模型] 的大規模預訓練語言模型的出現,使得自然語言處理全面進入了預訓練微調范式新時代。將預訓練模型應用于下游任務時,不需要了解太多的任務細節,不需要設計特定的神經網絡結構,只需要“微調”預訓練模型,使用具體任務的標注數據在預訓練語言模型上進行監督訓練,就可以取得顯著的性能提升。這類方法通常稱為預訓練語言模型 (Pre-trained Language Models,PLM)。

大規模語言模型發展歷程

大規模語言模型的發展歷程雖然只有短短不到五年的時間,但是發展速度相當驚人,截止 2023年 6月,國內外有超過百種大模型相繼發布。中國人民大學趙鑫教授團隊在文獻181按照時間線給出 2019 年至 2023 年 5 月比較有影響力并且模型參數量超過 100 億的大規模語言模型,如圖1.2所示。大規模語言模型的發展可以粗略的分為如下三個階段:基礎模型、能力探索、突破發展。

基礎模型階段主要集中于 2018 年至 2021 年,2017 年 Vaswani 等人提出了 Transformerl2] 架構,在機器翻譯任務上取得了突破性進展。2018 年 Google 和 Open AI分別提出了 BERTI和GPT]間 模型,開啟了預訓練語言模型時代。BERT-Base 版本參數量為 1.1 億,BERT-Large 的參數量為 3.4 億,GPT-1 的參數量 1.17 億。這在當時,相比其它深度神經網絡的參數量已經是有數量級上提升。2019 年 Open AI 又發布了 GPT-24),其參數量達到了 15 億。此后,Google 也發布了參數規模為 110 億的 T5[19 模型。2020 年 Open AI 進一步將語言模型參數量擴展到 1750 億,發布了GPT-3S]。此后,國內也相繼推出了一系列的大規模語言模型,包括清華大學 ERNIE(THU)20百度 ERNIE(Baidu)21]、華為盤古-a[22] 等。這個階段研究主要集中語言模型本身,包括僅編碼器Encoder Only)、編碼器-解碼器 (Encoder-Decoder)、僅解碼器(Decoder Only) 等各種類型的模型結構都有相應的研究。模型大小與 BERT 相類似的算法,通常采用預訓練微調范式,針對不同下游任務進行微調。但是模型參數量在 10 億以上時,由于微調的計算量很高,這類模型的影響力在當時相較 BERT 類模型有不小的差距。

能力探索階段集中于 2019 年至 2022 年,由于大規模語言模型很難針對特定任務進行微調研究人員們開始探索在不針對單一任務進行微調的情況下如何能夠發揮大規模語言模型的能力.2019 年 Radford 等人在文獻[4] 就使用 GPT-2 模型究了大規模語言模型在零樣本情況下的任務處理能力。在此基礎上,Brown 等人在 GPT-3S] 模型上研究了通過語境學習(In-Context Learning進行少樣本學習的方法。將不同任務的少量有標注的實例拼接到待分析的樣本之前輸入語言模型使用語言模型根據實例理解任務并給出正確結果。在包括 TriviaQA、WebOS、CoQA 等評測集臺都展示出了非常強的能力,在有些任務中甚至超過了此前的有監督方法。上述方法不需要修改語言模型的參數,模型在處理不同任務時無需花費的大量計算資源進行模型微調。但是僅依賴基于語言模型本身,其性能在很多任務上仍然很難達到有監督學習效果,因此研究人員們提出了指令微調(Instruction Tuning)[23] 方案,將大量各類型任務,統一為生成式自然語言理解框架,并構造訓練語料進行微調。大規模語言模型一次性學習數千種任務,并在未知任務上展現出了很好的泛化能力。2022 年 Ouyang 等人提出了使用有監督微調再結合強化學習方法,使用少量數據有監督就可以使得大規模語言模型服從人類指令的 InstructGPT 算法24]。Nakano 等人則探索了結合搜索引擎的問題回答算法 WebGPT[25 。這些方法從直接利用大規模語言模型進行零樣本和少樣本學習的基礎上,逐漸擴展到利用生成式框架針對大量任務進行有監督微調的方法,有效提升了模型的性能。

大規模語言模型構建流程

根據 OpenAI 聯合創始人 Andrej Karpathy 在微軟 Build 2023 大會上所公開的信息,OpenAI 所 使用的大規模語言模型構建流程如圖1.3所示。主要包含四個階段:預訓練、有監督微調、獎勵建 模、強化學習。這四個階段都需要不同規模數據集合以及不同類型的算法,會產出不同類型的模 型,同時所需要的資源也有非常大的差別。

預訓練(Pretraining)階段需要利用海量的訓練數據,包括互聯網網頁、維基百科、書籍、GitHub、 論文、問答網站等,構建包含數千億甚至數萬億單詞的具有多樣性的內容。利用由數千塊高性能 GPU 和高速網絡組成超級計算機,花費數十天完成深度神經網絡參數訓練,構建基礎語言模型 (Base Model)。基礎大模型構建了長文本的建模能力,使得模型具有語言生成能力,根據輸入的 提示詞(Prompt),模型可以生成文本補全句子。也有部分研究人員認為,語言模型建模過程中 也隱含的構建了包括事實性知識(Factual Knowledge)和常識知識(Commonsense)在內的世界知 識(World Knowledge)。根據文獻 [46] 介紹,GPT-3 完成一次訓練的總計算量是 3640PFlops,按照 NVIDIA A100 80G 和平均利用率達到 50% 計算,需要花費近一個月時間使用 1000 塊 GPU 完成。

Transformer 模型

Transformer 模型是由谷歌在 2017 年提出并首先應用于機器翻譯的神經網絡模型結構。機 器翻譯的目標是從源語言(Source Language)轉換到目標語言(Target Language)。Transformer 結 構完全通過注意力機制完成對源語言序列和目標語言序列全局依賴的建模。當前幾乎全部大語言 模型都是基于 Transformer 結構,本節以應用于機器翻譯的基于 Transformer 的編碼器和解碼器介紹該模型。

基于 Transformer 結構的編碼器和解碼器結構如圖2.1所示,左側和右側分別對應著編碼器(Encoder)和解碼器(Decoder)結構。它們均由若干個基本的 Transformer 塊(Block)組成(對應著圖 中的灰色框)。這里 N× 表示進行了 N 次堆疊。每個 Transformer 塊都接收一個向量序列 {xi} t i=1 作為輸入,并輸出一個等長的向量序列作為輸出 {yi} t i=1。這里的 xi 和 yi 分別對應著文本序列 中的一個單詞的表示。而 yi 是當前 Transformer 塊對輸入 xi 進一步整合其上下文語義后對應的輸 出。

生成式預訓練語言模型 GPT

受到計算機視覺領域采用 ImageNet對模型進行一次預訓練,使得模型可以通過海量圖像充分學習如何提取特征,然后再根據任務目標進行模型微調的范式影響,自然語言處理領域基于預訓練語言模型的方法也逐漸成為主流。以 ELMo] 為代表的動態詞向量模型開啟了語言模型預訓練的大門,此后以 GPT4 和 BERT 為代表的基于 Transformer 的大規模預訓練語言模型的出現,使得自然語言處理全面進入了預訓練微調范式新時代。利用豐富的訓練語料、自監督的預訓練任務以及 Transformer 等深度神經網絡結構,預訓練語言模型具備了通用且強大的自然語言表示能力,能夠有效地學習到詞匯、語法和語義信息。將預訓練模型應用于下游任務時,不需要了解太多的任務細節,不需要設計特定的神經網絡結構,只需要“微調”預訓練模型,即使用具體任務的標注數據在預訓練語言模型上進行監督訓練,就可以取得顯著的性能提升。

OpenAI公司在 2018 年提出的生成式預訓練語言模型(Generative Pre-Training,GPT) 4 是典型的生成式預訓練語言模型之一。GPT 模型結構由多層 Transformer 組成的單向語言模型,主要分為輸入層,編碼層和輸出層三部分。

語言模型訓練數據

大語言模型訓練需要數萬億的各類型數據。如何構造海量“高質量”數據對于大語言模型的訓練具有至關重要的作用。雖然,截止到 2023 年9 月為止,還沒有非常好的大模型的理論分析和解釋,也缺乏對語言模型訓練數據的嚴格說明和定義。但是,大多數研究人員都普遍認為訓練數據是影響大語言模型效果以及樣本泛化能力的關鍵因素之一。從此前的研究來看,預訓練數據需要涵蓋各種類型。包括網絡數據、圖書、論文、百科和社交媒體等,還需要覆蓋盡可能多的領域語言、文化和視角,從而提高大語言模型的泛化能力和適應性。

報告共計:25頁

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/208401.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/208401.shtml
英文地址,請注明出處:http://en.pswp.cn/news/208401.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深入理解 Promise:前端異步編程的核心概念

深入理解 Promise:前端異步編程的核心概念 本文將幫助您深入理解 Promise,這是前端異步編程的核心概念。通過詳細介紹 Promise 的工作原理、常見用法和實際示例,您將學會如何優雅地處理異步操作,并解決回調地獄問題。 異步編程和…

Linux的硬盤管理

本章主要介紹Linux磁盤管理 了解分區的概念對硬盤進行分區swap分區的管理 新的硬盤首先需要對其進行分區和格式化,下面來了解一下硬盤的結構,如圖 硬盤的磁盤上有一個個圈,每兩個圈組成一個磁道。從中間往外發射線,把每個磁道分…

信息系統工程的基本概念

系統是由相互作用和相互依賴的若干部分,按一定規律結合成的、具有特定功能的有機整體。系統有下述特性: (1)集合性。系統是由許多元素有機地組成的整體。每個元素服從整體,追求全局最優。 (2)相…

springboot3遠程調用

RPC 兩個服務器之間的調用 遠程請求 內部服務之間的調用 可以通過 cloud 注冊中心 openfeign等 外部服務的調用 http請求 外部協議 api:遠程接口 sdk:本地調用 調用阿里云的天氣請求

深度學習|詞嵌入的演變

文本嵌入,也稱為詞嵌入,是文本數據的高維、密集向量表示,可以測量不同文本之間的語義和句法相似性。它們通常是通過在大量文本數據上訓練 Word2Vec、GloVe 或 BERT 等機器學習模型來創建的。這些模型能夠捕獲單詞和短語之間的復雜關系&#x…

要求CHATGPT高質量回答的藝術:提示工程技術的完整指南—第 27 章:如何避開和繞過所有人工智能內容檢測器

要求CHATGPT高質量回答的藝術:提示工程技術的完整指南—第 27 章:如何避開和繞過所有人工智能內容檢測器 使用高易錯性和突發性方法 與人工智能生成的文本相比,人類寫作往往具有更多的突發性,這是由于人類往往比人工智能生成的文…

【開源】基于Vue+SpringBoot的陜西非物質文化遺產網站

文末獲取源碼,項目編號: S 065 。 \color{red}{文末獲取源碼,項目編號:S065。} 文末獲取源碼,項目編號:S065。 目錄 一、摘要1.1 項目介紹1.2 項目錄屏 二、功能模塊2.1 設計目標2.2 研究內容2.3 研究方法與…

GEE中Landsat中大改變——Landsat Collection 1 到 Collection 2 影像集合遷移

Landsat Collection 1 到 Collection 2 遷移 本指南提供了從Landsat Collection 1 數據切換 到 Collection 2 數據的說明。自 2022 年以來,集合 2 已在 Earth Engine 中完全可用, 自 2021 年 12 月 31 日以來,美國地質調查局 (USGS) 未生成集合 1 數據。Landsat Collection …

3D點云:平面模型上提取凸(凹)多邊形方法

目錄 一、實現原理 二、實現代碼 三、運行結果 一、實現原理 首先要在點云中提取出潛在平面,對原始點云數據進行濾波,根據提取出的平面模型系數從濾波后的點云進行投影,然后根據投影后的點云計算其對應的二維凹(凸)多邊形。 二、實現代碼 #in

webrtc 設置不獲取鼠標 啟用回聲消除

數 getDisplayMedia()(屬于 navigator.mediaDevices 的一部分)與 getUserMedia() 類似,用于打開顯示內容(或部分內容,如窗口)。返回的 MediaStream 與使用 getUserMedia() 時相同。 顯示鼠標與否 getDisp…

案例064:基于微信小程序的考研論壇設計

文末獲取源碼 開發語言:Java 框架:SSM JDK版本:JDK1.8 數據庫:mysql 5.7 開發軟件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序開發軟件:HBuilder X 小程序…

正則表達式(7):轉義符

正則表達式(7):正則表達式(5):轉義符 本博文轉載自 此處,我們來認識一個常用符號,它就是反斜杠 “\” 反斜杠有什么作用呢?先不著急解釋,先來看個小例子。 …

【游戲引擎 - C#腳本系統】6、C#端調用C++函數

強烈建議閱讀Mono官方文檔 有mono庫提供的API&#xff0c;這個過程非常簡單&#xff0c;通過mono在C中注冊函數&#xff0c;然后在C#中聲明和調用這些函數 1、在C中注冊Internal Call&#xff1a; C代碼中定義一個函數 static void CppFunc() {std::cout << "這…

24 遞歸求解二叉樹打家劫舍

問題描述&#xff1a;在上次大街萬一條街道之后和一圈房屋后&#xff0c;小偷又發現了一個新的可行竊的地區。這個地區只有一個入口&#xff0c;我們稱之為根。除了根之外&#xff0c;每棟房子有且只有一個父房子與之項鏈&#xff0c;一番偵查之后&#xff0c;聰明的小偷意識到…

CGAL的3D簡單網格數據結構

由具有多個曲面面片的多面體曲面生成的多域四面體網格。將顯示完整的三角剖分&#xff0c;包括屬于或不屬于網格復合體、曲面面片和特征邊的單元。 1、網格復合體、 此軟件包致力于三維單純形網格數據結構的表示。 一個3D單純形復雜體由點、線段、三角形、四面體及其相應的組合…

從零開始搭建鏈上dex自動化價差套利程序(13)

優化 優化觸發條件&#xff1a; 之前的觸發條件有問題&#xff0c;導致遲遲不能觸發&#xff0c;優化后觸發條件如下&#xff1a; dydx_take 0.0002apex_make 0.0005?float(b_first_price_apex)-float(s_first_price_dydx) > float(b_first_price_apex)*apex_makefloat…

華為數通---配置Smart Link主備備份示例

定義 Smart Link&#xff0c;又叫做備份鏈路。一個Smart Link由兩個接口組成&#xff0c;其中一個接口作為另一個的備份。Smart Link常用于雙上行組網&#xff0c;提供可靠高效的備份和快速的切換機制。 目的 下游設備連接到上游設備&#xff0c;當使用單上行方式時&…

Microsoft 365 Copilot正式上線,如何穩定訪問體驗?

如果將微軟對人工智能的投資看成一場豪賭&#xff0c;Microsoft Copilot無疑是現階段最受矚目的賭注。2023年9月正式發布的Microsoft Copilot是一種基于大型語言模型&#xff08;LLM&#xff09;和微軟圖形&#xff08;Microsoft Graph&#xff09;的數據和人工智能&#xff08…

貝銳花生殼3大安全能力,保障網絡服務安全遠程連接

在沒有公網IP的情況下&#xff0c;使用內網穿透工具&#xff0c;將本地局域網服務映射至外網&#xff0c;雖然高效快捷&#xff0c;但信息安全也是不可忽略的方面。 對此&#xff0c;貝銳花生殼提供了多維度的安全防護能力&#xff0c;滿足不同場景下用戶安全遠程訪問內網服務的…

svn log | less

svn log | less 是一個命令行指令&#xff0c;用于查看 Subversion (SVN) 倉庫的提交日志&#xff0c;并通過分頁方式進行瀏覽。 具體而言&#xff0c;svn log 命令用于獲取 SVN 倉庫的提交歷史記錄。而 less 命令則是一個分頁器&#xff0c;它可以將輸出內容逐頁顯示在終端窗…