System.ArgumentOutOfRangeException: 索引和長(zhǎng)度必須引用該字符串內(nèi)的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術(shù)實(shí)現(xiàn)步驟摘要】
本申請(qǐng)涉及計(jì)算機(jī),尤其涉及一種大模型訓(xùn)練系統(tǒng)的參數(shù)訓(xùn)練方法、裝置及程序產(chǎn)品。
技術(shù)介紹
1、在機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的工業(yè)實(shí)踐中,海量的數(shù)據(jù)規(guī)模和復(fù)雜的數(shù)據(jù)結(jié)構(gòu)衍生出大模型。但大模型結(jié)構(gòu)復(fù)雜,參數(shù)眾多;且喂入大模型的數(shù)據(jù)量大且數(shù)據(jù)維度多。因此單個(gè)機(jī)器上的有限資源無法滿足大模型訓(xùn)練的要求。
2、現(xiàn)有技術(shù)中通過設(shè)計(jì)一種分布式訓(xùn)練系統(tǒng)來解決大模型訓(xùn)練問題。在分布式訓(xùn)練系統(tǒng)中,將一個(gè)大模型訓(xùn)練任務(wù)拆分成多個(gè)子任務(wù),每個(gè)子任務(wù)分發(fā)給一個(gè)計(jì)算節(jié)點(diǎn),多個(gè)計(jì)算節(jié)點(diǎn)并行地進(jìn)行訓(xùn)練,并將產(chǎn)生的梯度信息傳輸給參數(shù)節(jié)點(diǎn)。參數(shù)節(jié)點(diǎn)根據(jù)多個(gè)計(jì)算節(jié)點(diǎn)產(chǎn)生的梯度信息更新大模型的權(quán)重參數(shù),多個(gè)計(jì)算節(jié)點(diǎn)再?gòu)膮?shù)節(jié)點(diǎn)中獲取更新的權(quán)重參數(shù)進(jìn)行下一輪訓(xùn)練。
3、在分布式訓(xùn)練系統(tǒng)中,參數(shù)節(jié)點(diǎn)在每次迭代訓(xùn)練階段為進(jìn)行權(quán)重參數(shù)更新,需收集所有計(jì)算節(jié)點(diǎn)的權(quán)重,計(jì)算節(jié)點(diǎn)和參數(shù)節(jié)點(diǎn)之間通信頻繁且通信量巨大,極易發(fā)生通信阻塞和通訊失敗,因此通信問題演化成大模型訓(xùn)練問題,它決定了大模型能否訓(xùn)練成功,而極大通信量的通信又極其脆弱,從而導(dǎo)致大模型訓(xùn)練極其不穩(wěn)定。
4、現(xiàn)有技術(shù)采用區(qū)間壓縮方法,即將計(jì)算節(jié)點(diǎn)產(chǎn)生的梯度信息由高精度壓縮到低精度,從而減少通信量。但是梯度信息從高精度下降到低精度帶來的信息損失,會(huì)讓大模型無法接收高維度的數(shù)據(jù)特征,影響大模型的表達(dá)能力;且低精度的梯度信息更容易變化為0,容易產(chǎn)生梯度消散的問題;而且,梯度信息從高精度下降到低精度,往往蘊(yùn)含了求整操作,這使得梯度不具備連續(xù)性,導(dǎo)致大模型不可導(dǎo),失去模型訓(xùn)練能力。
5、那么,如何
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)?zhí)峁┮环N大模型訓(xùn)練系統(tǒng)的參數(shù)訓(xùn)練方法、裝置及程序產(chǎn)品,能夠在減少通信量的情況下,維持大模型訓(xùn)練結(jié)果的準(zhǔn)確度。
2、第一方面,本申請(qǐng)實(shí)施例提供一種大模型訓(xùn)練系統(tǒng)的參數(shù)訓(xùn)練方法,所述大模型訓(xùn)練系統(tǒng)包括多個(gè)計(jì)算節(jié)點(diǎn)和參數(shù)節(jié)點(diǎn);所述多個(gè)計(jì)算節(jié)點(diǎn)用于并行地執(zhí)行大模型訓(xùn)練任務(wù);所述參數(shù)節(jié)點(diǎn),用于根據(jù)所述多個(gè)計(jì)算節(jié)點(diǎn)在每次迭代訓(xùn)練階段產(chǎn)生的梯度信息,對(duì)大模型的權(quán)重參數(shù)進(jìn)行更新;該方法可以由大模型訓(xùn)練系統(tǒng)的參數(shù)訓(xùn)練裝置執(zhí)行,該大模型訓(xùn)練系統(tǒng)的參數(shù)訓(xùn)練裝置可以是一個(gè)終端設(shè)備或用于終端設(shè)備的模塊,或者是一個(gè)服務(wù)器或用于服務(wù)器的模塊。本申請(qǐng)對(duì)該方法的執(zhí)行主體不做限定。該方法包括:第一計(jì)算節(jié)點(diǎn)獲取第i次迭代訓(xùn)練產(chǎn)生的n個(gè)參數(shù)的梯度信息;其中,所述第一計(jì)算節(jié)點(diǎn)為所述多個(gè)計(jì)算節(jié)點(diǎn)中的任一節(jié)點(diǎn);i和n為正整數(shù);所述第一計(jì)算節(jié)點(diǎn)根據(jù)所述第i次迭代訓(xùn)練產(chǎn)生的n個(gè)參數(shù)的梯度信息與第i-1次迭代訓(xùn)練后的殘留梯度和,確定第i次迭代總梯度;其中,所述殘留梯度和是對(duì)歷次迭代訓(xùn)練中不滿足閾值條件的同一參數(shù)的梯度信息進(jìn)行累加得到的;所述殘留梯度和存儲(chǔ)在所述第一計(jì)算節(jié)點(diǎn);所述第一計(jì)算節(jié)點(diǎn)將所述第i次迭代總梯度中滿足所述閾值條件的m個(gè)參數(shù)的梯度信息發(fā)送至所述參數(shù)節(jié)點(diǎn);所述滿足所述閾值條件的m個(gè)參數(shù)作為傳輸梯度;m為小于n的正整數(shù);所述參數(shù)節(jié)點(diǎn)根據(jù)所有計(jì)算節(jié)點(diǎn)發(fā)送的第i次迭代訓(xùn)練的傳輸梯度,更新大模型在第i+1次迭代訓(xùn)練中使用的權(quán)重參數(shù);所述第一計(jì)算節(jié)點(diǎn)從所述參數(shù)節(jié)點(diǎn)中獲取第i+1次迭代訓(xùn)練中使用的權(quán)重參數(shù),進(jìn)行第i+1次迭代訓(xùn)練。
3、上述方案,一方面,將滿足閾值條件的參數(shù)的梯度傳輸給參數(shù)節(jié)點(diǎn),不滿足閾值條件的參數(shù)的梯度保留在第一計(jì)算節(jié)點(diǎn);也就是說,每次迭代,只將部分參數(shù)的梯度傳輸給參數(shù)節(jié)點(diǎn),因此,能夠有效地減少了分布式計(jì)算節(jié)點(diǎn)間通信的信息量;減少通信阻塞,提高大模型訓(xùn)練的穩(wěn)定性。另一方面,傳輸給參數(shù)中心的梯度的精度沒有改變,能夠使得大模型接收高緯度的數(shù)據(jù)特征,模型的梯度信息也不會(huì)輕易變?yōu)?,減少了梯度消散的可能性,從而維持了大模型訓(xùn)練結(jié)果的準(zhǔn)確度;且由于梯度的精度沒有改變,也沒有求整的操作,不會(huì)使得大模型不可導(dǎo)。再一方面,本申請(qǐng)的第i次迭代總梯度包含了第i次迭代訓(xùn)練產(chǎn)生的n個(gè)參數(shù)的梯度信息與第i-1次迭代訓(xùn)練后的殘留梯度和,也就是說,迭代過程中的所有參數(shù)的梯度都參與了參數(shù)的更新,正由于迭代過程中的所有參數(shù)的梯度都參與了參數(shù)的更新,因此能夠使得模型快速收斂。
4、一種可能的實(shí)現(xiàn)方法中,所述第一計(jì)算節(jié)點(diǎn)對(duì)所述第i次迭代總梯度的n個(gè)參數(shù)的梯度信息進(jìn)行排序,選擇梯度信息大的前m位參數(shù)的梯度信息發(fā)送至所述參數(shù)節(jié)點(diǎn),或所述第一計(jì)算節(jié)點(diǎn)確定所述第i次迭代總梯度的n個(gè)參數(shù)的梯度信息與第一梯度閾值進(jìn)行比較,將大于所述第一梯度閾值的參數(shù)對(duì)應(yīng)的梯度信息發(fā)送至所述參數(shù)節(jié)點(diǎn)。
5、上述方案,一方面,將滿足閾值條件的參數(shù)的梯度傳輸給參數(shù)節(jié)點(diǎn),不滿足閾值條件的參數(shù)的梯度保留在第一計(jì)算節(jié)點(diǎn);也就是說,每次迭代,只將部分參數(shù)的梯度傳輸給參數(shù)節(jié)點(diǎn),因此,能夠有效地減少了分布式計(jì)算節(jié)點(diǎn)間通信的信息量;減少通信阻塞,提高大模型訓(xùn)練的穩(wěn)定性。另一方面,傳輸給參數(shù)中心的梯度的精度沒有改變,能夠使得大模型接收高緯度的數(shù)據(jù)特征,模型的梯度信息也不會(huì)輕易變?yōu)?,減少了梯度消散的可能性,從而維持了大模型訓(xùn)練結(jié)果的準(zhǔn)確度;且由于梯度的精度沒有改變,也沒有求整的操作,不會(huì)使得大模型不可導(dǎo)。
6、一種可能的實(shí)現(xiàn)方法中,所述第一計(jì)算節(jié)點(diǎn)將所述第i次迭代總梯度中不滿足閾值條件的梯度信息確定為第i次迭代的殘留梯度;將第i次迭代的殘留梯度和第i-1次迭代的殘留梯度和中同一參數(shù)的梯度信息進(jìn)行相加,確定第i次迭代的殘留梯度和。
7、上述方案,將每次迭代的殘留梯度都疊加在一起,能夠使得迭代過程中的所有參數(shù)的梯度都參與了參數(shù)的更新,正由于迭代過程中的所有參數(shù)的梯度都參與了參數(shù)的更新,因此能夠使得模型快速收斂。
8、一種可能的實(shí)現(xiàn)方法中,判斷所述第i次迭代總梯度是否大于第二梯度閾值;若所述第i次迭代總梯度大于所述第二梯度閾值,則縮小所述第i次迭代總梯度。
9、上述方案,由于殘留梯度和一直處于疊加過程,數(shù)值一直在增大,因此容易產(chǎn)生梯度爆炸問題,縮小第i次迭代總梯度,能夠有效減少梯度爆炸問題。
10、一種可能的實(shí)現(xiàn)方法中,確定所述第i次迭代總梯度在l2范式下對(duì)應(yīng)的轉(zhuǎn)換值;根據(jù)所述第二梯度閾值和所述轉(zhuǎn)換值的比值,確定縮小因子;根據(jù)所述縮小因子,縮小所述第i次迭代總梯度。
11、上述方案,一方面,能夠在不改變梯度精度的情況下,縮小第i次迭代總梯度,從而減少梯度爆炸問題。另一方面,l2范式具備權(quán)重衰減的能力,能夠?qū)μ荻炔煌臋?quán)重進(jìn)行不同比例的縮小且它不影響梯度的分布特性,還能使得其對(duì)梯度的影響變小。
12、一種可能的實(shí)現(xiàn)方法中,預(yù)設(shè)全局梯度閾值;根據(jù)全局梯度閾值以及計(jì)算節(jié)點(diǎn)的個(gè)數(shù),確定所述第二梯度閾值;
13、所述第二梯度閾值的計(jì)算方法如下所示:
14、
15、其中,為所述第二梯度閾值,tg為所述全局梯度閾值,n為計(jì)算節(jié)點(diǎn)的個(gè)數(shù),為根號(hào)函數(shù)。
16、上述方案,對(duì)于具備n個(gè)節(jié)點(diǎn)的分布式模型來說,每個(gè)節(jié)點(diǎn)之間的梯度是獨(dú)立同分布的,基于l2范式的特點(diǎn),第二梯度閾值本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
1.一種大模型訓(xùn)練系統(tǒng)的參數(shù)訓(xùn)練方法,其特征在于,所述大模型訓(xùn)練系統(tǒng)包括多個(gè)計(jì)算節(jié)點(diǎn)和參數(shù)節(jié)點(diǎn);所述多個(gè)計(jì)算節(jié)點(diǎn)用于并行地執(zhí)行大模型訓(xùn)練任務(wù);所述參數(shù)節(jié)點(diǎn),用于根據(jù)所述多個(gè)計(jì)算節(jié)點(diǎn)在每次迭代訓(xùn)練階段產(chǎn)生的梯度信息,對(duì)大模型的權(quán)重參數(shù)進(jìn)行更新;
2.如權(quán)利要求1所述的方法,其特征在于,所述第一計(jì)算節(jié)點(diǎn)將所述第i次迭代總梯度中滿足所述閾值條件的m個(gè)參數(shù)的梯度信息發(fā)送至所述參數(shù)節(jié)點(diǎn),包括:
3.如權(quán)利要求1所述的方法,其特征在于,所述第一計(jì)算節(jié)點(diǎn)將所述第i次迭代總梯度中滿足所述閾值條件的m個(gè)參數(shù)的梯度發(fā)送至所述參數(shù)節(jié)點(diǎn)之后,還包括:
4.如權(quán)利要求1所述的方法,其特征在于,所述確定第i次迭代總梯度之后,還包括:
5.如權(quán)利要求4所述的方法,其特征在于,所述縮小所述第i次迭代總梯度,包括:
6.如權(quán)利要求4所述的方法,其特征在于,所述判斷所述第i次迭代總梯度是否大于第二梯度閾值之前,還包括:
7.如權(quán)利要求1至6中任一項(xiàng)所述的方法,其特征在于,所述方法還包括:
8.如權(quán)利要求1至6中任一項(xiàng)所述的方法,其特
9.一種大模型訓(xùn)練系統(tǒng)的參數(shù)訓(xùn)練裝置,其特征在于,包括:
10.一種計(jì)算機(jī)程序產(chǎn)品,其特征在于,包括有可由計(jì)算機(jī)設(shè)備執(zhí)行的計(jì)算機(jī)程序,當(dāng)所述程序在計(jì)算機(jī)設(shè)備上運(yùn)行時(shí),使得所述計(jì)算機(jī)設(shè)備執(zhí)行權(quán)利要求1至8任一所述方法的步驟。
...【技術(shù)特征摘要】
1.一種大模型訓(xùn)練系統(tǒng)的參數(shù)訓(xùn)練方法,其特征在于,所述大模型訓(xùn)練系統(tǒng)包括多個(gè)計(jì)算節(jié)點(diǎn)和參數(shù)節(jié)點(diǎn);所述多個(gè)計(jì)算節(jié)點(diǎn)用于并行地執(zhí)行大模型訓(xùn)練任務(wù);所述參數(shù)節(jié)點(diǎn),用于根據(jù)所述多個(gè)計(jì)算節(jié)點(diǎn)在每次迭代訓(xùn)練階段產(chǎn)生的梯度信息,對(duì)大模型的權(quán)重參數(shù)進(jìn)行更新;
2.如權(quán)利要求1所述的方法,其特征在于,所述第一計(jì)算節(jié)點(diǎn)將所述第i次迭代總梯度中滿足所述閾值條件的m個(gè)參數(shù)的梯度信息發(fā)送至所述參數(shù)節(jié)點(diǎn),包括:
3.如權(quán)利要求1所述的方法,其特征在于,所述第一計(jì)算節(jié)點(diǎn)將所述第i次迭代總梯度中滿足所述閾值條件的m個(gè)參數(shù)的梯度發(fā)送至所述參數(shù)節(jié)點(diǎn)之后,還包括:
4.如權(quán)利要求1所述的方法,其特征在于,所述確定第i次迭代總梯度之后,還包括:
5.如權(quán)利要求4所述的方法...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:譚丁武,李檢全,陳志明,李建峰,李毅,萬磊,
申請(qǐng)(專利權(quán))人:深圳前海微眾銀行股份有限公司,
類型:發(fā)明
國(guó)別省市:
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。