日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

目前,基于 Transformers 架構的大型語言模型 (LLM),如 GPT、T5 和 BERT,已經在各種自然語言處理 (NLP) 任務中取得了 SOTA 結果。將預訓練好的語言模型(LM) 在下游任務上進行微調已成為處理 NLP 任務的一種 范式。與使用開箱即用的預訓練 LLM (例如:零樣本推理) 相比, 在下游數據集上微調這些預訓練 LLM 會帶來 巨大的性能提升。

但是, 隨著模型變得越來越大, 在消費級硬件上對模型進行全部參數的微調(full fine-tuning) 變得不可行。此 外, 為每個下游任務獨立存儲和部署微調模型變得非常昂貴, 因為微調模型(調整模型的所有參數) 與原始預訓 練模型的大小相同。因此, 近年來研究者們提出了各種各樣的參數高效遷移學習方法(Parameter-e?icient Transfer Learning), 即固定住 PretrAIn Language model  (PLM) 的大部分參數, 僅調整模型的一小部分參數來達到與全部 參數的微調接近的效果(調整的可以是模型自有的參數,也可以是額外加入的一些參數)

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

大模型訓練過程示意圖

預訓練 (Pretraining) 階段需要利用海量的訓練數據, 包括互聯網網頁、維基百科、書籍、 Github、論文、問答 網站等, 構建包含數千億甚至數萬億單詞的具有多樣性的內容。利用由數千塊高性能 GPU 和高速網絡組成超級 計算機, 花費數十天完成深度神經網絡參數訓練, 構建基礎語言模型 (Base Model) 。基礎大模型構建了長文本的 建模能力,使得模型具有語言生成能力,根據輸入的提示詞 (Prompt),模型可以生成文本補全句子。也有部分研究 人員認為, 語言模型建模過程中也隱含的構建了包括事實性知識 (Factual Knowledge) 和常識知識 (Commonsense) 在內的世界知識 (World Knowledge)。GPT-3 完成一次訓練的總計算量是 3640PFlops,按照 NVIDIA A100 80G 和平 均利用率達到 50% 計算, 需要花費近一個月時間使用 1000 塊 GPU 完成。由于 GPT-3 訓練采用了 NVIDIA V100 32G,其實際計算成本遠高于上述計算。參數量同樣是 1750 億的 OPT 模型, 該模型訓練使用了 992 塊 NVIDIA A100 80G,整體訓練時間將近 2 個月。BLOOM 模型的參數量也是 1750 億, 該模型訓練一共花費 3.5 個月, 使 用包含 384 塊 NVIDIA A100 80G GPU 集群完成。可以看到大規模語言模型的訓練需要花費大量的計算資源和時 間。包括 LLaMA 系列、 Falcon 系列、百川 (Baichuan) 系列等在模型都屬于此階段。由于訓練過程需要消耗大量 的計算資源, 并很容易受到超參數影響, 如何能夠提升分布式計算效率并使得模型訓練穩定收斂是本階段的重 點研究內容。

有監督微調(Supervised F.NETuning),也稱為指令微調 (Instruction Tuning),利用少量高質量數據集合, 包含 用戶輸入的提示詞 (Prompt) 和對應的理想輸出結果。用戶輸入包括問題、閑聊對話、任務指令等多種形式和任 務。利用這些有監督數據, 使用與預訓練階段相同的語言模型訓練算法, 在基礎語言模型基礎上再進行訓練, 從 而得到有監督微調模型 (SFT 模型)。經過訓練的 SFT 模型具備了初步的指令理解能力和上下文理解能力, 能夠完成開放領域問題、閱讀理解、翻譯、生成代碼等能力, 也具備了一定的對未知任務的泛化能力。由于有監督微 調階段的所需的訓練語料數量較少, SFT 模型的訓練過程并不需要消耗非常大量的計算。根據模型的大小和訓 練數據量, 通常需要數十塊 GPU ,花費數天時間完成訓練。 SFT 模型具備了初步的任務完成能力, 可以開放給 用戶使用, 很多類 ChatGPT 的模型都屬于該類型, 包括: Alpaca 、Vicuna 、MOSS 、ChatGLM-6B 等。很多這類 模型效果也非常好, 甚至在一些評測中達到了 ChatGPT 的 90% 的效果。當前的一些研究表明有監督微調階段數 據選擇對 SFT 模型效果有非常大的影響, 因此如何構造少量并且高質量的訓練數據是本階段有監督微調階段的 研究重點。

