大模型落地應用指北—大模型能吃嗎?
一、大模型概述
1.什么是大模型
本文的大模型特指的是大規模數據訓練得到的預訓練模型,對于大模型,2021年8月李飛飛聯合100多名專家發布了一份研究報告《On the Opportunities and Risk of Foundation Models》,他們將大模型統一命名為 fundation model,也可以稱之為基石模型,屬于深度學習的一種。此外,從命名就可以看出,大模型的研究已經在AI 領域形成了里程碑式的影響。
那么什么樣的模型可以稱為大模型,應可以包括3個方面:模型的參數規模大、模型訓練用到的數據規模大、模型訓練用到的機器更多 。
參數規模大(一張卡搞不定):其中參數規模主要與傳統的深度學習模型進行比較,傳統模型參數量最多也就是百萬,而預訓練模型則一下子直接突破到了億這個級別,在此后的模型參數的規模增長呈現了一種指數級的跨越式增長,并且能夠實現效果的持續提升。
圖1:模型數據量增長趨勢
思考:模型是不是越大越好,模型越來越大是不是趨勢?
2021年,一整年整個行業都在鼓吹大模型效果,OpenAI在20年5月發布了GPT-3之后仿佛打開了潘多拉魔盒,放出了所有人訓練更大模型的“貪欲"。21年1月Google1.6萬億的Switch transformer,6月智源1.75萬億的悟道2.0,11月阿里10萬億的M6。
2021年12月28日,阿里達摩院在《達摩院2022十大科技趨勢》提出大模型的性能與能耗提升不成比例。在2021年12月,百度發ERNIE3.0 Titan,模型的規模只有千億級別。顯然模型參數的增量也已經進入了瓶頸期,以參數量的提升來提高模型效果這條路不好走了。大模型整體已經從單純的拓展參數規模,開始卷向拓展任務復雜程度,提高數據質量與數量。
數據規模大(一臺機器處理不完):2018年的 BERT模型,使用了BooksCorpus (單詞量 800M),English Wikipedia (單詞量 2,500M)進行訓練,總體數據量在GB級別,然而到了中文領域,數據量直接飆升到了TB 起步,其中悟道2.0用了3TB 數據,ERNIE3.0用了4TB 數據。
圖2:模型訓練數據量增長趨勢
具體來說,模型應該具備多少參數規模、使用多少數據進行訓練,才能稱之為大模型?目前業界并沒有具體的定論,只要符合具備足夠多的模型參數,能夠蘊含足夠多數據的信息的模型,都可以稱為大模型。而超大規模的模型,一般情況下是以GPT3作為標桿,通常超過百億級別的模型都可以認為是超大規模的模型,這類模型,單機單節點已經無法滿足處理要求了。
2.大模型怎么用
自2018年NLP 領域 BERT提出之后,AI 應用進入了一個新紀元。訓練范式不再是從使用數據直接訓練出模型這樣一對一(數據A1對應模型A1)的關系。而是使用“預訓練+微調”范式,即提前使用大量無監督數據A2進行訓練,得到預訓練模型A2(Pretrained Model),然后在不同領域使用數據(B1、B2等),通過對 A2模型在不同類型任務上進行微調可以得到 (B1、B2等)模型的范式,大致方式如下:
圖3:fundation model 下游任務應用
當然在上一小節,也說到大模型一臺機器訓練不了,一張卡放不下。因此,目前大模型更多的是離線應用,在線應用上,還需要考慮知識蒸餾和低精度量化等模型壓縮技術、項目實時性等一系列復雜的項目難題。大模型基本形成了一種AI能力的公共基礎組件,結合一個或者多個助教模型實現大模型知識的蒸餾學習,實現垂直領域模型的快速定制。
二、大模型的趨勢與應用
1.大模型相關政策與發展趨勢
2021年12月,國務院印發《“十四五”數字經濟發展規劃》,指出要增強關鍵技術創新能力,提高數字技術基礎研發能力,加快創新技術的工程化和產業化。而大規模預訓練模型屬于人工智能新基建領域新興并快速發展的熱點方向之一。
2021年12月,國內超大預訓練模型飛速發展。在《2022達摩院十大科技趨勢》中,達摩院將其稱作“從弱人工智能通向人工智能突破性的探索”。
2022年1月,中國信通院《AI 框架發展白皮書》中提出“AI 框架將著力強化對超大規模 AI 的支持”。同期發布的《AI人工智能白皮書》中指出,超大規模預訓練模型也在推動技術效果不斷提升,繼續朝著規模更大、模態更多的方向發展。
2022年1月,百度研究院發布2022年十大趨勢預測,其中超大規模預訓練模型居首位,百度表示超大規模預訓練模型將逐漸朝著實用化方向發展,呈現知識增強、跨模態統一建模、多學習方式共同演進的趨勢。
2022年4月,中國信通院啟動大模型系列標準編制工作,從大模型的開發、能力、應用和安全可信等方面進行評估,建立和完善大模型技術和應用評估方法標準體系。
從上面可以看出,在超大規模預訓練模型是AI 技術發展的大趨勢上基本達成了共識。而工業界,普遍認為超大模型逐步向多模態、實用主義發展。
2.大模型的落地應用分析
相對于一般的廠商來說,云廠商去實現大模型具備了一定的優勢,因此可以看到各大云廠商都具備對應的大模型,并且大模型的相關應用也越來越卷,簡單羅列了一下幾大云廠商的應用關系如下:
圖4:部分廠商大模型應用
整體來看,云廠商使用大模型主要有2個層面的應用考慮:
一是提高生產力:包括普適性 AI 應用,即使用大模型完成小模型的快速定制,另外就是快速的將大模型使用到現有產品中去,包括智能問答、服裝設計等場景,在不斷的使用大模型探索應用的邊界。
二是提高影響力:包括可以依賴大模型宣傳一波自己的框架(百度的 PaddlePaddle、華為的 MindSpore);借助大模型刷榜,挑戰人類智能極限(中文的 CLUE,英文的 GLUE 等);開發出各種好玩但不一定賺錢的應用(AI 寫詩、AI 作畫,展會特別好用),也許某一天就可以變現了。
三、大模型實現分析
此處只是對大模型的實現進行一個簡單的分析,有不靠譜之處敬請諒解??偟膩碚f,如果要吃下大模型大概可以分為數據、技術、資源三個層面進行展開,以下對大模型的整體可行性進行初步的簡單評估。
1.大模型訓練框架分析
目前大模型對于 Trillion 級別的模型還是很難基于單一模型實現的,超大模型基本都是一些混合模型,而理論基礎基本都是基于 Google 提出的 MoE 的理論以及對應的改進。
而對于1T以下的大模型來說,國內目前只有 PaddlePaddle、MindSpore、OneFlow等少數國產框架支持分布式大模型訓練,其他的基本都是基于 Tensorflow 或者 Pytorch 的基礎上進行開發的分布式框架。也因此,目前大規模分布式模型支持的最好的還是 GPU。除了華為的 MindSpore 是可以支持華為本身的昇騰芯片之外,對于原生芯片的支持目前來看并沒有那么好(目前的訓練芯片的支持情況均從相關論文以及開源代碼中進行梳理)。
圖5:部分大模型框架支持情況
目前來看,除了以上整理的框架之外,國內還是有非常多的優秀框架能夠完成大模型訓練任務的,包括智源提供的OpenBMB、火山引擎(字節)veGiantModel 等框架都可以實現大模型的訓練任務,因此模型的訓練框架選擇還是比較多的,因此在2022年的今年,只要有數據,大模型訓練再也不是瓶頸,條條大路通羅馬。
2.大模型訓練瓶頸分析
從2017年Transformer結構的提出開始,目前模型參數一個比一個大,從圖上看,超過10億參數規模的數據就已不是一張 GPU 卡能夠訓練優化的了,更大的模型(GPT3、T5)等模型就更別說了。如下圖,每隔2年硬件顯存大概增長了2倍,但是大模型參數量已經增長了超過240倍。
圖6:硬件與模型增量
目前大模型訓練框架雖然提出了模型并行、數據并行、流水線并行等多種策略來降低單一節點上顯存的占用,從而實現分布式模型的訓練,甚至最后衍生出ZeRO這樣通過計算時間換空間的降低單一節點顯存使用的極致方案,但是大模型的訓練依然存在一定的瓶頸。
圖7:大模型的并行訓練機制
隨著數據和模型的不斷增大,主要會觸碰到兩方面的瓶頸,大數據和大模型所產生的顯存墻問題(模型是否能跑起來)以及計算墻(能否在合理時間內完成訓練)問題。
顯存問題:如果不考慮 ZeRO這樣極端的參數優化方案,以GPT-2為例,參數量為1.6B,使用Adaw 優化器、以及混合精度進行訓練,實際顯存占用大約為16倍fp16的參數量,訓練時顯存占用約為24G(正好一張P40),哪怕使用了一些優化方案。比如,華為盤古大模型使用參數量為200B,實際使用顯存約為3500G。
計算問題:OpenAI通過估算,端到端訓練一個萬億參數的模型大約需要 5000 ZFLOPs(即 5 后面帶有 24 個零)。不考慮顯存、調優等問題的話,訓練這樣一個模型需要 4000 張 A100 以 50% 的計算效率運行大約 100 天。哪怕 BERT 這樣的基礎模型,訓練時間也相當長(以天為單位),下面提供的是關于 BERT 模型在微軟 DeepSpeed 上的訓練時間。
圖8:微軟 DeepSpeed 上 BERT 的模型訓練時間
四、大模型落地分析
大模型要落地,主要從數據、技術、資源、應用上進行分析,并梳理出對應的問題
圖9:如果要用大模型應該關注的問題
Ready | Problem&Task | |
數據 | 1、開源數據集200GB+,包括智源等等都有相關數據可用于訓練。 | 1、數據質量過濾:數據質量參差不齊,需要進行清洗。 2、敏感數據過濾:部分數據存在敏感信息,需要進行脫敏處理。 |
技術 | 1、各種語言都存在各種分布式訓練框架,可快速進行模型訓練。 | 1、超大模型的分布式推理框架( PaddleServing v0.9.0 剛剛支持了)。 2、超大規模模型如何進行增量訓練。 3、超大模型如何有效蒸餾到小模型。 4、超大規模模型訓練時間太長,如何選擇可靠的訓練框架。 |
資源 | 1、如果只有一張GTX3080就不想了,如果有2張,也許還是能夠試一把的。 | 1、各大云廠商都有免費資源可以薅,比如百度的算力卡(參與比賽獲得),移動云的九天深度學習平臺(首次注冊300小時)。 |
應用 | 1、高價值場景主要為進行快速模型定制,目前這樣的場景較少,且模型訓練成本較高,一個人搞的話,其實很困難。 2、有趣場景的定制(AI 作詩、AI 寫文章),定制成本較低,數據也比較好獲取,這個倒是非常適合低成本場景。 |
五、總結
總體來說,大模型是目前算法技術發展的趨勢,大模型可以讓數據發揮出更大的價值,大模型可以貫穿數據、平臺、業務多個層面的應用。
在技術可行性方面,如果只有一張 GTX3080,對于訓練10B 以上的模型還是做不到的。在最優的情況下,應該可以實現1B左右的大模型的訓練與優化(當然時間會非常久)。另外,考慮到性價比,如果真的要做大模型還是應該以垂直領域的模型為主。
六、參考文獻
[1] AI and Memory Wall
??https://medium.com/riselab/ai-and-memory-wall-2cb4265cb0b8??
[2] 【預訓練大模型】智源大會,預訓練大模型落地路
??https://zhuanlan.zhihu.com/p/522510716??
[3] 達摩院十大科技趨勢
??https://damo.alibaba.com/techtrends/2022?lang=zh??
[4] 大模型的發展與解決的問題
??https://zhuanlan.zhihu.com/p/432813821??
[5] AI框架必懂的AI系統知識
??https://zhuanlan.zhihu.com/p/453979535??
[6] A Roadmap for Big Model
[7] 清華劉知遠:大模型「十問」,尋找新范式下的研究方向
??https://mp.weixin.qq.com/s/3hskwZnuRTgC-Ynf5t1HnQ??
[8] 達摩院大模型技術交流會
??https://event.baai.ac.cn/activities/252??
[9] AI 框架發展白皮書
??http://www.caict.ac.cn/kxyj/qwfb/bps/202202/t20220225_397170.htm??
[10] 人工智能發展白皮書(信通院)
??http://www.caict.ac.cn/kxyj/qwfb/bps/202204/t20220412_399752.htm??
[11] 百度研究院發布2022年十大科技趨勢
??https://www.leiphone.com/category/academic/hu913iRFqjyBmyaN.html??
[12] 大規模訓練系列之技術挑戰
??https://zhuanlan.zhihu.com/p/350707888??
本文轉載自 ??AI遇見云??,作者: 楊希
