本發(fā)明涉及人工智能,尤其涉及一種異步復雜多模型協(xié)同調(diào)度方法、系統(tǒng)、設(shè)備、存儲介質(zhì)以及計算機程序產(chǎn)品。
背景技術(shù):
1、人工智能領(lǐng)域的技術(shù)發(fā)展使得各種大型模型逐漸被應用在不同的使用場景下,且各種大型模型能夠處理的任務(wù)的種類越來越多,能夠處理任務(wù)的內(nèi)容也愈發(fā)復雜。因此,各種大型模型的訓練需求和使用需求都在逐漸增加,而隨著處理任務(wù)的愈發(fā)復雜化,大型模型在工作時,常常會出現(xiàn)一個整體的任務(wù)需要多個子模型共同完成處理的情況;例如,由多個子模型特定的計算資源、存儲資源上的獨立的機器學習或深度學習模型組合構(gòu)建成的生成式人工智能模型在工作時,一個整體的任務(wù)需要多個子模型進行配合,基于一定的順序進行多個步驟的子任務(wù)的處理,同時需要調(diào)度協(xié)調(diào)各自子模型的服務(wù)資源。因此,在執(zhí)行具體的任務(wù)時不僅需要考慮各子任務(wù)之間的依賴性,還需要考慮如何能夠更好地調(diào)度協(xié)調(diào)各自子模型的服務(wù)資源。
2、在現(xiàn)有技術(shù)中,當應用場景為異步任務(wù)流,需要進行多模型的復雜任務(wù)調(diào)度時,大多數(shù)的任務(wù)調(diào)度方法是通過一個中心化的任務(wù)調(diào)度器來對子任務(wù)進行調(diào)度,其依賴于前期對任務(wù)的處理步驟進行人工配置,且其在任務(wù)流轉(zhuǎn)環(huán)節(jié)多、依賴性強,系統(tǒng)協(xié)作關(guān)系復雜的情況下調(diào)度占用的處理資源大,且調(diào)度的效果不好。
技術(shù)實現(xiàn)思路
1、本發(fā)明的主要目的在于解決現(xiàn)有技術(shù)中針對于需要復雜多模型協(xié)同完成的依賴性強的復雜任務(wù)時,無法簡便、高效地進行任務(wù)調(diào)度的技術(shù)問題。
2、本發(fā)明第一方面提供了一種異步復雜多模型協(xié)同調(diào)度方法,包括:
3、獲取待處理任務(wù)的任務(wù)依賴關(guān)系信息,其中,所述待處理任務(wù)為需要復雜多模型協(xié)同完成的任務(wù),所述任務(wù)依賴關(guān)系信息是對接收到的待處理任務(wù)進行解析識別后得到的;
4、根據(jù)任務(wù)依賴關(guān)系信息將待處理任務(wù)拆分成多個異步子任務(wù);
5、接收異步子任務(wù)接取請求并獲取所述異步子任務(wù)接取請求對應的來源任務(wù)處理器,基于所述來源任務(wù)處理器中配置的復雜多模型信息確定所述來源任務(wù)處理器可處理的子任務(wù)類型,其中,所述異步子任務(wù)接取請求是由空閑的任務(wù)處理器每隔預設(shè)時間發(fā)出的;
6、監(jiān)控各所述異步子任務(wù)的任務(wù)狀態(tài),并基于所述來源任務(wù)處理器可處理的子任務(wù)類型和各所述異步子任務(wù)的任務(wù)狀態(tài)將各所述異步子任務(wù)分配給對應的任務(wù)處理器進行處理。
7、可選地,在本發(fā)明第一方面的第一種實現(xiàn)方式中,所述任務(wù)依賴關(guān)系信息為基于待處理任務(wù)的處理流程生成的有向無環(huán)圖;
8、在所述獲取待處理任務(wù)的任務(wù)依賴關(guān)系信息之前,還包括:
9、接收待處理任務(wù)并進行解析,得到任務(wù)素材數(shù)據(jù)、任務(wù)接口地址和接口請求參數(shù);
10、根據(jù)所述任務(wù)接口地址和接口請求參數(shù)識別所述待處理任務(wù)的任務(wù)種類;
11、基于所述待處理任務(wù)的任務(wù)種類查找對應的任務(wù)流程模板,根據(jù)任務(wù)素材數(shù)據(jù)和任務(wù)流程模板生成待處理任務(wù)的有向無環(huán)圖。
12、可選地,在本發(fā)明第一方面的第二種實現(xiàn)方式中,所述根據(jù)任務(wù)依賴關(guān)系信息將待處理任務(wù)拆分成多個異步子任務(wù)包括:
13、基于待處理任務(wù)的有向無環(huán)圖中的節(jié)點以及節(jié)點連接順序?qū)⑺龃幚砣蝿?wù)拆分,得到多個異步子任務(wù);
14、所述監(jiān)控各所述異步子任務(wù)的任務(wù)狀態(tài)包括:
15、獲取各異步子任務(wù)的前繼任務(wù)個數(shù),并實時監(jiān)控各異步子任務(wù)的執(zhí)行成功的前繼任務(wù)個數(shù);
16、根據(jù)各異步子任務(wù)的前繼任務(wù)個數(shù)以及各異步子任務(wù)的執(zhí)行成功的前繼任務(wù)個數(shù)獲取各異步子任務(wù)的任務(wù)狀態(tài)。
17、可選地,在本發(fā)明第一方面的第三種實現(xiàn)方式中,所述任務(wù)狀態(tài)包括等待狀態(tài)和就緒狀態(tài);
18、所述根據(jù)各異步子任務(wù)的前繼任務(wù)個數(shù)以及各異步子任務(wù)的執(zhí)行成功的前繼任務(wù)個數(shù)獲取各異步子任務(wù)的任務(wù)狀態(tài)包括:
19、當異步子任務(wù)的前繼任務(wù)個數(shù)大于執(zhí)行成功的前繼任務(wù)個數(shù)時,所述異步子任務(wù)的任務(wù)狀態(tài)為等待狀態(tài);
20、當異步子任務(wù)的前繼任務(wù)個數(shù)等于執(zhí)行成功的前繼任務(wù)個數(shù)時,所述異步子任務(wù)的任務(wù)狀態(tài)為就緒狀態(tài);
21、所述基于所述來源任務(wù)處理器可處理的子任務(wù)類型和各所述異步子任務(wù)的任務(wù)狀態(tài)將各所述異步子任務(wù)分配給對應的任務(wù)處理器進行處理包括:
22、根據(jù)處于就緒狀態(tài)的異步子任務(wù)對應的目標子任務(wù)類型,將處于就緒狀態(tài)的所述異步子任務(wù)分配給能夠處理所述目標子任務(wù)類型的任務(wù)處理器;
23、調(diào)用所述任務(wù)處理器中執(zhí)行所述異步子任務(wù)所需的模型,對分配得到的異步子任務(wù)進行處理。
24、可選地,在本發(fā)明第一方面的第四種實現(xiàn)方式中,所述任務(wù)狀態(tài)還包括運行中狀態(tài);
25、所述根據(jù)處于就緒狀態(tài)的異步子任務(wù)對應的目標子任務(wù)類型,將處于就緒狀態(tài)的所述異步子任務(wù)分配給能夠處理所述目標子任務(wù)類型的任務(wù)處理器包括:
26、判斷異步子任務(wù)接取請求對應的來源任務(wù)處理器是否能夠處理所述處于就緒狀態(tài)的異步子任務(wù)對應的目標子任務(wù)類型;
27、若是,則先將處于就緒狀態(tài)的異步子任務(wù)的任務(wù)狀態(tài)更改為運行中狀態(tài),再將任務(wù)狀態(tài)被更改為運行中的所述異步子任務(wù)分配給所述來源任務(wù)處理器。
28、可選地,在本發(fā)明第一方面的第五種實現(xiàn)方式中,所述任務(wù)狀態(tài)還包括執(zhí)行失敗狀態(tài);
29、在所述將處于就緒狀態(tài)的異步子任務(wù)的任務(wù)狀態(tài)更改為運行中狀態(tài),再將任務(wù)狀態(tài)被更改為運行中的所述異步子任務(wù)分配給所述來源任務(wù)處理器之后,還包括:
30、接收來自正在處理任務(wù)的任務(wù)處理器的心跳信號;
31、根據(jù)所述心跳信號判斷正在處理任務(wù)的任務(wù)處理器是否出現(xiàn)心跳超時,若出現(xiàn)心跳超時,則將所述任務(wù)處理器正在執(zhí)行的異步子任務(wù)的任務(wù)狀態(tài)從運行中狀態(tài)更改為執(zhí)行失敗狀態(tài);
32、所述任務(wù)調(diào)度方法還包括:
33、當異步子任務(wù)的任務(wù)狀態(tài)出現(xiàn)執(zhí)行失敗狀態(tài)時,則停止對異步子任務(wù)的分配調(diào)度,結(jié)束所述待處理任務(wù)。
34、可選地,在本發(fā)明第一方面的第六種實現(xiàn)方式中,所述任務(wù)狀態(tài)還包括業(yè)務(wù)失敗狀態(tài);
35、在所述將處于就緒狀態(tài)的異步子任務(wù)的任務(wù)狀態(tài)更改為運行中狀態(tài),再將任務(wù)狀態(tài)被更改為運行中的所述異步子任務(wù)分配給所述來源任務(wù)處理器之后,還包括:
36、判斷任務(wù)處理器在執(zhí)行異步子任務(wù)時是否出現(xiàn)業(yè)務(wù)邏輯失敗,若是,則將異步子任務(wù)的任務(wù)狀態(tài)從運行中狀態(tài)更改為業(yè)務(wù)失敗狀態(tài);
37、所述任務(wù)調(diào)度方法還包括:
38、當異步子任務(wù)的任務(wù)狀態(tài)出現(xiàn)業(yè)務(wù)失敗狀態(tài)時,則停止對異步子任務(wù)的分配調(diào)度,結(jié)束所述待處理任務(wù)。
39、本發(fā)明第二方面提供了一種異步復雜多模型協(xié)同調(diào)度系統(tǒng),包括:
40、業(yè)務(wù)服務(wù)器,用于接收待處理任務(wù),進行解析識別后得到待處理任務(wù)的任務(wù)依賴關(guān)系信息,并將所述任務(wù)依賴關(guān)系信息發(fā)送給任務(wù)調(diào)度器,其中,所述待處理任務(wù)為需要復雜多模型協(xié)同完成的任務(wù);
41、任務(wù)調(diào)度器,用于獲取待處理任務(wù)的任務(wù)依賴關(guān)系信息;根據(jù)任務(wù)依賴關(guān)系信息將待處理任務(wù)拆分成多個異步子任務(wù);接收異步子任務(wù)接取請求并獲取所述異步子任務(wù)接取請求對應的來源任務(wù)處理器,基于所述來源任務(wù)處理器中配置的復雜多模型信息確定所述來源任務(wù)處理器可處理的子任務(wù)類型,監(jiān)控各所述異步子任務(wù)的任務(wù)狀態(tài),并基于所述來源任務(wù)處理器可處理的子任務(wù)類型和各所述異步子任務(wù)的任務(wù)狀態(tài)將各所述異步子任務(wù)分配給對應的任務(wù)處理器進行處理;
42、任務(wù)處理器,用于在空閑時每隔預設(shè)時間向任務(wù)調(diào)度器發(fā)送子任務(wù)接取請求;以及處理任務(wù)調(diào)度器分配的異步子任務(wù)。
43、本發(fā)明第三方面提供了一種異步復雜多模型協(xié)同調(diào)度設(shè)備,包括:存儲器和至少一個處理器,所述存儲器中存儲有指令;所述至少一個處理器調(diào)用所述存儲器中的所述指令,以使得所述異步復雜多模型協(xié)同調(diào)度設(shè)備執(zhí)行上述的異步復雜多模型協(xié)同調(diào)度方法的步驟。
44、本發(fā)明的第四方面提供了一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)中存儲有指令,當其在計算機上運行時,使得計算機執(zhí)行上述的異步復雜多模型協(xié)同調(diào)度方法的步驟。
45、本發(fā)明的第五方面提供了一種計算機程序產(chǎn)品,包括計算機程序/指令,其特征在于,當所述計算機程序/指令被處理器執(zhí)行時實現(xiàn)如上述的異步復雜多模型協(xié)同調(diào)度方法的步驟。
46、本發(fā)明提供的技術(shù)方案中,獲取待處理任務(wù)的任務(wù)依賴關(guān)系信息;根據(jù)任務(wù)依賴關(guān)系信息將待處理任務(wù)拆分成多個異步子任務(wù)接收異步子任務(wù)接取請求并獲取異步子任務(wù)接取請求對應的來源任務(wù)處理器,基于來源任務(wù)處理器中配置的復雜多模型信息確定來源任務(wù)處理器可處理的子任務(wù)類型,其中,子任務(wù)接取請求是由空閑的任務(wù)處理器每隔預設(shè)時間發(fā)出的;監(jiān)控各異步子任務(wù)的任務(wù)狀態(tài),并基于來源任務(wù)處理器可處理的子任務(wù)類型和各異步子任務(wù)的任務(wù)狀態(tài)將各異步子任務(wù)分配給對應的任務(wù)處理器進行處理。該方法能夠在執(zhí)行需要復雜多模型協(xié)同完成的依賴性強的復雜任務(wù)時,能夠簡便、高效地對分布式異步復雜多模型任務(wù)進行調(diào)度。本發(fā)明提供的一種異步復雜多模型協(xié)同調(diào)度系統(tǒng)、電子設(shè)備、可讀存儲介質(zhì)以及計算機程序產(chǎn)品也解決了相應技術(shù)問題。