開(kāi)發(fā)一款大模型需要經(jīng)過(guò)哪些步驟?開(kāi)發(fā)一款大模型的完整流程 原創(chuàng)
?“ 打造一款模型是一件非常復(fù)雜的事情,設(shè)計(jì)的問(wèn)題也非常非常多,因此大家要做好心理準(zhǔn)備 ”
這段時(shí)間寫(xiě)的文章主要都在講大模型的應(yīng)用問(wèn)題,以及自己在工作中遇到的一些問(wèn)題;而今天我們就從大模型服務(wù)的角度,來(lái)思考一下打造一款大模型需要經(jīng)過(guò)哪些步驟,也就是怎么打造一款大模型。
怎么打造一款大模型?
可能不同的人對(duì)大模型有不同的理解,不同的企業(yè)實(shí)現(xiàn)大模型的方式可能也不太一樣;但其大體上的步驟和過(guò)程還是差不多的。
打造一款大模型第一步應(yīng)該做什么?
有人說(shuō)打造大模型的第一步是做訓(xùn)練數(shù)據(jù)的收集與整理;從技術(shù)的角度來(lái)說(shuō)這么說(shuō)也沒(méi)錯(cuò),但從流程上來(lái)說(shuō)就有點(diǎn)問(wèn)題了,你都不知道你想要一個(gè)什么樣的大模型,那你怎么收集數(shù)據(jù)?
在上一篇文章中講過(guò)怎么設(shè)計(jì)一款大模型,但設(shè)計(jì)模型只是打造模型的其中一個(gè)步驟。
要想打造一款模型,基本上要經(jīng)過(guò)以下幾個(gè)重要步驟:
- 需求采集與分析
不論做任何事情,第一步都要明白自己想要做什么;因此,第一步就是采集需求,分析需求,然后根據(jù)需求設(shè)計(jì)功能點(diǎn)。
這里面還涉及到很多細(xì)節(jié)方面的東西,比如需求評(píng)審,需求確認(rèn),需求文檔等等,這里就不詳細(xì)展開(kāi)討論了。
- 模型的設(shè)計(jì)與實(shí)現(xiàn)
模型的設(shè)計(jì)與實(shí)現(xiàn),是大模型的項(xiàng)目的關(guān)鍵環(huán)節(jié),這個(gè)環(huán)節(jié)可以說(shuō)是打造模型過(guò)程中最復(fù)雜,也是最難的一點(diǎn),其直接決定著模型的性能。具體來(lái)說(shuō)主要包括以下幾點(diǎn):
設(shè)計(jì)一款模型,需要結(jié)合項(xiàng)目目標(biāo),數(shù)據(jù)特性以及算法理論選擇或設(shè)計(jì)一款模型架構(gòu)。
理解問(wèn)題:首先你要理解你的需求,就是你到底想做一個(gè)什么樣的模型,分類,聚類,生成模型等
設(shè)計(jì)模型架構(gòu):比如選擇模型架構(gòu),transformer,bert,rnn等;然后根據(jù)你的需求,設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)的層數(shù),節(jié)點(diǎn)數(shù),正/反向傳播,損失函數(shù)等。
算法選擇:現(xiàn)在需求有了,架構(gòu)也有了,那么采用哪種算法來(lái)實(shí)現(xiàn),比如自然語(yǔ)言處理的分詞算法,圖像處理的卷積算法等。
正則化與優(yōu)化策略:為了防止過(guò)擬合或欠擬合,并提升模型的泛化能力,所以有時(shí)需要使用正則等方式對(duì)模型進(jìn)行優(yōu)化。
設(shè)置評(píng)估指標(biāo):設(shè)計(jì)一款模型的目的不是為了好玩,而是這個(gè)模型能夠解決什么問(wèn)題,因此就需要有一個(gè)標(biāo)準(zhǔn)來(lái)評(píng)估其好壞。

- 準(zhǔn)備訓(xùn)練數(shù)據(jù)
這一步可能很多人都會(huì)覺(jué)得很簡(jiǎn)單,訓(xùn)練數(shù)據(jù)用爬蟲(chóng)爬一下不就有了,或者掏錢買一點(diǎn)就行了;但事實(shí)上,在模型訓(xùn)練過(guò)程中數(shù)據(jù)準(zhǔn)備也是很重要的一環(huán),模型的好壞除了取決于模型的設(shè)計(jì)和架構(gòu)之外,其次就是訓(xùn)練數(shù)據(jù)的質(zhì)量了。
數(shù)據(jù)采集:數(shù)據(jù)采集包括數(shù)據(jù)需求定義,數(shù)據(jù)源,數(shù)據(jù)采集,數(shù)據(jù)存儲(chǔ)等等。
數(shù)據(jù)清洗與預(yù)處理:由于數(shù)據(jù)采集時(shí),數(shù)據(jù)來(lái)源不一而足,數(shù)據(jù)質(zhì)量也不一而足,因此數(shù)據(jù)的清洗和預(yù)處理就顯得特別重要,其作用就是保證給到大模型的訓(xùn)練數(shù)據(jù)是高質(zhì)量的,而不是隨便找的。比如,數(shù)據(jù)缺失,異常值,數(shù)據(jù)重復(fù),數(shù)據(jù)轉(zhuǎn)換等多種操作。