獎勵建模 (Reward Modeling) 階段目標是構建一個文本質量對比模型, 對于同一個提示詞, SFT 模型給出的多個不同輸出結果的質量進行排序。獎勵模型 (RM 模型) 可以通過二分類模型, 對輸入的兩個結果之間的優劣 進行判斷。 RM 模型與基礎語言模型和 SFT 模型不同, RM 模型本身并不能單獨提供給用戶使用。獎勵模型的訓 練通常和 SFT 模型一樣, 使用數十塊 GPU,通過幾天時間完成訓練。由于 RM 模型的準確率對于強化學習階段 的效果有著至關重要的影響, 因此對于該模型的訓練通常需要大規模的訓練數據。 Andrej Karpathy 在報告中指 出, 該部分需要百萬量級的對比數據標注, 而且其中很多標注需要花費非常長的時間才能完成。標注示例中文 本表達都較為流暢, 標注其質量排序需要制定非常詳細的規范, 標注人員也需要非常認真的對標規范內容進行 標注, 需要消耗大量的人力, 同時如何保持眾包標注人員之間的一致性, 也是獎勵建模階段需要解決的難點問 題之一。此外獎勵模型的泛化能力邊界也在本階段需要重點研究的另一個問題。如果 RM 模型的目標是針對所 有提示詞系統所生成輸出都能夠高質量的進行判斷, 該問題所面臨的難度在某種程度上與文本生成等價, 因此 如何限定 RM 模型應用的泛化邊界也是本階段難點問題。

強化學習 (Reinforcement Learning) 階段根據數十萬用戶給出的提示詞, 利用在前一階段訓練的 RM 模型, 給出 SFT 模型對用戶提示詞補全結果的質量評估, 并與語言模型建模目標綜合得到更好的效果。該階段所使用 的提示詞數量與有監督微調階段類似,數量在十萬量級,并且不需要人工提前給出該提示詞所對應的理想回復。 使用強化學習, 在 SFT 模型基礎上調整參數, 使得最終生成的文本可以獲得更高的獎勵 (Reward) 。該階段所需 要的計算量相較預訓練階段也少很多, 通常也僅需要數十塊 GPU,經過數天時間的即可完成訓練。對比強化學 習和有監督微調, 在模型參數量相同的情況下, 強化學習可以得到相較于有監督微調好得多的效果。關于為什么 強化學習相比有監督微調可以得到更好結果的問題, 截止到 2023 年 9 月也還沒有完整和得到普遍共識的解釋。此外, Andrej Karpathy 也指出強化學習也并不是沒有問題的, 它會使得基礎模型的熵降低, 從而減少了模型輸 出的多樣性。在經過強化學習方法訓練完成后的 RL 模型, 就是最終提供給用戶使用具有理解用戶指令和上下文 的類 ChatGPT 系統。由于強化學習方法穩定性不高, 并且超參數眾多, 使得模型收斂難度大, 再疊加 RM 模型 的準確率問題,使得在大規模語言模型如何能夠有效應用強化學習非常困難。

模型的訓練成本

在模型的訓練過程中除了要考慮模型準確性, 性能、成本和延遲都是重要考慮因素, 需要考慮效率和效果 (e?iciency with effectiveness)之間的平衡。

