TWI832279B - 人工智慧模型運算加速系統及人工智慧模型運算加速方法 - Google Patents

人工智慧模型運算加速系統及人工智慧模型運算加速方法 Download PDF

Info

Publication number
TWI832279B
TWI832279B TW111120960A TW111120960A TWI832279B TW I832279 B TWI832279 B TW I832279B TW 111120960 A TW111120960 A TW 111120960A TW 111120960 A TW111120960 A TW 111120960A TW I832279 B TWI832279 B TW I832279B
Authority
TW
Taiwan
Prior art keywords
model
name
inference
names
artificial intelligence
Prior art date
Application number
TW111120960A
Other languages
English (en)
Other versions
TW202349282A (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 TW111120960A priority Critical patent/TWI832279B/zh
Publication of TW202349282A publication Critical patent/TW202349282A/zh
Application granted granted Critical
Publication of TWI832279B publication Critical patent/TWI832279B/zh

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一種人工智慧模型運算加速方法包含:開啟一應用程式,取得運行該應用程式所需的複數個AI模型及該些AI模型各自對應的一模型名稱,並列舉複數個運算裝置及該些運算裝置各自對應的一裝置名稱;透過一推理模型依據該些AI模型名稱及該些裝置名稱作為輸入資料,以輸出一推理結果。

Description

人工智慧模型運算加速系統及人工智慧模型運算加速方法
本發明是關於一種運算加速系統,特別是關於一種人工智慧模型運算加速系統及人工智慧模型運算加速方法。
晶片廠與軟體大廠各自推出其人工智慧(artificial intelligence,AI)架構(Framework),如:Google的tensorflow、Intel的OpenVINO等。但是要調用那個AI加速裝置,如處理器(Central Processing Unit,CPU)、圖形處理器(Graphics Processing Unit,GPU)、視覺處理器(Vision Processing Unit,VPU)、現場可程式閘陣列(Field Programmable Gate Array,FPGA)等,大多由程式或指令方式指定,並無智慧型且自動方法。
此外,若由程式、指令指定AI加速裝置進行推理運算,直接程式結束為止,所有與AI有關的運算功能,皆由AI加速裝 置來擔待,但是AI加速裝置也有可能變成忙碌狀態。若再加入AI運算需求,會造成整體效能下降,使用者體驗不佳。
另外,單一AI加速裝置,並非都適合各種AI應用。如VPU僅適合低功耗之圖像、影像與聲音優化。
另外,研究人員發現,既使到了Windows SV2,仍無依模型或AI情境,動態指定AI加速裝置進行運算。
因此,如何提供一種AI模型運算加速系統,可以解決因為有AI運算需求,讓AI加速裝置過於忙碌的問題,避免造成使用者體驗不佳的情形;並能夠讓AI模型運算加速系統,能夠自適性的優化運算速度的效果,已成為本領域待解決的問題之一。
為了解決上述的問題,本揭露內容之一態樣提供了一種人工智慧(artificial intelligence,AI)模型運算加速系統。人工智慧模型運算加速系統包含一應用程式層以及一推理模型。應用程式層用以開啟一應用程式,透過一處理裝置取得運行該應用程式所需的複數個AI模型及該些AI模型各自對應的一模型名稱,並列舉複數個運算裝置及該些運算裝置各自對應的一裝置名稱。推理模型用以取得該應用程式的一程式名稱,並接收該些AI模型各自對應的該模型名稱,並接收該些運算裝置各自對應的該裝置名稱,依據該些AI模型名稱及該些裝置名稱作為輸入資料,以輸出一推理結果;其中,該推理結果包含一特定裝置名稱及一特定AI模型名稱其 中,該推理模型將該推理結果傳送到一應用程式介面(application programming interface,API)層,該API層由該應用程式取得該些AI模型,並在執行(run-time)階段時,依據該推理結果,將該特定AI模型名稱對應的該AI模型指定給該特定裝置名稱對應的該運算裝置進行運算。
一種人工智慧(artificial intelligence,AI)模型運算加速方法包含:開啟一應用程式,取得運行該應用程式所需的複數個AI模型及該些AI模型各自對應的一模型名稱,並列舉複數個運算裝置及該些運算裝置各自對應的一裝置名稱;透過一推理模型以取得該應用程式的一程式名稱;透過該推理模型接收該些AI模型各自對應的該模型名稱,並接收該些運算裝置各自對應的該裝置名稱;以及透過該推理模型依據該些AI模型名稱及該些裝置名稱作為輸入資料,以輸出一推理結果;其中,該推理結果包含一特定裝置名稱及一特定AI模型名稱;其中,該推理模型將該推理結果傳送到一應用程式介面(application programming interface,API)層,該API層由該應用程式取得該些AI模型,並在執行(run-time)階段時,依據該推理結果,將該特定AI模型名稱對應的該AI模型指定給該特定裝置名稱對應的該運算裝置進行運算。
本發明所示之人工智慧模型運算加速系統及人工智慧模型運算加速方法,解決了因為有AI運算需求,讓AI加速裝置過於忙碌的問題,藉此可讓使用者在使用各種應用程式的時候,即使需要運行多個AI模型,也能使系統運行更為順暢,減少畫面停滯的 情形,提升使用者體驗,並且達到讓推理模型自適性優化運算速度的效果。
100:人工智慧模型運算加速系統
10:應用程式
20:AI裝置列舉程式
30:推理模型
41~43:AI模型
50:加速裝置引擎
61~63:運算裝置
200:人工智慧模型運算加速方法
210~250,310~320,510~519,630:步驟
300:訓練資料集產生方法
322~328:資料集
400:訓練推理模型30的方法
500:推理模型產生推理結果的方法
600:優化推理模型30的方法
610:狀態控制器610
620:監測模組
第1圖係依照本發明一實施例繪示之人工智慧模型運算加速系統之方塊圖。
第2圖係依照本發明一實施例繪示之人工智慧模型運算加速方法之流程圖。
第3圖係依照本發明一實施例繪示之訓練資料集產生方法之示意圖。
第4圖係依照本發明一實施例繪示之訓練推理模型的方法之示意圖。
第5A~5B圖係依照本發明一實施例繪示之推理模型產生推理結果的方法之流程圖。
第6圖係依照本發明一實施例繪示之優化推理模型的方法之示意圖。
以下說明係為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。
必須了解的是,使用於本說明書中的”包含”、”包括”等詞,係用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。
於權利要求中使用如”第一”、"第二"、"第三"等詞係用來修飾權利要求中的元件,並非用來表示之間具有優先權順序,先行關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。
請參照第1~2圖,第1圖係依照本發明一實施例繪示之人工智慧(artificial intelligence,AI)模型運算加速系統100之方塊圖。第2圖係依照本發明一實施例繪示之人工智慧模型運算加速方法200之流程圖。
如第1圖所示,人工智慧模型運算加速系統100包含一應用程式層、一推理模型30、一應用程式介面(application programming interface,API)層、一執行階段及一驅動與裝置(driver and devices)層。於一實施例中,人工智慧模型運算加速系統100實現於筆記型電腦、桌機、平板、手機或其它電子裝置。
於一實施例中,人工智慧模型運算加速系統100包含應用程式層及推理模型30。請一併參閱第2圖,第2圖所述的人工智慧模型運算加速方法200可以由人工智慧模型運算加速系統100中的元件實現之。
於步驟210中,應用程式層開啟一應用程式10,取得運行應用程式10所需的多個AI模型41~43及此些AI模型41~43各 自對應的一模型名稱,並列舉多個運算裝置61~63及此些運算裝置61~63各自對應的一裝置名稱。
於一實施例中,應用程式層中包含應用程式10及AI裝置列舉程式20。
其中,應用程式10可以是繪圖軟體、高階遊戲(例如3A遊戲)、瀏覽器...等等。
於一實施例中,應用程式10的部分指令(例如沒有使用到AI模型的部分指令)及AI裝置列舉程式20是透過一處理裝置(例如處理器或微處理器)執行。
於一實施例中,處理器亦可以由微控制單元(microcontroller)、微處理器(microprocessor)、數位訊號處理器(digital signal processor)、特殊應用積體電路(application specific integrated circuit,ASIC)或一邏輯電路實現之,但並不限於此。
於一實施例中,AI裝置列舉程式20可以列舉出目前的運行應用程式10所需要的AI模型及這些AI模型各自對應的一模型名稱,並列舉人工智慧模型運算加速系統100中多個運算裝置,及運算裝置對應的裝置名稱。
於一實施例中,AI模型41~43對應的名稱例如為WinML 41、DirectML 42、NNAPI 43...等等,此些AI模型41~43位於應用程式介面層。然而,此處僅為舉例,AI模型不限於此。
於一實施例中,運算裝置61~63對應的名稱例如為處理器61、圖形處理器62、視覺處理器63...等等,此些運算裝置61~63位於驅動與裝置層。然而,此處僅為舉例,運算裝置不限於此。
於步驟220中,一推理模型30以取得應用程式10的一程式名稱(program name)。
於一實施例中,透過一處理裝置(例如處理器或微處理器)將目前執行的應用程式10的名稱取得出來,例如應用程式10是一個遊戲,應用程式10的程式名稱為古墓奇兵(Tomb Raider),處理裝置再將程式名稱傳送到推理模型30。
於步驟230中,推理模型30接收此些AI模型各自對應的模型名稱,並接收此些運算裝置各自對應的裝置名稱。
舉例而言,應用程式層可以偵測出古墓奇兵這款遊戲會用到的AI模型,且AI模型的模型名稱為WinML 41、DirectML 42,並且可偵測到人工智慧模型運算加速系統100中有三個運算裝置,此些運算裝置的名稱分別為處理器61、圖形處理器62、視覺處理器63。應用程式層將這些資料傳送給推理模型30。
因此,推理模型30可收到應用程式10的程式名稱為古墓奇兵,會用到的AI模型的模型名稱為WinML 41、DirectML 42,可以使用的運算裝置的名稱為處理器61、圖形處理器62、視覺處理器63,此些資訊都視為輸入推理模型30的資料。
於步驟240中,推理模型30依據此些AI模型名稱及此些裝置名稱作為輸入資料,以輸出一推理結果;其中,推理結果包含一特定裝置名稱及一特定AI模型名稱。
於一實施例中,推理結果可以是:“處理器61,WinML 41”,意思是以處理器61執行WinML 41,在此例中,特定裝置名稱為處理器61,特定AI模型名稱為WinML 41。
於一實施例中,推理結果可以是多組,例如除了“處理器61,WinML 41”之外,另外一組推理結果為,“圖形處理器62,DirectML 42”,意思是以圖形處理器62執行DirectML 42。然而,此處僅為舉例,推理結果的輸出方式不限於此,可以是代碼或其他型態的顯示方式。
於步驟250中,推理模型30將推理結果傳送到一應用程式介面(application programming interface,API)層,API層由應用程式10取得此些AI模型,並在執行(run-time)階段時,依據推理結果,將特定AI模型名稱對應的AI模型指定給特定裝置名稱對應的運算裝置進行運算。
舉例而言,推理模型30將推理結果例如為:“處理器61,WinML 41”(意思是以處理器61執行WinML 41)及“圖形處理器62,DirectML 42”(意思是以圖形處理器62執行DirectML 42)傳送到一應用程式介面層,API層由應用程式10取得此些AI模型(即WinML 41與DirectML 42),並在執行階段時,依據推理結果,將WinML 41指定給處理器61進行運算,並將DirectML 42指定給圖形處理器62進行運算。
於一實施例中,在執行階段時,API層透過一加速裝置引擎(acceleration device engine)50,將特定AI模型名稱對應的AI模型(例如WinML 41)傳送到特定裝置名稱對應的該運算裝置(例如處理器61)的一暫存空間(buffer)。
由此可知,推理模型30可以在取得多個AI模型名稱及裝置名稱後,自動輸出推理結果,在執行階段時,人工智慧模型 運算加速系統100可以依據推理結果將多個AI模型的運算指定給對應的運算裝置,以達到較佳的運算配置。
於一實施例中,前述第2圖中的推理模型30係已完成訓練的模型。以下詳述推理模型30訓練的方法。
一併參閱第1圖及第3圖,第3圖係依照本發明一實施例繪示之訓練資料集產生方法300之示意圖。於一實施例中,推理模型30在訓練階段時,需要收集多個資料集322~328,此些資料集322~328作為一訓練資料集,此些資料集包含:程式名稱322、一幀率(frame rate)及幀流程停滯次數(pending times of frame process)324、一模型名稱與對應的該裝置名稱326、一平均幀流程停滯時間及裝置名稱328。
於步驟310中,透過處理裝置取得目前執行的應用程式10的程式名稱。
例如,應用程式10是一個遊戲,處理裝置(例如處理器或微處理器)取得應用程式10的程式名稱為古墓奇兵。
於步驟312中,透過處理裝置偵測應用程式10中的AI模型指令。
於步驟314中,處理裝置判斷是否偵測到應用程式10中包含AI模型指令。響應於處理裝置判斷偵測到應用程式10中包含AI模型指令,則進入步驟316。響應於處理裝置判斷偵測到應用程式10中包含AI模型指令,則結束此流程。
於步驟316中,處理裝置取得AI模型及此些AI模型各自對應的模型名稱。
於步驟318中,處理裝置列舉運算裝置及此些運算裝置各自對應的一裝置名稱。
於一實施例中,處理裝置僅列舉可以運行AI模型的運算裝置。
於步驟320中,處理裝置取得幀流程狀態(frame process status)。
於一實施例中,幀流程狀態例如為,幀率、幀流程停滯次數(例如,在一段時間中,畫面停滯,造成滯後(lag)的次數)、平均幀流程停滯時間(例如,在一段時間中,滯後的平均時間)...等。
經由上述步驟,可以得到資料集322~328,包含:程式名稱322、幀率及幀流程停滯次數324、模型名稱與對應的裝置名稱326、平均幀流程停滯時間及裝置名稱328。這些資料集322~328作為訓練資料集。
請一併參閱第1圖及第4圖,第4圖係依照本發明一實施例繪示之訓練推理模型30的方法400之示意圖。推理模型30在訓練階段時,將此些資料集輸入一類神經網路,以訓練出推理模型30。類神經網路例如為卷積神經網路(Convolutional Neural Network,CNN),然本案不限於此,只要是能分類資料類神經網路都可以。
於第4圖中,處理裝置將透過第3圖的訓練資料集產生方法300所收集到的:程式名稱322、幀率及幀流程停滯次數324、模型名稱與對應的裝置名稱326、平均幀流程停滯時間及裝置名稱328,輸入到類神經網路,當完成此類神經網路的訓練,此完成訓練的類神經網路即為推理模型30。
完成此類神經網路的訓練的停止條件可以是完成了一預設的期(epoch),或是此類神經網路的學習曲線趨緩,學習曲線的斜率更動小於一預設值時。然而,本案關於此類神經網路的訓練的停止條件不限於此,可以依實際應用時進行調整。
請一併參閱第1圖及第5A~5B圖,第5A~5B圖係依照本發明一實施例繪示之推理模型30產生推理結果的方法500之流程圖。
於步驟510中,開啟應用程式10。
於一實施例中,應用程式10可以是由使用者開啟,或是由其他程式促使處理裝置開啟。
於步驟512中,處理裝置取得應用程式10的程式名稱及此些裝置名稱,並將程式名稱及此些裝置名稱輸入推理模型30。
於一實施例中,應用程式層開啟應用程式10後,列舉多個運算裝置61~63及此些運算裝置61~63各自對應的一裝置名稱,處理裝置將這些裝置名稱傳送到推理模型30。
於一實施例中,這些運算裝置61~63可以被調用,以執行應用程式10中的AI模型。
於一實施例中,透過處理裝置(例如處理器或微處理器)將目前執行的應用程式10的名稱取得出來,例如應用程式10是一個遊戲,應用程式10的程式名稱為古墓奇兵,處理裝置再將程式名稱傳送到推理模型30。
於步驟514中,推理模型30判斷程式名稱是否有對應到此些模型名稱的其中至少之一者。若是,則步驟516。若否,則進入步驟515。
更具體而言,由於推理模型30是已經被訓練完成的模型,因此,推理模型30只要知道程式名稱,即可判斷此程式名稱對應的應用程式是否需要運行AI模型。當推理模型30判斷此程式名稱對應的應用程式需要運行AI模型(例如此應用程式是3A等級的遊戲),則進入步驟516。當推理模型30判斷此程式名稱對應的應用程式不需要運行AI模型(例如此應用程式為記事本,其功能只有接收使用者輸入的文字,並儲存),則進入步驟515。
於步驟516中,推理模型30進一步判斷是否此些裝置名稱所對應的此些運算裝置中,包含任何一運算裝置使一幀流程停滯時間為零。
於一實施例中,應用程式層開啟應用程式10後,列舉多個運算裝置61~63及此些運算裝置61~63各自對應的一裝置名稱,處理裝置將這些裝置名稱傳送到推理模型30。推理模型30進一步判斷是否此些裝置名稱所對應的此些運算裝置61~63中,包含任何一運算裝置使一幀流程停滯時間為零。
於步驟519中,當推理模型30判斷此些裝置名稱所對應的此些運算裝置61~63中,包含一運算裝置時,例如:運算裝置62)使幀流程停滯時間為零,則推理模型30將使幀流程停滯時間為零的運算裝置(例如為運算裝置62)視為一特定運算裝置,將此些模型名稱的其中至少之一者所對應的AI模型(例如為DirectML 42)暫存到特定運算裝置(例如為運算裝置62)對應的一特定暫存器中,例如運算裝置62為圖形處理器,則將DirectML 42暫存到圖形處理器62的記憶體中。
於一實施例中,當推理模型30判斷此些裝置名稱所對應的此些運算裝置61~63中,包含多個運算裝置時,例如:運算裝置61、62都可以使幀流程停滯時間為零,則推理模型30將使幀流程停滯時間為零的運算裝置61、62各自視為一特定運算裝置,將此些模型名稱對應的多個AI模型(例如為WinML 41、DirectML 42)暫存到這些特定運算裝置(例如為運算裝置61、62)各自對應的一特定暫存器中,例如,運算裝置61為處理器,則將WinML 41暫存到處理器62的記憶體中;運算裝置62為圖形處理器,則將DirectML 42暫存到圖形處理器62的記憶體中。
於一實施例中,當推理模型30判斷此些裝置名稱所對應的運算裝置61(如處理器)能使一幀流程停滯時間為零時,代表運算裝置61有足夠的運算能力可以順暢的運算對應的AI模型(如WinML 41),因此,推理模型30自動將AI模型(如WinML 41)指定由運算裝置61(如處理器)執行。
另一方面,於步驟515中,推理模型30取得一平均幀流程停滯時間及此些裝置名稱,並藉由一優先選項處理器(例如設定運算裝置62為優先選項處理器),將程式名稱暫存到一優選裝置的一優選暫存器中(例如運算裝置62的記憶體中)。
於一實施例中,推理模型30取得一平均幀流程停滯時間及此些裝置名稱後,可以將平均幀流程停滯時間及此些裝置名稱顯示在使用者介面上,讓使用者選擇欲採用的裝置以運行AI模型。
另一方面,於步驟517中,推理模型30取得一幀流程停滯時間、一幀率及此些裝置名稱,並藉由一優先選項處理器(例如 設定運算裝置62為優先選項處理器),將此些模型名稱對應的此些AI模型(例如為WinML 41、DirectML 42及NNAPI 43)暫存到對應一優選裝置的一優選暫存器中(例如運算裝置62的記憶體中)。
於一實施例中,推理模型30取得一幀流程停滯時間、一幀率及此些裝置名稱後,可以將幀流程停滯時間、幀率及此些裝置名稱顯示在使用者介面上,讓使用者選擇欲採用的裝置以運行AI模型。
請一併參閱第1圖及第6圖,第6圖係依照本發明一實施例之優化推理模型30的方法600之示意圖。人工智慧模型運算加速系統100中,更包狀態控制器610與監測模組620。
於一實施例中,狀態控制器610與監測模組620可以由軟體、韌體、硬體(如晶片、電路)以實現之。
於一實施例中,狀態控制器610與監測模組620可以與應用程式層通訊連結。
於一實施例中,狀態控制器610與監測模組620可以與應用程式介面層通訊連結。
於一實施例中,狀態控制器610與監測模組620可以與推理模型30連結。
第6圖中的虛線迴圈,代表人工智慧模型運算加速系統100正常運作。在步驟615中,狀態控制器610判斷是否發生幀流程停滯事件。若否,則狀態控制器610傳送一正常訊息給監測模組620,監測模組620回傳一保持現有推理模型訊息給狀態控制器610。
第6圖中的實線部分的流程,代表人工智慧模型運算加速系統100發生一幀流程停滯事件。在步驟615中,狀態控制器610判斷是否發生幀流程停滯事件,若是,則發送一資料更新訊息到監測模組620,監測模組620取得當下正在運行的一當前裝置名稱、一當前模型名稱及程式名稱,並將此些資料傳到推理模型30,使推理模型30得知發生一幀流程停滯事件,且需要利用此些資料進行步驟630,以重新訓練模型(model retrain)。
因此,當推理模型30判斷發生幀流程停滯事件,則推理模型30取得當下正在運行的當前裝置名稱、當前模型名稱及程式名稱,將此三者視為一資料組合,並降低資料組合的一權重,以重新調整推理模型30,並產生新的推理模型30’。
藉此,新的推理模型30’將降低此三者(當前裝置名稱、當前模型名稱及程式名稱)協同運作的配置機率,換言之,新的推理模型30’接收到此程式名稱時,會依據降低資料組合的權重,減少輸出此當前裝置名稱及此當前模型名稱的組合;因此,新的推理模型30’能大幅降低發生幀流程停滯事件的配置方式,進而達到優化推理模型30的效果。
本發明所示之人工智慧模型運算加速系統及人工智慧模型運算加速方法,解決了因為有AI運算需求,讓AI加速裝置過於忙碌的問題,藉此可讓使用者在使用各種應用程式的時候,即使需要運行多個AI模型,也能使系統運行更為順暢,減少畫面停滯的情形,提升使用者體驗,並且達到讓推理模型自適性優化運算速度的效果。
雖然本發明已以實施方式揭露如上,然其並非用以限定本發明,任何熟習此技藝者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
200:人工智慧模型運算加速方法 210~250:步驟

