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