當然, 大語言模型需要大量數據來學習自然語言的模式和結構。估算數據的成本可能具有挑戰性, 因為公 司通常使用其業務運營中長期積累的數據以及開源數據集。此外, 還要考慮到數據需要進行清洗、標記、組織 和存儲, 考慮到 LLM 的規模, 數據管理和處理成本會迅速增加, 特別是考慮到這些任務所需的基礎設施、工具 和數據工程師時。舉個具體的例子, 已知 LLaMA 使用了包含 1.4 萬億個 token 的訓練數據集, 總大小為 4.6TB!接下主要介紹的是計算資源等方面的成本。

算力估算

如何評估大模型的所需算力。眾所周知, 現如今的預訓練語言模型均是基于 Transformer 結構實現的, 因此 大模型的參數主要來源于 Transformer 的 Self-Attention 部分。EleutherAI 團隊近期發布一篇博客來介紹如何估計一個大模型的算力成本,公式如下:

C = τT ≈ 6PD

公式中各個符號代表的含義如下:

  •  C 表示 Transformer 需要的計算量,單位是 FLOP;

  •  P 表示 Transformer 模型包含的參數量;

  •  D 表示訓練數據規模,以 Token 數量為單位;

  •  τ 表示吞吐量,單位為 FLOP

  •  T 表示訓練時間;

C 是一個量化計算成本的單位,通常用FLOP 表示,也可以用一些新的單位來表示:

  •  FLOP/s-s :表示每秒浮點運算數 × 秒;

  •  PetaFLOP/s-days:表示實際情況下每秒浮點運算數 × 天

 

費用和能耗

近年來, LLM 變得越來越大, LLM 的訓練費用跟參數大小直接相關, 訓練大型模型需要大量的算力, 因為 需要處理海量的數據。訓練這類模型所需的算力取決于以下因素:模型的規模(參數數量)、訓練數據集的大小、 訓練輪次、批次大小。T5 11b 規模的模型單次訓練成本預估超過 130 萬美元, GPT-3 175B 單次訓練需要 460 萬 美元。

在此, 我們假定要訓練一個千億規模的大模型, 用 1PB 數據進行訓練, 訓練一次, 并且在 10 天內完成訓練。 看看需要消耗多少算力,并計算這樣的算力消耗,如果用英偉達的芯片,需要多少芯片。

首先, 我們要了解一個概念, 即 FLOPs  (浮點運算次數)。FLOPs 用來衡量執行某個任務所需的計算量。T5 11B 模型只需要 3.3x102 2,假設一個千億(1000 億) 參數的大型模型, 我們可以參考 GPT-3。GPT-3 中最大的模 型(1750 億參數) 的訓練大約需要 3.14 ∗ 102 3 次浮點運算(FLOPs),FLOPs 大了 10 倍, 下圖是訓練大語言模 型所需 FLOPs 對比示意圖。

訓練大語言模型所需 FLOPs 對比示意圖

我們可以通過以下簡化公式估算所需的 FLOPs:

所需 FLOPs = (千億參數 / 1750 億參數) * 3.14 ∗ 102 3 FLOPs

根據這個公式, 我們得出訓練一個千億參數的模型大約需要 1.8 ∗ 102 3 次浮點運算。我們來看看英偉達的芯片。 以英偉達 A100 GPU 為例, 其具有每秒 19.5 萬億次(19.5 TFLOPs) 的浮點運算能力。要計算出需要多少個 A100  GPU 來滿足這個算力需求,我們可以使用以下公式:

所需GPU數量 = 1.8 ∗ 10^23FLOPs/(19.5∗10^12FLOPs/s * 訓練時間秒數)

如果希望在 10 天(約 864000 秒) 內完成訓練, 可以按照以下計算方式得到所需 GPU 數量, 在 10 天內訓練 1000 億參數規模、 1PB 訓練數據集,大約需要 10830 個英偉達 A100 GPU:

所需GPU數量 = 1.8 ∗ 10^23FLOPs/(19.5∗10^12FLOPs/s * 864000s)