Claims (18)

  1. 一種人工智慧(artificial intelligence,AI)模型運算加速系統,包含: 一應用程式層,用以開啟一應用程式,透過一處理裝置取得運行該應用程式所需的複數個AI模型及該些AI模型各自對應的一模型名稱,並列舉複數個運算裝置及該些運算裝置各自對應的一裝置名稱;以及 一推理模型,用以取得該應用程式的一程式名稱,並接收該些AI模型各自對應的該模型名稱,並接收該些運算裝置各自對應的該裝置名稱,依據該些AI模型名稱及該些裝置名稱作為輸入資料,以輸出一推理結果;其中,該推理結果包含一特定裝置名稱及一特定AI模型名稱; 其中,該推理模型將該推理結果傳送到一應用程式介面(application programming interface,API)層,該API層由該應用程式取得該些AI模型,並在執行(run-time)階段時,依據該推理結果,將該特定AI模型名稱對應的該AI模型指定給該特定裝置名稱對應的該運算裝置進行運算。
  2. 如請求項1之人工智慧模型運算加速系統,其中,在執行階段時,該API層透過一加速裝置引擎(acceleration device engine),將該特定AI模型名稱對應的該AI模型傳送到該特定裝置名稱對應的該運算裝置的一暫存空間(buffer)。
  3. 如請求項1之人工智慧模型運算加速系統,其中,該推理模型係已完成訓練的模型。
  4. 如請求項1之人工智慧模型運算加速系統,其中,該推理模型在訓練階段時,需要收集複數個資料集,該些資料集作為一訓練資料集,該些資料集包含:該程式名稱、一幀率(frame rate)及幀流程停滯次數(pending times of frame process)、一模型名稱與對應的該裝置名稱、一平均幀流程停滯時間及裝置名稱。
  5. 如請求項4之人工智慧模型運算加速系統,其中,該推理模型在訓練階段時,將該些資料集輸入一類神經網路,以訓練出該推理模型。
  6. 如請求項1之人工智慧模型運算加速系統,其中,當該應用程式開啟後,一處理裝置取得該程式名稱及該些裝置名稱,並將該程式名稱及該些裝置名稱輸入該推理模型,該推理模型判斷該程式名稱是否有對應到該些模型名稱的其中至少之一者;以及 當該推理模型判斷該程式名稱對應到該些模型名稱的其中至少之一者,則該推理模型進一步判斷是否該些裝置名稱所對應的該些運算裝置中,包含任何一運算裝置使一幀流程停滯時間為零; 當該推理模型判斷該些裝置名稱所對應的該些運算裝置中,包含一運算裝置使該幀流程停滯時間為零,則該推理模型將使該幀流程停滯時間為零的該運算裝置視為一特定運算裝置,將該些模型名稱的其中至少之一者所對應的該AI模型暫存到該特定運算裝置對應的一特定暫存器中。
  7. 如請求項6之人工智慧模型運算加速系統,其中,當該推理模型判斷該程式名稱沒有對應到該些模型名稱的其中至少之一者,則該推理模型取得一平均幀流程停滯時間及該些裝置名稱,並藉由一優先選項處理器,將該程式名稱暫存到一優選裝置的一優選暫存器中。
  8. 如請求項6之人工智慧模型運算加速系統,其中,當該推理模型判斷該些裝置名稱所對應的該些運算裝置中,不包含任何一運算裝置使該幀流程停滯時間為零,則該推理模型取得一幀流程停滯時間、一幀率及該些裝置名稱,並藉由一優先選項處理器,將該些模型名稱對應的該些AI模型暫存到對應一優選裝置的一優選暫存器中。
  9. 如請求項6之人工智慧模型運算加速系統,其中,當該推理模型判斷發生一幀流程停滯事件,則該推理模型取得當下正在運行的一當前裝置名稱、一當前模型名稱及該程式名稱,將此三者視為一資料組合,並降低該資料組合的一權重,以重新調整該推理模型,並產生新的推理模型。
  10. 一種人工智慧(artificial intelligence,AI)模型運算加速方法,包含: 開啟一應用程式,取得運行該應用程式所需的複數個AI模型及該些AI模型各自對應的一模型名稱,並列舉複數個運算裝置及該些運算裝置各自對應的一裝置名稱; 透過一推理模型以取得該應用程式的一程式名稱; 透過該推理模型接收該些AI模型各自對應的該模型名稱,並接收該些運算裝置各自對應的該裝置名稱;以及 透過該推理模型依據該些AI模型名稱及該些裝置名稱作為輸入資料,以輸出一推理結果;其中,該推理結果包含一特定裝置名稱及一特定AI模型名稱; 其中,該推理模型將該推理結果傳送到一應用程式介面(application programming interface,API)層,該API層由該應用程式取得該些AI模型,並在執行(run-time)階段時,依據該推理結果,將該特定AI模型名稱對應的該AI模型指定給該特定裝置名稱對應的該運算裝置進行運算。
  11. 如請求項10之人工智慧模型運算加速方法,其中,在執行階段時,該API層透過一加速裝置引擎(acceleration device engine),將該特定AI模型名稱對應的該AI模型傳送到該特定裝置名稱對應的該運算裝置的一暫存空間(buffer)。
  12. 如請求項10之人工智慧模型運算加速方法,其中,該推理模型係已完成訓練的模型。
  13. 如請求項10之人工智慧模型運算加速方法,其中,該推理模型在訓練階段時,需要收集複數個資料集,該些資料集作為一訓練資料集,該些資料集包含:該程式名稱、一幀率(frame rate)及幀流程停滯次數(pending times of frame process)、一模型名稱與對應的該裝置名稱、一平均幀流程停滯時間及裝置名稱。
  14. 如請求項13之人工智慧模型運算加速方法,該推理模型在訓練階段時,將該些資料集輸入一類神經網路,以訓練出該推理模型。
  15. 如請求項10之人工智慧模型運算加速方法,其中,當該應用程式開啟後,更包含: 透過一處理裝置取得該程式名稱及該些裝置名稱,並將該程式名稱及該些裝置名稱輸入該推理模型; 透過該推理模型判斷該程式名稱是否有對應到該些模型名稱的其中至少之一者;以及 當該推理模型判斷該程式名稱對應到該些模型名稱的其中至少之一者,則該推理模型進一步判斷是否該些裝置名稱所對應的該些運算裝置中,包含任何一運算裝置使一幀流程停滯時間為零; 當該推理模型判斷該些裝置名稱所對應的該些運算裝置中,包含一運算裝置使該幀流程停滯時間為零,則該推理模型將使該幀流程停滯時間為零的該運算裝置視為一特定運算裝置,將該些模型名稱的其中至少之一者所對應的該AI模型暫存到該特定運算裝置對應的一特定暫存器中。
  16. 如請求項15之人工智慧模型運算加速方法,其中,當該推理模型判斷該程式名稱沒有對應到該些模型名稱的其中至少之一者,則該推理模型取得一平均幀流程停滯時間及該些裝置名稱,並藉由一優先選項處理器,將該程式名稱暫存到一優選裝置的一優選暫存器中。
  17. 如請求項15之人工智慧模型運算加速方法,其中,當該推理模型判斷該些裝置名稱所對應的該些運算裝置中,不包含任何一運算裝置使該幀流程停滯時間為零,則該推理模型取得一幀流程停滯時間、一幀率及該些裝置名稱,並藉由一優先選項處理器,將該些模型名稱對應的該些AI模型暫存到對應一優選裝置的一優選暫存器中。
  18. 如請求項15之人工智慧模型運算加速方法,其中,當該推理模型判斷發生一幀流程停滯事件,則該推理模型取得當下正在運行的一當前裝置名稱、一當前模型名稱及該程式名稱,將此三者視為一資料組合,並降低該資料組合的一權重,以重新調整該推理模型,並產生新的推理模型。