數(shù)據(jù)標(biāo)注:數(shù)據(jù)標(biāo)注應(yīng)該大部分人都知道,監(jiān)督學(xué)習(xí)過(guò)程中,需要大量的標(biāo)注數(shù)據(jù)才能進(jìn)行模型訓(xùn)練;但數(shù)據(jù)標(biāo)注也有很多注意點(diǎn),比如數(shù)據(jù)標(biāo)注的目的,如何標(biāo)注,使用哪種工具,標(biāo)注質(zhì)量的檢查等等;由于訓(xùn)練數(shù)據(jù)一般比較龐大,因此很難人工進(jìn)行檢查;因此,其難度可想而知。
數(shù)據(jù)集的劃分:有過(guò)模型訓(xùn)練經(jīng)驗(yàn)的人應(yīng)該都知道,模型訓(xùn)練一般會(huì)把數(shù)據(jù)集劃分成訓(xùn)練集,測(cè)試集,驗(yàn)證集等多個(gè)模塊;但數(shù)據(jù)集應(yīng)該怎么劃分,有哪些標(biāo)準(zhǔn);比如劃分策略,是隨機(jī)劃分,還是分層抽樣,或者根據(jù)時(shí)間劃分等。
最后,還要數(shù)據(jù)的分割工具,數(shù)據(jù)的存儲(chǔ)與加載等等問(wèn)題。
- 模型初始化
說(shuō)到模型初始化,可能有些人聽(tīng)過(guò),有些人根本不知道這玩意;所謂的模型初始化就是,新設(shè)計(jì)的模型其參數(shù)值是默認(rèn)的或者沒(méi)有值;因此就需要在訓(xùn)練之前給模型設(shè)置一個(gè)初始值;這個(gè)值可以是隨機(jī)的,也可以是來(lái)自某些經(jīng)驗(yàn)值。
初始化也是一個(gè)復(fù)雜的過(guò)程,由于某些模型參數(shù)量巨大,因此就需要有一個(gè)初始化的策略;還有一些參數(shù)的權(quán)重,包括一些超參數(shù)的設(shè)計(jì)等;比如訓(xùn)練的批次大小,訓(xùn)練速率等。
模型初始化可能會(huì)影響到模型的訓(xùn)練成果,或者影響模型的訓(xùn)練效率等。
- 模型訓(xùn)練
模型訓(xùn)練可能是很多人比較感興趣的一個(gè)話題,而且可能有部分人已經(jīng)自己訓(xùn)練過(guò)一些小模型;因此,這里就不再多說(shuō)了。
模型訓(xùn)練是一個(gè)系統(tǒng)性的過(guò)程,涉及到訓(xùn)練數(shù)據(jù)的收集,整理;超參數(shù)的設(shè)定,正反向傳播函數(shù)的選擇等等。

- 模型測(cè)試與驗(yàn)證
模型測(cè)試與驗(yàn)證這個(gè)就更不用多說(shuō)了,一款模型的效果怎么樣,設(shè)計(jì)的好不好,訓(xùn)練結(jié)果是否達(dá)到預(yù)期;這些都需要在對(duì)模型做過(guò)測(cè)試和驗(yàn)證之后,才能得到結(jié)論。
而模型測(cè)試與驗(yàn)證,又涉及到前面的訓(xùn)練數(shù)據(jù)的劃分,以及評(píng)估指標(biāo)的實(shí)現(xiàn)等等。
- 模型部署與維護(hù)
最后,就是大模型的部署與維護(hù)了;大模型與傳統(tǒng)的普通企業(yè)項(xiàng)目不同,大模型體積巨大,不但自己體積大,而且訓(xùn)練數(shù)據(jù)體積也很龐大;因此單一機(jī)器無(wú)法承載大模型的訓(xùn)練,部署與維護(hù);因此分布式就成了一個(gè)必然選擇。
但,大模型在分布式場(chǎng)景中怎么實(shí)現(xiàn),怎么實(shí)現(xiàn)并行計(jì)算,怎么進(jìn)行數(shù)據(jù)和模型的加載,存儲(chǔ);自動(dòng)化運(yùn)維應(yīng)該怎么做,怎么保證模型的高可用性等等。
還有就是,大模型部署完成后的接口封裝,怎么把大模型應(yīng)用到業(yè)務(wù)系統(tǒng)中,怎么保證其在高并發(fā)環(huán)境下的性能和穩(wěn)定性問(wèn)題等。
總之,大模型由于其體量問(wèn)題,其部署與維護(hù)需要專業(yè)的運(yùn)維團(tuán)隊(duì),并且還要有完善的自動(dòng)化運(yùn)維系統(tǒng),否則靠人力很難完成。
?
本文轉(zhuǎn)載自公眾號(hào)AI探索時(shí)代 作者:DFires

















