TWI675335B - 訓練任務優化系統、訓練任務優化方法及其非暫態電腦可讀媒體 - Google Patents
訓練任務優化系統、訓練任務優化方法及其非暫態電腦可讀媒體 Download PDFInfo
- Publication number
- TWI675335B TWI675335B TW107120060A TW107120060A TWI675335B TW I675335 B TWI675335 B TW I675335B TW 107120060 A TW107120060 A TW 107120060A TW 107120060 A TW107120060 A TW 107120060A TW I675335 B TWI675335 B TW I675335B
- Authority
- TW
- Taiwan
- Prior art keywords
- training
- training task
- processor
- memory
- task
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Generation (AREA)
Abstract
一訓練任務優化系統,包含一處理器。該處理器用以接收一訓練任務的一訓練環境資訊。該訓練環境資訊包含對應於該訓練任務中的複數訓練樣本之資訊。該處理器用以依據複數記憶體影響因子、該複數訓練樣本以及一神經網路計算該訓練任務的一記憶體分配,並判斷配適於該記憶體分配的一小批次尺寸。響應於該訓練環境資訊,該處理器用以輸出該小批次尺寸,使該訓練任務被執行。
Description
本案涉及一種計算系統、計算方法以及用以計算的非暫態電腦可讀媒體。詳細而言,本案涉及一種用以優化訓練任務的系統、方法以及非暫態電腦可讀媒體。
近期以來,神經網路以及深度學習被有效地應用於不同的技術領域,例如,其可應用於機器視覺、語音辨識以及機器翻譯等領域當中。然而,在以巨量的訓練資料進行訓練時,需同時考量計算速度以及系統限制,否則系統執行訓練任務的效率將降低。
本案的一面向涉及一種訓練任務優化系統。該訓練任務優化系統包含一處理器。該處理器用以接收一訓練任務的一訓練環境資訊。該訓練環境資訊至少包含對應於該訓練任 務中的複數訓練樣本之資訊。該處理器用以依據複數記憶體影響因子、該複數訓練樣本以及一神經網路計算該訓練任務的一記憶體分配。該處理器用以判斷配適於該記憶體分配的一小批次尺寸。響應於該訓練環境資訊,該處理器用以輸出該小批次尺寸。
本案的另一面向涉及一種訓練任務優化方法。該訓練任務優化方法由一處理器所執行。該訓練任務優化方法包含下列步驟:接收一訓練任務的一訓練環境資訊,其中該訓練環境資訊至少包含對應於該訓練任務中的複數訓練樣本之資訊;依據複數記憶體影響因子、該複數訓練樣本以及一神經網路計算該訓練任務的一記憶體分配;判斷配適於該記憶體分配的一小批次尺寸;以及響應於該訓練環境資訊,輸出該小批次尺寸。
本案的又一面向係涉及一種用以訓練任務優化之非暫態電腦可讀媒體。該非暫態電腦可讀媒體包含複數電腦指令以執行下列程序:接收一訓練任務的一訓練環境資訊,其中該訓練環境資訊至少包含對應於該訓練任務中的複數訓練樣本之資訊;依據複數記憶體影響因子、該複數訓練樣本以及一神經網路計算該訓練任務的一記憶體分配;判斷配適於該記憶體分配的一小批次尺寸;以及響應於該訓練環境資訊,輸出該小批次尺寸。
應注意的是,前述的發明內容以及後述的實施方式皆僅係舉例說明而已,其主要目的係為詳細地解釋本案申請專利範圍當中的內容。
10‧‧‧定位裝置
100‧‧‧設置模組
110‧‧‧記憶體
120‧‧‧處理器
200‧‧‧訓練端
200a~200d‧‧‧訓練端
210‧‧‧儲存裝置
220‧‧‧主記憶體
230‧‧‧中央處理器
240‧‧‧圖形處理器
241~244‧‧‧圖形處理器
300‧‧‧互動介面
400‧‧‧訓練端
410‧‧‧儲存裝置
420‧‧‧主記憶體
430‧‧‧中央處理器
440‧‧‧圖形處理器
500‧‧‧訓練任務優化方法
S510~S540‧‧‧步驟流程
610~640‧‧‧參數伺服器
參照後續段落中的實施方式以及下列圖式,當可更佳地理解本案的內容:第1圖為根據本案一實施例繪示的訓練任務優化系統之示意圖;第2圖為根據本案一實施例繪示的不同小批次尺寸所對應的系統收斂性之示意圖;第3圖為根據本案一實施例繪示的不同小批次尺寸所對應的系統通量之示意圖;第4圖為根據本案一實施例繪示的訓練任務優化系統之示意圖;第5圖為根據本案一實施例繪示的訓練任務優化方法之步驟流程圖;第6圖為根據本案一實施例繪示的訓練任務優化系統之示意圖;以及第7圖為根據本案一實施例繪示的訓練任務優化系統之示意圖。
以下將以圖式及詳細敘述清楚說明本案之精神,任何所屬技術領域中具有通常知識者在瞭解本案之實施例後,當可由本案所教示之技術,加以改變及修飾,其並不脫離本案之精神與範圍。
本文之用語只為描述特定實施例,而無意為本案之限制。單數形式如“一”、“這”、“此”、“本”以及“該”,如本文所用,同樣也包含複數形式。
關於本文中所使用之『耦接』或『連接』,均可指二或多個元件或裝置相互直接作實體接觸,或是相互間接作實體接觸,亦可指二或多個元件或裝置相互操作或動作。
關於本文中所使用之『包含』、『包括』、『具有』、『含有』等等,均為開放性的用語,即意指包含但不限於。
關於本文中所使用之『及/或』,係包括所述事物的任一或全部組合。
關於本文中所使用之用詞(terms),除有特別註明外,通常具有每個用詞使用在此領域中、在本案之內容中與特殊內容中的平常意義。某些用以描述本案之用詞將於下或在此說明書的別處討論,以提供本領域技術人員在有關本案之描述上額外的引導。
第1圖為根據本案一實施例繪示的訓練任務優化系統之示意圖。如第1圖所示,在本實施例中,一設置模組100,舉例而言,可以是雲端伺服器或獨立電腦,其至少包括記憶體110以及處理器120。設置模組100通訊耦接於訓練端200。應注意的是,此處所述的「通訊耦接」可為實體或非實體之耦接。例如,在一實施例中,設置模組100以及訓練端200可以藉由無線通訊(例如,Wi-Fi)技術耦接至一網路,藉此兩者可進行雙向的訊息交換。在另一實施例中,設置模組100以 及訓練端200可以藉由實體線路耦接至一網路,藉此兩者可進行雙向的訊息交換。如圖1所示,設置模組100以及訓練端200共同構成一訓練任務優化系統10。
在一些實施例中,訓練端200可為一電腦或複數電腦(或多個處理器)之集成,這些電腦係設置以執行一訓練任務,例如,關於電腦視覺、語音辨識或機器翻譯等等的深度學習程序。如圖1所示,在本實施例中,訓練端200可為獨立電腦,其包括儲存裝置210、主記憶體220、中央處理器(CPU)230和圖形處理器(GPU)240。舉例而言,儲存裝置210可為快閃記憶體、硬碟(HDD)或固態硬碟(SSD)。主記憶體220,例如,可為動態隨機存取記憶體(DRAM)或靜態隨機存取記憶體(SRAM)。當該訓練任務的一訓練批次開始時,主記憶體220可自共享記憶體中(圖中未示)存取最新的複數模型參數(權重)。主記憶體220可自儲存裝置210存取該訓練樣本的一子集。中央處理器230可對該訓練樣本的該子集執行一準備程序以進行格式轉換或格式擴增。該訓練樣本將被傳輸至該圖形處理器240以執行梯度下降運算。藉由該梯度下降運算,可產生更新的該些模型參數,該些模型參數可被傳輸至該主記憶體220。更新後的該些模型參數將被傳輸至該共享記憶體,以替代原先之該些模型參數。當該些模型參數被更新後,該訓練任務的該訓練批次即完成。而當該訓練任務的所有訓練批次完成時,該訓練任務即完成。
應注意的是,在一些實施例中,尤為在具有多個訓練端的實施例中,該些模型參數可以儲存於一個或多個參數 伺服器中(例如,第7圖當中的該些參數伺服器610~640),該些參數伺服器可為複數分散式的雲端資料庫。在此實施例中,當該訓練任務的一訓練批次開始時,主記憶體220可自該些參數伺服器存取最新的該些模型參數。相似地,系統可更新該些參數伺服器當中的該些模型參數,從而完成該訓練任務的該訓練批次。
需注意的是,在本實施例中,為了達成更高的訓練精度,該訓練任務需要巨量的輸入資料作為樣本。一般而言,在執行該訓練任務之前,訓練端200可將一訓練環境資訊傳輸至訓練任務優化系統10的設置模組100。該訓練環境資訊關聯於該訓練任務當中的各種影響因子(例如,系統限制等等)。例如,該訓練任務中使用的一神經網路之複雜性可能影響該訓練任務的效率,因此,前述影響因子可包含該訓練任務中使用的該神經網路。同樣地,前述影響因子也包含該訓練任務當中使用的一訓練模型,以及該訓練任務當中可運用的圖形處理器之多寡。前述影響因子更包含了一記憶體影響因子,該記憶體影響因子係指該訓練任務當中可運用的圖形處理器或中央處理器的記憶體容量。如前所述,在具有多個訓練端之實施例中,訓練任務當中可運用的參數伺服器之多寡,以及用於網路傳輸的網路頻寬,其皆可為該訓練任務當中的影響因子。此外,該些訓練樣本的數量(及尺寸)亦為該訓練任務中的重要影響因子。該訓練環境資訊可包含前述的各種影響因子,該設置模組100可獲取該訓練環境資訊,進而估算該訓練任務之記憶體使用狀態。應當理解,本案的設置模組100可執行一訓練 任務優化方法以達成該記憶體容量與其他影響因子之間的平衡。
在一些實施例中,記憶體110可為揮發性記憶體(例如,DRAM)或非揮發性記憶體(例如,快閃記憶體),其中儲存有複數資訊。應注意的是,儲存於記憶體110當中的資料記錄了複數個小批次尺寸(mini-batch size)以及複數運算效率之間的對應關係。一般而言,該訓練任務當中的該些訓練樣本可被分為複數個子集,系統每次存取的一個子集則稱作一個小批次。此處所述的該些小批次尺寸係指系統在一個小批次中存取多少數量的該些訓練樣本。應注意的是,該小批次尺寸對該訓練任務之收斂性以及系統通量(throughput)至關重要。
為了更佳地理解該些小批次尺寸與該訓練任務的收斂性之間的關係,請參考本案的第2圖。第2圖為根據本案一實施例繪示的不同小批次尺寸所對應的系統收斂性之示意圖。第2圖當中的橫軸(x軸)標示了複數訓練程序的遍歷次數(epochs),而第2圖中的縱軸(y軸)標示了該些訓練程序的前五類別錯誤率(top-5 validation error rate)。如第2圖所示,一曲線C1繪示了小批次尺寸設置為32時之學習收斂性,一曲線C2繪示了小批次尺寸設置為64時之學習收斂性,一曲線C3繪示了小批次尺寸設置為128時之學習收斂性,一曲線C4繪示了小批次尺寸設置為256時之學習收斂性,一曲線C5繪示了小批次尺寸設置為512時之學習收斂性,以及,一曲線C6繪示了小批次尺寸設置為1024時之學習收斂性。如圖所示,大約於遍歷次數為30時,曲線C4、曲線C5以及曲線C6的前五類別錯誤 率收斂至25%。顯然地,依據第2圖,較大的小批次尺寸對應至較佳的系統收斂性。
為了更佳地理解該些小批次尺寸與運算效率之間的關係,請一併參考第3圖。第3圖為根據本案一實施例繪示的不同小批次尺寸所對應的系統通量之示意圖。第3圖當中的橫軸(x軸)標示了該訓練程序所使用的複數小批次尺寸,第3圖當中的縱軸(y軸)標示了該訓練程序的系統通量。如第3圖所示,一曲線C7繪示了在深度學習框架MXNet下執行該訓練程序時的系統通量,而一曲線C8繪示了在深度學習框架TensorFlow下執行該訓練程序時的系統通量。顯然地,根據第3圖,較大的小次量尺寸的系統通量並不一定較佳。應當理解,當小批次尺寸超過一閾值時,系統通量可能下降。在本實施例中,在MXNet框架下的該閾值可為256,而在TensorFlow框架下的該閾值可為512。然而,應注意的是,前述閾值僅係舉例以說明本案,在其他實施例中,可應用其他數值作為該閾值。
依據第2圖以及第3圖,可以理解,較大的小批次尺寸不一定是最佳解。需同時考慮第2圖以及第3圖當中所繪示的小批次尺寸與運算效率/收斂性之間的對應關係,方可找出一個較佳的小批次尺寸。應注意的是,前述儲存於記憶體110當中的資訊可包含前述第2圖以及第3圖中所示的該些對應關係。
在一些實施例中,處理器120包含,例如但不限於,單一處理器以及多個微處理器之集成,該些(微)處理器電性耦接於內部記憶體或外部記憶體。該內部記憶體或該外部存 記憶體包含揮發性記憶體以及非揮發記憶體。該處理器120係用為該些內部記憶體或該外記憶體獲取複數程序指令,進而執行該些程序指令,以依據該些程序指令執行前述的該訓練任務優化方法。為了更佳地理解該訓練任務優化方法,將於以下段落中詳細解釋該訓練任務優化方法。
第4圖為根據本案一實施例繪示的訓練任務優化系統之示意圖。如第4圖所示,在本實施例中,訓練任務優化系統10包含互動介面300與訓練端400(甚至可包含一外部伺服器),其中互動介面300及訓練端400可為一獨立電腦。該互動介面300可為,例如,一觸控顯示器、一鍵盤、一滑鼠或前述裝置之集成,互動介面300用以與訓練端400協同運作。如第4圖所示,舉例而言,在該實施例中,訓練端400可為一任務處理核心,其包括儲存裝置410、主記憶體420、中央處理器430以及圖形處理器440。應注意的是,訓練端400的前述各構件之實施方式相似於第1圖之實施例中所示的訓練端200。此外,訓練端400執行該訓練任務中的各訓練批次之方式亦相似於第1圖之實施例所述。因此,可一併參考本案第1圖之實施例。
應注意的是,在一些實施例中,一使用者可藉由互動介面300存取訓練端400。訓練任務優化系統10可以執行一應用程序(或一網頁服務)以估算記憶體之使用狀態。相似於第1圖之實施例,在本實施例中,使用者可通過互動介面300輸入該訓練環境資訊,該訓練環境資訊接著被傳輸予該應用程序(或提供該網頁服務之外部伺服器),該訓練環境資訊包含該 訓練任務(將由訓練端400所執行)當中的各影響因子。關於該訓練任務的該訓練環境資訊之內容,可參考第1圖之實施例。在一些實施例中,當該訓練任務優化系統10(當中的訓練端400)執行該應用程序(或該網頁服務)時,該應用程序(或該網頁服務)可自動檢查訓練端400的該圖形處理器、該中央處理器以及/或該記憶體影響因子。在此狀況下,該使用者僅需藉由該互動介面300輸入尚未經檢查之該訓練環境資訊(例如,使用的該神經網路、該模型或該參數伺服器等等)即可。在一些實施例中,該應用程序(或該網頁服務)可以提供一些選項至該訓練任務優化系統10,該些選項係關於該訓練任務中的複數候選神經網路或複數候選模型。互動介面300可顯示該些選項,以供使用者從該些選項中選擇欲於該訓練任務當中使用的神經網路或模型。藉此,該應用程序(或該網頁服務)仍可完整地獲取該訓練端400的該訓練環境資訊,從而估算該訓練任務的記憶體使用狀況。
第5圖為根據本案一實施例繪示的訓練任務優化方法之步驟流程圖。在一些實施例中,訓練任務優化方法500可由第1圖中所示的設置模組100的處理器120所執行。在一些實施例中,訓練任務優化方法500可由第4圖中所示的訓練任務優化系統10整體所執行。在一些實施例中,於一非暫態電腦可讀媒體(例如,記憶體110)當中儲存有複數電腦指令,執行該些電腦指令可實施訓練任務優化方法500。在一些實施例中,訓練任務優化方法500之詳細步驟將於下面段落中敘述。
步驟S510:接收一訓練任務的一訓練環境資訊, 該訓練環境資訊中至少包含對應於該訓練任務中的複數訓練樣本之訊息。
在一些實施例中,訓練端200可用以執行一訓練任務,該訓練任務係關於圖像辨識。於執行該訓練任務之前,訓練端200可將該訓練任務的該訓練環境資訊傳輸予該設置模組100。該訓練環境資訊中包含對應於訓練端200的記憶體影響因子、該訓練任務的該些訓練樣本以及該訓練任務中所使用的該神經網路之訊息。依據第1圖之實施例,訓練端200的記憶體影響因子可為圖形處理器240之記憶體容量。在一些實施例中,該訓練任務的該些訓練樣本可為複數彩色圖像,其具有特定之尺寸。此外,用於該訓練任務當中的該神經網路可為一卷積神經網路(Convolution neural network),其包含兩個主要階段,分別為一特徵提取階段以及一分類階段。該特徵提取階段可包含複數卷積層(Convolution layer)以及複數池化層(Pooling layer),而該分類階段則可包含複數全連結層(Fully-connected layer)。如上所述,訓練端200可將收集到的該訓練環境資訊傳輸至訓練任務優化系統10的設置模組100。藉此,該訓練環境資訊可被存儲於記憶體110中,該處理器120可存取該訓練環境資訊。
在第4圖的實施例中,當訓練任務優化系統10的該練端400執行該應用程序(或該網頁服務)時,該應用程序(或該網頁服務)可自動地檢查訓練端400的該圖形處理器、該中央處理器以及/或該記憶體影響因子。另外,該應用程序(或該網頁服務)可提供關於候選神經網路或候選模型之選項至訓練任 務優化系統10。該使用者可藉由互動介面300為該訓練任務選擇合適的神經網路或模型。然後,該使用者可將該訓練任務的該些訓練樣本傳輸予該應用程序(或該網頁服務)。在此狀況下,由訓練端400所執行的該應用程序(或網頁服務)可獲取該些訓練樣本的尺寸、訓練器400的該處理器影響因子以及欲於該訓練任務中使用的該神經網路(或該模型)。
步驟S520:依據複數記憶體影響因子、該複數訓練樣本以及一神經網路,計算該訓練任務的一記憶體分配。
在第1圖之實施例中,處理器120可自記憶體110存取該訓練環境資訊,進而計算訓練端200的可用記憶體空間。承前所述,該訓練任務的該些訓練樣本可為具有該特定尺寸之圖像。處理器120可計算一第一需求空間,該第一需求空間包含了於不同小批次尺寸下存取該些訓練樣本所佔據之空間,亦包含了該神經網路中每一層的輸出值所佔據之空間。詳細而言,為了獲取用於該訓練任務的最佳小批次尺寸,該處理器120可設定一目標小批次尺寸,其初始數值可為一未知值。
在一些實施例中,處理器120可計算該些訓練樣本所需的記憶體使用量,並計算分該特徵提取階段中的各層之輸出值所需的記憶體使用量。例如,藉由計算該些圖像的長寬之乘積,可獲得該些訓練樣本之尺寸。按此邏輯,該些訓練樣本所需的記憶體使用量則可表示為該些訓練樣本之尺寸、該些訓練樣本的顏色通道(RGB)數以及該目標小批次尺寸三者之乘積。應注意的是,針對該特徵提取階段的每一層,其皆可計算相應的記憶體使用量。如前所述,由於該特徵提取階段中的 所有層數皆為已知的,故該特徵提取階段的每一層中的相應記憶體使用量可加總為該第一需求空間。一般而言,該第一需求空間同時考慮了該特徵提取階段的輸入值以及輸出值(即每一層的特徵圖feature map)。
在一些實施例中,處理器120可計算該特徵提取階段中的該些模型參數以及複數梯度所需的記憶體使用量。承前所述,由於該特徵提取階段中的所有層數皆為已知的,該處理器120可獲取該特徵提取階段中的各濾波器(filter)的尺寸及其數量。藉此,處理器120可計算該些模型參數(權重)所需的記憶體使用量。此外,由於在梯度下降(gradient descend)運算中所需計算之梯度數量係對應於該些模型參數之數量,因此,若欲計算該特徵提取階段中的梯度所需的記憶體使用量,其值等同於該些模型參數所需的記憶體使用量。此外,若該模型當中包含一偏差值(bias),則可藉由相似於前述之方法計算該偏差所需的記憶體使用量。
在一些實施例中,處理器120可計算該分類階段所需的記憶體使用量。承前所述,由於該分類階段中的該些全連接層皆為已知的,處理器120可藉此獲取該分類階段當中的神經元之數量以及模型參數之數量。依據該分類階段當中各層中神經元之數量,可計算該分類階段中的複數輸出值所需的記憶體使用量。依據該些全連接層當中的相互連接之神經元數量,可計算該分類階段中的該些模型參數所需的記憶體使用量。相似地,由於在梯度下降運算中所需計算之複數梯度數量係對應於該些模型參數之數量,因此,可以計算該分類階段中 的該些梯度所需的記憶體使用量。此外,若該模型當中包含一偏差值(bias),則可藉由相似於前述之方法計算該偏差所需的記憶體使用量。
依據上述,在一些實施例中,處理器120可加總該特徵提取階段以及該分類階段當中的該些模型參數所需的記憶體使用量、該些梯度所需的記憶體使用量以及該偏差所需的記憶體使用量,從而產生一第二需求空間。
應注意的是,該神經網路當中的每一層可對應於一種演算法。不同的演算法所需的運算時間皆不相同,且其各自所需的臨時緩衝區(temporary buffer)空間亦不相同。例如,藉由基於通用矩陣乘法(General Matrix Multiplication,GEMM)之演算法執行卷積計算時,其執行速度可能較慢,然而其所需之記憶體使用量亦相對較少。另一方面,藉由基於快速傅里葉轉換(Fast Fourier Transform,FFT)之演算法執行卷積計算時,其執行速度相對較快,然而其所需之記憶體使用量亦較多。在此狀況下,為了提升整體訓練系統之效率,需將運算速度和記憶使用量一併納入考慮。在本實施例中,該處理器120可列出該訓練任務的所有層數對應於各種不同候選演算法之組合,並計算每種組合所需的臨時緩衝區空間。在一些實施例中,處理器120可加總該神經網路當中的所有層數各自對應之演算法所需的臨時緩衝區空間,其係為一第三需求空間。
在一些實施例中,依據前述的該記憶體影響因子、該特徵提取階段所需的記憶體使用量以及該分類階段所需的記憶體使用量,處理器120可獲取一記憶體分配,處理器120 可依據該記憶體分配估算該訓練任務被執行時系統的一可用記憶體空間。該可用記憶體空間所代表的是,在每種候選演算法組合下,可作為臨時緩衝區使用的最大記憶體容量。應注意的是,該可用記憶體空間可表示為以該目標小批次尺寸為變量之一多項式。亦即,在上述實施例中,將該記憶體影響因子(即為圖形處理器的記憶體限制)減去該第一需求空間以及該第二需求空間後,可得該可用記憶體空間。由於該記憶體影響因子係為一固定數值,在此前提下,該可用記憶體空間需大於該第三需求空間方為可行之系統配置。因此,處理器120需計算該可用記憶體空間之容量,方可進一步估算不同演算法組合所需的該第三需求空間是否可行。
應注意的是,在第4圖的實施例中,步驟S520可由訓練端400(與該應用程序協同)依據相似於前述的方式執行。依據使用者於該訓練任務中所選擇的該神經網路以及該模型之不同,針對該神經網路以及該模型所實施的記憶體使用量之計算過程可能有所差異。然而,計算該些記憶體使用量的方式大致上係為相同的。
步驟S530:判斷配適於估算的該記憶體分配的一小批次尺寸。
在第1圖的實施例中,依據估算出的該可用記憶體空間以及每種候選演算法之組合所需的臨時緩衝區空間,處理器120可執行一啟發式運算(heuristic computation)以獲取該目標小批次尺寸。應注意的是,該啟發式運算可依據前述該些小批次尺寸與該些運算效率之間的該對應關係來計算。處理 器120可自記憶體110存取關於該些小批次尺寸與該些運算效率之間的該對應關係之資訊,藉此,處理器120可於該啟發式運算中以降序(或升序)方式搜索配適於該可用記憶體空間的小批次尺寸。
如第2圖和第3圖所示,在一些實施例中,當小批次尺寸為512或256時,其系統通量較小批次尺寸為1024時的系統通量為佳。因此,在一些實施例中,依據小批次尺寸與該些運算效率之間的該對應關係,處理器120可先嘗試設置該目標小批次尺寸為512以執行該啟發式運算。若該目標小批次尺寸為512之設置於該可用記憶體空間之限制下不可行,則處理器120可嘗試設置該目標小批次尺寸為256以執行該啟發式運算。以此類推,處理器120可重複地執行該啟發式運算,直至找到適合的該目標小批次尺寸。
在一些實施例中,於該啟發式運算中,處理器120可以升序方式來嘗試該些小批次尺寸。於該啟發式運算中,處理器120可嘗試以升序方式設置該目標小批次尺寸為32、64、128、256、512以及1024。例如,若該目標小批次尺寸為32之設置於該可用記憶體空間之限制下係為可行的,則該處理器120將進一步地嘗試以64作為該目標小批次尺寸執行該啟發式運算。以此類推,處理器120可重複地執行該啟發式運算,直至找到適合的該目標小批次尺寸。
此外,根據該目標小批次尺寸,處理器120可自該神經網路該些候選演算法中為該神經網路的每一層選擇一個演算法,藉此實現運算速度與記憶體空間之較佳平衡。例 如,於該啟發式運算中,若選定一特定候選演算法之組合進行該啟發式運算時,該目標小批次尺寸為512之設置於該可用記憶體空間之限制下係為可行的。該處理器120可選擇該目標小批次尺寸為512,並選擇該特定候選演算法組合作為該訓練任務的一最優演算法組合。亦即,在該記憶體影響因子之限制下,該處理器120可同時獲取該訓練任務的該最優演算法組合以及最佳的該目標小批次尺寸。
應注意的是,在第4圖之實施例中,步驟S530可藉由訓練端400(協同該應用程序)依據相似於前述的方式執行。該使用者可藉由互動介面300操作訓練端400,使訓練端400執行基於不同小批次尺寸的該啟發式運算,直至獲得符合該記憶體影響因子的小批次尺寸以及較佳的演算法組合。訓練端400執行該啟發式運算之方式以及選取演算法組合的方式大致相似於前述實施例。
步驟S540:響應於該訓練環境資訊,輸出該小批次尺寸,使該訓練任務被執行。
在第1圖的實施例中,響應於訓練端200所傳輸的該訓練環境資訊,處理器120可向訓練端200輸出一優化結果,其中,該優化結果包含所選的該小批次尺寸以及該神經網路的該候選演算法組合。在本實施例中,訓練端200可依據所選的該小批次尺寸以及針對每一層所選的該些演算法來執行該訓練任務。
在圖4的實施例中,當訓練端400(協同該應用程序)選定符合該記憶體影響因子的該小批次尺寸以及較佳的演 算法組合後,訓練端400可依據選定的該小批次尺寸以及針對每一層所選的該些演算法來執行該訓練任務。抑或,互動介面300亦可顯示對應於該優化結果之建議,例如,互動介面300(例如,顯示器)可顯示符合記憶體影響因子的小批次尺寸以及配適於該神經網路的演算法組合,以作為執行該訓練任務之參考。
第6圖為根據本案一實施例繪示的訓練任務優化系統之示意圖。如第6圖所示,相似於第1圖之實施例,訓練任務優化系統10包括設置模組100及訓練端200。設置模組100包括記憶體110以及處理器120。
然而,在本實施例中,訓練端200係為一電腦,其包含了儲存裝置210、主記憶體220、中央處理器230以及複數個圖形處理器241~244。在此種配置下,該些圖形處理器241~244可協同運作以執行該訓練任務,令該些訓練樣本可分佈於該些圖形處理器241~244當中,平行地實施梯度下降運算,藉此,可加速該訓練任務。應注意的是,在該實施例中,該些圖形處理器241~244皆同於第1圖之實施例當中的該圖形處理器240。
為了利用額外的圖形處理器提升系統效率,在第6圖的實施例中,設置模組100接收的該訓練環境資訊進一步包括了該些圖形處理器241~244之數量、該些圖形處理器241~244之經常性時間(overhead time,用於資訊傳輸之時間)、該些圖形處理器241~244之效率以及該訓練任務的一預期效率。在一些實施例中,可由訓練端200的該使用者輸入該 訓練任務之該預期效率。在本實施例中,處理器120可依據該訓練環境資訊產生一圖形處理器啟用建議予訓練端200,使訓練端200得以達成該預期效率。
舉例而言,當該目標小批次尺寸被決定後,處理器120可依據該些圖形處理器241~244之效率來估算該些圖形處理器241~244所需的運算時間。給定該訓練任務的該預期效率,處理器120可依據該些圖形處理器241~244所需的運算時間以及該些圖形處理器241~244之經常性時間來判斷可於該訓練任務當中使用多少個圖形處理器。依據下列的算式可計算出一數量,該數量係表示該些圖形處理器241~244當中有該數量被使用以執行該訓練任務。
α=(1+Ro)/(1+G*Ro)
應注意的是,前述算式是依據阿姆達爾定律(Amdahl’s Law)所推導而成的。其中,α表示該訓練任務的該預期效率。假設將全部的該些圖形處理器241~244皆使用以執行該訓練任務時的速度係為該訓練端200的一最大運算速度。在此前提下,α值的範圍係為自0%至100%,100%的效率代表該訓練端200的該最大運算速度。其中,Ro代表該圖形處理器241的經常性時間除以該圖形處理器241之運算時間所得出的商數。其中,G代表的是,若欲達成該預期效率,於該訓練任務中需使用的最少圖形處理器數量。
依據前述算式,處理器120可決定該數量,藉由於訓練任務中使用該數量的該些圖形處理器241~244,可滿足給定的該預期效率(即,在算式中給定α之值進行運算)。當該 處理器120獲取該訓練任務中所使用的該些圖形處理單元241~244的該數量後,處理器120可依據該數量產生對應訓練端200的該圖形處理器啟用建議。當該圖形處理器啟用建議被傳輸至訓練端200,訓練端200可依據該圖形處理器啟用建議來執行該訓練任務,如此,訓練端200僅需利用最少量的圖形處理器即可達成該預期效率。
相似於第4圖之實施例,在一些實施例中,訓練端200可與一應用程序(或一網頁服務)協同運作。依據前述算式,給定一期望效率後,訓練端200可自行運算以產生該圖形處理器啟用建議。然後,訓練端200可依據該圖形處理器啟用建議執行該訓練任務,從而實現該預期效率。
第7圖為根據本案一實施例繪示的訓練任務優化系統之示意圖。如第7圖所示,相似於第1圖之實施例,訓練任務優化系統10包含該設置模組100以及複數個訓練端200a~200d。設置模組100包含該記憶體110以及處理器120。在本實施例中,設置模組100耦接於該些訓練端200a~200d。
在本實施例中,訓練端200a可為一電腦,其包含儲存裝置210、主記憶體220、中央處理器230以及該些圖形處理器241~244。應注意的是,該些訓練端200a~200d的配置基本上係為相同的,故其餘訓練端之配置將不再重複贅述。如圖中所示,該些訓練端200a~200d與複數個參數伺服器610~640協同運作。為了加速該訓練任務,可將所提供的該些訓練樣本分配至該些訓練端200a~200d當中,以藉由該些圖形處理器241~244平行地進行梯度下降運算,此外,可將該些模型參數 分配至該些參數伺服器610~640以儲存。應注意的是,此處所述的「分配」所指的是將該些模型參數分散儲存於該些參數伺服器610~640當中,或是該些參數伺服器610~640當中的每一者皆存儲有該些模型參數的一份副本。在此配置下,當該些訓練端200a~200d開始執行該訓練任務的一訓練批次時,該些訓練端200a~200d可平行地自該些參數伺服器610~640當中存取該些模型參數。相似地,當該些訓練端200a~200d完成該訓練任務的該訓練批次時,該些訓練端200a~200d可以將更新後的該些模型參數平行地分配至該些參數伺服器610~640當中。藉此,可以有效提升該訓練任務的效率。
在本實施例中,傳輸至該設置模組100的該訓練環境資訊更進一步包含該些圖形處理器241~244之數量、該些參數伺服器610~640之總數量以及該些參數伺服器610~640對應之網路頻寬,藉由這些資訊,該設置模組100可決定該些參數伺服器610~640當中該數量可用以執行該訓練任務。在本實施例中,該處理器120可依據該訓練環境資訊分別產生針對該些訓練端200a~200d的複數參數伺服器啟用建議,藉此提升該些參數伺服器610~640中的資訊分配效率。依據下列算式,可決定該些參數伺服器610~640當中的該數量可用以執行該訓練任務。
Nps≧(2Sp*Nw)/(Bps*Tc),其中Nps係為一整數。
應注意的是,在本實施例中,該些圖形處理器241~244皆同於第1圖之實施例當中的圖形處理器240。其中,Tc表示該些圖形處理器241~244當中任一者的運算時間。Sp 表示該訓練任務當中該些模型參數的數量,其可以由該神經網路中獲取。Nw表示用以執行該訓練任務的該些訓練端之數量(即,該些訓練端200a~200d)。Bps表示該些參數伺服器610~640對應之網路頻寬。Nps表示該訓練任務中所需的該些參數伺服器(即,該些參數伺服器610~640)之最少數量。
依據前述算式,處理器120可決定在該訓練任務中所需使用的該些參數伺服器610~640之數量。當該處理器120獲取所需使用的該些參數伺服器610~640之該數量後,該處理器120可依據該數量產生針對該些訓練端200a~200d的複數參數伺服器啟用建議。該些參數伺服器啟用建議將被傳輸至該些訓練端200a~200d,該些訓練端200a~200d可依據該些參數伺服器啟用建議來執行該訓練任務。舉例而言,經該處理器120之運算,得出僅需藉由平行的三個參數伺服器即可達成系統需求。在此狀況下,處理器120可選擇三個參數伺服器以執行該訓練任務,例如,可為該些參數伺服器610~630。在此種配置下,該些模型參數可被分配至該些參數伺服器610~630當中。藉此,訓練端200可平行存取該些參數伺服器610~630當中的該些模型參數,從而實現更佳之系統效率。
相似於圖4之實施例,在一些實施例中,該些訓練端200a~200d可與該應用程序(或該網頁服務)協同運作。依據前述算式,該些訓練端200a~200d可自行運算以產生該些參數伺服器啟用建議。然後,該些訓練端200a~200d可依據該些參數伺服器啟用建議執行該訓練任務,從而實現更佳之系統效率。
依據前述實施例,本案提供了一種訓練任務優化系統、一種訓練任務優化方法以及一種用於訓練任務優化的非暫態電腦可讀媒體。給定系統影響因子(例如,記憶體限制)或該訓練任務之需求,該訓練任務優化系統當中的該配置模組(或者,在某些實施例中可為該訓練端本身)可為該訓練任務選擇合適的小批次尺寸。另外,該配置模組(或該訓練端)可以為該訓練任務中的該神經網路選擇最佳之演算法。該配置模組(或該訓練端)亦可決定於該訓練任務中使用的圖形處理器或參數伺服器之數量,藉此達成更佳之訓練效率。
雖然本案以詳細之實施例揭露如上,然而本案並不排除其他可行之實施態樣。因此,本案之保護範圍當視後附之申請專利範圍所界定者為準,而非受於前述實施例之限制。
對本領域技術人員而言,在不脫離本案之精神和範圍內,當可對本案作各種之更動與潤飾。基於前述實施例,所有對本案所作的更動與潤飾,亦涵蓋於本案之保護範圍內。
Claims (18)
- 一種訓練任務優化系統,包含:一處理器,用以接收一訓練任務的一訓練環境資訊,其中該訓練環境資訊包含對應於該訓練任務中的複數訓練樣本之資訊,該處理器用以依據複數記憶體影響因子、該複數訓練樣本以及一神經網路計算該訓練任務的一記憶體分配,其中該記憶體影響因子包含該訓練任務當中可運用的至少一圖形處理器或至少一中央處理器對應的一記憶體容量,基於該訓練環境資訊,該處理器決定配適於該記憶體分配的一小批次尺寸(mini-batch size),其中該小批次尺寸對應於該訓練任務中批次提取該訓練樣本的一尺寸。
- 如請求項1所述之訓練任務優化系統,更包含:一記憶體,用以儲存複數小批次尺寸以及複數運算效率之間對應關係的一資訊,其中該小批次尺寸係依據該複數運算效率自該複數小批次尺寸當中選擇。
- 如請求項1所述之訓練任務優化系統,更包含:一互動介面,用以輸入該訓練環境資訊,其中該訓練環境資訊更包含對應於該複數記憶體影響因子以及該神經網路之資訊。
- 如請求項1所述之訓練任務優化系統,其中該神經網路包含複數層,該處理器用以計算一第一需求空間,該第一需求空間包含指派予該複數訓練樣本的空間以及指派予該複數層對應之輸出資訊的空間。
- 如請求項4所述之訓練任務優化系統,其中該處理器用以自該神經網路獲取複數模型參數,該處理器並計算一第二需求空間,該第二需求空間包含指派予該複數模型參數的空間以及指派予複數梯度值的空間。
- 如請求項5所述之訓練任務優化系統,其中該複數層分別對應複數候選演算法,該處理器用以自該複數候選演算法中為該複數層中的每一者選擇一演算法,該處理器並計算一第三需求空間,該第三需求空間包含指派予被選擇的該演算法的運算緩衝空間。
- 如請求項6所述之訓練任務優化系統,其中該處理器用以依據該複數記憶體影響因子中的該至少一圖形處理器或該至少一中央處理器對應的該記憶體容量、該第一需求空間、該第二需求空間以及該第三需求空間計算該記憶體分配。
- 如請求項1所述之訓練任務優化系統,其中該訓練環境資訊更包含該訓練任務中的複數圖形處理器之資訊以及一預期效率之資訊, 該處理器用以依據該預期效率於該複數圖形處理器當中判斷出一數量,且該數量為該複數圖形處理器中被使用來執行該訓練任務的圖形處理器數量。
- 如請求項1所述之訓練任務優化系統,其中該訓練環境資訊更包含該訓練任務中的複數圖形處理器的一數量之資訊、複數參數伺服器之資訊以及一網路頻寬之資訊,該處理器用以依據該複數圖形處理器的該數量以及該網路頻寬於該複數參數伺服器當中判斷出一數量,且該數量為該複數圖形處理器中被使用來執行該訓練任務的圖形處理器數量。
- 一種訓練任務優化方法,由一處理器所執行,該訓練任務優化方法包含:接收一訓練任務的一訓練環境資訊,其中該訓練環境資訊包含對應於該訓練任務中的複數訓練樣本之資訊;依據複數記憶體影響因子、該複數訓練樣本以及一神經網路計算該訓練任務的一記憶體分配,其中該記憶體影響因子包含該訓練任務當中可運用的至少一圖形處理器或至少一中央處理器對應的一記憶體容量;以及基於該訓練環境資訊,決定配適於該記憶體分配的一小批次尺寸,其中該小批次尺寸對應於該訓練任務中批次提取該訓練樣本的一尺寸。
- 如請求項10所述之訓練任務優化方法,更 包含:獲取複數小批次尺寸以及複數運算效率之間對應關係的一資訊,其中該小批次尺寸係依據該複數運算效率自該複數小批次尺寸當中選擇。
- 如請求項10所述之訓練任務優化方法,其中該神經網路包含複數層,且該訓練任務優化方法更包含:計算一第一需求空間,該第一需求空間包含指派予該複數訓練樣本的空間以及指派予該複數層對應之輸出資訊的空間。
- 如請求項12所述之訓練任務優化方法,更包含:自該神經網路獲取複數模型參數;以及計算一第二需求空間,該第二需求空間包含指派予該複數模型參數的空間以及指派予複數梯度值的空間。
- 如請求項13所述之訓練任務優化方法,其中該複數層分別對應複數候選演算法,且該訓練任務優化方法更包含:自該複數候選演算法中為該複數層中的每一者選擇一演算法;以及計算一第三需求空間,該第三需求空間包含指派予被選擇的該演算法的運算緩衝空間。
- 如請求項14所述之訓練任務優化方法,更包含:依據該複數記憶體影響因子中的該至少一圖形處理器或該至少一中央處理器對應的該記憶體容量、該第一需求空間、該第二需求空間以及該第三需求空間計算該記憶體分配。
- 如請求項10所述之訓練任務優化方法,其中該訓練環境資訊更包含該訓練任務中的複數圖形處理器之資訊以及一預期效率之資訊,且該訓練任務優化方法更包含:依據該預期效率於該複數圖形處理器當中判斷出一數量,且該數量為該複數圖形處理器中被使用來執行該訓練任務的圖形處理器數量。
- 如請求項10所述之訓練任務優化方法,其中該訓練環境資訊更包含該訓練任務中的複數圖形處理器的一數量之資訊、複數參數伺服器之資訊以及一網路頻寬之資訊,且該訓練任務優化方法更包含:依據該複數圖形處理器的該數量以及該網路頻寬於該複數參數伺服器當中判斷出一數量,且該數量為該複數圖形處理器中被使用來執行該訓練任務的圖形處理器數量。
- 一種用以訓練任務優化之非暫態電腦可讀媒體,該非暫態電腦可讀媒體包含複數電腦指令以執行下列程序:接收一訓練任務的一訓練環境資訊,其中該訓練環境資 訊包含對應於該訓練任務中的複數訓練樣本之資訊;依據複數記憶體影響因子、該複數訓練樣本以及一神經網路計算該訓練任務的一記憶體分配,其中該記憶體影響因子包含該訓練任務當中可運用的至少一圖形處理器或至少一中央處理器對應的一記憶體容量;以及基於該訓練環境資訊,決定配適於該記憶體分配的一小批次尺寸,其中該小批次尺寸對應於該訓練任務中批次提取該訓練樣本的一尺寸。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762517189P | 2017-06-09 | 2017-06-09 | |
US62/517,189 | 2017-06-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201903624A TW201903624A (zh) | 2019-01-16 |
TWI675335B true TWI675335B (zh) | 2019-10-21 |
Family
ID=64564141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107120060A TWI675335B (zh) | 2017-06-09 | 2018-06-11 | 訓練任務優化系統、訓練任務優化方法及其非暫態電腦可讀媒體 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11144828B2 (zh) |
CN (1) | CN109034381B (zh) |
TW (1) | TWI675335B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI831016B (zh) * | 2020-06-05 | 2024-02-01 | 宏達國際電子股份有限公司 | 機器學習方法、機器學習系統以及非暫態電腦可讀取媒體 |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11762684B2 (en) * | 2012-01-30 | 2023-09-19 | Workfusion, Inc. | Distributed task execution |
US11037330B2 (en) | 2017-04-08 | 2021-06-15 | Intel Corporation | Low rank matrix compression |
TWI675335B (zh) * | 2017-06-09 | 2019-10-21 | 宏達國際電子股份有限公司 | 訓練任務優化系統、訓練任務優化方法及其非暫態電腦可讀媒體 |
US11269974B1 (en) * | 2017-09-08 | 2022-03-08 | Amazon Technologies, Inc. | Learning ordinal regression model via divide-and-conquer technique |
US11437032B2 (en) | 2017-09-29 | 2022-09-06 | Shanghai Cambricon Information Technology Co., Ltd | Image processing apparatus and method |
US11609760B2 (en) | 2018-02-13 | 2023-03-21 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
US11169803B2 (en) | 2018-02-13 | 2021-11-09 | Shanghai Cambricon Information Technology Co., Ltd. | Computing device and method |
US11630666B2 (en) | 2018-02-13 | 2023-04-18 | Shanghai Cambricon Information Technology Co., Ltd | Computing device and method |
CN116991225A (zh) | 2018-02-14 | 2023-11-03 | 上海寒武纪信息科技有限公司 | 处理器的控制装置、方法及设备 |
EP3624020A4 (en) | 2018-05-18 | 2021-05-05 | Shanghai Cambricon Information Technology Co., Ltd | CALCULATION PROCEDURES AND RELATED PRODUCTS |
EP3798850A4 (en) | 2018-06-27 | 2022-03-23 | Shanghai Cambricon Information Technology Co., Ltd | ON-CHIP CODE BREAKPOINT DEBUG METHOD, ON-CHIP PROCESSOR AND CHIP BREAKPOINT DEBUG SYSTEM |
EP3757896B1 (en) * | 2018-08-28 | 2023-01-11 | Cambricon Technologies Corporation Limited | Method and device for pre-processing data in a neural network |
WO2020062392A1 (zh) | 2018-09-28 | 2020-04-02 | 上海寒武纪信息科技有限公司 | 信号处理装置、信号处理方法及相关产品 |
US11544630B2 (en) * | 2018-10-15 | 2023-01-03 | Oracle International Corporation | Automatic feature subset selection using feature ranking and scalable automatic search |
US11061902B2 (en) | 2018-10-18 | 2021-07-13 | Oracle International Corporation | Automated configuration parameter tuning for database performance |
US20200125926A1 (en) * | 2018-10-23 | 2020-04-23 | International Business Machines Corporation | Dynamic Batch Sizing for Inferencing of Deep Neural Networks in Resource-Constrained Environments |
CN111385462A (zh) | 2018-12-28 | 2020-07-07 | 上海寒武纪信息科技有限公司 | 信号处理装置、信号处理方法及相关产品 |
US10789510B2 (en) * | 2019-01-11 | 2020-09-29 | Google Llc | Dynamic minibatch sizes |
WO2020158217A1 (ja) * | 2019-02-01 | 2020-08-06 | ソニー株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
US11586929B2 (en) * | 2019-02-15 | 2023-02-21 | Wipro Limited | Method and system for optimizing memory requirement for training an artificial neural network model |
CN109947940B (zh) * | 2019-02-15 | 2023-09-05 | 平安科技(深圳)有限公司 | 文本分类方法、装置、终端及存储介质 |
CN109976903B (zh) | 2019-02-22 | 2021-06-29 | 华中科技大学 | 一种基于层宽内存分配的深度学习异构计算方法和系统 |
CN111723147B (zh) * | 2019-03-21 | 2023-07-25 | 杭州海康威视数字技术股份有限公司 | 基于区块链的数据训练方法、装置及设备、存储介质 |
CN110147901B (zh) * | 2019-04-08 | 2023-04-07 | 合肥工业大学 | 车辆路径规划方法、系统及存储介质 |
US11429895B2 (en) | 2019-04-15 | 2022-08-30 | Oracle International Corporation | Predicting machine learning or deep learning model training time |
CN111832737B (zh) | 2019-04-18 | 2024-01-09 | 中科寒武纪科技股份有限公司 | 一种数据处理方法及相关产品 |
US20200334522A1 (en) | 2019-04-18 | 2020-10-22 | Cambricon Technologies Corporation Limited | Data processing method and related products |
US11676028B2 (en) | 2019-06-12 | 2023-06-13 | Shanghai Cambricon Information Technology Co., Ltd | Neural network quantization parameter determination method and related products |
EP3998554A4 (en) | 2019-06-12 | 2023-11-15 | Shanghai Cambricon Information Technology Co., Ltd | METHOD FOR DETERMINING QUANTIZATION PARAMETERS IN A NEURONAL NETWORK AND ASSOCIATED PRODUCTS |
JP7146952B2 (ja) | 2019-08-23 | 2022-10-04 | 安徽寒武紀信息科技有限公司 | データ処理方法、装置、コンピュータデバイス、及び記憶媒体 |
CN110543944B (zh) * | 2019-09-11 | 2022-08-02 | 北京百度网讯科技有限公司 | 神经网络结构搜索方法、装置、电子设备和介质 |
CN110929623A (zh) * | 2019-11-15 | 2020-03-27 | 北京达佳互联信息技术有限公司 | 多媒体文件的识别方法、装置、服务器和存储介质 |
US11244198B2 (en) | 2019-11-21 | 2022-02-08 | International Business Machines Corporation | Input partitioning for deep learning of large image data |
US11727284B2 (en) * | 2019-12-12 | 2023-08-15 | Business Objects Software Ltd | Interpretation of machine learning results using feature analysis |
CN111126604B (zh) * | 2019-12-31 | 2024-02-02 | 北京奇艺世纪科技有限公司 | 模型训练方法、装置、服务器及存储介质 |
KR102494945B1 (ko) * | 2020-05-15 | 2023-02-01 | 한국항공대학교산학협력단 | 멀티 gpu를 이용한 딥러닝 모델 학습 시의 최적 스플릿 크기 결정 장치 및 방법과 이를 이용한 딥러닝 모델 학습 방법 |
CN111783968B (zh) * | 2020-06-30 | 2024-05-31 | 山东信通电子股份有限公司 | 一种基于云边协同的输电线路监测方法及系统 |
CN112084017B (zh) * | 2020-07-30 | 2024-04-19 | 北京聚云科技有限公司 | 一种内存管理方法、装置、电子设备及存储介质 |
CN111917579A (zh) * | 2020-07-30 | 2020-11-10 | 云知声智能科技股份有限公司 | 分布式训练方法、装置、设备和存储介质 |
CN112561079A (zh) * | 2020-12-18 | 2021-03-26 | 北京百度网讯科技有限公司 | 分布式的模型训练装置、方法及计算机程序产品 |
CN113345422B (zh) * | 2021-04-23 | 2024-02-20 | 北京巅峰科技有限公司 | 语音数据处理方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201424292A (zh) * | 2012-12-06 | 2014-06-16 | Inst Information Industry | 工作負載分配裝置及其工作負載分配方法 |
WO2016119429A1 (zh) * | 2015-01-26 | 2016-08-04 | 华为技术有限公司 | 用于神经网络中训练参数集的系统和方法 |
TW201701199A (zh) * | 2015-05-21 | 2017-01-01 | 咕果公司 | 類神經網路處理器中之批次處理 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
HUP0301368A3 (en) * | 2003-05-20 | 2005-09-28 | Amt Advanced Multimedia Techno | Method and equipment for compressing motion picture data |
CN101753364B (zh) * | 2008-12-11 | 2012-08-22 | 财团法人工业技术研究院 | 设备状态分析预测以及资源分配方法与系统 |
US8725658B2 (en) * | 2011-09-21 | 2014-05-13 | Brain Corporation | Elementary network description for efficient memory management in neuromorphic systems |
CN103699440B (zh) | 2012-09-27 | 2017-05-24 | 北京搜狐新媒体信息技术有限公司 | 一种云计算平台系统为任务分配资源的方法和装置 |
US10140573B2 (en) * | 2014-03-03 | 2018-11-27 | Qualcomm Incorporated | Neural network adaptation to current computational resources |
US9852006B2 (en) * | 2014-03-28 | 2017-12-26 | International Business Machines Corporation | Consolidating multiple neurosynaptic core circuits into one reconfigurable memory block maintaining neuronal information for the core circuits |
US9627532B2 (en) * | 2014-06-18 | 2017-04-18 | Nuance Communications, Inc. | Methods and apparatus for training an artificial neural network for use in speech recognition |
EP3192016B1 (en) * | 2014-09-12 | 2019-05-08 | Microsoft Technology Licensing, LLC | Computing system for training neural networks |
CN105808339B (zh) | 2014-12-29 | 2019-05-17 | 华为技术有限公司 | 大数据并行计算方法及装置 |
CN104714852B (zh) * | 2015-03-17 | 2018-05-22 | 华中科技大学 | 一种适用于分布式机器学习的参数同步优化方法及其系统 |
US10140572B2 (en) * | 2015-06-25 | 2018-11-27 | Microsoft Technology Licensing, Llc | Memory bandwidth management for deep learning applications |
CN106445676B (zh) * | 2015-08-05 | 2019-10-22 | 杭州海康威视系统技术有限公司 | 一种分布式数据计算的任务分配方法和任务分配装置 |
US10628740B2 (en) | 2015-10-02 | 2020-04-21 | International Business Machines Corporation | Asynchronous stochastic gradient descent |
CN105516242A (zh) | 2015-11-23 | 2016-04-20 | 华为技术有限公司 | 一种存储资源分配方法及存储资源分配系统 |
CN106506594B (zh) * | 2016-09-30 | 2019-09-03 | 科大讯飞股份有限公司 | 一种并行计算资源分配方法及装置 |
US10740596B2 (en) * | 2016-11-08 | 2020-08-11 | Nec Corporation | Video security system using a Siamese reconstruction convolutional neural network for pose-invariant face recognition |
US11216722B2 (en) * | 2016-12-31 | 2022-01-04 | Intel Corporation | Hardware accelerator template and design framework for implementing recurrent neural networks |
US10262390B1 (en) * | 2017-04-14 | 2019-04-16 | EMC IP Holding Company LLC | Managing access to a resource pool of graphics processing units under fine grain control |
TWI675335B (zh) * | 2017-06-09 | 2019-10-21 | 宏達國際電子股份有限公司 | 訓練任務優化系統、訓練任務優化方法及其非暫態電腦可讀媒體 |
CN107341761A (zh) * | 2017-07-12 | 2017-11-10 | 成都品果科技有限公司 | 一种深度神经网络的计算执行方法和系统 |
CN107909142A (zh) * | 2017-11-14 | 2018-04-13 | 深圳先进技术研究院 | 一种神经网络的参数优化方法、系统及电子设备 |
US20210141355A1 (en) * | 2019-11-07 | 2021-05-13 | Global Energy Interconnection Research Institute Co. Ltd | Systems and methods of autonomous line flow control in electric power systems |
-
2018
- 2018-06-11 TW TW107120060A patent/TWI675335B/zh active
- 2018-06-11 CN CN201810597426.8A patent/CN109034381B/zh active Active
- 2018-06-11 US US16/004,449 patent/US11144828B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201424292A (zh) * | 2012-12-06 | 2014-06-16 | Inst Information Industry | 工作負載分配裝置及其工作負載分配方法 |
WO2016119429A1 (zh) * | 2015-01-26 | 2016-08-04 | 华为技术有限公司 | 用于神经网络中训练参数集的系统和方法 |
TW201701199A (zh) * | 2015-05-21 | 2017-01-01 | 咕果公司 | 類神經網路處理器中之批次處理 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI831016B (zh) * | 2020-06-05 | 2024-02-01 | 宏達國際電子股份有限公司 | 機器學習方法、機器學習系統以及非暫態電腦可讀取媒體 |
Also Published As
Publication number | Publication date |
---|---|
CN109034381A (zh) | 2018-12-18 |
CN109034381B (zh) | 2022-01-28 |
TW201903624A (zh) | 2019-01-16 |
US20180357541A1 (en) | 2018-12-13 |
US11144828B2 (en) | 2021-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI675335B (zh) | 訓練任務優化系統、訓練任務優化方法及其非暫態電腦可讀媒體 | |
US20220391771A1 (en) | Method, apparatus, and computer device and storage medium for distributed training of machine learning model | |
US20240160948A1 (en) | Processing computational graphs | |
KR102170105B1 (ko) | 신경 네트워크 구조의 생성 방법 및 장치, 전자 기기, 저장 매체 | |
JP6636630B2 (ja) | 計算グラフの修正 | |
JP7087079B2 (ja) | 深層学習アプリケーションのための堅牢な勾配重み圧縮方式 | |
CN107038064B (zh) | 虚拟机管理方法及装置、存储介质 | |
CN109657793B (zh) | 模型训练方法及装置、存储介质及电子设备 | |
US9916283B2 (en) | Method and system for solving a problem involving a hypergraph partitioning | |
CN108205469B (zh) | 一种基于MapReduce的资源分配方法及服务器 | |
CN110532154B (zh) | 应用系统扩容方法、装置和设备 | |
CN114816711A (zh) | 批量任务处理方法、装置、计算机设备和存储介质 | |
Manikandan et al. | Virtualized load balancer for hybrid cloud using genetic algorithm | |
JP2013008089A (ja) | 計算機システムの構成パターンの算出方法及び構成パターンの算出装置 | |
KR20200010644A (ko) | 컴퓨터 수행 가능한 클라우드 기반의 인공지능 연산 서비스 방법 | |
CN114912627A (zh) | 推荐模型训练方法、系统、计算机设备及存储介质 | |
Chen et al. | A QoS guarantee framework for cloud services based on Bayesian prediction | |
CA2915760A1 (en) | Method and system for solving a problem involving a hypergraph partitioning | |
CN110472233A (zh) | 基于知识库内头尾实体分布的关系相似度度量方法及系统 | |
US20240080255A1 (en) | Network traffic control using estimated maximum gap | |
CN110888715B (zh) | 一种虚拟化计算方法 | |
WO2022021199A1 (zh) | 一种神经网络模型构建方法及其设备 | |
KR20230121303A (ko) | 이종 미니배치사이즈 기반의 분산 딥러닝 방법 및 장치 | |
CN117377945A (zh) | 用于分布式数据并行dnn训练中的批量再均衡的装置和方法 | |
CN118260080A (zh) | 服务器负载均衡方法、装置、服务器集群、设备和介质 |