TW111120960A 2022-06-07 2022-06-07 人工智慧模型運算加速系統及人工智慧模型運算加速方法 TWI832279B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW111120960A TWI832279B (zh) 2022-06-07 2022-06-07 人工智慧模型運算加速系統及人工智慧模型運算加速方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW111120960A TWI832279B (zh) 2022-06-07 2022-06-07 人工智慧模型運算加速系統及人工智慧模型運算加速方法

Publications (2)

Publication Number Publication Date
TW202349282A TW202349282A (zh) 2023-12-16
TWI832279B true TWI832279B (zh) 2024-02-11

Family

ID=90039156

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111120960A TWI832279B (zh) 2022-06-07 2022-06-07 人工智慧模型運算加速系統及人工智慧模型運算加速方法

Country Status (1)

Country Link
TW (1) TWI832279B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112689827A (zh) * 2020-10-27 2021-04-20 华为技术有限公司 模型推理异常处理方法及装置
TW202119255A (zh) * 2019-11-08 2021-05-16 香港商阿里巴巴集團服務有限公司 推理系統、推理方法、電子設備及電腦儲存媒體
CN113128681A (zh) * 2021-04-08 2021-07-16 天津大学 一种多边缘设备辅助的通用cnn推理加速***
US20210319098A1 (en) * 2018-12-31 2021-10-14 Intel Corporation Securing systems employing artificial intelligence
US20210319317A1 (en) * 2021-06-24 2021-10-14 Intel Corporation Methods and apparatus to perform machine-learning model operations on sparse accelerators
US20220114014A1 (en) * 2020-10-09 2022-04-14 Samsung Electronics Co., Ltd. Methods and system for on-device ai model parameter run-time protection

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210319098A1 (en) * 2018-12-31 2021-10-14 Intel Corporation Securing systems employing artificial intelligence
TW202119255A (zh) * 2019-11-08 2021-05-16 香港商阿里巴巴集團服務有限公司 推理系統、推理方法、電子設備及電腦儲存媒體
US20220114014A1 (en) * 2020-10-09 2022-04-14 Samsung Electronics Co., Ltd. Methods and system for on-device ai model parameter run-time protection
CN112689827A (zh) * 2020-10-27 2021-04-20 华为技术有限公司 模型推理异常处理方法及装置
CN113128681A (zh) * 2021-04-08 2021-07-16 天津大学 一种多边缘设备辅助的通用cnn推理加速***
US20210319317A1 (en) * 2021-06-24 2021-10-14 Intel Corporation Methods and apparatus to perform machine-learning model operations on sparse accelerators

