TW201740294A - 一種模型的訓練方法和裝置 - Google Patents
一種模型的訓練方法和裝置 Download PDFInfo
- Publication number
- TW201740294A TW201740294A TW106105769A TW106105769A TW201740294A TW 201740294 A TW201740294 A TW 201740294A TW 106105769 A TW106105769 A TW 106105769A TW 106105769 A TW106105769 A TW 106105769A TW 201740294 A TW201740294 A TW 201740294A
- Authority
- TW
- Taiwan
- Prior art keywords
- sample
- feature component
- sample data
- subset
- model
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Machine Translation (AREA)
Abstract
本發明實施例提供了一種模型的訓練方法和裝置,該方法包括:讀取樣本全集中的部分樣本資料,組合成樣本子集;將所述部分樣本資料相關的模型參數,從針對所述樣本全集的第一特徵分量映射為針對所述樣本子集的第二特徵分量;根據具有所述部分第二特徵分量的樣本資料訓練模型。映射之後可以減少模型參數在樣本電腦上的副本大小,大大減少了訓練的資料量,盡可能減少了電腦記憶體佔用,使用樣本電腦記憶體放置向量和裝載樣本,從而在盡可能少的效率損失的前提下,以相對低的資源開銷進行機器學習、訓練大規模的模型;映射對模型訓練過程的計算性能沒有影響,對訓練演算法透明,原有的訓練演算法無需修改直接可以使用。
Description
本發明涉及電腦處理的技術領域,特別是涉及一種模型的訓練方法和一種模型的訓練裝置。
隨著網際網路的快速發展,人們生活的方方面面都與網際網路產生了聯繫,在人們使用網際網路的相關功能時,產生了海量的資料。
目前,經常使用機器學習中的模型訓練對這些海量的資料進行挖掘處理,從而進行分類、推薦等操作。
在模型學習中,由於參與訓練的樣本資料量巨大,使得模型巨大,動輒數億甚至數十億的浮點數組成模型,加大了訓練的儲存難度和計算時間,造成訓練困難。
目前,分散式機器學習提供了通過大規模電腦集群進行機器學習、訓練模型的方法,其通常構建在由數量龐大的電腦組成的電腦集群之上,通過分散式作業系統進行集群調度、資源管理和任務控制。
通常情況下,大規模的機器學習需要面對兩個重要的參數:
1、模型參數。
在機器學習的過程中,模型參數會由於訓練演算法的計算而更新,不斷發生變化。同時,為了得到最後的模型參數結果,訓練演算法往往需要多個長度不一的向量參與計算,由於訓練過程中的模型參數的數量通常上億甚至上百億個浮點數,這些模型參數都需要使用電腦集群的儲存資源進行儲存。
2、樣本資料。
樣本資料的多少往往直接影響到機器學習演算法的效果,沒有大量的樣本資料達不到需要的模型訓練效果,為了得到合理的模型,可能需要多達數百億個樣本資料。
由於機器學習的訓練過程需要經歷次數繁多的反覆運算過程,所有參與模型訓練的樣本資料都會反復的被使用,為最小化訓練得到模型的時間,一般將樣本資料儲存到電腦記憶體中,這樣就需要龐大的電腦記憶體。
然而,儲存資源在電腦集群中是不可能無限增長的,如果將這些樣本資料都放入內部儲存,訪問效率可以得到保證,但是,單獨一台電腦的記憶體無疑是有限的,在面對海量的樣本資料時,往往需要大大數量的電腦主機,這又帶來網路、集群管理等多方面的問題。
如果將樣本資料存放在外部記憶體中,由於儲存介質較慢的存取速度和時間延遲,訓練工作無法保證高速、高效率地行。
鑒於上述問題,提出了本發明實施例以便提供一種克服上述問題或者至少部分地解決上述問題的一種模型的訓練方法和相應的一種模型的訓練裝置。
為了解決上述問題,本發明公開了一種模型的訓練方法,包括:讀取樣本全集中的部分樣本資料,組合成樣本子集;將所述部分樣本資料相關的模型參數,從針對所述樣本全集的第一特徵分量映射為針對所述樣本子集的第二特徵分量;根據具有所述部分第二特徵分量的樣本資料訓練模型。
較佳地,所述讀取樣本全集中的部分樣本資料,組合成樣本子集的步驟包括:從檔儲存系統中讀取樣本全集中的部分樣本資料;將所述部分樣本資料寫入所述檔儲存系統中指定的區域,以組合成樣本子集。
較佳地,所述將所述部分樣本資料相關的模型參數,從針對所述樣本全集的第一特徵分量映射為針對所述樣本子集的第二特徵分量的步驟包括:對所述部分樣本資料相關的模型參數,建立針對所述樣本全集的第一特徵分量與針對所述樣本子集的第二特徵分量之間的映射關係向量;將所述部分樣本資料相關的模型參數,按照所述映射
向量關係從針對所述樣本全集的第一特徵分量映射為針對所述樣本子集的第二特徵分量。
較佳地,所述根據具有所述部分第二特徵分量的樣本資料訓練模型的步驟包括:在每一輪反覆運算中,讀取所述部分樣本資料;採用所述部分樣本資料進行訓練,獲得訓練結果;將所述部分樣本資料相關的模型參數,從針對所述樣本子集的第二特徵分量映射為針對所述樣本全集的第一特徵分量;將所述第一特徵分量對應的訓練結果發送至向量電腦,以更模型中所述第一特徵分量對應的模型參數。
較佳地,所述讀取所述樣本子集中的樣本資料的步驟包括:讀取當前樣本電腦在先儲存的樣本子集中的樣本資料;或者,當接收到其他樣本電腦的樣本轉移消息時,讀取其他樣本電腦在先儲存的樣本子集中的樣本資料。
較佳地,所述將所述部分樣本資料相關的模型參數,從針對所述樣本子集的第二特徵分量映射為針對所述樣本全集的第一特徵分量的步驟包括:讀取預設的映射關係向量;將所述部分樣本資料相關的模型參數,按照所述映射關係向量從針對所述樣本子集的第二特徵分量映射為針對
所述樣本全集的第一特徵分量。
較佳地,所述將所述第一特徵分量對應的訓練結果發送至向量電腦的步驟包括:添加字元序列,所述字元序列包括針對所述第一特徵分量的更新標識和針對其他特徵分量的禁止更新標識,所述其他特徵分量為所述樣本全集中除所述第一特徵分量的特徵分量;將所述字元序列和所述訓練結果發送至向量電腦。
本發明實施例還公開了一種模型的訓練裝置,包括:樣本子集讀取模組,用於讀取樣本全集中的部分樣本資料,組合成樣本子集;特徵分量映射模組,用於將所述部分樣本資料相關的模型參數,從針對所述樣本全集的第一特徵分量映射為針對所述樣本子集的第二特徵分量;模型訓練模組,用於根據具有所述部分第二特徵分量的樣本資料訓練模型。
較佳地,所述樣本子集讀取模組包括:第一部分樣本資料讀取子模組,用於從檔儲存系統中讀取樣本全集中的部分樣本資料;部分樣本資料寫入子模組,用於將所述部分樣本資料寫入所述檔儲存系統中指定的區域,以組合成樣本子集。
較佳地,所述特徵分量映射模組包括:映射關係向量建立子模組,用於對所述部分樣本資料相關的模型參數,建立針對所述樣本全集的第一特徵分量
與針對所述樣本子集的第二特徵分量之間的映射關係向量;樣本子集映射子模組,用於將所述部分樣本資料相關的模型參數,按照所述映射向量關係從針對所述樣本全集的第一特徵分量映射為針對所述樣本子集的第二特徵分量。
較佳地,所述模型訓練模組包括:第二部分樣本資料讀取子模組,用於在每一輪反覆運算中,讀取所述部分樣本資料;訓練子模組,用於採用所述部分樣本資料進行訓練,獲得訓練結果;樣本全集映射子模組,用於將所述部分樣本資料相關的模型參數,從針對所述樣本子集的第二特徵分量映射為針對所述樣本全集的第一特徵分量;通信子模組,用於將所述第一特徵分量對應的訓練結果發送至向量電腦,以更模型中所述第一特徵分量對應的模型參數。
較佳地,所述第二部分樣本資料讀取子模組包括:第一讀取單元,用於讀取當前樣本電腦在先儲存的樣本子集中的樣本資料;或者,第二讀取單元,用於在接收到其他樣本電腦的樣本轉移消息時,讀取其他樣本電腦在先儲存的樣本子集中的樣本資料。
較佳地,所述樣本全集映射子模組包括:映射關係向量讀取單元,用於讀取預設的映射關係向量;映射關係映射單元,用於將所述部分樣本資料相關的模型參數,按照所述映射關係向量從針對所述樣本子集的第二特徵分量映射為針對所述樣本全集的第一特徵分量。
較佳地,所述通信子模組包括:字元序列添加單元,用於添加字元序列,所述字元序列包括針對所述第一特徵分量的更新標識和針對其他特徵分量的禁止更新標識,所述其他特徵分量為所述樣本全集中除所述第一特徵分量的特徵分量;發送單元,用於將所述字元序列和所述訓練結果發送至向量電腦。
本發明實施例包括以下優點:本發明實施例利用單一樣本電腦所承載的樣本資料的局部性,讀取樣本全集中的部分樣本資料,組合成樣本子集,將部分樣本資料相關的模型參數,針對樣本全集的第一特徵分量,映射為針對樣本子集的第二特徵分量,並根據具有部分第二特徵分量的樣本資料訓練模型:首先,映射之後可以減少模型參數在樣本電腦上的副本大小,大大減少了訓練的資料量,盡可能減少了電腦記憶體佔用,使用樣本電腦記憶體放置向量和裝載樣本,從而在盡可能少的效率損失的前提下,以相對低的資源開銷進行機器學習、訓練大規模的模型;
其次,映射對模型訓練過程的計算性能沒有影響,對訓練演算法透明,原有的訓練演算法無需修改直接可以使用。
本發明實施例靈活地處理樣本資料,可以有效的將樣本資料的負載分佈到不同的樣本電腦上並行,規避“長尾”帶來的效率下降,容易通過增加硬體設備來提高模型規模或增加樣本資料的數量。
本發明實施例通過字元序列進行通信,所使用的位元組數小於直接傳遞浮點資料的位元組數,降低了對集群通信資源的消耗。
101、102、103‧‧‧步驟
201‧‧‧樣本子集讀取模組
202‧‧‧特徵分量映射模組
203‧‧‧模型訓練模組
S21、S22、S23、S24‧‧‧子步驟
圖1是本發明的一種模型的訓練方法實施例的步驟流程圖;圖2是本發明的一種模型的訓練裝置實施例的結構方塊圖。
為使本發明的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖和具體實施方式對本發明作進一步詳細的說明。
參照圖1,示出了本發明的一種模型的訓練方法實施例的步驟流程圖,具體可以包括如下步驟:
步驟101,讀取樣本全集中的部分樣本資料,組合成
樣本子集;在具體實現中,可以通過網站日誌等方式收集原始的樣本資料。
例如,假設原始的樣本資料為使用者行為資訊,用於訓練分類模型、推薦相關的資訊,而一般的網站日誌可以記錄使用者電腦的IP(Internet Protocol,網路之間互連的協定)位址是什麼、在什麼時間、用什麼作業系統、什麼流覽器、什麼顯示器的情況下訪問了網站的哪個頁面、是否訪問成功。
但是,對於使用者行為資訊的需求而言,通常不是使用者電腦的IP位址、作業系統、流覽器等機器人資料,而是使用者流覽了什麼資訊、對其喜愛程度的表現行為等可以表徵使用者興趣愛好的行為資訊。
當然,上述樣本資料只是作為示例,在實施本發明實施例時,可以根據實際情況設置其他樣本資料,本發明實施例對此不加以限制。
在採用樣本資料訓練模型之前,可以對原始的樣本資料進行預處理,例如去除髒詞和高頻詞、去除機器人資料、去除噪音(如訪問資訊很少的資料或者隨機行為)等等,使之成為規範化的樣本資料。
本發明實施例可以應用在一電腦集群中,如分散式系統,該電腦集群包括檔儲存系統、一台或多台樣本電腦、一台或多台向量電腦。
其中,檔儲存系統可以儲存樣本全集,即所有樣本資
料組成的集合,該檔儲存系統的一個示例為分散式檔案系統,例如,NFS(Network File System)、Coda、AFS(Andrew File System)、Sprite File System,HDFS(Hadoop Distributed File System)、盤古系統等,所有的樣本電腦可讀。
樣本電腦可以從檔儲存系統中讀取部分樣本資料進行模型的訓練,並記錄它所讀取到的樣本資料相關的模型參數,該部分樣本資料可以稱之為樣本子集,並對樣本子集中的樣本資料按照模型的訓練演算法進行模型訓練。
向量電腦用於保存模型的向量,進行向量的計算和向量的輸出。
所謂模型,通常可以表示為一個或一組向量,向量中的每一個維度,稱為模型參數。
樣本資料,通常表示為針對一個或一組模型參數的權重。
某個模型的示例如下:[0.1,0.2,0.3,0,0,0.4,0.5,0.6,0.7,0.8]
在該示例中,表示一個10維的線性的模型,該模型一共有10個模型參數,如0.1、0.2等等。
模型參數的值,一般通過樣本資料進行訓練來得到。
例如,使用者在網際網路上通過流覽器頁面的一次點擊都可以產生一個樣本資料,每一個樣本資料都可能包含這個樣本資料所涉及的模型參數。
某個樣本資料的示例如下:
(1:0.01,3:0.02,8:0.03)
在該示例中,表示樣本資料對ID為1的模型參數產生的權重為0.01,對ID為3的模型參數產生的權重為0.02,對ID為8的模型參數產生的權重為0.03,即這個樣本資料會影響模型中的3個模型參數。
一般來講,不同的樣本資料,會影響不同的模型參數,利用機器學習中的訓練演算法,可以通過大量樣本資料的訓練,得到基於這個樣本集的模型。
在本發明的一個實施例中,步驟101可以包括如下子步驟:子步驟S11,從檔儲存系統中讀取樣本全集中的部分樣本資料;子步驟S12,將所述部分樣本資料寫入所述檔儲存系統中指定的區域,以組合成樣本子集。
在本發明實施例中,樣本全集可以儲存在檔儲存系統中、所有樣本電腦可讀的區域,樣本電腦可以並行採用隨機等方式從樣本全集中讀取部分樣本,並寫回檔儲存系統中、該樣本電腦可讀的區域,快速實現樣本全集的切分、分配。
一般而言,因為每台樣本電腦讀取一部分的樣本資料,因此,其相關的模型參數的總數是遠小於這個模型的維度。
當然,上述樣本資料的讀取方式只是作為示例,在實施本發明實施例時,可以根據實際情況設置其他樣本資料
的讀取方式,例如,將樣本全集切分之後再由樣本電腦讀取,等等,本發明實施例對此不加以限制。
步驟102,將所述部分樣本資料相關的模型參數,從針對所述樣本全集的第一特徵分量映射為針對所述樣本子集的第二特徵分量;很多的機器學習的模型訓練演算法,在整個模型訓練的過程中,承載樣本資料的樣本電腦之間一般是不需要交換資料的。
這些樣本電腦的主要網路通信工作是經常性地上傳、下載儲存在非樣本電腦上的模型參數,並在自己的本機存放區這些模型參數的副本。
模型參數的各個分量從數學的角度看通常是互相獨立的,樣本電腦上的計算通常只關注它需要的分量。
由於每個樣本電腦上裝載的樣本資料,是整個參與訓練的樣本的一小部分,所以在一個空間很大的模型的訓練過程中,並不是所有的模型參數都在每一個樣本電腦上被使用到,換而言之,真正被關心的模型參數在不同的樣本電腦上可能是不同的。
由此可見,模型參數一般是彼此獨立的,對某一個樣本子集來說,它只可能使用到所有模型參數中的一部分,因此,可以將它使用的模型參數單獨編號。
即在每一個樣本子集中,可以對部分樣本資料相關的模型參數,建立針對樣本全集的第一特徵分量與針對樣本子集的第二特徵分量之間的映射關係向量。
其中,映射關係向量的長度就是這個樣本子集中所涉及的模型參數個數。
為了處理方便,映射關係向量通常保存為一個雜湊表或者是排序的線性表,儲存在檔儲存系統中。
進一步地,針對儲存在檔儲存系統中的部分樣本資料,可以將部分樣本資料相關的模型參數,按照映射向量關係從針對樣本全集的第一特徵分量映射為針對樣本子集的第二特徵分量。
例如,對於上述的10維的模型,假設當前樣本子集包含如下兩個樣本資料:
樣本資料1:(1:0.01,3:0.02,8:0.03)
樣本資料2:(6:0.02)
對這個樣本子集來說,與樣本全集中第一特徵分量為1、3、6、8的四個模型參數相關,在映射中,可以將這四個模型參數按照順序使用第二特徵分量1、2、3、4來表示。
那麼,對這個樣本子集來說,它的映射關係向量為:[1:1,2:3,3:6:4:8]。
映射之後,在樣本子集中包含的模型參數是4個,而不是10個:
樣本資料1:(1:0.01,2:0.02,4:0.03)
樣本資料2:(3:0.02)
對不同的模型參數,由於所處的映射關係向量不同,相同的模型參數的第一特徵分量可能對應不同的第二特徵
分量。
例如,對一個數量眾多的網上售賣集市,可能存在很多家商店都在銷售同一件商品(有相同的第一特徵分量),而使用者通過多種來源(搜尋引擎、推薦等)來點擊這些網上商店的這件商品。
如果將這些點擊記錄作為樣本資料,由於每個樣本電腦分到的樣本資料是不同的,那麼在不同的樣本電腦上,很有可能得到不同的映射關係向量,於是這件商品在不同的映射關係向量裡面很有可能得到不同的第二特徵分量。
例如,在上例中原始的商品,對於樣本全集的第一特徵分量為100,在映射關係向量中得到的第二特徵分量是50,那麼,可以將樣本子集中的第一特徵分量100轉換為新的第二特徵分量50。
由於每台樣本電腦讀取一部分的樣本資料,其相關的模型參數的總數是遠小於這個模型的維度,因此,針對樣本子集的第二特徵分量的資料量遠小於針對樣本全集的第一特徵分量,映射操作可以大大壓縮樣本資料的資料量。
因為每一個樣本子集相對數量比較少,而且,樣本子集之間沒有相互關係,這個映射操作可以在不同的樣本電腦上並行完成。
步驟103,根據具有所述部分第二特徵分量的樣本資料訓練模型。
在映射完成之後,原始的資料巨大的樣本全集被分成了多個三元組:
(樣本子集、模型參數、映射關係向量)
對於每一個三元組,樣本電腦可以從檔儲存系統中讀取樣本資料和映射關係向量,並保存到自己的記憶體中。
對於保存在記憶體中的每一個三元組,可以進行模型訓練。
以梯度下降優化為例,在這個訓練方法裡面,模型的向量會分片的保存在向量電腦上,樣本電腦會對自己負責的樣本資料計算梯度和損失值(即優化目標函數),並把計算結果推到向量電腦上,並從向量電腦上獲取最新的梯度值,進行下一次反覆運算。
本發明實施例利用單一樣本電腦所承載的樣本資料的局部性,讀取樣本全集中的部分樣本資料,組合成樣本子集,將部分樣本資料相關的模型參數,針對樣本全集的第一特徵分量,映射為針對樣本子集的第二特徵分量,並根據具有部分第二特徵分量的樣本資料訓練模型:首先,映射之後可以減少模型參數在樣本電腦上的副本大小,大大減少了訓練的資料量,盡可能減少了電腦記憶體佔用,使用樣本電腦記憶體放置向量和裝載樣本,從而在盡可能少的效率損失的前提下,以相對低的資源開銷進行機器學習、訓練大規模的模型;其次,映射對模型訓練過程的計算性能沒有影響,對訓練演算法透明,原有的訓練演算法無需修改直接可以使用。
在本發明的一個實施例中,步驟103可以包括如下子
步驟:
子步驟S21,在每一輪反覆運算中,讀取所述部分樣本資料;在一種情況中,當前樣本電腦可以讀取當前樣本電腦在先儲存的樣本子集中的樣本資料。
或者,在另一種情況中,由於樣本電腦數量有限,而樣本資料的資料量巨大,因此,每台樣本電腦可能讀取到多個樣本子集。
在本發明實施例中,可以對樣本子集進行動態轉移,當接收到其他樣本電腦的樣本轉移消息時,通過獲取讀許可權、轉移樣本子集的儲存區域等方式,當前樣本電腦可以讀取其他樣本電腦在先儲存的樣本子集中的樣本資料。
需要說明的是,由於此時的樣本資料已經經過轉換,儲存空間得到縮減,讀取速度將加快。
模型參數的本機複本一般只包含該台樣本電腦真正需要的那些分量,而不需要全部分量,這樣既可以使本地空間大大節省,又能夠使三元組可以在真正被使用的時候去裝載樣本資料,從而保證整個訓練過程都在樣本電腦或者向量電腦記憶體中進行,達到高效率大規模模型訓練的目的。
如果每個樣本電腦僅負責自己讀取到的樣本子集,若某台樣本電腦剩餘較多的樣本子集,而其他樣本電腦處於空閒狀態,由於資料的“長尾”而導致訓練的效率下降。
本發明實施例靈活地處理樣本資料,可以有效的將樣本資料的負載分佈到不同的樣本電腦上並行,規避“長尾”帶來的效率下降,容易通過增加硬體設備來提高模型規模或增加樣本資料的數量。
子步驟S22,採用所述部分樣本資料進行訓練,獲得訓練結果;對於不同的模型,其訓練方法一般不同,所獲得的訓練結果也一般不同。
例如,對於梯度下降優化得到的凸優化模型,,其訓練結果為多項式的權重。
又例如,對於隨機森林,其訓練結果為決策樹。
這時,這個樣本電腦訓練得到的訓練結果是針對這個三元組的,也就是說,它的下標並不等於向量電腦上的下標值。
由於每個三元組中只包含這個三元組裡面涉及到的下標,資料量大大下降,在稀疏的模型訓練過程中會大大節省記憶體佔用,提高訓練速度。
子步驟S23,將所述部分樣本資料相關的模型參數,從針對所述樣本子集的第二特徵分量映射為針對所述樣本全集的第一特徵分量;樣本電腦在完成每一個三元組的計算之後,會將訓練結果推送到向量電腦。
在推送之前,可以利用三元組裡面的映射關係向量,將訓練結果的下標轉換成向量電腦上的下標。
這個過程是樣本電腦自己在通信之前進行,訓練演算法不感知這個過程,即下標的映射轉換對訓練演算法透明,與訓練演算法無關,訓練演算法本身負責計算。
在具體實現中,可以從檔儲存系統等位置讀取預設的映射關係向量,將部分樣本資料相關的模型參數,按照映射關係向量從針對樣本子集的第二特徵分量映射為針對樣本全集的第一特徵分量。
例如,對上例中的樣本1,在樣本子集中的樣本資料為(1:0.01,2:0.02,4:0.03),假設它訓練得到的權重是[1:0.05,2:0.06,3:0,4:0.07](這裡第3個值是0的原因是這個樣本資料並不影響ID為3的模型參數)。
已知映射關係向量為[1:1,2:3,3:6:4:8],那麼,可以將樣本資料進行映射,並結合梯度值,獲得向量[1:0.05,3:0.06,6:0,8:0.07],所有模型參數已經恢復到針對樣本全集的第一特徵分量,而不是針對樣本子集的第二特徵分量。
子步驟S24,將所述第一特徵分量對應的訓練結果發送至向量電腦,以更模型中所述第一特徵分量對應的模型參數。
為減少通信的資料,可以在發送的資料包中,添加字元序列,將字元序列和訓練結果發送至向量電腦。
其中,字元序列的比特位元包括針對第一特徵分量的更新標識和針對其他特徵分量的禁止更新標識,其他特徵分量為樣本全集中除第一特徵分量的特徵分量。
如果某次通信需要更新向量電腦上的第一特徵分量從1000到5000的模型參數,應用本發明實施例,可以同時傳遞一個(5000-1000)/8,即大約500個位元組的字元序列,其中每一個比特位表示當前通信是否在更新對應的模型參數(如0表示不更新,1表示更新),同時對應的新的模型參數可以順序傳遞,避免了在網路上傳遞大量的0值。
例如,上例中需要推送的向量為[1:0.05,3:0.06,6:0,8:0.07],通信中添加的字元序列為[1010010100],表示第一特徵分量為1、3、6、8的模型參數需要更新,而真正的資料表示為[0.05,0.06,0.07]三個值。
那麼整個通信所傳遞的位元組數:10bit+3×32bit=106bit(假設浮點數使用4個位元組表示),遠小於直接傳遞浮點數所需的10×32bit=320bit。
在梯度下降優化中,若向量電腦收到新的一批梯度,則更新模型的梯度向量,在接收到全部三元組的結果之後,確定本輪的梯度值,然後更新模型向量,返回至各樣本電腦,繼續進行下一輪反覆運算訓練。
在反復反覆運算的模型訓練結束之後,向量電腦將自己保存的模型向量以“鍵-值”對等形式寫到外部儲存的檔儲存系統或者資料庫的表中,輸出訓練好的模型。
本發明實施例通過字元序列進行通信,所使用的位元組數小於直接傳遞浮點資料的位元組數,降低了對集群通信資源的消耗。
需要說明的是,對於方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發明實施例並不受所描述的動作順序的限制,因為依據本發明實施例,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬於較佳實施例,所涉及的動作並不一定是本發明實施例所必須的。
參照圖2,示出了本發明的一種模型的訓練裝置實施例的結構方塊圖,具體可以包括如下模組:樣本子集讀取模組201,用於讀取樣本全集中的部分樣本資料,組合成樣本子集;特徵分量映射模組202,用於將所述部分樣本資料相關的模型參數,從針對所述樣本全集的第一特徵分量映射為針對所述樣本子集的第二特徵分量;模型訓練模組203,用於根據具有所述部分第二特徵分量的樣本資料訓練模型。
在本發明的一個實施例中,所述樣本子集讀取模組201可以包括如下子模組:第一部分樣本資料讀取子模組,用於從檔儲存系統中讀取樣本全集中的部分樣本資料;部分樣本資料寫入子模組,用於將所述部分樣本資料寫入所述檔儲存系統中指定的區域,以組合成樣本子集。
在本發明的一個實施例中,所述特徵分量映射模組202可以包括如下子模組:
映射關係向量建立子模組,用於對所述部分樣本資料相關的模型參數,建立針對所述樣本全集的第一特徵分量與針對所述樣本子集的第二特徵分量之間的映射關係向量;樣本子集映射子模組,用於將所述部分樣本資料相關的模型參數,按照所述映射向量關係從針對所述樣本全集的第一特徵分量映射為針對所述樣本子集的第二特徵分量。
在本發明的一個實施例中,所述模型訓練模組203可以包括如下子模組:第二部分樣本資料讀取子模組,用於在每一輪反覆運算中,讀取所述部分樣本資料;訓練子模組,用於採用所述部分樣本資料進行訓練,獲得訓練結果;樣本全集映射子模組,用於將所述部分樣本資料相關的模型參數,從針對所述樣本子集的第二特徵分量映射為針對所述樣本全集的第一特徵分量;通信子模組,用於將所述第一特徵分量對應的訓練結果發送至向量電腦,以更模型中所述第一特徵分量對應的模型參數。
在本發明的一個實施例中,所述第二部分樣本資料讀取子模組可以包括如下單元:第一讀取單元,用於讀取當前樣本電腦在先儲存的樣本子集中的樣本資料;
或者,第二讀取單元,用於在接收到其他樣本電腦的樣本轉移消息時,讀取其他樣本電腦在先儲存的樣本子集中的樣本資料。
在本發明的一個實施例中,所述樣本全集映射子模組可以包括如下單元:映射關係向量讀取單元,用於讀取預設的映射關係向量;映射關係映射單元,用於將所述部分樣本資料相關的模型參數,按照所述映射關係向量從針對所述樣本子集的第二特徵分量映射為針對所述樣本全集的第一特徵分量。
在本發明的一個實施例中,所述通信子模組可以包括如下單元:字元序列添加單元,用於添加字元序列,所述字元序列包括針對所述第一特徵分量的更新標識和針對其他特徵分量的禁止更新標識,所述其他特徵分量為所述樣本全集中除所述第一特徵分量的特徵分量;發送單元,用於將所述字元序列和所述訓練結果發送至向量電腦。
對於裝置實施例而言,由於其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
本說明書中的各個實施例均採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個
實施例之間相同相似的部分互相參見即可。
本領域內的技術人員應明白,本發明實施例的實施例可提供為方法、裝置、或電腦程式產品。因此,本發明實施例可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明實施例可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存介質(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
在一個典型的配置中,所述電腦設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。記憶體可能包括電腦可讀介質中的非永久性記憶體,隨機存取記憶體(RAM)和/或非易失性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀介質的示例。電腦可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存介質的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁磁片儲存或其他磁性存放裝置或任何其他非傳輸介質,可用於儲存可以被計算設備訪問
的資訊。按照本文中的界定,電腦可讀介質不包括非持續性的電腦可讀媒體(transitory media),如調製的資料信號和載波。
本發明實施例是參照根據本發明實施例的方法、終端設備(系統)、和電腦程式產品的流程圖和/或方塊圖來描述的。應理解可由電腦程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式設計資料處理終端設備的處理器以產生一個機器,使得通過電腦或其他可程式設計資料處理終端設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的裝置。
這些電腦程式指令也可儲存在能引導電腦或其他可程式設計資料處理終端設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式設計資料處理終端設備上,使得在電腦或其他可程式設計終端設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式設計終端設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。
儘管已描述了本發明實施例的較佳實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例做出另外的變更和修改。所以,所附申請專利範圍意欲解釋為包括較佳實施例以及落入本發明實施例範圍的所有變更和修改。
最後,還需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,並不排除在包括所述要素的過程、方法、物品或者終端設備中還存在另外的相同要素。
以上對本發明所提供的一種模型的訓練方法和一種模型的訓練裝置,進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
Claims (14)
- 一種模型的訓練方法,其包括:讀取樣本全集中的部分樣本資料,組合成樣本子集;將該部分樣本資料相關的模型參數,從針對該樣本全集的第一特徵分量映射為針對該樣本子集的第二特徵分量;根據具有該部分第二特徵分量的樣本資料訓練模型。
- 根據申請專利範圍第1項所述的方法,其中,所述讀取樣本全集中的部分樣本資料,組合成樣本子集的步驟包括:從檔儲存系統中讀取樣本全集中的部分樣本資料;將該部分樣本資料寫入該檔儲存系統中指定的區域,以組合成樣本子集。
- 根據申請專利範圍第1或2項所述的方法,其中,所述將該部分樣本資料相關的模型參數,從針對該樣本全集的第一特徵分量映射為針對該樣本子集的第二特徵分量的步驟包括:對該部分樣本資料相關的模型參數,建立針對該樣本全集的第一特徵分量與針對該樣本子集的第二特徵分量之間的映射關係向量;將該部分樣本資料相關的模型參數,按照該映射向量關係從針對該樣本全集的第一特徵分量映射為針對該樣本子集的第二特徵分量。
- 根據申請專利範圍第1或2或3項所述的方法, 其中,所述根據具有該部分第二特徵分量的樣本資料訓練模型的步驟包括:在每一輪反覆運算中,讀取該部分樣本資料;採用該部分樣本資料進行訓練,獲得訓練結果;將該部分樣本資料相關的模型參數,從針對該樣本子集的第二特徵分量映射為針對該樣本全集的第一特徵分量;將該第一特徵分量對應的訓練結果發送至向量電腦,以更模型中該第一特徵分量對應的模型參數。
- 根據申請專利範圍第4項所述的方法,其中,所述讀取該樣本子集中的樣本資料的步驟包括:讀取當前樣本電腦在先儲存的樣本子集中的樣本資料;或者,當接收到其他樣本電腦的樣本轉移消息時,讀取其他樣本電腦在先儲存的樣本子集中的樣本資料。
- 根據申請專利範圍第4項所述的方法,其中,所述將該部分樣本資料相關的模型參數,從針對該樣本子集的第二特徵分量映射為針對該樣本全集的第一特徵分量的步驟包括:讀取預設的映射關係向量;將該部分樣本資料相關的模型參數,按照該映射關係向量從針對該樣本子集的第二特徵分量映射為針對該樣本全集的第一特徵分量。
- 根據申請專利範圍第4項所述的方法,其中,所述將該第一特徵分量對應的訓練結果發送至向量電腦的步驟包括:添加字元序列,該字元序列包括針對該第一特徵分量的更新標識和針對其他特徵分量的禁止更新標識,該其他特徵分量為該樣本全集中除該第一特徵分量的特徵分量;將該字元序列和該訓練結果發送至向量電腦。
- 一種模型的訓練裝置,其包括:樣本子集讀取模組,用於讀取樣本全集中的部分樣本資料,組合成樣本子集;特徵分量映射模組,用於將該部分樣本資料相關的模型參數,從針對該樣本全集的第一特徵分量映射為針對該樣本子集的第二特徵分量;模型訓練模組,用於根據具有該部分第二特徵分量的樣本資料訓練模型。
- 根據申請專利範圍第8項所述的裝置,其中,該樣本子集讀取模組包括:第一部分樣本資料讀取子模組,用於從檔儲存系統中讀取樣本全集中的部分樣本資料;部分樣本資料寫入子模組,用於將該部分樣本資料寫入該檔儲存系統中指定的區域,以組合成樣本子集。
- 根據申請專利範圍第8或9項所述的裝置,其中,該特徵分量映射模組包括:映射關係向量建立子模組,用於對該部分樣本資料相 關的模型參數,建立針對該樣本全集的第一特徵分量與針對該樣本子集的第二特徵分量之間的映射關係向量;樣本子集映射子模組,用於將該部分樣本資料相關的模型參數,按照該映射向量關係從針對該樣本全集的第一特徵分量映射為針對該樣本子集的第二特徵分量。
- 根據申請專利範圍第8或9或10項所述的裝置,其中,該模型訓練模組包括:第二部分樣本資料讀取子模組,用於在每一輪反覆運算中,讀取該部分樣本資料;訓練子模組,用於採用該部分樣本資料進行訓練,獲得訓練結果;樣本全集映射子模組,用於將該部分樣本資料相關的模型參數,從針對該樣本子集的第二特徵分量映射為針對該樣本全集的第一特徵分量;通信子模組,用於將該第一特徵分量對應的訓練結果發送至向量電腦,以更模型中該第一特徵分量對應的模型參數。
- 根據申請專利範圍第11項所述的裝置,其中,該第二部分樣本資料讀取子模組包括:第一讀取單元,用於讀取當前樣本電腦在先儲存的樣本子集中的樣本資料;或者,第二讀取單元,用於在接收到其他樣本電腦的樣本轉移消息時,讀取其他樣本電腦在先儲存的樣本子集中的樣 本資料。
- 根據申請專利範圍第11項所述的裝置,其中,該樣本全集映射子模組包括:映射關係向量讀取單元,用於讀取預設的映射關係向量;映射關係映射單元,用於將該部分樣本資料相關的模型參數,按照該映射關係向量從針對該樣本子集的第二特徵分量映射為針對該樣本全集的第一特徵分量。
- 根據申請專利範圍第11項所述的裝置,其中,該通信子模組包括:字元序列添加單元,用於添加字元序列,該字元序列包括針對該第一特徵分量的更新標識和針對其他特徵分量的禁止更新標識,該其他特徵分量為該樣本全集中除該第一特徵分量的特徵分量;發送單元,用於將該字元序列和該訓練結果發送至向量電腦。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610201951.4 | 2016-03-31 | ||
CN201610201951.4A CN107292326A (zh) | 2016-03-31 | 2016-03-31 | 一种模型的训练方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201740294A true TW201740294A (zh) | 2017-11-16 |
TWI735545B TWI735545B (zh) | 2021-08-11 |
Family
ID=59963490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106105769A TWI735545B (zh) | 2016-03-31 | 2017-02-21 | 一種模型的訓練方法和裝置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11580441B2 (zh) |
CN (1) | CN107292326A (zh) |
TW (1) | TWI735545B (zh) |
WO (1) | WO2017167095A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11132602B1 (en) * | 2016-08-11 | 2021-09-28 | Twitter, Inc. | Efficient online training for machine learning |
CN109754105B (zh) | 2017-11-07 | 2024-01-05 | 华为技术有限公司 | 一种预测方法及终端、服务器 |
US11474978B2 (en) | 2018-07-06 | 2022-10-18 | Capital One Services, Llc | Systems and methods for a data search engine based on data profiles |
US11615208B2 (en) | 2018-07-06 | 2023-03-28 | Capital One Services, Llc | Systems and methods for synthetic data generation |
CN111460804B (zh) * | 2019-01-02 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 文本处理方法、装置和系统 |
CN110175680B (zh) * | 2019-04-03 | 2024-01-23 | 西安电子科技大学 | 利用分布式异步更新在线机器学习的物联网数据分析方法 |
CN110263147B (zh) * | 2019-06-05 | 2023-10-20 | 创新先进技术有限公司 | 推送信息的生成方法及装置 |
CN112819020A (zh) * | 2019-11-15 | 2021-05-18 | 富士通株式会社 | 训练分类模型的方法和装置及分类方法 |
CN111047050A (zh) * | 2019-12-17 | 2020-04-21 | 苏州浪潮智能科技有限公司 | 一种分布式并行训练方法、设备以及存储介质 |
CN111219257B (zh) * | 2020-01-07 | 2022-07-22 | 大连理工大学 | 基于自适应增强算法的涡扇发动机直接数据驱动控制方法 |
CN113538079A (zh) * | 2020-04-17 | 2021-10-22 | 北京金山数字娱乐科技有限公司 | 一种推荐模型的训练方法及装置、一种推荐方法及装置 |
US11954345B2 (en) * | 2021-12-03 | 2024-04-09 | Samsung Electronics Co., Ltd. | Two-level indexing for key-value persistent storage device |
CN114389959B (zh) * | 2021-12-30 | 2023-10-27 | 深圳清华大学研究院 | 网络拥塞控制方法、装置、电子设备及存储介质 |
US20240013223A1 (en) * | 2022-07-10 | 2024-01-11 | Actimize Ltd. | Computerized-method for synthetic fraud generation based on tabular data of financial transactions |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0744514A (ja) | 1993-07-27 | 1995-02-14 | Matsushita Electric Ind Co Ltd | ニューラルネットの学習用データ縮約化方法 |
US8266078B2 (en) * | 2009-02-06 | 2012-09-11 | Microsoft Corporation | Platform for learning based recognition research |
US9569401B2 (en) | 2011-12-06 | 2017-02-14 | Akamai Technologies, Inc. | Parallel training of a support vector machine (SVM) with distributed block minimization |
CN102663417B (zh) * | 2012-03-19 | 2015-02-25 | 河南工业大学 | 一种小样本数据模式识别的特征选择方法 |
US10318882B2 (en) * | 2014-09-11 | 2019-06-11 | Amazon Technologies, Inc. | Optimized training of linear machine learning models |
SG11201703247WA (en) * | 2014-10-24 | 2017-05-30 | Nat Ict Australia Ltd | Learning with transformed data |
CN104732241A (zh) * | 2015-04-08 | 2015-06-24 | 苏州大学 | 一种多分类器构建方法和系统 |
CN104866524A (zh) * | 2015-04-10 | 2015-08-26 | 大连交通大学 | 一种商品图像精细分类方法 |
US11157817B2 (en) * | 2015-08-19 | 2021-10-26 | D-Wave Systems Inc. | Discrete variational auto-encoder systems and methods for machine learning using adiabatic quantum computers |
US11062227B2 (en) * | 2015-10-16 | 2021-07-13 | D-Wave Systems Inc. | Systems and methods for creating and using quantum Boltzmann machines |
CN105426857B (zh) * | 2015-11-25 | 2019-04-12 | 小米科技有限责任公司 | 人脸识别模型训练方法和装置 |
US11087234B2 (en) | 2016-01-29 | 2021-08-10 | Verizon Media Inc. | Method and system for distributed deep machine learning |
US10558933B2 (en) * | 2016-03-30 | 2020-02-11 | International Business Machines Corporation | Merging feature subsets using graphical representation |
US20180005136A1 (en) * | 2016-07-01 | 2018-01-04 | Yi Gai | Machine learning in adversarial environments |
-
2016
- 2016-03-31 CN CN201610201951.4A patent/CN107292326A/zh active Pending
-
2017
- 2017-02-21 TW TW106105769A patent/TWI735545B/zh active
- 2017-03-22 WO PCT/CN2017/077696 patent/WO2017167095A1/zh active Application Filing
-
2018
- 2018-09-28 US US16/146,642 patent/US11580441B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TWI735545B (zh) | 2021-08-11 |
US11580441B2 (en) | 2023-02-14 |
WO2017167095A1 (zh) | 2017-10-05 |
CN107292326A (zh) | 2017-10-24 |
US20190034833A1 (en) | 2019-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI735545B (zh) | 一種模型的訓練方法和裝置 | |
Wang et al. | Performance prediction for apache spark platform | |
Gunarathne et al. | Scalable parallel computing on clouds using Twister4Azure iterative MapReduce | |
Kyrola | Drunkardmob: billions of random walks on just a pc | |
CN104881466B (zh) | 数据分片的处理以及垃圾文件的删除方法和装置 | |
Allam | Usage of Hadoop and Microsoft Cloud in Big Data Analytics: An Exploratory Study | |
US11487736B2 (en) | Blockchain transaction processing systems and methods | |
Zeng et al. | Optimal metadata replications and request balancing strategy on cloud data centers | |
CN110968554A (zh) | 一种基于文件链分块的区块链存储方法、存储系统及存储介质 | |
CN111258978A (zh) | 一种数据存储的方法 | |
US10182104B1 (en) | Automatic propagation of resource attributes in a provider network according to propagation criteria | |
Li et al. | Wide-area spark streaming: Automated routing and batch sizing | |
JP2019504426A (ja) | ランダム文字列を生成する方法および装置 | |
CN112988741A (zh) | 实时业务数据合并方法、装置及电子设备 | |
Zhong et al. | Scaling factorization machines with parameter server | |
Merceedi et al. | A comprehensive survey for hadoop distributed file system | |
Hashem et al. | An Integrative Modeling of BigData Processing. | |
Singh et al. | Spatial data analysis with ArcGIS and MapReduce | |
Zhuang et al. | Optimizing information leakage in multicloud storage services | |
Anjos et al. | BIGhybrid: a simulator for MapReduce applications in hybrid distributed infrastructures validated with the Grid5000 experimental platform | |
Benlachmi et al. | A comparative analysis of hadoop and spark frameworks using word count algorithm | |
TWI758223B (zh) | 具有動態最小批次尺寸之運算方法,以及用於執行該方法之運算系統及電腦可讀儲存媒體 | |
CN111444148A (zh) | 基于MapReduce的数据传输方法和装置 | |
CN115809311A (zh) | 知识图谱的数据处理方法、装置及计算机设备 | |
US10996945B1 (en) | Splitting programs into distributed parts |