[發明專利]一種神經網絡模型的訓練方法、裝置及芯片有效
| 申請號: | 201611076461.2 | 申請日: | 2016-11-29 |
| 公開(公告)號: | CN108122027B | 公開(公告)日: | 2021-01-12 |
| 發明(設計)人: | 白小龍;張長征;夏命榛 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | G06N3/04 | 分類號: | G06N3/04 |
| 代理公司: | 北京同達信恒知識產權代理有限公司 11291 | 代理人: | 馮艷蓮 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 神經網絡 模型 訓練 方法 裝置 芯片 | ||
1.一種神經網絡模型的訓練方法,其特征在于,所述方法用于包括M個工作模塊的訓練系統,所述神經網絡模型包括L層,所述M和所述L為大于等于1的整數;針對所述神經網絡模型的L層中的每層,都使用所述M個工作模塊中的至少一個工作模塊對所述每層進行訓練;所述方法包括:
針對所述神經網絡模型的L層中的每層,在所述每層的模型參數集合中的預估數據量不大于輸出數據的預估數據量的情況下,確定所述每層的模型訓練方式為數據并行訓練方式;在所述每層的模型參數集合中的預估數據量大于輸出數據的預估數據量的情況下,確定所述每層的模型訓練方式為模型并行訓練方式;所述模型參數集合包括所述每層的所有模型參數;
所述至少一個工作模塊中的每個工作模塊都執行以下操作以對所述每層進行訓練:
在進行從第一層計算至第L層的前向算法、且j為大于1且小于等于L的整數的情況下:
在所述每層為所述神經網絡模型中的第一層,并且所述第一層為數據并行訓練方式的情況下:所述工作模塊將第一輸入數據作為所述第一層的輸入數據,對所述第一層的模型參數進行數據并行訓練,所述第一輸入數據為所述工作模塊對應的初始訓練數據;
在所述每層為所述神經網絡模型中的第一層,并且所述第一層為模型并行訓練方式的情況下:所述工作模塊將第二輸入數據作為所述工作模塊第一層的輸入數據,對所述第一層的模型參數進行模型并行訓練,所述第二輸入數據為所述至少一個工作模塊對應的初始訓練數據;
在所述每層為所述神經網絡模型中的第j層,并且所述第j層為數據并行訓練方式的情況下:所述工作模塊將第一輸出數據作為所述第j層的輸入數據,對所述第j層的模型參數進行數據并行訓練,得到所述工作模塊對應的局部梯度,并向服務器上推所述工作模塊對應的局部梯度,并從所述服務器下拉所述第j層對應的全局梯度,所述第一輸出數據為所述工作模塊第j-1層訓練的輸出數據;
在所述每層為所述神經網絡模型中的第j層,并且所述第j層為模型并行訓練方式的情況下,所述工作模塊將第二輸出數據作為所述第j層的輸入數據,對所述第j層的模型參數進行模型并行訓練,得到所述第j層對應的全局梯度,所述第二輸出數據為m個工作模塊第j-1層訓練的輸出數據,所述m個工作模塊為所述第j-1層訓練使用的一個或多個工作模塊;所述m為大于等于1且小于等于M的整數;其中,所述L層中至少一層的m的值大于1。
2.如權利要求1所述的方法,其特征在于,在所述第j層為模型并行訓練方式的情況下:所述工作模塊將第二輸出數據作為所述第j層的輸入數據,對所述第j層的模型參數進行模型并行訓練,包括:
所述工作模塊根據所述第j層的模型參數的集合,確定所述工作模塊所訓練的所述第j層的模型參數的子集;
所述工作模塊將所述第二輸出數據作為所述第j層的輸入數據,對所述第j層的模型參數的子集進行模型并行訓練;
其中,所述至少一個工作模塊中的任兩個工作模塊所訓練的所述第j層的模型參數的子集之間交集為空,所述至少一個工作模塊中所有工作模塊所訓練的所述第j層的模型參數的子集的并集等于所述第j層的模型參數的全集。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611076461.2/1.html,轉載請聲明來源鉆瓜專利網。