Also Published As

Publication number Publication date
TW202349282A (zh) 2023-12-16

Similar Documents

Publication Publication Date Title
US7562362B1 (en) User control of task priority
WO2021136512A1 (zh) 基于深度学习节点计算的调度方法、设备及存储介质
US20210248469A1 (en) Method and apparatus for scheduling deep learning reasoning engines, device, and medium
CN103365720B (zh) 用于多线程环境下动态调整全局堆分配的方法和***
US7895596B2 (en) Processor assignment in multi-processor systems
EP3955174A2 (en) Method, apparatus and storage medium for training a deep learning framework
US11831410B2 (en) Intelligent serverless function scaling
WO2023165105A1 (zh) 负载均衡控制方法、装置电子设备、存储介质和计算机程序
US20120254822A1 (en) Processing optimization load adjustment
KR20220165777A (ko) 사용자가 현재 사용자 입력을 완료하기 위한 특정 자동완성 제안을 선택하기 전에 실행가능한 요청의 이행
JP2022084869A (ja) 深層フレームワーク用のスケジューリング方法、スケジューリング装置、電子機器、記憶媒体及びプログラム
CN114253683B (zh) 任务处理方法、装置、电子设备及存储介质
TWI832279B (zh) 人工智慧模型運算加速系統及人工智慧模型運算加速方法
CN114968567A (zh) 用于分配计算节点的计算资源的方法、装置和介质
US11954518B2 (en) User-defined metered priority queues
CN117540804A (zh) 人工智能模型运算加速***及人工智能模型运算加速方法
US12020036B2 (en) Trajectory-based hierarchical autoscaling for serverless applications
WO2021073125A1 (zh) 面向深度学习训练任务的处理器内存优化方法及装置
TWI684347B (zh) 自動調節無伺服器程式之系統與其方法
US20040006632A1 (en) Methods and apparatus for dispatching JavaTM software as an application managed by an operating system control manager
US11640326B2 (en) Ensemble based cluster tuning and framework fallback for AI accelerators using telemetry, compute, and temperature metrics
CN117971317B (zh) 中央处理器与加速器交互方法、装置及电子设备
US20230108367A1 (en) Selectively implementing role change requests for auxiliary devices that facilitate assistant interactions
CN115454640B (zh) 任务处理***及自适应任务调度的方法
WO2023098794A1 (zh) 一种训练加速方法及相关装置