本技術涉及人工智能領域,特別是涉及一種數據庫的人工智能模型的訓練方法及裝置。
背景技術:
1、數據庫的人工智能(artificial?intelligence?for?database,ai4db)是將人工智能技術應用于數據庫領域的概念和實踐,ai4db旨在提升數據庫系統的智能化、自動化和效率。ai4db融合了人工智能和數據庫技術,通過利用機器學習等技術,為數據庫系統帶來了許多創新和改進。
2、但是,當前利用ai4db提升數據庫系統的智能化、自動化和效率的方式,數據庫性能不佳。因此,亟需一種方案,能夠解決上述問題。
技術實現思路
1、為了解決或者至少部分解決上述技術問題,本技術提供了一種數據庫的人工智能模型的訓練方法及裝置。
2、第一方面,本技術提供了一種數據庫的人工智能模型的訓練方法,應用于數據庫,所述方法包括:
3、接收目標查詢語句,所述目標查詢語句中包括目標用戶自定義機器學習函數;
4、確定所述目標用戶自定義機器學習函數為采用第一編程語言的函數,以及確定所述目標用戶自定義機器學習函數的函數類型為用戶自定義機器學習函數,其中:所述第一編程語言為數據庫的人工智能模型支持的編程語言,類型為用戶自定義機器學習函數的函數,用于實現數據庫的人工智能模型的訓練;
5、調用所述目標用戶自定義機器學習函數以訓練目標模型,所述目標模型為數據庫的人工智能模型。
6、可選的,所述目標用戶自定義機器學習函數包括:
7、執行添加操作的第一函數和執行融合操作的第二函數;其中:
8、所述第一函數用于基于輸入的表信息完成模型訓練操作,所述表信息包括表數據和表的元信息;
9、所述第二函數用于對多次執行所述第一函數得到的結果進行聚合。
10、可選的,所述第二函數的輸入還包括所述表的元信息,所述方法還包括:
11、在執行所述第一函數時,將所述元信息存儲在內存中;
12、在執行所述第二函數時,從內存中獲取所述元信息并傳遞給所述第二函數。
13、可選的,所述確定所述目標用戶自定義機器學習函數為采用第一編程語言的函數,以及確定所述目標用戶自定義機器學習函數的函數類型為用戶自定義機器學習函數,包括:
14、調用用戶自定義機器學習函數管理模塊提供的接口,查詢所述目標用戶自定義機器學習函數的注冊信息;
15、根據所述注冊信息,確定所述目標用戶自定義機器學習函數為采用第一編程語言的函數,以及確定所述目標用戶自定義機器學習函數的函數類型為用戶自定義機器學習函數。
16、可選的,所述目標查詢語句為選擇查詢語句,所述選擇查詢語句的參數指示訓練所述目標模型所需的訓練數據;所述調用所述目標用戶自定義機器學習函數以訓練目標模型,包括:
17、根據所述選擇查詢語句的參數,從所述數據庫中讀取所述訓練數據到所述數據庫的內存中,得到第二編程語言的對象,其中,所述第二編程語言為所述數據庫支持的編程語言,所述第二編程語言與第一編程語言不同;
18、將所述第二編程語言的對象,轉換為所述第一編程語言的對象;
19、利用所述第一編程語言的對象和所述目標用戶自定義機器學習函數,訓練所述目標模型。
20、可選的,所述第一編程語言為python,所述第二編程語言為c或者c++,所述將所述第二編程語言的對象,轉換為所述第一編程語言的對象,包括:
21、為所述第二編程語言的對象創建至少一個數組,每個數組中承載所述訓練數據中的多個值;
22、將所述至少一個數組中的每個數組,分別轉換成所述第一編程語言的對象。
23、可選的,所述目標模型包括:
24、基數估計模型、join順序提示模型、或者自動調參模型。
25、第二方面,本技術提供了一種數據庫的人工智能模型的訓練裝置,應用于數據庫,所述裝置包括:
26、接收單元,用于接收目標查詢語句,所述目標查詢語句中包括目標用戶自定義機器學習函數;
27、確定單元,用于確定所述目標用戶自定義機器學習函數為采用第一編程語言的函數,以及確定所述目標用戶自定義機器學習函數的函數類型為用戶自定義機器學習函數,其中:所述第一編程語言為數據庫的人工智能模型支持的編程語言,類型為用戶自定義機器學習函數的函數,用于實現數據庫的人工智能模型的訓練;
28、訓練單元,用于調用所述目標用戶自定義機器學習函數以訓練目標模型,所述目標模型為數據庫的人工智能模型。
29、可選的,所述目標用戶自定義機器學習函數包括:
30、執行添加操作的第一函數和執行融合操作的第二函數;其中:
31、所述第一函數用于基于輸入的表信息完成模型訓練操作,所述表信息包括表數據和表的元信息;
32、所述第二函數用于對多次執行所述第一函數得到的結果進行聚合。
33、可選的,所述第二函數的輸入還包括所述表的元信息,所述裝置還包括:
34、存儲單元,用于在執行所述第一函數時,將所述元信息存儲在內存中;
35、讀取單元,用于在執行所述第二函數時,從內存中獲取所述元信息并傳遞給所述第二函數。
36、可選的,所述確定單元,用于:
37、調用用戶自定義機器學習函數管理模塊提供的接口,查詢所述目標用戶自定義機器學習函數的注冊信息;
38、根據所述注冊信息,確定所述目標用戶自定義機器學習函數為采用第一編程語言的函數,以及確定所述目標用戶自定義機器學習函數的函數類型為用戶自定義機器學習函數。
39、可選的,所述目標查詢語句為選擇查詢語句,所述選擇查詢語句的參數指示訓練所述目標模型所需的訓練數據;所述訓練單元,用于:
40、根據所述選擇查詢語句的參數,從所述數據庫中讀取所述訓練數據到所述數據庫的內存中,得到第二編程語言的對象,其中,所述第二編程語言為所述數據庫支持的編程語言,所述第二編程語言與第一編程語言不同;
41、將所述第二編程語言的對象,轉換為所述第一編程語言的對象;
42、利用所述第一編程語言的對象和所述目標用戶自定義機器學習函數,訓練所述目標模型。
43、可選的,所述第一編程語言為python,所述第二編程語言為c或者c++,所述將所述第二編程語言的對象,轉換為所述第一編程語言的對象,包括:
44、為所述第二編程語言的對象創建至少一個數組,每個數組中承載所述訓練數據中的多個值;
45、將所述至少一個數組中的每個數組,分別轉換成所述第一編程語言的對象。
46、可選的,所述目標模型包括:
47、基數估計模型、join順序提示模型、或者自動調參模型。
48、第三方面,本技術實施例提供了一種電子設備,所述設備包括處理器和存儲器;
49、所述處理器用于執行所述存儲器中存儲的指令,以使得所述設備執行如以上第一方面中任一項所述的方法。
50、第四方面,本技術實施例提供了一種計算機可讀存儲介質,包括指令,所述指令指示設備執行如以上第一方面中任一項所述的方法。
51、第五方面,本技術實施例提供了一種計算機程序產品,當所述計算機程序產品在計算機上運行時,使得計算機執行以上第一方面任一項所述的方法。
52、與現有技術相比,本技術實施例具有以下優點:
53、本技術實施例提供了一種ai4db模型的訓練方法,該方法可以應用于數據庫,具體的,數據庫可以接收查詢語句,該查詢語句中包括目標用戶自定義機器學習函數(user-defined?machine?learning?functions,udmf)。數據庫接收所述目標udmf函數之后,可以進一步確定所述目標udmf函數為采用第一編程語言的函數,并確定所述目標udmf函數的函數類型為udmf。其中:所述第一編程語言為ai4db模型支持的編程語言,類型為udmf的函數,用于實現ai4db模型的訓練。進一步地,所述數據庫可以調用所述目標udmf以訓練目標模型,所述目標模型為ai4db模型。由此可見,利用本方案,數據庫可以調用目標udmf函數,實現ai4db模型的訓練,從而將ai4db技術整合到數據庫架構中,而不是將ai4db技術架構獨立于數據庫架構,相應的,在利用ai4db提升數據庫系統的智能化、自動化和效率時,可以有效減少數據庫和ai4db技術架構之間進行數據交互所帶來的開銷,從而提升了數據庫性能。