TWI756974B - 機器學習系統及其資源配置方法 - Google Patents

機器學習系統及其資源配置方法 Download PDF

Info

Publication number
TWI756974B
TWI756974B TW109143419A TW109143419A TWI756974B TW I756974 B TWI756974 B TW I756974B TW 109143419 A TW109143419 A TW 109143419A TW 109143419 A TW109143419 A TW 109143419A TW I756974 B TWI756974 B TW I756974B
Authority
TW
Taiwan
Prior art keywords
experiment
resource
machine learning
amount
execution
Prior art date
Application number
TW109143419A
Other languages
English (en)
Other versions
TW202223645A (zh
Inventor
陳世璋
朱逸勤
呂依芳
Original Assignee
財團法人工業技術研究院
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 財團法人工業技術研究院 filed Critical 財團法人工業技術研究院
Priority to TW109143419A priority Critical patent/TWI756974B/zh
Priority to CN202011558111.6A priority patent/CN112667397B/zh
Priority to US17/217,846 priority patent/US11954527B2/en
Application granted granted Critical
Publication of TWI756974B publication Critical patent/TWI756974B/zh
Publication of TW202223645A publication Critical patent/TW202223645A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

一種資源配置方法,適用於機器學習系統,且包含以機器學習系統的資源佔用量執行至少一第一實驗,其中每一第一實驗具有第一最低資源需求量,接收關聯於目標資料集的實驗需求,依據目標資料集決定第二實驗,並決定第二實驗的第二最低資源需求量,當機器學習系統的總資源量滿足第一最低資源需求量及第二最低資源需求量之和,且總資源量與資源佔用量之差滿足第二最低資源需求量時,配置第二最低資源需求量執行第二實驗,以及判斷機器學習系統具有閒置資源量,並選擇性地將閒置資源量配置給所述至少一第一實驗及該第二實驗中之至少一者。

Description

機器學習系統及其資源配置方法
本發明係關於一種資源配置方法。
機器學習(Machine Learning)演算法是一種依據資料進行自動分析以獲得規律,再利用規律對未知資料進行預測的演算法。具體來說,應用機器學習演算法之系統可以使用訓練資料集(Dataset)來訓練模型,而訓練好之模型便可用來對新資料進行預測。為了使訓練出來的模型可以具有較佳的準確率,在訓練模型之前需要先探索模型的超參數(Hyperparameters)。
所謂超參數係指模型外部的配置,其數值不能在訓練模型的過程中取得,而需大量反覆試驗才得以找到適合的數值,也就是說,在有限時間內所執行之試驗數量越多,便越有機會取得好的數值。
鑒於上述,本發明提供一種機器學習系統及其資源配置方法。
依據本發明一實施例的資源配置方法,適用於機器學習系統,且包含:以機器學習系統的資源佔用量執行至少一第一實驗,其中每一第一實驗具有第一最低資源需求量,接收關聯於目標資料集的實驗需求,依據目標資料集決定第二實驗,並決定第二實驗的第二最低資源需求量,當機器學習系統的總資源量滿足第一最低資源需求量及第二最低資源需求量之和且總資源量與資源佔用量之差滿足第二最低資源需求量時,配置第二最低資源需求量執行第二實驗,以及判斷機器學習系統具有閒置資源量,並選擇性地將閒置資源量配置給所述至少一第一實驗及該第二實驗中之至少一者。
依據本發明一實施例的機器學習系統,包含輸入介面、機器學習模型訓練執行器、實驗產生器、實驗排程器及動態資源配置器,其中實驗產生器連接於輸入介面,實驗排程器連接於實驗產生器及機器學習模型訓練執行器,且動態資源配置器連接於機器學習模型訓練執行器。輸入介面用於接收關聯於目標資料集的實驗需求。機器學習模型訓練執行器用於以資源佔用量執行至少一第一實驗,其中每一第一實驗具有第一最低資源需求量。實驗產生器用於依據目標資料集決定第二實驗並決定第二實驗的第二最低資源需求量。實驗排程器用於在判斷機器學習模型訓練執行器的總資源量滿足第一最低資源需求量及第二最低資源需求量之和且總資源量與資源佔用量之差滿足第二最低資源需求量時,配置機器學習模型訓練執行器以第二最低資源需求量執行第二實驗。動態資源配置器用於判斷機器學習模型訓練執行器具有閒置資源量,並選擇性地將閒置資源量配置給所述至少一第一實驗及第二實驗中之至少一者。
藉由上述結構,本案所揭示的機器學習系統及其資源配置方法可以依據實驗需求自動產生實驗設定並建議實驗最低資源需求量,先以最低資源需求量執行實驗再進行動態配置,且可進行不同實驗間的資源調配,使得系統之運算資源可以維持在較佳的執行效率,進而提升有限時間內實驗之子實驗的完成數量。
以上之關於本揭露內容之說明及以下之實施方式之說明係用以示範與解釋本發明之精神與原理,並且提供本發明之專利申請範圍更進一步之解釋。
以下在實施方式中詳細敘述本發明之詳細特徵以及優點,其內容足以使任何熟習相關技藝者了解本發明之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之目的及優點。以下之實施例係進一步詳細說明本發明之觀點,但非以任何觀點限制本發明之範疇。
請參考圖1,圖1為依據本發明一實施例所繪示的機器學習系統的功能方塊圖。如圖1所示,機器學習系統1可以包含輸入介面11、實驗產生器12、實驗排程器13、機器學習模型訓練執行器14、動態資源配置器15、資料庫16及輸出介面17,其中實驗產生器12連接於輸入介面11、實驗排程器13及資料庫16,機器學習模型訓練執行器14連接於實驗排程器13、動態資源配置器15及輸出介面17。
機器學習系統1可以藉由輸入介面11接收關聯於目標資料集(Dataset)的實驗需求,藉由實驗產生器12依據目標資料集決定目標實驗及目標實驗的最低資源需求量。其中,目標資料集表示欲用來訓練機器學習模型之資料集。進一步來說,資料庫16可以預存多種實驗(包含目標實驗)的執行效率資料,實驗產生器12可以依據目標實驗的執行效率資料來決定目標實驗的最低資源需求量,詳細資料內容集決定方式將於後描述。機器學習系統1可以藉由實驗排程器13判斷機器學習模型訓練執行器14的資源量是否足夠執行目標實驗,其中所述資源量例如中央處理單元(Central Processing Unit,CPU)數量、多核心CPU的核心數量。
目標實驗可能非為機器學習模型訓練執行器14第一個執行的實驗,也就是說,機器學習模型訓練執行器14可能在其他當前正在執行的實驗(至少一第一實驗)的狀況下被判定所剩之資源量是否足夠執行目標實驗(第二實驗)。因此,實驗排程器13可以先判斷機器學習模型訓練執行器14的總資源量是否滿足所述至少一第一實驗的最低資源需求量(第一最低資源需求量)與第二實驗的最低資源需求量(第二最低資源需求量)之和,再判斷機器學習模型訓練執行器14的總資源量扣掉當前用於執行所述至少一第一實驗的資源佔用量的剩餘資源量(即總資源量與資源佔用量之差)是否滿足第二最低資源需求量,以判斷機器學習模型訓練執行器14的資源量是否足夠執行第二實驗。
當判斷機器學習模型訓練執行器14的總資源量滿足第一最低資源需求量及第二最低資源需求量之和,且總資源量與資源佔用量之差滿足第二最低資源需求量時,即判斷機器學習模型訓練執行器14的資源量足夠執行第二實驗時,機器學習系統1可以藉由實驗排程器13配置機器學習模型訓練執行器14以第二資源需求量執行第二實驗,即使用目標資料集訓練機器學習模型,並在第二實驗執行完成後藉由輸出介面17輸出實驗結果,例如是已訓練好之機器學習模型。在實驗執行的過程中,機器學習系統1可以藉由動態資源配置器15週期性地(例如每2、5或10分鐘一次)判斷機器學習模型訓練執行器14是否具有一閒置資源量,當有的時候,便選擇性地將閒置資源量配置給所述至少一第一實驗及第二實驗中的一者,即配置給機器學習模型訓練執行器14當前正在執行的其他實驗或目標實驗。其中,所述閒置資源量意指未執行任何作業的CPU或CPU核心之數量。
進一步來說明實施機器學習系統1之各裝置的硬體。輸入介面11例如為鍵盤、滑鼠、觸控螢幕等輸入設備,以供使用者輸入實驗需求。實驗產生器12、實驗排程器13及動態資源配置器15可以由同個處理器或多個處理器來實施,其中所謂處理器例如為CPU、微控制器、可程式化邏輯控制器(Programmable Logic Controller, PLC)等。機器學習模型訓練執行器14則包含自建運算環境之CPU資源或是利用雲端運算環境之CPU資源來運作,所述CPU資源為不同於實驗產生器12、實驗排程器13及動態資源配置器15的多個CPU或多核心CPU。實驗產生器12、實驗排程器13及動態資源配置器15為設定及監控機器學習模型訓練執行器14之資源使用狀態的組合,詳細的設定及監控方法將於後描述。資料庫16例如為唯讀記憶體(Read-only Memory,ROM)、快閃記憶體等非揮發性記憶體,可以儲存上述設定及監控所需要的參考資料,例如多個實驗的執行效率資料、多個資料集的描述等,詳細的資料內容將於後描述。特別來說,資料庫16除了連接於實驗產生器12,更可以連接於實驗排程器13或/及動態資源配置器15,以供三者執行設定及監控時索取需要的參考資料。或者,資料庫16可以為作為實驗產生器12、實驗排程器13及動態資源配置器15的處理器之內建記憶體。輸出介面17例如為螢幕或其他輸出設備,用於輸出機器學習模型訓練執行器14的執行結果。
請一併參考圖1及圖2,圖2係依據本發明一實施例所繪示的機器學習系統之資源配置方法的流程圖。圖2所示的資源配置方法適用於圖1所示的機器學習系統1,但不限於此。如圖2所示,資源配置方法包含步驟S11:接收關聯於目標資料集的實驗需求;步驟S12:依據目標資料集決定至少一目標實驗及目標實驗的最低資源需求量;步驟S13:判斷機器學習系統的資源量是否足夠執行目標實驗;當判斷結果為「是」時,執行步驟S14:配置目標實驗的最低資源需求量以執行目標實驗;當判斷結果為「否」時,執行步驟S15:不執行目標實驗或減少其他實驗之資源佔用量直至足夠執行目標實驗;另包含步驟S16:判斷機器學習系統具有閒置資源量,並選擇性地配置閒置資源量。以下示例性地以圖1所示的機器學習系統1之裝置來進一步說明資源配置方法的各種實施態樣。
於步驟S11中,輸入介面11可以接收關聯於目標資料集的實驗需求。其中,實驗需求包含用以訓練機器學習模型的目標資料集。進一步來說,使用者可以預先將多個資料集的檔案上傳至一檔案系統(可稱為Dataset Store),目標資料集的描述則可儲存於資料庫16中。使用者在欲使用目標資料集來訓練機器學習模型時,可以透過輸入介面11輸入目標資料集的選擇指令,實驗產生器12再依據此選擇指令向檔案系統索取目標資料集的檔案,檔案系統再據以於資料庫16查找目標資料集的描述。或者,使用者可以直接透過輸入介面11提供目標資料集的檔案給機器學習系統1。目標資料集例如為CSV檔案,包含多筆資料,每筆資料包含多個個欄位,所述多個欄位之一可被指定為目標欄位,而其餘欄位則作為特徵欄位,其中目標欄位代表欲以完成訓練之機器學習模型進行預測之欄位。機器學習模型可以依據目標資料集,歸納特徵欄位的數值與目標欄位的數值之間的規則,再以歸納出的規則對新資料進行預測。
於步驟S12中,實驗產生器12可以依據目標資料集決定至少一目標實驗及每個目標實驗的最低資源需求量。進一步來說,每個目標實驗可以對應於一特定模型且包含多個目標子實驗(Trial),每個目標子實驗可以對應於不同超參數(Hyperparameters)組合,目標子實驗的執行便係依據對應之超參數組合來使用目標資料集進行機器學習模型的訓練。換句話說,實驗產生器12可以依據目標資料集決定實驗所對應的特定模型,所述特定模型具有許多超參數(舉例來說,模型sklearn.svm.SVC具有超參數C: float、kernel:{‘linear’, …}、degree:int等等),實驗產生器12便可以自動產生超參數的多種數值搭配分別作為多個超參數組合,並將依據各超參數組合來使用目標資料集訓練機器學習模型之作業設定為一目標子實驗。
除了產生目標實驗的多個子實驗,實驗產生器12亦會決定目標實驗的最低資源需求量。進一步來說,實驗產生器12可以依據目標實驗的執行效率資料及目標實驗執行表現來計算最低資源需求量。執行效率資料可以預先儲存於資料庫16,包含一最高資源忙碌量對應的目標實驗之單個子實驗的執行時間。一般而言,每個子實驗僅會配置給單組資源(例如單個CPU或CPU核心)來執行。因此,所謂最高資源忙碌量對應的目標實驗之單個子實驗的執行時間即表示當機器學習模型訓練執行器14處於最忙碌狀態時,單組資源完成單個子實驗的執行時間。目標實驗執行表現指示在一預設時間內目標實驗的目標子實驗完成量(Trial Throughput),可以為實驗產生器12的預設值或是由使用者透過輸入介面11輸入,也就是說,前述實驗需求可以包含目標實驗執行表現。舉例來說,若目標實驗之執行效率資料為900秒且目標實現執行表現為每小時完成20個子實驗,則實驗產生器12可以計算出同時至少要有5個子實驗同時進行,即最低資源需求量為5組資源,然本發明不以此為限。
於步驟S13中,實驗排程器13可以判斷機器學習系統的資源量是否足夠執行目標實驗。當判斷結果為「是」時,於步驟S14中,實驗排程器13可以配置機器學習模型訓練執行器14以目標實驗的最低資源需求量以執行目標實驗。當判斷結果為「否」時,於步驟S15中,實驗排程器13不執行目標實驗或減少其他實驗之資源佔用量直至足夠執行目標實驗。
進一步來說,當目標實驗被實驗產生器12產生時,機器學習模型訓練執行器14可能有其他當前正在執行的實驗。因此,實驗排程器13可以先判斷機器學習模型訓練執行器14的總資源量是否滿足目標實驗及其他實驗的最低資源需求量。當判斷結果為「否」時便不執行目標實驗,且可將目標實驗先儲存於待執行實驗佇列;當判斷結果為「是」時,實驗排程器13再判斷機器學習模型訓練執行器14當前的閒置資源量,即總資源量與其他實驗當前的資源佔用量之差,是否滿足目標實驗的最低資源需求量。當判斷結果為「否」時,表示有其他實驗是以高於其最低資源需求量的資源佔用來在運作,實驗排程器13便可以減少其他實驗之資源佔用量,直至機器學習模型訓練執行器14當前的閒置資源量足夠執行目標實驗,也就是當前的閒置資源量等於目標實驗的最低資源需求量。此時,實驗排程器13便可配置機器學習模型訓練執行器14以目標實驗的最低資源需求量以執行目標實驗。
步驟S16示例性地繪示於步驟S14後,但實際上步驟S16可以在機器學習模型訓練執行器14開始執行實驗後週期性地執行(例如每2、5或10分鐘執行一次),也就是在機器學習模型訓練執行器14開始第一個實驗起每一特定時間執行一次。或者,步驟S16可以在機器學習模型訓練執行器14執行任何實驗的期間執行。於步驟S16中,動態資源配置器15可以判斷機器學習模型訓練執行器14是否具有一閒置資源量,當有的時候,便選擇性地將閒置資源量配置給機器學習模型訓練執行器14當前正在執行實驗中的至少一者,即增加該至少一實驗的資源佔用量。
請一併參考圖1及圖3,圖3係依據本發明另一實施例所繪示的資源配置方法的流程圖。如前所述,當有新的目標實驗產生時,機器學習系統1可能有其他當前正在執行的實驗。若以至少一第一實驗代稱機器學習系統1當前正在執行的實驗且以第二實驗代稱新產生的目標實驗,則至少第一實驗及第二實驗的資源配置方法可以如圖3所示,包含步驟S21:以機器學習系統1的資源佔用量執行至少一第一實驗,其中每一第一實驗具有第一最低資源需求量;步驟S22:接收關聯於目標資料集的實驗需求;步驟S23:依據目標資料集決定第二實驗,並決定第二實驗的第二最低資源需求量;步驟S24:當機器學習系統1的總資源量滿足第一最低資源需求量及第二最低資源需求量之和,且總資源量及資源佔用量之差滿足第二最低資源需求量時,配置第二最低資源需求量執行第二實驗;以及步驟S25:判斷機器學習系統1具有閒置資源量,並選擇性地將閒置資源量配置給所述至少一第一實驗及第二實驗中之至少一者。其中,步驟S25中之判斷並選擇性地配置閒置資源量的實施內容可以在機器學習系統1開始執行實驗後週期性地執行(例如每2、5或10分鐘執行一次),也可以在機器學習系統1執行任何實驗的期間執行。
上述步驟S21可以機器學習系統1的機器學習模型訓練執行器14來執行,步驟S22以輸入介面11執行,步驟S23以實驗產生器12執行,步驟S24以實驗排程器13指示機器學習模型訓練執行器14執行,步驟S25則以動態資源配置器15執行。另外,當機器學習系統1的機器學習模型訓練執行器14之總資源量滿足第一最低資源需求量及第二最低資源需求量之和,但總資源量與資源佔用量之差不滿足第二最低資源需求量時,機器學習系統1的實驗排程器13可以減少資源佔用量,以使總資源量與該資源佔用量之差滿足第二最低資源需求量。
上述實驗排程器13所執行之減少當前正在執行之實驗(第一實驗)的資源佔用量以及動態資源配置器15所執行之選擇性地配置閒置資源量的方式各可依循多種原則,其中有幾種原則係基於預先儲存於資料庫16的多種實驗之執行效率資料。請參考圖4A及4B,圖4A及4B分別示例性地繪示兩種實驗的執行效率資料。如圖4A所示,第一種實驗的執行效率資料包含多種資源忙碌量各自對應的第一種實驗之單個子實驗的執行時間。如圖4B所示,第二種實驗的執行效率資料包含多種資源忙碌量各自對應的第二種實驗之單個子實驗的執行時間。其中,資源忙碌量指示機器學習模型訓練執行器14中正在運行的CPU數量,單個子實驗的執行時間指示單組資源完成單個子實驗的執行時間。特別來說,第一種實驗與第二種實驗可以分別基於不同模型(例如SVC、GBR等等)。
圖4A及4B所示之資源忙碌量的範圍為1~20,亦即於圖4A及4B對應之實施例中,機器學習模型訓練執行器14的總資源量(CPU總數量或CPU核心總數量)為20。另外,如前所述,實驗產生器12可以依據最高資源忙碌量所對應的目標實驗之單個子實驗的執行時間,產生目標實驗之最低資源需求量的,以圖4A及4B為例,最高資源忙碌量所對應的單個子實驗的執行時間即為資源忙碌量20所對應的單個子實驗的執行時間。於此要特別說明的是,圖4A及4B所呈現之資源忙碌量及單個子實驗的執行時間之數值僅為示例,並非意圖限制本發明。
進一步說明實驗排程器13所執行之減少當前正在執行之實驗的資源佔用量的方式。當第一實驗(當前正在執行之實驗)的數量僅有一個時,實驗排程器13便會減少該實驗的資源佔用量。當第一實驗數量有多個時,於一實施例中,實驗排程器13所執行之減少資源佔用量包含:對於每一第一實驗,依據第一實驗的執行效率資料,判斷將第一實驗對應的資源佔用量減少後第一實驗的子實驗完成量之預估下降幅度;以及減少第一實驗中具有最低預估下降幅度者所對應的該資源佔用量。
第一實驗的執行效率資料如前列圖4A及4B之實施例所述,包含多種資源忙碌量各自對應的第一實驗之單個子實驗的執行時間。至於子實驗完成量之預估下降幅度,詳細來說,實驗排程器13可以所有第一實驗的當前資源佔用量作為資源忙碌數量,用此資源忙碌數量查找各第一實驗的執行效率資料以取得各第一實驗的單個子實驗執行時間,據以計算在未減少任一第一實驗之資源佔用量的狀態(第一運作狀態)下,各第一實驗在預設時間內的子實驗完成量,並以所有第一實驗的當前資源佔用量減去一預設量的值作為資源忙碌數量,用此資源忙碌數量查找各第一實驗的執行效率資料以取得各第一實驗的單個子實驗執行時間,據以計算各第一實驗中之資源佔用量在減少所述預設量的狀態(第二運作狀態)下,在預設時間內的子實驗完成量,再將各第一實驗在上述兩種運作狀態下計算而得的子實驗完成量相減以取得預估下降幅度。
舉例來說,第一實驗包含實驗A、實驗B及實驗C,當前分別以8、6及6個CPU執行。實驗排程器13取得實驗A、實驗B及實驗C分別在資源忙碌量為20時的單個子實驗執行時間,計算在10分鐘內,實驗A以8個CPU所能完成的子實驗數量、實驗B以6個CPU所能完成的子實驗數量以及實驗C以6個CPU所能完成的子實驗數量,假設如下所示: A[8]=30; B[6]=22; C[6]=30。
實驗排程器13亦取得實驗A、實驗B及實驗C分別在資源忙碌量為19(預設量為1)時的單個子實驗執行時間,計算在10分鐘內,實驗A以7個CPU所能完成的子實驗數量、實驗B以5個CPU所能完成的子實驗數量以及實驗C以5個CPU所能完成的子實驗數量,假設如下所示: A[7]=27; B[5]=20; C[5]=26。
依據上列計算結果,實驗排程器13會判斷實驗B的下降幅度(2)為最低,因此將實驗B的資源佔用量減少1。實驗排程器13可以依上述原理不斷選擇減少資源佔用量之實驗,直至總資源量與所有實驗之資源佔用量之間的差值滿足第二實驗的最低資源需求量。於此要特別說明的是,上述之預設時間的數值以及預設減少之資源量的數值僅為舉例,本發明不以上述為限。另外,若有第一實驗的資源佔用量已等於其最低資源需求量,則不選擇此第一實驗。
藉由上述基於各實驗之執行效率資料的減少資源佔用量之方式,機器學習系統1可以進行橫跨不同任務的運算資源調配,考量到資源忙碌狀態與執行效率之關係,且不限制固定工作時間(例如實驗完成時間或子實驗執行時間)。相較於現行之資源配置方法,例如先進先出法(First In First Out,FIFO),在資源分配上可以更具彈性,且能夠即時修正資源負載,以維持在較佳的執行效率。
於另一實施例中,實驗排程器13會從所述多個第一實驗中最晚開始執行的實驗開始減少資源佔用量,減少的數量可以為1也可以為其他數量,本發明不予限制。另外,若有第一實驗的資源佔用量已等於其最低資源需求量,則跳過此第一實驗。
進一步說明動態資源配置器15所執行之選擇性地配置閒置資源量的方式。當目標實驗(第二實驗)已被實驗排程器13配置由機器學習模型訓練執行器14執行,也就是機器學習模型訓練執行器14當前正在執行之實驗包含至少一第一實驗及第二實驗時,動態資源配置器15所執行之選擇性地配置閒置資源量可以包含:依據每一第一實驗的執行效率資料及第二實驗的執行效率資料,判斷多個配置策略的預估實驗執行表現,以及依據所述多個配置策略中具有最高預估實驗執行表現者配置閒置資源量。於此實施例中,動態資源配置器15會連接於資料庫16以取得其內儲存之執行效率資料。
如前列圖4A及4B之實施例所述,第一實驗的執行效率資料包含多種資源忙碌量各自對應的第一實驗之單個子實驗的執行時間,第二實驗的執行效率資料包含多種資源忙碌量各自對應的第二實驗之單個子實驗的執行時間。所述多個配置策略分別為將閒置資源量配置給所述至少一第一實驗及第二實驗。更進一步來說,所述多個配置策略包含將閒置資源量配置給第一實驗的第一配置策略(當第一實驗數量為多個時,便為多個第一配置策略),且包含將閒置資源量配置給第二實驗的第二配置策略。預估實驗執行表現的詳細指示內容可以有兩個實施態樣,如下所述。
於第一實施態樣中,第一配置策略的預估實驗執行表現指示在預設時間內對應之第一實驗的預估子實驗完成量,第二配置策略的預估實驗執行表現指示在預設時間內對應之第二實驗的預估子實驗完成量。詳細來說,動態資源配置器15可以所有實驗的當前資源佔用量加一預設量的值作為資源忙碌數量,用此資源忙碌數量查找第一實驗及第二實驗中的每一者的執行效率資料以取得各實驗的單個子實驗執行時間,據以計算各實驗在資源佔用量增加所述預設量的狀態下,預設時間內的子實驗完成量,以作為各實驗的預估實驗執行表現。
舉例來說,第一實驗及第二實驗包含實驗D、實驗E及實驗F,當前分別以8、6及5個CPU執行。動態資源配置器15取得實驗D、實驗E及實驗F分別在資源忙碌量為20(預設量為1)時的單個子實驗執行時間,計算在10分鐘內,實驗D以9個CPU所能完成的子實驗數量、實驗E以7個CPU所能完成的子實驗數量以及實驗F以6個CPU所能完成的子實驗數量,假設如下所示: D[9]=33; E[7]=25; F[6]=30。
依據上列計算結果,動態資源配置器15會判斷具有最高子實驗完成量的實驗D具有最高預估實驗執行表現,並將閒置資源量中的1個CPU配置給實驗D。動態資源配置器15可以依上述原理不斷配置閒置資源量,直至閒置資源量為0。於此要特別說明的是,上述之預設時間的數值以及預設量的數值僅為舉例,本發明不以上述為限。另外,動態資源配置器15更可以判斷尚未新配置資源量給任何實驗前之所有實驗的子實驗完成量(原先子實驗總完成量),且當經上述計算所得之各實驗對應的預估子實驗完成量加上其他實驗的原先子實驗完成量皆不大於原先子實驗完成量時,動態資源配置器15便不配置閒置資源量。
於第二實施態樣中,預估實驗執行表現則係指示在一預設時間內所有實驗的預估子實驗完成量。承第一實施態樣之舉例,動態資源配置器15會另依據實驗D、實驗E及實驗F分別在資源忙碌量為20時的單個子實驗執行時間,計算在10分鐘內,實驗D以8個CPU所能完成的子實驗數量、實驗E以6個CPU所能完成的子實驗數量以及實驗F以5個CPU所能完成的子實驗數量,進而分別計算將1個CPU新配置給實驗D時所有實驗的預估子實驗完成數量、將1個CPU新配置給實驗E時所有實驗的預估子實驗完成數量以及將1個CPU新配置給實驗F時所有實驗的預估子實驗完成數量,假設如下所示: D[9]+E[6]+F[5]=33+22+25=80; D[8]+E[7]+F[5]=30+25+25=80; D[8]+E[6]+F[6]=30+22+30=82。
如上列計算所示,將1個CPU新配置給實驗F時所對應之所有實驗的預估子實驗完成量最高,動態資源配置器15據以判斷實驗F具有最高預估實驗執行表現,並將閒置資源量中的1個CPU配置給實驗D。動態資源配置器15可以依上述原理不斷配置閒置資源量,直至閒置資源量為0。於此要特別說明的是,上述之預設時間的數值以及預設量的數值僅為舉例,本發明不以上述為限。另外,動態資源配置器15更可以判斷尚未新配置資源量給任何實驗前之所有實驗的子實驗完成量(原先子實驗總完成量),且當經上述計算所得之各實驗對應的預估實驗執行表現皆不大於原先子實驗總完成量時,動態資源配置器15便不配置閒置資源量。上述判斷各實驗對應的預估實驗執行表現是否大於原先子實驗完成量的步驟可以執行於最高預估實驗執行表現之判斷之前或之後,本發明不予限制。
藉由上述基於各實驗之執行效率資料的動態配置方式,機器學習系統1可以進行橫跨不同任務的運算資源調配,且考量到資源忙碌狀態與執行效率之關係,且不限制固定工作時間(例如實驗完成時間或子實驗執行時間)。相較於現行之資源配置方法,例如一般先進先出法(First In First Out,FIFO),在資源分配上可以更具彈性,且能夠避免資源滿載而效率不彰的問題,進而提升有限時間內之子實驗完成數量。
於又一實施例中,動態資源配置器15可以直接將閒置資源量配置給所有當前正在執行之實驗(第一實驗及第二實驗)中之最早開始執行的實驗,閒置資源量可以為1也可以為其他數量,本發明不予限制。
上述說明了機器學習系統1在訓練機器學習模型的過程中之各種實施內容,另外,機器學習系統1在開始接收實驗需求之前,可以先執行資料初始化及收集程序,以生成前述之預先儲存於資料庫16中的多種實驗之執行效率資料。請參考圖5,圖5係依據本發明一實施例所繪示的資料初始化及收集程序的流程圖。如圖5所示,資料初始化及收集程序包含步驟S8:載入多個預設資料集;步驟S9:依據所述多個預設資料集產生多個測試實驗;以及步驟S10:對於每一測試實驗,取得多種資源忙碌量各自對應的測試實驗的子實驗執行時間,並儲存為此測試實驗的執行效率資料。以下示例性地以圖1所示的機器學習系統1之裝置來進一步說明資料初始化及收集程序。
於步驟S8中,實驗產生器12可以從檔案系統(Dataset Store)載入多個預設資料集,其中,檔案系統中所預存之資料集可以為使用者上傳或是政府公開之資料集。於步驟S9中,實驗產生器12可以依據預設資料集產生多個測試實驗,其中,所述測試實驗包含前列實施例所述之第一實驗及第二實驗。於步驟S10中,機器學習模型訓練執行器14對於每一測試實驗,執行:取得多種資源忙碌量各自對應的測試實驗的單個子實驗的執行時間,並將取得之資料儲存於資料庫16中以作為測試實驗的執行效率資料。進一步來說,機器學習模型訓練執行器14可以使用各種資源忙碌量的運作狀態來執行測試實驗,並記錄單組資源在各種運作狀態下完成單個子實驗的時間,以組合成測試實驗的執行效率資料,例如圖4A及4B所示之執行效率資料。
特別來說,圖2所示之資源配置方法可以更包含圖5所示之資料初始化及收集程序,且係執行於步驟S11之前,而圖3所示之資源配置方法亦可以更包含圖5所示之資料初始化及收集程序可以執行於步驟21之前。
請一併參考圖1及圖6,圖6係依據本發明又一實施例所繪示的資源配置方法的流程圖。如圖6所示,資源配置方法可以包含步驟S31:執行資料初始化與收集程序;步驟S32:接收關聯於目標資料集的實驗需求;步驟S33:決定目標實驗及其設定;步驟S34:將目標實驗放入佇列;步驟S35:判斷總資源量是否足夠執行佇列中之第一個實驗;當步驟S35之判斷結果為「否」時,經過一預設時間或有其他實驗完成後再次執行步驟S35;當步驟S35之判斷結果為「是」時,執行步驟S36:判斷閒置資源量是否足夠執行此實驗;當步驟36之判斷結果為「否」時,執行步驟S37:減少其他執行中之實驗的資源佔用量;當步驟S36之判斷結果為「是」時,執行步驟S38:執行實驗,且執行動態配置資源程序;步驟S39:週期性地記錄當前資源忙碌量及子實驗當前執行時間;步驟S40:輸出實驗結果。以下示例性地以圖1所示的機器學習系統1之裝置來進一步說明圖6所示之資源配置方法。
於步驟S31中,實驗產生器12、機器學習模型訓練執行器14及資料庫16可以共同執行資料初始化與收集程序,詳細的執行內容如同前列圖5之實施例之步驟S8~S10的執行內容。步驟S32及S33可以分別由輸入介面11及實驗產生器12所執行,詳細執行內容如同前列圖2之實施例之步驟S11及S12的執行內容。於步驟S34中,實驗產生器12將目標實驗放入佇列,以等待實驗排程器13執行後續配置,其中所述佇列可以儲存於資料庫16中。
於步驟S35及S36中,實驗排程器13判斷機器學習模型訓練執行器14的總資源量是否足夠執行佇列中之第一個實驗,且在判斷結果為「是」時,進一步判斷機器學習模型訓練執行器14的閒置資源量(總資源量減掉當前資源佔用量)是否足夠執行佇列中之第一個實驗。上述二階段之判斷的詳細執行內容如同前列圖2之實施例之步驟S13的執行內容。當第一階段判斷之結果為「否」時,實驗排程器13便不配置機器學習模型訓練執行器14執行佇列中之第一個實驗,而在一預設時間後或在機器學習模型訓練執行器14完成某一先前執行之實驗後,再次執行總資源量是否足夠的判斷。當第二階段判斷之結果為「否」時,如步驟S37所述,實驗排程器13便減少其他執行中之實驗的資源佔用量,其中詳細的執行內容如同前列圖2之實施例之步驟S15的執行內容。
於步驟S38中,實驗排程器13配置機器學習模型訓練執行器14執行佇列中之第一個實驗,且動態資源配置器15可以執行動態配置資源程序,其中詳細的執行內容如前列圖2之實施例之步驟S14及S16的執行內容。於步驟S39中,在實驗執行的過程中,機器學習模型訓練執行器14可以週期性地記錄當前資源忙碌量以及對應之單個子實驗的當前執行時間(單組資源在當前資源忙碌量的狀態下完成單個子實驗之時間)。於此實施例中,機器學習模型訓練執行器14連接於資料庫16以將上述週期性記錄的資料傳送至資料庫16。特別來說,上述週期性記錄的資料可以用以更新資料庫16中的執行效率資料。另外,機器學習模型訓練執行器14亦可以透過輸出介面17週期性地輸出當前執行時間,以供操作人員確認系統之運算資源的執行效率。其中,輸出的形式例如為顯示畫面。
於步驟S40中,機器學習模型訓練執行器14可以輸出執行實驗的結果,例如為訓練完成的機器學習模型。進一步來說,假設目標資料集屬於分類問題,機器學習模型訓練執行器14在以目標資料集執行模型訓練時,會將一部分資料作為訓練資料,剩下部分資料作為測試資料。機器學習模型訓練執行器14每完成一個子實驗會產生一個訓練模型。機器學習模型訓練執行器14可以使用測試資料對各訓練模型進行分類測試,以產生各訓練模型對應的測試分數(例如0.99,代表99%正確率)。機器學習模型訓練執行器14再將具有最高測試分數的訓練模型作為訓練完成的機器學習模型以輸出。
請參考圖7A~圖7C及表1~表3,其中,圖7A~圖7C分別呈現在三種實驗執行情境中,現有資源配置方法與本發明多個實施例的資源配置方法的執行表現比較圖;表1~表3則分別呈現所述三種實驗執行情境中所執行之實驗的編號、抵達時間及最低資源需求量。
於圖7A~圖7C中,FIFO表示先進先出法,E1~E6分別表示本發明之資源配置方法的六個實施例(後稱第一至第六實施例)。於第一實施例E1中,減少資源佔用量的執行對象之選擇係藉由預估各實驗原先狀態下2分鐘內的子實驗完成量,以及在資源佔用量減少1的狀態下2分鐘內的子實驗完成量,並選擇下降幅度最低者;配置閒置資源量的執行對象之選擇係藉由預估各實驗在資源佔用量增加1的狀態下2分鐘內的子實驗完成量,並選擇數量最高者。於第二實施例E2中,減少資源佔用量的執行對象之選擇同於第一實施例E1,而配置閒置資源量的執行對象之選擇則係藉由預估各實驗在資源佔用量增加1的狀態下,2分鐘內所有實驗之子實驗完成量,並選擇數量最高者。
於第三實施例E3中,減少資源佔用量的執行對象之選擇係藉由預估各實驗原先狀態下5分鐘內的子實驗完成量,以及在資源佔用量減少1的狀態下5分鐘內的子實驗完成量,並選擇下降幅度最低者;配置閒置資源量的執行對象之選擇係藉由預估各實驗在資源佔用量增加1的狀態下5分鐘內的子實驗完成量,並選擇數量最高者。於第四實施例E4中,減少資源佔用量的執行對象之選擇同於第三實施例E3,而配置閒置資源量的執行對象之選擇則係藉由預估各實驗在資源佔用量增加1的狀態下,5分鐘內所有實驗之子實驗完成量,並選擇數量最高者。
於第五實施例E5中,減少資源佔用量的執行對象之選擇係藉由預估各實驗原先狀態下10分鐘內的子實驗完成量,以及在資源佔用量減少1的狀態下10分鐘內的子實驗完成量,並選擇下降幅度最低者;配置閒置資源量的執行對象之選擇係藉由預估各實驗在資源佔用量增加1的狀態下10分鐘內的子實驗完成量,並選擇數量最高者。於第六實施例E6中,減少資源佔用量的執行對象之選擇同於第五實施例E5,而配置閒置資源量的執行對象之選擇則係藉由預估各實驗在資源佔用量增加1的狀態下,10分鐘內所有實驗之子實驗完成量,並選擇數量最高者。
特別要說明的是,第一實施例E1~第六實施例E6所執行之減少資源佔用量、配置閒置資源量及資源配置方法中的其他步驟的詳細實施內容皆如前列各實施例所述,於此不再贅述。
圖7A~圖7C之實驗執行情境分別如表1~表3所示。表1~表3分別呈現三組隨機產生的實驗組合,每個實驗組合中的多個實驗各具有實驗編號、實驗抵達時間及最低資源需求量。實驗編號的格式為「模型名稱-資料集中的資料筆數(單位:千)」。SVC表示C-支持向量分類(C-Support Vector Classification)模型,係基於支援向量機的程式庫(LIBSVM)實作的支援向量機分類演算法,可以針對資料集訓練多個分類的機器學習模型;GBR表示梯度提升迴歸(Gradient Boosting Regressor)模型,係一種梯度增強機器學習技術用於解決迴歸問題(待預測的目標為連續數值),可以針對資料集訓練迴歸問題的機器學習模型。於表1~表3所示之實驗執行情境中,SVC所使用之分類資料集包含使用Scikit-learn機器學習程式庫隨機產生之5、10或20萬筆分類問題使用資料,其中每份資料皆有10個分類類別及10個有效資訊欄位;GBR所使用之迴歸資料集則包含使用Scikit-learn機器學習程式庫隨機產生之20、50或100萬筆迴歸問題使用資料,其中每份資料有10個有效資訊欄位。
實驗抵達時間表示從系統開始運作起算,對應之實驗由實驗產生器12產生的時間。最低資源需求量則表示由實驗產生器12決定之執行對應實驗所需之最少資源量,決定的方式如前列實施例所述,於此不再贅述。
表1
實驗編號 實驗抵達時間 最低資源需求量
SVC-200 0 分鐘 5
GBR-500 40分鐘 5
GBR-1000 120分鐘 5
SVC-50 122分鐘 5
GBR-200 160分鐘 5
SVC-100 290分鐘 5
表2
實驗編號 實驗抵達時間 最低資源需求量
GBR-200 0 分鐘 5
SVC-200 10分鐘 5
SVC-200 20分鐘 5
SVC-100 30分鐘 5
GBR-200 40分鐘 5
GBR-500 50分鐘 5
表3
實驗編號 實驗抵達時間 最低資源需求量
SVC-100 0 分鐘 5
GBR-500 180分鐘 5
GBR-1000 360分鐘 5
SVC-50 540分鐘 5
SVC-50 720分鐘 5
GBR-1000 900分鐘 5
由圖7A~圖7C及表1~表3可知,本案之資源配置方法的第一實施例E1~第六實施例E6,無論是在實驗抵達時間不一、實驗抵達時間緊湊或是實驗抵達時間稀疏的狀況下,特定時間內所完成的子實驗量皆遠超過習知的先進先出法FIFO。特別來說,以2分鐘作為預估執行效率之預設時間以進行減少資源佔用量及配置閒置資源量的第一及第二實施例E1及E2,相較於其他實施例具有更佳的執行表現。
藉由上述結構,本案所揭示的機器學習系統及其資源配置方法可以依據實驗需求自動產生實驗設定並建議實驗最低資源需求量,先以最低資源需求量執行實驗再進行動態配置,且可進行不同實驗間的資源調配,使得系統之運算資源可以維持在較佳的執行效率,進而提升有限時間內實驗之子實驗的完成數量。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明。在不脫離本發明之精神和範圍內,所為之更動與潤飾,均屬本發明之專利保護範圍。關於本發明所界定之保護範圍請參考所附之申請專利範圍。
1:機器學習系統 11:輸入介面 12:實驗產生器 13:實驗排程器 14:機器學習模型訓練執行器 15:動態資源配置器 16:資料庫 17:輸出介面 S11~S16:步驟 S21~S25:步驟 S8~S10:步驟 S31~S40:步驟 FIFO:先進先出法 E1:第一實施例 E2:第二實施例 E3:第三實施例 E4:第四實施例 E5:第五實施例 E6:第六實施例
圖1係依據本發明一實施例所繪示的機器學習系統的功能方塊圖。 圖2係依據本發明一實施例所繪示的機器學習系統之資源配置方法的流程圖。 圖3係依據本發明另一實施例所繪示的資源配置方法的流程圖。 圖4A及4B分別示例性地繪示兩種實驗的執行效率資料。 圖5係依據本發明一實施例所繪示的資料初始化及收集程序的流程圖。 圖6係依據本發明又一實施例所繪示的資源配置方法的流程圖。 圖7A~圖7C分別呈現在三種實驗執行情境中,現有資源配置方法與本發明多個實施例的資源配置方法的執行表現比較圖。
S21~S25:步驟

Claims (22)

  1. 一種資源配置方法,適用於一機器學習系統,包含: 以該機器學習系統的一資源佔用量執行至少一第一實驗,其中每一該至少一第一實驗具有一第一最低資源需求量; 接收關聯於一目標資料集的實驗需求; 依據該目標資料集決定一第二實驗,並決定該第二實驗的一第二最低資源需求量; 當該機器學習系統的一總資源量滿足該第一最低資源需求量及該第二最低資源需求量之和,且該總資源量與該資源佔用量之差滿足該第二最低資源需求量時,配置該第二最低資源需求量執行該第二實驗;以及 判斷該機器學習系統具有一閒置資源量,並選擇性地將該閒置資源量配置給該至少一第一實驗及該第二實驗中之至少一者。
  2. 如請求項1所述的資源配置方法,其中決定該第二最低資源需求量包含: 依據該第二實驗的執行效率資料及一目標實驗執行表現,計算該第二最低資源需求量; 其中該第二實驗的該執行效率資料包含一最高資源忙碌量對應的該第二實驗之單個子實驗的執行時間,且該目標實驗執行表現指示在一預設時間內該第二實驗的目標子實驗完成量。
  3. 如請求項1所述的資源配置方法,其中選擇性地將該閒置資源量配置給該至少一第一實驗及該第二實驗中之至少一者包含: 依據每一該至少一第一實驗的執行效率資料及該第二實驗的執行效率資料,判斷多個配置策略的預估實驗執行表現,其中該些配置策略分別為將該閒置資源量配置給該至少一第一實驗及該第二實驗;以及 依據該些配置策略中具有最高預估實驗執行表現者配置該閒置資源量; 其中每一該至少一第一實驗的該執行效率資料包含多種資源忙碌量各自對應的該第一實驗之單個子實驗的執行時間,且該第二實驗的該執行效率資料包含多種資源忙碌量各自對應的該第二實驗之單個子實驗的執行時間。
  4. 如請求項3所述的資源配置方法,其中該預估實驗執行表現指示在一預設時間內所有實驗的預估子實驗完成量。
  5. 如請求項3所述的資源配置方法,其中該些配置策略包含將該閒置資源量配置給該至少第一實驗的至少一第一配置策略及配置給該第二實驗的一第二配置策略,每一該至少一第一配置策略的該預估實驗執行表現指示在一預設時間內對應之該第一實驗的預估子實驗完成量,且該第二配置策略的該預估實驗執行表現指示在該預設時間內該第二實驗的預估子實驗完成量。
  6. 如請求項1所述的資源配置方法,其中選擇性地將該閒置資源量配置給該至少一第一實驗及該第二實驗中之至少一者包含: 將該閒置資源量配置給該至少一第一實驗及該第二實驗者中之最早開始執行者。
  7. 如請求項1所述的資源配置方法,更包含: 當該總資源量滿足該第一最低資源需求量及該第二最低資源需求量之該和,但該總資源量與該資源佔用量之該差不滿足該第二最低資源需求量時,減少該資源佔用量,以使該總資源量與該資源佔用量之該差滿足該第二最低資源需求量。
  8. 如請求項7所述的資源配置方法,其中該至少一第一實驗的數量為多個,且減少該資源佔用量包含: 對於每一該些第一實驗,依據該第一實驗的執行效率資料,判斷將該第一實驗對應的該資源佔用量減少後該第一實驗的子實驗完成量之預估下降幅度,其中該第一實驗的該執行效率資料包含多種資源忙碌量各自對應的該第一實驗之單個子實驗的執行時間;以及 減少該些第一實驗中具有最低預估下降幅度者所對應的該資源佔用量。
  9. 如請求項7所述的資源配置方法,其中該至少一第一實驗的數量為多個,且減少該資源佔用量包含: 減少該些第一實驗中最晚開始執行者所對應的該資源佔用量。
  10. 如請求項1所述的資源配置方法,其中在以該資源佔用量執行該至少一第一實驗之前,該資源配置方法更包含: 載入多個預設資料集; 依據該些預設資料集產生多個測試實驗,其中該些測試實驗包含該至少一第一實驗及該第二實驗;以及 對於每一該些測試實驗,取得多種資源忙碌量各自對應的該測試實驗的單個子實驗的執行時間,並儲存為該測試實驗的執行效率資料。
  11. 如請求項1所述的資源配置方法,更包含: 在該第二實驗執行期間,週期性地記錄一當前資源忙碌數量及該第二實驗之單個子實驗的當前執行時間;以及 輸出該當前執行時間。
  12. 一種機器學習系統,包含: 一輸入介面,用於接收關聯於一目標資料集的實驗需求; 一機器學習模型訓練執行器,用於以一資源佔用量執行至少一第一實驗,其中每一該至少一第一實驗具有一第一最低資源需求量; 一實驗產生器,連接於該輸入介面,用於依據該目標資料集決定一第二實驗並決定該第二實驗的一第二最低資源需求量; 一實驗排程器,連接於該實驗產生器及該機器學習模型訓練執行器,用於在判斷該機器學習模型訓練執行器的一總資源量滿足該第一最低資源需求量及該第二最低資源需求量之和且該總資源量與該資源佔用量之差滿足該第二最低資源需求量時,配置該機器學習模型訓練執行器以該第二最低資源需求量執行該第二實驗;以及 一動態資源配置器,連接於該機器學習模型訓練執行器,用於判斷該機器學習模型訓練執行器具有一閒置資源量,並選擇性地將該閒置資源量配置給該至少一第一實驗及該第二實驗中之至少一者。
  13. 如請求項12所述的機器學習系統,其中該實驗產生器所執行之決定該第二最低資源需求量包含:依據該第二實驗的執行效率資料及一目標實驗執行表現,計算該第二最低資源需求量,其中該第二實驗的該執行效率資料包含一最高資源忙碌量對應的該第二實驗之單個子實驗的執行時間,且該目標實驗執行表現指示在一預設時間內該第二實驗的目標子實驗完成量。
  14. 如請求項12所述的機器學習系統,其中該動態資源配置器所執行之選擇性地將該閒置資源量配置給該至少一第一實驗及該第二實驗中之至少一者包含: 依據每一該至少一第一實驗的執行效率資料及該第二實驗的執行效率資料,判斷多個配置策略的預估實驗執行表現,其中該些配置策略分別為將該閒置資源量配置給該至少一第一實驗及該第二實驗;以及 依據該些配置策略中具有最高預估實驗執行表現者配置該閒置資源量; 其中每一該至少一第一實驗的該執行效率資料包含多種資源忙碌量各自對應的該第一實驗之單個子實驗的執行時間,且該第二實驗的該執行效率資料包含多種資源忙碌量各自對應的該第二實驗之單個子實驗的執行時間。
  15. 如請求項14所述的機器學習系統,其中該預估實驗執行表現指示在一預設時間內所有實驗的預估子實驗完成量。
  16. 如請求項14所述的機器學習系統,其中該些配置策略包含將該閒置資源量配置給該至少第一實驗的至少一第一配置策略及配置給該第二實驗的一第二配置策略,每一該至少一第一配置策略的該預估實驗執行表現指示在一預設時間內對應之該第一實驗的預估子實驗完成量,且該第二配置策略的該預估實驗執行表現指示在該預設時間內該第二實驗的預估子實驗完成量。
  17. 如請求項12所述的機器學習系統,其中該動態資源配置器所執行之選擇性地將該閒置資源量配置給該至少一第一實驗及該第二實驗中之至少一者包含:將該閒置資源量配置給該至少一第一實驗及該第二實驗者中之最早開始執行者。
  18. 如請求項12所述的機器學習系統,其中該實驗排程器更用於在該總資源量滿足該第一最低資源需求量及該第二最低資源需求量之該和,但該總資源量與該資源佔用量之該差不滿足該第二最低資源需求量時,減少該資源佔用量,以使該總資源量與該資源佔用量之該差滿足該第二最低資源需求量。
  19. 如請求項18所述的機器學習系統,其中該至少一第一實驗的數量為多個,且該實驗排程器所執行之減少該資源佔用量包含: 對於每一該些第一實驗,依據該第一實驗的執行效率資料,判斷將該第一實驗對應的該資源佔用量減少後該第一實驗的子實驗完成量之預估下降幅度,其中該第一實驗的該執行效率資料包含多種資源忙碌量各自對應的該第一實驗之單個子實驗的執行時間;以及 減少該些第一實驗中具有最低預估下降幅度者所對應的該資源佔用量。
  20. 如請求項18所述的機器學習系統,其中該至少一第一實驗的數量為多個,且該實驗排程器所執行之減少該資源佔用量包含:減少該些第一實驗中最晚開始執行者所對應的該資源佔用量。
  21. 如請求項12所述的機器學習系統,其中該實驗產生器更用於在該機器學習模型訓練執行器執行該至少一第一實驗之前載入多個預設資料集,並依據該些預設資料集產生多個測試實驗,其中該些測試實驗包含該至少一第一實驗及該第二實驗,且該機器學習模型訓練執行器更用於在執行該至少一第一實驗之前,對於每一該些測試實驗,取得多種資源忙碌量各自對應的該測試實驗的單個子實驗的執行時間,並儲存為該測試實驗的執行效率資料。
  22. 如請求項12所述的機器學習系統,更包含一輸出介面連接於該機器學習模型訓練執行器,其中該機器學習模型訓練執行器更用於在該第二實驗執行期間,週期性地記錄一當前資源忙碌數量及該第二實驗之單個子實驗的當前執行時間,並透過該輸出介面輸出該當前執行時間。
TW109143419A 2020-12-09 2020-12-09 機器學習系統及其資源配置方法 TWI756974B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW109143419A TWI756974B (zh) 2020-12-09 2020-12-09 機器學習系統及其資源配置方法
CN202011558111.6A CN112667397B (zh) 2020-12-09 2020-12-24 机器学习系统及其资源配置方法
US17/217,846 US11954527B2 (en) 2020-12-09 2021-03-30 Machine learning system and resource allocation method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW109143419A TWI756974B (zh) 2020-12-09 2020-12-09 機器學習系統及其資源配置方法

Publications (2)

Publication Number Publication Date
TWI756974B true TWI756974B (zh) 2022-03-01
TW202223645A TW202223645A (zh) 2022-06-16

Family

ID=75408839

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109143419A TWI756974B (zh) 2020-12-09 2020-12-09 機器學習系統及其資源配置方法

Country Status (3)

Country Link
US (1) US11954527B2 (zh)
CN (1) CN112667397B (zh)
TW (1) TWI756974B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160358101A1 (en) * 2015-06-05 2016-12-08 Facebook, Inc. Machine learning system interface
CN109144716A (zh) * 2017-06-28 2019-01-04 中兴通讯股份有限公司 基于机器学习的操作系统调度方法及装置、设备
US20190034227A1 (en) * 2017-07-26 2019-01-31 Bank Of America Corporation System and method of task execution
CN111813523A (zh) * 2020-07-09 2020-10-23 北京奇艺世纪科技有限公司 时长预估模型生成方法、系统资源调度方法、装置、电子设备和存储介质
CN112000473A (zh) * 2020-08-12 2020-11-27 中国银联股份有限公司 深度学习模型的分布式训练方法以及装置
CN112052087A (zh) * 2020-07-14 2020-12-08 中科院计算所西部高等技术研究院 动态资源调整与迁移的深度学习训练系统及方法

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142723A (ja) 1999-11-11 2001-05-25 Fujitsu Ltd 資源配分方法、計算機システム及び記録媒体
US7461376B2 (en) 2003-11-18 2008-12-02 Unisys Corporation Dynamic resource management system and method for multiprocessor systems
US20050108717A1 (en) 2003-11-18 2005-05-19 Hong Steve J. Systems and methods for creating an application group in a multiprocessor system
US20050108713A1 (en) 2003-11-18 2005-05-19 Geye Scott A. Affinity mask assignment system and method for multiprocessor systems
JP4348639B2 (ja) 2006-05-23 2009-10-21 日本電気株式会社 マルチプロセッサシステム、ワークロード管理方法
JP4529187B2 (ja) 2006-12-25 2010-08-25 日本電気株式会社 Cpuリソース管理方法
US8640131B2 (en) 2008-01-18 2014-01-28 Microsoft Corporation Demand-based processor cycle allocation subsequent to equal group-based processor cycle distribution
US8856196B2 (en) 2008-07-22 2014-10-07 Toyota Jidosha Kabushiki Kaisha System and method for transferring tasks in a multi-core processor based on trial execution and core node
KR100990412B1 (ko) 2009-10-29 2010-10-29 주식회사 팀스톤 씨피유 가상화를 지원할 수 있는 컴퓨터 서버
KR101710910B1 (ko) 2010-09-27 2017-03-13 삼성전자 주식회사 프로세싱 유닛의 동적 자원 할당을 위한 방법 및 장치
TWI442323B (zh) 2011-10-31 2014-06-21 Univ Nat Taiwan 用於多核心/眾核心的工作排程與分配管理架構及其方法
JP2013117806A (ja) 2011-12-02 2013-06-13 Mitsubishi Electric Corp Cpu割当時間管理装置及びcpu割当時間管理プログラム
JP2013149108A (ja) 2012-01-19 2013-08-01 Canon Inc 情報処理装置及びその制御方法、プログラム
CN103294554A (zh) 2012-03-05 2013-09-11 中兴通讯股份有限公司 片上系统soc的多处理器的调度方法及装置
CN102831015B (zh) 2012-08-01 2015-09-23 华为技术有限公司 多核处理器的调度方法和设备
CN103713949A (zh) 2012-10-09 2014-04-09 鸿富锦精密工业(深圳)有限公司 动态任务分配系统及方法
CN102932281B (zh) 2012-10-31 2015-08-26 华为技术有限公司 一种资源的动态分配方法及设备
US9183016B2 (en) 2013-02-27 2015-11-10 Vmware, Inc. Adaptive task scheduling of Hadoop in a virtualized environment
KR101569093B1 (ko) 2013-08-13 2015-11-13 삼성에스디에스 주식회사 분산 시스템에서 데이터를 처리하는 방법
US9323544B2 (en) 2013-10-09 2016-04-26 International Business Machines Corporation Dynamic reconfiguration of queue pairs
JP2017199044A (ja) 2014-07-31 2017-11-02 日本電気株式会社 仮想計算機システム、スケジューリング方法、および、プログラム
CN104503838B (zh) 2014-11-23 2017-06-27 华中科技大学 一种虚拟cpu调度方法
CN106033374A (zh) 2015-03-13 2016-10-19 西安酷派软件科技有限公司 在多系统中分配多核中央处理器的方法、装置及终端
CN105589750B (zh) 2015-07-07 2019-01-25 新华三技术有限公司 一种cpu资源调度方法和服务器
JP6806065B2 (ja) 2015-08-19 2021-01-06 日本電気株式会社 仮想計算機システムの性能予測装置、性能予測方法およびコンピュータプログラム
CN105183563B (zh) 2015-09-17 2018-07-24 哈尔滨工程大学 一种面向关键任务计算机的cpu资源动态自配置方法
US9996393B2 (en) 2015-11-19 2018-06-12 International Business Machines Corporation Dynamic virtual processor manager
CN105487930B (zh) 2015-12-01 2018-10-16 中国电子科技集团公司第二十八研究所 一种基于Hadoop的任务优化调度方法
US10650045B2 (en) 2016-02-05 2020-05-12 Sas Institute Inc. Staged training of neural networks for improved time series prediction performance
JP2018036724A (ja) 2016-08-29 2018-03-08 日本電信電話株式会社 仮想マシンのリソース管理方法、サーバ、及びプログラム
US10467128B2 (en) 2016-09-08 2019-11-05 International Business Machines Corporation Measuring and optimizing test resources and test coverage effectiveness through run time customer profiling and analytics
US10205675B2 (en) 2016-10-19 2019-02-12 Red Hat, Inc. Dynamically adjusting resources to meet service level objectives
US10705872B2 (en) 2016-12-08 2020-07-07 International Business Machines Corporation Predictive virtual server scheduling and optimization of dynamic consumable resources to achieve priority-based workload performance objectives
US10268513B2 (en) 2016-12-23 2019-04-23 Nice Ltd. Computing resource allocation optimization
JP6732693B2 (ja) * 2017-04-18 2020-07-29 日本電信電話株式会社 リソース割当制御システム、リソース割当制御方法、及びプログラム
CN106922002B (zh) 2017-04-26 2020-02-07 重庆邮电大学 一种基于内部拍卖机制的网络切片虚拟资源分配方法
US10140161B1 (en) 2017-04-28 2018-11-27 EMC IP Holding Company LLC Workload aware dynamic CPU processor core allocation
US10235182B2 (en) 2017-06-20 2019-03-19 Palo Alto Research Center Incorporated System and method for hybrid task management across CPU and GPU for efficient data mining
US10228972B2 (en) 2017-06-22 2019-03-12 Banuba Limited Computer systems and computer-implemented methods for dynamically adaptive distribution of workload between central processing unit(s) and graphics processing unit(s)
CN107273331A (zh) 2017-06-30 2017-10-20 山东超越数控电子有限公司 一种基于cpu+gpu+fpga架构的异构计算系统和方法
CN107391259B (zh) 2017-07-25 2020-12-01 Oppo广东移动通信有限公司 资源处理方法和装置、计算机可读存储介质、移动终端
US10565020B2 (en) 2017-08-29 2020-02-18 International Business Machines Corporation Adjustment of the number of central processing units to meet performance requirements of an I/O resource
US20190114206A1 (en) 2017-10-18 2019-04-18 Cisco Technology, Inc. System and method for providing a performance based packet scheduler
JP6974712B2 (ja) * 2017-10-24 2021-12-01 富士通株式会社 探索方法、探索装置および探索プログラム
CN107861815B (zh) 2017-10-31 2020-05-19 华中科技大学 一种多gpu环境下的数据通信性能优化方法
CN108052384B (zh) * 2017-12-27 2022-01-18 联想(北京)有限公司 一种任务处理方法、服务平台及电子设备
JP6996341B2 (ja) 2018-02-27 2022-01-17 日本電信電話株式会社 見積り装置および見積り方法
JP6735952B2 (ja) 2018-04-10 2020-08-05 三菱電機株式会社 セキュリティ装置及び組込み機器
CN108762921B (zh) 2018-05-18 2019-07-12 电子科技大学 一种Spark集群系统的在线优化分区的任务调度方法及装置
US10635939B2 (en) 2018-07-06 2020-04-28 Capital One Services, Llc System, method, and computer-accessible medium for evaluating multi-dimensional synthetic data using integrated variants analysis
CN109033001B (zh) 2018-07-17 2021-08-27 北京百度网讯科技有限公司 用于分配gpu的方法和装置
CN110795228B (zh) * 2018-08-03 2023-08-25 伊姆西Ip控股有限责任公司 用于训练深度学习模型的方法和制品、以及计算系统
CN109213601B (zh) 2018-09-12 2021-01-01 华东师范大学 一种基于cpu-gpu的负载均衡方法及设备
CN111291894A (zh) * 2018-11-21 2020-06-16 第四范式(北京)技术有限公司 超参数优化过程中的资源调度方法、装置、设备及介质
US11449775B2 (en) 2018-12-27 2022-09-20 Hubspot, Inc. Multi-client service system platform
CN111435315A (zh) 2019-01-14 2020-07-21 北京沃东天骏信息技术有限公司 分配资源的方法、装置、设备和计算机可读介质
US11249810B2 (en) * 2019-03-22 2022-02-15 Amazon Technologies, Inc. Coordinated predictive autoscaling of virtualized resource groups
CN109992422A (zh) * 2019-04-11 2019-07-09 北京朗镜科技有限责任公司 一种面向gpu资源的任务调度方法、装置和系统
CN110503208B (zh) * 2019-08-26 2022-05-17 第四范式(北京)技术有限公司 多模型探索中的资源调度方法和资源调度装置
CN110780991B (zh) 2019-09-12 2023-01-06 苏州浪潮智能科技有限公司 一种基于优先级的深度学习任务调度方法及装置
CN110597639B (zh) 2019-09-23 2021-07-30 腾讯科技(深圳)有限公司 Cpu分配控制方法、装置、服务器及存储介质
CN111191794B (zh) * 2019-12-29 2023-03-14 广东浪潮大数据研究有限公司 一种训练任务处理方法、装置、设备及可读存储介质
CN111324454A (zh) 2020-02-03 2020-06-23 京东数字科技控股有限公司 多核cpu分配方法、装置、电子设备及存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160358101A1 (en) * 2015-06-05 2016-12-08 Facebook, Inc. Machine learning system interface
CN109144716A (zh) * 2017-06-28 2019-01-04 中兴通讯股份有限公司 基于机器学习的操作系统调度方法及装置、设备
US20190034227A1 (en) * 2017-07-26 2019-01-31 Bank Of America Corporation System and method of task execution
CN111813523A (zh) * 2020-07-09 2020-10-23 北京奇艺世纪科技有限公司 时长预估模型生成方法、系统资源调度方法、装置、电子设备和存储介质
CN112052087A (zh) * 2020-07-14 2020-12-08 中科院计算所西部高等技术研究院 动态资源调整与迁移的深度学习训练系统及方法
CN112000473A (zh) * 2020-08-12 2020-11-27 中国银联股份有限公司 深度学习模型的分布式训练方法以及装置

Also Published As

Publication number Publication date
US11954527B2 (en) 2024-04-09
TW202223645A (zh) 2022-06-16
US20220179691A1 (en) 2022-06-09
CN112667397B (zh) 2023-11-28
CN112667397A (zh) 2021-04-16

Similar Documents

Publication Publication Date Title
KR102300984B1 (ko) 작업 서버를 사용한 대규모 분산형 시스템의 기계 학습 모델의 훈련
CN110321222B (zh) 基于决策树预测的数据并行作业资源分配方法
WO2016078008A1 (zh) 调度数据流任务的方法和装置
JP6501918B2 (ja) 計算ワークフローにおいてサービス品質を確保するためのシステム及び方法
US10108458B2 (en) System and method for scheduling jobs in distributed datacenters
CN107885595B (zh) 一种资源分配方法、相关设备及系统
JP6241300B2 (ja) ジョブスケジューリング装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラム
CN110389816B (zh) 用于资源调度的方法、装置以及计算机可读介质
US20150295970A1 (en) Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system
KR20180077218A (ko) 계산 그래프들 프로세싱
WO2020113310A1 (en) System and method for resource partitioning in distributed computing
JP2011170787A (ja) リソース割当装置、リソース割当方法、およびリソース割当制御プログラム
CN111813523A (zh) 时长预估模型生成方法、系统资源调度方法、装置、电子设备和存储介质
TWI786564B (zh) 任務調度方法和裝置、儲存媒體及計算機設備
JP2016042284A (ja) 並列計算機システム、管理装置、並列計算機システムの制御方法及び管理装置の制御プログラム
WO2019056771A1 (zh) 分布式存储系统升级管理的方法、装置及分布式存储系统
WO2020007336A1 (zh) 扩容方法及设备
JP7379668B2 (ja) 機械学習ワークロードのためのタスクスケジューリング
JP5773142B2 (ja) 計算機システムの構成パターンの算出方法及び構成パターンの算出装置
CN112148468A (zh) 一种资源调度方法、装置、电子设备及存储介质
US20210390405A1 (en) Microservice-based training systems in heterogeneous graphic processor unit (gpu) cluster and operating method thereof
CN112148471A (zh) 分布式计算系统中资源调度的方法和装置
WO2021115082A1 (zh) 作业调度方法以及作业调度装置
WO2021000694A1 (zh) 一种部署业务的方法以及调度装置
TWI756974B (zh) 機器學習系統及其資源配置方法