接下來, 我們來計算大模型的訓練成本。要計算訓練一個千億規模大型模型的總費用, 我們需要考慮以下 因素:GPU 成本、其他硬件成本(如 CPU、內存、存儲等)、數據中心成本(如電力、冷卻、維護等)、人力成本。

還是上面的例子,需要在 10 天內訓練 1000 億參數規模的大模型,總的成本如下:

GPU 成本: 英偉達 A100 GPU 的價格因供應商和購買數量而異, 假設每個 A100 GPU 的成本約為 10000 美 元,那么 10830 個 GPU 的總成本約為:10830 * $10,000 = $108,300,000

其他硬件成本: GPU 只是整個計算系統的一部分, 我們還需要考慮其他硬件設備的成本。包括 CPU、內存、 存儲、網絡設備等。這些硬件成本可能占據整體硬件成本的一部分, 假設其他硬件成本占 GPU 成本的 20%,那 么:其他硬件成本 = $108,300,000 * 20% = $21,660,000

數據中心成本: 我們還需要考慮數據中心的成本, 包括電力、冷卻、維護等。假設這些成本占 GPU 成本的 10%,那么:數據中心成本 = $108,300,000 * 10% = $10,830,000

人力成本: 訓練大型模型需要一支研究和工程團隊, 包括研究員、工程師、數據科學家等。人力成本因團隊 規模和地區差異而異。在這里,我們假設人力成本約為 200 萬美元。

訓練大語言模型所需費用對比示意圖

綜合以上因素,訓練一個千億規模大型模型的總費用大約為 $142,790,000:

  • 總費用 = GPU 成本 + 其他硬件成本 + 數據中心成本 + 人力成本

  • 總費用 = $108,300,000 + $21,660,000 + $10,830,000 + $2,000,000

因此, 在 10 天內訓練一個千億規模的大型模型大約需要花費 1.43 億美元。當然, 如果訓練時間長一點, 就 可以用更少的 GPU,花費更少的成本。但一般而言, 總成本都會在幾千萬美元規模。從上面的分析可以發現, 大模型真的是燒錢的游戲。先不考慮大模型的研發, 就是要完成一次大模型的訓練, 首先就要有上億的成本投入, 上圖是訓練大語言模型所需費用對比示意圖。

對于 OpenAI API 的用戶, 定價基于模型和使用情況而變化, 例如 GPT-3.5-turbo 通用聊天服務的收費標準 為 0.002$/1k token, 0.003$/1k token0. 12$/1k token

訓練大模型的能耗同樣驚人, 日前, 斯坦福大學人工智能研究所發布的一份新報告估計, 訓練像 OpenAI 的 GPT-3 這樣的人工智能模型所需消耗的能量, 足以可以讓一個普通美國家庭用上數百年了。訓練一個 6b trans- former 總能消耗估計約為 103.5 Mwh ,google 稱,訓練 PaLM 兩個月左右耗費約了 3.4 Gwh。

訓練大語言模型二氧化碳排放量對比示意圖

上圖中展示了訓練四種模型相關的碳成本的研究:DeepMind 的 Gopher 、BigScience inititiaives 的 BLOOM、 Meta 的 OPT 和 OpenAI 的 GPT-3。據報道, OpenAI 的模型在訓練期間釋放了 502 公噸碳。它釋放的碳含量是 Gopher 的 1.4 倍, 是 BLOOM 的 20.1 倍。GPT-3 的耗電量也是最大的, 達 1,287MWh。每個模型的能耗受很多 因素影響, 包括數據點或參數的數量, 它們訓練所在的數據中心的能效。盡管能耗存在明顯差異, 四個模型中 有三個(DeepMind 的 Gopher 除外) 都是在大致相當的 1750 億個參數上進行訓練的。OpenAI 并沒有透露其新 發布的 GTP-4 訓練了多少參數,鑒于該模型前幾個版本之間所需數據的巨大飛躍, 可以肯定 GTP-4 比之前的版 本需要更多數據。

分享到:
標簽:模型 語言
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定