日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

特征處理權(quán)衡管理的制作方法

文檔序號:11160886閱讀:502來源:國知局
特征處理權(quán)衡管理的制造方法與工藝

機器學習組合來自統(tǒng)計學和人工智能的技術(shù)以創(chuàng)建可從經(jīng)驗數(shù)據(jù)學習并推廣到解決諸如自然語言處理、金融欺詐檢測、恐怖主義威脅級別檢測、人類健康診斷等各種領(lǐng)域中的問題的算法。近年來,正在從諸如各種傳感器、web服務(wù)器日志、社交媒體服務(wù)、金融交易記錄、安全攝像機等各種各種的來源收集可潛在用于機器學習模型的越來越多的原始數(shù)據(jù)。

傳統(tǒng)上,統(tǒng)計學和人工智能方面的專業(yè)知識是開發(fā)和使用機器學習模型的前提條件。對于許多業(yè)務(wù)分析師并甚至對于高資格的主題專家,獲得這種專業(yè)知識的困難有時是太大的障礙,以至于不能充分利用潛在可用的大量數(shù)據(jù)來改進業(yè)務(wù)預(yù)測和決定。此外,許多機器學習技術(shù)可以是計算密集的,并且在至少一些情況下,可能難以精確地預(yù)測技術(shù)的各個階段可能需要多少計算能力。鑒于這種不可預(yù)測性,對于商業(yè)組織來說建立他們自己的機器學習計算設(shè)施可能并不總是可取的或可行的。

從機器學習算法獲得的結(jié)果的質(zhì)量可以取決于用于訓(xùn)練模型的經(jīng)驗數(shù)據(jù)有多好地捕獲數(shù)據(jù)中表示的不同變量之間的關(guān)鍵關(guān)系以及可如何高效和有效地識別這些關(guān)系。取決于將使用機器學習解決的問題的性質(zhì),可能必須分析非常大的數(shù)據(jù)組以便能夠進行準確預(yù)測,特別是相對不頻繁但重要的事件的預(yù)測。例如,在金融欺詐檢測應(yīng)用中,其中欺詐交易的數(shù)量通常是交易總數(shù)的非常小的一小部分,識別可用于將交易標記為欺詐的因素可潛在需要分析數(shù)百萬交易記錄,每個表示幾十個或甚至幾百個變量。對原始輸入數(shù)據(jù)組大小、凈化或歸一化大量潛在不完整或含有錯誤的記錄和/或提取原始數(shù)據(jù)的代表性子集的能力的約束也表示對于機器學習技術(shù)的許多潛在受益者不容易克服的障礙。對于許多機器學習問題,在數(shù)據(jù)可有效地用于訓(xùn)練模型之前,變換可能必須應(yīng)用于各種輸入數(shù)據(jù)變量。在一些傳統(tǒng)機器學習環(huán)境中,可用于應(yīng)用此類變換的機制可能不是最佳的,例如,有時可能必須逐個地將類似的變換應(yīng)用于數(shù)據(jù)組的許多不同變量,潛在地需要大量繁瑣和易出錯的工作。

附圖說明

圖1示出根據(jù)至少一些實施方案的可實現(xiàn)機器學習服務(wù)的各種部件的示例性系統(tǒng)環(huán)境。

圖2示出根據(jù)至少一些實施方案的使用提供商網(wǎng)絡(luò)的多種網(wǎng)絡(luò)可訪問服務(wù)實現(xiàn)的機器學習服務(wù)的實例。

圖3示出根據(jù)至少一些實施方案的用于機器學習服務(wù)的提供商網(wǎng)絡(luò)的多個可用性容器和安全容器的使用的實例。

圖4示出根據(jù)至少一些實施方案的可在機器學習服務(wù)處生成的多個處理計劃和對應(yīng)資源組的實例。

圖5示出根據(jù)至少一些實施方案的機器學習服務(wù)處的作業(yè)的異步調(diào)度的實例。

圖6示出根據(jù)至少一些實施方案的可使用機器學習服務(wù)生成和存儲的示例性制品(artifact)。

圖7示出根據(jù)至少一些實施方案的響應(yīng)于實例化數(shù)據(jù)源的客戶端請求的統(tǒng)計的自動生成的實例。

圖8示出根據(jù)至少一些實施方案的可在機器學習服務(wù)處支持的若干模型使用模式。

圖9a和圖9b是示出根據(jù)至少一些實施方案的可在支持機器學習作業(yè)的異步調(diào)度的機器學習服務(wù)處執(zhí)行的操作的方面的流程圖。

圖10a是示出根據(jù)至少一些實施方案的可在支持一組冪等編程接口的機器學習服務(wù)處執(zhí)行的操作的方面的流程圖。

圖10b是示出根據(jù)至少一些實施方案的可在機器學習服務(wù)處執(zhí)行以收集并散布關(guān)于與不同問題域相關(guān)的最佳實踐的信息的操作的方面的流程圖。

圖11示出根據(jù)至少一些實施方案的與機器學習服務(wù)處的數(shù)據(jù)變換的配方的使用相關(guān)聯(lián)的示例性交互。

圖12示出根據(jù)至少一些實施方案的配方的示例性部分。

圖13示出根據(jù)至少一些實施方案的可用于定義配方句法的示例性語法。

圖14示出根據(jù)至少一些實施方案的可針對配方的一部分生成的抽象句法樹的實例。

圖15示出根據(jù)至少一些實施方案的可用于搜索可從機器學習服務(wù)獲得的域特定配方的編程接口的實例。

圖16示出根據(jù)至少一些實施方案的機器學習服務(wù)的實例,所述機器學習服務(wù)代表客戶端自動探索配方變換的參數(shù)設(shè)置的范圍,并且基于此類探索的結(jié)果選擇可接受或推薦的參數(shù)設(shè)置。

圖17是示出根據(jù)至少一些實施方案的可在支持用于數(shù)據(jù)組變換的可重新使用配方的機器學習服務(wù)處執(zhí)行的操作的方面的流程圖。

圖18示出根據(jù)至少一些實施方案的用于通過機器學習服務(wù)對大的輸入數(shù)據(jù)組執(zhí)行有效存儲器內(nèi)過濾操作的示例性過程。

圖19示出根據(jù)至少一些實施方案的與改變用于對機器學習數(shù)據(jù)組的過濾操作序列的塊大小相關(guān)聯(lián)的權(quán)衡。

圖20a示出根據(jù)至少一些實施方案的塊級過濾操作(包括混排之后進行分裂)的示例性序列。

圖20b示出根據(jù)至少一些實施方案的包括塊級過濾以及塊內(nèi)過濾的存儲器內(nèi)過濾操作的示例性序列。

圖21示出根據(jù)至少一些實施方案的對數(shù)據(jù)組的存儲器內(nèi)采樣的替代方法的實例。

圖22示出根據(jù)至少一些實施方案的基于觀察記錄邊界的位置確定塊邊界的實例。

圖23示出根據(jù)至少一些實施方案的可響應(yīng)于對從各種數(shù)據(jù)源類型中的任一個提取數(shù)據(jù)記錄的請求而在機器學習服務(wù)處調(diào)度的作業(yè)的實例。

圖24示出根據(jù)至少一些實施方案的可由客戶端使用由機器學習服務(wù)實現(xiàn)的I/O(輸入-輸出)庫的編程接口提交的記錄檢索請求的示例性組成元素。

圖25是示出根據(jù)至少一些實施方案的可在實現(xiàn)用于對大輸入數(shù)據(jù)組的存儲器內(nèi)過濾操作序列的I/O庫的機器學習服務(wù)處執(zhí)行的操作的方面的流程圖。

圖26示出根據(jù)至少一些實施方案的可用于提高由機器學習模型進行的預(yù)測的質(zhì)量的迭代過程的實例。

圖27示出根據(jù)至少一些實施方案的可用于機器學習模型的交叉驗證的數(shù)據(jù)組分裂的實例。

圖28示出根據(jù)至少一些實施方案的用于可使用偽隨機數(shù)序列執(zhí)行的交叉驗證的輸入數(shù)據(jù)組的一致塊級分裂的實例。

圖29示出根據(jù)至少一些實施方案的可由于不適當?shù)刂刂脗坞S機數(shù)生成器發(fā)生的輸入數(shù)據(jù)組的不一致塊級分裂的實例。

圖30示出根據(jù)至少一些實施方案的調(diào)度相關(guān)訓(xùn)練和評估作業(yè)對的示例性時間線。

圖31示出根據(jù)至少一些實施方案的響應(yīng)于客戶端請求在機器學習服務(wù)處生成一致性元數(shù)據(jù)的系統(tǒng)的實例。

圖32是示出根據(jù)至少一些實施方案的可響應(yīng)于對機器學習模型的訓(xùn)練和評估迭代的請求在機器學習服務(wù)處執(zhí)行的操作的方面的流程圖。

圖33示出根據(jù)至少一些實施方案的可針對機器學習服務(wù)處的預(yù)測生成的決定樹的實例。

圖34示出根據(jù)至少一些實施方案的在機器學習模型的訓(xùn)練階段的樹構(gòu)造過程期間按深度優(yōu)先次序?qū)Q定樹節(jié)點的表示存儲在持久性存儲裝置處的實例。

圖35示出根據(jù)至少一些實施方案的可為決定樹的節(jié)點生成的預(yù)測效用分布信息的實例。

圖36示出根據(jù)至少一些實施方案的至少部分地基于運行時間存儲器占用目標和累積預(yù)測效用的組合修剪決定樹的實例。

圖37示出根據(jù)至少一些實施方案的至少部分地基于預(yù)測時間變化目標修剪決定樹的實例。

圖38示出根據(jù)至少一些實施方案的可生成用于訓(xùn)練在機器學習服務(wù)處使用決定樹總體的模型的多個作業(yè)的實例。

圖39是示出根據(jù)至少一些實施方案的可在機器學習服務(wù)處執(zhí)行以按深度優(yōu)先次序生成并修剪存儲到持久性存儲裝置的決定樹的操作的方面的流程圖。

圖40示出根據(jù)至少一些實施方案的被配置來基于對候選特征處理變換的成本和益處的分析為客戶端生成特征處理提議的機器學習服務(wù)的實例。

圖41示出根據(jù)至少一些實施方案的基于測量的預(yù)測速度和預(yù)測質(zhì)量從若干替代者選擇特征處理組的實例。

圖42示出根據(jù)至少一些實施方案的機器學習服務(wù)的客戶端與特征處理管理器之間的示例性交互。

圖43示出根據(jù)至少一些實施方案的使用隨機選擇修剪候選特征處理變換的實例。

圖44示出根據(jù)至少一些實施方案的用于識別推薦的候選特征處理變換組的貪婪(greedy)技術(shù)的實例。

圖45示出根據(jù)至少一些實施方案的特征處理優(yōu)化技術(shù)的第一階段的實例,其中使用第一組候選處理變量訓(xùn)練模型并對所述模型進行評估。

圖46示出根據(jù)至少一些實施方案的特征處理優(yōu)化技術(shù)的隨后階段的實例,其中使用修改的評估數(shù)據(jù)組來重新評估模型以確定使用各種處理的變量對預(yù)測質(zhì)量的影響。

圖47示出根據(jù)至少一些實施方案的特征處理優(yōu)化技術(shù)的另一示例性階段,其中使用一組修改的處理的變量來重新訓(xùn)練模型以確定使用處理的變量對預(yù)測運行時間成本的影響。

圖48是示出根據(jù)至少一些實施方案的可在基于質(zhì)量對比運行時間成本權(quán)衡推薦特征處理變換的機器學習服務(wù)處執(zhí)行的操作的方面的流程圖。

圖49是根據(jù)至少一些實施方案的可使得客戶端能夠查看各種機器學習模型運行的狀態(tài)的編程儀表板接口的實例。

圖50示出根據(jù)至少一些實施方案的用于生成并使用線性預(yù)測模型的示例性過程。

圖51示出根據(jù)至少一些實施方案的示例性情境,其中用于訓(xùn)練模型的機器學習服務(wù)器的存儲器容量可變?yōu)閰?shù)向量大小的約束。

圖52示出根據(jù)至少一些實施方案的技術(shù),其中在訓(xùn)練期間其各自參數(shù)值存儲在參數(shù)向量中的特征的子集可被選擇作為修剪受害者。

圖53示出根據(jù)至少一些實施方案的系統(tǒng),其中將用于線性模型的訓(xùn)練階段的學習迭代的觀察記錄可流傳輸?shù)綑C器學習服務(wù)。

圖54是示出根據(jù)至少一些實施方案的可在機器學習服務(wù)處執(zhí)行的操作的方面的流程圖,在所述機器學習服務(wù)處,響應(yīng)于檢測觸發(fā)條件,可從參數(shù)向量修剪對應(yīng)于一個或多個特征的參數(shù)以減少訓(xùn)練期間的存儲器消耗。

圖55示出根據(jù)至少一些實施方案的可用于獲得分配給特征的權(quán)重的絕對值的分位數(shù)邊界估計的單遍技術(shù)。

圖56示出根據(jù)至少一些實施方案的使用分位數(shù)分倉(quantile binning)變換來捕獲機器學習模型的原始輸入變量與預(yù)測目標變量之間的非線性關(guān)系的實例。

圖57示出根據(jù)至少一些實施方案的可在機器學習服務(wù)處模型的訓(xùn)練階段期間生成的并發(fā)分倉計劃的實例。

圖58示出根據(jù)至少一些實施方案的可在機器學習服務(wù)處實現(xiàn)的并發(fā)多變量分位數(shù)分倉變換的實例。

圖59示出根據(jù)至少一些實施方案的可用于表示機器學習服務(wù)處的并發(fā)分倉操作的配方的實例。

圖60示出根據(jù)至少一些實施方案的系統(tǒng)的實例,其中客戶端可利用機器學習服務(wù)的編程接口來指示它們關(guān)于并發(fā)分位數(shù)分倉的使用的偏好。

圖61是示出根據(jù)至少一些實施方案的可在實現(xiàn)并發(fā)分位數(shù)分倉變換的機器學習服務(wù)處執(zhí)行的操作的方面的流程圖。

圖62示出根據(jù)至少一些實施方案的示例性系統(tǒng)環(huán)境,其中機器學習服務(wù)實現(xiàn)交互式圖形界面,使得客戶端能夠探索各種預(yù)測質(zhì)量度量目標之間的權(quán)衡并且修改可用于解釋模型執(zhí)行結(jié)果的設(shè)置。

圖63示出根據(jù)至少一些實施方案的可通過交互式圖形界面提供的二進制分類模型的評估運行的結(jié)果的示例性視圖。

圖64a和圖64b集體示出根據(jù)至少一些實施方案的由客戶端通過對交互式圖形界面的特定控制指示的預(yù)測解釋閾值的變化對一組模型質(zhì)量度量的影響。

圖65示出根據(jù)至少一些實施方案的與其各自控件可包括在交互式圖形界面中的機器學習模型的評估運行有關(guān)的高級度量的實例。

圖66示出根據(jù)至少一些實施方案的可用于修改分類標簽并查看基于輸出變量值選擇的觀察記錄的細節(jié)的交互式圖形界面的元件的實例。

圖67示出根據(jù)至少一些實施方案的可通過交互式圖形界面提供的多路分類模型的評估運行的結(jié)果的示例性視圖。

圖68示出根據(jù)至少一些實施方案的可通過交互式圖形界面提供的回歸模型的評估運行的結(jié)果的示例性視圖。

圖69是示出根據(jù)至少一些實施方案的可在實現(xiàn)使得客戶端能夠基于探索評估結(jié)果修改預(yù)測解釋設(shè)置的交互式圖形界面的機器學習服務(wù)處執(zhí)行的操作的方面的流程圖。

圖70示出根據(jù)至少一些實施方案的可利用機器學習數(shù)據(jù)組的空間有效表示來確定機器學習服務(wù)處一個數(shù)據(jù)組是否可能包括另一數(shù)據(jù)組的復(fù)本觀察記錄的示例性復(fù)本檢測器。

圖71a和圖71b集體示出根據(jù)至少一些實施方案的用于機器學習服務(wù)處的復(fù)本觀察記錄的概率檢測的布隆過濾器的使用的實例。

圖72示出根據(jù)至少一些實施方案的可在機器學習服務(wù)的復(fù)本檢測器處使用的替代復(fù)本定義的實例。

圖73示出根據(jù)至少一些實施方案的機器學習服務(wù)處的大數(shù)據(jù)組的復(fù)本檢測的并行方法的實例。

圖74示出根據(jù)至少一些實施方案的給定機器學習數(shù)據(jù)組內(nèi)的概率復(fù)本檢測的實例。

圖75是示出根據(jù)至少一些實施方案的可在實現(xiàn)觀察記錄的復(fù)本檢測的機器學習服務(wù)處執(zhí)行的操作的方面的流程圖。

圖76是示出可在至少一些實施方案中使用的示例性計算裝置的框圖。

雖然在本文中通過對若干實施方案和示意性附圖舉例的方式描述了實施方案,但本領(lǐng)域的技術(shù)人員應(yīng)認識到,實施方案不限于所述實施方案或附圖。應(yīng)理解,附圖和對其的詳細描述并非意圖將實施方案限于所公開的特定形式,而相反,其意圖在于涵蓋落入由所附權(quán)利要求書限定的精神和范圍內(nèi)的所有修改、等效物和替代方案。本文中使用的標題都僅用于組織目的,并且并不意圖用于限制本說明書或權(quán)利要求書的范圍。貫穿本申請所使用的詞語“可”是在許可的意義上(即意指具有可能性)、而非強制的意義上(即意指必須)使用。類似地,詞語“包括(include/including/includes)”意味著包括但不限于。

具體實施方式

描述用于設(shè)計來支持大量用戶和多種多樣的算法和問題大小的可定制、容易使用的機器學習服務(wù)(MLS)的方法和設(shè)備的各種實施方案。在一個實施方案中,可由服務(wù)定義多個MLS編程接口(諸如應(yīng)用編程接口(API)),其指導(dǎo)非專家用戶相對快速地開始使用機器學習最佳實踐,而用戶不必花費大量的時間和精力調(diào)諧模型或?qū)W習高級統(tǒng)計學或人工智能技術(shù)。接口可例如允許非專家依賴于用于構(gòu)建、訓(xùn)練和使用機器學習模型的過程的各方面的默認設(shè)置或參數(shù),其中默認值從解決類似類型的機器學習問題的其他實踐者的累積經(jīng)驗中導(dǎo)出。同時,專家用戶可定制他們希望用于各種類型的機器學習任務(wù)諸如輸入記錄處理、特征處理、模型構(gòu)建、執(zhí)行和評估的參數(shù)或設(shè)置。在至少一些實施方案中,除了或代替使用實現(xiàn)各種類型的機器學習任務(wù)的預(yù)先定義的庫,MLS客戶端可能夠例如通過向服務(wù)注冊它們自己的定制功能來擴展服務(wù)的內(nèi)置能力。取決于實現(xiàn)此類定制模塊或功能的客戶端的業(yè)務(wù)需要或目標,在一些情況下可與服務(wù)的其他用戶共享模塊,而在其他情況下定制模塊的使用可限制到其實現(xiàn)者/擁有者。

在一些實施方案中,可支持相對直接的配方語言,從而允許MLS用戶指示他們希望已應(yīng)用在數(shù)據(jù)組上的各種特征處理步驟。此類配方可以文本格式指定,并隨后編譯成可根據(jù)需要重新用于不同資源組上的不同數(shù)據(jù)組的可執(zhí)行格式。在至少一些實施方案中,MLS可在包括具有分布在世界各地的數(shù)十萬計算和存儲裝置的多個數(shù)據(jù)中心的提供商網(wǎng)絡(luò)處實現(xiàn),從而允許以太字節(jié)標度或拍字節(jié)標度數(shù)據(jù)組的機器學習問題,并且以相對透明的方式對應(yīng)地解決大的計算要求,同時仍然確保高水平的隔離和敏感數(shù)據(jù)的安全性。提供商網(wǎng)絡(luò)的預(yù)先存在的服務(wù)諸如支持可通過web服務(wù)接口訪問的任意大數(shù)據(jù)對象的存儲服務(wù)、數(shù)據(jù)庫服務(wù)、虛擬計算服務(wù)、并行計算服務(wù)、高性能計算服務(wù)、負載平衡服務(wù)等在至少一些實施方案中可用于各種機器學習任務(wù)。對于具有高可用性和數(shù)據(jù)耐久性要求的MLS客戶端,機器學習數(shù)據(jù)(例如,原始輸入數(shù)據(jù)、變換/操縱的輸入數(shù)據(jù)、中間結(jié)果或最終結(jié)果)和/或模型可跨不同地理位置或可用性容器復(fù)制,如下所述。為了滿足MLS客戶端的數(shù)據(jù)安全需求,在一些實施方案中,實現(xiàn)用戶定義的功能或第三方功能的所選擇數(shù)據(jù)組、模型或代碼可被限制到由提供商網(wǎng)絡(luò)定義的安全容器,其中例如客戶端的機器學習任務(wù)以隔離的單租戶方式執(zhí)行,而不是可通常用于一些提供商網(wǎng)絡(luò)的服務(wù)的多租戶方法。術(shù)語“MLS控制平面”在本文中可用于指硬件和/或軟件實體的集合,所述實體負責代表MLS的客戶端實現(xiàn)各種類型的機器學習功能并且負責外部MLS客戶端不一定可見的管理任務(wù),諸如確保提供足夠的一組資源以滿足客戶端需求、檢測和恢復(fù)故障、生成帳單等。術(shù)語“MLS數(shù)據(jù)平面”可指用于處理、傳送和存儲用于客戶端請求的操作的輸入數(shù)據(jù)以及處理、傳送和存儲由于客戶端請求的操作而產(chǎn)生的輸出數(shù)據(jù)的路徑和資源。

根據(jù)一些實施方案,可通過MLS編程接口生成、修改、讀取、執(zhí)行和/或查詢/搜索與機器學習任務(wù)相關(guān)的多個不同類型的實體。在一個實施方案中受支持的實體類型可尤其包括數(shù)據(jù)源(例如,可從其獲得用于機器學習的輸入記錄的位置或?qū)ο蟮拿枋龇?,通過分析輸入數(shù)據(jù)生成的統(tǒng)計組,配方(例如,將應(yīng)用到用于訓(xùn)練模型的輸入數(shù)據(jù)的特征處理變換描述符),處理計劃(例如,用于執(zhí)行各種機器學習任務(wù)的模板),模型(其還可被稱為預(yù)測器),將用于配方和/或模型的參數(shù)組,諸如預(yù)測或評估的模型執(zhí)行結(jié)果,用于將在流傳輸或?qū)崟r數(shù)據(jù)上使用的模型的在線訪問點,和/或別名(例如,已被“公布”用于如下所述的模型版本的指針)。這些實體類型的實例在本文中可被稱為機器學習制品,例如,特定配方或特定模型可每個被認為是制品。下文將更詳細地論述實體類型中的每一個。

MLS編程接口可使得用戶能夠提交對于給定機器學習工作流的若干相關(guān)任務(wù)的各自請求,諸如用于從數(shù)據(jù)源提取記錄、生成關(guān)于記錄的統(tǒng)計、特征處理、模型訓(xùn)練、預(yù)測等的任務(wù)。編程接口(諸如API)的給定調(diào)用可對應(yīng)于對關(guān)于所支持類型的實體的一個或多個實例的一個或多個操作或任務(wù)的請求。一些任務(wù)(和對應(yīng)的API)可涉及多種不同的實體類型,例如,請求創(chuàng)建數(shù)據(jù)源的API可導(dǎo)致數(shù)據(jù)源實體實例以及統(tǒng)計實體實例的生成。給定工作流的一些任務(wù)可取決于其他任務(wù)的結(jié)果。取決于數(shù)據(jù)的量和/或?qū)?zhí)行的處理的本質(zhì),一些任務(wù)可能花費幾小時或甚至幾天來完成。在至少一些實施方案中,可采取異步方法來調(diào)度任務(wù),其中MLS客戶端可提交取決于早前提交的任務(wù)的輸出的另外任務(wù),而無需等待早前提交的任務(wù)完成。例如,客戶端可在早前提交的任務(wù)T1完成之前提交對任務(wù)T2和T3的各自請求,即使T2的執(zhí)行至少部分地取決于T1的結(jié)果,并且T3的執(zhí)行至少部分地取決于T2的結(jié)果。在此類實施方案中,MLS可注意確保給定任務(wù)只有在其依賴性(如果存在任何依賴性的話)已滿足時被調(diào)度以執(zhí)行。

在一些實現(xiàn)中,作業(yè)對象的隊列或集合可用于存儲所請求任務(wù)的內(nèi)部表示。如本文所用的術(shù)語“任務(wù)”是指對應(yīng)于來自客戶端的給定請求的一組邏輯操作,而術(shù)語“作業(yè)”是指MLS內(nèi)的任務(wù)的內(nèi)部表示。在一些實施方案中,給定作業(yè)對象可表示將由于客戶端對特定編程接口的調(diào)用以及對其他作業(yè)的依賴性而執(zhí)行的操作。MLS可負責確保在發(fā)起對應(yīng)操作之前已滿足給定作業(yè)的依賴性。MLS還可在此類實施方案中負責為每個作業(yè)生成處理計劃、識別用于計劃的適當資源組(例如,CPU/核,存儲裝置或存儲器)、調(diào)度計劃的執(zhí)行、收集結(jié)果、提供/將結(jié)果保存在適當?shù)哪康牡?,并且至少在一些情況下用于向請求客戶端提供狀態(tài)更新或響應(yīng)。MLS還可在一些實施方案中負責確保一個客戶端的作業(yè)的執(zhí)行不影響或干擾其他客戶端的作業(yè)的執(zhí)行。在一些實施方案中,可支持任務(wù)之間的部分依賴性,例如在一系列任務(wù)(T1、T2、T3)中,T2可取決于T1的部分完成,并且T2可因此在T1完成之前調(diào)度。例如,T1可包括統(tǒng)計計算的兩個階段或遍數(shù)P1和P2,并且T2可能夠在階段P1完成時立即進行,而不需等待階段P2完成。T1的部分結(jié)果(例如,在階段P1期間計算的至少一些統(tǒng)計)在一些情況下可在其變得可用時立即提供給請求客戶端,而不用等待整個任務(wù)完成??稍谝恍崿F(xiàn)中使用包括對應(yīng)于來自MLS多個客戶端的請求的作業(yè)的單個共享隊列,而在其他實現(xiàn)中各自隊列可用于不同客戶端。在一些實現(xiàn)中,代替或除了隊列之外,可用于對對象集合建模的列表或其他數(shù)據(jù)結(jié)構(gòu)可用作將調(diào)度的作業(yè)的容器。在一些實施方案中,來自客戶端的單個API請求可導(dǎo)致MLS生成若干不同作業(yè)對象。在至少一個實施方案中,并非所有客戶端API請求可使用作業(yè)實現(xiàn),例如,相對短或輕質(zhì)任務(wù)可相對于對應(yīng)請求同步執(zhí)行,而不引發(fā)作業(yè)創(chuàng)建和異步作業(yè)調(diào)度的開銷。

由MLS實現(xiàn)的API可在一些實施方案中允許客戶端提交創(chuàng)建、查詢所支持各種實體類型中的至少一些的實例的屬性、讀取、更新/修改、搜索或刪除所支持各種實體類型中的至少一些的實例的請求。例如,對于實體類型“DataSource”,類似于“createDataSource”、“describeDataSource”(以獲得數(shù)據(jù)源的屬性的值)、“updateDataSource”、“searchForDataSource”以及“deleteDataSource”的各自API可由MLS支持。配方、模型等的類似組的API可受到支持。在各種實施方案中,一些實體類型還可具有用于執(zhí)行或運行實體的API,諸如“executeModel”或“executeRecipe”。API可被設(shè)計來在很大程度上易于學習和自我記錄(例如,使得使用給定API的正確方式對于非專家而言是明顯的),重點在于使得執(zhí)行最常見的任務(wù)簡單而會不使得執(zhí)行更復(fù)雜的任務(wù)變得太難。在至少一些實施方案中,可支持API的多個版本:例如,用于有線協(xié)議的一個版本(在聯(lián)網(wǎng)堆棧的應(yīng)用級處)、作為JavaTM庫或SDK(軟件開發(fā)工具包)的另一版本、作為Python庫的另一版本等等。在各種實現(xiàn)中,API請求可由客戶端使用HTTP(超文本傳送協(xié)議)、HTTPS(安全HTTP)、Javascript、XML等提交。

在一些實施方案中,一些機器學習模型可例如由一組模型開發(fā)者或數(shù)據(jù)科學家使用MLS API創(chuàng)建和訓(xùn)練,并且隨后公布由另一群用戶使用。為了便于公布模型由與僅僅模型的創(chuàng)建者相比更廣泛的觀眾使用,同時防止更廣泛的觀眾的非熟練成員對模型的潛在不適當修改,在此類實施方案中可支持“別名”實體類型。在一個實施方案中,別名可包括不可變名稱(例如,“SentimentAnalysisModel1”)和已經(jīng)創(chuàng)建并存儲在MLS制品儲存庫中的模型的指針(例如,“samModel-23adf-2013-12-13-08-06-01”,由MLS為模型生成的內(nèi)部標識符)。關(guān)于別名的不同權(quán)限組可被授予給模型開發(fā)者,而不是被授予給可獲得別名用于執(zhí)行的用戶。例如,在一個實現(xiàn)中,可允許業(yè)務(wù)分析師組的成員使用模型的別名名稱來運行模型,但是可不允許改變指針,而可允許模型開發(fā)者修改指針和/或修改基礎(chǔ)模型。對于業(yè)務(wù)分析師,通過別名暴露的機器學習模型可表示已通過專家驗證的“黑盒子”工具,其預(yù)期為各種輸入數(shù)據(jù)組提供有用的預(yù)測。業(yè)務(wù)分析師可能不會特別關(guān)心這種模型的內(nèi)部工作。模型開發(fā)者可繼續(xù)對各種算法、參數(shù)和/或輸入數(shù)據(jù)組進行實驗以獲得基礎(chǔ)模型的改進版本,并且可能夠?qū)⒅羔樃淖優(yōu)橹赶蛟鰪姲姹疽蕴岣哂蓸I(yè)務(wù)分析師獲得的預(yù)測的質(zhì)量。在至少一些實施方案中,為了將別名用戶與對基礎(chǔ)模型的改變隔離,MLS可保證(a)別名只能指向已經(jīng)被成功訓(xùn)練的模型以及(b)當別名指針改變時,原始模型和新模型(即,由舊指針和新指針指向的各自模型)消耗相同類型的輸入并提供相同類型的預(yù)測(例如,二進制分類,多類分類或回歸)。在一些實現(xiàn)中,如果為給定模型創(chuàng)建別名,則給定模型本身可被指定為不可修改的,例如,在這種實現(xiàn)中,在創(chuàng)建別名之后,由指針“samModel-23adf-2013-12-13-08-06-01”參考的模型可即使是它的開發(fā)者也不再被修改。關(guān)于模型開發(fā)和使用的角色和能力的這種完全分離可允許商業(yè)組織內(nèi)的更多觀眾受益于機器學習模型,而不僅僅是足以開發(fā)模型的技術(shù)人員。

關(guān)于對應(yīng)于給定作業(yè)的操作被映射到MLS服務(wù)器的方式,多個選擇可以是可用的。例如,可能在許多不同服務(wù)器之間劃分給定作業(yè)所需的工作以實現(xiàn)更好的性能。作為開發(fā)作業(yè)的處理計劃的一部分,在一些實施方案中,MLS可為作業(yè)選擇工作負載分布策略。在各種實施方案中為工作負載分布確定的參數(shù)可基于作業(yè)的性質(zhì)而不同。此類因素可包括例如(a)確定處理的遍數(shù),(b)確定并行化水平(例如,在將使用映射-縮減技術(shù)實現(xiàn)的作業(yè)的情況下的“映射器”和“縮減器”的數(shù)量)),(c)確定將用于終止作業(yè)的收斂準則,(d)確定在作業(yè)期間產(chǎn)生的中間數(shù)據(jù)的目標耐久性水平,或者(e)確定作業(yè)的資源容量限制(例如,可基于MLS服務(wù)器池中可用的服務(wù)器數(shù)量或客戶端的預(yù)算限制分配給作業(yè)的服務(wù)器的最大數(shù)量)。在選擇工作負載策略之后,可根據(jù)所述策略識別將使用的實際資源組,并且可在所識別資源上調(diào)度作業(yè)的操作。在一些實施方案中,可為MLS預(yù)先配置計算服務(wù)器和/或存儲服務(wù)器的池,并且可從這種池選擇給定作業(yè)的資源。在其他實施方案中,資源可從分配給代表其執(zhí)行作業(yè)的客戶端的池中選擇,例如,客戶端可在提交API請求之前從提供商網(wǎng)絡(luò)的計算服務(wù)獲取資源,并且可向MLS提供所獲取資源的指示以用于作業(yè)調(diào)度。如果客戶提供的代碼(例如,不必由MLS完全測試和/或不包括在MLS的庫中的代碼)被用于給定作業(yè),那么在一些實施方案中,可能需要客戶端獲取將用于作業(yè)的資源,使得運行客戶端提供的代碼的任何副作用可被限制到客戶端自己的資源,而不會潛在地影響其他客戶端。

示例性系統(tǒng)環(huán)境

圖1示出根據(jù)至少一些實施方案的可實現(xiàn)機器學習服務(wù)(MLS)的各種部件的示例性系統(tǒng)環(huán)境。在系統(tǒng)100中,MLS可實現(xiàn)一組編程接口161(例如,API、命令行工具、網(wǎng)頁或獨立GUI),所述編程接口可由客戶端164(如,由MLS的客戶擁有或分配給其的硬件或軟件實體)使用來提交對于多種機器學習任務(wù)或操作的請求111。MLS的管理或控制平面部分可包括MLS請求處理機180,所述MLS請求處理機接受客戶端請求111并且將對應(yīng)作業(yè)對象插入MLS作業(yè)隊列142中,如箭頭112所指示的。通常,MLS的控制平面可包括還可集體稱為MLS管理器的多個部件(包括請求處理機、工作負載分布策略選擇器、一個或多個作業(yè)調(diào)度器、度量收集器以及充當與其他服務(wù)的接口的模塊)。MLS的數(shù)據(jù)平面可包括例如服務(wù)器池185的至少一個子集,用于存儲輸入數(shù)據(jù)組、中間結(jié)果或最后結(jié)果的存儲裝置(其一些可以是MLS制品儲存庫的部分),以及用于傳送客戶端輸入數(shù)據(jù)和結(jié)果的網(wǎng)絡(luò)路徑。

如前所述,每個作業(yè)對象可指示將由于編程接口161的調(diào)用執(zhí)行的一個或多個操作,并且給定作業(yè)的調(diào)度可在一些情況下取決于早前生成的作業(yè)的操作的至少一個子集的成功完成。在至少一些實現(xiàn)中,作業(yè)隊列142可被管理為先進先出(FIFO)隊列,其中另外的約束是必須滿足給定作業(yè)的依賴性要求以便將所述作業(yè)從隊列移除。在一些實施方案中,代表若干不同客戶端創(chuàng)建的作業(yè)可放置在單個隊列中,而在其他實施方案中,可維持多個隊列(例如,使用的提供商網(wǎng)絡(luò)的每個數(shù)據(jù)中心中的一個隊列或者每MLS客戶一個隊列)。相對于請求111的提交異步地,在所描繪實施方案中,可將已滿足其依賴性要求的下一作業(yè)從作業(yè)隊列142移除,如箭頭113指示的,并且可為其識別包括工作負載分布策略的處理計劃。工作負載分布策略層175(其也可以是如前所述的MLS控制平面的部件)可確定作業(yè)的較低級操作將分布在一個或多個計算服務(wù)器(例如,從池185選擇的服務(wù)器)之間的方式,和/或針對作業(yè)分析或操縱的數(shù)據(jù)將分布在一個或多個存儲裝置或服務(wù)器之間的方式。在已生成處理計劃并且已識別將用于作業(yè)的適當資源組之后,可在資源上調(diào)度作業(yè)的操作。在一些實施方案中,一些作業(yè)的結(jié)果可作為MLS制品存儲在儲存庫120內(nèi),如箭頭142指示的。

在至少一個實施方案中,一些相對簡單類型的客戶端請求111可導(dǎo)致MLS請求處理機180對MLS制品儲存庫120內(nèi)的對應(yīng)制品的中間生成、檢索、存儲或修改(如箭頭141指示的)。因此,可能不是所有類型的客戶端請求需要在作業(yè)隊列142中插入作業(yè)對象。例如,在此類實施方案中,現(xiàn)存模型的別名的創(chuàng)建或移除可能不需要新作業(yè)的創(chuàng)建。在圖1中示出的實施方案中,客戶端164可能夠例如通過編程接口161發(fā)布讀取請求118來查看存儲在儲存庫120中的制品的至少一個子集。

客戶端請求111可指示可由MLS使用來執(zhí)行操作的一個或多個參數(shù),諸如數(shù)據(jù)源定義150、特征處理變換配方152或者將用于特定機器學習算法的參數(shù)154。在一些實施方案中,各自表示參數(shù)的制品也可存儲在儲存庫120中。可對應(yīng)于來自客戶端164的一系列API請求的一些機器學習工作流可包括MLS的輸入記錄處理機160從原始數(shù)據(jù)儲存庫130(例如,數(shù)據(jù)源定義150中指示的儲存庫)提取和凈化輸入數(shù)據(jù)記錄,如由箭頭114指示的。工作流的此第一部分可響應(yīng)于從客戶端164的特定API調(diào)用發(fā)起,并且可使用來自池185的第一組資源執(zhí)行。輸入記錄處理機可例如根據(jù)限定在MLS的I/O(輸入/輸出)庫中的一組功能將此類任務(wù)執(zhí)行為分裂數(shù)據(jù)記錄、對數(shù)據(jù)記錄采樣等等。輸入數(shù)據(jù)可包括數(shù)據(jù)記錄,所述數(shù)據(jù)記錄包括多種數(shù)據(jù)類型中的任一個的變型,例如像文本、數(shù)值數(shù)據(jù)類型(例如,實數(shù)或整數(shù))、布爾、二進制數(shù)據(jù)類型、分類數(shù)據(jù)類型、圖像處理數(shù)據(jù)類型、音頻處理數(shù)據(jù)類型、生物信息學數(shù)據(jù)類型、結(jié)構(gòu)化數(shù)據(jù)類型諸如符合非結(jié)構(gòu)化信息管理架構(gòu)(UIMA)的數(shù)據(jù)類型等等。在至少一些實施方案中,實現(xiàn)MLS的輸入數(shù)據(jù)可加密或壓縮,并且MLS輸入數(shù)據(jù)處理機械可必須在輸入數(shù)據(jù)記錄可用于機器學習任務(wù)之前執(zhí)行解密或解壓。在其中使用加密的一些實施方案中,MLS客戶端可必須向MLS提供解密元數(shù)據(jù)(例如,密鑰、密碼或其他憑證)以允許MLS解密數(shù)據(jù)記錄。類似地,使用的壓縮技術(shù)的指示在一些實現(xiàn)中可由客戶端提供以使得MLS能夠適當?shù)亟鈮狠斎霐?shù)據(jù)記錄??蓪⒂奢斎胗涗浱幚頇C產(chǎn)生的輸出供給到特征處理器162(如由箭頭115指示的),其中可根據(jù)配方152使用來自池185的另一組資源執(zhí)行162一組變換操作。多種特征處理方法中的任一個可取決于問題域使用:例如,通常用于計算機視覺問題的配方可不同于用于語音識別問題、自然語言處理等等的配方。特征處理變換的輸出116可進而用作所選擇機器學習算法166的輸入,其可根據(jù)算法參數(shù)154使用來自池185的又一組資源執(zhí)行。多種多樣的機器學習算法可由MLS庫自然支持,包括例如隨機森林算法、神經(jīng)網(wǎng)絡(luò)算法、隨機梯度下降算法等。在至少一個實施方案中,MLS可被設(shè)計為可擴展的,例如,客戶端可提供或注冊其自己的模塊(其可被限定為用戶限定的功能)以用于輸入記錄處理、特征處理或者用于實現(xiàn)除了由MLS自然支持之外的另外機器學習算法。在一些實施方案中,機器學習工作流的中間結(jié)果中的一些(例如,由輸入記錄處理機產(chǎn)生的匯總統(tǒng)計)可存儲在MLS制品儲存庫120中。

在圖1描繪的實施方案中,MLS可維持包含關(guān)于各種機器學習任務(wù)的最佳實踐的信息的知識庫122。條目可由MLS的各種控制平面部件例如基于從服務(wù)器池185收集的度量、由客戶端164提供的反饋等等添加到最佳實踐KB 122中??蛻舳?64可能夠通過編程接口161搜索并檢索KB條目,如由箭頭117指示的,并且可使用條目中包含的信息來為其請求提交選擇參數(shù)(諸如將使用的特定配方或算法)。在至少一些實施方案中,可由MLS基于針對各種類型的機器學習實踐隨時間識別的最佳實踐實現(xiàn)新的API(或者可選擇API參數(shù)的默認值)。

圖2示出根據(jù)至少一些實施方案的使用提供商網(wǎng)絡(luò)的多種網(wǎng)絡(luò)可訪問服務(wù)實現(xiàn)的機器學習服務(wù)的實例。實體(諸如公司或公共部門組織)所建立的用于將可通過互聯(lián)網(wǎng)和/或其他網(wǎng)絡(luò)訪問的一個或多個服務(wù)(諸如各種類型的多租戶和/或單租戶基于云的計算或存儲服務(wù))提供給一組分布式客戶端的網(wǎng)絡(luò)在本文中可稱為提供商網(wǎng)絡(luò)。給定提供商網(wǎng)絡(luò)可包括托管實現(xiàn)、配置和分布由提供商提供的基礎(chǔ)設(shè)施和服務(wù)所需的各種資源池的許多數(shù)據(jù)中心,諸如物理和/或虛擬化計算機服務(wù)器、存儲裝置、聯(lián)網(wǎng)設(shè)備等的集合。至少一些提供商網(wǎng)絡(luò)和對應(yīng)網(wǎng)絡(luò)可訪問服務(wù)可分別被稱為“公共云”和“公共云服務(wù)”。在大的提供商網(wǎng)絡(luò)內(nèi),一些數(shù)據(jù)中心可位于與其他數(shù)據(jù)中心不同的城市、州或國家,并且在一些實施方案中,分配給諸如MLS的給定服務(wù)的資源可分布在若干此類位置之間以便實現(xiàn)期望別的可用性級、故障恢復(fù)和性能,如以下參考圖3更詳細描述的。

在圖2示出的實施方案中,MLS利用提供商網(wǎng)絡(luò)202的存儲服務(wù)202、計算服務(wù)258以及數(shù)據(jù)庫服務(wù)255。在所描繪實施方案中,這些服務(wù)中的至少一些還可由其他客戶(例如,在提供商網(wǎng)絡(luò)處實現(xiàn)的其他服務(wù),和/或提供商網(wǎng)絡(luò)外面的外部客戶)并發(fā)使用,即,服務(wù)可不限于MLS使用。可建立MLS網(wǎng)關(guān)222來接收由客戶端164通過外部網(wǎng)絡(luò)206(諸如部分互聯(lián)網(wǎng))提交的客戶端請求210。MLS網(wǎng)關(guān)222可例如被配置有可用于訪問MLS的一組公共可訪問的IP(互聯(lián)網(wǎng)協(xié)議)地址。在一些實施方案中,客戶端請求可根據(jù)由MLS實現(xiàn)的代表性狀態(tài)傳送(REST)API格式化。在一個實施方案中,MLS客戶可被提供SDK(軟件開發(fā)工具包)204以用于本地安裝在客戶端計算裝置處,并且請求210可從按照SDK寫的程序內(nèi)提交。在各種實施方案中,客戶端還可或替代地從已分配給客戶端的計算服務(wù)262的計算服務(wù)器262訪問MLS功能。

存儲服務(wù)252可例如實現(xiàn)可用于創(chuàng)建并操縱任意大小的非結(jié)構(gòu)化數(shù)據(jù)對象的web服務(wù)接口。數(shù)據(jù)庫服務(wù)255可實現(xiàn)關(guān)系或非關(guān)系數(shù)據(jù)庫。在所描繪實施方案中,存儲服務(wù)252和/或數(shù)據(jù)庫服務(wù)255可扮演關(guān)于MLS的多種角色。在一些實施方案中,MLS可需要客戶端164為其機器學習任務(wù)定義提供商網(wǎng)絡(luò)邊界內(nèi)的數(shù)據(jù)源。在這種情境中,客戶端可首先將數(shù)據(jù)從外部數(shù)據(jù)源229傳送到提供商網(wǎng)絡(luò)內(nèi)的內(nèi)部數(shù)據(jù)源,諸如由存儲服務(wù)252管理的內(nèi)部數(shù)據(jù)源230A或由數(shù)據(jù)庫服務(wù)255管理的內(nèi)部數(shù)據(jù)源230B。在一些情況下,MLS的客戶端可已經(jīng)在使用提供商網(wǎng)絡(luò)服務(wù)用于其他應(yīng)用,并且保存在存儲服務(wù)252或數(shù)據(jù)庫服務(wù)255處的那些應(yīng)用的一些輸出(例如,web服務(wù)器日志或視頻文件)可充當MLS工作流的數(shù)據(jù)源。

響應(yīng)于至少一些客戶端請求210,MLS請求處理機180可生成對應(yīng)作業(yè)對象并將其存儲在作業(yè)隊列142內(nèi),如以上論述的。在圖2描繪的實施方案中,作業(yè)隊列142可本身由存儲在數(shù)據(jù)庫服務(wù)255處的數(shù)據(jù)庫對象(例如,表格)表示。作業(yè)調(diào)度器272可例如在檢查到已滿足作業(yè)的依賴性要求之后從隊列142檢索作業(yè),并且從計算服務(wù)258識別一個或多個服務(wù)器262以便執(zhí)行作業(yè)的計算操作。用于計算的輸入數(shù)據(jù)可由服務(wù)器262從內(nèi)部或外部數(shù)據(jù)源讀取。在各種實施方案中,MLS制品儲存庫220可在數(shù)據(jù)庫服務(wù)255內(nèi)(和/或在存儲服務(wù)252內(nèi))實現(xiàn)。在一些實施方案中,各種機器學習任務(wù)的中間或最后結(jié)果也可存儲在存儲服務(wù)252和/或數(shù)據(jù)庫服務(wù)255內(nèi)。

在一些實施方案中,提供商網(wǎng)絡(luò)的其他服務(wù),例如包括負載平衡服務(wù)、并行計算服務(wù)、自動化縮放服務(wù)和/或身份管理服務(wù),也可由MLS使用。負載平衡服務(wù)可例如用于在一組服務(wù)器262之間自動地分布計算負載。實現(xiàn)映射-縮減編程模型的并行計算服務(wù)可用于一些類型的機器學習任務(wù)。自動化縮放服務(wù)可用于添加或移除被分配給特定長久機器學習任務(wù)的服務(wù)器。在一些實施方案中,客戶端請求的授權(quán)和認證可在提供商網(wǎng)絡(luò)的身份管理服務(wù)的幫助下執(zhí)行。

在一些實施方案中,提供商網(wǎng)絡(luò)可被組織成多個地理區(qū)域,并且每個區(qū)域可包括一個或多個可用性容器,所述可用性容器還可稱為“可用性區(qū)”。可用性容器進而可包括一個或多個不同物理駐地或數(shù)據(jù)中心中的部分或全部,所述物理駐地或數(shù)據(jù)中心被構(gòu)建(例如,利用獨立基礎(chǔ)設(shè)施部件,諸如電力相關(guān)設(shè)備、冷卻設(shè)備和/或物理安全部件),其方式為使得給定可用性容器中的資源與其他可用性容器中的故障絕緣。一個可用性容器中的故障可不預(yù)期導(dǎo)致任何其他可用性容器中的故障;因此,給定物理主機或服務(wù)器的可用性配置文件意圖獨立于不同可用性容器中的其他主機或服務(wù)器的可用性配置文件。

除了其在不同可用性容器之間的分布之外,提供商網(wǎng)絡(luò)資源還可在一些實施方案中劃分為不同的安全容器。例如,雖然通常提供商網(wǎng)絡(luò)的各種類型的服務(wù)器可在不同客戶的應(yīng)用之間共享,但一些資源可限制于由單個客戶使用。安全策略可被限定為確保指定組的資源(其可包括由若干不同提供商網(wǎng)絡(luò)服務(wù)例如像計算服務(wù)、存儲服務(wù)或數(shù)據(jù)庫服務(wù)管理的資源)僅由指定客戶或指定組的客戶端使用。這種組的資源可在本文中被稱為“安全容器”或“安全組”。

圖3示出根據(jù)至少一些實施方案的用于機器學習服務(wù)的提供商網(wǎng)絡(luò)的多個可用性容器和安全容器的使用的實例。在所描繪實施方案中,提供商網(wǎng)絡(luò)302包括可用性容器366A、366B和366C,其每個可包括一個或多個數(shù)據(jù)中心的部分或全部。每個可用性容器366具有其自己組的MLS控制平面部件344:例如,分別位于可用性容器366A-366C中的控制平面部件344A-344C。給定可用性容器中的控制平面部件可包括例如,MLS請求處理機的實例、一個或多個MLS作業(yè)隊列、作業(yè)調(diào)度器、工作負載分布部件等等。不同可用性容器中的控制平面部件可按需要彼此通信,例如以便協(xié)調(diào)利用多于一個數(shù)據(jù)中心處的資源的任務(wù)。每個可用性容器366具有將以多租戶方式使用的MLS服務(wù)器的各自池322(例如,322A-322C)。服務(wù)器池322可每個用于執(zhí)行多種MLS操作,潛在地并發(fā)用于不同的MLS客戶端。相比之下,為了執(zhí)行需要更高安全性或隔離性級別的MLS任務(wù),可使用指定用于僅單個客戶端的工作負載的單租戶服務(wù)器池,諸如單租戶服務(wù)器池330A、330B和330C。池330A和330B屬于安全容器390A,而池330C是安全容器390B的部分。在所描繪實例中,安全容器390A可唯一地用于客戶C1(例如,以便運行客戶提供的機器學習模塊或由客戶指定的第三方模塊),而安全容器390B可唯一地用于不同的客戶C2。

在一些實施方案中,由MLS使用的至少一些資源可安排在跨可用性容器邊界的冗余組中,使得MLS任務(wù)可繼續(xù),盡管存在影響給定可用性容器的MLS資源的故障。例如,在一個實施方案中,可建立包括可用性容器366A中的至少一個服務(wù)器S1和可用性容器366B中的至少一個服務(wù)器S2的冗余組RG1,使得S1的MLS相關(guān)的工作負載可故障轉(zhuǎn)移到S2(或反之亦然)。對于長久的MLS任務(wù)(諸如涉及太字節(jié)標度或拍字節(jié)標度數(shù)據(jù)組的任務(wù)),給定MLS作業(yè)的狀態(tài)可周期性地檢查指向到持久性存儲裝置(例如,在還被設(shè)計來經(jīng)受單個可用性容器故障的提供商網(wǎng)絡(luò)的存儲服務(wù)或數(shù)據(jù)庫服務(wù)處),使得故障轉(zhuǎn)移服務(wù)器可從最近的檢查點恢復(fù)部分完成的任務(wù)而不是必須從頭開始。提供商網(wǎng)絡(luò)的存儲服務(wù)和/或數(shù)據(jù)庫服務(wù)可例如使用擦除編碼或其他復(fù)制技術(shù)固有地提供非常高的數(shù)據(jù)耐久性水平,因此數(shù)據(jù)組可不需要必須在發(fā)生故障的情況下復(fù)制。在一些實施方案中,MLS的客戶端可能夠為其輸入數(shù)據(jù)組、中間數(shù)據(jù)組、制品等指定期望的數(shù)據(jù)耐久性水平以及期望的計算服務(wù)器可用性水平。MLS控制平面可基于客戶端要求確定多個可用性容器中的資源是否應(yīng)該用于給定任務(wù)或給定客戶端??蛻舳吮仨殲楦鞣NMLS任務(wù)支付的計費金額可至少部分地基于其耐久性和可用性要求。在一些實施方案中,一些客戶端可向MLS控制平面表明它們僅希望使用給定可用性容器或給定安全容器內(nèi)的資源。對于某些類型的任務(wù),在長距離上傳輸數(shù)據(jù)組和/或結(jié)果的成本可能很高,或者傳輸所需時間可能很長,以致MLS可能將任務(wù)限制在提供商網(wǎng)絡(luò)的單個地理區(qū)域內(nèi)(或甚至在單個數(shù)據(jù)中心內(nèi))。

處理計劃

如前所述,在至少一些實施方案中,MLS控制平面可負責生成處理計劃,所述處理計劃對應(yīng)于響應(yīng)于客戶端請求生成的作業(yè)對象中的每一個。針對每個處理計劃,可隨后必須識別對應(yīng)組的資源以便例如基于為計劃選擇的工作負載分布策略、可用資源等等來執(zhí)行計劃。圖4示出根據(jù)至少一些實施方案的可在機器學習服務(wù)處生成的各種類型的處理計劃和對應(yīng)資源組的實例。

在所示出情境中,MLS作業(yè)隊列142包括五個作業(yè),每個對應(yīng)于客戶端對各自API的調(diào)用。作業(yè)J1(在隊列頭部處示出)響應(yīng)于API1的調(diào)用創(chuàng)建。作業(yè)J2至J5分別響應(yīng)于API2至API5的調(diào)用創(chuàng)建。對應(yīng)于作業(yè)J1,可生成輸入數(shù)據(jù)凈化計劃422,并且可使用資源組RS1執(zhí)行所述計劃。輸入數(shù)據(jù)凈化計劃可包括讀取并驗證指定數(shù)據(jù)源的內(nèi)容、填充遺漏值、識別并丟棄(或以其他方式響應(yīng)于)包含錯誤的輸入記錄等等的操作。在一些情況下,輸入數(shù)據(jù)還可在其可為了凈化目的被讀取之前必須被解壓、解密或以其他方式操縱。對應(yīng)于作業(yè)J2,統(tǒng)計生成計劃424可生成并隨后在資源組RS2上執(zhí)行。將為每個數(shù)據(jù)屬性生成的統(tǒng)計的類型(例如,數(shù)值屬性的平均值、最小值、最大值、標準偏差、分位數(shù)分倉等)以及生成統(tǒng)計的方式(例如,是否由數(shù)據(jù)凈化計劃422生成的所有記錄將用于統(tǒng)計,或者將使用子樣本)可在統(tǒng)計生成計劃中指示。在所描繪實施方案中,作業(yè)J2的執(zhí)行可取決于作業(yè)J1的完成,但導(dǎo)致作業(yè)J2的生成的客戶端請求可在J1完成之前已經(jīng)提交好了。

對應(yīng)于作業(yè)J3(和API3)的基于配方的特征處理計劃426可生成并且在資源組RS3上執(zhí)行。以下提供關(guān)于配方的句法和管理的另外細節(jié)。作業(yè)J4可導(dǎo)致模型訓(xùn)練計劃428的生成(其可進而涉及訓(xùn)練的若干迭代,例如具有不同的參數(shù)組)。模型訓(xùn)練可使用資源組RS4執(zhí)行。模型執(zhí)行計劃430可對應(yīng)于作業(yè)J5(由客戶端對API5的調(diào)用引起),并且模型可最終使用資源組RS5執(zhí)行。在一些實施方案中,相同組的資源(或重疊組的資源)可用于執(zhí)行客戶端的作業(yè)中的若干或全部,例如,資源組RS1–RS5可不必彼此不同。在至少一個實施方案中,客戶端可例如通過包括在API調(diào)用中的參數(shù)指示期望處理計劃的各種元素或?qū)傩?,并且MLS可將此類客戶端偏好考慮在內(nèi)。例如,對于特定統(tǒng)計生成作業(yè),客戶端可指示可使用25%的凈化的輸入記錄的隨機選擇的樣本,并且MLS可相應(yīng)地生成包括生成25%數(shù)據(jù)的隨機樣本的步驟的統(tǒng)計生成計劃。在其他情況下,MLS控制平面可被給予更多自由度來精確地決定將如何實現(xiàn)特定作業(yè),并且它可咨詢其最佳實踐的知識基礎(chǔ)來選擇將使用的參數(shù)。

作業(yè)調(diào)度

圖5示出根據(jù)至少一些實施方案的機器學習服務(wù)處的作業(yè)的異步調(diào)度的實例。在所描繪實例中,客戶端已調(diào)用四個MLS API,API1至API4,并且四個對應(yīng)作業(yè)對象J1至J4被創(chuàng)建并放置在作業(yè)隊列142中。時間線TL1、TL2和TL3從調(diào)用API的客戶端、創(chuàng)建作業(yè)并將所述作業(yè)插入隊列142中的請求處理機以及將作業(yè)從隊列移除并且在所選擇資源處調(diào)度作業(yè)的作業(yè)調(diào)度器的角度顯示事件序列。

在所描繪實施方案中,除了不存在對其他作業(yè)的依賴性的基本情況之外,可支持兩種類型的作業(yè)間依賴性。在稱為“完成依賴性”的一種情況下,一個作業(yè)Jp的執(zhí)行不能開始直到在另一作業(yè)Jq成功完成(例如,因為需要Jq的最后輸出作為Jp的輸入)。完全依賴性在圖5中由作業(yè)對象中示出的參數(shù)“dependsOnComplete”指示,例如,J2取決于J1完成執(zhí)行,并且J4取決于J2成功完成。在其他類型的依賴性中,一個作業(yè)Jp的執(zhí)行可在另一作業(yè)Jq的某一指定階段完成時立即開始。此后一種依賴性類型可被稱為“部分依賴性”,并且在圖5中由“dependsOnPartial”參數(shù)指示。例如,J3取決于J2的部分完成,并且J4取決于J3的部分完成。注意在一些實施方案中,為了簡化調(diào)度,此類基于階段的依賴性可通過將具有N個階段的作業(yè)分裂成N個更小作業(yè)從而將部分依賴性轉(zhuǎn)換為完全依賴性來處理。在所描繪實例中,J1不具有任一類型的依賴性。

如客戶端時間線TL1上指示的,可在時間段t0至t1內(nèi)調(diào)用API1至API4。即使由客戶端請求的一些操作取決于對應(yīng)于早前調(diào)用的API的操作的完成,在所描繪實施方案中,MLS可允許客戶端早于早前調(diào)用的API的作業(yè)的處理提交依賴操作請求。在至少一些實施方案中,由客戶端指定在API調(diào)用中的參數(shù)可指示作業(yè)間依賴性。例如,在一個實現(xiàn)中,響應(yīng)于API1,客戶端可被提供有J1的作業(yè)標識符,并且所述作業(yè)標識符可被包括為API2中的參數(shù)以指示需要API1的結(jié)果來執(zhí)行對應(yīng)于API2的操作。如請求處理機的時間線TL2指示的,在API調(diào)用之后不久,對應(yīng)于每個API調(diào)用的作業(yè)可創(chuàng)建并排隊。因此,所有四個作業(yè)在t1之后短時間內(nèi)已生成并放置在作業(yè)隊列142內(nèi)。

如作業(yè)調(diào)度器時間線TL3中示出的,作業(yè)J1可在時間t2處調(diào)度以用于執(zhí)行。在所描繪實施方案中,J1插入在隊列142(t0之后不久)中與J1的調(diào)度之間的延遲可因為多個原因發(fā)生,例如,因為在隊列142中在J1之前可能存在其他作業(yè),或者因為為J1生成處理計劃并且識別將用于J1的資源要花費一些時間,或者因為在t2之前沒有足夠的資源可用。J1的執(zhí)行一直持續(xù)到t3。在所描繪實施方案中,當J1完成時,(a)客戶端得到通知以及(b)J2被調(diào)度以用于執(zhí)行。如J2的dependsOnComplete參數(shù)值指示的,J2取決于J1的完成,并且J2的執(zhí)行可因此在t3之后開始,即使在t3之前J2的處理計劃已準備好并且J2的資源組已經(jīng)可用。

在所描繪實例中,如J3的“dependsOnPartial”參數(shù)值指示的,J3可在J2的工作的指定階段或子集完成時開始。在所示出實例中,J2的部分(J3取決于其)在時間t4處完成,并且J3的執(zhí)行因此在t4處開始(與J2的剩余部分的執(zhí)行并行)。在所描繪實例中,客戶端可在時間t4處得到關(guān)于J2的部分完成的通知(例如,J2的完成階段的結(jié)果可提供給客戶端)。

在時間t5處,J3的部分(J4取決于其)可完成,并且客戶端可相應(yīng)地得到通知。然而,J4還取決于J2的完成,因此J4不能開始直到在J2在t6處完成。J3繼續(xù)執(zhí)行直到t8。J4在早于t8的t7處完成。在所描繪示例性情境中,客戶端得到關(guān)于對應(yīng)于各自API調(diào)用API1–API4的作業(yè)中的每一個的完成的通知。在一些實施方案中,作業(yè)之間的部分依賴性可不受支持,相反,如前所述,在一些情況下,此類依賴性可通過將多階段作業(yè)分裂成更小作業(yè)來轉(zhuǎn)換成完全依賴性。在至少一個實現(xiàn)中,代替或除了在對應(yīng)于API調(diào)用的作業(yè)完成時(或在作業(yè)的階段完成時)得到通知之外,客戶端可能夠向MLS提交查詢以確定對應(yīng)于各種API調(diào)用的操作的狀態(tài)(或完成的程度)。例如,可實現(xiàn)MLS作業(yè)監(jiān)控網(wǎng)頁,使得客戶端能夠查看其請求的進程(例如,通過每個作業(yè)的“完成比例”指示符)、預(yù)期完成時間等等。在一些實施方案中,客戶端可使用輪詢機制來確定作業(yè)的進程或完成。

MLS制品

圖6示出根據(jù)至少一些實施方案的可使用機器學習服務(wù)生成和存儲的示例性制品(artifact)。通常,MLS制品可包括可由于MLS編程接口的調(diào)用以持久方式存儲的對象中的任一個。在一些實現(xiàn)中,傳遞到MLS的一些API參數(shù)(例如,配方的文本版本)可存儲為制品。如所示,在所描繪實施方案中,MLS制品601可尤其包括數(shù)據(jù)源602、統(tǒng)計603、特征處理配方606、模型預(yù)測608、評估610、可修改或開發(fā)中模型630以及已公布模型或別名640。在一些實現(xiàn)中,MLS可為所示出至少一些類型的制品的每個實例生成各自的唯一標識符并且將標識符提供給客戶端??蛻舳丝呻S后使用標識符來指代制品(例如,在隨后API調(diào)用中,在狀態(tài)查詢中等等)。

創(chuàng)建數(shù)據(jù)源制品602的客戶端請求可包括例如數(shù)據(jù)記錄可從其讀取的地址或位置的指示,以及數(shù)據(jù)記錄的格式或模式的某一指示。例如,可提供HTTP GET請求可指向其以檢索數(shù)據(jù)記錄的源URI(通用資源識別符)的指示、提供商網(wǎng)絡(luò)存儲服務(wù)處的存儲對象的地址或者數(shù)據(jù)庫表格標識符。在一些實現(xiàn)中,可通過單獨逗號分隔變量(csv)文件來指示格式(例如,數(shù)據(jù)記錄的字段或列的序列和類型)。在一些實施方案中,MLS可能夠推導(dǎo)出創(chuàng)建數(shù)據(jù)源制品所需要的地址和/或格式信息的至少一部分,例如基于客戶端的標識符,可能推斷客戶端的數(shù)據(jù)源的根目錄或者根URI,并且基于對前幾個記錄的分析,可能推導(dǎo)出模式的列的至少數(shù)據(jù)類型。在一些實施方案中,創(chuàng)建數(shù)據(jù)源的客戶端請求還可包括例如通過使用MLS的I/O庫對數(shù)據(jù)記錄采樣或者分裂所述數(shù)據(jù)記錄來重新安排原始輸入數(shù)據(jù)的請求。當請求數(shù)據(jù)源的創(chuàng)建時,在一些實現(xiàn)中,還可需要客戶端提供可由MLS使用來訪問數(shù)據(jù)記錄的安全憑證。

在一些實施方案中,如以下關(guān)于圖7更詳細描述的,可為數(shù)據(jù)源的數(shù)據(jù)記錄自動生成至少一些統(tǒng)計603。在其他實施方案中,MLS還可或替代地使得客戶端能夠例如通過createStatistics(dataSourceID、statisticsDescriptor)請求的等效物明確地請求各種類型的統(tǒng)計的生成,其中客戶端指示將為指定數(shù)據(jù)源生成的統(tǒng)計的類型。生成的統(tǒng)計制品的類型可基于輸入記錄變量的數(shù)據(jù)類型變化,例如,對于數(shù)值變量,可生成平均值、中值、最小值、最大值、標準偏差、分位數(shù)倉、空值數(shù)或“不適用”值等。在至少一些實施方案中,還可自動或按需要生成諸如相關(guān)性的交叉變量統(tǒng)計。

在一些實施方案中,包括特征處理變換指令的配方606可由客戶端提供(或者選自可從MLS配方集合訪問的一組可用配方)。在此類實施方案中,允許客戶端限定多組變量、分配、對其他制品諸如模型的依賴性以及變換輸出的配方語言可由MLS支持,如以下更詳細描述的。在一些實現(xiàn)中,以文本形式提交的配方可編譯成可執(zhí)行版本并且在各種數(shù)據(jù)組上重新使用。

在所描繪實施方案中,可生成并存儲表示機器學習模型或預(yù)測因子的至少兩種類型的制品。經(jīng)常,開發(fā)并精修模型的過程可花費很長時間,因為開發(fā)者可試圖使用各種數(shù)據(jù)組和各種參數(shù)提高預(yù)測的準確度。例如,可能在幾周或幾個月內(nèi)改進一些模型。在此類情境中,可能值得使得其他用戶(例如,業(yè)務(wù)分析師)利用模型的一個版本,而模型開發(fā)者繼續(xù)生成其他改進的版本。因此,在一些實施方案中,表示模型的制品可屬于兩種分類中的一種:可修改模型630以及已公布的模型或別名640。別名可包括模型的別名名稱或標識符以及指針(例如,在所描繪實施方案中,別名640A指向模型630B,并且別名640B指向模型630D)。如本文所用,短語“公布模型”指的是使得模型的特定版本可由一組用戶參考別名名稱或標識符執(zhí)行。在一些情況下,可能不允許所述組用戶中的至少一些修改模型或別名。在一些實施方案中,非專家用戶678可被授予對別名的讀取和執(zhí)行權(quán)限,而模型開發(fā)者676還可被允許修改模型630(和/或別名640的指針)。在一些實施方案中,可向別名用戶提供一組保證:例如,一旦別名公布,別名(以及由別名指代的基礎(chǔ)模型)的輸入和輸出的格式將不改變,并且模型開發(fā)者已充分測試并驗證別名指向的基礎(chǔ)模型。另外,在此類實施方案中,可關(guān)于別名強制多個其他邏輯約束。例如,如果為以在線模式使用的模型創(chuàng)建別名(以下關(guān)于圖8更詳細地描述模型使用模式),那么MLS可保證指向的模型保持在線(即,模型不能卸載)。在一些實現(xiàn)中,可在當前處于生產(chǎn)模式的別名與處于內(nèi)部使用或測試模式的別名之間進行區(qū)分,并且MLS可確保不為處于生產(chǎn)模式的別名刪除或卸載基礎(chǔ)模型。在一些實施方案中,當創(chuàng)建在線模式模型的別名時,可為別名確定預(yù)測/評估的最小吞吐率,并且MLS可確保分配給模型的資源可滿足最小吞吐率。在模型開發(fā)者676相對于已為其創(chuàng)建別名640的模型630的較舊版本提高模型630的較新版本的準確率和/或性能特性之后,他們可能切換別名的指針使得其現(xiàn)在指向改進的版本。因此,非專家用戶可不必以他們使用別名的方式改變?nèi)魏问虑?,同時受益于改進。在一些實施方案中,別名用戶可能夠提交查詢來獲悉基礎(chǔ)模型最后改變的時間,或者可在其請求別名的執(zhí)行時得到基礎(chǔ)模型自最后執(zhí)行以來已改變的通知。

在一些實施方案中,模型執(zhí)行的結(jié)果諸如預(yù)測608(在其中因變量的實際值未知的情境中模型為因變量預(yù)測的值)以及模型評估610(當模型的預(yù)測可與因變量的已知值進行比較時計算的模型準確度的測量)也可由MLS存儲為制品。注意,在隨后描述中,術(shù)語“因變量”、“輸出變量”和“目標變量”可互換使用,并且術(shù)語“自變量”和“輸入變量”也可互換使用。盡管在至少一些類型的機器學習技術(shù)中,因變量值可被假定為取決于一個或多個自變量的值,但這不意味著暗示自變量中的任一個必須統(tǒng)計獨立于其他自變量中的任一個。除了圖6中示出的制品類型之外,在一些實施方案中也可支持其他制品類型,例如,在一些實施方案中,表示可用于流傳輸數(shù)據(jù)上的實時模型執(zhí)行(與靜態(tài)數(shù)據(jù)組上的成批模式執(zhí)行相反)的網(wǎng)絡(luò)端點的對象可存儲為制品,并且在其他實施方案中,客戶端會話日志(例如,給定會話期間客戶端與MLS之間的所有交互的記錄)可存儲為制品。

在一些實施方案中,MLS可支持相關(guān)作業(yè)的循環(huán)調(diào)度。例如,客戶端可創(chuàng)建諸如模型的制品,并且可希望相同模型在指定時間點處針對不同輸入數(shù)據(jù)組被重新訓(xùn)練和/或重新執(zhí)行(例如,對于訓(xùn)練或預(yù)測迭代中的每一個、使用資源的相同配置)。在一些情況下,可明確指定時間點(例如,通過客戶端請求“每天在11:00、15:00和19:00在數(shù)據(jù)源DS1處的當前可用數(shù)據(jù)組上重新運行模型M1”的等效物)。在其他情況下,客戶端可指示迭代將調(diào)度的條件(例如,通過客戶端請求“無論何時下一組1000000個新紀錄變得可從數(shù)據(jù)源DS1獲得重新運行模型M1”的等效物)。對于每個循環(huán)訓(xùn)練或執(zhí)行迭代,可將各自作業(yè)放置在MLS作業(yè)隊列中。在一些實施方案中,MLS可實現(xiàn)一組編程接口,實現(xiàn)此類調(diào)度循環(huán)操作。使用這種接口,客戶端可指定將用于每個迭代的一組模型/別名/配方制品(或相同基礎(chǔ)制品的各自版本),和/或?qū)⑹褂玫馁Y源配置。在一些實施方案中,此類編程接口可被稱為“流水線API”。除了圖6中示出的制品類型之外,在一些實施方案中,流水線制品可存儲在MLS制品儲存庫中,其中流水線制品的每個實例表示通過此類API請求的一組命名循環(huán)操作。在一個實施方案中,在提供商網(wǎng)絡(luò)處實現(xiàn)的單獨管理的數(shù)據(jù)流水線服務(wù)可結(jié)合MLS使用以便支持此類循環(huán)操作。

如上所述,在一些實施方案中,在數(shù)據(jù)源創(chuàng)建時,MLS可自動地生成統(tǒng)計。圖7示出根據(jù)至少一些實施方案的響應(yīng)于實例化數(shù)據(jù)源的客戶端請求的統(tǒng)計的自動生成的實例。如所示,客戶端764通過MLS API 761向MLS控制平面780提交數(shù)據(jù)源創(chuàng)建請求712。創(chuàng)建請求可指定數(shù)據(jù)記錄可從其檢索的地址或位置,以及任選地指示數(shù)據(jù)記錄的列或字段的模式或格式文件。

響應(yīng)于接收請求712,MLS控制平面780可生成數(shù)據(jù)源制品702并且將其存儲在MLS制品儲存庫中。另外,并且在一些情況下取決于MLS處的資源的當前可用性,在所描繪實施方案中,MLS還可發(fā)起一個或多個統(tǒng)計對象730的生成,即使客戶端請求并未明確地請求此類統(tǒng)計。在各種實施方案中,多個不同類型的統(tǒng)計的任何組合可以兩種模式中的一種自動地生成。例如,對于非常大的數(shù)據(jù)組,可在第一階段獲得基于子樣本(例如,大數(shù)據(jù)組的隨機選擇的子集)的初始組統(tǒng)計763,而從整個數(shù)據(jù)組導(dǎo)出的全樣本統(tǒng)計764的生成可推遲到第二階段。這種針對統(tǒng)計生成的多階段方法可實現(xiàn)例如以便允許客戶端在第一階段相當快速地獲得數(shù)據(jù)組值的粗略或近似概要,使得客戶端可開始計劃隨后的機器學習工作流步驟而無需等待完整數(shù)據(jù)組的統(tǒng)計分析。

如所示,可在任一階段獲得各種不同統(tǒng)計。對于數(shù)值變量,基本統(tǒng)計765可包括平均值、中值、最小值、最大值以及標準偏差。數(shù)值變量還可被分倉(分類到一組范圍,諸如四分位數(shù)或五分位數(shù));此類倉767可用于構(gòu)造可顯示給客戶端的直方圖。取決于變量分布的性質(zhì),可選擇線性或?qū)?shù)倉邊界。在一些實施方案中,也可計算不同變量之間的相關(guān)性768。在至少一個實施方案中,MLS可利用自動生成的統(tǒng)計(諸如相關(guān)值)來識別可具有比其他變量大的預(yù)測能力的候選變量組769。例如,為了避免某些類的模型的過擬合,可僅推薦彼此非常強烈地相關(guān)的一組變量中的一個變量作為對模型的輸入的候選者。在此類情境中,客戶端可能夠避免探索其他變量的重要性所需的時間和努力。在其中給定數(shù)據(jù)記錄可具有幾百或甚至幾千變量的許多問題域中,預(yù)期具有更大預(yù)測有效性的候選變量的這種自動選擇可對MLS的客戶端來說非常有價值。

圖8示出根據(jù)至少一些實施方案的可在機器學習服務(wù)處支持的若干模型使用模式。模型使用模式可廣義地分為三類:成批模式、在線或?qū)崟r模式以及局部模式。在成批模式中,給定模型可在靜態(tài)數(shù)據(jù)記錄組上運行。在實時模式中,網(wǎng)絡(luò)端點(例如,IP地址)可被分配為指定模型的輸入數(shù)據(jù)記錄將提交到的目的地,并且模型預(yù)測可在記錄被接收時在流傳輸數(shù)據(jù)記錄組上生成。在局部模式中,客戶端可接收已在MLS處訓(xùn)練和驗證的指定模型的可執(zhí)行表示,并且客戶端可在其選擇的計算裝置上運行模型(例如,在位于客戶端網(wǎng)絡(luò)中而不是在實現(xiàn)MLS的提供商網(wǎng)絡(luò)中的裝置處)。

在所描繪實施方案中,MLS的客戶端164可通過編程接口861向MLS控制平面180提交模型執(zhí)行請求812。模型執(zhí)行請求可指定執(zhí)行模式(成批、在線或局部),將用于模型運行的輸入數(shù)據(jù)(在一些情況下可使用指定數(shù)據(jù)源或配方產(chǎn)生),期望的輸出的類型(例如,預(yù)測或評估),和/或任選的參數(shù)(諸如期望模型質(zhì)量目標、將用于在線預(yù)測的最小輸入記錄組大小,等等)。作為響應(yīng),MLS可為模型執(zhí)行生成計劃并且選擇適當資源來實現(xiàn)計劃。在至少一些實施方案中,可在如前所述的接收執(zhí)行請求812時生成作業(yè)對象,指示對其他對象的任何依賴性(諸如用于特征處理的配方的執(zhí)行),并且可將作業(yè)放置在隊列中。針對成批模式865,例如,可識別一個或多個服務(wù)器以運行模型。針對在線模式867,可安裝模型(例如,配置有網(wǎng)絡(luò)地址),數(shù)據(jù)記錄可流傳輸?shù)剿瞿P?,并且可從所述模型檢索包括預(yù)測868和/或評估869的結(jié)果。在至少一個實施方案中,客戶端可任選地為將以在線模式實例化的模型指定預(yù)期工作負載水平,并且可根據(jù)預(yù)期工作負載水平選擇將為模型部署的所述組提供商網(wǎng)絡(luò)資源。例如,客戶端可通過模型執(zhí)行/創(chuàng)建請求的參數(shù)指示在每個1百萬記錄的數(shù)據(jù)組上預(yù)期每天高達100個預(yù)測請求,并且可選擇為模型選擇的服務(wù)器來處理指定的請求速率。針對局部模式,MLS可封裝模型的可執(zhí)行局部版本843(其中,可已在執(zhí)行請求812中指定將提供的可執(zhí)行類型的細節(jié),諸如字節(jié)代碼的類型或者模型將在其上運行的硬件架構(gòu))并且將局部模型傳輸?shù)娇蛻舳?。在一些實施方案中,可僅支持所示出執(zhí)行模式的子集。在一些實現(xiàn)中,并非執(zhí)行模式和輸出類型的所有組合可被支持,例如,盡管可在一個實現(xiàn)中支持在線模式的預(yù)測,但可不支持在線模式的評估。

用于實現(xiàn)MLS操作的方法

圖9a和圖9b是示出根據(jù)至少一些實施方案的可在支持機器學習作業(yè)的異步調(diào)度的機器學習服務(wù)處執(zhí)行的操作的方面的流程圖。如圖9a的元素901所示,MLS可通過編程接口(諸如API、命令行工具、網(wǎng)頁或定制GUI)從客戶端接收對屬于MLS的一組所支持實體類型的實體執(zhí)行特定操作的請求。在所描繪實施方案中,實體類型可包括例如,數(shù)據(jù)源、統(tǒng)計、特征處理配方、模型、別名、預(yù)測和/或評估。所請求操作可包括例如,創(chuàng)建、讀取(或描述屬性)、修改/更新屬性、執(zhí)行、搜索或刪除操作。在一些實施方案中,并非所有操作類型可應(yīng)用到所有實體類型,例如,可能不能“執(zhí)行”數(shù)據(jù)源。在至少一些實現(xiàn)中,請求可由客戶端加密或封裝,并且MLS可必須使用適當密鑰和/或憑證來提取請求的內(nèi)容。

可接下來根據(jù)MLS的各種規(guī)則或策略驗證請求(元素904)。例如,根據(jù)安全策略,可檢查授予請求客戶端的權(quán)限、角色或能力以便確保授權(quán)客戶端執(zhí)行所請求操作。可針對一些類型的請求檢查請求本身的句法和/或?qū)ο笾T如作為請求參數(shù)傳遞的配方。在一些情況下,也可必須檢查請求中指示的一個或多個數(shù)據(jù)變量的類型。

如果請求傳遞驗證檢查,那么可做出關(guān)于是否將為請求創(chuàng)建作業(yè)對象的決定。如前所述,在一些情況下,所需工作量可足夠小使得MLS可只能夠同步或“串聯(lián)”地執(zhí)行所請求操作,而不是創(chuàng)建作業(yè)對象并將其插入隊列中以便異步執(zhí)行(至少在這樣的情境中:其中已經(jīng)滿足請求的前提條件或依賴性,并且足夠資源可用于MLS以完成所請求工作)。如果對請求的分析指示需要作業(yè)(如元素907中檢測的),那么可生成作業(yè)對象,指示將在MLS處執(zhí)行的較低級操作的性質(zhì)以及對其他作業(yè)的任何依賴性,并且可將作業(yè)對象放置在隊列中(元素913)。在一些實現(xiàn)中,可通知請求客戶端已接受請求以用于執(zhí)行(例如,通過向客戶端指示已排隊作業(yè)以用于稍后執(zhí)行)。在一些情況下,客戶端可提交另一編程請求而無需等待排隊的作業(yè)完成(或甚至開始)。如果作業(yè)不具有尚未滿足的任何依賴性,并且滿足用于立即或串聯(lián)執(zhí)行的其他準則(也如元素907中確定的),那么可在不創(chuàng)建作業(yè)對象的情況下執(zhí)行所請求操作(元素910)并且可任選地將結(jié)果提供給請求客戶端。可針對通過MLS編程接口接收的每個請求執(zhí)行對應(yīng)于元素901-913的操作。在將特定作業(yè)Jk放置在隊列中之后的某一點,可將Jk識別(例如,通過MLS控制平面的作業(yè)調(diào)度器部件)為將實現(xiàn)的下一個作業(yè)(圖9b的元素951)。為了識別將實現(xiàn)的下一個作業(yè),調(diào)度器可例如從隊列的頭部(尚未執(zhí)行的最早插入的作業(yè))開始并且搜索其依賴性(如果指定了任何)已得到滿足的作業(yè)。

除了圖9a的元素904中指示的驗證種類之外,在一些實施方案中,MLS可在各種其他階段執(zhí)行驗證,例如,帶著總體目標:(a)當發(fā)現(xiàn)特定請求無效時盡快告知客戶端,以及(b)避免MLS資源在不可能成功的請求上的浪費。如圖9b的元素952所示,可對元素951中識別的作業(yè)Jk執(zhí)行一種或多種類型的驗證檢查。例如,在一個實施方案中,每個客戶端可具有對可應(yīng)用到其作業(yè)的資源的配額或限制(諸如可并發(fā)用于給定客戶的所有作業(yè)或者用于客戶的任何給定作業(yè)的服務(wù)器的最大數(shù)量)。在一些實現(xiàn)中,可為若干不同資源類型(例如,CPU/核、存儲器、盤、網(wǎng)絡(luò)帶寬等)中的每一個設(shè)置各自配額。在此類情境中,作業(yè)調(diào)度器可負責驗證將代表其運行作業(yè)Jk的客戶端的一個或多個配額未耗盡。如果配額已耗盡,那么作業(yè)的執(zhí)行可推遲直到客戶端的資源中的至少一些釋放(例如,由于代表同一客戶端執(zhí)行的其他作業(yè)的完成)。此類約束限制可有助于限制任何給定客戶端獨占共享的MLS資源的能力,并且還有助于最小化無意錯誤或惡意代碼的負面后果。除了配額檢查之外,至少一些作業(yè)可需要其他類型的運行時間驗證,例如,可必須對涉及特征處理的作業(yè)的輸入數(shù)據(jù)組執(zhí)行數(shù)據(jù)類型檢查,或者MLS可必須驗證輸入數(shù)據(jù)組大小在可接受界限內(nèi)。因此,在至少一些實施方案中,可同步地(在接收到請求時,如與圖9a的元素904中指示的)以及異步地(如圖9b的元素952中指示的)驗證客戶端請求。可針對Jk識別工作負載分布策略和處理計劃,例如,將使用的處理遍數(shù)或階段的數(shù)量、將使用的并行度、將用于完成Jk的迭代收斂準則(元素954)。在一些實施方案中,當生成處理計劃時可考慮多個另外因素,諸如客戶端預(yù)算約束(如果有的話)、客戶端的數(shù)據(jù)耐久性需要、客戶端的性能目標、安全需要(諸如以隔離而不是多租戶模式運行第三方代碼或客戶端提供的代碼的需要)。

根據(jù)所選擇分布策略和處理計劃,可針對Jk識別一組資源(元素957)。可例如從MLS管理的共享池和/或從客戶分配的或客戶擁有的池選擇資源(其可包括計算服務(wù)器或集群、存儲裝置等)??呻S后在所識別資源上執(zhí)行JK的操作(元素960),并且可在操作完成時(或者在阻止操作的完成的故障的情況下)任選地通知代表其創(chuàng)建Jk的客戶端。

冪等編程接口

由MLS客戶端請求的一些類型的操作可以是資源密集的。例如,取決于部署的資源組和使用的并行度,攝入太字節(jié)標度的數(shù)據(jù)組(例如,響應(yīng)于創(chuàng)建數(shù)據(jù)存儲區(qū)的客戶端請求)或者生成關(guān)于這種數(shù)據(jù)組的統(tǒng)計可花費幾小時或幾天。假定在至少一些實施方案中處理客戶端請求的異步方式,客戶端可有時多次結(jié)束提交同一請求。在一些情況下,因為客戶端不知道先前提交是否被接受(例如,因為客戶端未能注意到先前提交已被接受的指示,或者因為這種指示丟失了),此類多個提交可發(fā)生。在其他情況下,因為客戶端已假設(shè)由于已經(jīng)很長時間未提供完成所請求任務(wù)的預(yù)期結(jié)果,先前請求肯定失敗了,所以可接收復(fù)本請求。如果,響應(yīng)于這種復(fù)本提交,MLS實際上調(diào)度另一潛在大作業(yè),那么可不必要地部署資源,并且客戶端可能在一些情況下為僅旨在服務(wù)一次的請求付費兩次。因此,為了避免此類有問題的情境,在至少一個實施方案中,由MLS支持的編程接口中的一個或多個可被設(shè)計為冪等的,使得同一客戶端對復(fù)本請求的重新提交不具有負面后果。

圖10a是示出根據(jù)至少一些實施方案的可在支持一組冪等編程接口的機器學習服務(wù)處執(zhí)行的操作的方面的流程圖。在圖10a中,創(chuàng)建接口(例如,類似于“createDataSource”或“createModel”的API)用作冪等編程接口的實例。盡管冪等性可特別適用于涉及創(chuàng)建諸如數(shù)據(jù)源和模型的制品的編程接口,但在各種實施方案中,冪等接口還可被支持用于其他類型的操作(例如,刪除或執(zhí)行)。如元素1001所示,可通過諸如特定API的編程接口在MLS處從客戶端C1接收創(chuàng)建實體類型ET1的新實例的請求。請求可指示由客戶端選擇的將用于新實例的標識符ID1。在一些實現(xiàn)中,客戶端可需要指定實例標識符,并且可如以下描述使用標識符來檢測復(fù)本請求。(允許客戶端選擇標識符可具有另外優(yōu)點:客戶端可能夠向?qū)嶓w實例分配比由MLS分配的名稱更有意義的名稱)。MLS可生成包括在客戶端對編程接口的調(diào)用中的輸入?yún)?shù)的表示IPR1(元素1004)。例如,輸入?yún)?shù)組可供應(yīng)作為對所選擇散列函數(shù)的輸入,并且散列函數(shù)的輸出可保存為IPR1。

在圖10a描繪的實施方案中,對于所生成制品中的至少一些,MLS儲存庫可存儲對應(yīng)的實例標識符、輸入?yún)?shù)表示以及客戶端標識符(即,請求制品的創(chuàng)建的客戶端的標識符)。MLS可例如通過查找制品儲存庫來檢查具有實例標識符ID1和客戶端標識符C1的實體類型ET1的實例是否已經(jīng)存在于儲存庫中。如果未發(fā)現(xiàn)這種實例(如元素1007中檢測到的),那么可將具有標識符ID1、輸入?yún)?shù)表示IPR1和客戶端標識符C1的類型ET1的新實例插入到儲存庫中(元素1007)。另外,取決于實例的類型,可將作業(yè)對象添加到作業(yè)隊列以便執(zhí)行對應(yīng)于客戶端請求的另外操作,諸如讀取/攝入數(shù)據(jù)組、生成一組統(tǒng)計、執(zhí)行特征處理、執(zhí)行模型等。在所描繪實施方案中,可生成對客戶端的請求的成功響應(yīng)(元素1016)。(注意,在一些實現(xiàn)中,成功響應(yīng)可以是隱含的,例如,錯誤消息的不存在可充當成功的隱含指示符)。

如果,在對應(yīng)于元素1007的操作中,在儲存庫中發(fā)現(xiàn)具有相同實例標識符ID1和客戶端標識符C1的預(yù)先存在的實例,那么MLS可檢查預(yù)先存在的實例的輸入?yún)?shù)表示是否也與IPR1匹配(元素1013)。如果輸入?yún)?shù)表示也匹配,那么MLS可假設(shè)客戶端的請求是(無害的)復(fù)本,并且沒有新的工作需要執(zhí)行。因此,如果發(fā)現(xiàn)這種復(fù)本請求,那么MLS還可向客戶端指示成功(隱含地或明確地)(元素1016)。因此,如果客戶端已經(jīng)無意地重新提交同一請求,那么可避免新作業(yè)對象的創(chuàng)建和相關(guān)聯(lián)資源使用。在一些實現(xiàn)中,如果使用所述方法發(fā)現(xiàn)客戶端請求是對早前請求的精確復(fù)本,那么可向客戶端提供請求雖然未被指定為錯誤但實際上被識別為復(fù)本的指示。如果預(yù)先存在的實例的輸入?yún)?shù)表示不匹配客戶端的請求的輸入?yún)?shù)表示,那么可將錯誤消息返回到客戶端(元素1019),例如指示存在具有相同標識符的同一實體類型ET1的預(yù)先存在的實例。在一些實現(xiàn)中,代替需要客戶端提交標識符,可使用復(fù)本檢測的不同方法,諸如使用客戶端請求的持久日志,或者使用表示(請求、客戶端)組合的簽名。

最佳實踐

構(gòu)件可由大量客戶針對各種使用情況使用的機器學習服務(wù)的一個優(yōu)點是:隨時間可變得可能識別例如關(guān)于哪些技術(shù)最佳適于數(shù)據(jù)凈化、采樣或子集提取、特征處理、預(yù)測等等的最佳實踐。圖10b是示出根據(jù)至少一些實施方案的可在機器學習服務(wù)處執(zhí)行以收集并散布關(guān)于與不同問題域相關(guān)的最佳實踐的信息的操作的方面的流程圖。如元素1051所示,可將由于客戶端請求而在MLS處生成的至少一些制品(諸如配方和模型)基于問題域分類成組,例如,一些制品可用于財務(wù)分析,其他制品用于計算機視覺應(yīng)用,其他制品用于生物信息學等等。在不同實施方案中可基于各種因素執(zhí)行這種分類,例如,基于所使用的算法類型、輸入和輸出變量的名稱、客戶提供的信息、客戶的身份等等。

在一些實施方案中,MLS控制平面可包括從用于機器學習操作的各階段的資源收集性能和其他度量的一組監(jiān)控代理(元素1054)。例如,使用具有C1的CPU評級和M1的存儲器大小的服務(wù)器來構(gòu)建隨機森林的N個樹所花費的處理時間量可被收集為度量,或者根據(jù)在數(shù)據(jù)庫服務(wù)處從數(shù)據(jù)源研究的數(shù)據(jù)屬性的數(shù)量計算一組統(tǒng)計所花費的時間量可被收集為度量。MLS還可收集評級/分級或者來自MLS客戶端的關(guān)于用于不同問題域的各種方法或模型的有效性或質(zhì)量的其他類型的反饋。在一些實施方案中,還可收集模型預(yù)測有效性的定量測量,諸如用于各種分類器的接收器操作特性(ROC)曲線下的區(qū)域。在一個實施方案中,關(guān)于質(zhì)量的一些信息可由MLS推導(dǎo)出或者隱含地觀察到,而不是通過明確客戶端反饋獲得,例如,通過跟蹤在模型最終用于測試數(shù)據(jù)組之前在訓(xùn)練迭代期間改變的參數(shù)組。在一些實施方案中,客戶端可能夠決定其與MLS的交互是否可用于最佳實踐知識基礎(chǔ)增強,例如,一些客戶端可能不希望其定制技術(shù)變得由其他人廣泛使用,并且可因此決定退出與MLS或與其他用戶共享與此類技術(shù)相關(guān)聯(lián)的度量。

基于所收集度量和/或反饋,可識別機器學習工作流的各階段的各自最佳實踐組(元素1057)。最佳實踐中的一些可特定于特定問題域,而其他可以是更一般適用的,并且可因此跨問題域適用。識別的最佳實踐的表示或總結(jié)可存儲在MLS的知識庫中??稍试SMLS用戶訪問(例如,通過瀏覽器或搜索工具)知識庫(元素1060)。MLS還可將最佳實踐并入暴露于用戶的編程接口中,例如,通過引入更可能導(dǎo)致用戶利用最佳實踐的新API,通過基于最佳實踐選擇默認參數(shù),通過改變下拉式菜單中的參數(shù)選擇呈現(xiàn)的次序,使得與最佳實踐相關(guān)聯(lián)的選擇變得更可能被選擇等等。在一些實施方案中,MLS可提供可幫助客戶端實現(xiàn)其機器學習目標的各種工具和/或模板。例如,基于web的富文本編輯器或可安裝的集成開發(fā)環(huán)境(IDE)可由MLS提供,其為配方、模型等提供模板和開發(fā)指南諸如自動句法錯誤校正。在至少一個實施方案中,MLS可給用戶提供證明在過去有用(例如,對于解決類似問題的其他客戶端)的候選模型或?qū)嵗?。在一些實現(xiàn)中,MLS還可維持由客戶端(或者由與同一客戶賬戶相關(guān)聯(lián)的一組用戶)跨多個交互會話執(zhí)行的操作的歷史,使得客戶端能夠容易對同一客戶端早前生成的制品進行實驗或者采用所述制品。

特征處理配方

圖11示出根據(jù)至少一些實施方案的與機器學習服務(wù)處的數(shù)據(jù)變換的配方的使用相關(guān)聯(lián)的示例性交互。在所描繪實施方案中,由MLS定義的配方語言使得用戶能夠容易且簡明地指定將對指定數(shù)據(jù)記錄組執(zhí)行的變換以便準備用于模型訓(xùn)練和預(yù)測的記錄。配方語言可使得用戶能夠創(chuàng)建一個或多個變換將應(yīng)用到的定制變量組,定義中間變量以及對其他制品的依賴性等等,如以下更詳細描述的。在一個示例性使用流中,原始數(shù)據(jù)記錄可先從數(shù)據(jù)源提取(例如,在MLS I/O庫的幫助下由如圖1中示出的輸入記錄處理機),根據(jù)一個或多個配方處理,并隨后用作用于訓(xùn)練或預(yù)測的輸入。在另一使用流中,配方可本身并入有訓(xùn)練和/或預(yù)測步驟(例如,可在配方內(nèi)指定一個或多個目的地模型)。配方可應(yīng)用到已經(jīng)分裂成訓(xùn)練子集和測試子集的數(shù)據(jù)記錄,或者應(yīng)用到分裂成訓(xùn)練子集和測試子集之前的整個數(shù)據(jù)組。在至少一些實施方案中,給定配方可在若干不同數(shù)據(jù)組上重新使用,潛在用于各種不同機器學習問題域。MLS的配方管理部件可實現(xiàn)容易理解的復(fù)合模型(其中一個模型的輸出可用作另一個的輸入,或者可在其中執(zhí)行迭代預(yù)測)的生成,以及數(shù)據(jù)變換的最佳實踐的共享和重新使用。在至少一個實施方案中,可在單個配方內(nèi)指示將以給定輸入數(shù)據(jù)組開始執(zhí)行的連續(xù)變換的流水線。在一個實施方案中,MLS可針對一個或多個配方執(zhí)行參數(shù)優(yōu)化,例如為了識別將用于特定機器學習算法的更有用的輸入變量組,MLS可自動地改變此類變換性質(zhì)為將包括在n元語法中的分位數(shù)倉的大小或根詞的數(shù)量。

在一些實施方案中,變換配方的文本版本1101可作為客戶端在“createRecipe”MLS API調(diào)用中的參數(shù)傳遞。如所示,在所描繪實施方案中,配方驗證器1104可針對詞法正確性檢查配方的文本版本1101,例如以便確保其符合由MLS定義的語法1151,并且配方包括以預(yù)先定義的次序安排的一個或多個部分(圖12中示出并且以下描述配方的預(yù)期結(jié)構(gòu)的實例)。在至少一些實施方案中,由MLS接收的配方的版本不需要一定是文本版本;相反,例如,客戶端可提供預(yù)處理的或部分組合的版本(其可在一些情況下為二進制格式而不是純文本)。在一個實施方案中,MLS可提供可用于準備配方的工具,例如,為基于web的配方編輯工具或可下載集成開發(fā)環(huán)境(IDE)的形式。這種配方準備工具可例如提供句法和/或參數(shù)選擇指南、自動地校正句法錯誤和/或在配方(文本形式或二進制形式)發(fā)送到MLS服務(wù)之前在客戶端側(cè)對配方文本執(zhí)行至少一定程度的預(yù)處理。配方可使用在一個或多個庫1152中定義的多種不同變換函數(shù)或方法,諸如形成變量、n元語法(對于文本數(shù)據(jù))、分位數(shù)倉(對于數(shù)值數(shù)據(jù)變量)等的笛卡爾乘積的函數(shù)。在至少一些實施方案中,用于配方驗證的庫可包括第三方或客戶端提供的函數(shù)或庫,表示已并入到MLS中以增強服務(wù)的核或自然支持的特征處理能力的定制特征處理擴展。配方驗證器1104還可負責驗證以本文版本1101調(diào)用的函數(shù)(a)在庫1152的支持函數(shù)之間,并且(b)與適當簽名一起使用(例如,函數(shù)的輸入?yún)?shù)與庫中指定的參數(shù)的類型和序列匹配)。在一些實施方案中,MLS客戶可將另外函數(shù)注冊為庫的部分,例如,使得客戶“用戶定義函數(shù)”(UDF)也可包括在配方中。在一些實施方案中,希望利用UDF的客戶可需要提供可用于實現(xiàn)UDF的模塊的指示(例如,以源代碼、可執(zhí)行代碼或?qū)δK的源或可執(zhí)行版本可由MLS從其獲得的第三方實體的引用的形式)。在一些實現(xiàn)中,多種不同編程語言和/或執(zhí)行環(huán)境可支持用于UDF,例如,包括JavaTM、Python等。在所描繪實施方案中,配方的文本版本可轉(zhuǎn)換成可執(zhí)行版本1107。配方驗證器1104可被認為是類似于用于配方語言的編譯器,其中配方的文本版本類似于源代碼并且可執(zhí)行版本類似于從源代碼導(dǎo)出的編譯的二進制或字節(jié)代碼。在一些實施方案中,可執(zhí)行版本還可被稱為特征處理計劃。在所描繪實施方案中,配方的文本版本1101和可執(zhí)行版本1107可存儲在MLS制品儲存庫120內(nèi)。

在一些實施方案中,例如響應(yīng)于指定輸入數(shù)據(jù)組的“executeRecipe”API的等效物,MLS的運行時間配方管理器1110可負責配方執(zhí)行的調(diào)度。在所描繪實施方案中,示出同一配方R1的具有各自輸入數(shù)據(jù)組IDS1和IDS2的兩個執(zhí)行請求1171A和1171B。輸入數(shù)據(jù)組可包括數(shù)據(jù)記錄,所述數(shù)據(jù)記錄的變量可包括各種數(shù)據(jù)類型中的任一個的實例,例如像文本、數(shù)值數(shù)據(jù)類型(例如,實數(shù)或整數(shù))、布爾、二進制數(shù)據(jù)類型、分類數(shù)據(jù)類型、圖像處理數(shù)據(jù)類型、音頻處理數(shù)據(jù)類型、生物信息學數(shù)據(jù)類型、結(jié)構(gòu)化數(shù)據(jù)類型諸如符合非結(jié)構(gòu)化信息管理架構(gòu)(UIMA)的特定數(shù)據(jù)類型等等。在每種情況下,運行時間配方管理器1110可檢索(或生成)R1的可執(zhí)行版本;執(zhí)行一組運行時間驗證(例如,以便確保允許請求者執(zhí)行配方、輸入數(shù)據(jù)似乎是正確或預(yù)期格式等等);并且最終調(diào)度R1的變換操作在各自資源組1175A和1175B處的執(zhí)行。在至少一些情況下,將用于變換的特定庫或函數(shù)可基于輸入記錄的數(shù)據(jù)類型選擇,例如,可必須使用為特定結(jié)構(gòu)化數(shù)據(jù)類型定義的對應(yīng)庫的函數(shù)或方法處理所述數(shù)據(jù)類型的實例。在所描繪實施方案中,各自輸出1185A和1185B可通過配方R1在IDS1和IDS2上的應(yīng)用產(chǎn)生。取決于配方R1的細節(jié),輸出1185A可表示將用作模型的輸入的數(shù)據(jù)或者模型的結(jié)果(諸如預(yù)測或評估)。在至少一些實施方案中,可相對于執(zhí)行請求異步地應(yīng)用配方,例如,如前所述,可響應(yīng)于執(zhí)行請求將作業(yè)對象插入到作業(yè)隊列中,并且可稍后調(diào)度執(zhí)行。在一些情況下,配方的執(zhí)行可取決于其他作業(yè),例如,取決于與輸入記錄處理(解密、解壓、數(shù)據(jù)組分裂成訓(xùn)練組和測試組等)相關(guān)聯(lián)的作業(yè)的完成。在一些實施方案中,還可或替代地使用異步地調(diào)度的作業(yè)管理文本配方的驗證和/或編譯。

在一些實施方案中,可接收指定文本格式的配方并且還包括在指定數(shù)據(jù)組上執(zhí)行配方的請求的客戶端請求,即,圖11中示出的靜態(tài)分析步驟和執(zhí)行步驟可不一定需要單獨客戶端請求。在至少一些實施方案中,客戶端可簡單地指示將在數(shù)據(jù)組上執(zhí)行的例如選擇由MLS以編程方式暴露的配方集合的現(xiàn)存配方,并且甚至可能不必生成配方的文本版本。在一個實施方案中,MLS的配方管理部件可檢查輸入數(shù)據(jù)變量組和/或配方中指示的變換的輸出,自動地識別可具有比其他變量或輸出組高的預(yù)測能力的變量或輸出組,并且將此類組的指示提供給客戶端。

圖12示出根據(jù)至少一些實施方案的配方的示例性部分。在所描繪實施方案中,配方1200的文本可包括四個單獨部分,組定義部分1201、分配部分1204、依賴性部分1207以及輸出/目的地部分1210。在一些實現(xiàn)中,僅輸出/目的地部分可以是強制性的;在其他實現(xiàn)中,部分的其他組合也可或相反是強制性的。在至少一個實施方案中,如果配方中包括圖12中示出的四個部分類型中的多于一個,那么可必須以指定次序安排所述部分。在至少一個實施方案中,可在與輸出部分不同的部分中指示目的地模型(即,配方變換的輸出將提供到的機器學習模型)。

在組定義部分1201中,如由名稱暗示的,客戶端可定義輸入數(shù)據(jù)變量組,例如以便使得進一步更容易在配方中指示相同變換操作將應(yīng)用到一組所有成員變量。在至少一些實施方案中,配方語言可定義一組基線組,諸如ALL_INPUT(包括輸入數(shù)據(jù)組中的所有變量),ALL_TEXT(數(shù)據(jù)組中的所有文本變量),ALL_NUMERIC(數(shù)據(jù)組中的所有整數(shù)和實數(shù)值變量),ALL_CATEGORICAL(數(shù)據(jù)組中的所有分類變量)以及ALL_BOOLEAN(數(shù)據(jù)組中的所有布爾變量,例如可僅具有值“真”或“假”(在一些實現(xiàn)中可分別表示為“1”和“0”)的變量)。在一些實施方案中,配方語言可允許用戶在定義組時改變或“鑄造”一些變量的類型,例如,似乎包括任意文本但僅預(yù)期僅具有一組離散值的變量,諸如一年中的月份、一周中的幾天的名稱或國家的州,可被轉(zhuǎn)換為分類變量,而不是被視為通用文本變量。在組定義部分內(nèi),方法/函數(shù)“group”和“group_remove”(或者表示組操作的其他類似函數(shù))可在定義新的組時用于組合或排除變量。在至少一些實施方案中,給定組定義可指代另一組定義。在圖12中示出的示例性部分內(nèi)容1250中,定義了三個組:LONGTEXT、SPECIAL_TEXT和BOOLCAT。LONGTEXT包括輸入數(shù)據(jù)中的所有文本變量,除了稱為“title”和“subject”的變量之外。SPECIAL_TEXT包括文本變量“subject”和“title”。BOOLCAT包括輸入數(shù)據(jù)中的所有布爾變量和分類變量。注意至少在一些實施方案中,示出的示例性組定義可應(yīng)用到任何數(shù)據(jù)組,即使數(shù)據(jù)組不包含“subject”變量、“title”變量、任何布爾變量、任何分類變量或甚至任何文本變量。如果在輸入數(shù)據(jù)組中不存在文本變量,那么在這種實施方案中,例如LONGTEXT和SPECIAL_TEXT將為相對于所述特定輸入數(shù)據(jù)組的不具有成員的空組。

可在分配部分1204中定義可在配方1200的其他部分中引用的中間變量。在示例性分配部分中,稱為“binage”的變量根據(jù)應(yīng)用到輸入數(shù)據(jù)中的“age”變量的“quantile_bin”函數(shù)(其在所描繪實施方案中被假設(shè)為包括在配方語言的預(yù)定義庫函數(shù)之間)定義,具有“30”的倉計數(shù)。稱為“countrygender”的變量被定義為輸入數(shù)據(jù)組的兩個其他變量“country”和“gender”的笛卡爾乘積,其中“cartesian”函數(shù)被假設(shè)為預(yù)定義庫的部分。在依賴性部分1207中,用戶可指示配方取決于其的其他制品(諸如在所示出實例中被引用為“clustermodel”的具有MLS制品標識符“pr-23872-28347-alksdjf”的模型)。例如,在一些情況下,在配方的依賴性部分中引用的模型的輸出可被攝入為配方的輸入,或者引用的模型的輸出的一部分可包括在配方的輸出中。在所描繪實施方案中,例如,在調(diào)度基于配方的作業(yè)時,MLS作業(yè)調(diào)度器可使用依賴性部分。在不同實施方案中,可在給定配方中指示對各種制品中的任一個的依賴性,包括其他配方、別名、統(tǒng)計組等等。

在示例性輸出部分1210中,多種變換應(yīng)用到輸入數(shù)據(jù)變量、變量組、配方的早前部分中定義的中間變量或者依賴性部分中識別的制品的輸出。變換的數(shù)據(jù)被提供為對識別為“model1”的不同模型的輸入。在移除標點(通過“無標點”函數(shù))并且將變量的文本轉(zhuǎn)換為小寫(通過“l(fā)owercase”函數(shù))之后,獲得包括在LONGTEXT組中的變量的詞頻率逆向文檔頻率(tfidf)統(tǒng)計。tfidf測量可旨在反映單詞在文檔集合或語料庫內(nèi)的相對重要性;給定單詞的tfidf值通常與單詞在文檔中的出現(xiàn)次數(shù)成比例,總體上被單詞在集合中的頻率抵消。tfidf、無標點和小寫函數(shù)都被假設(shè)為在配方的語言庫中定義。類似地,輸出部分中指示的其他變換使用osb(正交稀疏二元)庫函數(shù)、用于對數(shù)值進行分倉或分組的quantile_bin庫函數(shù)以及笛卡爾乘積函數(shù)。部分1210中指示的一些輸出可不一定涉及本身的變換:例如,輸出中可簡單地包括輸入數(shù)據(jù)組中的BOOLCAT組的變量,并且也可在配方的輸出中沒有任何變化的情況下包括“clusternodel”的“clusterNum”輸出變量。

在至少一些實施方案中,輸出部分中列出的條目可用于隱含地丟棄未列出的那些輸入數(shù)據(jù)變量。因此,例如,如果輸入數(shù)據(jù)組包括“taxable-income”數(shù)值變量,那么由于輸出部分中不直接或間接引用它,在所示示例中可簡單地將其丟棄。圖12中示出的配方句法和逐部分組織可與其他實施方案中的不同。在不同實施方案中可支持多種多樣的函數(shù)和變換類型(其至少一些可與圖12中示出的特定實例不同)。例如,在一些實施方案中,可以配方語言支持日期/時間相關(guān)函數(shù)“dayofweek”、“hourofday”、“month”等。在至少一個實施方案中,可支持數(shù)學函數(shù),諸如“sqrt”(平方根)、“l(fā)og”(對數(shù))等。在一些實施方案中,可支持用于歸一化數(shù)值的函數(shù)(例如,將值從范圍{–N1至+N2}映射到范圍{0至1})或者填充遺漏值(例如,“replace_missing_with_mean(ALL_NUMERIC)”)。在一個實施方案中,可允許單個表達式內(nèi)對一個或多個先前定義的組變量、中間變量或依賴性的多次引用:例如,配方片段“replace_missing(ALL_NUMERIC,mean(ALL_NUMERIC))”可被認為是有效的。在至少一些實施方案中,也可在配方內(nèi)允許涉及諸如“'income'+10*'capital_gains'”的變量的組合的數(shù)學表達式。在一些配方中,注釋可由分隔符指示諸如“//”。

配方驗證

圖13示出根據(jù)至少一些實施方案的可用于定義可接受配方句法的示例性語法。所示的語法可根據(jù)解析器生成器的要求來格式化,諸如ANTLR(用于語言識別的另一工具)的版本。如所示,語法1320定義在配方內(nèi)使用的表達式的句法規(guī)則。假定類似于圖13所示語法的語法,諸如ANTLR的工具可生成可從配方的文本版本構(gòu)建抽象句法樹的解析器,并且MLS控制平面可隨后將抽象句法樹轉(zhuǎn)換成處理計劃。圖14中示出使用語法1320生成的示例性樹。

在圖13中示出的示例性語法“MLS-Recipe”中,表達式“expr”可以是“BAREID”、“QUOTEDID”、“NUMBER”或“functioncall”中的一個,其中在語法中進一步定義后四個實體中的每一個。BAREID以大寫或小寫字母開始,并且可包括數(shù)值。QUOTEDID可包括單引號內(nèi)的任何文本。NUMBER包括具有或不具有指數(shù)的實數(shù)值,以及整數(shù)。functioncall必須包括函數(shù)名(BAREID),后面跟圓括號內(nèi)的零個或多個參數(shù)。當根據(jù)語法1320生成抽象句法樹時,忽略空格和注釋,如以“->skip”結(jié)尾的行所指示的。

圖14示出根據(jù)至少一些實施方案的可針對配方的一部分生成的抽象句法樹的實例。在所描繪實施方案中,可根據(jù)語法1320(或某一其他類似語法)將包括文本“cartesian(binage、quantile_bin(‘hours-per-week’、10))”的示例性配方片段1410翻譯成抽象句法樹1420。如所示,“cartesian”和“quantile_bin”被識別為函數(shù)調(diào)用,每個具有兩個參數(shù)。在所示配方片段的句法分析期間,配方驗證器1104可確保傳遞給“cartesian”和“quantile_bin”的參數(shù)的數(shù)量和次序與那些函數(shù)的定義匹配,并且在配方內(nèi)定義變量“binage”和“hours_per_week”。如果不滿足這些條件中的任一個,那么可向提交該配方的客戶端提供指示“cartesian”片段所在的配方內(nèi)的行號的錯誤消息。假設(shè)總體上在配方中沒有發(fā)現(xiàn)驗證錯誤,可生成配方的可執(zhí)行版本,其中部分1430可表示片段1410。

域特定的配方集合

在至少一些實施方案中,MLS的一些用戶可以不是特征處理的專家,至少在他們開始使用MLS時的時間段期間。因此,MLS可允許用戶訪問先前已發(fā)現(xiàn)可用于各種問題域中的配方集合。圖15示出根據(jù)至少一些實施方案的可用于搜索可從機器學習服務(wù)獲得的域特定配方的編程接口的實例。如所示,網(wǎng)頁1501可針對配方搜索實現(xiàn),其包括向MLS用戶提供高級指南的消息區(qū)域1504以及配方可用于其的多個問題域。在所描繪實例中,MLS客戶可使用復(fù)選框來從問題域欺詐檢測1507、情感分析1509、圖像分析1511、基因組分析1513或者語音識別1515中選擇。用戶還可使用所描繪網(wǎng)頁中的搜索項文本框1517搜索與其他問題域相關(guān)聯(lián)的配方。

對于所選擇問題域(圖像分析),網(wǎng)頁1501上示出到五個示例性配方的鏈接:用于面部識別的配方FR1和FR2、用于腦瘤識別的BTR1、用于海洋碎片識別的ODA1以及用于天文事件檢測的AED1。用戶可通過點擊配方名稱獲得關(guān)于給定配方的另外細節(jié):例如,在一些實施方案中,可提供配方做了什么的描述,可提供由其他用戶提交的配方的評級/分級,配方上的由其他用戶提交的注釋等等。如果用戶發(fā)現(xiàn)他們希望使用的配方(未改變或者在修改配方之后),那么他們可能夠下載配方的文本版本,例如,用于包括在隨后MLS API調(diào)用中。在所描繪實施方案中,如消息區(qū)域1504中指示的,用戶還可能夠提交其自己的配方以便包括在由MLS暴露的集合中。在至少一些實現(xiàn)中,MLS可在允許其他用戶訪問之前對所提交配方執(zhí)行某一組的驗證步驟(例如,通過檢查配方針對各種輸入數(shù)據(jù)組產(chǎn)生有意義的輸出)。

針對配方變換的自動參數(shù)調(diào)諧

針對許多類型的特征處理變換操作,諸如為數(shù)值數(shù)據(jù)屬性創(chuàng)建分位數(shù)倉、生成n元語法或者將稀疏或罕見單詞從正分析的文檔移除,可通常必須選擇參數(shù),諸如倉的大小/邊界、n元語法的長度、稀疏單詞的移除準則等等。此類參數(shù)(在一些環(huán)境中還可被稱為超參數(shù))的值可對使用配方輸出進行的預(yù)測具有重要影響。代替需要MLS用戶手動地提交對每個參數(shù)設(shè)置或參數(shù)設(shè)置的每個組合的請求,在一些實施方案中,MLS可支持自動的參數(shù)探索。圖16示出根據(jù)至少一些實施方案的機器學習服務(wù)的實例,所述機器學習服務(wù)代表客戶端自動探索配方變換的參數(shù)設(shè)置的范圍,并且基于此類探索的結(jié)果選擇可接受或推薦的參數(shù)設(shè)置。

在所描繪實施方案中,MLS客戶端164可提交包括參數(shù)自動調(diào)諧設(shè)置1606的配方執(zhí)行請求1601。例如,客戶端164可指示輸入數(shù)據(jù)中的一個或多個變量的分位數(shù)分倉的倉大小/邊界應(yīng)由服務(wù)選擇,或者n元語法中的單詞的數(shù)量應(yīng)由服務(wù)選擇。在一些實施方案中,可為各種集群相關(guān)的參數(shù)請求參數(shù)探索和/或自動調(diào)諧,諸如給定數(shù)據(jù)組應(yīng)被分類成的集群的數(shù)量、集群邊界閾值(例如,兩個地理位置隔多遠可被認為是一組“附近”位置的部分)等等。在一些實施方案中,各種類型的圖像處理參數(shù)設(shè)置可以是用于自動調(diào)諧的候選者,諸如在特征處理期間給定圖像應(yīng)被剪裁、旋轉(zhuǎn)或縮放的程度。自動參數(shù)探索還可用于文本文檔的向量表示的選擇維度值(例如,根據(jù)潛在狄利克雷分布(LDA)技術(shù))或者其他自然語言處理技術(shù)。在一些情況下,客戶端還可指示將用于終止參數(shù)值空間的探索例如達到可接受參數(shù)值的準則。在至少一些實施方案中,客戶端可被給予讓MLS決定將使用的接受準則的選項,這種選項可特別適用于非專家用戶。在一個實現(xiàn)中,客戶端可指示參數(shù)探索的資源或執(zhí)行時間上的限制。在至少一個實現(xiàn)中,至少一些輸出變換的自動調(diào)諧設(shè)置的默認設(shè)置可以是“真”的,例如,客戶端可必須明確地指示將不執(zhí)行自動調(diào)諧以便阻止MLS針對變換探索參數(shù)空間。

響應(yīng)于將針對給定變換操作執(zhí)行自動調(diào)諧的確定,MLS(例如,配方運行時間管理器1640的參數(shù)探索器1642)可為變換選擇參數(shù)調(diào)諧范圍1654(例如,是否應(yīng)針對特定數(shù)值變量探索10、20、30和40的分位數(shù)倉計數(shù))。在不同實施方案中,可基于各種因素選擇參數(shù)范圍,包括MLS已知的用于類似變換的最佳實踐、資源約束、輸入數(shù)據(jù)組的大小等等。在將調(diào)諧用于若干變換操作的組合的各自參數(shù)(例如,如果針對多于一個變量自動調(diào)諧分位數(shù)分倉)的情境中,參數(shù)探索器1642可為每個參數(shù)選擇一組各自值以便將嘗試的組合的數(shù)量保持在閾值下。已確定了參數(shù)值的范圍,參數(shù)探索器可針對每個參數(shù)值或組合執(zhí)行變換迭代,在至少一些實現(xiàn)中將迭代結(jié)果1656存儲在臨時存儲裝置中?;跒椴煌瑓?shù)值生成的結(jié)果組以及使用的優(yōu)化準則,至少一個參數(shù)值可被識別為對于每個參數(shù)都可接受。在所描繪實施方案中,結(jié)果通知1667可提供給客戶端,指示正自動調(diào)諧的不同參數(shù)的已接受或推薦的一個或多個參數(shù)值1668。對于一些參數(shù),并不總是直截了當?shù)貙⑻囟▍?shù)值識別為單個最佳值,例如,因為若干不同值可導(dǎo)致類似結(jié)果。在一些實施方案中,代替為這種參數(shù)識別單個最優(yōu)值,MLS可相反為給定參數(shù)P識別一組候選值{V1、V2、V3…Vn},使得所述組的所有值提供具有類似質(zhì)量的結(jié)果。所述組候選值可提供給客戶端,使得客戶端能夠選擇將使用的特定參數(shù)值,并且客戶端可通知MLS關(guān)于選擇的參數(shù)值。在一個實施方案中,客戶端可僅提供有使用接受的/優(yōu)化的參數(shù)值獲得的配方變換的結(jié)果的指示,而不一定被告知關(guān)于使用的參數(shù)值設(shè)置。

通過可重新使用的配方支持特征處理的方法

圖17是示出根據(jù)至少一些實施方案的可在支持用于數(shù)據(jù)組變換的可重新使用配方的機器學習服務(wù)處執(zhí)行的操作的方面的流程圖。如元素1701所示,可在提供商網(wǎng)絡(luò)處實現(xiàn)的網(wǎng)絡(luò)可訪問MLS處接收用于將對輸入數(shù)據(jù)組執(zhí)行的變換操作的配方的文本版本的指示。在一個實施方案中,配方文本可包括根據(jù)由MLS定義的配方語言的四個部分中的一個或多個:組定義部分、分配部分、依賴性部分以及輸出/目的地部分(還可簡單地被稱為輸出部分)。在一些實施方案中,一個或多個部分(諸如輸出部分)可以是強制性的。通常,輸出/目的地部分可指示將對在配方的其他部分中定義的實體或者直接對數(shù)據(jù)組的輸入變量執(zhí)行的各種特征處理變換操作。組定義部分可用于定義輸入變量的定制組(或與其他組結(jié)合的輸入數(shù)據(jù)變量或者從其他組導(dǎo)出的組)。此類組定義可使得更容易在輸出部分中指定常見變換將應(yīng)用到若干變量。在一些實施方案中,配方語言可支持多個內(nèi)置或預(yù)定義的組,諸如ALL_NUMERIC或ALL_CATEGORICAL連同諸如“group_remove”和“group”的函數(shù)以便允許配方創(chuàng)建者容易地指示在定義新組時將使用的變量排除和組合。分配部分可用于定義可在配方的別的地方使用的一個或多個中間變量。依賴性部分可指示配方取決于另一機器學習制品(諸如模型或另一配方)或者取決于存儲在MLS的儲存庫中的多個其他制品。在一些實施方案中,輸出部分可不僅指示將應(yīng)用到指定輸入變量的特定變換、定義的組、中間變量或者依賴性部分中指示的制品的輸出,而且還指示變換結(jié)果將提供給其作為輸入的目的地模型。

機器學習服務(wù)可自然地支持包括可用在配方的輸出部分中的各種不同變換操作的支持庫,諸如圖12中示出的函數(shù)的類型。在一些實施方案中,MLS可支持每個對應(yīng)于給定問題域或各自類的機器學習算法的若干不同庫。另外,在一個實施方案中,MLS客戶可能夠向MLS注冊其自己的定制函數(shù)(稱為“用戶定義函數(shù)”或UDF)、第三方函數(shù)或者包括多個UDF或第三方函數(shù)的庫以便擴展MLS的核心特征處理能力。在一些實施方案中,UDF可以各種不同格式(例如,包括一個或多個文本格式和/或一個或多個二進制格式)由客戶端提供給MLS。在此類實施方案中,可針對UDF支持多種不同編程或腳本語言。在一些實施方案中,可支持用于向MLS注冊外部產(chǎn)生的變換函數(shù)或庫的API,例如使得客戶端能夠指示新注冊的函數(shù)是否可被其他客戶端訪問或被限制供提交客戶端使用。在一個實現(xiàn)中,配方可包括導(dǎo)入部分,其函數(shù)用在配方中的一個或多個庫(例如,除了MLS的核心或標準庫之外的庫)可在所述導(dǎo)入部分中列出。在一些實現(xiàn)中,MLS可對至少一些UDF施加資源使用限制,例如,以便阻止CPU時間、存儲器、盤空間等的失控消耗,可對給定UDF可運行的時間設(shè)置最大限值。以此方式,可限制執(zhí)行潛在易于出錯的UDF(例如,其邏輯包括某些條件下的無限循環(huán)的UDF)的負面后果。在至少一些實施方案中,配方文本(或配方文本可從其讀取的文件或URL)可傳遞作為由MLS客戶端調(diào)用的API(諸如“createRecipe”API)中的參數(shù)。

可在MLS處例如根據(jù)語法的一組句法規(guī)則以及定義所支持變換方法或函數(shù)的一組庫驗證配方文本(元素1704)。如果在文本驗證檢查期間識別句法錯誤或不可解決的令牌,那么在至少一些實施方案中,可向配方提交者提供指示文本的需要被校正的部分(例如,通過指示行數(shù)和/或錯誤誘導(dǎo)令牌)的錯誤消息。如果未發(fā)現(xiàn)錯誤或者在發(fā)現(xiàn)錯誤后校正并且重新提交配方,那么可生成配方文本的可執(zhí)行版本(元素1707)。在所描繪實施方案中,配方的一個或兩個版本(文本版本和可執(zhí)行版本)可存儲在MLS的制品儲存庫中,例如,其中由MLS生成的唯一配方標識符提供給配方提交者。

MLS可例如響應(yīng)于不同API調(diào)用或者因為配方的初始提交包括執(zhí)行請求,確定配方將應(yīng)用到特定數(shù)據(jù)組(元素1710)??蓹z查數(shù)據(jù)組以便確保其滿足運行時間接受準則,例如,輸入變量名稱和數(shù)據(jù)類型與配方中指示的那些輸入變量名稱和數(shù)據(jù)類型匹配,并且數(shù)據(jù)組具有可接受大小(元素1713)。可針對配方執(zhí)行識別一組提供商網(wǎng)絡(luò)資源(例如,配置有如由MLS確定的適當量的存儲和/或網(wǎng)絡(luò)容量的一個或多個計算服務(wù)器)(元素1716)??呻S后將配方中指示的變換應(yīng)用到輸入數(shù)據(jù)組(元素1719)。在一些實施方案中,如以上關(guān)于圖16描述的,MLS可在努力識別一個或多個變換的可接受參數(shù)值時執(zhí)行參數(shù)探索。在所描繪實施方案中,在配方變換完成(和/或變換的結(jié)果提供到適當目的地,諸如配方本身中指定的模型)之后,可將配方的執(zhí)行完成的通知提供給請求執(zhí)行的客戶端(元素1722)。

I/O-有效輸入數(shù)據(jù)過濾序列

如前所述,一些機器學習輸入數(shù)據(jù)組可比可在機器學習服務(wù)的任何給定服務(wù)器處獲得的存儲器的量大得多(例如,在太字節(jié)的數(shù)量級上)。為了訓(xùn)練并評估模型,有時可必須按序列對輸入數(shù)據(jù)組執(zhí)行多個過濾或輸入記錄重新安排操作。例如,為了交叉驗證分類模型,同一輸入數(shù)據(jù)組可必須多次分裂成訓(xùn)練數(shù)據(jù)組和測試數(shù)據(jù)組,并且此類分裂操作可被被認為是輸入過濾的一個實例。其他輸入過濾操作類型可包括采樣(獲得數(shù)據(jù)組的子集)、混排(重新安排輸入數(shù)據(jù)對象的次序)或者劃分用于并行性(例如,將數(shù)據(jù)集劃分為N個子集用于使用映射縮減實現(xiàn)的計算或類似的并行計算范例,或者用于對模型執(zhí)行多個并行訓(xùn)練操作)。如果對于每個過濾操作(諸如連續(xù)混排或分裂),占用若干太字節(jié)空間的數(shù)據(jù)組都從持久性存儲裝置讀取和/或?qū)懭氲剿龀志眯源鎯ρb置,那么僅I/O操作自身所花費的時間可變得禁止,尤其是如果大部分的I/O包括從旋轉(zhuǎn)基于盤的存儲裝置隨機讀取輸入數(shù)據(jù)組的單獨觀察記錄。因此,在一些實施方案中,可在機器學習服務(wù)處實現(xiàn)這種技術(shù):將大數(shù)據(jù)組映射到一次讀取到某一數(shù)量的服務(wù)器的存儲器中的較小鄰接塊,并且隨后適當?shù)貓?zhí)行多序列的塊級過濾操作而不在連續(xù)過濾操作之間將數(shù)據(jù)組復(fù)制到持久性存儲裝置。在至少一個這種實施方案中,機器學習服務(wù)可實現(xiàn)I/O庫,使得客戶端能夠通過對數(shù)據(jù)源不可知的API的單個調(diào)用指定將對指定數(shù)據(jù)組執(zhí)行的各種輸入過濾操作。這種庫可尤其適用于以下情境:輸入數(shù)據(jù)組包括存儲在文件系統(tǒng)目錄內(nèi)的文件中而不是諸如表格的結(jié)構(gòu)化數(shù)據(jù)庫對象中的變化長度的觀察記錄,盡管以下描述的分塊和存儲器內(nèi)過濾技術(shù)可通常針對如下描述的各種數(shù)據(jù)源類型(包括數(shù)據(jù)庫)中的任一個執(zhí)行。I/O庫可允許客戶端指示各種類型的數(shù)據(jù)源(例如,單主機文件系統(tǒng)、分布式文件系統(tǒng)、在提供商網(wǎng)絡(luò)處實現(xiàn)的存儲服務(wù)、非關(guān)系數(shù)據(jù)庫、關(guān)系數(shù)據(jù)庫等等),并且可被認為是數(shù)據(jù)源不可知的,因為可支持相同類型的過濾操作,而不管正使用的數(shù)據(jù)源的類型如何。在一些情況下,給定輸入數(shù)據(jù)組的各自子集可存儲在不同類型的數(shù)據(jù)源中。

圖18示出根據(jù)至少一些實施方案的用于通過機器學習服務(wù)(MLS)對大的輸入數(shù)據(jù)組執(zhí)行有效存儲器內(nèi)過濾操作的示例性過程。如所示,在所描繪實施方案中,機器學習服務(wù)的客戶端希望從其提取觀察記錄的數(shù)據(jù)源1802可包括多個數(shù)據(jù)對象,諸如文件F1、F2、F3和F4。文件的大小可不同,和/或任何給定文件中的觀察記錄的數(shù)量可不同于其他文件中的觀察記錄的數(shù)量。如本文所用,當參考機器學習操作的輸入數(shù)據(jù)時,術(shù)語“觀察記錄”可與術(shù)語“數(shù)據(jù)記錄”同步地使用。由客戶端提交的數(shù)據(jù)記錄提取請求可例如通過參考文件F1、F2、F3和F4的位置(例如,目錄名稱或者一組URL)指示數(shù)據(jù)源1802。在所描繪實施方案中,響應(yīng)于提取請求,MLS可總體上判定或估計數(shù)據(jù)組的大小(例如,文件的組合大小),并且確定文件應(yīng)邏輯地級聯(lián)以形成統(tǒng)一地址空間的次序。在所示處實例中,可例如通過按F1、F2、F3和F4的次序?qū)⑽募壿嫷丶壜?lián)以生成數(shù)據(jù)組1804。在一些實施方案中,客戶端的數(shù)據(jù)記錄提取請求可指定多文件數(shù)據(jù)組的文件將組合(至少初始地)的次序和/或文件的大小。在其他實施方案中,MLS可確定級聯(lián)次序(例如,基于諸如文件名稱的詞法次序、文件的大小等等的各種因素的任何組合)。注意,盡管在圖18和一些隨后圖中,文件用作存儲觀察記錄的數(shù)據(jù)對象的實例,但在各種實施方案中,可使用用于輸入過濾的類似技術(shù),而不管使用的數(shù)據(jù)對象的類型如何(例如,提供區(qū)塊級接口的卷、數(shù)據(jù)庫記錄等)。

數(shù)據(jù)組1804的級聯(lián)地址空間可隨后再劃分為多個鄰接塊,如塊映射1806中指示的。在不同實施方案中,可基于若干因素中的任一個確定塊的大小(Cs)。例如,在一個實施方案中,塊大小可設(shè)置,使得每個塊可裝入到MLS服務(wù)器(例如,圖1的服務(wù)器池185)的存儲器中,將在所述服務(wù)器處生成對客戶端的數(shù)據(jù)記錄提取請求的至少一部分響應(yīng)??紤]簡單的情境:其中可用于若干MLS服務(wù)器中的每一個處的數(shù)據(jù)記錄的存儲器部分是Sm。在這種情境中,可選擇使得Cs小于或等于Sm的塊大小Cs,如圖18所示。在其他實施方案中,客戶端請求可指示塊大小偏好,或者MLS可定義即使不同服務(wù)器具有可用于數(shù)據(jù)記錄的不同量的存儲器也將使用的默認塊大小。在一些實施方案中,將用于對一個記錄提取請求做出響應(yīng)的塊大小可與用于另一記錄提取請求的塊大小不同;在其他實施方案中,相同塊大小可用于多個請求或者所有請求。級聯(lián)數(shù)據(jù)組1804再劃分成鄰接塊(而不是例如隨機選擇的子部分)可增加數(shù)據(jù)組的部分,所述部分可通過比必須通過隨機讀取來讀取的部分更有效的順序讀取來讀入,如以下關(guān)于圖19示出的。在一些實施方案中,給定塊映射的不同塊可具有不同大小,例如,對于給定數(shù)據(jù)組的所有塊,塊大小不需要一定相同。注意,數(shù)據(jù)組初始再劃分成塊表示可在對數(shù)據(jù)組的物理I/O操作之前執(zhí)行的邏輯操作。

在所描繪實施方案中,可例如基于正使用的塊大小確定一組初始候選塊邊界1808。如所示,在至少一些實施方案中,侯選快邊界不需要與文件邊界對準。在至少一些實施方案中,當最終讀取塊時,可必須在一定程度上修改候選塊邊界以便將塊邊界與觀察記錄邊界對準,如以下參考圖22更詳細描述的。在一些實施方案中,可例如基于客戶端的請求中包括的過濾描述符(其還可被稱為檢索描述符)的內(nèi)容為分塊的數(shù)據(jù)組1810生成塊級過濾計劃1850。塊級過濾計劃可指示例如將對輸入數(shù)據(jù)的塊執(zhí)行多個存儲器內(nèi)過濾操作1870(例如,1870A、1870B和1870N)的次序,所述存儲器內(nèi)過濾操作1870諸如混排、分裂、采樣或劃分用于并行計算諸如映射縮減。在一些實施方案中,機器學習模型可支持模型的并行訓(xùn)練,其中例如輸入數(shù)據(jù)組的各自(以及潛在部分重疊的)子集可用于并行地訓(xùn)練給定模型。在這種情境中,一個訓(xùn)練操作的持續(xù)時間可至少部分地與另一個的持續(xù)時間重疊,并且輸入數(shù)據(jù)組可通過使用塊級過濾操作被劃分用于并行訓(xùn)練會話。塊級混排例如可涉及重新安排塊的相對次序,而不一定重新安排給定塊內(nèi)的觀察記錄的相對次序。以下描述各種類型的塊級過濾操作的實例。

在至少一些實施方案中,客戶端可能不一定知道至少一些過濾操作將在數(shù)據(jù)組的塊上而不是在單獨數(shù)據(jù)記錄的粒度處執(zhí)行。在所描繪實施方案中,可執(zhí)行塊的內(nèi)容(例如,分別包括在C1、C2、C3和C4中的觀察記錄)的數(shù)據(jù)傳送1814以便根據(jù)序列的第一過濾操作來將數(shù)據(jù)組加載到一個或多個MLS服務(wù)器的存儲器中。為了實現(xiàn)序列的第一存儲器內(nèi)過濾操作,例如,可執(zhí)行指向存儲至少一些塊的一個或多個持久性存儲裝置的一組讀取。在一些實施方案中,例如,在過濾操作1870的序列的一個或多個操作之前,還可能需要解壓和/或解密。例如,如果數(shù)據(jù)以壓縮形式存儲在持久性存儲裝置處,那么其可根據(jù)由客戶端提供的或者由MLS確定的解壓指令/元數(shù)據(jù)解壓。類似地,如果源數(shù)據(jù)被加密,那么MLS可解密所述數(shù)據(jù)(例如,使用由客戶端提供的或指示的密鑰或憑證)。

在完成所述組讀取(和/或所述組相關(guān)聯(lián)解壓/解密操作)之后,塊C1-C4的至少子集可存在于MLS服務(wù)器存儲器中。(如果序列的第一過濾操作涉及生成樣本,例如,并非所有塊可能必須被讀入)??稍贛LS服務(wù)器存儲器中適當?shù)貓?zhí)行計劃1850的剩余過濾操作,例如,在所描繪實施方案中不需要將任一個塊的內(nèi)容復(fù)制到持久性存儲裝置中,和/或不需要從源數(shù)據(jù)位置重新讀取任一個塊的內(nèi)容。例如,第一過濾操作的存儲器內(nèi)結(jié)果可充當?shù)诙^濾操作的輸入數(shù)據(jù)組,第二過濾操作的存儲器內(nèi)結(jié)果可充當?shù)谌^濾操作的輸入數(shù)據(jù)組等等。在所描繪實施方案中,過濾操作的序列的最后輸出可用作記錄解析1818(即,確定觀察記錄的各種變量的內(nèi)容)的輸入。由于解析而生成的觀察記錄1880可隨后被提供為對一個或多個目的地例如對模型1884和/或特征處理配方1882的輸入。因此,在所描繪實施方案中,可僅需要單遍物理讀取操作來實現(xiàn)多個不同過濾操作,這可導(dǎo)致與其中對于每個連續(xù)過濾操作都將數(shù)據(jù)組復(fù)制到持久性存儲裝置(或重新讀取)的情境相比大量輸入處理加速。當然,盡管可在不訪問持久性存儲裝置的情況下在存儲器中執(zhí)行多個塊級和/或觀察記錄級操作,但如果必要的話任何這種操作的結(jié)果可存儲到持久性存儲裝置,例如,使得結(jié)果可稍后重新用于另一作業(yè)。因此,盡管通過上述技術(shù)使得更容易避免對基于盤的或其他持久性存儲裝置的頻繁和潛在耗時的I/O操作,但仍可基于應(yīng)用的需求當和在必要時在任何階段執(zhí)行對持久性存儲裝置的I/O。

通過如上所述的在塊級執(zhí)行過濾操作諸如混排或采樣,可避免指向單獨數(shù)據(jù)記錄的隨機物理讀取操作??紤]一種情境,其中輸入數(shù)據(jù)組被混排(例如,以便交叉驗證分類模型),混排以一兆字節(jié)的塊大小在塊級處執(zhí)行,數(shù)據(jù)組的數(shù)據(jù)記錄具有一千字節(jié)的平均大小,并且既不需要解壓又不需要解密。如果原始數(shù)據(jù)組大小為1000兆字節(jié),那么在隨機混排的任何給定迭代中,1000個塊被邏輯安排的次序可改變。然而,在塊級混排操作中,任何給定塊內(nèi)的數(shù)據(jù)記錄的次序?qū)⒉桓淖?。因此,位于特定塊(例如,1000個塊中的塊654)內(nèi)的所有數(shù)據(jù)記錄將被提供為組以使用混排的結(jié)果訓(xùn)練模型。如果塊654內(nèi)的記錄相對于感興趣的自變量V1(還可被稱為輸入變量)不是隨機分布的,那么塊級混排可能不會為了訓(xùn)練目的相對于隨機化V1的值如例如記錄級混排將那樣好地結(jié)束。因此,至少在一些情境中,由于在塊級而不是在數(shù)據(jù)記錄級執(zhí)行過濾,可能有統(tǒng)計質(zhì)量或預(yù)測準確度的一些損失。然而,通常通過適當?shù)剡x擇塊大小,質(zhì)量/準確度的損失可保持在合理范圍內(nèi)。圖19示出根據(jù)至少一些實施方案的與改變用于對機器學習數(shù)據(jù)組的過濾操作序列的塊大小相關(guān)聯(lián)的權(quán)衡。

圖19中對于給定數(shù)據(jù)組DS1示出對應(yīng)于兩個示例性塊映射的讀取操作。為了簡化展示,假設(shè)數(shù)據(jù)組DS1存儲在單個盤上,使得盤讀取頭必須定位在指定偏移處以便在DS1上開始讀取操作(隨機讀取或一組順序讀取)。在塊映射1904A上,使用S1的塊大小,并且DS1因此在數(shù)據(jù)組地址空間內(nèi)再劃分成在偏移O1、O2、O3和O4處開始的四個鄰接塊。(注意,圖19和隨后圖中示出的示例性映射中的塊的數(shù)量保持得非常小以便說明描述的概念;實際上,數(shù)據(jù)組可包括成百上千的塊)。為了讀取四個塊,將必須執(zhí)行總共(至少)四個讀取頭定位操作(RHP)。在將盤讀取頭定位在偏移O1處之后,例如,可順序地讀入包括DS1的具有O1與O2之間的偏移的內(nèi)容的第一塊。這種順序讀取(SR1)或一組順序讀取通常相對于隨機讀取可以是快速的,因為盤讀取頭可不必在順序讀取期間重新定位,并且盤讀取頭定位(也稱為“尋找”)可通?;ㄙM幾毫秒,其可具有與順序讀取幾兆字節(jié)數(shù)據(jù)所花費的時間相同的數(shù)量級。因此,利用S1的塊大小,讀取如映射到四個塊的整個數(shù)據(jù)組DS1可涉及包括四個慢RHP(RHP1–RHP4)和四個快順序讀取(SR1-SR4)的讀取操作混合1910A。

代替使用S的塊大小,如果如映射1904B中使用2S的塊大小(用于映射1904A的大小的兩倍),那么如讀取操作混合1910B中指示的,將僅需要兩個RHP(一個對應(yīng)于偏移O1并且一個對應(yīng)于偏移O3),并且可通過兩個順序讀取序列SR1和SR2讀入數(shù)據(jù)組。因此,讀取DS1所需要的慢操作的數(shù)量將與使用的塊大小成反比地減小。在權(quán)衡圖1990的X軸上,塊大小從左到右增加,并且在Y軸上,示出了由塊大小變化引起的各種度量的變化。通常,增加塊大小將傾向于減少用于將大數(shù)據(jù)組傳送到存儲器中的總讀取時間(TRT)。即使可并行地執(zhí)行不同塊的讀取,增加數(shù)據(jù)的順序讀取的部分將通常傾向于減少總讀取時間。增加塊大小可通常需要MLS服務(wù)器處的更多存儲器來保持塊內(nèi)容,如圖1990中示出的每個服務(wù)器存儲器需求(MR)指示的。最后,如以上論述的,對于至少一些類型的機器學習問題,增加的塊大小可導(dǎo)致機器學習模型的稍差的統(tǒng)計質(zhì)量(QS)或稍差的預(yù)測準確度。這可能發(fā)生,因為給定塊內(nèi)的記錄可能不能相對于整個數(shù)據(jù)組中的記錄(或相對于彼此)以與塊相對于彼此過濾相同的方式過濾。在其中MLS能夠選擇塊大小的情境中,因此,可必須考慮圖1990中示出的總讀取時間、存儲器需求以及統(tǒng)計質(zhì)量之間的權(quán)衡。實際上,取決于塊相對于整個數(shù)據(jù)組的大小,由使用較大塊引起的統(tǒng)計質(zhì)量的損失可相當小。在至少一些實施方案中,塊與MLS服務(wù)器之間不需要1:1的關(guān)系,例如,給定MLS服務(wù)器可配置來存儲數(shù)據(jù)組的多個塊。在一些實施方案中,部分塊或塊的子集也可存儲在MLS服務(wù)器處,例如,存儲在給定服務(wù)器的存儲器中的塊的數(shù)量不需要是整數(shù)。在各種實施方案中,除了塊級過濾操作之外,如以下更詳細描述的,可執(zhí)行塊內(nèi)和/或跨塊過濾操作(例如,觀察記錄級),這可幫助進一步減少統(tǒng)計質(zhì)量的損失。注意,圖1990中示出的曲線旨在示出寬定性關(guān)系,不是精確的數(shù)學關(guān)系。不同度量相對于塊大小改變的比率可不同于圖中示出的,并且實際關(guān)系可能不一定由如所示的平滑曲線或線表示。

圖20a示出根據(jù)至少一些實施方案的塊級過濾操作(包括混排之后進行分裂)的示例性序列。如所示,分塊數(shù)據(jù)組2010包括十個塊C1-C10。圖20a頂部處的塊C1的詳細視圖示出其組分觀察記錄OR1-1至OR1-n,其中連續(xù)觀察記錄由定界符2004分開。如所示,數(shù)據(jù)組或塊的觀察記錄不需要具有相同大小。在可以是計劃1850的存儲器內(nèi)塊級過濾操作中的一個的塊級混排操作2015中,塊被重新排序。在混排之后,塊次序可以是C5-C2-C7-C9-C10-C6-C8-C3-C1-C4。在所描繪實例中,在隨后塊級分裂操作2020中,70%的塊(例如,C5-C2-C7-C9-C10-C6-C8)可放置在訓(xùn)練組2022中,而30%的塊(C3-C1-C4)可放置在測試組2024中。在所描繪實例中,在塊級執(zhí)行混排時,給定塊內(nèi)的觀察記錄的內(nèi)部排序保持不變。因此,塊C1的觀察記錄在混排和分裂之后處于與混排和分裂過濾操作執(zhí)行之前的相對次序相同的相對次序(OR1-1、OR1-2…OR1-n)。注意,在所描繪實施方案中,對于至少一些類型的過濾操作,除了避免到持久性存儲裝置的復(fù)制之外,塊內(nèi)容可能甚至不必從一個存儲器位置移動到另一存儲器位置。例如,代替在混排期間將塊從C1-C2-C3-C4-C5-C6-C7-C8-C9-C10物理重新排序為C5-C2-C7-C9-C10-C6-C8-C3-C1-C4,塊的指針可被修改,使得指示第一塊的指針在混排之后指向C5而不是C1等等。

在一些實施方案中,如前所述,MLS還可支持觀察記錄級處的過濾。例如,客戶端的記錄提取請求可包括用于塊級過濾和記錄級過濾的描述符。圖20b示出根據(jù)至少一些實施方案的包括塊級過濾以及塊內(nèi)過濾的存儲器內(nèi)過濾操作的示例性序列。在所描繪實例中,執(zhí)行與圖20a中示出的塊級過濾操作相同組的塊級過濾操作,即,對數(shù)據(jù)組2004執(zhí)行塊級混排2015,之后是70-30分裂2020成訓(xùn)練組2022和測試組2024。然而,在塊級分裂之后,還執(zhí)行塊內(nèi)混排2040,導(dǎo)致一些或所有塊內(nèi)的觀察記錄的重新安排。由于塊內(nèi)混排,塊C1的觀察記錄可按OR1-5、OR1-n、OR1-4、OR1-1、OR1-2…的次序提供為對模型或特征處理配方(或者隨后過濾操作)的輸入,例如,其與塊級混排之前的觀察記錄的初始次序不同。還可根據(jù)客戶端的過濾描述符以類似方式對圖20a或圖20b中未示出的其他塊(例如,C2–C10)的觀察記錄進行混排。在至少一個實施方案中,還可支持跨塊記錄級過濾操作。例如,考慮其中至少兩個塊Cj和Ck被讀取到給定MLS服務(wù)器S1的存儲器中的情境。在跨塊混排中,在S1的存儲器中,Cj的至少一些觀察記錄可與Ck的一些觀察記錄混排或重新排序。在此類實施方案中,也可跨共同定位在給定服務(wù)器的存儲器中的塊執(zhí)行其他類型的記錄級過濾操作(例如,采樣、分裂或劃分)。在一個實現(xiàn)中,多個服務(wù)器可與彼此合作以便執(zhí)行跨塊操作。對于一些應(yīng)用,在塊級操作的結(jié)果組饋送到用于特征處理的配方或用于訓(xùn)練的模型之前可僅執(zhí)行單個塊級過濾操作,即,可能不需要一系列多個塊級操作。在至少一些實施方案中,還可在一個或多個塊級操作之后執(zhí)行其他類型的操作(諸如,觀察記錄的聚集/集合,或者將聚集函數(shù)應(yīng)用到觀察記錄的所選擇變量的值)。

在塊級或觀察記錄級執(zhí)行過濾操作的能力可實現(xiàn)用于實現(xiàn)相同輸入過濾目標的若干不同替代。圖21示出根據(jù)至少一些實施方案的對數(shù)據(jù)組的存儲器內(nèi)采樣的替代方法的實例。將獲得包括十個塊C1–C10的分塊的數(shù)據(jù)組2110的60%的樣本,也就是說,將保留數(shù)據(jù)組的大約60%的觀察記錄,而將從采樣操作的輸出排除大約40%的觀察記錄。

在由標記“1”的箭頭指示的第一方法中,可實現(xiàn)對塊的直截了當?shù)膲K級采樣2112,例如,導(dǎo)致將塊C1、C2、C4、C6、C8和C10選擇為期望樣本。在第二方法中,可使用塊級采樣和塊內(nèi)采樣的組合。例如,如由標記“2”的箭頭指示的,在第一步驟中,可使用塊級采樣2114選擇80%的塊(導(dǎo)致保留塊C1、C2、C3、C5、C6、C7、C8和C9)。接著,在塊內(nèi)采樣步驟2116中,可選擇每個保留的塊的75%的觀察記錄,導(dǎo)致大約60%的觀察記錄(由于80%的75%為60%)的最后輸出。在由標記“3”的箭頭指示的第三替代方法中,可在單個塊內(nèi)采樣步驟2118中對每個塊的60%的觀察記錄采樣。在至少一些實施方案中,還可針對其他類型的過濾操作支持用于實現(xiàn)給定輸入過濾目標的類似替代和組合。

在至少一些實施方案中,可必須調(diào)整候選塊邊界以便確保單獨觀察記錄不被分裂,并且確保觀察記錄被分配給塊的方式的一致性。圖22示出根據(jù)至少一些實施方案的基于觀察記錄邊界的位置確定塊邊界的實例。數(shù)據(jù)組2202A包括由記錄定界符諸如定界符2265分開的觀察記錄OR1–OR7(其大小可變化)。例如,在其中數(shù)據(jù)源包括字母數(shù)字或文本文件的一個實現(xiàn)中,換行字符(“\n”)或其他特殊字符可用作記錄界定符?;谒x擇塊大小,候選塊邊界碰巧落在數(shù)據(jù)組2202A中的觀察記錄的主體內(nèi)。在所描繪實例中,候選塊邊界(CCB)2204A落在觀察記錄OR2內(nèi),CCB 2204B落在OR4內(nèi),并且CCB2204C落在OR6內(nèi)。在所描繪實施方案中,以下方法可用于識別實際塊邊界(ACB)。從緊接在給定塊的結(jié)束邊界的CCB之后的偏移開始,并且按增加偏移次序(例如,按順序掃描或讀取)檢查數(shù)據(jù)組,將發(fā)現(xiàn)的第一觀察記錄定界符選擇作為塊的結(jié)束ACB。因此,在數(shù)據(jù)組2202A的實例中,將OR2與OR3之間的定界符的位置識別為對應(yīng)于CCB 2204A的實際塊邊界2214A。類似地,ACB 2214B對應(yīng)于OR4與OR5之間的定界符,并且ACB 2214C對應(yīng)于OR6與OR7之間的定界符。由于實際塊邊界的選擇,如塊表格2252A中示出的,塊C1包括OR1和OR2,塊C2包括OR3和OR4,并且塊C3包括OR5和OR6,而塊C4包括OR7。使用所述技術(shù),每個觀察記錄映射到一個且僅一個塊。

在一些實施方案中,可應(yīng)用關(guān)于塊邊界的確定的相同規(guī)則,即使CCB碰巧與OR定界符重合。例如,在數(shù)據(jù)組2202B中,CCB 2204K碰巧與將OR2和OR3分開的定界符對準,CCB 2204L與將OR4和OR5分開的定界符對準,而CCB 2204M與將OR6和OR7分開的定界符對準。使用上述規(guī)則,在每種情況下,針對下一個定界符的搜索從緊接在CCB之后的偏移開始,并且將發(fā)現(xiàn)的下一個定界符選擇作為ACB。因此,ACB 2214K定位在OR3與OR4之間的定界符處,ACB 2214L定位在OR5與OR6之間的定界符處,并且ACB 2214M定位在OR7與OR8之間的定界符處。如塊表格2252B中指示的,數(shù)據(jù)組2202B的塊C1最終包括OR1、OR2和OR3,塊C2包括OR4和OR5,塊C3包括OR6和OR7,并且塊C4包括OR8。

圖23示出根據(jù)至少一些實施方案的可響應(yīng)于對從各種數(shù)據(jù)源類型中的任一個提取數(shù)據(jù)記錄的請求而在機器學習服務(wù)處調(diào)度的作業(yè)的實例。如所示,機器學習服務(wù)可實現(xiàn)以數(shù)據(jù)源不可知的方式使得客戶端164能夠提交觀察記錄提取/檢索請求2310的一組編程接口2361。MLS可支持若干不同類型的數(shù)據(jù)源2310,諸如可向數(shù)據(jù)對象呈現(xiàn)web服務(wù)接口的對象存儲服務(wù)2302;實現(xiàn)呈現(xiàn)區(qū)塊裝置接口的卷的區(qū)塊存儲服務(wù)2304;各種分布式文件系統(tǒng)中的任一個2306(諸如,Hadoop分布式文件系統(tǒng)或HDFS);以及單主機文件系統(tǒng)2308(諸如Ext3的可由基于Linux的操作系統(tǒng)支持的變型)。在至少一些實施方案中,數(shù)據(jù)庫(例如,關(guān)系數(shù)據(jù)庫或非關(guān)系數(shù)據(jù)庫)也可以是所支持數(shù)據(jù)源??稍跈z索請求中指代使用所支持類型的數(shù)據(jù)源中的任一個實現(xiàn)的數(shù)據(jù)對象(例如,文件),如由標記2352A和2352B的箭頭指示的。在一些實現(xiàn)中,單個客戶端請求可指代輸入數(shù)據(jù)對象,諸如位于若干不同類型的數(shù)據(jù)源和/或一個或多個數(shù)據(jù)源類型的若干不同實例中的文件。例如,給定輸入數(shù)據(jù)組的不同子集可包括位于兩個不同單主機文件系統(tǒng)2308處的文件,而另一輸入數(shù)據(jù)組的各自子集可位于對象存儲服務(wù)和區(qū)塊存儲服務(wù)處。

MLS請求處理機180可接收記錄提取請求2310,所述記錄提取請求2310指示將對位于一個或多個數(shù)據(jù)源處的指定數(shù)據(jù)組執(zhí)行的一系列過濾操作,所述過濾操作諸如混排、分裂、采樣、劃分(例如,用于并行計算諸如映射縮減計算,或者用于在時間上彼此重疊并且可在使用的訓(xùn)練組上彼此重疊的模型訓(xùn)練操作/會話)等的某種組合。在所描繪實施方案中,過濾計劃生成器2380可生成指定的數(shù)據(jù)組的塊映射,以及用于完成所請求系列的過濾操作(處于塊級、記錄級或兩個級別)的多個作業(yè),并且將作業(yè)插入一個或多個MLS作業(yè)隊列142中。例如,可生成一個或多個塊讀取作業(yè)2311來從數(shù)據(jù)源讀入數(shù)據(jù)。如果需要的話,可創(chuàng)建單獨作業(yè)來解壓塊(諸如作業(yè)2312)和/或解密數(shù)據(jù)(作業(yè)2313)。在所描繪實施方案中,可針對塊級過濾操作生成作業(yè)2314,而可針對觀察記錄級過濾操作生成作業(yè)2315。在所描繪實施方案中,觀察記錄級的過濾操作可包括塊內(nèi)操作(例如,給定塊內(nèi)的記錄的混排)和/或跨塊操作(例如,可共同位于給定MLS服務(wù)器的存儲器中的兩個或更多個不同塊的記錄的混排)。在至少一些實施方案中,可針對每個塊的每種類型的操作創(chuàng)建各自作業(yè),因此,例如,如果塊映射導(dǎo)致100個塊,那么可針對分別讀入一個塊創(chuàng)建100個作業(yè),可針對第一塊級過濾操作創(chuàng)建100個作業(yè)等等。在其他實施方案中,可針對涉及多個塊的操作創(chuàng)建給定作業(yè),例如,對于每個塊可能不需要單獨作業(yè)。在一些實施方案中,如以下更詳細描述的,數(shù)據(jù)組分裂成訓(xùn)練組和測試組可實現(xiàn)為單獨作業(yè),一個用于訓(xùn)練組并且一個用于測試組。如前論述的,給定作業(yè)可指示對其他作業(yè)的依賴性,并且可使用此類依賴性來確保按正確次序執(zhí)行由客戶端請求的過濾任務(wù)。

圖24示出根據(jù)至少一些實施方案的可由客戶端使用由機器學習服務(wù)實現(xiàn)的I/O(輸入-輸出)庫的編程接口提交的記錄提取請求的示例性組成元素。如所示,觀察記錄(OR)提取請求2401可包括指定輸入數(shù)據(jù)組將從其檢索的位置或地址的源數(shù)據(jù)組指示符2402。對于存儲在呈現(xiàn)web服務(wù)接口的對象存儲服務(wù)中的數(shù)據(jù)組,例如,可指定一個或多個URL(統(tǒng)一資源定位符)或URI(統(tǒng)一資源標識符);對于文件,一個或多個文件服務(wù)器主機名稱、一個或多個目錄名稱和/或一個或多個文件名稱的某一組合可被提供為指示符2402。在一個實現(xiàn)中,如果數(shù)據(jù)組包括多個對象諸如多于一個文件,那么客戶端可包括用于數(shù)據(jù)組的對象的邏輯級聯(lián)的指令以形成統(tǒng)一地址空間(例如,“以文件名稱的字母表次序組合目錄d1的文件,隨后以字母表次序組合目錄d2的文件”的邏輯等效物)。在一些實施方案中,觀察記錄的預(yù)期格式2404或模式可包括在OR提取請求中,例如,指示OR的變量或字段的名稱、變量間定界符(例如,逗號、冒號、分號、制表符或其他字符)以及OR定界符、變量的數(shù)據(jù)類型等等。在至少一個實現(xiàn)中,MLS可向其數(shù)據(jù)類型未由客戶端指示的變量分配默認數(shù)據(jù)類型(例如,“字符串”或“字符”)。

在一個實施方案中,OR提取請求2401可包括壓縮元數(shù)據(jù)2406,指示例如用于數(shù)據(jù)組的壓縮算法、存儲壓縮數(shù)據(jù)的單元或區(qū)塊的大小(其可與將對其執(zhí)行塊級存儲器內(nèi)過濾操作的塊的大小不同)以及正確地解壓數(shù)據(jù)組可能必要的其他信息。在一些實施方案中,在請求2401中可包括解密元數(shù)據(jù)2408諸如密鑰、憑證和/或數(shù)據(jù)組上使用的加密算法的指示。在一些實現(xiàn)中并且針對某些類型的數(shù)據(jù)源,客戶端可在請求2401中提供將用于能夠獲得對數(shù)據(jù)組的讀取訪問的授權(quán)/認證元數(shù)據(jù)2410。這種元數(shù)據(jù)可包括例如,賬戶名或用戶名以及一組對應(yīng)憑證,或者用于安全容器(類似于圖3中示出的安全容器390)的標識符和密碼。

在所描繪實施方案中,OR提取請求2401可包括一個或多個過濾描述符2412,指示例如將在塊級和/或在OR級處執(zhí)行的過濾操作的類型(混排、分裂、采樣等),以及將實現(xiàn)過濾操作的次序。在一些實現(xiàn)中,可包括一個或多個描述符2452用于塊級過濾操作,并且可包括一個或多個描述符2454用于記錄級(例如,塊內(nèi)和/或跨塊)過濾操作。每個這種描述符可指示對應(yīng)過濾操作的參數(shù),例如,分裂操作的分裂比、采樣操作的采樣比、數(shù)據(jù)組將再劃分用于并行計算或并行訓(xùn)練會話的劃分數(shù)、在發(fā)現(xiàn)記錄的模式無效的情況下將采取的動作等等。

在至少一個實施方案中,OR提取請求2401可包括分塊偏好2414,指示例如特定可接受塊大小或可接受塊大小的范圍??稍谧侄?416中指示過濾操作序列的輸出將指向的目的地(例如,特征處理配方或模型)。在一些實施方案中,客戶端可指示過濾操作的性能目標2418,諸如“完成”時間,其可由MLS使用來選擇將使用的服務(wù)器的類型或者生成旨在實現(xiàn)期望目標的過濾序列計劃。注意,在至少一些實施方案中,并非圖25中示出的所有組成元素可包括在記錄提取請求內(nèi),例如,壓縮和/或解密相關(guān)字段可僅包括用于以壓縮和/或加密形式存儲的數(shù)據(jù)組。

圖25是示出根據(jù)至少一些實施方案的可在實現(xiàn)用于對大輸入數(shù)據(jù)組的存儲器內(nèi)過濾操作序列的I/O庫的機器學習服務(wù)處執(zhí)行的操作的方面的流程圖。可實現(xiàn)使得客戶端能夠提交類似于圖24中示出的那些觀察記錄提取請求的觀察記錄提取請求的I/O庫。I/O庫可關(guān)于存儲輸入數(shù)據(jù)組的數(shù)據(jù)存儲區(qū)的類型不可知,例如,可為存儲在若干不同數(shù)據(jù)存儲區(qū)類型的任何組合處的記錄提取請求提供一組常見編程接口。可接收這種OR提取請求(元素2501),指示可能太大而不能裝入到MLS服務(wù)器的可用存儲器中的源數(shù)據(jù)組。OR提取請求可包括指示將對輸入數(shù)據(jù)組執(zhí)行的一系列過濾操作的一個或多個描述符。

可例如基于各種因素中的任一個確定將用于將輸入數(shù)據(jù)組的鄰接子集傳送到一個或多個MLS服務(wù)器的存儲器中的塊大小(元素2504),所述因素諸如:MLS服務(wù)器的存儲器容量約束、請求客戶端通過請求的參數(shù)指示的偏好、MLS的默認設(shè)置、輸入數(shù)據(jù)組的估計或?qū)嶋H大小等等。在一些實現(xiàn)中,可選擇若干不同塊大小,例如,一些MLS服務(wù)器可具有比其他服務(wù)器高的存儲器容量,因此用于具有更多存儲器的服務(wù)器的塊可更大。在一些實施方案中,如果輸入數(shù)據(jù)組包括多個對象(諸如文件),那么可將對象邏輯地級聯(lián)以便形成單個統(tǒng)一地址空間(元素2507)。可例如基于請求中提供的指令或指南、基于對象名稱的字母數(shù)字排序、按文件大小的次序、按隨機次序或者按由MLS選擇的某一其他次序確定對象被級聯(lián)的序列。

可為數(shù)據(jù)組生成塊映射(元素2510),指示基于所選擇塊大小和統(tǒng)一地址空間的一組候選塊邊界??勺鳛橛成渖蛇^程的部分計算數(shù)據(jù)對象或輸入數(shù)據(jù)組的對象內(nèi)的候選塊邊界的位置或偏移??蓜?chuàng)建對應(yīng)于OR提取請求中的過濾描述符的一系列塊級過濾操作的計劃(元素2513)。在一些實施方案中,除了或代替塊級過濾操作,計劃可包括記錄級過濾操作(例如,塊內(nèi)操作或跨塊操作)。在一些實施方案中,可例如對共同位于給定MLS服務(wù)器的存儲器中的若干塊的觀察記錄執(zhí)行跨塊操作。在其他實施方案中,還可或替代地對已讀入到不同MLS服務(wù)器的存儲器中的塊執(zhí)行跨塊操作。所支持過濾操作的類型可包括采樣、分裂、混排和/或劃分。至少部分地基于計劃的第一過濾操作,可執(zhí)行從持久性存儲裝置到MLS服務(wù)器存儲器的數(shù)據(jù)組的塊的至少子集的數(shù)據(jù)傳送(元素2516)。取決于數(shù)據(jù)存儲在OR提取請求中指示的源位置處的方式,在一些實施方案中,除了讀取操作之外,數(shù)據(jù)傳送過程可包括解密和/或解壓。在一些實施方案中,客戶端可請求MLS來在將塊從源位置傳送到MLS服務(wù)器之前加密和/或壓縮數(shù)據(jù),并且隨后一旦加密的/壓縮的數(shù)據(jù)到達MLS服務(wù)器就執(zhí)行反向操作(解密和/或解壓)。

在所描繪實施方案中,在MLS服務(wù)器的存儲器中執(zhí)行序列的第一過濾操作之后,例如,在不將塊復(fù)制到持久性存儲裝置或者針對其原始源位置重新讀取塊,可適當?shù)貓?zhí)行剩余過濾操作(如果有的話)(元素2519)。在一個實施方案中,針對一個或多個過濾操作,可生成各自作業(yè)并將其放置在MLS作業(yè)隊列中。在至少一些實施方案中,可使用記錄解析器來從執(zhí)行的過濾操作序列的輸出獲得觀察記錄(元素2522)??蓪R以編程方式提供到請求客戶端(例如,作為響應(yīng)于表示OR提取請求的API調(diào)用返回的陣列或集合)和/或指定目的地,諸如模型或特征處理配方(元素2525)。

輸入數(shù)據(jù)組的一致過濾

圖26示出根據(jù)至少一些實施方案的可用于提高由機器學習模型進行的預(yù)測的質(zhì)量的迭代過程的實例。過程可包括對于若干交叉驗證迭代的每個重新分裂或重新混排輸入數(shù)據(jù)組,例如,如下描述的。包括帶標記的觀察記錄(即,其因變量的值或“標簽”是已知的觀察記錄)的輸入數(shù)據(jù)組可例如使用上述技術(shù)映射到一組鄰接塊2602以便增加物理I/O的可順序地執(zhí)行的部分。可執(zhí)行存儲器內(nèi)塊級分裂操作2604以便獲得訓(xùn)練組2610和測試組2615。例如,在一種情境中,80%的塊可包括在訓(xùn)練組2610中,并且剩余20%的塊可包括在測試組2615中??稍谟?xùn)練運行2618中訓(xùn)練候選模型2620(例如,針對線性回歸模型,可確定將分配給數(shù)據(jù)組的各種自變量/輸入變量的候選系數(shù))??呻S后使用候選模型2620來做出關(guān)于測試組的預(yù)測,并且可獲得模型的評估結(jié)果2625(例如,指示模型能夠如何準確地使用候選系數(shù)生成測試組的記錄的因變量的預(yù)測)。在不同實施方案中,可取決于使用的模型的類型獲得準確度或質(zhì)量的各種測量2630,例如,可為線性回歸模型計算均方根誤差(RMSE)或均方根偏差(RMSD),可為二進制分類問題計算真陽性和真陰性之和與測試組的大小的比率等等。

在所描繪實施方案中,如果準確度/質(zhì)量測量2630是令人滿意的,那么候選模型2620可指定為改進的模型2640。否則,可在嘗試提高模型的預(yù)測的質(zhì)量或準確度時采用若干技術(shù)中的任一個。模型調(diào)諧2672可包括:修改用于預(yù)測的所述組自變量或輸入變量,改變模型執(zhí)行參數(shù)(諸如基于樹的分類模型的最小存儲桶大小或最大樹深),等等,以及執(zhí)行另外訓(xùn)練運行2618??墒褂孟嗤?xùn)練組和測試組迭代地執(zhí)行模型調(diào)諧,在嘗試增強結(jié)果的準確度或質(zhì)量時在每個迭代中改變輸入變量和參數(shù)的某一組合。在模型改進的另一方法中,對于連續(xù)訓(xùn)練和評估迭代,可對訓(xùn)練數(shù)據(jù)組和測試數(shù)據(jù)組進行改變2674。例如,可混排輸入數(shù)據(jù)組(例如,在塊級和/或在觀察記錄級),并且可獲得一對新的訓(xùn)練/測試組用于下一輪訓(xùn)練。在另一方法中,可通過例如識別其變量值似乎為無效的或異常值的觀察記錄并且將此類觀察記錄從數(shù)據(jù)組刪除來提高數(shù)據(jù)的質(zhì)量。用于模型改進的一種常見方法可涉及使用從相同基礎(chǔ)數(shù)據(jù)提取的指定數(shù)量的不同訓(xùn)練組和測試組交叉驗證候選模型,如以下參考圖27描述的。正如可執(zhí)行模型調(diào)諧2672的多個迭代一樣,在一些實施方案中還可迭代地執(zhí)行數(shù)據(jù)組改變2674,例如,直到獲得期望水平的質(zhì)量/準確度,直到可用于模型改進的資源或時間耗盡,或者直到嘗試的改變不再導(dǎo)致模型的質(zhì)量或準確度的更多改進。

圖27示出根據(jù)至少一些實施方案的可用于機器學習模型的交叉驗證的數(shù)據(jù)組分裂的實例。在所描繪實施方案中,包括帶標記的觀察記錄2702的數(shù)據(jù)組以五種不同方式分裂以獲得每個包括80%的數(shù)據(jù)的各自訓(xùn)練組2720(例如,2720A–2720E)以及包括剩余的20%的數(shù)據(jù)的對應(yīng)測試組2710(例如,2710A-2710E)。訓(xùn)練組2720中的每一個可用于訓(xùn)練模型,并且對應(yīng)測試組2710可隨后用于評估模型。例如,在交叉驗證迭代2740A中,可使用訓(xùn)練組2720A訓(xùn)練模型并隨后使用測試組2710A評估所述模型。類似地,在交叉驗證迭代2740B中,可使用包括80%的輸入數(shù)據(jù)的不同訓(xùn)練組2720B(以兩個部分示出,圖27中的部分1和部分2),并且不同測試組2710B可用于評估模型。圖27中示出的交叉驗證實例可被稱為“5倍交叉驗證”(因為所生成的不同訓(xùn)練組/測試組對的數(shù)量以及訓(xùn)練和評估迭代的對應(yīng)數(shù)量)。在一些實施方案中,MLS可實現(xiàn)允許客戶端請求k倍交叉驗證的API,其中k是API參數(shù),所述API參數(shù)指示將生成用于使用相同基礎(chǔ)輸入數(shù)據(jù)組訓(xùn)練指定模型的不同訓(xùn)練組(以及對應(yīng)測試組)的數(shù)量。

在圖27中示出的實例中,帶標記的觀察記錄分布在八個塊C1–C8中。如前所述,可基于各種因素中的任一個確定塊大小和邊界,所述因素包括MLS服務(wù)器處的存儲器大小限制、客戶端偏好等等。在一些情境中,期望的分裂比(諸如圖27中示出的80-20分裂)可導(dǎo)致給定塊的觀察記錄必須跨訓(xùn)練組和對應(yīng)測試組分布。也就是說,在一些情況下,部分塊可必須包括在訓(xùn)練組和測試組中。例如,塊C2的一些觀察記錄可包括在測試組2710A中,而塊C2的其他觀察記錄可包括在訓(xùn)練組2720A中。

注意,盡管在圖27中訓(xùn)練組可似乎包括輸入數(shù)據(jù)組的鄰接部分,但實際上,在至少一些實施方案中,可使用隨機選擇(例如,在塊級、在觀察記錄級或者在兩個級別處)獲得訓(xùn)練數(shù)據(jù)組和測試數(shù)據(jù)組。通過改變包括在不同交叉驗證迭代2740A-2740E的訓(xùn)練組和測試組中的所述組觀察記錄,進行的預(yù)測的質(zhì)量可通常提高,因為輸入數(shù)據(jù)組的不同子集中的輸入變量值的局部不均勻性的影響可減少。例如,如果位于測試組2710A中的數(shù)據(jù)記錄的子集內(nèi)的獨立數(shù)值變量的值與整個數(shù)據(jù)組上的所述變量的平均值相比異常高,那么所述異常對模型準確度/質(zhì)量的影響將預(yù)期通過使用用于其他交叉驗證迭代的不同測試數(shù)據(jù)組來消散。

圖28示出根據(jù)至少一些實施方案的用于可使用偽隨機數(shù)序列執(zhí)行的交叉驗證的輸入數(shù)據(jù)組的一致塊級分裂的實例。使用基于隨機數(shù)的分裂算法2804來將數(shù)據(jù)組塊C1-C10分成訓(xùn)練組和測試組用于連續(xù)訓(xùn)練評估迭代(TEI)。每個TEI可例如表示特定交叉驗證迭代,諸如圖27中示出的那些交叉驗證,但還可獨立于是否嘗試交叉驗證來執(zhí)行此類訓(xùn)練和評估迭代。可使用偽隨機數(shù)生成器(PRNG)2850來獲得偽隨機數(shù)的序列2872。PRNG 2850可例如實現(xiàn)為可從MLS的部件訪問的MLS庫或編程語言庫的效用函數(shù)或方法。在所描繪實施方案中,可使用種子值S(例如,實數(shù)或字符串)來確定性地初始化或重置PRNG 2850的狀態(tài),使得在利用給定種子S重置狀態(tài)之后產(chǎn)生的偽隨機數(shù)的序列是可重復(fù)的(例如,如果使用相同種子重復(fù)多次重置PRNG,那么在每個這種狀態(tài)重置之后將提供PRN的相同序列。

在所描繪實例中,為了簡化展示,已選擇輸入數(shù)據(jù)組的塊的數(shù)量(10)和分裂比(80-20),使得整數(shù)的塊放置到訓(xùn)練組和測試組中,即,給定塊的觀察記錄不必分布在訓(xùn)練組和測試組兩者之間??墒褂糜蒔RNG產(chǎn)生的序列2872的偽隨機數(shù)(PRN)來選擇訓(xùn)練組和測試組的成員。例如,使用具有84621356的值的第一PRN 2874(在重置PRNG的狀態(tài)之后產(chǎn)生),可選擇塊C7用于包括在將用于TEI 2890A的訓(xùn)練組2854A中。使用第二PRN 56383672,可選擇塊C2用于訓(xùn)練組2854A等等。在所描繪示例性情境中,基于隨機數(shù)的分裂算法2804可依賴于PRN序列的某些統(tǒng)計特性以便正確地將輸入數(shù)據(jù)組的每個塊指定到訓(xùn)練組或測試組中。統(tǒng)計特性可包括非常大數(shù)量的不同偽隨機數(shù)(或具有一定長度N的不同子序列)預(yù)期在任何給定序列中產(chǎn)生(例如,在給定PRN在序列中重復(fù)之前或者在長度N的子序列重復(fù)之前)的性質(zhì)。如果在所描繪實施方案中,在生成給定訓(xùn)練組2854的時間與生成對應(yīng)測試組2856的時間之間未重置PRNG的狀態(tài),那么所生成的PRN 2872的序列可確保輸入數(shù)據(jù)的每個塊映射到訓(xùn)練組或測試組中,并且沒有塊既映射到訓(xùn)練組中又映射到測試組中。源數(shù)據(jù)組的每個對象(例如,塊或觀察記錄)放置在精確一個分裂結(jié)果組(例如,訓(xùn)練組或?qū)?yīng)的測試組)的這種分類操作可被稱為“一致”或“有效”分裂。輸入數(shù)據(jù)組的一個或多個對象(a)不放置在分裂結(jié)果組中的任一個中或者(b)放置在分裂結(jié)果組中的多于一個中的分裂操作可被稱為“不一致”或“無效”分裂。在至少一些實施方案中,用于兩種分裂映射(映射到訓(xùn)練組以及映射到測試組)中的每一個的PRN的序列以及因此PRN源的狀態(tài)可影響產(chǎn)生不一致分裂的概率。進而,不一致分裂用于訓(xùn)練和評估可導(dǎo)致比使用一致分裂的情況差的預(yù)測質(zhì)量和/或差的準確度。

在至少一些實施方案中,例如,可基于響應(yīng)于實現(xiàn)TEI的客戶端請求的內(nèi)容在訓(xùn)練組和/或測試組內(nèi)實現(xiàn)塊內(nèi)混排。因此,例如,訓(xùn)練組2854A的給定塊(例如,C7)內(nèi)的觀察記錄可在其作為輸入提供給正訓(xùn)練的模型之前在存儲器中相對于彼此重新排序(不需要將記錄復(fù)制到持久性存儲裝置)。類似地,測試組2856A的給定塊(例如,C3)的觀察記錄可在模型被使用測試組評估之前在存儲器中混排。

由于使用PRN序列2872,可實現(xiàn)具有塊的訓(xùn)練組2854A(C7、C2、C4、C5、C9、C1、C10、C8)和塊的測試組2856A(C3、C6)的第一TEI 2890A。在一些實施方案中,還可使用同一PRNG 2850(例如,無需重新初始化或重置)來分裂輸入數(shù)據(jù)組以用于下一個TEI 2890B。注意,對于一些模型和/或應(yīng)用,在各種實施方案中,可實現(xiàn)僅一個TEI。在所描繪實例中,TEI 2890B的訓(xùn)練組2854B包括塊(C8、C3、C5、C6、C10、C2、C1、C9)并且對應(yīng)測試組2856B包括塊(C4、C7)。圖28中示出的兩個分裂根據(jù)以上提供的定義是一致/有效的。注意,盡管圖28中在塊級示出數(shù)據(jù)的分裂,但在至少一些實施方案中PRNG狀態(tài)與分裂的一致性之間的相同類型的關(guān)系可應(yīng)用到觀察記錄級處的分裂(或者涉及部分塊的分裂)。也就是說,為了使用PRNG在觀察記錄級處執(zhí)行一致分裂,在訓(xùn)練組的確定與測試組的確定之間應(yīng)理想地不重新初始化PRNG的狀態(tài)。在一些實施方案中,涉及部分塊的分裂可實現(xiàn)為塊級分裂,其中將非整數(shù)數(shù)量的塊放置在每個分裂結(jié)果組中,之后是其記錄跨多個分裂結(jié)果組分布的那些塊的塊內(nèi)分裂。除了兩路分裂之外,分裂數(shù)據(jù)組的基于PRN的方法還可用于N路分裂(其中N>2)。

圖29示出根據(jù)至少一些實施方案的可由于不適當?shù)刂刂脗坞S機數(shù)生成器發(fā)生的輸入數(shù)據(jù)組的不一致塊級分裂的實例。在所描繪實例中,使用種子S初始化PRNG 1850。分裂算法2804使用PRN序列2972A來產(chǎn)生訓(xùn)練組2954A,所述訓(xùn)練組2954A包括數(shù)據(jù)組2844A的包括在圖28的測試組2854A中的相同組的塊(C7、C2、C4、C5、C9、C1、C10、C8)。在生成訓(xùn)練組2954A之后,重新初始化PRNG。因此,重復(fù)所生成偽隨機數(shù)的序列,例如,在重置之后生成的第一PRN再一次為84621356,第二PRN再一次為56383672等等。在所描繪實例中,由于PRN的重復(fù),分裂算法選擇塊C7和C2包括在測試組2956A中。這種分裂可視為無效或不一致,因為C2和C7既位于訓(xùn)練組中又位于測試組中(并且因為塊C3和C6既不位于訓(xùn)練組中也不位于測試組中)。

在一些實施方案中,針對給定塊或記錄到訓(xùn)練組或測試組中的每個放置,可能不能實時調(diào)用PRNG。相反,可事先生成一列偽隨機數(shù)或隨機數(shù)(例如,使用PRNG),并且預(yù)先生成的列表中的數(shù)字可逐個用于分裂放置。在這種情境中,只要指針維持到列表中的用于訓(xùn)練組的最后數(shù)字,并且使用剩余數(shù)字(即,不用于訓(xùn)練組的數(shù)字)做出測試組放置決定,在至少一些實施方案中就可實現(xiàn)分裂一致性。

在一個實施方案中,在達到一致分裂的另一方法中,可實現(xiàn)各自機構(gòu)(例如,API)以便(a)保存PRNG的當前狀態(tài)并且(b)以便將PRNG重置為保存狀態(tài)??紤]一種情境:其中可調(diào)用API“save_state(PRNG)”以便在已生成TEI的訓(xùn)練組之后將PRNG的內(nèi)部狀態(tài)保存到對象“state_AfterTraining”,并且可調(diào)用不同的API“set_state(PRNG,state_AfterTraining)”以便就在開始TEI的測試組的選擇之前將PRNG(或不同PRNG)的狀態(tài)重置為保存狀態(tài)。使用這樣一對狀態(tài)保存和恢復(fù)操作,可獲得的PRN序列與如果在不保存/重置PRNG狀態(tài)情況下獲得所有PRN則將獲得的PRN序列相同。在一些實施方案中,與給定TEI的用于測試組選擇的PRN資源不同的PRN資源可用于訓(xùn)練組選擇,如以下關(guān)于圖30描述的,并且此類PRN資源的狀態(tài)可同步化以幫助實現(xiàn)一致分裂。

在至少一些實施方案中,從給定輸入數(shù)據(jù)組選擇測試組可相對于選擇對應(yīng)訓(xùn)練組異步地(并且在一些情況下更遲地)發(fā)生。例如,單獨作業(yè)可插入MLS作業(yè)隊列中用于選擇訓(xùn)練組和選擇對應(yīng)測試組,并且作業(yè)可以類似于前述方式的方式獨立于彼此調(diào)度。在此類情境中,為了確保訓(xùn)練/測試分裂是有效且一致的,盡管兩個操作之間存在延遲,在一些實施方案中,MLS可維持與訓(xùn)練組的選擇有關(guān)的狀態(tài)信息,這可隨后用于幫助生成測試組。圖30示出根據(jù)至少一些實施方案的調(diào)度相關(guān)訓(xùn)練和評估作業(yè)對的示例性時間線。示出了在作業(yè)調(diào)度器的時間線的大約四個小時的時間段(從特定一天的11:00至15:00)期間發(fā)生的四個事件。

在時間t1處,模型M1的訓(xùn)練和評估迭代TEI1的訓(xùn)練作業(yè)J1開始。作業(yè)JI在MLS的一組服務(wù)器SS1處調(diào)度,并且可包括訓(xùn)練組的選擇,例如,在塊級、在觀察記錄級或者在兩個級別處??墒褂脗坞S機數(shù)源(PRNS)3002(諸如返回PRN序列或者一列預(yù)先生成的PRN的函數(shù)或方法)來生成作業(yè)J1的訓(xùn)練組。在時間t2處,可在服務(wù)器組SS2處調(diào)度用于不同模型M2的訓(xùn)練和評估迭代TEI2的訓(xùn)練作業(yè)J2。可使用從不同PRNS 3002B獲得的偽隨機數(shù)獲得作業(yè)J2的訓(xùn)練組。

在時間t3處,調(diào)度用于TEI1的評估階段的測試作業(yè)J3,比作業(yè)J1晚超過兩個小時。在所描繪實例中,例如,J3的調(diào)度可延遲直到J1完成,并且用于J1/J3的數(shù)據(jù)組的大小可如此大使得花費多于兩個小時來完成訓(xùn)練階段。J3可在與用于J1的服務(wù)器組不同的服務(wù)器組SS3處調(diào)度。在至少一些實現(xiàn)中,相比可用于服務(wù)器組SS1處的,不同的PRNS 9002C可用于服務(wù)器組SS3處。在所描繪實施方案中,為了確保訓(xùn)練/測試分裂的一致性,PRNS 3002C可與PRNS 3002A同步。因此,例如,如果種子值Seed1用于初始化PRNS 3002A,并且1000個偽隨機數(shù)在作業(yè)J1期間從PRNS 3002A獲得,那么相同種子值Seed1可用于初始化邏輯等效的PRNS 3002C,并且1000個偽隨機數(shù)可在獲取將用于測試組選擇的偽隨機數(shù)之前從PRNS 3002C獲得。在一些實施方案中,如上論述的“save_state()”和“set_state()”調(diào)用的等效物可用于使PRNS 3002C與PRNS 3002A同步。如果預(yù)先生成的PRNS的列表用作PRN源,那么在一個實施方案中,MLS可確保(a)同一列表用于J1和J3,并且(b)列表中的用于J3的第一PRN處于緊接在用于J1的最后PRN的位置之后的位置。在各種實施方案中可使用其他同步化技術(shù)來確保用于測試組確定的偽隨機數(shù)的序列是這樣的,使得針對作業(yè)J1和J3實現(xiàn)有效且一致的分裂。類似地,針對對應(yīng)于訓(xùn)練作業(yè)J2的測試作業(yè)J4(在t4處調(diào)度),PRNS 3002D可與PRNS 3002B同步。在至少所描繪實施方案中,為了確保分裂一致性,在用于生成訓(xùn)練組和對應(yīng)測試組的所述組偽隨機數(shù)之間強制邏輯關(guān)系或一定程度的協(xié)調(diào)可以是必要的(例如,J3中使用的數(shù)字可必須相對于J1中使用的數(shù)字協(xié)調(diào),并且J4中使用的數(shù)字可必須相對于J2中使用的數(shù)字協(xié)調(diào))。

圖31示出根據(jù)至少一些實施方案的響應(yīng)于客戶端請求在機器學習服務(wù)處生成一致性元數(shù)據(jù)的系統(tǒng)的實例。一致性元數(shù)據(jù)可跨相關(guān)作業(yè)(例如,訓(xùn)練作業(yè)和對應(yīng)的評估作業(yè))保留或共享以便實現(xiàn)關(guān)于圖30論述的協(xié)調(diào)/同步化種類。在圖31的系統(tǒng)3100中,MLS的客戶端164可通過MLS I/O庫的數(shù)據(jù)源不可知的編程接口3161提交分裂請求3110。在一些實現(xiàn)中,分裂請求可以是交叉驗證請求的部分或者執(zhí)行指定數(shù)量的訓(xùn)練和評估迭代的請求的部分。在至少一個實施方案中,分裂請求可表示圖24中示出的觀察記錄提取請求2401類型的變型。分裂請求可包括例如可用于獲得用于所請求分裂操作的偽隨機數(shù)的一個或多個客戶端指定的種子值3120,但在至少一個實施方案中,此類種子值可不必由客戶端提供。另外,在所描繪實施方案中,分裂請求3110可包括輸入數(shù)據(jù)組的指示3122(例如,文件名稱、路徑或標識符)。分裂參數(shù)3124可指示一個或多個訓(xùn)練測試比(例如,圖29中示出的80-20分裂比)。在分裂請求是用于訓(xùn)練和評估迭代或交叉驗證迭代的請求的部分的一些實施方案中,期望迭代計數(shù)3126可包括在客戶端請求中。

在所描繪實施方案中,MLS的請求處理機部件180可將請求3110傳遞到計劃生成器3180。計劃生成器可確定一組一致性元數(shù)據(jù)3152,例如,可在針對所請求分裂迭代插入在MLS作業(yè)隊列中的相關(guān)作業(yè)之間共享的元數(shù)據(jù)。元數(shù)據(jù)3152可例如包括客戶端提供的種子值3120。在一個實施方案中,如果客戶端提供的種子值不可用(例如,因為用于客戶端請求的API 3161不需要種子被提供,或者因為客戶端無法提供有效種子值),那么計劃生成器3180可確定一組一個或多個種子值。此類MLS選擇的種子值可例如基于輸入數(shù)據(jù)組ID 3122(例如,對應(yīng)于輸入數(shù)據(jù)組的文件名稱或目錄名稱的散列值可用作種子)、客戶端標識符、接收到請求3110的時間、從其接收請求3110的IP地址等等的某一組合。在一個實現(xiàn)中,MLS可具有可用的偽隨機數(shù)的若干源,諸如PRNG或預(yù)先生成的PRN列表,并且一個或多個PRN源的標識符可包括在一致性元數(shù)據(jù)3152中。在將使用預(yù)先生成的PRN列表的實施方案中,可使用指定列表內(nèi)的最后使用的PRN的指針,使得使用列表的每個實體(例如,MLS作業(yè)執(zhí)行器)在其已使用列表的PRN的某一數(shù)字之后更新指針。在上述“save_state()”和“set_state()”操作的等效物支持用于PRNG的一個實施方案中,PRNG的狀態(tài)記錄可包括在元數(shù)據(jù)中。使用PRNG的每個實體(例如,MLS作業(yè)執(zhí)行器)可更新狀態(tài)記錄,例如,使得使用PRNG的下個實體可大致設(shè)置其狀態(tài)以獲得可用于執(zhí)行一致分裂的PRN。

計劃生成器3180可生成各自作業(yè)3155以便選擇分裂結(jié)果組。例如,針對給定訓(xùn)練和評估迭代,可創(chuàng)建一個作業(yè)以便選擇訓(xùn)練組并且可生成另一作業(yè)以便選擇測試組。在一些實現(xiàn)中,由計劃生成器3180創(chuàng)建的作業(yè)對象可包括將用于所述作業(yè)的一致性元數(shù)據(jù)的引用或指針。在另一實現(xiàn)中,一致性元數(shù)據(jù)3152的至少一部分可包括在作業(yè)對象內(nèi)。當執(zhí)行作業(yè)時,可使用元數(shù)據(jù)3152來確保輸入數(shù)據(jù)組一致地分裂。在一些實施方案中,可創(chuàng)建包括訓(xùn)練組選擇和測試組選擇兩者的單個作業(yè)。

注意,在至少一些實施方案中,對于其他類型的輸入過濾操作,諸如采樣或混排,可采取一致性或可重復(fù)性的類似方法。例如,在一個實施方案中,客戶端可希望確?;炫趴芍貜?fù)性(即,如果稍后進行具有相同輸入數(shù)據(jù)和相同請求參數(shù)的第二混排請求,那么可重新獲得一個混排請求的結(jié)果)或樣本可重復(fù)性(即,由于重復(fù)樣本請求可從數(shù)據(jù)組檢索相同觀察記錄或塊)。如果過濾操作涉及偽隨機數(shù)的使用,那么保存種子值和/或圖31中示出的其他類型的一致性元數(shù)據(jù)也可實現(xiàn)對混排可重復(fù)性和/或樣本可重復(fù)性的支持。例如,可通過以相同輸入數(shù)據(jù)組開始并且利用與用于初始混排的種子值相同的種子值重新初始化PRNG來獲得重復(fù)混排。類似地,重新使用相同種子還可導(dǎo)致可重復(fù)樣本。在各種實施方案中,可使用上述種類的一致性元數(shù)據(jù)在塊級、在觀察記錄級或在塊級和記錄級的某一組合處執(zhí)行一致分裂。在至少一個實施方案中,在執(zhí)行塊級分裂之后,訓(xùn)練組或測試組中的單獨塊的記錄可在用于訓(xùn)練/評估模型之前混排。

圖32是示出根據(jù)至少一些實施方案的可響應(yīng)于對機器學習模型的訓(xùn)練和評估迭代的請求在機器學習服務(wù)處執(zhí)行的操作的方面的流程圖。如元素3201所示,可通過諸如MLS I/O庫API的編程接口接收執(zhí)行一個或多個TEI(訓(xùn)練和評估迭代,諸如交叉驗證迭代)的請求??蔀榈梢唤M一致性元數(shù)據(jù),例如,包括偽隨機數(shù)源(PRNS)的一個或多個初始化參數(shù)值(諸如值V1)。例如,元數(shù)據(jù)可包括將用于初始化或重置PRNG的狀態(tài)的種子值,或者一列預(yù)先生成的偽隨機數(shù)內(nèi)的特定偏移的指針。在一些實施方案中,客戶端可包括TEI請求中的元數(shù)據(jù)的至少一部分。除了或代替種子值,一致性元數(shù)據(jù)可包括例如PRNS的標識符、PRNS的狀態(tài)的表示和/或指向一列偽隨機數(shù)的指針。

如果請求中指示的輸入數(shù)據(jù)組在多個文件或多個數(shù)據(jù)對象上伸展,那么可將文件/對象邏輯地級聯(lián)以便形成輸入數(shù)據(jù)的統(tǒng)一地址空間??蓪⑤斎霐?shù)據(jù)組的地址空間再劃分成鄰接塊(元素3207),例如,其中基于客戶端偏好、MLS服務(wù)器處的存儲器約束和/或其他因素選擇塊大小/邊界??蓪⑤斎霐?shù)據(jù)組的一個或多個塊從持久性存儲裝置讀入到一個或多個MLS服務(wù)器處的各自存儲器,例如,使得將塊C1的至少一部分存儲在服務(wù)器S1處的存儲器中并且將塊C2的至少一部分存儲在服務(wù)器S2處的存儲器中(元素3210)。

使用一致性元數(shù)據(jù),可選擇輸入數(shù)據(jù)的第一訓(xùn)練組Trn1(元素3213),例如,其包括塊C1的至少一些觀察記錄。可在塊級、觀察記錄級或者塊級和觀察記錄級的某一組合處選擇訓(xùn)練組。在至少一些實施方案中,部分塊可包括在訓(xùn)練組Trn1中(也就是說,給定塊的一些觀察記錄可包括在訓(xùn)練組中,而其他觀察記錄可最終包括在對應(yīng)測試組中)。在一個實施方案中,可使用初始化參數(shù)值V1來從源獲得第一組偽隨機數(shù),所述源基于源的初始狀態(tài)提供此類數(shù)的確定性序列,并且可進而使用第一組偽隨機數(shù)來選擇用于訓(xùn)練目標機器學習模型M1的訓(xùn)練組Trn1。

為了在模型已被訓(xùn)練之后評估所述模型,可使用一致性元數(shù)據(jù)確定測試組Tst1(元素3216)(例如,使用從相同源或者從狀態(tài)已與用于選擇Trn1的源的狀態(tài)同步的源獲得的一組偽隨機數(shù))。在一個實現(xiàn)中,例如,一致性元數(shù)據(jù)可指示種子Seed1以及從PRNG獲得的用于生成Trn1的偽隨機數(shù)的計數(shù)N1。如果原始PRNG不可用于提供用于選擇Tst1的偽隨機數(shù)(例如,如果在與用于識別Trn1的服務(wù)器不同的服務(wù)器處識別測試組,并且局部PRNG必須用在每個服務(wù)處),那么可利用Seed1初始化等效PRNG,并且可在使用隨后偽隨機數(shù)(從第(N1+1)個數(shù)開始)來選擇Tst1之前丟棄從等效PRNG生成的前N1個偽隨機數(shù)。在另一實現(xiàn)中,可設(shè)計用于選擇Trn1和Tst1(或任何對的訓(xùn)練組和測試組)的算法,其方式為使得,相同偽隨機數(shù)序列可用于選擇Trn1和Tst1而同時仍滿足前述一致性準則。在這種實現(xiàn)中,可使用相同種子值來針對Tst1初始化PRNG,并且可能不必跳過任何偽隨機數(shù)來選擇Tst1??墒褂脺y試組Tst1測試/評估模型M1(例如,可確定模型預(yù)測的準確度/質(zhì)量)。

在所描繪實施方案中,只要多個TEI保持將被執(zhí)行(如元素3219中確定的),就可適當?shù)刈R別下一個迭代的訓(xùn)練組和測試組,無需將塊內(nèi)容中的任一個復(fù)制到其他位置(元素3222)。在所描繪實施方案中,用于生成Trn1和Tst1的一致性元數(shù)據(jù)也可用于選擇隨后TEI的訓(xùn)練組和測試組。在其他實施方案中,各自的一致性元數(shù)據(jù)組可用于各自TEI。在塊級處初始地識別訓(xùn)練組的至少一些實施方案中,可在使用觀察記錄訓(xùn)練模型之前在存儲器中混排訓(xùn)練組的單獨塊內(nèi)的觀察記錄(即,可在沒有對持久性存儲裝置的任何額外I/O的情況下執(zhí)行塊內(nèi)混排)。類似地,在一些實施方案中,可在測試組用于評估之前對測試組執(zhí)行塊內(nèi)混排。在完成訓(xùn)練和評估的所有所請求迭代之后,可將在對應(yīng)于元素3201的操作中接收的請求的處理認為是完成的,并且可將迭代的最后結(jié)果提供到請求中指示的目的地(元素3225)。

對基于決定樹的模型的優(yōu)化

多種機器學習方法例如用于分類問題和回歸問題的技術(shù)可涉及決定樹的使用。圖33示出根據(jù)至少一些實施方案的可針對機器學習服務(wù)處的預(yù)測生成的決定樹的實例。包括多個觀察記錄(OR)諸如OR3304A、OR 3304B和OR 3304C的訓(xùn)練組3302將用于訓(xùn)練模型以預(yù)測因變量DV的值。訓(xùn)練組3302中的每個OR包含一些數(shù)量的自變量(IV)諸如IV1、IV2、IV3…IVn的值(例如,在OR 3304A中,IV1的值為x、IV2的值為y、IV3的值為k、IV4的值為m并且IVn的值為q)以及因變量DV的值(在OR 3304A的情況下其值為X)。在本文中,自變量還可被稱為輸入變量,并且因變量可被稱為輸出變量。通常,在至少一些實施方案中,并非所有OR 3304需要具有所有自變量的值;例如,一些值可能不能從獲得觀察記錄的源獲得。在所描繪實例中,假設(shè)還可被稱為“標簽”或“目標變量”(由于它是模型將預(yù)測其值的變量)的因變量具有兩個值X或Y中的一個。任何給定自變量以及因變量可具有任何數(shù)量的不同值,并且可以是任何期望數(shù)據(jù)類型,諸如數(shù)值、分類、布爾、字符等等。

基于對訓(xùn)練組的子集或所有的觀察記錄3304的分析,一個或多個決定樹3320可例如由上述機器學習服務(wù)的模型生成器部件或模型管理器部件構(gòu)造以便基于觀察記錄的至少一些IV的值對DV的值進行預(yù)測。決定樹3320的每個非葉節(jié)點諸如根節(jié)點3322可指示將對一個或多個自變量評估的一個或多個條件或謂詞,并且評估謂詞的結(jié)果可確定接下來朝向樹的葉節(jié)點采用的路徑,在所述葉節(jié)點處針對OR進行DV的預(yù)測。例如,在示出的決定樹中,根節(jié)點指示自變量IV2的值將與k進行比較。如果對于將要進行預(yù)測的給定觀察記錄IV2小于k,那么應(yīng)采用到達中間節(jié)點3323的路徑,如標記為“y”的邊所指示的(對應(yīng)于回答“IV2<k”評估時的“是”)。如果在正分析的觀察記錄中,IV2大于或等于k,那么將采用標記“n”(對應(yīng)于“否”)的路徑。將在各個非葉節(jié)點處采用類似決定直到到達葉節(jié)點,在這點處,將基于沿著路徑檢查的謂詞的組合預(yù)測DV的值。因此,在所描繪的樹3320中,如果發(fā)現(xiàn)以下條件為真,那么可在葉節(jié)點3324處預(yù)測DV值為X:(IV2<k)并且(IV1>=p)并且(IV6>=p)并且(IV7==q)并且(IV4?。絲)。將由基于決定樹的模型3335對測試數(shù)據(jù)組3330的所有記錄執(zhí)行類似遍歷,導(dǎo)致DV值的一組預(yù)測3340。對于許多訓(xùn)練數(shù)據(jù)組,一個或多個自變量可能不一定在決定樹中表示,例如,如果自變量IVn相對于預(yù)測DV不重要,那么包括在數(shù)3320中的節(jié)點中沒有一個可包括指代IVn的條件。通常,機器學習服務(wù)的模型生成器部件可負責識別使用自變量的某一子集準確地預(yù)測DV值的有效方式,以及以一個或多個決定樹的形式編碼此類有效方式。以下論述可有助于預(yù)測質(zhì)量和效率的多種因素。

圖33中示出簡單二進制分類實例以便簡化展示。在各種實施方案中,決定樹還可用于多路分類和/或回歸。在一些實施方案中,決定樹的給定節(jié)點可具有多于兩個子節(jié)點(即,朝向葉的多于兩個輸出路徑),也就是說,可在每個節(jié)點處評估比圖33中示出的簡單二進制測試復(fù)雜的多結(jié)果條件。如以下更詳細描述的,每個節(jié)點可由指示將檢查的謂詞/條件的對應(yīng)描述符、其子節(jié)點的數(shù)量和身份等表示,使得樹整體可表示為節(jié)點描述符的集合。生成的決定樹3320的大小和形狀可取決于各種因素,諸如發(fā)現(xiàn)的對于預(yù)測重要的自變量的數(shù)量、樹生成算法分析訓(xùn)練組的觀察記錄的次序等等。一些模型(諸如隨機森林模型和自適應(yīng)增強模型)可需要或依賴于許多不同樹的總體或集合,例如,使用訓(xùn)練數(shù)據(jù)組的各自子集獲得的各自樹。

用于進行基于決定樹的預(yù)測的成本(例如,根據(jù)使用的資源或需要的時間)可廣泛分類成兩類:訓(xùn)練成本和執(zhí)行/預(yù)測成本。執(zhí)行/預(yù)測成本還可在本文中稱為運行時間成本。訓(xùn)練成本指代用于構(gòu)造樹并使用訓(xùn)練數(shù)據(jù)組訓(xùn)練模型的資源,而執(zhí)行成本指代當模型對不用于訓(xùn)練階段的新數(shù)據(jù)(或測試數(shù)據(jù))進行預(yù)測時使用的資源。在至少一些實施方案中,如下所述,訓(xùn)練成本與對新數(shù)據(jù)進行的預(yù)測的質(zhì)量之間可能有權(quán)衡。通過在訓(xùn)練期間支出更多資源和/或時間,可能對于至少一些類型的問題,可進行更好(例如,更準確和/或更快)的預(yù)測。例如,不像在一些常規(guī)樹構(gòu)造方法中,在一些實施方案中,可按深度優(yōu)先次序構(gòu)造決定樹,其中節(jié)點的描述符在其創(chuàng)建時立即流傳輸?shù)奖P或某一其他形式的持久性存儲裝置,而不是需要樹構(gòu)造過程限制到給定服務(wù)器處可用的主存儲器的量。這種基于深度優(yōu)先和基于持久性存儲裝置的樹構(gòu)造過程可相對于寬度優(yōu)先的存儲器約束方法導(dǎo)致多種益處,諸如對于具有小填充量的觀察記錄類的更好的預(yù)測準確度,更好的處理器高速緩存利用率(例如,在與MLS服務(wù)器處使用的CPU或核相關(guān)聯(lián)的級別2或級別1硬件高速緩存)等等。盡管由于這種方法(由于樹大小在樹構(gòu)造過程期間不是存儲器約束的),可產(chǎn)生相當大的樹,但可以在訓(xùn)練階段的第二遍期間智能地修剪樹,例如,以基于一個或多個運行時間優(yōu)化目標移除所述節(jié)點的子集。術(shù)語“運行時間優(yōu)化目標”在本文中可用于指代與執(zhí)行經(jīng)訓(xùn)練的模型以進行預(yù)測相關(guān)聯(lián)的目標,諸如減少為測試數(shù)據(jù)組或生產(chǎn)數(shù)據(jù)組生成預(yù)測所花費的時間,減少此類預(yù)測所消耗的CPU或其他資源的量,等等。(在一些實施方案中,除了或代替此類運行時間或預(yù)測時間目標,MLS的客戶端還可或替代地具有與用于訓(xùn)練模型的資源或時間有關(guān)的訓(xùn)練時間目標)。可擬合存儲器約束內(nèi)的修剪樹可隨后用于對非訓(xùn)練數(shù)據(jù)組進行高質(zhì)量預(yù)測。以下提供關(guān)于在不同實施方案中可生成和修剪決定樹的方式的細節(jié)。

圖34示出根據(jù)至少一些實施方案的在機器學習模型的訓(xùn)練階段的樹構(gòu)造過程期間按深度優(yōu)先次序?qū)Q定樹節(jié)點的表示存儲在持久性存儲裝置處的實例。在所描繪實例中,在一個或多個決定樹3433的構(gòu)造之前,訓(xùn)練數(shù)據(jù)3432可被讀入到訓(xùn)練組存儲器緩沖器3340(例如,在一個或多個MLS服務(wù)器處)中。在其他實施方案中,整個訓(xùn)練組不需要被讀入到存儲器中,例如,在一個實現(xiàn)中,觀察記錄的指針可保留在存儲器中而不是整個記錄中。在創(chuàng)建數(shù)3433的每個節(jié)點時,可根據(jù)針對所述節(jié)點評估的謂詞在存儲器中分選或重新安排訓(xùn)練組(例如,觀察記錄本身或觀察記錄的指針)。例如,如果樹3433的節(jié)點N1包括對于自變量IV1的謂詞“IV1<=x”的評估,那么可重新安排訓(xùn)練組記錄,使得具有小于等于x的IV1值的所有記錄位于存儲器的一個鄰接部分P1中,并且在所描繪實施方案中,MLS的樹生成器部件可隨后分析所述部分P1的內(nèi)容以用于構(gòu)造左子樹(節(jié)點N2及其子節(jié)點)。在至少一些實施方案中,可在存儲器中執(zhí)行訓(xùn)練組記錄的重新安排(即,沒有對盤或其他持久性存儲裝置的I/O)。在至少一些實施方案中,在達到樹的較低級別時,可必須重新安排訓(xùn)練組的較小子集,從而潛在地提高硬件高速緩存利用水平。

在所描繪實施方案中,可按深度優(yōu)先次序構(gòu)造樹3433。盡管圖34中示出深度優(yōu)先遍歷/構(gòu)造的前序版本,但在一些實施方案中,可采用序中或序后深度優(yōu)先遍歷/構(gòu)造。節(jié)點的標簽“N<#>”指示它們被生成的序列以及對應(yīng)描述符3430從存儲器寫入持久性存儲裝置的次序,諸如在模型生成器或模型管理器在其處運行的MLS服務(wù)器處可訪問的各種基于盤的裝置。因此,節(jié)點N1先創(chuàng)建,并先寫入持久性存儲裝置,之后是N2、N3...,如箭頭3435指示的。在深度優(yōu)先序列中創(chuàng)建的第一葉節(jié)點是N6,之后是N7、N8、N9、N10和N12。描述符3430(例如,分別用于節(jié)點N1-N12的3430A-3430L)可指示例如將在對應(yīng)節(jié)點處評估的謂詞或條件、子節(jié)點的數(shù)量和/或身份等等。

除了將在每個節(jié)點處評估的謂詞之外,在所描繪實施方案中,還可為樹3433的一些或所有節(jié)點生成各自的預(yù)測效用度量(PUM)3434,并且將其存儲在持久性存儲裝置中,例如,PUM 3434A可針對節(jié)點N1計算和存儲,PUM 3434B針對節(jié)點N2等等。一般來說,給定節(jié)點的PUM可指示所述節(jié)點相對于可使用所有節(jié)點進行的預(yù)測的相對貢獻或有用性。在不同實施方案中,例如,基于正在解決的機器學習問題的類型、用于樹的構(gòu)造的特定算法等等,不同測量可使用為預(yù)測效用度量。在一個實現(xiàn)中,例如,Gini雜質(zhì)值可用作PUM或作為PUM的一部分,或者可使用基于熵的信息增益測量、或信息增益的某一其他測量。在一些實現(xiàn)中,可使用若干不同測量的組合。在至少一些實施方案中,可能必須在樹構(gòu)造期間的任何情況下計算謂詞的預(yù)測效用或益處的某一量度,以便將至少一些節(jié)點添加到樹,并且分配給節(jié)點的PUM可簡單地表示這種益處。在一些實現(xiàn)中,針對樹的一個或多個節(jié)點可不識別PUM值,也就是說,使PUM值可用于節(jié)點的子集可滿足樹修剪目的。

在至少一些實現(xiàn)中,可能基于節(jié)點的PUM創(chuàng)建決定樹的節(jié)點的部分(或全部)次序,并且這種排序可用于訓(xùn)練階段的樹修剪過程中,如下所述。在一個實施方案中,代替或除了生成所有節(jié)點的有序列表之外,可創(chuàng)建關(guān)于樹節(jié)點的PUM值的直方圖或類似分布指示符和/或?qū)⑵鋵懭氤志眯源鎯ρb置,例如,與節(jié)點描述符和PUM值一起。直方圖可例如比樹的節(jié)點和對應(yīng)的PUM值的詳盡列表占用少得多的存儲器。

圖35示出根據(jù)至少一些實施方案的可為決定樹的節(jié)點生成的預(yù)測效用分布信息的實例。PUM值在PUM直方圖3510的X軸上從左向右增加,并且落在每個PUM值桶內(nèi)的決定樹節(jié)點的數(shù)量由直方圖的對應(yīng)條的高度指示。由于生成分布信息,可識別表示相對低值節(jié)點的桶3520A,指示多少節(jié)點具有低PUM值,并且例如可識別指示高值節(jié)點的數(shù)量的桶3520B。在修剪期間,低值節(jié)點可被視為是比高值節(jié)點更好的從樹中移除的候選者。在一些實現(xiàn)中,屬于直方圖3510的一個或多個桶的至少一些節(jié)點的標識符可存儲在持久性存儲裝置中以輔助修剪階段。例如,在一個實現(xiàn)中,來自葉節(jié)點的兩個級內(nèi)的節(jié)點的標識符可存儲用于一個或多個低值桶,并且這種列表可用于識別修剪候選節(jié)點。

在至少一些實施方案中,訓(xùn)練階段的樹構(gòu)造過程之后可以是修剪過程,其中通過鑒于一個或多個運行時間優(yōu)化目標或準則來消除所選擇節(jié)點來減小樹表示的大小。在一些實施方案中,可實現(xiàn)與樹修剪周期交替的樹構(gòu)造的若干單獨周期,使得整個樹不需要一定在修剪其一些節(jié)點之前生成(這可有助于減少所生成節(jié)點的總數(shù))。在不同實施方案中,可考慮修剪的多個不同目標。圖36示出根據(jù)至少一些實施方案的至少部分地基于運行時間存儲器占用目標和累積預(yù)測效用的組合修剪決定樹的實例。術(shù)語“運行時間存儲器占用”在本文中可用于指示在給定服務(wù)器或服務(wù)器組合處執(zhí)行模型所需的主存儲器的量,例如在模型的訓(xùn)練階段完成之后。在所描繪實施方案中可考慮兩個沖突運行時間目標之間的權(quán)衡:在模型執(zhí)行期間存儲樹所需存儲器的量以及預(yù)測的準確度或質(zhì)量。在至少一些實現(xiàn)中,存儲器占用或使用(較低值較好)和準確度/質(zhì)量(較高值較好)可隨保留節(jié)點的數(shù)量(即,未從使用上述深度優(yōu)先流到持久性存儲裝置技術(shù)生成的初始決定樹中移除/修剪的節(jié)點)增加。運行時間存儲器占用目標可被翻譯成“最大節(jié)點”值3610,指示可保留的最大數(shù)量的節(jié)點。修剪的樹的質(zhì)量或準確度可根據(jù)累計保留的預(yù)測效用3620表示,例如,其可通過求保留節(jié)點的PUM值的和或者通過將保留節(jié)點的PUM值作為輸入的某一其他函數(shù)來計算。

在不同實施方案中,可使用各種方法針對移除識別節(jié)點。例如,在貪婪修剪技術(shù)3650中,可以自上而下方式分析未修剪的樹3604,選擇通向樹中每個分裂處具有最高PUM值的節(jié)點的路徑??筛櫾谪澙纷陨隙卤闅v期間遇到的節(jié)點的累積PUM值以及遇到的節(jié)點的總數(shù)。當遇到的節(jié)點的總數(shù)等于最大節(jié)點值時,可保留迄今為止遇到的節(jié)點,并且可丟棄或移除其他節(jié)點。在至少一些實施方案中,樹3604的修改或修剪的版本3608可與未修剪版本分開地存儲(例如,在持久性存儲裝置中),使得例如如果必要的話可使用不同的修剪方法來嘗試重新修剪。在其他實施方案中,可僅保留修剪的版本3608。在一些實施方案中,代替使用貪婪自上而下方法,可使用如由箭頭3660指示的由下至上的方法,其中先分析葉節(jié)點,并且如果節(jié)點對模型的質(zhì)量/準確度的貢獻低于閾值那么移除所述節(jié)點,直到滿足最大節(jié)點約束3610。在一些實施方案中,當選擇將被修剪的節(jié)點時,可咨詢PUM分布信息(諸如類似于圖35中示出的直方圖的直方圖)。在多個運行時間目標(其中一些可能彼此沖突)指導(dǎo)修剪過程的實施方案中,MLS可必須使沖突目標相對于彼此優(yōu)先化。例如,圖36中示出的最大節(jié)點目標可被認為比累積預(yù)測效用的目標具有更高的優(yōu)先級。在至少一些實現(xiàn)中,可使用隨機選擇過程來選擇至少一些節(jié)點以用于修剪,例如,無需嚴格地使用自上而下或由下至上方法同時仍然堅持運行時間目標和質(zhì)量目標。

在一些實施方案中,可在模型的訓(xùn)練階段的樹修剪過程期間考慮其他類型的運行時間目標。圖37示出根據(jù)至少一些實施方案的至少部分地基于預(yù)測時間變化目標修剪決定樹的實例。在一些情況下,取決于訓(xùn)練數(shù)據(jù)組的自變量的值的分布以及自變量與因變量之間的關(guān)系,諸如未修剪的決定樹3704的決定樹可以是非常不平衡的。也就是說,根節(jié)點與葉節(jié)點之間的一些路徑可能比其他路徑長得多。例如,可通過遍歷八個節(jié)點(包括N1和N8)的決定路徑3704A從根節(jié)點N1到達樹3704的葉節(jié)點N8,而可通過僅包括三個節(jié)點的決定路徑3704B到達葉節(jié)點N17。

在所描繪實施方案中,對給定觀察記錄的因變量進行預(yù)測所花費的時間(以及消耗的CPU資源)可至少大致地與決定路徑的長度成比例,如圖3786中指示的。對于一些對等待時間敏感的應(yīng)用,對不同觀察記錄或測試組進行預(yù)測所花費的時間的變化可被認為是模型質(zhì)量的重要指示符,其中較少變化通常優(yōu)于較多變化。因此,在這種實施方案中,預(yù)測時間的最大變化3710可以是重要的運行時間優(yōu)化目標,并且可從樹3704中移除一些數(shù)量的節(jié)點以便減少可能的決定路徑中的最大變化。如所示,例如,可從樹3704移除節(jié)點N6、N7、N8、N9、N10和N11,使得修改/修剪的樹3608中的最大決定路徑長度從八個減少到五個。在至少一些實施方案中,最小化預(yù)測時間的變化的主要目標可與最大化累積保留的預(yù)測效用的次要目標組合。例如,當將進行修剪的選擇同樣影響決定路徑的長度時,可比較替代修剪目標節(jié)點的PUM值,并且可保留具有較大PUM值的節(jié)點。

在至少一些實施方案中,當修剪決定樹時也可考慮業(yè)務(wù)目標。例如,考慮服務(wù)的一組潛在客戶被分類到段S1、S2...Sn中的情境,使得被分類為屬于段S6的客戶預(yù)期在屬于其他段的客戶的服務(wù)上花費相當高的金額。在這種情境中,沿著通向S6客戶的分類的決定路徑的節(jié)點可在修剪期間優(yōu)先于沿著通向其他段的決定路徑的節(jié)點被保留。在各種實施方案中,可使用存儲器占用/約束、質(zhì)量/準確度目標、絕對執(zhí)行時間(預(yù)測時間)目標、預(yù)測時間變化目標、業(yè)務(wù)/收入目標和/或其他目標的組合,具有不同目標的應(yīng)用特定優(yōu)先級。在至少一些實施方案中,MLS的編程接口可例如通過針對給定模型或問題的不同類型目標對客戶端的相對重要性進行分級來允許客戶端指示上述種類的一個或多個運行時間優(yōu)化目標。在一些實施方案中,關(guān)于不同問題域的決定樹修剪(例如,哪些修剪方法是最有用的)的最佳實踐的信息可由MLS收集在知識庫122(圖1所示)中并且根據(jù)需要應(yīng)用。

圖38示出根據(jù)至少一些實施方案的可生成用于訓(xùn)練在機器學習服務(wù)處使用決定樹總體的模型的多個作業(yè)的實例。在所描繪實施方案中,可從較大訓(xùn)練組3802獲得各自的訓(xùn)練樣本3805A、3805B和3805C(例如,使用諸如具有替換的隨機采樣的各種采樣方法中的任何一種),并且每個這種樣本可用于使用上述深度優(yōu)先方法創(chuàng)建各自決定樹。因此,訓(xùn)練樣本3805A可用于在訓(xùn)練階段3820的樹創(chuàng)建過程3812期間按深度優(yōu)先次序生成未修剪的決定樹(UDT)3810A并將其存儲在持久性存儲裝置處,訓(xùn)練樣本3805B可用于UDT 3810B,并且可使用訓(xùn)練樣本3805C生成UDT 3810C。在一些實施方案中,各自的作業(yè)J1、J2和J3可被插入到MLS作業(yè)隊列或集合中以構(gòu)造UDT 3810A、3810B和3810C。在至少一些實施方案中,例如使用MLS服務(wù)器池的各自服務(wù)器或者在相同MLS服務(wù)器處使用多個執(zhí)行線程(或進程),可并行地執(zhí)行樹創(chuàng)建過程的作業(yè)。

在所描繪實施方案中,可根據(jù)可適用運行時間優(yōu)化目標來修剪每個UDT,以便在訓(xùn)練階段的修剪過程3814中產(chǎn)生對應(yīng)的修剪的決定樹(PDT)3818。作業(yè)J4、J5和J6可被實現(xiàn)以用于分別修剪UDT3810A-3810C,從而產(chǎn)生PDT 3818A-3818C。最后,在所描繪實施方案中,可分別調(diào)度作業(yè)J7、J8和J9以便使用某一指定的測試組(或生產(chǎn)數(shù)據(jù)組)使用三個PDT 3818A-3818C來執(zhí)行模型,導(dǎo)致預(yù)測結(jié)果3850A-3850C。從不同PDT獲得的結(jié)果3850可以任何期望方式組合(例如,通過識別每個測試組觀察記錄的預(yù)測的平均值或中值),以便在正使用的機器學習算法的預(yù)測或測試階段期間產(chǎn)生聚集的預(yù)測結(jié)果3860。預(yù)測階段可與測試階段不同,例如,因為因變量的值對于預(yù)測階段中的數(shù)據(jù)組可能是未知的,而因變量的值對于用于測試模型的數(shù)據(jù)組可以是已知的。在一些實施方案中,另外作業(yè)J10可調(diào)度用于結(jié)果的聚集。注意,作業(yè)J1-J10中的任一個可與其他作業(yè)并行地執(zhí)行,只要滿足可適用作業(yè)依賴性,例如,作業(yè)J4可必須在J1完成之后發(fā)起,并且J7可在J4完成之后發(fā)起。然而,注意,J7可甚至在J2完成之前開始,因為J7不取決于J2,因此,在至少一些實施方案中,如果足夠的資源可用,那么預(yù)測/測試階段3830可與訓(xùn)練階段重疊。對于諸如隨機森林的一些基于樹總體的算法,可為給定訓(xùn)練組生成數(shù)百個UDT和PDT,并且并行性的使用可相對于順序方法大大減少訓(xùn)練時間和執(zhí)行時間。在一些實施方案中,不同運行時間優(yōu)化目標可應(yīng)用到修剪不同UDT,而在其他實施方案中,相同組的運行時間優(yōu)化目標可應(yīng)用到總體的所有樹。在各種實施方案中,已經(jīng)滿足其依賴性的所示不同任務(wù)中的任一個(例如,樹生成、樹修剪或模型執(zhí)行)的作業(yè)可在線程級別(例如,不同執(zhí)行線程可用于同一服務(wù)器上的作業(yè))、進程級別(例如,可針對將在相同服務(wù)器或不同服務(wù)器上并行地運行的多個作業(yè)啟動各自進程)或服務(wù)器級別(例如,可在各自MLS服務(wù)器處以不同線程/進程執(zhí)行一組可并發(fā)調(diào)度的作業(yè)中的每個作業(yè))并行地執(zhí)行。在一些實施方案中,可使用線程級別、進程級別以及服務(wù)器級別并行度的組合,例如,在將并行運行的四個作業(yè)中,兩個可在一個MLS服務(wù)器處以各自線程/進程運行,而兩個可在另一MLS服務(wù)器處運行。

圖39是示出根據(jù)至少一些實施方案的可在機器學習服務(wù)處執(zhí)行以按深度優(yōu)先次序生成并修剪存儲到持久性存儲裝置的決定樹的操作的方面的流程圖。如元素3901所示,可針對將使用訓(xùn)練數(shù)據(jù)組TDS訓(xùn)練的基于預(yù)測樹的模型M1識別一組運行時間優(yōu)化目標并且在機器學習服務(wù)處執(zhí)行所述運行時間優(yōu)化目標。在不同實施方案中,可確定和/或優(yōu)先化各種目標,包括例如存儲器使用或占用目標、諸如CPU的其他資源的利用目標、預(yù)測時間目標(例如,用于模型的預(yù)測運行的經(jīng)過時間)、預(yù)測時間變化目標(例如,減少不同觀察記錄的模型預(yù)測時間之間的差)、預(yù)測準確度/質(zhì)量目標、預(yù)算目標(例如,客戶端希望在模型執(zhí)行上花費的總金額,其可與模型執(zhí)行的CPU利用率或其他資源的利用水平成比例)、上述種類的收入/利潤目標等等。在一些實施方案中,可由MLS客戶端例如通過一個或多個MLS API以編程方式提供訓(xùn)練數(shù)據(jù)組和/或一些或所有優(yōu)化目標的指示(或不同目標的相對優(yōu)先級)。例如,在一個實施方案中,用于創(chuàng)建基于決定樹的模型的API可由客戶端調(diào)用,其中各自請求參數(shù)指示數(shù)據(jù)組和一個或多個運行時間目標。在一些實施方案中,至少一些目標可以是定性的而不是以精確的量表示,例如,可能不總是可能指示累積預(yù)測效用的精確目標值,而是盡可能最大化累積預(yù)測效用的目標仍然可用于在一些情境下指導(dǎo)修剪。

可使用所有訓(xùn)練數(shù)據(jù)組的一些所選擇子集來發(fā)起M1的訓(xùn)練階段的樹構(gòu)造過程。在一些實現(xiàn)中,訓(xùn)練數(shù)據(jù)(或至少指向訓(xùn)練數(shù)據(jù)的觀察記錄的指針)可在構(gòu)造樹之前加載到存儲器中,并且基于在生成節(jié)點時在樹的節(jié)點處評估的謂詞重新安排在存儲器中。在樹構(gòu)造過程期間,在所描繪實施方案中,可按深度優(yōu)先次序生成決定樹的節(jié)點(元素3904),并且可按深度優(yōu)先次序?qū)⒐?jié)點信息諸如測試的謂詞以及子節(jié)點計數(shù)或子節(jié)點的指針流傳輸?shù)匠志眯源鎯ρb置(例如,基于轉(zhuǎn)盤的存儲裝置)。在所描繪實施方案中,可存儲至少一些節(jié)點的預(yù)測效用度量(PUM)值,指示節(jié)點對由模型進行的預(yù)測的貢獻或效用。在不同實現(xiàn)中,若干類型的統(tǒng)計測量中的任一個可用作PUM值,諸如Gini雜質(zhì)價值、熵測量、信息增益測量等等。例如,可在訓(xùn)練階段的隨后樹修剪過程中使用PUM值以便確定可在不顯著影響模型預(yù)測的質(zhì)量的情況下將節(jié)點從樹修剪或移除的次序。在一些實施方案中,可在樹構(gòu)造過程期間生成直方圖或PUM在樹的節(jié)點之間的分布的類似表示。在其他實施方案中,可在樹的單獨遍歷中收集分布信息。術(shù)語“樹構(gòu)造”和“樹創(chuàng)建”在本文中可用作同義詞。

在所描繪實施方案中,可例如在自上而下的貪婪方法或由下至上的方法中分析所構(gòu)造的樹以便識別鑒于運行時間優(yōu)化目標和/或節(jié)點的PUM值應(yīng)移除的一些數(shù)量的節(jié)點(元素3907)。在一些實施方案中,例如,如果未修剪的樹已經(jīng)滿足期望的優(yōu)化目標,那么不需要執(zhí)行樹修剪階段。在至少一個實施方案中,可能是這種情況:例如因為成本效益分析表明移除是不值得做的,所以不修剪給定樹的任一個節(jié)點??衫鐚Q定樹的修改或修剪的版本存儲(元素3910)在與未修剪的樹分開的位置中,以便稍后在模型的測試階段和/或生產(chǎn)級別預(yù)測運行期間使用。

取決于模型是否是基于總體的,在一些情況下可能必須構(gòu)造多個樹。如果需要更多的樹(如元素3913中確定的),那么可生成訓(xùn)練數(shù)據(jù)組的不同樣本并且可重復(fù)元素3904向前的構(gòu)造和修剪操作。盡管并行度未在圖39中明確地示出,但在一些實施方案中,如前所述,可并行地構(gòu)造和/或修剪多個樹。在所描繪實施方案中,在已構(gòu)造和修剪所有樹之后,可使用修剪的樹執(zhí)行模型以便獲得一組或多組預(yù)測(元素3916)。在一些實現(xiàn)中,可并行地執(zhí)行對應(yīng)于多個修剪的樹的預(yù)測運行。在一些實施方案中,可獲得可用于確定在預(yù)測運行期間是否實現(xiàn)優(yōu)化目標的度量。如果在適當程度上滿足所有目標,如元素3919中檢測到的,那么模型的訓(xùn)練和執(zhí)行階段可被認為完成(元素3928)。如果未滿足一些目標(諸如期望的準確度水平)并且如果諸如更多的存儲器的另外資源是可用的(如元素3922中檢測到的),那么在一些實施方案中,可使用另外資源重試訓(xùn)練和/或執(zhí)行階段(元素3925)。在一些實施方案中,可重復(fù)此類重試直到滿足目標或者沒有另外資源可用。在不同實施方案中,本文描述的用于基于訓(xùn)練時間對運行時間權(quán)衡生成和修剪樹的技術(shù)可用于各種類型的基于樹的模型,包括例如CART(分類和回歸樹)模型、隨機森林模型以及自適應(yīng)增強模型。在一些實施方案中,可迭代地執(zhí)行樹生成和樹修剪,例如,其中在模型的訓(xùn)練階段期間,樹生成的若干不同周期和樹修剪的若干不同周期彼此交替。在這種情境中,在第一樹生成周期中,可按深度優(yōu)先次序生成并存儲一些數(shù)量的節(jié)點。隨后,可暫停樹生成,在第一樹修剪周期中可針對修剪檢查所創(chuàng)建節(jié)點(例如,基于其PUM值和優(yōu)化目標),并且可基于所述分析移除一些節(jié)點??稍谙乱粋€樹生成周期中為所得樹生成更多節(jié)點,之后在下一個樹修剪周期期間移除零個或多個節(jié)點,等等。此類迭代生成和修剪可幫助將具有低效用的節(jié)點從樹消除,時間上早于其中在修剪任何節(jié)點之前生成整個樹的方法。

在至少一個實施方案中,機器學習服務(wù)的多個不同部件可集體地執(zhí)行與決定樹優(yōu)化相關(guān)聯(lián)的操作??稍谡埱?響應(yīng)處理機處接收通過一個或多個API提交的對基于樹的模型(例如,基于單個樹的模型或使用樹總體的模型)的訓(xùn)練或創(chuàng)建的客戶端請求,所述請求/響應(yīng)處理機可確定請求的性質(zhì)并且將客戶端請求(或客戶端請求的內(nèi)部表示)傳遞到模型生成器或模型管理器。在一些實施方案中,各自MLS部件可執(zhí)行訓(xùn)練階段的每個過程,例如,一個或多個樹生成器部件可按深度優(yōu)先次序創(chuàng)建樹并且將節(jié)點描述符流傳輸?shù)揭粋€或多個MLS服務(wù)器處的持久性存儲裝置,而一個或多個樹減少器可負責修剪樹。在至少一個實施方案中,MLS的一個或多個訓(xùn)練服務(wù)器可用于訓(xùn)練基于樹的模型,而一個或多個預(yù)測服務(wù)器可用于實際預(yù)測。在為不同任務(wù)創(chuàng)建各自作業(yè)的實施方案中,作業(yè)管理器可負責維持出色作業(yè)的集合或隊列并負責在資源變得可用并且滿足作業(yè)依賴性時調(diào)度作業(yè)。在一些實施方案中,可由前端請求/響應(yīng)處理機將響應(yīng)(例如,基于樹的模型的標識符或者預(yù)測運行的結(jié)果)提供給客戶端。在至少一些實施方案中,這些部件中的一些或全部可包括專門化的、已調(diào)諧的或任務(wù)優(yōu)化的硬件和/或軟件。

特征處理權(quán)衡

如前所述,在提供商網(wǎng)絡(luò)處實現(xiàn)的機器學習服務(wù)可支持多種多樣的特征處理變換(其可被稱為FPT),諸如分位數(shù)分倉、一個或多個變量的值的笛卡爾乘積的生成、n-元語法生成等等。對于具有許多自變量并且將用于訓(xùn)練模型的輸入數(shù)據(jù)組,非常大數(shù)量的特征處理變換可能潛在地可行用于從原始輸入數(shù)據(jù)生成導(dǎo)出或處理的變量,使得處理的變量可隨后用于預(yù)測客戶端感興趣的一個或多個目標或因變量的值。對于客戶端,可能不總是直截了當?shù)毓烙嫿o定FPT相對于使用FPT的結(jié)果訓(xùn)練的模型的預(yù)測的質(zhì)量或與實現(xiàn)FPT相關(guān)聯(lián)的成本的有用性。每個FPT(或相關(guān)FPT組)可具有其自己的用于模型生命周期的各個階段的成本組,其可以諸如經(jīng)過時間、資源消耗等等各種單位中的任一個表示。例如,在一些實施方案中,在確定FPT是否值得時,可都必須考慮將FPT應(yīng)用到訓(xùn)練組、使用包括FPT的結(jié)果的輸入數(shù)據(jù)訓(xùn)練模型、將FPT應(yīng)用到評估或測試數(shù)據(jù)組以及包括FPT的處理的變量作為用于預(yù)測/評估運行的模型執(zhí)行的輸入的另外或邊際成本(例如,存儲器、CPU、網(wǎng)絡(luò)或存儲成本)。在一些實施方案中,MLS可被配置來例如基于鑒于由客戶端指示的目標的自動成本效益分析向客戶端提供關(guān)于可能特征處理變換組的推薦。例如,可能在訓(xùn)練時花費更多時間或更多資源分析FPT,以便在模型的生產(chǎn)運行期間提出更準確和/或更快的預(yù)測。至少一些此類特征處理推薦技術(shù)可具有與可針對在一些實施方案中如上所述的配方執(zhí)行的自動參數(shù)調(diào)諧類似的目標。

圖40示出根據(jù)至少一些實施方案的被配置來基于對候選特征處理變換的成本和益處的分析為客戶端生成特征處理提議的機器學習服務(wù)的實例。如圖所示,機器學習服務(wù)的特征處理(FP)管理器4080可包括候選生成器4082和優(yōu)化器4084。FP管理器4080可接收訓(xùn)練數(shù)據(jù)組4004的指示,所述訓(xùn)練數(shù)據(jù)組包括一組原始或未處理的自變量4006的值以及其值將由模型預(yù)測的一個或多個目標變量4007。模型可使用使用一個或多個FPT從訓(xùn)練數(shù)據(jù)組導(dǎo)出的變量來訓(xùn)練。此外,在所描繪實施方案中,F(xiàn)P管理器4080還可確定一個或多個預(yù)測質(zhì)量度量4012,以及用于預(yù)測的一個或多個運行時間目標4016??稍诓煌瑢嵤┓桨钢胁⑶裔槍Σ煌愋偷哪P痛_定各種質(zhì)量度量4012,諸如二進制分類問題的ROC(接收器操作特性)AUC(曲線下區(qū)域)測量、回歸問題的均方誤差度量等等。在一些實施方案中,客戶端可指示用于訓(xùn)練模型的一個或多個約束4014(諸如一個或多個需要的或強制的FPT和/或一個或多個禁止的FPT),并且FP管理器可嘗試滿足指定的約束。目標4016可包括用于產(chǎn)生對指定大小的數(shù)據(jù)組的預(yù)測的經(jīng)過時間目標、當進行此類預(yù)測時不超過的存儲器的量的目標、關(guān)于每個預(yù)測的最大計費成本的預(yù)算目標等等。在一些實施方案中,F(xiàn)P管理器還可提供有一組訓(xùn)練階段目標,諸如訓(xùn)練模型所消耗的最大時間量、訓(xùn)練模型不超過的預(yù)算、或MLS向客戶端提供特征處理提議的時間或預(yù)算限制。

在所描繪實施方案中,候選生成器4082可負責識別初始候選FPT組4052。在一些實現(xiàn)中,初始候選FPT組可至少在MLS內(nèi)部表示為可能變換的非循環(huán)圖,諸如包括FPT1-FPT10的所示圖。非循環(huán)圖表示可指示例如應(yīng)執(zhí)行不同F(xiàn)PT的推薦序列和/或不同F(xiàn)PT之間的依賴性。例如,F(xiàn)PT組4052的所描繪表示可指示FPT9取決于FPT7的結(jié)果,F(xiàn)PT7取決于FPT3的結(jié)果,等等。在沒有指示用于生成特征處理提議的預(yù)算限制或時間限制的一些實施方案中,候選生成器4082可包括大量(例如,幾十或幾百)個候選FPT。在其他實施方案中,其中諸如時間限制或資源限制的約束關(guān)于FP提議生成被放置在FP管理器上,候選FPT的初始組4052可包括可行候選變換的相對小的子集。初始組4052可包括被指定(例如,在約束4014中)為強制性的任何FPT,并且排除被禁止的任何FPT。

優(yōu)化器4084可負責生成諸如4062A和4062B的一個或多個FP提議。FP提議通??赏ǔ楹蜻x組4052的版本,例如基于由優(yōu)化器執(zhí)行的成本效益分析,已從中移除或修剪了某一數(shù)量的候選FPT。如果客戶端通過約束4014指示了強制性特征處理變換,那么此類變換可保留在FP提議中。如以下在各種實施方案中描述的,成本效益分析可包括多個作業(yè)的調(diào)度,例如涉及利用候選FPT的初始組的結(jié)果訓(xùn)練和評估模型、利用修改的評估組重新評估模型以估計各種FPT對預(yù)測質(zhì)量的影響和/或利用經(jīng)修改的處理變量組重新訓(xùn)練模型以估計各種FPT對預(yù)測運行時間度量的影響的作業(yè)。在圖40示出的情境中,通過移除FPT5、FPT8、FPT9和FPT10從初始FPT候選組4052獲得提議4062A,而通過從FPT候選組4052消除FPT4、FPT7、FPT8、FPT9和FPT10得到提議4062B。在不同實施方案中可使用各種技術(shù)來選擇在不同提議中被消除的FPT,諸如隨機移除、貪婪算法等等,如以下更詳細描述的。從候選組修剪(例如,移除)FPT的優(yōu)點之一是客戶端可能不必費心在其訓(xùn)練數(shù)據(jù)組和測試數(shù)據(jù)組中包括一些自變量。例如,如果FPT5是候選組4052中應(yīng)用到給定自變量4006的唯一變換,并且FP管理器確定不需要FPT5滿足客戶端的目標,那么客戶端不需要收集自變量4006的值用于未來訓(xùn)練和/或測試/評估數(shù)據(jù)。由于收集、存儲和向MLS提供訓(xùn)練數(shù)據(jù)可能對客戶端獲得機器學習問題的解決方案的總成本具有顯著影響,此類訓(xùn)練數(shù)據(jù)減少優(yōu)化可能是特別有價值的。

在至少一些實施方案中,一個或多個FP提議4062可以編程方式提供給MLS的客戶端,例如以目錄或菜單的形式,客戶端可根據(jù)所述目錄或菜單批準特定提議或多個提議。在一些情況下,可使用迭代過程來達到最終批準的FP計劃,例如,給定迭代包括MLS向客戶端提供提議,之后是來自客戶端的提議改變請求。如果客戶端不批準在迭代期間生成的任一提議,那么在一些實施方案中,F(xiàn)P管理器可向客戶端傳輸需求重新考慮請求,實際上請求客戶端優(yōu)先化/修改至少一些目標或質(zhì)量度量或放寬一些約束??蛻舳丝赏ㄟ^指示一些或所有目標和度量的相對優(yōu)先級來對重新考慮請求作出響應(yīng)。在FP提議最終被批準之后,MLS可代表客戶端實現(xiàn)所述提議,例如,使用批準的FPT的結(jié)果作為訓(xùn)練模型的輸入并隨后獲得關(guān)于指定的非訓(xùn)練數(shù)據(jù)的預(yù)測/評估?;谔卣魈幚沓杀拘б鏅?quán)衡的這種優(yōu)化可用于各種模型類型,包括例如分類模型、回歸模型、聚類模型、自然語言處理模型等,并且用于不同實施方案中的各種問題域。

在至少一些實施方案中,客戶端可指示使用前述種類的配方語言編寫的配方將被用于生成用于訓(xùn)練其模型的處理過的變量。在這種情境中,MLS可分析配方中指示的FPT,并且可在生成將提供給客戶端的FP提議時判定配方中的一些(或所有)FPT是否應(yīng)被替換或消除。也就是說,如果更好的替代方法似乎可用,那么在此類實施方案中,F(xiàn)P管理器可被配置為建議或推薦對客戶指定的FP配方的修改。在一些實施方案中,一個或多個編程接口可對客戶端可用,以使得其能夠提交對FP優(yōu)化的請求,例如指示其訓(xùn)練數(shù)據(jù)、目標變量、運行時間目標、預(yù)測質(zhì)量度量等等。響應(yīng)于通過這種API接收請求,MLS可利用各種內(nèi)部API來提供所請求推薦,例如,可使用較低級API來調(diào)度各自的作業(yè)以使用上述分塊方法讀取訓(xùn)練數(shù)據(jù),以便執(zhí)行特征處理、訓(xùn)練、評估、重新訓(xùn)練和/或重新評估。在至少一個實施方案中,編程接口(例如,基于web的儀表板)可對客戶端可用,以使得其能夠查看針對各種模型滿足其運行時間目標的程度。

圖41示出根據(jù)至少一些實施方案的基于測量的預(yù)測速度和預(yù)測質(zhì)量從若干替代者選擇特征處理組的實例。在所描繪圖中,預(yù)測速度(在訓(xùn)練之后預(yù)期對其進行預(yù)測的給定數(shù)據(jù)組大小的)沿著X軸線從左到右增加。每個點4110(例如,十二個點4110A-4110N中的任一個)表示具有用于訓(xùn)練模型的對應(yīng)組的FPT的模型的預(yù)測運行。代表其訓(xùn)練和執(zhí)行模型的客戶端指示了目標預(yù)測速度目標PSG和目標預(yù)測質(zhì)量目標PQG。在其結(jié)果已由FP管理器獲得的FPT的組中,F(xiàn)PT組4110G被選擇作為最佳替代,因為它滿足客戶端的準則中的兩者。

在至少一些情境中,并非所有客戶端的目標可同時實現(xiàn)。例如,客戶端可期望預(yù)測時間小于X秒,并且還期望預(yù)測質(zhì)量超過某個測量Q1,使得MLS不一定能夠滿足兩個目標。在一些此類情況下,可請求客戶端優(yōu)先化目標,使得MLS可嘗試優(yōu)先于其他目標優(yōu)化一個目標。在許多實施方案中,至少一些客戶端可不必指定質(zhì)量目標(或者可不指定質(zhì)量目標,即使可指定此類目標),并且代替可依賴于MLS來選擇應(yīng)目標定于優(yōu)化的適當預(yù)測質(zhì)量準則。在至少一個實施方案中,MLS可甚至選擇和/或優(yōu)先化應(yīng)代表給定客戶端定目標的運行時間目標。在一些實施方案中,可允許關(guān)于機器學習更有見識的客戶端在他們希望時提供關(guān)于FP權(quán)衡管理的盡可能多的詳細指導(dǎo),例如在與MLS交互時使用任選API參數(shù)的值。因此,MLS可能夠處理關(guān)于管理特征處理成本與益處之間的權(quán)衡的各種客戶端專業(yè)水平。

圖42示出根據(jù)至少一些實施方案的機器學習服務(wù)的客戶端與特征處理管理器之間的示例性交互。如所示,在系統(tǒng)4200中實現(xiàn)的機器學習服務(wù)的客戶端164可通過編程接口4262提交模型創(chuàng)建請求4210。模型創(chuàng)建請求4210可指示例如以下元素的某一組合:一個或多個訓(xùn)練組4220(其包括將預(yù)測的目標變量的指示)、一個或多個測試組或評估組4222、一個或多個客戶端感興趣的模型質(zhì)量度量4224、目標4225(諸如預(yù)測運行時間目標和/或訓(xùn)練目標)以及在一些情況下根據(jù)MLS的配方語言規(guī)范格式化的一個或多個任選特征處理配方4226。在至少一個實施方案中,客戶端還可任選地指示一個或多個約束4227,諸如必須代表客戶端執(zhí)行的強制特征處理變換或者不能執(zhí)行的禁止變換。在一些實施方案中,并非圖42中示出的所有元素可包括在模型創(chuàng)建請求4210中;例如,如果沒有指示特定模型質(zhì)量度量,那么FP管理器可基于正被解決的機器學習問題的性質(zhì)選擇用于優(yōu)化的某些度量。模型創(chuàng)建請求4210可由MLS的前端請求/響應(yīng)處理機4280接收,并且請求的內(nèi)部表示可移交到FP管理器4080。模型創(chuàng)建請求在本文中還可被稱為模型訓(xùn)練請求。

FP管理器4080可生成特征處理變換的候選組,并且隨后修剪所述候選組以便基于質(zhì)量度量、目標和/或針對模型識別的約束識別提議。在所描繪實施方案中,可在此過程期間生成和調(diào)度多個不同的作業(yè),包括例如一個或多個特征處理作業(yè)4255、一個或多個模型評估作業(yè)4258和/或一個或多個訓(xùn)練或重新訓(xùn)練作業(yè)4261。如果模型創(chuàng)建請求包括配方4226,那么FP管理器可將配方看作其對特征處理選項的探索的起點,而不必限制考慮的變換組到配方中指示的那些變換。在一些實施方案中,F(xiàn)P管理器可咨詢MLS的最佳實踐知識庫以便例如基于問題域是將創(chuàng)建或訓(xùn)練的模型的地址識別候選變換。如前所述,一旦識別FPT(特征處理變換)的候選組,就可在若干優(yōu)化迭代中的每一個中從所述組移除或修剪變換的某一子集,并且可使用修剪的FPT組訓(xùn)練和/或評估模型的不同變型。在至少一些實施方案中,模型變型4268可存儲在MLS制品儲存庫內(nèi)。如果客戶端請求包括需要MLS提供FP提議的訓(xùn)練時間目標或期限,那么此類目標/期限可影響由FP管理器4080使用的特定修剪技術(shù),例如,貪婪修剪技術(shù),諸如以下示出的可在嚴格訓(xùn)練時間期限內(nèi)使用的貪婪修剪技術(shù)。由于至少對于一些問題,可能考慮非常大數(shù)量的FPT,MLS可在客戶端不指定訓(xùn)練時間目標的情境下設(shè)置其自己的訓(xùn)練時間目標,例如以便保持訓(xùn)練時間資源消耗在合理界限內(nèi)。在一些實施方案中,可針對FP提議的生成對客戶端收費固定費用,在這種情況下,F(xiàn)P管理器對不同F(xiàn)PT選項的實驗/測試可能受到對應(yīng)于固定費用的資源使用限制的約束。

在所描繪實施方案中,F(xiàn)P管理器4080可最終終止其對替代變換組的分析并且向客戶端164提供一個或多個FP提議4272(例如,通過由請求/響應(yīng)處理機4280生成的API響應(yīng))。在客戶端提供配方4226的情境下,F(xiàn)P提議可指示基于由MLS執(zhí)行的分析而推薦的對客戶端的配方的一個或多個改變,或者可指示完全不同的配方。在一些實施方案中,F(xiàn)P提議可根據(jù)MLS的配方語言格式化,而在其他實施方案中,可提供所提議特征處理變換的不同表示。客戶端164可批準一個或多個提議,或者可例如通過FP改變請求4278請求對提議的改變。在至少一些實施方案中,迭代協(xié)商可在MLS與客戶端之間發(fā)生,其中客戶端提交對改變的建議,并且MLS執(zhí)行另外評估或重新訓(xùn)練操作以嘗試改變。在一些實施方案中,在協(xié)商結(jié)束之前執(zhí)行的此類迭代的數(shù)量也可至少部分地基于計費,例如,可基于重新測試的每個迭代所消耗的時間或資源的量對客戶端收費。最終,在所描繪實施方案中,客戶端可批準特定FP提議,并且例如通過MLS API提交模型執(zhí)行請求4254。生產(chǎn)級模型執(zhí)行管理器4232可隨后實現(xiàn)對應(yīng)于所批準FP提議的模型的生產(chǎn)運行4258??蛻舳丝苫谠谏a(chǎn)運行中實現(xiàn)的結(jié)果例如通過提交另外改變請求4278和/或基于新的訓(xùn)練數(shù)據(jù)請求重新訓(xùn)練或重新創(chuàng)建模型來請求另外改變。

在各種實施方案中,可使用多種不同技術(shù)來修剪候選FP變換(即,從候選組中移除變換)。圖43示出根據(jù)至少一些實施方案的使用隨機選擇修剪候選特征處理變換的實例。在這種方法中,初始候選FPT組4302的一個或多個FPT可選擇用于隨機地移除,并且這種移除對模型的質(zhì)量度量和目標的影響可消除。例如,F(xiàn)P突變4320A可由從候選FPT組4302移除FPT11造成,而FP突變4320B可由FPT6、FPT7和FPT13的移除造成。

取決于候選組的不同F(xiàn)PT之間的邏輯關(guān)系或依賴性,選擇FPT組中的一個特定節(jié)點作為修剪受害者可能也導(dǎo)致一個或多個其他節(jié)點的移除。例如,如果FPT13和FPT7取決于FPT6(例如使用其輸出),那么將FPT6選擇作為受害者也可能導(dǎo)致FPT7和FPT13的修剪。移除受害者FPT的成本和益處的估計可例如通過以下方式確定:使用由受害者產(chǎn)生的特征的虛擬或統(tǒng)計選擇的替換值來重新評估模型以確定對預(yù)測質(zhì)量度量的影響,和/或通過利用較小組的特征重新訓(xùn)練模型以確定對運行時間性能度量的影響。在所描繪實施方案中,F(xiàn)P管理器可存儲每個FP突變4320的修剪結(jié)果,例如作為MLS制品儲存庫中的制品。對應(yīng)于突變4320B的修剪結(jié)果4390例如可包括對移除的FPT(FPT6、FPT7和FPT13)的預(yù)測質(zhì)量貢獻4333的估計,以及對移除的FPT對預(yù)測運行時間成本的貢獻4334的估計。對不同突變的此類估計可用于生成將由FP管理器提供給客戶端的提議。如果不預(yù)期不同候選FPT在其成本和質(zhì)量貢獻方面顯著不同,或者如果FP管理器不能預(yù)測(例如,基于最佳實踐)不同候選者是否可能具有顯著不同的成本或質(zhì)量貢獻,那么隨機修剪方法可能特別有用。

在一些實施方案中,例如由于某一數(shù)量的隨機修剪迭代或者基于對類似模型的經(jīng)驗,F(xiàn)P管理器的優(yōu)化器可能識別預(yù)期對模型質(zhì)量提供顯著積極貢獻的特定FPT。FP管理器可隨后基于候選FPT圖中此類高度有益FPT的位置來開發(fā)提議,例如,包括有益FPT及其鄰居的提議。圖44示出根據(jù)至少一些實施方案的用于識別推薦的候選特征處理變換組的這種貪婪技術(shù)的實例。

在初始候選FPT組4402的圖中,F(xiàn)P管理器已將節(jié)點4410(對應(yīng)于FPT14)識別為具有對模型質(zhì)量的最高貢獻(或已評估其質(zhì)量貢獻的節(jié)點中的至少最高貢獻)的特定節(jié)點。因此,節(jié)點4410被選擇作為用于構(gòu)造將包括在將提供給客戶端的推薦FPT提議中的FPT圖的起始節(jié)點。在構(gòu)建提議的一種方法中,在識別起始FPT節(jié)點之后,其前提條件節(jié)點(如果有的話)也可包括在提議中。例如,為了執(zhí)行由FPT14指示的變換,在所描繪實例中可能需要FPT10、FPT3、FPT2和FPT1的結(jié)果??呻S后使用重新評估和重新訓(xùn)練迭代來確定已經(jīng)選擇的節(jié)點的其他鄰居節(jié)點(諸如節(jié)點FPT8、FPT9、FPT4、FPT11、FPT5和FPT12)的貢獻和成本,直到滿足期望的質(zhì)量和/成本目標。所得到的FPT圖(其中移除了其他候選FPT)可包括在傳輸給客戶端的FP提議4432中。

在不同實施方案中,基于對特定運行時間目標的優(yōu)化生成FP提議的過程可涉及若干階段。在一個實施方案中,例如,可首先使用初始識別的整組候選FPT來生成/訓(xùn)練模型。關(guān)于某些候選處理變量(PV)的值的統(tǒng)計可獲得并且稍后用于確定PV及其對應(yīng)FPT對模型預(yù)測質(zhì)量的具體貢獻。圖45示出根據(jù)至少一些實施方案的特征處理優(yōu)化技術(shù)的第一階段的實例,其中使用第一組候選處理變量訓(xùn)練模型并對所述模型進行評估。如圖所示,在所描繪實施方案中,可從未處理的訓(xùn)練組4502獲得一組原始處理的變量(PV)4560(即,F(xiàn)PT的結(jié)果)。未處理的訓(xùn)練組4502可包括某一數(shù)量的自變量IV1、IV2...以及因變量或目標變量DV。PV訓(xùn)練組4560可包括某一數(shù)量的PV,諸如PV1(從特征處理變換FPT1獲得)、PV2(通過FPT2獲得)和PV3(通過FPT3獲得)。注意,雖然通常訓(xùn)練組可包括一個或多個未處理的變量以及某一數(shù)量的處理的變量,但為了簡化展示,在示例性訓(xùn)練組4560中僅示出三個處理的變量。在所描繪實施方案中,可為一些或所有PV生成各自的統(tǒng)計組(諸如數(shù)值PV的平均值、中值、最小值和最大值,或非數(shù)值PV的模式值),諸如PV1統(tǒng)計、PV2統(tǒng)計和PV3統(tǒng)計。在至少一些實施方案中,在生成FPT之前,未處理的訓(xùn)練數(shù)據(jù)的分類變量可轉(zhuǎn)換或映射到數(shù)值或布爾值,并且在一些情況下,數(shù)值可歸一化(例如,映射到范圍-1至1內(nèi)的實數(shù))。

模型4510可在某一訓(xùn)練成本TC下使用原始PV訓(xùn)練組4560訓(xùn)練。TC可以各種單位表示,諸如在具有存儲器大小M1的機器上的CPU-秒或?qū)?yīng)的計費金額。在所描繪實施方案中,可使用從未處理的評估組(或若干此類組)4504導(dǎo)出的PV組4562來評估模型。因此,正如分別使用變換FPT1、FPT2、FPT3獲得PV1、PV2和PV3的訓(xùn)練組值,可通過將相同類型的變換應(yīng)用到未處理的評估組4504來獲得PV1、PV2和PV3的評估組值。評估訓(xùn)練模型的成本(EC)可至少在一些情況下小于TC,所述TC為利用所有候選FPT的結(jié)果訓(xùn)練模型的成本(例如,因為識別將用于預(yù)測的各種系數(shù)可比在測試/評估運行期間簡單地應(yīng)用系數(shù)更計算密集)。在不修剪任一候選FPT的情況下獲得的原始評估結(jié)果4536可保存在持久性儲存庫中(例如,稍后如下所述地使用以確定不同F(xiàn)PT的各自質(zhì)量貢獻)。類似地,可收集并保存對應(yīng)于所有候選FPT的使用的原始預(yù)測運行時間度量4537(例如,經(jīng)過時間、使用的CPU秒、使用的存儲器等)(例如,稍后在確定不同F(xiàn)PT的各自成本貢獻時使用)。

對于至少一些類型的機器學習問題,通常,當更多的FPT用于訓(xùn)練時,模型的預(yù)測質(zhì)量可能更高??呻S后在如下所述的特征處理技術(shù)的稍后階段中獲得對應(yīng)于不同修剪選擇的模型的預(yù)測質(zhì)量度量的差或增量。圖46示出根據(jù)至少一些實施方案的特征處理優(yōu)化技術(shù)的隨后階段的實例,其中使用修改的評估數(shù)據(jù)組來重新評估模型以確定使用各種處理的變量對預(yù)測質(zhì)量的影響。在所描繪實例中,獲得的用于PV1、PV2和PV3的統(tǒng)計用于修改模型的各自運行的評估數(shù)據(jù)組。如所示,在修改的評估組4662A中,原始PV1值被PV1的平均值(來自早前獲得的PV1統(tǒng)計)替換,而PV2和PV3的原始值被保留。在修改的評估組4662B中,原始PV2值被來自使用原始候選訓(xùn)練組生成的統(tǒng)計的PV2的最小值與最大值之間的范圍中選擇的隨機值替換。在修改的評估組4662C中,原始PV3值被從原始候選訓(xùn)練組獲得的PV3統(tǒng)計中的中值PV3值替換。

隨后將每個修改的評估組作為輸入提供給使用原始PV訓(xùn)練組4560訓(xùn)練的模型4510以獲得一組各自預(yù)測。使用修改的評估組4662A,可獲得PV1修剪的評估結(jié)果4636A(指示或近似在PV1未包括在模型4510的訓(xùn)練組中時可能已經(jīng)實現(xiàn)的結(jié)果)。通過計算對應(yīng)于修剪PV1的預(yù)測質(zhì)量度量與對應(yīng)于圖45中示出的未修剪的評估組的預(yù)測質(zhì)量度量之間的差,可獲得PV1對模型質(zhì)量的貢獻的測量(在圖46中稱為FPT1質(zhì)量增量)。類似地,PV1修剪的評估結(jié)果4636B可用于估計FPT2質(zhì)量增量(FPT2或PV2對模型預(yù)測結(jié)果的質(zhì)量的貢獻),并且PV3修剪的評估結(jié)果4636C可用于估計FPT3質(zhì)量增量。以此方式,可估計若干不同F(xiàn)PT對模型的預(yù)測的質(zhì)量的相對貢獻,并且此類貢獻估計可用于為客戶端生成FP提議。使用修改的評估組估計質(zhì)量貢獻(諸如FPT1質(zhì)量增量、FPT2質(zhì)量增量和FPT3質(zhì)量增量)的成本(例如,根據(jù)資源消耗或時間)可類似于評估成本EC,其可能小于重新訓(xùn)練模型TC并且隨后重新評估模型的成本。

將用于生成修改的PV評估組的特定統(tǒng)計或值可針對不同類型的PV和/或針對不同類型的模型或問題域而不同。在一些實施方案中,可使用平均值(如在圖46中的PV1的情況下)作為默認替換,而在其他情況下,可分配隨機值,或者可基于針對類似類型的問題實現(xiàn)的早前結(jié)果使用中值或模式值。

如以上論述的,圖46中示出的基于替換的技術(shù)可以是獲得不同PV和FPT的質(zhì)量貢獻的優(yōu)化的第二階段的一部分。為了獲得與不同PV或FPT相關(guān)聯(lián)的運行時間成本,可能必須重新訓(xùn)練一些模型。圖47示出根據(jù)至少一些實施方案的特征處理優(yōu)化技術(shù)的另一示例性階段,其中使用一組修改的處理的變量來重新訓(xùn)練模型以確定使用處理的變量對預(yù)測運行時間成本的影響。在所描繪實例中,可例如通過簡單地省略PV2的值從在優(yōu)化過程的早前階段中生成的PV訓(xùn)練組4560獲得修剪的PV訓(xùn)練組4760。類似地,可例如通過省略PV2值從原始PV評估組4562獲得修剪的PV評估組。在原始階段之后丟棄原始PV訓(xùn)練組和/或原始PV評估組的實施方案中,可必須從未處理的訓(xùn)練組和評估組獲得修剪的PV訓(xùn)練組4760和/或修剪的PV評估組4762。

模型4710可使用修剪的PV訓(xùn)練組4760訓(xùn)練并使用修剪的PV評估組4762評估。FPT2成本增量(FPT2對預(yù)測運行時間成本的貢獻的測量)可計算為預(yù)測運行時間度量4736(對應(yīng)于FPT2或PV2的修剪)與原始運行時間度量4537(其使用利用所有候選FPT訓(xùn)練/評估的模型獲得)之間的差。重新訓(xùn)練模型的成本TC2可類似于利用包括的所有FPT訓(xùn)練模型的成本TC(圖45中示出),而重新評估模型的成本EC2可更小。在訓(xùn)練成本遠高于評估成本的一些實施方案中,F(xiàn)P管理器可嘗試比重新訓(xùn)練做更多的重新評估,例如,可針對其質(zhì)量貢獻分析許多FPT,并且可隨后針對其成本貢獻分析更小的子集。

圖48是示出根據(jù)至少一些實施方案的可在基于質(zhì)量對比運行時間成本權(quán)衡推薦特征處理變換的機器學習服務(wù)處執(zhí)行的操作的方面的流程圖。如元素4801所示,MLS的部件(諸如特征處理管理器)可確定將使用利用指定訓(xùn)練數(shù)據(jù)組訓(xùn)練的模型預(yù)測的一個或多個目標變量、客戶端感興趣的一個或多個預(yù)測質(zhì)量度量以及一個或多個預(yù)測運行時間目標。在一個實施方案中,客戶端可指示約束,諸如一個或多個強制性特征處理變換或一個或多個禁止的特征處理變換。在至少一些實施方案中,這些參數(shù)中的一些或全部可在例如通過編程接口提交到MLS的客戶端的請求中指示,所述編程接口諸如API(應(yīng)用編程接口)、基于web的控制臺、獨立GUI(圖形用戶接口)或命令行工具。在一些情況下,客戶端可指示例如除了預(yù)測運行的運行時間目標之外的一個或多個訓(xùn)練時間目標。各種預(yù)測質(zhì)量度量的任何組合可由MLS部件針對不同類型的機器學習問題識別,諸如AUC(曲線下區(qū)域)度量、準確度度量、召回度量、敏感度度量、真陽性率、特異性度量、真陰性率、精度度量、假陽性率、假陰性率、F1得分、覆蓋度量、絕對百分比誤差度量或平方誤差度量。類似地,可確定各種運行時間目標的任何組合,諸如模型執(zhí)行時間目標、存儲器使用目標、處理器使用目標、存儲裝置使用目標、網(wǎng)絡(luò)使用目標或預(yù)算。在一些實施方案中,可確定訓(xùn)練的對應(yīng)類型的目標(與訓(xùn)練后預(yù)測相反)。在一些實施方案中,可以絕對方式指定目標(例如,模型執(zhí)行時間必須小于X秒),或者根據(jù)分布或百分位數(shù)指定(例如,模型執(zhí)行時間的90%必須小于x秒)。在不同實施方案中,客戶端可請求創(chuàng)建、訓(xùn)練或重新訓(xùn)練多種多樣的模型,包括例如分類模型(例如二進制或n路分類模型)、回歸模型、自然語言處理(NLP)模型、聚類模型等。

MLS可識別可用于從原始訓(xùn)練數(shù)據(jù)獲得處理的變量或特征的一組候選特征處理變換(FPT),使得特征可進而用于預(yù)測目標變量的值(元素4804)。在至少一些情況下,一個或多個未處理的自變量也可包括在將用于訓(xùn)練的候選變量組中;也就是說,并非訓(xùn)練組中的所有變量都需要是FPT的結(jié)果。取決于問題或模型的性質(zhì),可選擇多種多樣FPT候選者中的任一個,諸如分位數(shù)分倉、笛卡爾乘積生成,二元語法生成、n元語法生成、正交稀疏二元生成、日歷相關(guān)變換、圖像處理函數(shù)、音頻處理函數(shù)、生物信息處理函數(shù)或自然語言處理函數(shù)。雖然MLS可通常試圖提出大的候選者列表,但在一些實施方案中,可基于一個或多個約束(諸如訓(xùn)練時間或訓(xùn)練資源的顯式或隱式目標)限制不同F(xiàn)PT候選者的數(shù)量。在一個實施方案中,F(xiàn)PT候選者中的至少一些可取決于彼此,例如,一個FPT的輸出可用作另一個的輸入,并且在一些情況下可生成FPT候選者的一個或多個有向圖以表示這種關(guān)系。

對于所識別的FPT候選者的至少子集,可確定FPT對模型的預(yù)測質(zhì)量的貢獻的各自估計和/或FPT對影響運行時間目標的度量的影響的各自估計(元素4807)。例如,在一個實施方案中,可首先使用候選FPT的完整組來訓(xùn)練和評估模型,以獲得最佳情況預(yù)測質(zhì)量測量和對應(yīng)的運行時間度量。隨后,為了獲得質(zhì)量貢獻,可使用修改的評估數(shù)據(jù)組來重新評估模型,例如,其中給定處理變量的值以類似于圖46所示方式的方式被未修改的訓(xùn)練組中的該處理的變量的平均值(或某一其他統(tǒng)計導(dǎo)出的替換值)替換的評估數(shù)據(jù)組。為了獲得對運行時間目標的影響,在一些實施方案中,可能必須用修剪的訓(xùn)練數(shù)據(jù)(即,已經(jīng)從中移除候選組的一個或多個處理變量的訓(xùn)練數(shù)據(jù))來重新訓(xùn)練模型。在至少一個實施方案中,可為重新評估和/或重新訓(xùn)練生成各自的作業(yè)。

使用質(zhì)量貢獻和成本影響的估計,MLS可例如在不違反任何顯式或隱式訓(xùn)練時間約束或目標的情況下產(chǎn)生將以編程方式呈現(xiàn)給客戶端的一個或多個特征處理提議(元素4810)。如果客戶端指示批準特定提議FP1(如在元素4813中檢測到的),那么可代表客戶端實現(xiàn)所述提議用于隨后運行(例如,模型的訓(xùn)練后生產(chǎn)運行)(元素4816)。如果客戶端不批準由MLS提出的任何提議(也如在元素4813中檢測到的),那么可選擇FPT的不同組合用于另外訓(xùn)練/測試(元素4819),并且對應(yīng)于元素4807向前的操作可針對新組合重復(fù),直到接受提議或者由MLS或客戶端實現(xiàn)放棄優(yōu)化迭代的決定。在一些實施方案中,可向客戶端提供利用FPT的完整(未優(yōu)化的)候選組的選項,也就是說,MLS可保留使用在修剪之前識別的所有候選FPT訓(xùn)練的模型變型。

在各種實施方案中,MLS可能必須在由客戶端指示的目標中優(yōu)先化,例如,快速預(yù)測執(zhí)行時間可能與低存儲器使用目標不兼容。在一些此類情況下,MLS可向客戶端指示此類優(yōu)先級,并獲得客戶端對所選擇目標排序的批準。在至少一些實施方案中,客戶端可指示或建議將使用的FPT的配方,并且MLS可分析可能包括在候選FPT組中的配方中指示的FPT中的至少一些。在一個實現(xiàn)中,即使客戶端未在模型創(chuàng)建請求中指示配方,MLS可以早前論述的MLS配方語言格式化的配方的形式提供FP提議。在至少一些實施方案中,提議(或?qū)?yīng)于提議的配方)可作為制品存儲在MLS制品儲存庫中。

在FP提議被客戶端批準之后,其可用于模型的隨后執(zhí)行(即,使用FP提議產(chǎn)生的處理的變量可用作用于訓(xùn)練模型并使用所述模型進行預(yù)測的輸入變量),潛在地用于許多不同生產(chǎn)模式數(shù)據(jù)組。給定客戶端可向服務(wù)提交若干不同模型創(chuàng)建請求、批準每個模型的各自FP提議并且隨后利用批準的模型一會兒。在一些實現(xiàn)中,客戶端可希望在各種模型被批準之后查看關(guān)于它們的預(yù)測運行時間目標的成功率。圖49是根據(jù)至少一些實施方案的可使得客戶端能夠查看各種機器學習模型運行的狀態(tài)的編程儀表板接口的實例。在所描繪實例中,儀表板可并入網(wǎng)頁4901內(nèi),包括消息區(qū)域4904和客戶端批準的模型的某一子集或全部的各自條目。在所描繪實例中,如消息區(qū)域4904中所指示的,提供關(guān)于在先前24小時期間代表客戶端運行的模型的信息。在一些實施方案中,客戶端可例如通過點擊鏈接4908來改變由儀表板覆蓋的時間段。

針對其顯示圖49中示出的示例性儀表板的客戶端具有在覆蓋的24小時時間段中運行的三個模型:腦瘤檢測模型BTM1、海馬萎縮檢測模型HADM1以及運動皮質(zhì)損傷檢測模型MCDD1。如儀表板的區(qū)域4912中指示的,由客戶端為BTM1選擇的質(zhì)量度量是ROC AUC,運行時間性能目標是預(yù)測在小于X秒內(nèi)完成,并且95%的預(yù)測在已滿足所述目標的最后24小時內(nèi)運行。對于HADM1,如區(qū)域4914中指示的,質(zhì)量度量是假陽性率,運行時間性能目標是不大于Y的存儲器占用,并且實現(xiàn)的成功率是97%。如區(qū)域4916中指示的,對于MCDD1,預(yù)測質(zhì)量度量也是假陽性率,運行時間性能目標是每個預(yù)測運行小于Z的成本目標,并且實現(xiàn)的成功率是92%。圖49中提供的信息類型的多個變型可在不同的實施方案中以編程方式指示給客戶端,并且在實踐中使用的接口細節(jié)可與此處所示的那些接口細節(jié)基本不同。

對訓(xùn)練線性模型的優(yōu)化

注意,在對訓(xùn)練線性模型的優(yōu)化的以下論述的上下文中,術(shù)語“特征標識符”可指代從將用于訓(xùn)練模型的數(shù)據(jù)組的觀察記錄導(dǎo)出的性質(zhì)的唯一標識符。術(shù)語“特征組”可指代一組特征標識符,其中(a)在訓(xùn)練模型時可觀察到特征值,以及(b)特征參數(shù)是已知的或從訓(xùn)練數(shù)據(jù)推斷的。術(shù)語“特征”可指代由特征標識符索引的觀察記錄的性質(zhì)的值(例如,單個數(shù)值、分類或二進制值或此類值的數(shù)組)。術(shù)語“特征向量”可指代一組(特征標識符,特征值)對或元組,其可例如存儲在鍵值結(jié)構(gòu)(例如散列圖)或壓縮向量中。術(shù)語“特征參數(shù)”或“參數(shù)”可指代對應(yīng)于由特征標識符索引的性質(zhì)的參數(shù)的值。表示權(quán)重的實數(shù)是可在一些實施方案中使用的參數(shù)的一個實例,但對于一些類型的機器學習技術(shù),可使用更復(fù)雜的參數(shù)(例如,包括多個數(shù)值或概率分布的參數(shù))。術(shù)語“參數(shù)向量”可指代一組(特征標識符,參數(shù))對或元組,其也可存儲在諸如散列圖的鍵值結(jié)構(gòu)或壓縮向量中。在至少一些實施方案中,特征向量可被認為是主要用于更新參數(shù)向量并隨后被丟棄的暫時結(jié)構(gòu)(例如針對在學習迭代期間檢查的給定觀察記錄創(chuàng)建的)。相反,在一些實施方案中,參數(shù)向量可在模型的訓(xùn)練階段的持續(xù)時間內(nèi)保留,但如下所述,參數(shù)向量可在訓(xùn)練階段期間增長和收縮。盡管在一些實施方案中,鍵值結(jié)構(gòu)可用于參數(shù)向量和/或特征向量,但在各種實施方案中可采用參數(shù)向量和/或特征向量的其他類型的表示。

線性預(yù)測模型,諸如廣義線性模型的各種實例,是用于處理許多類型的機器學習問題的最流行(且經(jīng)常最有效的)方法之一。圖50示出根據(jù)至少一些實施方案的用于生成并使用線性預(yù)測模型的示例性過程。如所示,將用于訓(xùn)練線性模型的未處理的或原始訓(xùn)練數(shù)據(jù)組5002可包括某一數(shù)量的觀察記錄(OR)5004,諸如OR 5004A、5004B和5004B。每個OR 5004可進而包括某一數(shù)量的輸入變量(IV)諸如IV1、IV2、IV3...IVn的值,以及至少一個因變量DV的值。因變量還可被稱為“輸出”變量。在至少一些實施方案中,在模型訓(xùn)練必須開始之前并非所有觀察記錄都可用,例如,如以下更詳細地描述的,在一些情況下,當觀察記錄從一個或多個在線數(shù)據(jù)源獲得時可流傳輸?shù)綑C器學習服務(wù)。在此類情境中,MLS可負責迭代地訓(xùn)練模型,例如,其中每個迭代表示基于直到該點分析的OR提高模型預(yù)測的質(zhì)量的嘗試?;趯Ω髯杂^察記錄組的分析的此類訓(xùn)練迭代在本文中還可被稱為“學習迭代”。

在至少一些實施方案中,MLS的模型生成器部件可需要將用于生成特征(可隨后用于訓(xùn)練線性模型)的輸入變量滿足某些數(shù)據(jù)類型約束。例如,在所描繪實施方案中,模型生成器可需要訓(xùn)練數(shù)據(jù)的分類IV的原始值轉(zhuǎn)換為數(shù)值和/或被歸一化(例如通過將數(shù)值映射到-1與1之間的實數(shù))。這種類型變換可在初始數(shù)據(jù)準備階段5010期間執(zhí)行,產(chǎn)生一組修改或準備的觀察記錄5015。

在所描繪實施方案中,可隨后例如使用多個學習迭代5020來迭代地訓(xùn)練線性模型。最初,在至少一些實現(xiàn)中,可創(chuàng)建空參數(shù)向量5025。參數(shù)向量5025可用于存儲分配給特征或處理的變量值的集合的參數(shù)(例如,表示各自權(quán)重的實數(shù)),其中使用早前所述類型的一個或多個特征處理變換(FPT)從觀察記錄內(nèi)容導(dǎo)出所述特征。在一些實現(xiàn)中,當對給定觀察記錄的因變量值進行預(yù)測時,線性模型可計算其權(quán)重包括在參數(shù)向量中的特征的加權(quán)和。在至少一些實施方案中,諸如散列圖的鍵值結(jié)構(gòu)可用于參數(shù)向量5025,其中特征標識符(由模型生成器分配)作為鍵,并且參數(shù)作為針對每個鍵存儲的各自值。例如,圖50中示出的參數(shù)W1、W2和Wm分別分配給具有特征標識符F1、F2和Fm的特征。

在每個學習迭代5020期間,可由模型生成器(其還可稱為模型訓(xùn)練器)檢查一個或多個準備的OR 5015?;谠跍蕚涞腛R中的輸入變量的檢查和/或由處于其當前狀態(tài)下的模型對準備的OR的因變量的預(yù)測的準確度,可針對一組新的一個或多個處理的變量識別各自參數(shù)或權(quán)重。在至少一些實現(xiàn)中,如果需要的話,在一個或多個學習迭代中,例如使用隨機梯度下降技術(shù)或一些類似的優(yōu)化方法,可更新先前存儲的參數(shù)或權(quán)重。隨著越來越多的觀察記錄被檢查,越來越多的(特征標識符,參數(shù))鍵值對可添加到參數(shù)向量中。如以下參考圖51描述,參數(shù)向量的這種增長,如果不被檢查,可能最終導(dǎo)致一種情境:其中用于模型生成器的MLS服務(wù)器處可用的存儲器被耗盡并且存儲器不足(out-of-memory)錯誤可能過早結(jié)束模型的訓(xùn)練階段。

為了避免此類不合乎期望的情境,在一些實施方案中可采用用于修剪所選擇參數(shù)(即,從參數(shù)向量移除所選擇特征的條目)的技術(shù)。根據(jù)這種技術(shù),當滿足某些觸發(fā)條件時(例如,當參數(shù)存儲在參數(shù)向量中的特征的數(shù)量超過閾值時),對模型的預(yù)測貢獻最小的特征的一部分可識別為修剪受害者(即,其條目從參數(shù)向量中移除或“修剪”的特征)。在一些實施方案中,可使用用于估計參數(shù)的分位數(shù)邊界值(例如,對模型的預(yù)測貢獻最小的特征的20%)的有效存儲器內(nèi)技術(shù),而不需要復(fù)制參數(shù)或顯式分選操作。更一般地,在至少一些實施方案中,給定特征對模型的預(yù)測性能(例如,模型的預(yù)測的準確度或質(zhì)量)的重要性或貢獻可通過對應(yīng)的參數(shù)值與“先驗參數(shù)值”的偏差來確定。以下描述的用于估計分位數(shù)邊界值的有效存儲器內(nèi)技術(shù)可表示使用此類偏差來選擇修剪受害者的一個特定實例,在以下情境中相關(guān):標量加權(quán)值用作參數(shù)值,先驗參數(shù)值為零,并且相對貢獻對應(yīng)于權(quán)重的絕對值(權(quán)重與零的各自“距離”)。對于參數(shù)是值的向量并且先驗值是零的向量的模型,可使用涉及計算特定向量參數(shù)與零向量的距離的類似方法。對于一些類型的模型,參數(shù)可包括概率分布而不是標量。在參數(shù)包括概率分布的一個實施方案中,參數(shù)向量中表示的不同特征的相對貢獻可通過從先驗值估計Kullback-Leibler(KL)散度來獲得,并且此類散度估計可用于識別其參數(shù)應(yīng)被修剪的特征。

可將所識別修剪受害者的條目(例如,參數(shù)值)從參數(shù)向量5025移除,從而減少消耗的存儲器。然而,可甚至在修剪一些參數(shù)之后執(zhí)行另外學習迭代。因此,參數(shù)向量大小可隨著考慮更多的觀察記錄、添加更多的參數(shù)并且修剪更多的參數(shù)而重復(fù)地增長和收縮。注意,術(shù)語“修剪參數(shù)”或“修剪特征”在本文中可同義地使用,以指代從參數(shù)向量移除包括(特征標識符,參數(shù))對的特定條目。在至少一些實現(xiàn)中,在一個學習迭代中修剪的特定特征的參數(shù)可甚至稍后被重新添加到參數(shù)向量,例如響應(yīng)于模型生成器(基于另外觀察記錄)確定特征對于預(yù)測比對其被修剪時更有用。在一些情況下,重新添加的參數(shù)的值可與早前移除的值不同。

在參數(shù)向量可能已在期間增長和收縮多次的某一數(shù)量的學習迭代之后,可使用當前參數(shù)向量來執(zhí)行線性模型。在一些實施方案中,在對生產(chǎn)或測試數(shù)據(jù)組5050的用于預(yù)測5072的模型執(zhí)行5040之前,參數(shù)向量5025可以是“凍結(jié)的”(例如,自特定時間點起參數(shù)向量的不可變表示可存儲在MLS制品儲存庫中)。在其他實施方案中,即使在模型用于進行生產(chǎn)或測試運行之后,可使用新的觀察記錄來執(zhí)行另外學習迭代5020。在參數(shù)向量被凍結(jié)以供生產(chǎn)使用或測試的情境中,另外學習迭代可在參數(shù)向量的非凍結(jié)或可修改版本上繼續(xù)。在各種實施方案中,在圖50中由虛線指示的邊界的任一側(cè)上的操作可彼此交替,例如,在其期間基于新的觀察數(shù)據(jù)修改參數(shù)向量的一個或多個學習迭代之后可以是模型的生產(chǎn)運行,并且生產(chǎn)運行之后可以是更多的學習迭代,等等。

圖51示出根據(jù)至少一些實施方案的示例性情境,其中用于訓(xùn)練模型的機器學習服務(wù)器的存儲器容量可變?yōu)閰?shù)向量大小的約束。如前所述,在各種實施方案中,可在機器學習服務(wù)處支持多種多樣的特征處理變換(FPT)用于輸入變量,并且至少一些FPT可按照序列被鏈接,即,應(yīng)用到已使用其他FPT生成的特征。支持的特征處理變換函數(shù)可包括例如:用于數(shù)值變量的分位數(shù)倉函數(shù)5154、用于各種類型的變量的笛卡爾乘積函數(shù)5150、用于文本的n元語法函數(shù)5152、日歷函數(shù)、諸如圖像處理函數(shù)的域特定變換函數(shù)5156、音頻處理函數(shù)、視頻處理函數(shù)、生物信息處理函數(shù)、除了n元語法之外的自然語言處理函數(shù)等。取決于輸入變量5101的數(shù)據(jù)類型,可向其應(yīng)用一個或多個FPT,并且可將另外FPT應(yīng)用到結(jié)果。例如,可在所描繪實施方案中創(chuàng)建包括n元語法、分位數(shù)倉和/或域特定變換的笛卡爾乘積的新特征??赡艿奶卣魈幚碜儞Q和組合的數(shù)量5133可能非常大,這可能導(dǎo)致大小無界的參數(shù)向量5144。在一些實現(xiàn)中,所識別的各種特征可映射到實數(shù)的向量,其中向量的維數(shù)可至少原則上是任意大的。

至少在一些實現(xiàn)中,特定模型的顯著部分或全部學習迭代可旨在在諸如服務(wù)器5160的單個MLS服務(wù)器上執(zhí)行(例如,使用在這種服務(wù)器處的一個或多個執(zhí)行線程)。在一些此類實現(xiàn)中,可能需要將模型的參數(shù)向量裝入MLS服務(wù)器5160的主存儲器5170。如果存儲器內(nèi)參數(shù)向量表示5180增長得太大,那么用于學習的進程或線程可能以存儲器不足錯誤過早地退出,并且可能必須重新實現(xiàn)至少一些學習迭代。如存儲器需求圖5175所示,MLS服務(wù)器存儲器需求可以檢查的輸入變量和/或觀察記錄的數(shù)量以非線性方式增長。注意,需求圖5175不旨在示出針對任何給定機器學習問題的觀察的數(shù)量與可能的參數(shù)向量大小之間的精確關(guān)系;相反,它旨在傳達可在此類關(guān)系中觀察到的一般趨勢。

在一些常規(guī)機器學習系統(tǒng)中,當其參數(shù)存儲在參數(shù)向量中的特征的數(shù)量達到選擇的最大值時,可簡單地終止模型的訓(xùn)練。這意味著在此類方法中,可稍后以其他方式被識別為對預(yù)測質(zhì)量的重要貢獻者的特征可能永遠不被考慮用于在參數(shù)向量中的表示。在另一種常見技術(shù)中,可使用散列函數(shù)來分離地組合不同特征(例如,為了節(jié)省空間,可使用另外將表示特定特征的散列值的K位的僅僅N位,其中使用模函數(shù)選擇N位),這還可能導(dǎo)致預(yù)測的質(zhì)量的降低。在一些機器學習系統(tǒng)中,可使用一種或多種正則化技術(shù),其中分配給不同特征的權(quán)重或參數(shù)可在各種學習迭代中被減少某一因子,并且因此,一些特征可逐漸從參數(shù)向量中消除(其中它們的權(quán)重接近零)。然而,當其本身用于約束參數(shù)向量大小時,正則化可導(dǎo)致模型預(yù)測的相對差的質(zhì)量。正則化還可能需要選擇一個或多個超參數(shù)(諸如將使用的縮減因子),這可能不是直截了當?shù)摹W⒁?,即使在實現(xiàn)以下描述的參數(shù)修剪技術(shù)的實施方案中,由于各種原因(諸如防止過度擬合或至少有助于參數(shù)向量大小減小),可仍然使用正則化。

在一些實施方案,可利用這種技術(shù):對用于線性模型的參數(shù)向量的大小施加限制,而不犧牲所進行的預(yù)測的質(zhì)量,并且不基于訓(xùn)練階段期間如何早地識別特征來限制特征組。根據(jù)此技術(shù),當滿足觸發(fā)條件時,可從參數(shù)向量中修剪對應(yīng)于迄今為止識別的特征的子集的參數(shù)(有效地用默認值或先驗值替換所移除的參數(shù)值)。如前指示,此類特征在本文中可被稱為“修剪受害者特征”或更簡單地稱為“修剪受害者”。在如下所述的一些實現(xiàn)中,用于識別對模型的預(yù)測貢獻最小的特征的所選擇部分或分位數(shù)的有效估計技術(shù)可用于識別修剪受害者。至少在一些實現(xiàn)中,這種技術(shù)可不需要明確地對參數(shù)進行分選或復(fù)制參數(shù)。在已修剪對應(yīng)于修剪受害者特征的參數(shù)之后,可例如在隨后學習迭代中添加另外特征的參數(shù)。在一些情況下,如果稍后的觀察指示給定特征對于預(yù)測可能比在其被修剪時其預(yù)期的更有用,那么可將早前被選擇作為修剪受害者的給定特征的參數(shù)重新引入?yún)?shù)向量中。

圖52示出根據(jù)至少一些實施方案的這種技術(shù),其中在訓(xùn)練期間其各自參數(shù)值存儲在參數(shù)向量中的特征的子集可被選擇作為修剪受害者。示出了四個學習迭代5210A、5210B、5210K和5210L。在每個學習迭代中,可由模型生成器檢查包括一個或多個觀察記錄的各自觀察記錄組(ORS)5202(例如,學習迭代5210A中的ORS 5202A、學習迭代5210B中的ORS 5202B等等)以確定是否應(yīng)將任何新參數(shù)添加到參數(shù)向量。另外,在至少一些實施方案中,可例如使用隨機梯度技術(shù)更新或調(diào)整早前生成的參數(shù)值。在學習迭代5210之后,參數(shù)向量包括對應(yīng)于特征標識符5212A的參數(shù)5222A。在下一個學習迭代5210B之后,參數(shù)向量已經(jīng)增長,并且現(xiàn)在包括用于特征標識符5212B的參數(shù)5222B(并且學習迭代5210A中的參數(shù)組中的一些或全部可能已經(jīng)被調(diào)整或改變)。

當執(zhí)行另外的學習迭代時,可將更多的參數(shù)添加到參數(shù)向量。最終,在某一學習迭代5210K期間或之后,模型生成器可確定已超過閾值參數(shù)向量大小PVS,并且可執(zhí)行修剪分析。注意,至少在一些實施方案中,可不在每個學習迭代中或之后執(zhí)行檢測是否已滿足用于修剪的觸發(fā)條件的操作,因為這樣的頻繁修剪可能是不必要的。相反,例如,基于自這種檢查上次完成以來已執(zhí)行的學習迭代的數(shù)量,或者基于自這種檢查上次執(zhí)行以來已經(jīng)經(jīng)過的時間,或者基于自上次執(zhí)行檢查以來已檢查的觀察記錄的數(shù)量,可周期性地執(zhí)行此類檢查。在至少一些實施方案中,PVS可至少部分地基于MLS服務(wù)器的存儲器容量(例如,設(shè)置為其一部分),或者觸發(fā)條件可基于某一其他服務(wù)器資源容量約束,諸如CPU利用限制。在一個實施方案中,代表其訓(xùn)練線性模型的客戶端可指示訓(xùn)練(例如,具有不超過X吉字節(jié)的存儲器的服務(wù)器將用于訓(xùn)練)和/或訓(xùn)練后執(zhí)行的一個或多個目標,并且此類目標可能影響PVS的值。在各種實施方案中,PVS可根據(jù)參數(shù)向量中包括的參數(shù)的數(shù)量表示,或者簡單地根據(jù)參數(shù)向量所消耗的存儲器的量來表示。

在修剪分析中,模型生成器可識別其參數(shù)將被移除的特征的某一選定數(shù)量(或某一選定部分)。在一個實施方案中,例如,可例如基于分配給參數(shù)向量中表示的特征的權(quán)重的絕對值識別10%最低有效特征。在一些實施方案中,如上所述,可假設(shè)特征對預(yù)測的相對貢獻(其至少部分地使用特征值的加權(quán)和來計算)與它們的權(quán)重的絕對值成比例。識別10%最不重要的特征的任務(wù)可因此等同于識別具有最小絕對值的10%的權(quán)重。特征的這種部分的精確識別可能需要分選整個參數(shù)向量的權(quán)重的絕對值,這可能對大參數(shù)向量造成其自己的資源消耗問題,例如,這種分選操作可能需要大量的存儲器、CPU周期和/或持久性存儲裝置。因此,在一些實現(xiàn)中,可使用優(yōu)化來找到所選擇部分的近似邊界權(quán)重(即,權(quán)重Wk,使得大約10%的特征具有較小的絕對權(quán)重,而剩余的大約90%具有較高的絕對權(quán)重),而無需分選權(quán)重或復(fù)制權(quán)重。以下結(jié)合圖55的論述描述這種優(yōu)化技術(shù)的實例。在估計所選擇分位數(shù)的邊界(例如,在上述實例中為10%)之后,可容易地識別其絕對值低于邊界的權(quán)重,并且可將此類權(quán)重的條目從參數(shù)向量移除。注意,盡管權(quán)重在本文論述為可存儲的參數(shù)種類的簡單實例,但當使用更復(fù)雜的參數(shù)(例如,包括超過僅是單個實數(shù)的參數(shù)結(jié)構(gòu))時,可使用類似技術(shù)來確定修剪候選者。也就是說,所描述的修剪技術(shù)不限于單個數(shù)值量(諸如具有實數(shù)值的權(quán)重)被用作參數(shù)的實施方案。更復(fù)雜的參數(shù)可被變換為例如近似對應(yīng)特征對由模型進行的預(yù)測的相對貢獻的數(shù)值。如前所述,在各種實施方案中,取決于用于模型的參數(shù)的類型,可使用特定參數(shù)值與先驗值的偏差的不同測量,以便估計參數(shù)的相對貢獻。

在特征的某一子集已被識別為修剪候選者并且其參數(shù)被移除之后,如圖52中標記為5255的箭頭指示的,修剪的參數(shù)向量(包括特征標識符5212K*的經(jīng)調(diào)整的參數(shù)5222K*)可能不再違反PVS約束。在至少一些實施方案中,可修剪參數(shù)向量的足夠大的部分,使得可在一個或多個隨后學習迭代(諸如圖52中示出的學習迭代5210L)中再次添加另外參數(shù)。因此,參數(shù)向量大小可在通過修剪減小之后再次增長。如果參數(shù)向量大小最終再次超過PVS,那么可能需要另外修剪,并且可在完成另外修剪之后添加更多的參數(shù)。對應(yīng)于任何特征的參數(shù)可在給定的學習迭代中添加到參數(shù)向量,包括例如對應(yīng)于早前被選擇作為修剪受害者的特征的參數(shù)。通過不限制在任何學習迭代期間可考慮用于在參數(shù)向量中表示的特征組,并且僅消除在每個修剪階段處當前被識別為對模型的預(yù)測貢獻最小的那些參數(shù),圖52中示出的技術(shù)可收斂于提供高度準確的預(yù)測同時限制訓(xùn)練期間的存儲器使用的參數(shù)向量上。另外,參數(shù)向量大小的減小還可減少在預(yù)測運行期間加載和執(zhí)行模型所花費的時間,因此,可在訓(xùn)練階段和訓(xùn)練后階段預(yù)測運行兩者期間獲得所述技術(shù)的益處。

上述迭代學習的方法(其中參數(shù)向量成員可隨時間減少和增加)在觀察記錄可從各種數(shù)據(jù)源流傳輸?shù)組LS的實施方案中可能是特別有用的。在此類情境下,與在任一學習迭代之前收集整個訓(xùn)練數(shù)據(jù)組的環(huán)境相比,能夠重新考慮其參數(shù)已早前修剪的特征并且通常在更多觀察記錄到達時保持修改參數(shù)向量甚至可能更有用。觀察記錄的特性(例如,各種輸入變量的值的分布)可隨時間改變,例如,使得可進行最佳預(yù)測的參數(shù)向量也將隨時間改變的可能性更大。

圖53示出根據(jù)至少一些實施方案的系統(tǒng),其中將用于線性模型的訓(xùn)練階段的學習迭代的觀察記錄可流傳輸?shù)綑C器學習服務(wù)。如所示,可在MLS處建立數(shù)據(jù)接收器端點5308(例如,網(wǎng)絡(luò)地址或統(tǒng)一資源標識符),以用于從一個或多個流傳輸數(shù)據(jù)源(SDS)5302諸如SDS5302A、SDS 5302B和SDS 5302C接收觀察記錄。此類數(shù)據(jù)源可例如包括地理上分布的應(yīng)用的web服務(wù)器日志、基于傳感器的數(shù)據(jù)收集器等。來自此類數(shù)據(jù)源的觀察記錄(OR)可按任意次序到達,例如,可先接收來自SDS 5302A的OR1,之后是來自SDS 5302C的OR2、來自SDS 5302B的OR3和OR4等等。

在所描繪實施方案中,在模型生成器處,記錄可按它們到達的次序用于學習迭代。例如,可在第一組學習迭代5333A期間檢查OR1、OR2和OR3,導(dǎo)致生成特定參數(shù)向量。學習迭代組5333A之后可以是修剪迭代5334,其中一些選擇的參數(shù)基于它們對正訓(xùn)練的模型的預(yù)測的相對貢獻從參數(shù)向量移除。修剪迭代5334之后可以是另一個學習迭代組5333B,其中檢查OR4、OR5和OR6,并且將一個或多個新特征(和/或其參數(shù)先前被修剪的特征)的參數(shù)添加到參數(shù)向量。隨時間,參數(shù)向量可演變以提供對來自所有流傳輸數(shù)據(jù)源5302的數(shù)據(jù)的準確預(yù)測。在一些實施方案中,修剪迭代5334可以規(guī)則的間隔調(diào)度,例如每X秒一次,而不管接收或檢查觀察記錄的速率如何。這種基于調(diào)度的修剪可幫助MLS來對觀察記錄到達速率的大波動做出響應(yīng),例如,以防止由在參數(shù)向量大小已經(jīng)接近其最大閾值的時間到達的觀察記錄的突然突發(fā)引起的存儲器不足錯誤。

圖54是示出根據(jù)至少一些實施方案的可在機器學習服務(wù)處執(zhí)行的操作的方面的流程圖,在所述機器學習服務(wù)處,響應(yīng)于檢測觸發(fā)條件,可從參數(shù)向量修剪對應(yīng)于一個或多個特征的參數(shù)以減少訓(xùn)練期間的存儲器消耗。如元素5401所示,可在機器學習服務(wù)處接收對用于開發(fā)線性預(yù)測模型的訓(xùn)練數(shù)據(jù)組的未處理或原始觀察記錄的數(shù)據(jù)源的指示。在至少一些實施方案中,數(shù)據(jù)源可由客戶端通過諸如API、基于web的控制臺、獨立GUI或命令行工具的MLS編程接口來指示。線性預(yù)測模型可例如預(yù)期至少部分地基于通過前述類型的一個或多個特征處理變換(FPT)從訓(xùn)練數(shù)據(jù)導(dǎo)出的特征值的加權(quán)和來進行預(yù)測。在一些實現(xiàn)中,用于生成/訓(xùn)練模型的作業(yè)對象可響應(yīng)于客戶端對API的調(diào)用創(chuàng)建并且放置在諸如圖1的隊列142的作業(yè)隊列中。可例如異步地在MLS服務(wù)器池185的所選擇訓(xùn)練服務(wù)器(或一組訓(xùn)練服務(wù)器)上調(diào)度所述作業(yè)。

可發(fā)起訓(xùn)練模型的過程(例如,當調(diào)度排隊的作業(yè)時)??沙跏蓟諈?shù)向量(元素5404),并且可確定將在模型的訓(xùn)練階段期間使用的一個或多個設(shè)置,例如,可識別將用于觸發(fā)修剪的閾值條件,可識別每次檢測到這種閾值條件時將修剪的參數(shù)的部分等等。在不同實現(xiàn)中,閾值可基于各種因素,諸如可包括在參數(shù)向量中的參數(shù)的最大數(shù)量、用于訓(xùn)練模型的MLS服務(wù)器的存儲器容量和/或由客戶端指示的目標。可從其導(dǎo)出閾值的客戶端提供的目標可包括例如對在模型的訓(xùn)練期間和/或在訓(xùn)練后運行期間可消耗的各種類型的資源的限制,包括存儲器、CPU、網(wǎng)絡(luò)帶寬、盤空間等。在一些實施方案中,客戶端可指定訓(xùn)練和/或預(yù)測運行的預(yù)算目標,并且預(yù)算可在MLS的部件處被轉(zhuǎn)換成對應(yīng)的資源限制。

在所描繪實施方案中,模型生成器或訓(xùn)練器可隨后開始實現(xiàn)一個或多個學習迭代??舍槍ο乱粋€學習迭代識別一組一個或多個觀察記錄(元素5407)。取決于觀察記錄的性質(zhì),可能必須執(zhí)行一些初步數(shù)據(jù)類型變換和/或歸一化操作(元素5410)。例如,一些模型生成器可能需要將分類輸入變量轉(zhuǎn)換為數(shù)值或布爾變量,和/或?qū)?shù)值變量值映射到-1至1的范圍內(nèi)的實數(shù)。可識別其參數(shù)諸如權(quán)重將添加到參數(shù)向量的一個或多個新特征(元素5413)。在一些情況下,早前選擇作為修剪受害者的特征的新條目可重新插入到參數(shù)向量中。在一些情況下,這種重新添加的條目的參數(shù)值可不同于先前修剪的條目的參數(shù)值,而在其他情況下,原始和重新引入的條目的參數(shù)值可相同。在一些實現(xiàn)中,諸如散列圖或散列表的鍵值結(jié)構(gòu)可用于存儲參數(shù)向量的(特征標識符,參數(shù))對,例如其中特征標識符作為鍵。在一些實施方案中,一個或多個先前生成的參數(shù)值也可例如使用隨機梯度下降技術(shù)在這個階段更新。

如果模型生成器確定已滿足用于觸發(fā)一輪修剪的閾值條件(在對應(yīng)于元素5404的操作中識別的)(元素5416),那么可將一個或多個特征識別為修剪受害者(元素5419)。在所描繪實施方案中,對模型的預(yù)測貢獻最小的特征,例如,借助于具有最小的絕對權(quán)重,可被選擇作為修剪受害者。確定或估計不同特征的相對貢獻的方式以及識別預(yù)期提供最小貢獻的特征的方式可在各種實施方案中不同。在給每個特征分配各自實數(shù)作為權(quán)重的一些實施方案中,可使用有效估計技術(shù),其不需要分選或復(fù)制權(quán)重并且可在參數(shù)向量上的單個存儲器內(nèi)過程中估計權(quán)重之間的分位數(shù)邊界值。在識別了分位數(shù)邊界(例如,表示在參數(shù)向量中表示的權(quán)重的絕對值的范圍中的所估計百分之10或所估計百分之20的權(quán)重)之后,可將具有較低權(quán)重的特征的條目從參數(shù)向量移除??赏ㄟ^移除對應(yīng)于修剪受害者的條目來減少由參數(shù)向量消耗的存儲器(元素5422)。

如果已經(jīng)完成學習迭代(如在元素5425中檢測到的),那么訓(xùn)練的模型可用于生成關(guān)于生產(chǎn)數(shù)據(jù)、測試數(shù)據(jù)和/或關(guān)于其他訓(xùn)練后階段數(shù)據(jù)組的預(yù)測(元素5428)。如果例如已檢查了預(yù)期可用的所有觀察記錄,或者如果由模型基于迄今為止執(zhí)行的學習迭代可進行的預(yù)測的準確度滿足可接受準則,那么學習迭代可被視為完成。如果將執(zhí)行另外的學習迭代(也如在元素5425中檢測到的),那么可重復(fù)對應(yīng)于元素5407向前的操作,例如,可識別一組新的一個或多個觀察記錄、可根據(jù)需要變換原始數(shù)據(jù)、可將新特征的參數(shù)添加到參數(shù)向量等等。在一些情況下,可對已經(jīng)檢查的觀察記錄執(zhí)行至少一些另外學習迭代。

如前所述,可基于對單獨特征關(guān)于模型預(yù)測的相對貢獻或相對重要性的分析從在參數(shù)向量中表示的特征來選擇修剪受害者。圖55示出根據(jù)至少一些實施方案的可用于確定分配給特征的權(quán)重的絕對值的分位數(shù)邊界估計的單遍技術(shù)??稍诖鎯ζ髦袡z查對應(yīng)于各自特征F1、F2...Fm的一組權(quán)重W1、W2...Wm,例如,不復(fù)制權(quán)重且不明確地分選權(quán)重。在所描繪的實施方案中,將獲得邊界值的分位數(shù)被稱為“tau”。因此,例如,如果將識別權(quán)重的絕對值的最低20%與權(quán)重的剩余80%之間的邊界,那么tau可設(shè)置為0.2。邊界本身被稱為“phi-tau”。最初,如元素5502所示,可確定tau和另一個參數(shù)“eta”(表示將用于確定phi-tau的學習速率),并且可將phi-tau設(shè)置為零。隨后,可檢查下一個權(quán)重Wj,并且可獲得其絕對值abs(Wj)(元素5505)。如果abs(Wj)大于phi-tau,如在元素5508中確定的,那么可通過加上tau和eta的乘積(tau*eta)來增大phi-tau。如果abs(Wj)不大于phi-tau,那么可通過減去(1-tau)*eta來減小phi-tau(元素5511)。如果仍有將檢查的更多權(quán)重(如在元素5517中檢測到的),那么可重復(fù)對應(yīng)于元素5505向前的操作。否則,在已檢查了所有權(quán)重之后,分位數(shù)邊界phi-tau的估計可完成(元素5520)。在圖55中示出的過程結(jié)束時的phi-tau的值可隨后用于選擇修剪受害者,例如,具有絕對值小于phi-tau的權(quán)重的特征可被選擇作為受害者,而具有絕對值不小于phi-tau的權(quán)重的特征可保留。在至少一些實現(xiàn)中,可在分位數(shù)邊界估計過程期間修改或調(diào)整學習速率(eta);即,eta不需要保持恒定。

并發(fā)分倉

注意,在分位數(shù)分倉的以下論述的上下文中,術(shù)語“特征標識符”可指代從將用于訓(xùn)練模型的數(shù)據(jù)組的觀察記錄導(dǎo)出的性質(zhì)的唯一標識符。術(shù)語“特征組”可指代一組特征標識符,其中(a)在訓(xùn)練模型時可觀察到特征值,以及(b)特征參數(shù)是已知的或從訓(xùn)練數(shù)據(jù)推斷的。術(shù)語“特征”可指代由特征標識符索引的觀察記錄的性質(zhì)的值(例如,單個數(shù)值、分類或二進制值或此類值的數(shù)組)。例如,術(shù)語“分倉特征”可指代從應(yīng)用到一組觀察記錄的一個或多個輸入變量的分位數(shù)分倉變換獲得的二進制指示符值的數(shù)組的特定二進制指示符值(例如,“0”或“1”)。術(shù)語“特征向量”可指代一組(特征標識符,特征值)對或元組,其可例如存儲在鍵值結(jié)構(gòu)(例如散列圖)或壓縮向量中。術(shù)語“特征參數(shù)”或“參數(shù)”可指代對應(yīng)于由特征標識符索引的性質(zhì)的參數(shù)的值。表示權(quán)重的實數(shù)是可在一些實施方案中使用的參數(shù)的一個實例,但對于一些類型的機器學習技術(shù),可使用更復(fù)雜的參數(shù)(例如,包括多個數(shù)值的參數(shù))。術(shù)語“參數(shù)向量”可指代一組(特征標識符,特征參數(shù))對或元組,其也可存儲在諸如散列圖的鍵值結(jié)構(gòu)或壓縮向量中。盡管在一些實施方案中,鍵值結(jié)構(gòu)可用于參數(shù)向量和/或特征向量,但在各種實施方案中可采用參數(shù)向量和/或特征向量的其他類型的表示。

雖然廣義線性模型對于許多類型的機器學習問題是流行的,但在至少一些情況下,數(shù)據(jù)組的輸入變量與將預(yù)測的目標或輸出變量之間的關(guān)系可以是非線性的。例如,給定數(shù)值輸入變量的觀察值的分布可能在相當大的程度上不平衡,使得特定(并且經(jīng)常小的)子范圍包含大量觀察。此類密集間隔的觀察可至少在一些情況下表示強關(guān)系,理想地,所述強關(guān)系應(yīng)在分配給最終用于生成預(yù)測的特征的權(quán)重或參數(shù)中準確地表示。邊遠子范圍可包含相對少的觀察,但在許多情況下,捕獲此類異常值與目標變量的關(guān)系對于生成高質(zhì)量預(yù)測也可能是重要的。在至少一些此類情境中,分位數(shù)分倉變換可用于至少一些輸入變量。在這種變換中,對于給定的訓(xùn)練觀察記錄組,原始或未處理的輸入變量的值可每個映射到所選擇數(shù)量的分位數(shù)倉中的一個,使得倉中的每一個在填充量方面至少近似等于其他倉??呻S后生成一組二進制指示符變量(可設(shè)置為“0”或“1”的變量),其中每個這種二進制指示符變量表示從原始輸入變量導(dǎo)出的各自“分倉特征”。對于給定的觀察記錄,指示符變量中的一個(對應(yīng)于原始變量的值映射到的特定倉的一個)被設(shè)置為“1”,并且剩余指示符變量被設(shè)置為“0”。因為不同的倉在填充量方面大致相等,這意味著將針對未處理的變量的值的高填充子范圍生成更多的倉,并且將針對稀疏填充的子范圍生成更少的倉。因此,由于使用分位數(shù)分倉,捕獲原始輸入變量與目標變量之間的非線性關(guān)系的概率可能增加。在圖56中示出并且以下更詳細地描述分位數(shù)分倉變換的實例。

分位數(shù)分倉的一個挑戰(zhàn)是,可能不會直截了當?shù)靥崆斑x擇倉計數(shù)(即,給定輸入變量的原始值應(yīng)映射到的倉的數(shù)量),所述倉計數(shù)將最終導(dǎo)致來自正在訓(xùn)練或生成的模型的最準確且最一般預(yù)測??紤]模型生成器對于給定輸入變量具有10的倉計數(shù)或1000的倉計數(shù)的選擇的示例性情境。對于10的倉計數(shù),大約10%的觀察記錄將映射到10個倉中的每一個,而對于1000的倉計數(shù),僅大約0.1%的觀察記錄將映射到每個倉。在確定哪個倉計數(shù)是優(yōu)越選擇的一種方法中,模型的兩個版本可能必須被單獨地完全訓(xùn)練并且隨后被評估。模型的第一版本M1可利用從10倉變換獲得的特征(以及其他特征,如果任何特征由模型生成器識別)來訓(xùn)練,并且第二版本M2可使用從1000倉變換獲得的特征(以及其他功能)來訓(xùn)練。M1對測試數(shù)據(jù)的預(yù)測可與M2對相同測試數(shù)據(jù)的預(yù)測進行比較,以確定哪種方法更好。由于多種原因,不同的倉計數(shù)用于訓(xùn)練模型的各自版本的這種方法可能不是最佳的。第一,即使對于單個輸入變量,利用各自組的分倉特征訓(xùn)練多個模型也可能是昂貴的。當對于相同模型必須考慮幾個不同可分倉變量時,通常情況下,可能嘗試的組合的數(shù)量可能變得非常大。第二,在一些情況下,可能不可能用任何單個倉計數(shù)設(shè)置捕獲微妙的非線性關(guān)系(即使對于一個輸入變量),例如,對于相同變量使用若干不同倉計數(shù)獲得的特征可能對于一些預(yù)測有用,這取決于非線性關(guān)系的性質(zhì)。因此,在一些情況下,對于至少一些變量,任何單個倉計數(shù)可能不一定產(chǎn)生與使用多個倉計數(shù)可產(chǎn)生的預(yù)測一樣準確的預(yù)測。

在一些實施方案中,機器學習服務(wù)可實現(xiàn)并發(fā)分倉技術(shù),其中在模型的單個訓(xùn)練階段或訓(xùn)練會話期間可將具有各自倉計數(shù)的若干不同特征變換應(yīng)用到給定輸入變量。使用這種方法,可將初始權(quán)重(或更復(fù)雜的參數(shù))分配給從多個倉計數(shù)導(dǎo)出的所有分倉特征??缮纱罅康姆謧}特征,其中對應(yīng)的參數(shù)或權(quán)重存儲在參數(shù)向量中。例如,基于對另外觀察記錄的檢查、一些觀察記錄的重新檢查和/或連續(xù)學習迭代期間的訓(xùn)練階段預(yù)測的結(jié)果,可稍后移除對應(yīng)于分倉特征的至少一些參數(shù)。在一些實施方案中,可使用所選擇優(yōu)化技術(shù)(諸如L1或L2正則化)來調(diào)整初始權(quán)重或參數(shù),并且可從參數(shù)向量消除其絕對權(quán)重值降至閾值以下的特征。在一些實施方案中,上述(例如,結(jié)合圖51-圖55的描述)的有效修剪技術(shù)還可或替代地應(yīng)用以減少分倉特征的參數(shù)所消耗的資源。使用并發(fā)分倉之后是參數(shù)修剪,在一些實施方案中,可非常有效地獲得允許模型關(guān)于上述種類的非線性關(guān)系進行準確的訓(xùn)練后階段預(yù)測的參數(shù)向量,例如,而不會招致從頭開始重復(fù)訓(xùn)練模型的成本。

圖56示出根據(jù)至少一些實施方案的使用分位數(shù)分倉(quantile binning)變換來捕獲機器學習模型的原始輸入變量與預(yù)測目標變量之間的非線性關(guān)系的實例。如所示,從將用于在機器學習服務(wù)處生成模型的數(shù)據(jù)源獲得的觀察記錄中包括的訓(xùn)練數(shù)據(jù)變量5690可包括多個數(shù)值輸入變量(NIV),諸如NIV1和NIV2。分布圖DG1和DG2分別示出了一組觀察記錄的NIV1和NIV2的值的統(tǒng)計分布。NIV1的值位于NIV1-最小至NIV1-最大的范圍內(nèi),其中最高的觀察密度在n2與n3之間的子范圍中。NIV2的值位于NIV2-最小至NIV2-最大的范圍內(nèi),其中峰密度在p1與p2之間。

在所描繪實例中,NIV1的值已映射到標記為NIV1-倉1至NIV1-倉4的4個倉。倉的名稱對應(yīng)于圖56中的對應(yīng)分倉特征的特征標識符。也就是說,具有4的倉計數(shù)的分位數(shù)分倉變換已被用于生成從單個變量NIV1導(dǎo)出的四個分倉特征5610A,其中一個指示符變量對應(yīng)于每個倉。觀察記錄OR1中NIV1的值落在倉NIV1-倉3中;因此,對于OR1,NIV1-倉3的指示符變量已被設(shè)置為1,并且剩余的NIV1相關(guān)的指示符變量NIV1-倉1、NIV1-倉2和NIV1-倉4已被設(shè)置為零。在觀察記錄OR2的情況下,NIV1的值落在N1V1-倉2內(nèi),并且對應(yīng)的指示符變量已被設(shè)置為1,其中剩余的設(shè)置為零。NIV2的值已通過具有3的倉計數(shù)的分位數(shù)分倉變換被映射到三個倉NIV2-倉1至NIV2-倉3。在OR1和OR2中,NIV1的值落在NIV2-倉2內(nèi)。因此,對于OR1和OR2,指示符變量NIV2-倉2已被設(shè)置為1,并且剩余的NIV2相關(guān)的指示符變量已被設(shè)置為0。在所描繪實施方案中,給定變量的分倉特征或二進制指示符變量的數(shù)量對應(yīng)于倉計數(shù)。圖56中示出的示例性變換在本文中可被稱為單變量非并發(fā)分倉變換??蓪⒆儞Q指定為單變量,因為僅使用一個變量的值來導(dǎo)出給定分倉特征,并且非并形是因為僅使用單個倉計數(shù)來對變量中的每一個進行分倉。

除了由分位數(shù)分倉變換產(chǎn)生的分倉特征之外,可對圖56中描繪的實施方案中的訓(xùn)練數(shù)據(jù)的其他原始輸入變量執(zhí)行其他特征變換??梢詾橛?xùn)練數(shù)據(jù)生成包括用于分倉特征(諸如NIV1-倉1和NIV1-倉2)和非分倉特征(諸如NF1)的組合的參數(shù)的參數(shù)向量5625。在一些實現(xiàn)中,參數(shù)可包括權(quán)重,諸如每個特征的各自實數(shù)。在一些實施方案中,例如,當?shù)厥褂蒙鲜龇N類的修剪技術(shù)時,參數(shù)向量可增長和收縮。在至少一些實現(xiàn)中,隨著更多的觀察記錄被檢查或者先前檢查的觀察記錄被重新分析,倉邊界也可移位。在某一點,模型的訓(xùn)練階段可被視為完成(或至少足夠完成以用于對某一非訓(xùn)練數(shù)據(jù)組的預(yù)測),并且參數(shù)向量5625的當前版本可在執(zhí)行模型5640期間使用以生成對測試或生產(chǎn)數(shù)據(jù)組5650的預(yù)測5672。

在圖56示出的示例性情境中,單個倉計數(shù)(四)用于對NIV1值進行分倉,并且單個倉計數(shù)(三)用于對NIV2進行分倉。如上所述,如果使用此類單倉計數(shù),那么生成的分倉特征可能不一定導(dǎo)致最高質(zhì)量的預(yù)測。這可能是這種情況,例如,因為在訓(xùn)練/學習過程開始時為給定原始輸入變量選擇的特定倉計數(shù)可能不能表示原始輸入變量值與目標變量之間的非線性關(guān)系以及關(guān)系可使用不同的倉計數(shù)來表示。在至少一些情況下,可在一定程度上任意地選擇倉計數(shù),而沒有任何可量化的理由。針對每個可分倉輸入變量使用若干不同倉計數(shù)完全訓(xùn)練模型,并且隨后比較結(jié)果以便為每個這種變量選擇最佳倉計數(shù)可能是昂貴且耗時的過程。因此,在一些實施方案中,機器學習服務(wù)可針對訓(xùn)練組的至少一個原始輸入變量使用若干不同倉計數(shù)來并發(fā)地實現(xiàn)分位數(shù)分倉。

圖57示出根據(jù)至少一些實施方案的可在機器學習服務(wù)處模型的訓(xùn)練階段期間生成的并發(fā)分倉計劃的實例。在所描繪實施方案中,所述組訓(xùn)練數(shù)據(jù)變量5790包括已被選擇作為并發(fā)分位數(shù)分倉的候選者的數(shù)值輸入變量NIV1、NIV2和NIV3。對于每個變量,可在模型的訓(xùn)練階段期間生成和實現(xiàn)各自的并發(fā)分倉計劃(CBP)。例如,根據(jù)CBP1,可在訓(xùn)練階段內(nèi)將三個分位數(shù)分倉變換QBT1-1、QBT1-2和QBT1-3應(yīng)用到NIV1的值,其中各自的倉計數(shù)為10、100和1000。由于實現(xiàn)CBP1,可產(chǎn)生總共1110個分倉特征5730A:來自QBT1-1的10個特征(標記為NIV1-1-1至NIV1-1-10),來自QBT1-2的100個特征(NIV1-2-1至NIV1-2-100)以及來自QBT1-3的1000個特征(NIV1-3-1至NIV1-3-1000)。??蓪⒊跏紮?quán)重(或?qū)⒂糜诒硎靖髯蕴卣鲗δP偷念A(yù)測的相對貢獻的其他類型的參數(shù))分配給分倉特征5730A中的每一個。類似地,根據(jù)并發(fā)分倉計劃CBP2,可在同一訓(xùn)練階段內(nèi)將四個分位數(shù)分倉變換并發(fā)地應(yīng)用到NIV2,其中倉計數(shù)分別為20、40、80和160,從而產(chǎn)生300個分倉特征5730B。根據(jù)并發(fā)分倉計劃CBP3,可將三個分位數(shù)分倉變換應(yīng)用于NIV3,其中倉計數(shù)分別為5、25和625,從而產(chǎn)生655個分倉特征5730C。可將各自的初始權(quán)重/參數(shù)分配給所有分倉特征。

在不同實施方案中,模型生成器或機器學習服務(wù)的另一部件可基于各種因素中的任一個選擇不同的倉計數(shù)(例如,在NIV1的情況下為10、100、1000,或者在NIV2的情況下為20、40、80、160)來用于給定變量的并發(fā)分倉。在一些實施方案中,例如,可獲得可用的觀察記錄的小樣本,并且可確定樣本中的數(shù)值輸入變量(諸如NIV1、NIV2或NIV3)的值的分布。隨后可使用分布來選擇不同的倉計數(shù)。數(shù)值變量的值的范圍和粒度也可影響倉計數(shù)的選擇:例如,如果特定數(shù)值變量僅取1與1000之間的整數(shù)值,那么所述變量的最大倉數(shù)可限制為1000。在其他實施方案中,可咨詢機器學習服務(wù)的知識庫(例如,圖1中示出的KB 122)以確定針對其正生成模型的特定問題域的最佳并發(fā)分倉相關(guān)實踐。在一個實施方案中,N個倉計數(shù)的默認組(例如,10、100、1000,其中N=3)可用于被選為候選者的所有變量。

注意,在至少一些實施方案中,雖然可在模型的單個訓(xùn)練階段或訓(xùn)練會話期間實現(xiàn)給定組的CBP(例如,圖57中示出的實例中的CBP1、CBP2和CBP3)的所有分位數(shù)分倉變換,但變換中涉及的計算不需要在硬件級別處同時或并行地執(zhí)行。例如,在一個實現(xiàn)中,對于給定組的觀察記錄,通??墒褂媚P蜕善鞯闹辽僖粋€執(zhí)行線程來產(chǎn)生諸如QBT1的給定分位數(shù)分倉變換的指示符變量的值。因此,為了實現(xiàn)CBP1、CBP2和CBP3的10個變換(QBT1-1、QBT1-2、...QBT3-3),可能需要十個執(zhí)行線程。然而,這并不意味著必須使用10個處理器或核,而是例如單個4核MLS服務(wù)器可用于所有10個分倉變換,其中必要計算的不同子集在模型的訓(xùn)練階段期間的任何給定時間點處并行或順序地運行。因此,在所描繪實施方案中,使用術(shù)語“并發(fā)”來描述分位數(shù)分倉變換組是指在訓(xùn)練階段的上下文內(nèi)的并發(fā)計算,并且不需要硬件級別的并發(fā)。當然,在一些情況下,可用的核或CPU的數(shù)量可足以在訓(xùn)練階段期間并行地執(zhí)行不同CBP所需的所有計算。

在許多情況下,用于分倉變換的候選變量的數(shù)量可能相當大,并且因此由于實現(xiàn)并發(fā)分倉計劃而產(chǎn)生的分倉特征的數(shù)量也可能變得非常大。如前所述,隨著參數(shù)向量中表示的特征的數(shù)量增加,在生成或訓(xùn)練模型的MLS服務(wù)器處所需的存儲器也增加。為了限制消耗的存儲器的量,可在所描繪實施方案中執(zhí)行一個或多個權(quán)重調(diào)整優(yōu)化5710。此類優(yōu)化可包括例如正則化技術(shù),其中在連續(xù)學習迭代內(nèi)減少至少一些分倉特征(和/或一些非分倉特征)的權(quán)重,因為模型生成器能夠更多地了解各種特征對預(yù)測準確度的相對貢獻。由于正則化,與一些特征相關(guān)聯(lián)的權(quán)重可變得足夠小,使得在至少一個實施方案中至少對應(yīng)于此類特征的參數(shù)可從參數(shù)向量移除或修剪。注意,在至少一些實施方案中,正則化還可幫助減少過度擬合;也就是說,參數(shù)向量大小的減少可能不是使用正則化的唯一(或甚至主要)原因。在一些實施方案中,響應(yīng)于觸發(fā)條件,可估計分配給特征的不同權(quán)重的分位數(shù)邊界(例如,使用類似于圖55所示技術(shù)的技術(shù)),并且可從模型的參數(shù)向量移除落在權(quán)重的絕對值的范圍的最低X%中的所選擇權(quán)重組。在一些實施方案中,可使用正則化和基于分位數(shù)邊界的修剪以便在訓(xùn)練期間從參數(shù)向量中消除參數(shù)。在其他實施方案中,可使用除了正則化和基于分位數(shù)邊界的修剪之外的優(yōu)化。

分配給根據(jù)CBP1-CBP3獲得的不同分倉特征的初始權(quán)重可根據(jù)圖57中描繪的實施方案中的一個或多個所選擇優(yōu)化策略來調(diào)整。如果給定分倉特征的調(diào)整的權(quán)重降至拒絕閾值以下,那么所述特征的條目可從參數(shù)向量中移除,并且可不用于訓(xùn)練后階段預(yù)測(除非其稍后在更多學習迭代完成時再次引入)。在所示實例中,對應(yīng)于對其應(yīng)用了并發(fā)分倉變換的輸入變量中的每一個,由于子集的調(diào)整的權(quán)重高于拒絕閾值,僅將所述子集用于訓(xùn)練后階段的預(yù)測。例如,從1110個NIV1相關(guān)的分倉特征中,僅使用NIV1-1-3和NIV1-2-5。在300個NIV2相關(guān)的分倉特征中,使用NIV2-2-1至NIV2-2-40,并且在655個NIV3相關(guān)的分倉特征中,NIV3-3-1至NIV3-3-10和NIV3-3-50至NIV3-3-53用于訓(xùn)練后預(yù)測。剩余分倉特征的參數(shù)可從參數(shù)向量移除。盡管在圖57中僅示出了由于實現(xiàn)并發(fā)分倉計劃CBP1-CBP3而產(chǎn)生的分倉特征,但在訓(xùn)練階段期間,也可將非分倉特征的參數(shù)添加到參數(shù)向量以及從參數(shù)向量中移除。

在圖57示出的實例中,已經(jīng)保留了對應(yīng)于單個輸入變量(NIV1)的不同分位數(shù)分倉變換的兩個分倉特征()(NIV1-1-3和NIV1-2-5)以用于訓(xùn)練后階段預(yù)測。這可指示兩個不同倉計數(shù)(NIV1-1-3的10和NIV1-2-5的100)可每個捕獲NIV1與其值將被預(yù)測的目標變量之間的非線性關(guān)系的不同方面。由于使用類似于圖57所示技術(shù)的并發(fā)分倉技術(shù),比起對于對其執(zhí)行分位數(shù)分倉的每個變量使用單個倉計數(shù)的情況,在許多情況下訓(xùn)練模型的預(yù)測準確度可能更高,并且在許多情況下所需整體訓(xùn)練時間可能更低。

在圖57中,即使使用具有各自倉計數(shù)的多個分倉變換,每個分倉變換本身也應(yīng)用到單個變量。在一些實施方案中,多于一個輸入變量的值可一起使用以便將給定觀察記錄映射到單個倉。此類倉在本文中可被稱為多變量倉,并且對應(yīng)特征變換在本文中可被稱為多變量分位數(shù)分倉變換。對于將被分倉在一起的每組輸入變量,可將倉計數(shù)的不同組合分配給每個輸入變量以便在模型的訓(xùn)練階段期間并發(fā)地產(chǎn)生多變量分倉特征。圖58示出根據(jù)至少一些實施方案的可在機器學習服務(wù)處實現(xiàn)的并發(fā)多變量分位數(shù)分倉變換的實例。在所描繪實施方案中,從多個訓(xùn)練數(shù)據(jù)變量5890中,將三個數(shù)值輸入變量NIV1、NIV2和NIV3識別為將分組在一起用于并發(fā)多變量分倉的候選者??舍槍酶髯缘膫}計數(shù)組合對三個變量的組合的組合決定生成各自的決定樹5810A和5810B。

決定樹5810A分別表示變量(NIV1、NIV2、NIV3)的倉計數(shù)組合(c1、c2、c3)。給定觀察記錄,可基于三個變量的值來導(dǎo)航?jīng)Q定樹,其中每個級別包括決定節(jié)點,在決定節(jié)點處檢查變量中的特定一個以決定接下來應(yīng)遍歷哪個節(jié)點。樹的葉節(jié)點可對應(yīng)于從所有分組的變量的組合導(dǎo)出的倉。例如,樹5810A的級別L1可包括c1個決定節(jié)點,每個表示NIV1的值的一個分位數(shù)子集。對于級別L1處的每個節(jié)點,可在級別L2處生成用于NIV2的值的c2個決定節(jié)點,每個表示基于NIV1的分倉和基于NIV2的分倉的組合。類似地,對于級別L2處的每個節(jié)點,可生成c3個葉節(jié)點,每個表示多變量倉和對應(yīng)的分倉特征。因此,在樹5810的情況下,可利用對應(yīng)的二進制指示符變量來生成總共(c1*c2*c3)個倉。在圖58中,樹5810A的葉節(jié)點被標記為倉123-1-1至倉123-1-m,其中m是c1、c2和c3的乘積。(在所示的倉命名約定“倉<string1>-<string2>-<string3>”中,string1表示分組在一起用于分倉的不同輸入變量,string2是特定決定樹的標識符,并且string3是倉在葉節(jié)點的集合中的位置的指示符。因此,倉123-k-q將表示用于對變量NIV1、NIV2和NIV3進行分倉的第k個樹的第q個葉節(jié)點?;谌魏谓o定觀察記錄中的NIV1、NIV2和NIV3的值,所述觀察記錄可映射到葉節(jié)點中的特定一個。所述葉節(jié)點的二進制指示符變量可針對觀察記錄被設(shè)置為1,而其他指示符變量可都被設(shè)置為零。

正如在一些實施方案中可使用不同倉計數(shù)并發(fā)執(zhí)行單變量分倉,多變量分倉也可用給定變量組的倉計數(shù)的不同組合并發(fā)執(zhí)行。例如,使用倉計數(shù)(c4、c5、c6)的不同組合,可針對(NIV1、NIV2、NIV3)組合并發(fā)生成第二決定樹5810B。再次,葉節(jié)點處的倉/特征的數(shù)量等于倉計數(shù)的乘積:因此,在圖58中,樹5810B的葉節(jié)點被標記為倉123-2-1至倉123-2-n,其中n是(c4*c5*c6)。在各種實施方案中可使用用于各自多變量并發(fā)分倉變換的任何期望數(shù)量的決定樹。對于至少一些訓(xùn)練數(shù)據(jù)組,使用多個變量用于如圖58所示的分組的分位數(shù)分倉可允許捕獲比使用單變量分倉可能的更多種類的非線性關(guān)系。在各種實施方案中,限制參數(shù)向量大小的類似種類的方法可與如以上參考單變量分倉論述的多變量并發(fā)分位數(shù)分倉一起使用。例如,在至少一些實施方案中,可采用正則化和/或涉及對分配給分倉特征的權(quán)重的分位數(shù)邊界估計的技術(shù)。

在至少一些實施方案中,可在模型的給定訓(xùn)練階段內(nèi)使用多變量并發(fā)分倉變換以及單變量并發(fā)分倉變換。圖57中示出類型的單變量并發(fā)分倉可被認為是更通用多變量分倉技術(shù)的一個變型,其中簡單決定樹僅包括葉節(jié)點(加上表示分倉決定過程的開始的根節(jié)點)。一般來說,從任何給定訓(xùn)練數(shù)據(jù)組的輸入變量中,可選擇某一數(shù)量的變量組用于并發(fā)分倉。一些組可僅包括一個變量,而其他組可包括多個變量。

圖59示出根據(jù)至少一些實施方案的可用于表示機器學習服務(wù)處的并發(fā)分倉操作的配方的實例。如前所述,例如,參考圖11-圖17,機器學習服務(wù)可支持配方語言,其中可在用戶友好句法中指示多種多樣的特征變換操作,并且此類配方可根據(jù)需要重新用于不同的數(shù)據(jù)組。對應(yīng)于并發(fā)分位數(shù)分倉變換的配方,諸如圖57中所示的單變量并發(fā)分倉以及圖58中所示的多變量并發(fā)分倉,可在圖59所描繪的實施方案中生成并存儲在MLS儲存庫內(nèi)。

配方5902A的輸出部分對應(yīng)于圖58的并發(fā)分倉變換,其中針對每個變換指示輸入變量的名稱和倉計數(shù)。因此,針對NIV1執(zhí)行具有10、100和1000的倉計數(shù)的并發(fā)單變量分位數(shù)分倉變換,針對NIV2執(zhí)行具有20、40、80和160的倉計數(shù),并且針對NIV3執(zhí)行5、25和625的倉計數(shù)。

配方5902B的輸出部分指示將對指定變量組執(zhí)行的并發(fā)多變量分位數(shù)分倉變換(其中令牌“MV_quantile_bin”中的“MV”代表“多個變量”)。第一這種變換將一起應(yīng)用到NIV1和NIV2,其中NIV1值映射到10個倉,并且NIV2值也映射到10個倉(如由“10X10”指示),從而為組合創(chuàng)建100個倉。將針對NIV1和NIV2并發(fā)執(zhí)行第二多變量分倉變換,其中針對NIV1的倉計數(shù)為100,并且針對NIV2的倉計數(shù)為100,導(dǎo)致總共10000個倉。將針對NIV1和NIV3一起執(zhí)行第三多變量分倉變換,其中各自倉計數(shù)針對NIV1為100并且針對NIV3為20。在一些實施方案中,還可使用MV_quantile_bin令牌來指示單變量分位數(shù)分倉變換,指定僅具有一個變量的組。在至少一些實現(xiàn)中,配方5902A中示出的“quantile_bin”令牌可用于單變量分倉變換和多變量分倉變換兩者,并且與令牌相關(guān)聯(lián)的參數(shù)可用于確定將執(zhí)行單變量分倉還是多變量分倉。

在一些實施方案中,類似于5902A或5902B的配方可由模型生成器產(chǎn)生,并且存儲在MLS制品儲存庫中,用于可能在類似類型的機器學習問題上重新使用。在一些實施方案中,機器學習服務(wù)的客戶端可明確地請求并發(fā)分位數(shù)分倉,并且可提供指定此類變換的屬性或性質(zhì)的配方(例如,將并發(fā)分倉的一組一個或多個變量、針對每個組的并發(fā)分倉變換的數(shù)量、倉計數(shù)等)。

在至少一些實施方案中,可響應(yīng)于來自客戶端的編程請求,例如通過API或基于web的控制臺,在MLS處發(fā)起生成或訓(xùn)練模型的過程。圖60示出根據(jù)至少一些實施方案的系統(tǒng)的實例,其中客戶端可利用機器學習服務(wù)的編程接口來指示它們關(guān)于并發(fā)分位數(shù)分倉的使用的偏好。如所示,在系統(tǒng)6000中,客戶端164可通過編程接口6062提交模型創(chuàng)建或訓(xùn)練請求6010??蛻舳苏埱罂芍甘緮?shù)據(jù)源6020,所述數(shù)據(jù)源6020的觀察記錄將用于訓(xùn)練模型以預(yù)測請求中指示的一個或多個目標變量6022的值。請求可包括“并發(fā)分倉”參數(shù)6024,如果并發(fā)分位數(shù)分倉的使用對于客戶端是可接受的,那么所述參數(shù)可設(shè)置為“真”。不想讓并發(fā)分位數(shù)分倉被使用的客戶端可在此類實施方案中將這種參數(shù)設(shè)置為“假”。在至少一個實施方案中,用于并發(fā)分倉的默認設(shè)置可以是“真”,使得即使客戶端未指示偏好,MLS也可針對被識別為合適候選者的所選擇輸入變量實現(xiàn)并發(fā)分位數(shù)分倉。在一個實施方案中,代替或者除了設(shè)置并發(fā)分倉參數(shù)的值之外,客戶端可指示或包括在其模型創(chuàng)建請求6010中包括并發(fā)分倉變換的配方。

客戶端請求6010可由機器學習服務(wù)的請求/響應(yīng)處理機6042接收,并且對應(yīng)內(nèi)部請求可傳輸?shù)侥P蜕善?080。模型生成器在本文中還可被稱為模型訓(xùn)練器、特征處理管理器或特征變換管理器。模型生成器6080可識別將對其執(zhí)行并發(fā)分位數(shù)分倉的觀察記錄的一個或多個候選變量。在一些實施方案中,模型生成器6080可咨詢MLS最佳實踐知識庫122以確定將用于并發(fā)分倉的屬性:例如,如果/應(yīng)如何對多個變量進行分組以用于多變量分位數(shù)分倉,應(yīng)使用的倉計數(shù),等等。早前針對相同問題域或類似類型的機器學習問題識別的最佳實踐可幫助指導(dǎo)對并發(fā)分倉屬性的選擇。在一些實施方案中,模型生成器6080可能夠識別早前生成的配方(例如,在知識庫或MLS制品儲存庫120中),所述配方包括成功地用于與其創(chuàng)建由客戶端請求的模型類似的模型的并發(fā)分位數(shù)分倉變換??墒褂么祟愵A(yù)先存在的配方來選擇將響應(yīng)于請求6010應(yīng)用的并發(fā)分倉變換。在至少一個實施方案中,可生成一組觀察記錄的k維樹(k-d樹)表示,例如,其中k維表示所選擇的一組變量。在此類實施方案中,將應(yīng)用到所選擇的一組變量中的一個或多個的并發(fā)分倉變換的屬性可至少部分地基于對這種k-d樹的檢查。

在圖60描繪的實施方案中,可生成并調(diào)度包括并發(fā)分位數(shù)分倉的使用的一個或多個訓(xùn)練作業(yè)6068。取決于包括在數(shù)據(jù)源6020的未處理的觀察記錄中的原始數(shù)據(jù)的種類,訓(xùn)練作業(yè)6068可包括將原始輸入變量轉(zhuǎn)換為數(shù)值以可隨后用于分倉的預(yù)處理任務(wù)6070。此類預(yù)處理轉(zhuǎn)換可例如包括將一個或多個所選擇分類變量映射到實數(shù),和/或域特定的變換(例如,將原始音頻數(shù)據(jù)、圖形數(shù)據(jù)或視頻數(shù)據(jù)映射成適于分倉的實數(shù)的變換)。在一些情況下,可使用迭代學習過程來訓(xùn)練模型,所述過程具有擴展模型的參數(shù)向量(例如,在更多的學習迭代完成時通過為更多分倉特征以及未分倉特征添加參數(shù))和收縮參數(shù)向量(例如,使用先前描述的修剪技術(shù))的交替階段。取決于為并發(fā)分倉選擇的屬性以及為訓(xùn)練數(shù)據(jù)選擇的并發(fā)分倉變換的數(shù)量,參數(shù)向量擴展6072可導(dǎo)致所需存儲器的量的快速增長,并且因此在參數(shù)向量收縮6072期間可能需要積極的修剪方法。可相應(yīng)地調(diào)整用于修剪的優(yōu)化技術(shù)(諸如正則化)的屬性,例如,使得被識別為對模型預(yù)測不太重要的特征的權(quán)重減少得更快。在采用早前描述的分位數(shù)邊界估計技術(shù)的一些實施方案中,可增加在任何特定迭代期間消除或修剪的參數(shù)的部分以實現(xiàn)更積極的參數(shù)向量大小減小,可修改用于修剪的觸發(fā)條件,使得更頻繁地執(zhí)行修剪等等。注意,盡管在許多情境下,可將參數(shù)從參數(shù)向量移除,但至少在一些實施方案中,有時可能是在訓(xùn)練階段期間不從參數(shù)向量消除參數(shù)的情況。因此,使用本文描述種類的并發(fā)分位數(shù)分倉變換不需要修剪參數(shù)。

在所選擇并發(fā)分倉變換已應(yīng)用并且模型的訓(xùn)練階段完成之后,模型的表示可存儲在制品儲存庫120中,并且訓(xùn)練模型的標識符6082可通過編程接口6062提供給客戶端。在一些情況下,執(zhí)行的并發(fā)分位數(shù)分倉變換的指示(諸如配方)也可提供給客戶端164??蛻舳丝勺罱K提交模型執(zhí)行請求6054,并且模型的訓(xùn)練后階段生產(chǎn)運行6058可由模型執(zhí)行管理器6032調(diào)度。

圖61是示出根據(jù)至少一些實施方案的可在實現(xiàn)并發(fā)分位數(shù)分倉變換的機器學習服務(wù)處執(zhí)行的操作的方面的流程圖。如元素6101所示,可例如通過編程接口提交的客戶端請求,在提供商網(wǎng)絡(luò)的機器學習服務(wù)處接收將從其獲得未處理的觀察記錄以生成模型的數(shù)據(jù)源的指示。在至少一些實施方案中,機器學習服務(wù)可確定將生成線性模型,所述線性模型的預(yù)測將基于分配給從觀察記錄的變量的原始值導(dǎo)出的特征的實值權(quán)重(和/或更復(fù)雜參數(shù)的線性組合)。

機器學習服務(wù)的部件(諸如模型生成器)可將一個或多個未處理的變量識別為并發(fā)分位數(shù)分倉變換的候選者(元素6104)。在不同實施方案中,可基于多個不同因素中的任一個識別候選者,諸如對觀察記錄樣本中的變量的原始值的分布的分析,用于執(zhí)行并發(fā)分倉的默認策略等等。在至少一些情況下,可針對多變量并發(fā)分倉變換識別一組或多組候選者。在一些情況下,觀察記錄的一個或多個變量的原始值可在預(yù)處理步驟中映射到實數(shù)。例如,包括音頻、視頻或圖形內(nèi)容的變量可使用域特定映射算法映射到實數(shù),或者一些類型的分類變量或文本令牌可映射到實數(shù)。

在所描繪實施方案中,對應(yīng)于將對其執(zhí)行并發(fā)分倉變換的每個單獨變量或變量組,可生成并發(fā)分倉計劃(元素6107)。此類計劃的屬性或性質(zhì)可包括例如將在單個訓(xùn)練階段期間實現(xiàn)的不同分位數(shù)分倉變換的數(shù)量以及為每個這種變換選擇的倉計數(shù)。對于多變量分倉變換,計劃屬性中可包括將檢查變量值的序列(例如,將在用于分倉的決定樹(類似于圖58中示出的樹)的連續(xù)級別處檢查哪個變量)。在一些實施方案中,模型生成器可利用最佳實踐的知識庫來幫助生成并發(fā)分倉計劃,例如通過查找在過去成功地用于與正生成的模型相同的問題域(或類似問題域)的配方。

除了并發(fā)分倉之外,在一些情況下,可識別各種其他類型的特征變換以用于訓(xùn)練模型。在所描繪實施方案中,至少部分地由于實現(xiàn)并發(fā)分倉計劃而獲得的特征的初始權(quán)重可存儲在參數(shù)向量中(元素6110)。可隨后例如使用L1或L2正則化或其他優(yōu)化技術(shù)來調(diào)整權(quán)重(元素6113)。在一些實施方案中,可基于調(diào)整的權(quán)重移除至少一些參數(shù)向量條目(元素6116)。例如,可移除其權(quán)重降至拒絕閾值以下的條目。在一些實施方案中,類似于圖52和圖54的上下文中論述的技術(shù)的有效分位數(shù)邊界估計技術(shù)可應(yīng)用到特征權(quán)重的絕對值,并且可移除其權(quán)重落在最低X%中的參數(shù)向量條目。在一些實施方案中,可使用迭代方法,其中參數(shù)向量大小可隨著識別更多的并發(fā)分位數(shù)分倉變換而增長,并且隨著修剪參數(shù)中的一些而收縮。在訓(xùn)練階段完成之后,可使用訓(xùn)練的模型來生成關(guān)于生產(chǎn)數(shù)據(jù)和/或測試數(shù)據(jù)的預(yù)測(元素6119)。也就是說,可使用分配給保留的特征的參數(shù)或權(quán)重(例如,一些數(shù)量的分倉特征和/或未修剪的一些數(shù)量的非分倉特征)來獲得預(yù)測。

并發(fā)分位數(shù)分倉可用于多種多樣的監(jiān)督式學習問題,包括在不同實施方案中可使用各種類型的廣義線性模型來解決的問題。在各種實施方案中,類似于上述那些變換的并發(fā)分位數(shù)分倉變換還可用于非監(jiān)督式學習,例如,除了或替代用于監(jiān)督式學習。在一個實施方案中,例如,無標記的數(shù)據(jù)組的變量中的至少一些可并發(fā)分倉作為聚類技術(shù)的一部分。

用于探索評估結(jié)果的交互式圖形界面

如上所述,在不同實施方案中,可使用機器學習服務(wù)來訓(xùn)練、評估并隨后部署多種多樣的模型以用于生產(chǎn)預(yù)測,包括例如分類模型、回歸模型等。對于MLS的一些非專家用戶,解釋模型執(zhí)行結(jié)果可能不總是直截了當?shù)?,特別是結(jié)果簡單地以文本格式呈現(xiàn),例如作為一個或多個數(shù)值表的情況。具體地,使用模型輸出的文本版本,一些用戶可能相對難以理解不同質(zhì)量相關(guān)度量(諸如準確度、假陽性率、假陰性率等)之間的關(guān)系,以及改變各種解釋相關(guān)設(shè)置(諸如分類模型情況下的截止值或分類之間的邊界)可能如何影響使用模型做出的最終業(yè)務(wù)決定。為了幫助橋接一方面MLS資源的后端計算和推斷能力與MLS的用戶解釋模型結(jié)果并在可能沖突的質(zhì)量目標之間做出最佳可能權(quán)衡的能力之間可能存在的差距,在至少一些實施方案中,MLS可提供對交互式圖形界面的支持??衫缤ㄟ^網(wǎng)站或網(wǎng)頁(例如,基于web的MLS控制臺的頁面)的集合或者通過獨立圖形用戶界面(GUI)工具來實現(xiàn)的這種交互式圖形界面可使得MLS的用戶能夠瀏覽或探索各種模型執(zhí)行的結(jié)果的可視化(諸如各種訓(xùn)練后階段評估運行或評估后生產(chǎn)運行)。在各種實施方案中,界面可允許用戶動態(tài)地改變一個或多個解釋相關(guān)設(shè)置、了解各種質(zhì)量度量及其相互關(guān)系,并且在各種目標之間優(yōu)先化。

在至少一些實施方案中,界面可包括多個控制元件(例如,滑塊、旋鈕等),所述控制元件可由MLS客戶端使用來改變一個或多個預(yù)測相關(guān)設(shè)置的值,并且實時觀察此類變化的后果。在一些實現(xiàn)中,可使用連續(xù)變化控制元件,諸如滑塊,其模擬基礎(chǔ)變量或設(shè)置的平滑變化,其中在其他實現(xiàn)中,可使用離散變化控制元件,諸如旋鈕,允許選擇小組值中的一個。例如,對于二進制分類模型,客戶端可能改變截止值(用于將觀察記錄放置在一個類或另一類中的輸出變量的邊界值),并且動態(tài)地觀察這種變化將如何影響給定評估運行的假陽性、假陰性等的數(shù)量。在一些實施方案中,界面可允許客戶端“反向工程”某些類型的預(yù)測相關(guān)選擇的影響:例如,客戶端可使用滑塊控件來指示預(yù)測質(zhì)量結(jié)果度量的期望的改變(例如,二進制分類模型的特定評估運行的假陽性率),并且實時地查看可用于獲得結(jié)果度量的期望值的截止值。還可向客戶端呈現(xiàn)不同預(yù)測質(zhì)量度量與閾值之間的關(guān)系的視覺證據(jù),例如,當客戶端改變給定評估運行的敏感度級別時,可示出所述改變對諸如精度或特異性的其他度量的影響。使用實現(xiàn)各種改變的“what-if”探索的此類界面,MLS的用戶可變得更容易選擇設(shè)置,諸如分類截止值、在模型的隨后運行中模型的預(yù)測應(yīng)被限制到的變量值的范圍等,以便滿足用戶的特定業(yè)務(wù)目標(例如,將假陽性保持為低的或?qū)蚀_度保持為高的)。在給定的交互會話期間,用戶可以改變多個不同設(shè)置或度量并觀察所得趨勢,而不影響評估運行的已保存結(jié)果中的任一個。在一些實施方案中,用戶可通過交互式界面提交請求以保存將用于模型的隨后運行的一個或多個預(yù)測相關(guān)設(shè)置的各自目標值。

在各種實施方案中,各種可能設(shè)置變化的影響的動態(tài)顯示可通過MLS的后端部件(例如,在其處獲得和存儲模型執(zhí)行結(jié)果并且在其處快速量化變化的影響的各種MLS服務(wù)器)與前端或客戶端側(cè)裝置(例如,在膝上型計算機、臺式機、智能電話等處執(zhí)行的web瀏覽器或GUI)之間的有效通信變得可能,在所述前端或客戶端側(cè)裝置處顯示執(zhí)行結(jié)果并且首先捕獲客戶端與界面的各種控制元件的交互。在一些實施方案中,在客戶端通過界面改變設(shè)置時,改變的指示可快速傳輸?shù)組LS的后端服務(wù)器。后端服務(wù)器可計算數(shù)據(jù)組上的改變的結(jié)果以快速顯示,并且將更新顯示所必要的數(shù)據(jù)傳輸回到前端裝置。當諸如滑塊的連續(xù)變化控件由客戶端使用來從一個值過渡到另一個值時,在一些實現(xiàn)中,前端裝置與后端服務(wù)器之間的多個此類交互可在短時間內(nèi)發(fā)生(例如,可每秒計算和顯示幾次更新)以便模擬對顯示的連續(xù)改變。在至少一些實施方案中,計算客戶端指示的改變的至少一些影響所需要的邏輯可被并入到交互式界面本身中,或者用于圖形顯示的客戶端側(cè)裝置的其他子部件。

圖62示出根據(jù)至少一些實施方案的示例性系統(tǒng)環(huán)境,其中機器學習服務(wù)實現(xiàn)交互式圖形界面,使得客戶端能夠探索各種預(yù)測質(zhì)量度量目標之間的權(quán)衡并且修改可用于解釋模型執(zhí)行結(jié)果的設(shè)置。在系統(tǒng)6200中,可例如在由MLS的客戶端提交的訓(xùn)練請求或模型生成請求中識別將用于模型的一個或多個訓(xùn)練數(shù)據(jù)組6202。模型生成器6252可使用訓(xùn)練數(shù)據(jù)組6202來訓(xùn)練模型6204以便基于各種輸入變量的值(包括例如將早前描述種類的特征變換應(yīng)用到原始輸入數(shù)據(jù)的結(jié)果)預(yù)測觀察記錄的一個或多個輸出變量的值。

在已在足夠程度上訓(xùn)練模型6204之后,在所描繪實施方案中,可使用對于其輸出變量的值是已知的觀察記錄(其不用于訓(xùn)練模型)來執(zhí)行一個或多個評估運行例如以便確定模型的預(yù)測對在訓(xùn)練期間未檢查的觀察有多好。在系統(tǒng)6200中,評估數(shù)據(jù)組6212可包括此類觀察記錄。可由模型執(zhí)行器6254A(例如,在圖1中示出的服務(wù)器池185的MLS服務(wù)器中的一個處運行的進程)向訓(xùn)練模型6204提供評估數(shù)據(jù)組6212作為輸入。在至少一些實施方案中,可調(diào)度各自的作業(yè)(類似于圖4中示出的作業(yè))以用于訓(xùn)練模型并用于評估模型。

在所描繪實施方案中,評估的至少一些結(jié)果可被封裝以便顯示給代表其進行評估的客戶端或用戶。例如,可針對交互式圖形界面6260(例如,web瀏覽器或可能已經(jīng)安裝在客戶端計算裝置上的定制GUI工具)格式化和傳輸一組評估運行結(jié)果數(shù)據(jù)6222。結(jié)果數(shù)據(jù)組6222可包括例如以下的某一組合:評估運行的一個或多個輸出變量的統(tǒng)計分布6232,預(yù)測解釋閾值(PIT)6234的一個或多個當前選擇的或MLS提議的值(例如二進制分類的截止值),和/或與評估運行有關(guān)的一個或多個質(zhì)量度量6236的值(例如,準確度、假陽性率等)。在一些實施方案中,例如取決于正使用的圖形界面的類型,關(guān)于將如何顯示結(jié)果數(shù)據(jù)的指令或指導(dǎo)(例如,網(wǎng)頁布局細節(jié))也可從后端MLS服務(wù)器傳輸?shù)綄⒃谄涮幧蓴?shù)據(jù)的圖形視圖的裝置。交互式圖形界面6260可包括各種控件,允許客戶端在給定交互會話期間查看評估的結(jié)果、對諸如分類截止等的各種預(yù)測設(shè)置進行實驗并且觀察與對此類設(shè)置進行改變相關(guān)聯(lián)的權(quán)衡。圖63-圖69中示出交互式圖形顯示器的部件以及可在不同實施方案中使用的各種控件的實例。

向其顯示評估結(jié)果數(shù)據(jù)的客戶端可使用控件中的一個或多個來指示一個或多個設(shè)置的期望值或目標值。目標值的選擇可涉及在給定會話期間的若干客戶端交互迭代6241,其中例如客戶端可進行一次改變、觀察所述改變的影響、撤銷所述改變、隨后進行另一改變并查看其影響等等。最終,在至少一些情況下,客戶端可選擇特定設(shè)置,諸如預(yù)測解釋閾值(PIT)6242的目標值。在至少一些情境下,所選擇目標值可不同于MLS最初可提議的PIT值6234,盡管客戶端在某些情況下可能決定不改變所提議PIT值。在至少一個實現(xiàn)中,客戶端選擇的PIT值6242可存儲在MLS的儲存庫中,例如圖1的制品儲存庫120。保存的PIT值6242可用于生成訓(xùn)練模型6204的一個或多個隨后運行的結(jié)果,例如,可使用模型執(zhí)行器6254A關(guān)于評估后或生產(chǎn)數(shù)據(jù)組6214執(zhí)行的運行。注意,在至少一些實施方案中,相同模型執(zhí)行器6254A(例如,相同的后端MLS服務(wù)器)可用于訓(xùn)練模型的評估運行和評估后運行。

圖63示出根據(jù)至少一些實施方案的可通過交互式圖形界面提供的二進制分類模型的評估運行的結(jié)果的示例性視圖。在所描繪實施方案中,結(jié)果可顯示在形成用于與機器學習服務(wù)交互的基于瀏覽器的控制臺的一部分的網(wǎng)頁6300中。在其他實施方案中,可使用不需要使用web瀏覽器的獨立GUI(例如,在諸如膝上型計算機、臺式機、平板機或智能電話的客戶計算裝置處執(zhí)行的瘦客戶端程序或胖客戶端程序)來提供具有交互式控件的類似視圖。

網(wǎng)頁6300的消息區(qū)域6302指示所顯示數(shù)據(jù)對應(yīng)于模型(“M-1231”)的特定評估運行,其中特定數(shù)據(jù)組“EDS1”用作模型的輸入。在所描繪實例中,M-1231是二進制分類模型,即,其目標是將評估數(shù)據(jù)組EDS1的觀察記錄分類為兩個類(諸如簡單標記為“0”和“1”的類)中的一個的模型。消息區(qū)域還包括與圖G1以及滑塊控件S1的使用有關(guān)的說明性文本。

圖G1示出了標記為“得分”的輸出變量的分布:即,X軸表示得分的值,而Y軸指示評估數(shù)據(jù)組EDS1的觀察記錄的數(shù)量?;诘梅种岛捅环Q為“截止”的分類邊界,將觀察記錄中的每一個放置在兩個類“0”和“1”中的一個中。在所描繪情境中,例如,如果得分值是0和1范圍內(nèi)的實數(shù),并且截止值設(shè)置為0.5,那么具有0.49的得分的EDS的觀察記錄將放置在“0”類中,而具有0.51的得分的觀察記錄將放置在“1”類中。二進制分類的截止值表示預(yù)測解釋閾值(PIT)的一個實例;其他預(yù)測解釋閾值可用于各種類型的機器學習問題。例如,在一些類型的回歸問題中,表示可接受均方誤差范圍(例如,X與Y之間的均方誤差值)內(nèi)的預(yù)測的輸出變量的子范圍的邊界可充當預(yù)測解釋閾值。對于n路分類,用于決定特定觀察記錄將放置在N個類中的哪一個(或者觀察記錄是否應(yīng)被認為未分類)的一個或多個輸出變量的邊界值可表示預(yù)測解釋閾值。

在所示實例中,EDS中的每個觀察記錄可包括標簽“0”或“1”,指示關(guān)于觀察記錄的“地面真值”。這些標簽用于劃分繪圖G1的觀察記錄,例如,使用曲線“標記為“0”的記錄”指示標簽為“0”的記錄,而使用曲線“標記“1”的記錄”指示剩余記錄。在兩組中的每一個中,假設(shè)0.5的截止值(如頁面6300的元素6350中指示的),一些觀察記錄放置在正確的類中,而其他觀察記錄放置在不正確的類中。如果對于給定觀察記錄地面真值為“0”,并且得分小于截止值,那么產(chǎn)生稱為“真陰性”的正確分類結(jié)果,也就是說,標簽的正確值為“0”并且使用截止值選擇的類與正確值匹配。如果地面真值為“1”并且得分高于截止值,那么產(chǎn)生稱為“真陽性”的正確分類。如果地面真值為“0”并且得分高于截止值,那么產(chǎn)生稱為“假陽性”的不正確分類。最后,如果地面真值為“1”并且得分低于截止值,那么觀察記錄放置“0”類中,并且產(chǎn)生稱為“假陰性”的不正確分類。對于二進制分類問題中的給定觀察記錄可能的四種類型的決定(真陽性、真陰性、假陽性和假陰性)在本文中可被稱為各自的“預(yù)測解釋決定”。當其他類型的機器學習模型時,可做出其他類型的預(yù)測解釋決定。

在圖G1中,由曲線ABCEA界定的區(qū)域表示真陰性,并且由曲線CFGD界定的區(qū)域表示真陽性。表示“0”和“1”標簽的曲線之間的交叉區(qū)域表示錯誤的分類決定。假陽性由當前截止值6320的右邊的交叉區(qū)域HCD表示,而假陰性由當前截止值6320的左邊的交叉區(qū)域CHE表示。圖G1下方的條B1中也示出四種類型的決定的相對數(shù)量:真陰性6331、真陽性6334、假陰性6332和假陽性6333。在至少一些實施方案中,可在網(wǎng)頁6300中顯示對應(yīng)于四種類型的預(yù)測解釋決定的評估數(shù)據(jù)組中的觀察記錄的百分比和/或?qū)嶋H計數(shù)。例如,在圖63中,EDS1的4502個或45%的觀察記錄對應(yīng)于真陰性、698或7%是假陰性、1103或11%是假陽性以及EDS1的剩余3698個記錄或37%是真陽性。

在所描繪實施方案中,除了使用諸如G1的圖和諸如B1的條來顯示評估運行的結(jié)果之外,網(wǎng)頁6300還可以表格形式指示至少一些度量。例如,網(wǎng)頁的區(qū)域6351可指示EDS1的觀察記錄的總數(shù)、截止值、放置在“1”類(假陽性和真陽性的和)以及放置在“0”類(真陰性和假陰性的和)中的記錄的數(shù)量/百分比、針對其做出正確分類決定(真陰性和真陽性的和)的記錄的數(shù)量/百分比以及針對其做出不正確決定(假陽性和假陰性的和)的記錄的數(shù)量/百分比。在一些實施方案中可顯示其他度量。

在網(wǎng)頁6300中,響應(yīng)于用戶交互,可動態(tài)地重繪或更新多個圖形和/或文本元素。因此,例如,被授予適當權(quán)限的用戶可使用鼠標(或者在觸摸屏接口的情況下,鐵筆或手指)來操縱滑塊控件S1。S1可向左移動(如箭頭6310指示)以減小截止值,或者向右移動(如箭頭6311指示)以增大截止值。當截止值改變時,落入四個決定組中的一些或全部的觀察記錄的數(shù)量可改變(如圖64a和圖64b中示出并且以下更詳細論述的),并且此類變化在網(wǎng)頁6300中可實時地更新。另外,在截止值改變時,區(qū)域6351中示出的度量的值也可動態(tài)地更新。此類動態(tài)更新可向用戶提供改變截止值對用戶感興趣的度量的影響的容易理解的視圖。在一些實施方案中,用戶可能夠改變其值被動態(tài)地顯示和更新的度量組,例如其值由由于點擊鏈接6354而顯示的默認或“高級”度量顯示的度量。在一些實現(xiàn)中,可使用諸如顏色編碼、變化厚度的線、變化字體等的其他視覺提示來在圖G1、條B1、區(qū)域6351等的各部分之間進行區(qū)分。

在至少一些實施方案中,機器學習服務(wù)可將當前與給定模型相關(guān)聯(lián)的截止值(或其他預(yù)測解釋閾值)保存在儲存庫中。在一個實施方案中,截止的初始提議值可由MLS本身選擇,并且此值(例如,在圖63所示的示例性情境中的0.5)可存儲為默認值。授權(quán)用戶可使用諸如網(wǎng)頁6300的界面來探索改變截止的影響,并且隨后決定應(yīng)將截止的新值用于模型的一個或多個隨后運行(例如,另外評估運行或評估后生產(chǎn)運行)。可指示MLS使用網(wǎng)頁6300的按鈕控件組6352的“保存新截止”按鈕來保存截止的新值以用于未來運行。如以下更詳細論述的,在一些實施方案中,用戶可能夠例如使用“編輯類標簽”按鈕控件來將分類標簽(諸如“0”和“1”)改變?yōu)楦幸饬x的字符串。可使用“重置截止”按鈕控件來將截止重置為其默認值。在至少一些實施方案中,對正顯示的評估結(jié)果不滿意的用戶可例如使用按鈕控件組6352中示出的按鈕控件“重新評估模型”或“重新訓(xùn)練模型”來通過網(wǎng)頁6300提交重新評估模型或重新訓(xùn)練模型的請求。一些請求可能需要MLS后端與客戶端的另外交互以確定另外參數(shù)(例如,可指定新的評估數(shù)據(jù)組用于重新評估)。在所描繪實施方案中,響應(yīng)于客戶端點擊按鈕6352中的一個,可顯示不同的網(wǎng)頁以使得能夠指示另外參數(shù)。在各種實施方案中,可實現(xiàn)除了圖63中示出的那些控件之外的其他類型的控件以實現(xiàn)各種模型類型的類似類型的功能。在一些實施方案中,可實現(xiàn)連續(xù)變化控制元件以使得客戶端能夠平滑地改變諸如截止值的設(shè)置,而在其他實施方案中,可使用允許用戶從幾個離散預(yù)定義值選擇的離散變化控制元件。

圖64a和64b集體示出根據(jù)至少一些實施方案的由客戶端通過對交互式圖形界面的特定控制指示的預(yù)測解釋閾值的變化對一組模型質(zhì)量度量的影響。圖64a示出了二進制分類模型的評估運行的結(jié)果,其中截止值設(shè)置為值C1。利用這個截止值,如圖G2和條B2指示的,對示例性評估數(shù)據(jù)組的4600個觀察記錄(總數(shù)的46%)做出真陰性決定,而對3400個觀察記錄做出真陽性決定。700個決定是假陰性,并且1300個是假陽性。

取決于應(yīng)用,客戶端可向與模型有關(guān)的各種質(zhì)量度量分配不同的優(yōu)先級或不同的重要性級別。例如,如果假陽性分類的負面業(yè)務(wù)后果比假陰性的負面業(yè)務(wù)后果高得多,那么客戶可決定應(yīng)在一個方向上改變模型的解釋閾值,使得通??赡軐⒊霈F(xiàn)更少的假陽性決定。考慮這種情境:其中使用二進制分類模型來確定在線業(yè)務(wù)的特定客戶是否已嘗試欺詐交易(例如通過使用他人的信用卡)。如果觀察記錄被分類為“1”,那么可聯(lián)系并告知對應(yīng)的客戶懷疑他們的交易是欺詐交易。這意味著,如果做出假陽性決定,那么客戶端可能被錯誤地指控欺詐行為。在這種情境下,電子商務(wù)運營商可決定:如果在假陰性與假陽性之間做出權(quán)衡,那么與假陽性相比,他們將更喜歡假陰性。在假陰性的現(xiàn)實世界后果高得多的情境中,例如在腫瘤檢測應(yīng)用(其中可能腫瘤的治療可能被拒絕給其觀察被錯誤地分類為假陰性的患者)中,相反的權(quán)衡可能是優(yōu)選的。

對于在圖64a的示例性情境中解決的特定機器學習問題,客戶端已確定假陽性的比率太高,并因此已經(jīng)決定使用滑塊S1將截止值從C1增加到C2,如箭頭6434指示的。圖64b中示出增加的影響。當滑塊向右移動時,可實時地改變將受到改變的截止值影響的圖形G2的若干子區(qū)域的視覺特性(例如,陰影、顏色等)。例如,假陽性的數(shù)量按預(yù)期減少,從1300(圖64a中)降至500(圖64b中)。雖然真陰性的數(shù)量保持不變,為4600,但假陰性的數(shù)量大幅增加,從700增加到1800。真陽性的數(shù)量也在一定程度上減少,從3400到3100。在各種實施方案中,改變截止值的影響的動態(tài)可視化可幫助MLS客戶端做出比僅提供各度量的文本表示的情況下可能做出的決定更明智的決定。另外,僅提供文本表示可能使得更難以針對截止值或其他類似預(yù)測解釋閾值決定特定目標,因為在僅文本的情境中可能更難以理解各種度量圍繞閾值的特定值的變化率。例如,截止值的小變化可能對得分值的一些子范圍中的假陽性率或假陰性率具有比其他值大得多的影響,并且在沒有動態(tài)更新的圖(諸如圖64a和64b中示出的那些圖)的情況下,此類高階效應(yīng)可能難以理解。

如圖63中指示的,在各種實施方案中,可以表格形式(如在區(qū)域6351中)或者使用圖形元件來示出多個不同預(yù)測質(zhì)量度量。圖65示出根據(jù)至少一些實施方案的與其各自控件可包括在交互式圖形界面中的機器學習模型的評估運行有關(guān)的高級度量的實例。圖63中顯示的多數(shù)內(nèi)容與圖63的網(wǎng)頁6300的內(nèi)容相同。圖63和圖65之間的主要差異在于,由于用戶點擊網(wǎng)頁6300的鏈接6354,現(xiàn)在正顯示另外度量(超出區(qū)域6351中所示的那些度量)。在所描繪實例中,示出了用于預(yù)測質(zhì)量度量敏感度(滑塊6554A)、特異性(滑塊6554B)、精度(滑塊6554C)和F1得分(滑塊6554D)的各自水平滑塊控件6554。在至少一些實施方案中,客戶端可能夠決定他們希望查看和/或修改哪些度量,作為顯示默認或核心度量組的區(qū)域6351的一部分,或者在高級度量區(qū)域中。在各種實施方案中,可用于顯示和/或操縱的度量可取決于模型的類型變化,并且可尤其包括:準確度度量、召回度量、敏感度度量、真陽性率、特異性度量、真陰性率、精度度量、假陽性率、假陰性率、F1得分、覆蓋度量、絕對百分比誤差度量、平方誤差度量或AUC(曲線下區(qū)域)度量。在一些實施方案中,客戶端可能夠使用界面來在核心度量組與高級度量組之間移動度量,和/或定義將包括在一個或兩個組中的另外度量。

在圖65示出的實施方案中,滑塊6554A-6554D和滑塊S1的組合可由客戶端使用來可視地探索不同度量之間的關(guān)系。例如,使用滑塊S1改變截止值可導(dǎo)致對滑塊6554A-6554D的位置的動態(tài)更新(以及對條B1和區(qū)域6351的更新),在視覺上指示截止值如何影響敏感度、特異性、精度和F1得分。改變滑塊6554A-6554D中的任何一個的位置可導(dǎo)致對S1、條B1和剩余滑塊6554的對應(yīng)實時改變。在一些實施方案中,客戶端可能夠例如通過選擇將用于不同度量的特定類型的控件(滑塊、旋鈕等)來改變在交互式界面中顯示的各個區(qū)域的布局,哪些度量可使用圖形控件直接修改并且哪些度量將以文本格式顯示。

圖66示出根據(jù)至少一些實施方案的可用于修改分類標簽并查看基于輸出變量值選擇的觀察記錄的細節(jié)的交互式圖形界面的元件的實例。在所描繪實施方案中,MLS(或代表其訓(xùn)練和評估模型的客戶端)可能已初始地為觀察記錄將放置在其中的類選擇默認名稱“0”和“1”。稍后,客戶端可決定更為用戶友好的名稱應(yīng)該用于分類。因此,在所描繪實施方案中,可點擊“編輯類標簽”按鈕,并且可顯示更小的彈出窗口6605。在窗口6605中,用戶可輸入標簽的新名稱,諸如指示模型基于關(guān)于購物者將進行購買(“1”類)或不會購買(“0”類)的可能性的預(yù)測分類購物者的“不會購買”(替換標簽“0”)和“愿意購買”(替換標簽“1”)。

在各種實施方案中,可向MLS的交互式圖形界面的用戶提供多個其他控件。在一些實施方案中,例如,客戶端可能希望檢查觀察記錄的細節(jié),對于所述觀察記錄,由模型計算特定得分。在圖66示出的實施方案中,用戶可在圖G1中的各個點處(例如,在點6604處,對應(yīng)于大約0.23的得分)鼠標點擊,并且界面可通過顯示具有接近由在點處點擊指示的得分值的得分值的觀察記錄列表6603來響應(yīng)。在其他實現(xiàn)中,可使用其他類型的接口,諸如指尖或鐵筆。當客戶端在點6604處點擊時,在所描繪實例中,可示出具有對應(yīng)鏈接的三個觀察記錄OR231142、OR4498和OR3124的列表6603。如果并且當客戶端點擊列表的觀察記錄的標識符中的一個時,所述觀察記錄的各種變量的值可顯示在另一窗口或面板中,諸如所描繪實例中的OR內(nèi)容面板6642。觀察記錄OR4498的輸入變量IV1、IV2...IVn的值可示出為點擊圖66中示出的實例中的列表6603的對應(yīng)鏈接的結(jié)果。

在圖63-圖66中,示出了與二進制分類模型的評估有關(guān)的顯示視圖和交互。在至少一些實施方案中,可支持允許MLS客戶端探索并與其他類型的模型的評估結(jié)果交互的類似顯示。圖67示出根據(jù)至少一些實施方案的可通過交互式圖形界面提供的多路分類模型的評估運行的結(jié)果的示例性視圖。如所示,網(wǎng)頁6700包括指示所顯示數(shù)據(jù)對應(yīng)于模型(“M-1615”)的特定評估運行的消息區(qū)域6702,其中特定數(shù)據(jù)組“EDS3”用作模型的輸入。示出了評估運行的4路分類的增強混淆矩陣6770。對于四個類“類1”至“類4”,實際或真實填充量(和對應(yīng)的實際百分比)在標記為6772的列中示出。這四個類在本文可集體稱為“非默認類”。

在所描繪實施方案中,模型“M-1615”基于至少兩個因素將觀察記錄分類成五個類(四個非默認類“類1”至“類4”以及標記為“無”的默認類):(a)任何給定觀察記錄屬于四個非默認類中的任一個的預(yù)測概率,以及(b)用于將記錄放置到非默認類而不是默認類中的最小預(yù)測概率閾值(MPPT)。對于評估數(shù)據(jù)組EDS3的每個觀察記錄,可計算記錄屬于每個非默認類的的各自概率。如果四個預(yù)測概率中的任何一個超過MPPT,那么記錄可放置到對應(yīng)類別中。例如,考慮這種情境:其中MPPT被設(shè)置為25%,并且模型預(yù)測給定記錄OR1屬于四個非默認類的概率是67%(“類1”)、35%(“類2”)、2%(“類3”)和6%(“類4”)。在這種情況下,OR1將放置在“類1”中,因為67%超過了MPPT值25%。如果例如使用滑塊6750將MPPT改變?yōu)?0%,那么OR1將相反放置在“無”類中,因為67%小于70%,并且用戶將能夠地查看矩陣6770中動態(tài)更新的改變。在至少一些實施方案中,默認或提議的MPPT值可由MLS設(shè)置為(1/(非默認類的數(shù)量))(例如,對于四個非默認類,模型將提議1/4或25%作為MPPT)。因此,MPPT可被認為是多路分類模型的預(yù)測解釋閾值(PIT)的實例。

在4×5預(yù)測百分比矩陣6775中示出了放置在五個分類中的每一個中的每個類的觀察的百分比。在所描繪實例中,如列6772中指示的,在10000個總觀察中,2600個觀察記錄實際上在“類1”中,而模型預(yù)測總共3176個觀察記錄屬于“類1”如在區(qū)域6780中指示的。在實際屬于“類1”的2600個觀察中,95%被正確地預(yù)測為屬于“類1”,1%被不正確地預(yù)測為屬于“類2”,1%屬于“類3”,3%屬于“類4”,并且0%屬于“無”,在MPPT的當前值的情況下。在各種實施方案中,除了圖67中示出的矩陣元素之外,可使用與圖63中示出的技術(shù)類似的技術(shù)指示其他度量(諸如預(yù)測的整體準確度),例如,可提供與多路分類有關(guān)的一組核心度量或用于查看高級度量的鏈接。在一些實施方案中,用戶可能夠為不同類指定各自的MPPT,并且可能夠動態(tài)地查看那些變化的影響。在至少一個實施方案中,矩陣元素可以是顏色編碼的,例如,隨著百分比更接近100%,對應(yīng)元素的顏色或背景可設(shè)置為更接近深綠色,并且隨著百分比更接近0%,對應(yīng)元素的顏色或背景可設(shè)置為更接近亮紅色。

在一些實施方案中,MLS可提供交互式圖形顯示器,以使得用戶能夠精確地定義或選擇將如何定義回歸模型的預(yù)測誤差,和/或探索針對所選擇誤差容限閾值的預(yù)測誤差的分布。圖68示出根據(jù)至少一些實施方案的可通過交互式圖形界面提供的回歸模型的評估運行的結(jié)果的示例性視圖。如所示,網(wǎng)頁6800包括指示所顯示數(shù)據(jù)對應(yīng)于模型(“M-0087”)的特定評估運行的消息區(qū)域6802,其中特定數(shù)據(jù)組“EDS7”用作模型的輸入。在頁面6800的右側(cè),為客戶端提供了若干不同選項來選擇最感興趣的誤差定義,并且提供區(qū)域6812中的滑塊S1以指示將用于在圖6800中顯示誤差分布的誤差容限閾值。當前已經(jīng)選擇輸出變量的預(yù)測值與真值之間的差的絕對值作為誤差定義(如區(qū)域6804中的所選擇單選按鈕控件指示的)?;瑝KS1當前定位成指示具有不大于60(鑒于區(qū)域6804的當前誤差定義的最大可能誤差為600)的值的誤差是可容忍的。在圖6820中,示出了針對真值的不同范圍的可接受預(yù)測(即,當前由滑塊S1指示的容限極限內(nèi)的預(yù)測)和超容限預(yù)測的分布。當滑塊S1向左或向右移動時,可接受預(yù)測6868與超容限預(yù)測6867之間的邊界可改變。如果客戶端希望使用不同的誤差定義,那么若干選擇是可用的。例如,通過選擇區(qū)域6806中的單選按鈕而不是區(qū)域6804中的按鈕,客戶端可將誤差定義為真值與預(yù)測值之間的(非絕對)算術(shù)差,指示預(yù)測誤差的方向?qū)蛻舳撕苤匾?。使用區(qū)域6808中的單選按鈕,誤差的方向及其相對于真值的值都可包括在誤差定義中。一些用戶可希望指示他們自己的誤差定義,這可通過選擇區(qū)域6810中的單選按鈕并點擊所提供鏈接來完成。當客戶端改變誤差的定義時,在至少一些實施方案中,區(qū)域6812的錯誤容限滑塊標度中的最大誤差也可相應(yīng)改變。使用圖68中示出種類的交互式控件,MLS客戶端可能夠針對其特定回歸問題選擇最適當?shù)恼`差定義,并且還(基于它們的誤差容限水平)確定預(yù)測最大和最小誤差量的輸出值的范圍。在一些實施方案中,還可或替代地顯示回歸模型的其他類型的交互式可視化。。

圖69是示出根據(jù)至少一些實施方案的可在實現(xiàn)使得客戶端能夠基于探索評估結(jié)果修改預(yù)測解釋設(shè)置的交互式圖形界面的機器學習服務(wù)處執(zhí)行的操作的方面的流程圖。如元素6901所示,例如響應(yīng)于通過編程接口從客戶端接收的請求,可在機器學習服務(wù)處訓(xùn)練特定模型M1。模型可針對給定觀察記錄組的每個觀察記錄計算一個或多個輸出變量的值,諸如OV1。如元素6904所示,可進行評估運行ER1以獲得給定評估數(shù)據(jù)組的每個記錄的各自O(shè)V1值。

可生成表示評估運行ER1的結(jié)果的至少所選擇子集的數(shù)據(jù)組DS1,用于通過交互式圖形顯示器顯示(元素6907)。針對其獲得DS1的交互式顯示器可包括各種控制元件,諸如連續(xù)變化滑塊元件和/或離散變化元件,所述元件可用于改變一個或多個預(yù)測相關(guān)設(shè)置,諸如分類截止值和/或各種其他類型的預(yù)測解釋閾值。對應(yīng)于ER1的多個不同數(shù)據(jù)元素中的任一個可被包括在數(shù)據(jù)組DS1中用于顯示,諸如OV1或其他輸出或輸入變量的統(tǒng)計分布、一個或多個預(yù)測質(zhì)量度量(諸如(在二進制分類模型評估的情況下)真陽性、假陽性、真陰性和假陰性的數(shù)量和/或百分比)以及預(yù)測解釋閾值的至少一個提議的或默認值。在所描繪的實施方案中,數(shù)據(jù)組DS1可傳輸?shù)綄⒃谄渖巷@示圖形界面的裝置(例如,具有web瀏覽器或安裝的獨立GUI工具的客戶端擁有的計算裝置)(元素6910)。

基于用戶對圖形界面的一個或多個交互式控件的操縱,可確定特定預(yù)測解釋閾值(PIT1)的目標值,諸如二進制分類的截止值(元素6913)。在一些實施方案中,可在正顯示圖形的計算裝置處檢測控件的操縱(例如,可使用鼠標、鐵筆或指尖來執(zhí)行),并且可例如使用類似于早前描述的那些API的一個或多個API的調(diào)用將所述操縱傳送回到MLS的一個或多個其他部件(諸如后端服務(wù)器)。在其他實施方案中,控件的操縱的指示不需要傳輸?shù)胶蠖薓LS服務(wù)器;相反,更新顯示所需的一些或全部計算可在顯示圖形界面的裝置上執(zhí)行??捎嬎阌煽丶牟倏v引起的對DS1的一個或多個其他元素的改變(元素6916),并且當用戶移動控制元件時,可實時地發(fā)起對顯示的對應(yīng)改變。在一個實現(xiàn)中,可在執(zhí)行諸如滑塊的圖形控制元件的位置的改變時跟蹤它們,并且可盡可能快地將各種度量的對應(yīng)的更新值傳輸?shù)斤@示裝置,以給予用戶對圖形控制元件的操縱的瞬時或接近瞬時響應(yīng)的印象。在所描繪實施方案中,如果并且當用戶指示將保存PIT1的特定目標值,例如用于在模型的隨后運行期間使用,那么可將目標值存儲在MLS儲存庫中(元素6919)。在一些實施方案中,可針對模型、用戶、評估數(shù)據(jù)組和/或使用案例的不同組合保存不同的PIT1值,例如,可使用元組(模型ID,評估數(shù)據(jù)組ID,用戶/客戶端ID,使用案例ID)的某一組合索引包含所選擇PIT值的儲存庫記錄。

可使用所保存PIT1值來生成一個或多個評估后模型執(zhí)行的結(jié)果,并且將所述結(jié)果提供給感興趣的客戶端(元素6922)。在一些實施方案中,所保存PIT1值可用于其他評估以及或者代替用于評估后運行。在一個實施方案中,也可通過交互式圖形界面的元件接收訓(xùn)練模型的初始請求(或重新訓(xùn)練/重新評估模型的請求)。在一些實施方案中,圖形界面還可顯示與模型評估和/或代表客戶端執(zhí)行的其他活動有關(guān)的警報或信息消息,諸如在給定評估運行期間檢測到的異?;虿粚こ=Y(jié)果的列表。在一個實施方案中,例如,MLS可檢查評估數(shù)據(jù)組的輸入變量的統(tǒng)計分布與訓(xùn)練數(shù)據(jù)組中的相同變量的統(tǒng)計分布多么地不同,并且如果發(fā)現(xiàn)分布為基本上不同則顯示警報。在至少一些實施方案中,若干不同評估運行的結(jié)果可顯示在界面的單個視圖中(例如,通過模擬其中在不同“深度”處示出不同評估運行的結(jié)果的3維顯示器或者通過根據(jù)不同評估運行計算平均結(jié)果)。

在至少一些實施方案中,代替或除了圖63-圖68中示出的網(wǎng)頁種類之外,諸如命令行工具或應(yīng)用編程接口(API)的其他類型的交互式接口可用于實現(xiàn)類似目標。因此,例如,MLS客戶端可通過命令行工具或API調(diào)用提交一個或多個請求,以接收各種類型的模型的評估運行的預(yù)測結(jié)果的分布的指示,包括分類和/或回歸模型??蛻舳丝膳c接口交互(例如,提交新命令或調(diào)用不同的API)以指示對預(yù)測解釋閾值的改變,并且可相應(yīng)(例如,以文本格式)顯示對各種度量的對應(yīng)改變。類似地,客戶端可使用API或命令行來指示特定解釋閾值將被保存以供在模型的隨后運行中使用。在一些實施方案中,可使用文本符號提供圖63-圖68中示出的至少一些圖形顯示的近似,例如,可使用ASCII字符的組合顯示圖的相對粗略版本。在一些實施方案中,可使用基于語音和/或姿勢的MLS接口。

檢測復(fù)本觀察記錄

對于若干類型的機器學習問題,如前所述,觀察記錄的集合可分裂成若干類型的數(shù)據(jù)組用于模型開發(fā)和使用的各自階段。例如,一些觀察可包括在用于生成模型的訓(xùn)練數(shù)據(jù)組中,并且其他觀察可包括在將用于確定模型的預(yù)測的質(zhì)量的一個或多個測試或評估數(shù)據(jù)組中。(對于關(guān)于復(fù)本檢測的以下論述,術(shù)語“測試數(shù)據(jù)組”和“評估數(shù)據(jù)組”在本文中可同義使用;類似地,確定模型的預(yù)測的質(zhì)量或準確度的過程可被稱為模型的“評估”或“測試”)。在訓(xùn)練模型之后使用測試數(shù)據(jù)組的主要目標之一是確定訓(xùn)練模型能夠如何良好地推廣到訓(xùn)練數(shù)據(jù)之外:也就是說,訓(xùn)練模型可如何準確地預(yù)測不包括在訓(xùn)練數(shù)據(jù)組中的“新”觀察的輸出變量值。如果測試數(shù)據(jù)組碰巧包括也在訓(xùn)練數(shù)據(jù)組中的許多觀察,那么使用測試數(shù)據(jù)組進行的預(yù)測的準確度似乎可能很高,這主要是由于訓(xùn)練數(shù)據(jù)組與測試數(shù)據(jù)組之間的觀察記錄的重復(fù),而不是因為模型的優(yōu)越泛化能力。

在本文描述種類的大規(guī)模機器學習服務(wù)(MLS)處,這些數(shù)據(jù)組中的每一個可能潛在地包括數(shù)百萬個觀察記錄,并且有時可能是這種情況:至少一些觀察記錄可能從訓(xùn)練數(shù)據(jù)組“泄漏”到對應(yīng)測試數(shù)據(jù)組,例如,由于在訓(xùn)練數(shù)據(jù)組和測試數(shù)據(jù)組之間分裂數(shù)據(jù)時的誤差,或者由于無意使用類似或重疊數(shù)據(jù)文件用于訓(xùn)練階段和測試階段。當模型的訓(xùn)練階段和評估階段在時間上分開(例如,按小時、天或周算)和/或在不同組的MLS服務(wù)器上執(zhí)行時,這種數(shù)據(jù)泄漏的概率甚至可能更大,如給定訓(xùn)練數(shù)據(jù)組的大小和MLS的分布和并行架構(gòu)可是這種情況。為了避免MLS客戶通過無意地使用重疊或相同的數(shù)據(jù)組來訓(xùn)練和評估而浪費大量時間和/或金錢的情境,在至少一些實施方案中,MLS可對觀察記錄的有效檢測提供支持,所述觀察記錄是(或至少可能是)跨數(shù)據(jù)組的復(fù)本。在沒有這種支持的情況下,客戶可等待直到測試或評估運行結(jié)束、檢查運行的結(jié)果,并且隨后才能夠做出關(guān)于測試數(shù)據(jù)是否包括訓(xùn)練數(shù)據(jù)觀察記錄的主觀判斷(例如,如果結(jié)果看起來意外地準確)。使用如下所述的復(fù)本檢測能力,在給定數(shù)據(jù)組DS1(諸如模型的測試數(shù)據(jù)組)的處理期間,可相對早地告知MLS客戶DS1是否有高概率包含也在第二數(shù)據(jù)組DS2(諸如模型的訓(xùn)練數(shù)據(jù)組)中的記錄,并且可因此能夠避免浪費資源。在至少一個實現(xiàn)中,可針對至少一些數(shù)據(jù)組默認地執(zhí)行這種復(fù)本檢測,而不需要顯式客戶端請求。

圖70示出根據(jù)至少一些實施方案的可利用機器學習數(shù)據(jù)組的空間有效表示來確定機器學習服務(wù)處一個數(shù)據(jù)組是否可能包括另一數(shù)據(jù)組的復(fù)本觀察記錄的示例性復(fù)本檢測器。在所描繪實施方案中,可在MLS處識別將用于訓(xùn)練特定機器學習模型7020的訓(xùn)練數(shù)據(jù)組7002,例如由于客戶端調(diào)用MLS的編程接口,諸如早前描述的“createModel”接口。稍后,代表其訓(xùn)練模型的客戶端可能希望具有使用測試數(shù)據(jù)組7004評估的模型7020的質(zhì)量,或者MLS本身可識別將用于評估的測試數(shù)據(jù)組7004。數(shù)據(jù)組7002和7004中的每一個可包括某一數(shù)量的觀察記錄(OR),諸如訓(xùn)練數(shù)據(jù)組7002的OR Tr-0、Tr-1和Tr-2,以及測試數(shù)據(jù)組7004的OR Te-0和Te-1。任一數(shù)據(jù)組的OR中的單獨一個可包括某一數(shù)量的輸入變量(IV)諸如IV1、IV2等等以及一個或多個輸出變量OV的各自值。在至少一些實施方案中,并非任一數(shù)據(jù)組的所有OR可能必須包含所有IV的值,例如,一些輸入變量的值可能在一些觀察記錄中遺漏。在至少一些情況下,在使用訓(xùn)練數(shù)據(jù)組7002訓(xùn)練模型7020時,可能不一定已識別測試數(shù)據(jù)組7004。

在所描繪實施方案中,可構(gòu)造可用于復(fù)本檢測的訓(xùn)練數(shù)據(jù)組的至少一個空間有效的替代表示7030,諸如布隆過濾器。在一些實施方案中,可構(gòu)造其他類型的替代表示,諸如跳過列表或商過濾器。為了構(gòu)造給定空間有效表示7030,在一些實施方案中可使用復(fù)本的對應(yīng)定義7035,諸如指示當將OR指定為另一個的復(fù)本時是否將考慮觀察記錄的所有變量或者將是否考慮變量的某一子集的定義。圖72中提供并且以下更詳細地論述可適用于給定數(shù)據(jù)組的不同復(fù)本定義7035的實例。在一些實施方案中,可與模型的訓(xùn)練并行地生成和存儲替代表示,使得例如,對于(a)訓(xùn)練模型和(b)創(chuàng)建和存儲替代表示7030可能僅需要單遍通過訓(xùn)練數(shù)據(jù)組7002。在一些實現(xiàn)中,替代表示可比訓(xùn)練數(shù)據(jù)組本身所占據(jù)的存儲裝置或存儲器少得多(例如,小數(shù)量級)。

在所描繪實施方案中,MLS的概率復(fù)本檢測器7036可使用替代表示7030來進行關(guān)于測試數(shù)據(jù)組7004的給定OR Te-k的以下確定中的一個:(a)Te-k不是訓(xùn)練數(shù)據(jù)組的任一OR的復(fù)本或(b)Te-k具有作為訓(xùn)練數(shù)據(jù)組的OR的復(fù)本的非零概率。也就是說,雖然概率復(fù)本檢測器7036可能不能提供關(guān)于復(fù)本的存在的100%確定性,但檢測器可能夠以100%確定性確定給定測試數(shù)據(jù)組OR不是復(fù)本。在一些實施方案中,概率復(fù)本檢測器7036可能夠估計或計算與將給定OR標記為復(fù)本相關(guān)聯(lián)的置信水平或確定性水平。

復(fù)本檢測器7036可檢查測試數(shù)據(jù)組7004的某一數(shù)量的OR,并且獲得所檢查OR的一個或多個復(fù)本度量7040。取決于已被識別為可能或可能復(fù)本的OR的數(shù)量或分數(shù),在一些實施方案中,復(fù)本度量可本身在本質(zhì)上是概率性的。例如,它可表示語句“X%的測試組觀察記錄具有大于或等于Y%的為復(fù)本的各自概率”的邏輯等效物。在至少一個實施方案中,可向客戶端提供關(guān)于一個或多個觀察記錄是否為復(fù)本的置信水平的指示。當然,如果沒有發(fā)現(xiàn)所檢查測試組OR具有為復(fù)本的非零概率,那么度量7040可以100%確定性指示所檢查測試數(shù)據(jù)是無復(fù)本的。當獲得復(fù)本度量時,在一些實施方案中,復(fù)本檢測器7036還可考慮與正使用的特定替代表示相關(guān)聯(lián)的假陽性復(fù)本檢測的預(yù)期比率。例如,如果用作替代表示7030的布隆過濾器具有8%的預(yù)期假陽性率,并且檢測到的復(fù)本的分數(shù)也是8%(或更小),那么復(fù)本度量可簡單地指示所識別可能復(fù)本的數(shù)量在可接受范圍內(nèi)。在至少一些實施方案中,可基于諸如訓(xùn)練數(shù)據(jù)組的大小、替代表示的復(fù)本預(yù)測的期望假陽性率等等的因素選擇在生成替代表示中使用的各種參素(例如,用于布隆過濾器的位的數(shù)量和/或用于生成布隆過濾器的散列函數(shù)的數(shù)量和類型)。

在至少一些實施方案中,如果復(fù)本度量7040滿足閾值標準,例如,如果多于k%的測試數(shù)據(jù)具有為復(fù)本的非零概率,那么可由MLS實現(xiàn)一個或多個復(fù)本響應(yīng)7045。在不同實施方案中可進行多個不同響應(yīng)動作中的任一個,例如,可向客戶端發(fā)送指示復(fù)本的可能性的警告消息,可能復(fù)本可從測試數(shù)據(jù)組7004中移除或刪除,涉及使用測試數(shù)據(jù)的機器學習作業(yè)可能被暫停、取消或放棄等等。在至少一些實施方案中,由MLS采取的響應(yīng)動作可取決于復(fù)本度量7040。例如,如果發(fā)現(xiàn)測試數(shù)據(jù)組的大部分是無復(fù)本的,那么可向客戶端傳輸指示潛在復(fù)本的(小)部分的警告消息,而如果發(fā)現(xiàn)大部分測試數(shù)據(jù)組為潛在復(fù)本,那么模型7020的評估可被暫?;蛲V梗钡娇蛻舳私鉀Q了問題。在一些實施方案中,可使用測試數(shù)據(jù)組7004與模型7020的評估并行地執(zhí)行復(fù)本分析,使得可能僅需要單遍通過測試數(shù)據(jù)組。在一個實施方案中,客戶端可指示(例如,通過MLS的編程接口)將由MLS使用以確定是否滿足需要響應(yīng)動作的閾值準則的一個或多個參數(shù)(或其他形式的指導(dǎo))。例如,客戶端可指示,如果測試數(shù)據(jù)組的隨機選擇的觀察記錄是復(fù)本的概率超過P1,那么應(yīng)采取特定響應(yīng)動作。MLS可隨后將這種高級指導(dǎo)轉(zhuǎn)換成將用于測試數(shù)據(jù)組的特定數(shù)值閾值(例如,僅當可用的Y個測試數(shù)據(jù)組記錄中的至少X個已被識別為復(fù)本時才采取響應(yīng)動作)。在此類情境中,客戶端將不一定必須知道低級細節(jié),諸如測試數(shù)據(jù)組記錄的總數(shù)或?qū)⒂|發(fā)響應(yīng)的復(fù)本的實際數(shù)量。在一些實施方案中,客戶端可以編程方式指定將針對一個或多個復(fù)本度量閾值實現(xiàn)的響應(yīng)和/或閾值本身的低級細節(jié)。

在至少一個實施方案中,復(fù)本檢測器7036可在發(fā)起響應(yīng)7045的生成之前不等待處理整個測試數(shù)據(jù)組7004,例如,如果從具有一百萬個OR的測試數(shù)據(jù)組檢查的前100個觀察記錄中多于80個具有為復(fù)本的非零概率,那么可生成響應(yīng)而不必等待檢查剩余的OR。如以下所述,在一些實施方案中,圖72中示出的技術(shù)可用于識別給定數(shù)據(jù)組內(nèi)(例如,在訓(xùn)練數(shù)據(jù)組本身內(nèi)、在測試數(shù)據(jù)組本身內(nèi),或在將劃分為訓(xùn)練數(shù)據(jù)組和測試數(shù)據(jù)組的分裂前數(shù)據(jù)組內(nèi))的可能復(fù)本,或者跨任何期望對的數(shù)據(jù)組識別可能復(fù)本。因此,在此類實施方案中,技術(shù)的使用可不僅限于檢查測試數(shù)據(jù)組是否可包含訓(xùn)練數(shù)據(jù)觀察記錄的復(fù)本。注意,在一個實施方案中,至少對于一些數(shù)據(jù)組,用于復(fù)本檢測的替代表示不需要一定使用比數(shù)據(jù)組的原始表示少的存儲裝置(或更少的存儲器)。

圖71a和圖71b集體示出根據(jù)至少一些實施方案的用于機器學習服務(wù)處的復(fù)本觀察記錄的概率檢測的布隆過濾器的使用的實例。在所描繪情境中,包括16位(位0至位15)的布隆過濾器7104示出為從包括OR 7110A和7110B的訓(xùn)練數(shù)據(jù)組構(gòu)造。在所描繪實施方案中,為了構(gòu)造布隆過濾器,給定OR 7110可提供作為對一組散列函數(shù)H0、H1和H2中的每一個的輸入。隨后可例如使用模函數(shù)將每個散列函數(shù)的輸出映射到過濾器7104的16位中的一個,并且那個位可被設(shè)置為1。例如,關(guān)于OR 7110A,使用散列函數(shù)H0將布隆過濾器的位2設(shè)置為1,使用散列函數(shù)H1將位6設(shè)置為1,并且使用散列函數(shù)H2將位9設(shè)置為1。關(guān)于OR 7110B,位4、位9(已設(shè)置為1)和位13被設(shè)置為1。如在OR 7110A和7110B都映射到的位9的情況下,在布隆過濾器內(nèi)的給定位置處存在1可由針對不同OR生成的散列值(或者甚至由使用不同散列函數(shù)針對相同OR生成的散列值)造成。這樣,在過濾器的任何給定位位置組處1的存在可能不唯一地或必然地暗示在用于構(gòu)造過濾器的數(shù)據(jù)組中存在對應(yīng)OR。布隆過濾器7104的大小可遠小于用于構(gòu)建過濾器的數(shù)據(jù)組,例如,512位的過濾器可用作幾兆字節(jié)數(shù)據(jù)的替代表示。

如圖71b中指示的,相同的散列函數(shù)可應(yīng)用到測試數(shù)據(jù)組OR7150(例如,7150A和7150B)以便檢測關(guān)于訓(xùn)練數(shù)據(jù)組的可能復(fù)本。如果特定測試數(shù)據(jù)組OR 7150映射到包含至少一個零的一組位,那么復(fù)本檢測器可確定地確定OR不是復(fù)本。因此,OR 7150A映射到位3、位6和位10(分別使用散列函數(shù)H0、H1和H2),在過濾器已使用整個訓(xùn)練數(shù)據(jù)組完全填充之后,其中的兩個(位3和位10)碰巧在布隆過濾器7104中包含零。因此,在復(fù)本檢測分析的結(jié)果7190中,OR 7150被指示為不是復(fù)本。相比之下,OR 7150B映射到位4、位9和位13,所有這些都碰巧在完全填充的布隆過濾器中包含1。因此,在結(jié)果7190中,OR 7150可被指示為可能的復(fù)本,具有FP1的某一基礎(chǔ)假陽性率。假陽性率FP1可以是布隆過濾器的大小(使用的位數(shù),在這種情況下為16)、所使用的散列函數(shù)的數(shù)量和/或類型和/或用于構(gòu)建過濾器的觀察記錄的數(shù)量的函數(shù)。在一些實施方案中,可通過布隆過濾器生成過程的可調(diào)參數(shù)7144來選擇過濾器大小以及所使用散列函數(shù)的數(shù)量和類型。例如,可基于訓(xùn)練數(shù)據(jù)組的觀察記錄的估計或預(yù)期數(shù)量、觀察記錄的估計或預(yù)期大小等等來選擇不同的參數(shù)值。其他類似參數(shù)可支配從諸如商過濾器或跳過列表的數(shù)據(jù)組的其他類型的替代表示所預(yù)期的假陽性率。注意,示出的布隆過濾器7104的大小(16位)不旨在表示優(yōu)選或所需的大??;可使用任何期望數(shù)量的位,并且在不同實施方案中可采用任何期望數(shù)量的任何優(yōu)選類型的散列函數(shù)。例如,一些實現(xiàn)可使用MurmurHash函數(shù),而其他實現(xiàn)可使用Jenkins散列函數(shù)、Fowler-Noll-Vo散列函數(shù)、CityHash函數(shù)或者此類散列函數(shù)的任何期望的組合。

在一些實施方案中,可基于諸如以下因素在MLS處選擇諸如過濾器的大小和/或所使用的散列函數(shù)的數(shù)量和類型的參數(shù):訓(xùn)練數(shù)據(jù)組的估計或?qū)嶋H大小、期望的假陽性率、不同散列函數(shù)的計算需求、不同散列函數(shù)的隨機化能力等等。在不同OR可占用不同空間量的至少一個實施方案中,MLS可通過檢查前幾個記錄并且將訓(xùn)練數(shù)據(jù)組文件的文件大小除以前幾個記錄的平均大小來估計訓(xùn)練數(shù)據(jù)組中的觀察記錄的數(shù)量。此方法可使得MLS能夠例如在模型也被訓(xùn)練時在單遍通過訓(xùn)練數(shù)據(jù)組時生成布隆過濾器7104,替代需要一遍來確定OR的精確數(shù)量并隨后需要另一遍來構(gòu)造過濾器。

在至少一些實施方案中,可使用用于復(fù)本檢測的不同數(shù)學技術(shù)來實現(xiàn)關(guān)于復(fù)本的不同不確定性水平。例如,在一個實施方案中,可使用密碼強度散列函數(shù)來生成每個測試數(shù)據(jù)組OR的簽名,并且可使用對測試數(shù)據(jù)使用相同散列函數(shù)生成的簽名來以非常高準確率檢測復(fù)本。當然,與可用于生成布隆過濾器的較弱散列函數(shù)相比,使用密碼散列函數(shù)可能在計算方面是昂貴的,并且使用密碼散列實現(xiàn)的空間效率可能不如使用布隆過濾器可實現(xiàn)的那么大。通常,MLS可能夠利用與所選擇復(fù)本檢測技術(shù)相關(guān)聯(lián)的資源使用或成本來權(quán)衡復(fù)本檢測的準確度,例如,隨著準確度提高,技術(shù)的資源需求通常也可上升。注意,至少在一些實施方案中和/或?qū)τ谝恍?shù)據(jù)組大小,可選擇確定性復(fù)本檢測技術(shù)而不是概率技術(shù),例如,針對可能復(fù)本測試的測試數(shù)據(jù)OR可與訓(xùn)練數(shù)據(jù)組的原始OR而不是使用空間有效表示進行比較。

在生成數(shù)據(jù)組的替代表示之前,諸如圖71a和圖71b中示出的布隆過濾器,在一些實施方案中,MLS可確定將應(yīng)用的復(fù)本定義,即,在聲明O1為不同OR O2的可能或?qū)嶋H復(fù)本時,應(yīng)當精確地考慮ORO1的什么屬性。圖72示出根據(jù)至少一些實施方案的可在機器學習服務(wù)的復(fù)本檢測器處使用的替代復(fù)本定義的實例。在所描繪實施方案中,示出了三個示例性復(fù)本定義DD1、DD2和DD3。根據(jù)DD1,當決定給定OR是否是另一個的復(fù)本時,將考慮包括在訓(xùn)練數(shù)據(jù)組7210的任何OR中的所有輸入變量和輸出變量。根據(jù)DD2,將考慮所有輸入變量,但沒有輸出變量。根據(jù)DD3,只有輸入變量的嚴格子集(例如,所示情境中的IV1和IV3)需要匹配以使OR被認為是復(fù)本。在一些實施方案中,例如基于它們的機器學習問題的語義和/或基于它們對不同變量的相對重要性的理解,可由MLS客戶端選擇復(fù)本的這些和其他定義。例如,考慮包括在訓(xùn)練數(shù)據(jù)組7210中的輸入變量中的一個IV-k稀疏地填充的情境,使得大部分OR甚至不包含變量IV-k的值。在這種情境中,客戶端可能希望將IV-k從用于確定復(fù)本的變量組中排除。在另一情境中,客戶端可能不希望在考慮復(fù)本時包括輸出變量,因為模型的預(yù)測完全基于輸入變量。

在所描繪實施方案中,可基于所選擇復(fù)本定義來創(chuàng)建訓(xùn)練組的不同替代表示。對于觀察記錄包括輸入變量IV1、IV2、IV3和IV4以及輸出變量OV的訓(xùn)練數(shù)據(jù)組7210,如果使用定義DD1,那么可使用所有五個變量(例如,作為對一組散列函數(shù)的組合輸入)。如果使用DD2,那么可使用IV1、IV2、IV3和IV4來生成替代表示,并且可排除OV。如果使用DD3,那么僅IV1和IV3可用于交替表示。在一些實施方案中,MLS可決定并發(fā)使用多個復(fù)本定義,例如,可根據(jù)所使用的每個定義創(chuàng)建訓(xùn)練數(shù)據(jù)組7210的各自替代表示,并且可獲得對應(yīng)于每個定義的復(fù)本度量。

可基于所使用的定義和替代表示生成復(fù)本分析結(jié)果7260A、7260B和/或7260C。測試數(shù)據(jù)組7220的OR 7251碰巧在所有五個變量中匹配OR 7201。因此,所有三個結(jié)果7260A、7260B和7260C可將OR 7250A識別為具有某一非零概率的可能復(fù)本。OR 7252在所有輸入變量中而不在輸出變量中匹配OR 7201。因此,如果使用DD2或DD3,那么可將OR 7250B分類為可能復(fù)本,但如果使用DD1,那么不會將其分類為可能復(fù)本。最后,具有與訓(xùn)練組的OR 7202相同的IV1和IV3的值但在所有其他變量中不同的OR 7253僅當使用DD3時可被分類為可能復(fù)本,并且如果使用其他定義中的任一個時可被聲明為非復(fù)本。

如前所述,在一些實施方案中,MLS可包括多個不同的服務(wù)器,在所述服務(wù)器上可并行地調(diào)度機器學習作業(yè)。圖73示出根據(jù)至少一些實施方案的機器學習服務(wù)處的大數(shù)據(jù)組的復(fù)本檢測的并行方法的實例。在所描繪實施方案中,訓(xùn)練數(shù)據(jù)組7302可被劃分為四個分區(qū)P0、P1、P2和P3,并且可對應(yīng)于每個分區(qū)生成和調(diào)度各自的布隆過濾器創(chuàng)建(BFC)作業(yè)??煞謩e針對分區(qū)P0至P3調(diào)度BFC作業(yè)J0至J3。在各種實施方案中,作業(yè)J0至J3也可用于其他任務(wù),諸如訓(xùn)練模型,并且不必限于創(chuàng)建布隆過濾器或其他替換表示。在至少一些實施方案中,布隆過濾器或其他替換表示的創(chuàng)建可被認為是特征處理變換的一個實例,并且可使用與前述配方語言類似的配方語言來請求表示的生成。在所描繪示例性情境中,每個BFC作業(yè)可產(chǎn)生分區(qū)級布隆過濾器,諸如BF0、BF1、BF2或BF3??呻S后例如使用簡單的布爾“或”運算來邏輯地組合或聚集分區(qū)級過濾器以便產(chǎn)生完整的布隆過濾器BF-all。

在所描繪實施方案中,BF-all隨后可用于并行化復(fù)本檢測,例如通過針對訓(xùn)練數(shù)據(jù)組7310的各自分區(qū)P0-測試、P1-測試和P2-測試調(diào)度三個復(fù)本檢查作業(yè)J4、J5和J6。在一些實施方案中,不同的MLS服務(wù)器(諸如S0至S7)可用于作業(yè)J0-J6中的至少一些。在圖73示出的實例中,其中四個作業(yè)被調(diào)度用于布隆過濾器生成,并且三個作業(yè)被調(diào)度用于復(fù)本檢查,在一些情況下,布隆過濾器生成操作的并行度(例如,被調(diào)度的不同作業(yè)的數(shù)量和/或使用的不同服務(wù)器的數(shù)量)可不同于復(fù)本檢查階段的并行度。類似的并行化方法可與其他類型的復(fù)本檢測算法一起使用,例如,對于不一定采用布隆過濾器的技術(shù)。

在迄今為止論述的大多數(shù)示例性復(fù)本檢測情境中,已經(jīng)考慮了兩個數(shù)據(jù)組:第一數(shù)據(jù)組(諸如訓(xùn)練組),其中諸如布隆過濾器的替代表示首先被完全填充;針對復(fù)本檢查其的第二數(shù)據(jù)組(諸如測試數(shù)據(jù)組)。在一些實施方案中,類似方法可用于檢查給定數(shù)據(jù)組內(nèi)的復(fù)本。圖74示出根據(jù)至少一些實施方案的給定機器學習數(shù)據(jù)組內(nèi)的概率復(fù)本檢測的實例。如所示,在處理或分析數(shù)據(jù)組7410(其可以例如是訓(xùn)練數(shù)據(jù)組、測試數(shù)據(jù)組或?qū)闹袑?dǎo)出訓(xùn)練數(shù)據(jù)組和測試數(shù)據(jù)組的組合數(shù)據(jù)組)的特定過程期間,可逐漸填充數(shù)據(jù)組的空間有效表示7430。在例如按箭頭7420指示的次序已經(jīng)處理數(shù)據(jù)組7410的K個記錄之后,構(gòu)造中的替代表示7430可包含對應(yīng)于K個處理的記錄7422的條目。

當遇到數(shù)據(jù)組的第(K+1)個觀察記錄時,概率復(fù)本檢測器7035可使用替代表示7430來確定記錄是否表示相同數(shù)據(jù)組7410的已經(jīng)處理的觀察記錄的復(fù)本??墒褂们笆龇N類的技術(shù)將新遇到的OR分類為可能復(fù)本或確認的非復(fù)本。在一些實施方案中,復(fù)本檢測器可跟蹤被分類為具有為復(fù)本的非零概率的OR,并且可包括提供給代表其處理數(shù)據(jù)組7210的客戶端的數(shù)據(jù)組內(nèi)復(fù)本檢測結(jié)果7444中的列表。在其他實施方案中,復(fù)本檢測器可采取其他動作,諸如簡單地通知客戶端關(guān)于可能的復(fù)本的數(shù)量,或者復(fù)本檢測器可發(fā)起從數(shù)據(jù)組7210移除可能的復(fù)本。

圖75是示出根據(jù)至少一些實施方案的可在實現(xiàn)觀察記錄的復(fù)本檢測的機器學習服務(wù)處執(zhí)行的操作的方面的流程圖。如元素7501所示,MLS可根據(jù)某一選擇的復(fù)本定義確定第一或目標觀察記錄組(例如,測試數(shù)據(jù)組)將針對關(guān)于第二或源觀察記錄組(例如,對應(yīng)的訓(xùn)練數(shù)據(jù)組)被檢查復(fù)本。在一些實施方案中,默認復(fù)本定義可能需要MLS在識別可能的復(fù)本時考慮源組的觀察記錄的所有輸入和輸出變量的值。在一些實施方案中,可使用其他復(fù)本定義,其中當確定復(fù)本時將排除一個或多個輸出變量和/或一個或多個輸入變量。在一些實施方案中,MLS的客戶端可例如使用由MLS實現(xiàn)的編程接口來指示他們是否想對指定的數(shù)據(jù)組執(zhí)行復(fù)本檢測或?qū)⑹褂锰囟◤?fù)本定義。

在所描繪實施方案中,如果識別了各種級別的復(fù)本,那么MLS還可確定將采取的各自響應(yīng)動作(元素7504)。此類動作的實例可包括向客戶端傳送警告或警報消息,所述消息簡單地指示潛在復(fù)本記錄(即,為復(fù)本的概率為非零的目標數(shù)據(jù)組的那些觀察記錄)的數(shù)量或分數(shù),提供疑似復(fù)本的列表,或者提供對與記錄指定為復(fù)本相關(guān)聯(lián)的確定性水平或置信水平的估計。在一個實現(xiàn)中,可提供與疑似為復(fù)本的單獨觀察記錄相關(guān)聯(lián)的各自置信水平。在一些實施方案中,響應(yīng)動作可包括從目標數(shù)據(jù)組中移除可能復(fù)本,和/或提供移除復(fù)本對相關(guān)聯(lián)模型的預(yù)測誤差的影響的統(tǒng)計估計。在至少一個實施方案中,響應(yīng)于對數(shù)據(jù)組內(nèi)的潛在或可能復(fù)本的識別,MLS可暫停、放棄或取消涉及數(shù)據(jù)組的使用或以其他方式與數(shù)據(jù)組相關(guān)聯(lián)的機器學習作業(yè)。在一些實施方案中,可針對各自的復(fù)本水平選擇不同的響應(yīng),例如,如果復(fù)本的分數(shù)被估計為不在5%與10%之間,那么可生成警告,而如果復(fù)本集體小于目標數(shù)據(jù)組的2%,那么可簡單地丟棄復(fù)本。在一些實施方案中,MLS客戶端可指定它們想對可能復(fù)本的不同程度采取的動作類型。

如元素7507指示的,一個或多個MLS部件可例如與其他操作并行地生成可用于概率復(fù)本檢測的源組的替代表示,所述其他操作涉及諸如模型的訓(xùn)練的源組的遍歷(元素7507)。在各種實施方案中,可使用布隆過濾器、商過濾器、跳過列表、源記錄的密碼簽名的列表或某一其他空間有效結(jié)構(gòu)作為替代表示。為了生成替代表示,在至少一個實施方案中,MLS可首先重新格式化源數(shù)據(jù)組的觀察記錄中的至少一些,例如,在將觀察記錄饋送到用于生成布隆過濾器的散列函數(shù)之前,可針對一致性檢查所述組變量分隔符,可從文本變量中移除后空白和前空白,可以統(tǒng)一方式格式化數(shù)值變量,等等。

在一些實施方案中,可任選地將替代表示存儲在MLS制品儲存庫(諸如圖1中示出的儲存庫120)中(元素7510),例如,作為與在通過源數(shù)據(jù)組的相同過程期間訓(xùn)練的模型相關(guān)聯(lián)的添加制品。在給定模型可在其訓(xùn)練之后使用幾小時、幾周或幾個月的一些實施方案中,替代表示可在選擇持續(xù)時間內(nèi)保留在儲存庫中。在至少一個實施方案中,MLS可跟蹤替代表示上次用于復(fù)本檢測的時間,并且如果在某個閾值時間間隔內(nèi)未使用所述替代表示,那么所述替代表示可丟棄。

使用替代表示,MLS的復(fù)本檢測器可確定目標數(shù)據(jù)組是否完全無復(fù)本,或者目標數(shù)據(jù)組的至少一些記錄是否具有為復(fù)本的非零概率(元素7513)。可生成復(fù)本度量,指示例如疑似復(fù)本的數(shù)量或分數(shù)以及相關(guān)聯(lián)的非零概率。復(fù)本度量可考慮與替代表示相關(guān)聯(lián)的基線假陽性復(fù)本預(yù)測率。例如,對于布隆過濾器,假陽性率可取決于布隆過濾器的大小(位數(shù))、所使用的散列函數(shù)的數(shù)量和/或類型和/或用于填充過濾器的觀察記錄的數(shù)量。在一個實施方案中,例如,復(fù)本度量可至少部分地基于Num_Probable_Duplicates_Found(被識別為可能復(fù)本的觀察記錄的數(shù)量)和Num_Expected_False_Positives(預(yù)期被錯誤地分類為復(fù)本的觀察記錄的數(shù)量)之間的差。在至少一些實施方案中,可使用如圖73所示的多個MLS作業(yè)以并行或分布式方式執(zhí)行替代表示的生成、針對潛在復(fù)本檢查測試數(shù)據(jù)組或這兩個任務(wù)。如果復(fù)本度量超過閾值,那么在所描繪實施方案中,可執(zhí)行對應(yīng)的響應(yīng)動作(例如,在對應(yīng)于元素7504的操作中識別的動作中的一個或多個)(元素7516)。

注意,在各種實施方案中,除了圖9a、圖9b、圖10a、圖10b、圖17、圖25、圖32、圖39、圖48、圖54、圖55、圖61、圖69和圖75的流程圖中示出的操作之外的操作可用于實現(xiàn)上述機器學習服務(wù)的至少一些技術(shù)。示出的一些操作可在一些實施方案中不實現(xiàn)、可按不同次序?qū)崿F(xiàn)或者并行地而不是順序地實現(xiàn)。例如,關(guān)于圖9b,在一些實施方案中,可在確定工作負載策略之后執(zhí)行關(guān)于客戶端的資源配額是否已用盡的檢查,而不是在確定策略之前執(zhí)行。

使用案例

上述用于提供網(wǎng)絡(luò)可訪問、可縮放機器學習服務(wù)的技術(shù)對于多種多樣的應(yīng)用可能是有益的,所述機器學習服務(wù)面向在機器學習工具和方法中具有廣泛的專業(yè)水平的用戶。幾乎每個商業(yè)組織或政府實體現(xiàn)今能夠收集關(guān)于其操作的各個方面的數(shù)據(jù),并且可通過這種服務(wù)來促進所收集的數(shù)據(jù)的不同組分與組織的目標之間的有意義統(tǒng)計和/或因果關(guān)系的發(fā)現(xiàn)。MLS的用戶可不必關(guān)心供應(yīng)機器學習工作流的各種任務(wù)所需的特定資源的細節(jié),諸如數(shù)據(jù)凈化、輸入過濾、將凈化的數(shù)據(jù)變換成可饋入模型的格式、復(fù)本觀察的檢測或模型執(zhí)行??蓪⑼ㄟ^多年的經(jīng)驗開發(fā)的關(guān)于不同數(shù)據(jù)凈化方法、變換類型、變換的參數(shù)設(shè)置以及模型的最佳實踐并入到MLS的編程接口(諸如易于學習且易于使用的API)中,例如,以用戶甚至不需要指定的默認設(shè)置的形式。MLS的用戶可提交對于各種機器學習任務(wù)或操作的請求,其中一些可取決于其他任務(wù)的完成,而不必手動地管理調(diào)度或監(jiān)視任務(wù)的進程(其中一些可能需要幾小時或幾天,這取決于任務(wù)的性質(zhì)或涉及的數(shù)據(jù)組的大小)。在一些實施方案中,可向用戶提供模型評估和其他執(zhí)行的交互式圖形顯示,使得用戶能夠做出關(guān)于解釋相關(guān)設(shè)置(諸如分類截止值)的明智決定。在一些實施方案中,可默認地執(zhí)行測試數(shù)據(jù)組或評估數(shù)據(jù)組與對應(yīng)訓(xùn)練數(shù)據(jù)之間的潛在復(fù)本的檢測,使得MLS的客戶端能夠避免在基于不可能提供對模型的泛化能力的洞察的數(shù)據(jù)的評估上浪費資源。

對應(yīng)于多種類型的實體(諸如模型、數(shù)據(jù)源或配方)的機器學習對象的邏輯集中式儲存庫可使得多個用戶或協(xié)作者能夠在各種數(shù)據(jù)組上共享和重用特征處理配方。專家用戶或模型開發(fā)人員可通過注冊第三方或定制庫和函數(shù)來添加MLS的核心功能。MLS可支持需要增強安全性的某些類型的操作的隔離執(zhí)行。MLS可用于并且可并入針對覆蓋監(jiān)督式和非監(jiān)督式學習的各種問題域優(yōu)化的技術(shù),所述問題域諸如欺詐檢測、金融資產(chǎn)價格預(yù)測、保險分析、天氣預(yù)測、地球物理分析、圖像/視頻處理、音頻處理、自然語言處理、醫(yī)學和生物信息學等等。諸如修剪深度優(yōu)先決定樹、通過有效地修剪特征權(quán)重來限制線性模型的大小或者執(zhí)行并發(fā)的分位數(shù)分倉的特定優(yōu)化技術(shù)可在一些情況下默認地實現(xiàn),而MLS客戶端甚至不知道使用技術(shù)。對于其他類型的優(yōu)化,諸如訓(xùn)練時間資源使用與預(yù)測時間資源使用之間的優(yōu)化,客戶端可與機器學習服務(wù)交互以決定相互可接受的特征處理提議。

說明性計算機系統(tǒng)

在至少一些實施方案中,實現(xiàn)機器學習服務(wù)的一個或多個部件(包括控制平面部件,諸如API請求處理機、輸入記錄處理機、配方驗證器和配方運行時間管理器、特征處理管理器、計劃生成器、作業(yè)調(diào)度器、制品儲存庫等,以及數(shù)據(jù)平面部件,諸如用于模型生成/訓(xùn)練、實現(xiàn)決定樹優(yōu)化、模型修剪和/或基于類別的采樣、生成和/或圖形地顯示評估結(jié)果等等的MLS服務(wù)器)的服務(wù)器可包括通用計算機系統(tǒng),所述通用計算機系統(tǒng)包括或被配置來訪問一個或多個計算機可訪問介質(zhì)。圖76示出此類通用計算裝置9000。在示出的實施方案中,計算裝置9000包括通過輸入/輸出(I/O)接口9030耦接到系統(tǒng)存儲器9020(其可包括非易失性存儲器模塊和易失性存儲器模塊兩者)的一個或多個處理器9010。計算裝置9000還包括耦接到I/O接口9030的網(wǎng)絡(luò)接口9040。

在各種實施方案中,計算裝置9000可以是包括一個處理器9010的單處理器系統(tǒng),或包括若干處理器9010(例如兩個、四個、八個或另一合適數(shù)量)的多處理器系統(tǒng)。處理器9010可以是能夠執(zhí)行指令的任何合適處理器。例如,在各種實施方案中,處理器9010可以是實現(xiàn)各種指令集架構(gòu)(ISA)中任一種架構(gòu)的通用或嵌入式處理器,所述架構(gòu)諸如x86、PowerPC、SPARC、或MIPS ISA或任何其他合適ISA。在多處理器系統(tǒng)中,每一個處理器9010通常可以但不一定實現(xiàn)相同的ISA。在一些實現(xiàn)中,代替或者除了常規(guī)處理器之外,可使用圖形處理單元(GPU)。

系統(tǒng)存儲器9020可被配置來存儲可由處理器9010訪問的指令和數(shù)據(jù)。在至少一些實施方案中,系統(tǒng)存儲器9020可包括易失性部分和非易失性部分兩者;在其他實施方案中,可僅使用易失性存儲器。在各種實施方案中,系統(tǒng)存儲器9020的易失性部分可使用任何合適的存儲器技術(shù)來實現(xiàn),所述存儲器技術(shù)諸如靜態(tài)隨機存取存儲器(SRAM)、同步動態(tài)RAM或任何其他類型的存儲器。對于系統(tǒng)存儲器的非易失性部分(例如其可包括一個或多個NVDIMM),在一些實施方案中可使用基于閃存的存儲器裝置,包括NAND閃存裝置。在至少一些實施方案中,系統(tǒng)存儲器的非易失性部分可包括電源,諸如超級電容器或其他電力存儲裝置(例如,電池)。在各種實施方案中,基于憶阻器的電阻性隨機存取存儲器(ReRAM)、三維NAND技術(shù)、鐵電RAM、磁阻RAM(MRAM)或者各種類型的相變存儲器(PCM)中的任一種可至少用于系統(tǒng)存儲器的非易失性部分。在示出的實施方案中,實現(xiàn)一個或多個期望功能的程序指令和數(shù)據(jù)(諸如上文所述的那些方法、技術(shù)以及數(shù)據(jù))顯示成作為代碼9025和數(shù)據(jù)9026存儲在系統(tǒng)存儲器9020內(nèi)。

在一個實施方案中,I/O接口9030可被配置來協(xié)調(diào)處理器9010、系統(tǒng)存儲器9020以及裝置中的任何外圍裝置之間的I/O流量,所述外圍裝置包括網(wǎng)絡(luò)接口9040或其他外圍接口,諸如各種類型持久性和/或易失性存儲裝置。在一些實施方案中,I/O接口9030可執(zhí)行任何必需協(xié)議、時序或其他數(shù)據(jù)變換以將來自一個部件(例如,系統(tǒng)存儲器9020)的數(shù)據(jù)信號轉(zhuǎn)換成適合于由另一個部件(例如,處理器9010)使用的格式。在一些實施方案中,I/O接口9030可包括對于通過各種類型的外圍總線附接的裝置的支持,所述外圍總線諸如外圍部件互連(PCI)總線標準或通用串行總線(USB)標準的變型,例如。在一些實施方案中,I/O接口9030的功能可分到兩個或更多個單獨的部件中,諸如北橋和南橋,例如。另外,在一些實施方案中,I/O接口9030的一些或所有功能,諸如到系統(tǒng)存儲器9020的接口,可直接并入處理器9010中。

網(wǎng)絡(luò)接口9040可被配置來允許數(shù)據(jù)在計算裝置9000與附接到一個或多個網(wǎng)絡(luò)9050的其他裝置9060(例如像如圖1至圖75中所示出的其他計算機系統(tǒng)或裝置)之間進行交換。在各種實施方案中,網(wǎng)絡(luò)接口9040可支持通過任何合適有線或無線通用數(shù)據(jù)網(wǎng)絡(luò)(例如像以太網(wǎng)網(wǎng)絡(luò)類型)進行通信。另外,網(wǎng)絡(luò)接口9040可支持通過電信/電話網(wǎng)絡(luò)(諸如模擬語音網(wǎng)絡(luò)或數(shù)字光纖通信網(wǎng)絡(luò))、通過存儲區(qū)域網(wǎng)絡(luò)(諸如光纖通道SAN)或通過任何其他合適類型的網(wǎng)絡(luò)和/或協(xié)議進行通信。

在一些實施方案中,系統(tǒng)存儲器9020可以是計算機可訪問介質(zhì)的一個實施方案,所述計算機可訪問介質(zhì)被配置來存儲如上文針對圖1至圖75所述的用于實現(xiàn)對應(yīng)方法和設(shè)備的實施方案的程序指令和數(shù)據(jù)。然而,在其他實施方案中,可在不同類型的計算機可訪問介質(zhì)上接收、發(fā)送或存儲程序指令和/或數(shù)據(jù)。一般來說,計算機可訪問介質(zhì)可包括非暫時存儲介質(zhì)或存儲器介質(zhì),諸如磁性或光學介質(zhì),例如通過I/O接口9030耦接到計算裝置9000的磁盤或DVD/CD。非暫時計算機可訪問存儲介質(zhì)還可包括可作為系統(tǒng)存儲器9020或另一類型存儲器而被包括在計算裝置9000的一些實施方案中的任何易失性或非易失性介質(zhì),諸如RAM(例如,SDRAM、DDR SDRAM、RDRAM、SRAM等)、ROM等。另外,計算機可訪問介質(zhì)可包括傳輸介質(zhì)或信號,諸如通過通信介質(zhì)(網(wǎng)絡(luò)和/或無線鏈接)傳送的電信號、電磁信號或數(shù)字信號,諸如可通過網(wǎng)絡(luò)接口9040來實現(xiàn)。多個計算裝置中的部分或全部(諸如圖76中所示出的那些)可用于實現(xiàn)各種實施方案中的所描述功能;例如,在各種不同的裝置和服務(wù)器上運行的軟件部件可協(xié)作來提供功能性。在一些實施方案中,所描述功能性的部分可使用存儲裝置、網(wǎng)絡(luò)裝置或?qū)S糜嬎銠C系統(tǒng)來實現(xiàn),除了或者代替使用通用計算機系統(tǒng)來實現(xiàn)。如本文所使用的術(shù)語“計算裝置”是指至少所有這些類型的裝置,并且不限于這些類型的裝置。

本公開的實施方案可以鑒于以下條款來描述:

1.一種系統(tǒng),其包括:

一個或多個計算裝置,其被配置來:

通過在提供商網(wǎng)絡(luò)的網(wǎng)絡(luò)可訪問機器學習服務(wù)處實現(xiàn)的一組編程接口中的特定編程接口從客戶端接收執(zhí)行與實體類型的實例相關(guān)聯(lián)的特定操作的第一請求,其中所述實體類型包括以下各項中的一個或多個:(a)將用于機器學習模型的數(shù)據(jù)源,(b)將從特定數(shù)據(jù)源計算的一組統(tǒng)計,(c)將對指定數(shù)據(jù)組執(zhí)行的一組特征處理變換操作,(d)采用所選擇算法的機器學習模型,(e)與機器學習模型相關(guān)聯(lián)的別名,或者(f)特定機器學習模型的結(jié)果;

將對應(yīng)于所述第一請求的作業(yè)對象插入所述機器學習服務(wù)的作業(yè)隊列中;

向所述客戶端提供所述第一請求已被接受用于執(zhí)行的指示;

根據(jù)針對所述第一請求識別的第一工作負載分布策略確定將用于執(zhí)行所述特定操作的第一組提供商網(wǎng)絡(luò)資源;

在所述第一請求中指示的所述特定操作的完成之前從所述客戶端接收執(zhí)行取決于所述特定操作的結(jié)果的第二操作的第二請求;

將對應(yīng)于所述第二請求的第二作業(yè)對象插入所述作業(yè)隊列中,其中所述第二作業(yè)對象包括所述第二操作對所述特定操作的結(jié)果的依賴性的指示;

在發(fā)起所述第二操作的執(zhí)行之前,向所述客戶端提供所述第二請求已被接受用于執(zhí)行的第二指示;以及

響應(yīng)于確定所述特定操作已成功完成,在第二組提供商網(wǎng)絡(luò)資源上調(diào)度所述第二操作。

2.如條款1所述的系統(tǒng),其中所述特定操作包括以下各項中的一個或多個:(a)創(chuàng)建所述實例,(b)用于獲得所述實例的一個或多個屬性的各自值的讀取操作,(c)修改所述實例的屬性,(d)刪除所述實例,(e)搜索操作,或者(f)執(zhí)行操作。

3.如條款1-2中任一項所述的系統(tǒng),其中所述特定操作包括分配可由所述機器學習服務(wù)的指定組用戶使用的別名以執(zhí)行特定機器學習模型,其中所述別名包括所述特定機器學習模型的指針,其中所述指定組用戶中的至少一些用戶不被允許修改所述指針。

4.如條款1-3中任一項所述的系統(tǒng),其中所述組編程接口包括代表性狀態(tài)傳送應(yīng)用編程接口。

5.如條款1-4中任一項所述的系統(tǒng),其中所述特定操作包括創(chuàng)建特定數(shù)據(jù)源,其中所述一個或多個計算裝置進一步被配置來:

生成關(guān)于所述特定數(shù)據(jù)源的數(shù)據(jù)記錄的一個或多個變量的一組特定統(tǒng)計,而不從所述客戶端接收對所述組特定統(tǒng)計的請求;以及

向所述客戶端提供所述組特定統(tǒng)計的指示。

6.一種方法,其包括:

通過一個或多個計算裝置執(zhí)行:

通過在機器學習服務(wù)處實現(xiàn)的一組編程接口中的特定編程接口從客戶端接收執(zhí)行與實體類型的實例相關(guān)聯(lián)的特定操作的第一請求,其中所述實體類型包括以下各項中的一個或多個:(a)將用于生成機器學習模型的數(shù)據(jù)源,(b)將對指定數(shù)據(jù)組執(zhí)行的一組特征處理變換操作,(c)采用所選擇算法的機器學習模型,或者(d)與機器學習模型相關(guān)聯(lián)的別名;

將對應(yīng)于所述第一請求的作業(yè)插入所述機器學習服務(wù)的作業(yè)隊列中;

在所述第一請求中指示的所述特定操作的完成之前從所述客戶端接收執(zhí)行取決于所述特定操作的結(jié)果的第二操作的第二請求;

將對應(yīng)于所述第二請求的第二作業(yè)對象插入所述作業(yè)隊列中,其中所述第二作業(yè)對象包括所述第二操作對所述特定操作的結(jié)果的依賴性的指示;以及

響應(yīng)于確定所述特定操作已成功完成,調(diào)度所述第二操作。

7.如條款6所述的方法,其中所述特定操作包括以下各項中的一個或多個:(a)創(chuàng)建所述實例,(b)用于獲得所述實例的一個或多個屬性的各自值的讀取操作,(c)修改所述實例的屬性,(d)刪除所述實例,(e)搜索操作,或者(f)執(zhí)行操作。

8.如條款6-7中任一項所述的方法,其中所述特定操作包括分配可由所述機器學習服務(wù)的指定組用戶使用的別名以執(zhí)行特定機器學習模型,其中所述別名包括所述特定機器學習模型的指針,其中所述指定組用戶中的至少一些用戶不被允許修改所述指針。

9.如條款6-8中任一項所述的方法,其中所述特定操作包括創(chuàng)建特定數(shù)據(jù)源,其還包括通過所述一個或多個計算裝置執(zhí)行:

生成關(guān)于所述特定數(shù)據(jù)源的數(shù)據(jù)記錄的一個或多個變量的一組特定統(tǒng)計,而不從所述客戶端接收對所述組特定統(tǒng)計的請求;以及

向所述客戶端提供所述組特定統(tǒng)計的指示。

10.如條款9所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

選擇將用于生成所述組特定統(tǒng)計的所述特定數(shù)據(jù)源的所述數(shù)據(jù)記錄的子集。

11.如條款6-9中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

針對所述第一請求識別工作負載分布策略,其中所述識別包括以下各項中的一個或多個:(a)確定處理所述特定操作的數(shù)據(jù)組的遍數(shù),(b)確定用于處理所述特定操作的數(shù)據(jù)組的并行化水平,(c)確定將用于終止所述特定操作的收斂準則,(d)確定在所述特定操作期間產(chǎn)生的中間數(shù)據(jù)的目標耐久性水平,或者(e)確定用于實現(xiàn)所述特定操作的資源容量限制。

12.如條款11所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

選擇一組特定提供商網(wǎng)絡(luò)資源以實現(xiàn)所述第一工作負載策略。

13.如條款6-9或11中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

響應(yīng)于確定執(zhí)行所述特定操作包括執(zhí)行由所述提供商網(wǎng)絡(luò)外部的實體開發(fā)的模塊,識別從中選擇將用于所述特定操作的至少一個資源的特定安全容器。

14.如條款6-9、11或13中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

向所述客戶端提供用于在所述提供商網(wǎng)絡(luò)外部的平臺處執(zhí)行的特定機器學習模型的可執(zhí)行版本。

15.如條款6-9、11或13-14中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

在調(diào)度所述特定操作之前驗證所述客戶端的資源配額還未耗盡。

16.一種存儲程序指令的非暫時計算機可訪問存儲介質(zhì),所述程序指令當在一個或多個處理器上執(zhí)行時:

通過在提供商網(wǎng)絡(luò)的網(wǎng)絡(luò)可訪問機器學習服務(wù)處實現(xiàn)的一組編程接口中的特定編程接口從客戶端接收執(zhí)行與實體類型的實例相關(guān)聯(lián)的特定操作的第一請求,其中所述實體類型包括以下各項中的一個或多個:(a)將用于生成機器學習模型的數(shù)據(jù)源,(b)將從特定數(shù)據(jù)源計算的一組統(tǒng)計,(c)采用所選擇算法的機器學習模型,或者(d)與機器學習模型相關(guān)聯(lián)的別名;

將對應(yīng)于所述第一請求的作業(yè)插入所述機器學習服務(wù)的作業(yè)隊列中;

在所述第一請求中指示的所述特定操作的完成之前從所述客戶端接收執(zhí)行取決于所述特定操作的結(jié)果的第二操作的第二請求;以及

將對應(yīng)于所述第二請求的第二作業(yè)對象插入所述作業(yè)隊列中,其中所述第二作業(yè)對象包括所述第二操作對所述特定操作的結(jié)果的依賴性的指示。

17.如條款16所述的非暫時計算機可訪問存儲介質(zhì),其中所述特定操作包括分配可由所述機器學習服務(wù)的指定組用戶使用的別名以執(zhí)行特定機器學習模型,其中所述別名包括所述特定機器學習模型的指針,其中所述指定組用戶中的至少一些用戶不被允許修改所述指針。

18.如條款16-17中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述特定操作包括創(chuàng)建特定數(shù)據(jù)源,其中所述指令當在所述一個或多個處理器處執(zhí)行時:

生成關(guān)于所述特定數(shù)據(jù)源的數(shù)據(jù)記錄的一個或多個變量的一組特定統(tǒng)計,而不從所述客戶端接收對所述組特定統(tǒng)計的請求;以及

向所述客戶端提供所述組特定統(tǒng)計的指示。

19.如條款18中所述的非暫時計算機可訪問存儲介質(zhì),其中一個或多個變量包括多個變量,并且其中所述指令當在所述一個或多個處理器上執(zhí)行時:

至少部分地基于對所述多個變量的相關(guān)性分析,識別將優(yōu)先于第二組變量用作對機器學習模型的輸入的第一組候選變量;以及

向所述客戶端提供所述第一組變量的指示。

20.如條款16-18中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述特定操作包括在線模式下的特定機器學習模型的實例化,其中所述指令當在所述一個或多個處理器上執(zhí)行時:

至少部分地基于由所述客戶端指示的預(yù)期工作負載水平選擇將用于在線模式下的所述特定機器學習模型的一組提供商網(wǎng)絡(luò)資源。

21.如條款16-18或20中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述指令當在所述一個或多個處理器上執(zhí)行時:

從所述服務(wù)的所述客戶端接收將用于解密特定數(shù)據(jù)源的一個或多個數(shù)據(jù)記錄以執(zhí)行所述特定操作的憑證。

22.如條款16-18或20-21中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述指令當在所述一個或多個處理器上執(zhí)行時:

通過所述組編程接口中的冪等編程接口從所述客戶端接收執(zhí)行第三操作的第三請求;

基于以下各項中的一個或多個:(a)所述第三請求中指示的實例標識符,(b)所述客戶端的標識符,或者(c)所述第三請求的輸入?yún)?shù)的表示,確定所述第三請求是否為早前提交的請求的復(fù)本;以及

響應(yīng)于確定所述第三請求為早前提交的請求的復(fù)本,向所述客戶端提供所述第三請求的成功的指示,而不將對應(yīng)于所述第三請求的另外作業(yè)對象插入所述作業(yè)隊列中。

本公開的實施方案還可鑒于以下條款來描述:

1.一種系統(tǒng),其包括:

一個或多個計算裝置,其被配置來:

在提供商網(wǎng)絡(luò)的網(wǎng)絡(luò)可訪問機器學習服務(wù)處接收包括以下各項中的一個或多個的配方的文本表示:(a)指示一組或多組變量的組定義部分,其中所述一組或多組中的單獨組包括至少一個常見變換操作將應(yīng)用到的多個變量,(b)定義一個或多個中間變量的分配部分,(c)指示對存儲在儲存庫中的一個或多個機器學習制品的各自引用的依賴性部分,或者(d)指示將應(yīng)用到所述組定義部分、所述分配部分或所述依賴性部分中指示的至少一個實體的一個或多個變換操作的輸出部分;

根據(jù)(a)由所述機器學習服務(wù)定義的一組句法規(guī)則和(b)由所述機器學習服務(wù)支持的變換操作類型的一組庫函數(shù)定義驗證所述配方的所述文本表示;

生成所述配方的可執(zhí)行表示;

將所述可執(zhí)行表示存儲在所述儲存庫中;

確定所述配方將應(yīng)用到特定數(shù)據(jù)組;

驗證所述特定數(shù)據(jù)組滿足所述配方的運行時間接受準則;以及

使用一個或多個所選擇提供商網(wǎng)絡(luò)資源將所述一個或多個變換操作中的特定變換操作應(yīng)用到所述特定數(shù)據(jù)組。

2.如條款1所述的系統(tǒng),其中所述一個或多個計算裝置進一步被配置來:

接收將所述配方應(yīng)用到不同數(shù)據(jù)組的請求;

驗證所述不同數(shù)據(jù)組滿足所述配方的所述運行時間接受準則;以及

將所述特定變換操作應(yīng)用到所述不同數(shù)據(jù)組。

3.如條款1-2中任一項所述的系統(tǒng),其中所述一個或多個計算裝置進一步被配置來:

通過編程接口向所述客戶端提供適用于多個機器學習問題域中的單獨機器學習問題域的各自的一組一個或多個配方的指示。

4.如條款1-3中任一項所述的系統(tǒng),其中所述本文表示包括將使用所述特定變換操作的結(jié)果執(zhí)行的特定機器學習模型的指示。

5.如條款1-4中任一項所述的系統(tǒng),其中所述一個或多個計算裝置進一步被配置來:

響應(yīng)于將針對所述配方執(zhí)行自動參數(shù)調(diào)諧的指示,確定適用于所述一個或多個變換操作中的不同變換操作的多個參數(shù)值選項;

使用所述多個參數(shù)值選項中的單獨參數(shù)值選項,由所述機器學習服務(wù)生成所述不同變換操作的各自結(jié)果;以及

基于對所述各自結(jié)果的分析,由所述機器學習服務(wù)提供所述多個參數(shù)值選項中的滿足參數(shù)接受準則的至少一個候選參數(shù)值的指示。

6.一種方法,其包括:

通過一個或多個計算裝置執(zhí)行:

在網(wǎng)絡(luò)可訪問機器學習服務(wù)處接收包括以下各項中的一個或多個的配方的第一表示:(a)指示一組或多組變量的組定義部分,其中所述一組或多組中的單獨組包括至少一個常見變換操作將應(yīng)用到的多個數(shù)據(jù)組變量,以及(b)指示將應(yīng)用到以下各項中的一個或多個中指示的至少一個實體的一個或多個變換操作的輸出部分:(i)所述組定義部分或(ii)輸入數(shù)據(jù)組;

根據(jù)由所述機器學習服務(wù)支持的變換操作類型的至少一組庫函數(shù)定義驗證所述配方的所述第一表示;

生成所述配方的可執(zhí)行表示;

確定所述配方將應(yīng)用到特定數(shù)據(jù)組;

驗證所述特定數(shù)據(jù)組滿足運行時間接受準則;以及

使用一個或多個所選擇提供商網(wǎng)絡(luò)資源將所述一個或多個變換操作中的特定變換操作應(yīng)用到所述特定數(shù)據(jù)組。

7.如條款6所述的方法,其中所述第一表示是文本表示或二進制表示。

8.如條款6-7中任一項所述的方法,其中所述第一表示由所述機器學習服務(wù)的客戶端使用從所述機器學習服務(wù)獲得的工具生成。

9.如條款6-8中任一項所述的方法,其中所述特定數(shù)據(jù)組的輸入數(shù)據(jù)記錄的至少一個變量的數(shù)據(jù)類型包括以下各項中的一個或多個:(a)文本,(b)數(shù)值數(shù)據(jù)類型,(c)布爾,(d)二進制數(shù)據(jù)類型,(d)分類數(shù)據(jù)類型,(e)圖像處理數(shù)據(jù)類型,(f)音頻處理數(shù)據(jù)類型,(g)生物信息學數(shù)據(jù)類型,或者(h)結(jié)構(gòu)化數(shù)據(jù)類型。

10.如條款9所述的方法,其中所述數(shù)據(jù)類型包括特定結(jié)構(gòu)化數(shù)據(jù)類型,其還包括通過所述一個或多個計算裝置執(zhí)行:

至少部分地基于所述特定結(jié)構(gòu)化數(shù)據(jù)類型選擇將用于所述特定變換操作的特定庫函數(shù)。

11.如條款6-9中任一項所述的方法,其中所述第一表示包括根據(jù)以下各項中的一個或多個定義中間變量的分配部分:(a)輸入數(shù)據(jù)組變量,或者(b)在所述組定義部分中定義的實體,其中所述中間變量在所述輸出部分中被引用。

12.如條款6-9或11中任一項所述的方法,其中所述第一表示包括指示對存儲在所述機器學習服務(wù)的儲存庫中的特定制品的引用的依賴性部分,其中所述特定變換操作消耗所述特定制品的輸出作為輸入。

13.如條款12所述的方法,其中所述特定制品包括以下各項中的一個或多個:(a)機器學習模型,(b)不同配方,(c)統(tǒng)計組,或者(d)包括對機器學習模型的引用的別名。

14.如條款6-9或11-12中任一項所述的方法,其中所述特定變換操作利用用戶定義的函數(shù),其還包括通過所述一個或多個計算裝置執(zhí)行:

在所述接收所述第一表示之前,在所述機器學習服務(wù)處從客戶端接收實現(xiàn)所述用戶定義的函數(shù)的模塊的指示,其中所述模塊是文本格式或二進制格式。

15.如條款6-9、11-12或14中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

根據(jù)由所述機器學習服務(wù)定義的一組句法規(guī)則驗證所述第一表示。

16.如條款6-9、11-12或14-15中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

接收將所述配方應(yīng)用到不同數(shù)據(jù)組的請求;

驗證所述不同數(shù)據(jù)組滿足所述配方的所述運行時間接受準則;以及

將所述特定變換操作應(yīng)用到所述不同數(shù)據(jù)組。

17.如條款6-9、11-12或14-16中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

通過編程接口向客戶端提供適用于多個機器學習問題域中的單獨機器學習問題域的各自的一組一個或多個配方的指示。

18.如條款6-9、11-12或14-17中任一項所述的方法,其中所述第一表示包括將使用所述特定變換操作的結(jié)果執(zhí)行的特定機器學習模型的指示。

19.如條款6-9、11-12或14-18中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

響應(yīng)于將針對所述配方執(zhí)行自動參數(shù)調(diào)諧的指示,由所述機器學習服務(wù)確定適用于所述一個或多個變換操作中的不同變換操作的多個參數(shù)值選項;

使用所述多個參數(shù)值選項中的單獨參數(shù)值選項,由所述機器學習服務(wù)來生成所述不同變換操作的各自結(jié)果。

20.如條款19所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

至少部分地基于對應(yīng)于所述特定參數(shù)值的特定結(jié)果組,由所述機器學習服務(wù)選擇所述多個參數(shù)值選項中的特定參數(shù)值作為可接受值。

21.如條款19-20中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

基于對所述各自結(jié)果的分析,由所述機器學習服務(wù)向客戶端指示所述多個參數(shù)值選項的至少子集作為候選值;以及

在所述機器學習服務(wù)處從所述客戶端接收將用于所述不同變換操作的所述子集的特定參數(shù)值的指示。

22.如條款19-21中任一項所述的方法,其中所述多個參數(shù)值選項包括以下各項中的一個或多個:(a)將從語言處理數(shù)據(jù)組導(dǎo)出的n元語法的各自長度,(b)特定變量的各自分位數(shù)倉邊界,(c)圖像處理參數(shù)值,(d)數(shù)據(jù)組將分類到的集群的數(shù)量,(e)集群邊界閾值的值,或者(f)文本文檔的向量表示的維度值。

23.一種存儲程序指令的非暫時計算機可訪問存儲介質(zhì),所述程序指令當在一個或多個處理器上執(zhí)行時:

在機器學習服務(wù)處確定包括以下各項中的一個或多個的配方的第一表示:(a)指示一組或多組變量的組定義部分,其中所述一組或多組中的單獨組包括至少一個常見變換操作將應(yīng)用到的多個數(shù)據(jù)組變量,或者(b)指示將應(yīng)用到以下各項中的一個或多個中指示的至少一個實體的一個或多個變換操作的輸出部分:(i)所述組定義部分或(ii)所述配方的輸入數(shù)據(jù)組;

根據(jù)由所述機器學習服務(wù)支持的變換操作類型的至少一組庫函數(shù)定義驗證所述配方的所述第一表示;

生成所述配方的可執(zhí)行表示;以及

響應(yīng)于確定所述配方將應(yīng)用到特定數(shù)據(jù)組,使用一個或多個所選擇提供商網(wǎng)絡(luò)資源來對所述特定數(shù)據(jù)組實現(xiàn)所述一個或多個變換操作中的特定變換操作。

24.如條款23所述的非暫時計算機可訪問存儲介質(zhì),其中所述第一表示包括根據(jù)以下各項中的一個或多個定義中間變量的分配部分:(a)輸入數(shù)據(jù)組變量,或者(b)在所述組定義部分中定義的實體,其中所述中間變量在所述輸出部分中被引用。

25.如條款23-24中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述第一表示包括指示對存儲在所述機器學習服務(wù)的儲存庫中的特定制品的引用的依賴性部分,其中所述特定變換操作消耗所述特定制品的輸出作為輸入。

26.如條款23-25中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述特定制品包括以下各項中的一個或多個:(a)機器學習模型,(b)不同配方,(c)別名,或者(d)一組統(tǒng)計。

27.如條款23-26中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述組庫函數(shù)定義包括以下各項中的一個或多個:(a)分位數(shù)倉函數(shù),(b)笛卡爾乘積函數(shù),(c)二元語法函數(shù),(d)n元語法函數(shù),(e)正交稀疏二元語法函數(shù),(f)日歷函數(shù),(g)圖像處理函數(shù),(h)音頻處理函數(shù),(i)生物信息學處理函數(shù),或者(j)自然語言處理函數(shù)。

本公開的實施方案還可鑒于以下條款來描述:

1.一種系統(tǒng),其包括:

一個或多個計算裝置,其被配置來:

通過提供商網(wǎng)絡(luò)的機器學習服務(wù)的編程接口接收從一個或多個文件源提取特定數(shù)據(jù)組的觀察記錄的請求,其中所述特定數(shù)據(jù)組的大小超過所述機器學習服務(wù)的第一服務(wù)器處的可用于所述特定數(shù)據(jù)組的第一存儲器部分的大小;

將所述特定數(shù)據(jù)組映射到多個鄰接塊,包括其大小不超過所述第一存儲器部分的特定鄰接塊;

至少部分地基于所述請求中指示的過濾描述符生成過濾計劃以便對所述多個鄰接塊執(zhí)行一系列塊級過濾操作,其中所述系列過濾操作中的單獨過濾操作的操作類型包括以下各項中的一個或多個:(a)采樣,(b)混排,(c)分裂,或者(d)劃分用于并行計算,并且其中所述過濾計劃包括第一塊級過濾操作之后是第二塊級過濾操作;

為了實現(xiàn)所述第一塊級過濾操作,執(zhí)行指向存儲所述多個鄰接塊中的至少子集的一個或多個持久性存儲裝置的至少一組讀取,其中在所述組讀取之后,所述第一存儲器部分至少包括所述特定鄰接塊;

在不從所述一個或多個持久性存儲裝置重新讀取的情況下并且在不復(fù)制所述特定鄰接塊的情況下,對所述第一塊級過濾操作的存儲器內(nèi)結(jié)果組實現(xiàn)所述第二塊級過濾操作;以及

從所述系列塊級過濾操作的輸出提取多個觀察記錄。

2.如條款1所述的系統(tǒng),其中所述一個或多個計算裝置進一步被配置來:

對在所述特定鄰接塊內(nèi)識別的一組觀察記錄實現(xiàn)塊內(nèi)過濾操作。

3.如條款1-2中任一項所述的系統(tǒng),其中所述一個或多個計算裝置進一步被配置來:

根據(jù)所述請求中指示的一個或多個解壓參數(shù)解壓所述特定鄰接塊的內(nèi)容。

4.如條款1-3中任一項所述的系統(tǒng),其中所述一個或多個計算裝置進一步被配置來:

根據(jù)所述請求中指示的一個或多個解密參數(shù)解密所述特定鄰接塊的內(nèi)容。

5.如條款1-4中任一項所述的系統(tǒng),其中所述一個或多個計算裝置進一步被配置來:

提供從所述系列獲得的多個觀察記錄作為用于執(zhí)行以下各項中的一個或多個的輸入:(a)特征處理配方或(b)機器學習模型。

6.一種方法,其包括:

在一個或多個計算裝置上執(zhí)行:

在機器學習服務(wù)處接收從一個或多個數(shù)據(jù)源提取特定數(shù)據(jù)組的觀察記錄的請求;

將所述特定數(shù)據(jù)組映射到包括特定塊的多個塊;

生成過濾計劃以便對所述多個塊執(zhí)行一系列塊級過濾操作,其中所述系列過濾操作中的單獨過濾操作的操作類型包括以下各項中的一個或多個:(a)采樣,(b)混排,(c)分裂,或者(d)劃分用于并行計算,并且其中所述過濾計劃包括第一塊級過濾操作之后是第二塊級過濾操作;

為了實現(xiàn)所述第一塊級過濾操作,發(fā)起指向存儲所述多個塊中的至少子集的一個或多個持久性存儲裝置的一組數(shù)據(jù)傳送,其中在所述組數(shù)據(jù)傳送之后,所述第一存儲器部分至少包括所述特定塊;

對所述第一塊級過濾操作的存儲器內(nèi)結(jié)果組實現(xiàn)所述第二塊級過濾操作;以及

從所述系列塊級過濾操作的輸出提取多個觀察記錄。

7.如條款6所述的方法,其中所述一個或多個數(shù)據(jù)源包括包含特定存儲對象的一個或多個存儲對象,其中所述將所述特定數(shù)據(jù)組映射到所述多個塊中包括:至少部分地基于塊大小參數(shù)確定所述特定存儲對象內(nèi)的候選偏移為所述特定塊的候選結(jié)束邊界,其還包括通過所述一個或多個計算裝置執(zhí)行:

選擇表示所述特定存儲對象內(nèi)的特定觀察記錄的結(jié)束邊界的特定定界符作為所述特定塊的結(jié)束邊界,其中所述特定定界符位于與所述候選偏移不同的偏移處。

8.如條款7所述的方法,其中所述選擇所述特定定界符作為所述結(jié)束邊界包括:

在按增加偏移的次序?qū)λ鎏囟ù鎯ο蟮捻樞蜃x取中識別具有高于所述候選偏移的偏移的所述第一定界符作為所述特定塊的所述結(jié)束邊界。

9.如條款6-7中任一項所述的方法,其中所述一個或多個數(shù)據(jù)源包括以下各項中的一個或多個:(a)單主機文件系統(tǒng),(b)分布式文件系統(tǒng),(c)可通過web服務(wù)接口從網(wǎng)絡(luò)可訪問存儲服務(wù)訪問的存儲對象,(d)表示區(qū)塊級裝置接口的存儲卷,或者(e)數(shù)據(jù)庫。

10.如條款6-7或9中任一項所述的方法,其中根據(jù)所述機器學習服務(wù)的應(yīng)用編程接口格式化所述請求。

11.如條款6-7或9-10中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

根據(jù)所述請求中指示的一個或多個解壓參數(shù)解壓所述特定塊的內(nèi)容。

12.如條款6-7或9-11中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

根據(jù)所述請求中指示的一個或多個解密參數(shù)解密所述特定塊的內(nèi)容。

13.如條款6-7或9-12中任一項所述的方法,其中所述多個觀察記錄包括具有第一記錄長度的第一觀察記錄,以及具有不同記錄長度的第二觀察記錄。

14.如條款6-7或9-13中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

對在所述特定塊內(nèi)識別的一組觀察記錄實現(xiàn)塊內(nèi)過濾操作。

15.如條款6-7或9-14中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

將表示所述第一塊級過濾操作的第一作業(yè)對象插入將在所述機器學習服務(wù)處調(diào)度的作業(yè)集合中;以及

在所述第一塊級過濾操作完成之前,將表示所述第二塊級過濾操作的第二作業(yè)對象插入所述集合中。

16.如條款6-7或9-15中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

提供從所述系列的所述輸出提取的所述多個觀察記錄作為用于執(zhí)行以下各項中的一個或多個的輸入:(a)特征處理配方或(b)機器學習模型。

17.一種存儲程序指令的非暫時計算機可訪問存儲介質(zhì),所述程序指令當在一個或多個處理器上執(zhí)行時:

響應(yīng)于在機器學習服務(wù)處接收從一個或多個數(shù)據(jù)源提取特定數(shù)據(jù)組的觀察記錄的請求,生成計劃以便對所述特定數(shù)據(jù)組的多個塊執(zhí)行包括第一塊級操作的一個或多個塊級操作,其中所述第一塊級操作的操作類型包括以下各項中的一個或多個:(a)采樣,(b)混排,(c)分裂,或者(d)劃分用于并行計算;

為了實現(xiàn)所述第一塊級操作,發(fā)起指向存儲所述多個塊中的至少子集的一個或多個持久性存儲裝置的一組數(shù)據(jù)傳送,其中在所述組數(shù)據(jù)傳送之后,所述機器學習服務(wù)的特定服務(wù)器的第一存儲器部分至少包括所述多個塊中的特定塊;以及

對所述第一塊級操作的結(jié)果組實現(xiàn)第二操作,其中所述第二操作包括以下各項中的一個或多個:(a)另一過濾操作,(b)特征處理操作,或者(c)聚集操作。

18.如條款17所述的非暫時計算機可訪問存儲介質(zhì),其中所述特定數(shù)據(jù)組包括以下各項中的一個或多個的內(nèi)容:(a)單主機文件系統(tǒng),(b)分布式文件系統(tǒng),(c)可通過web服務(wù)接口從網(wǎng)絡(luò)可訪問存儲服務(wù)訪問的存儲對象,(d)表示區(qū)塊級裝置接口的存儲卷,或者(e)數(shù)據(jù)庫。

19.如條款17-18中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述第二操作包括塊內(nèi)過濾操作。

20.如條款17-19中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述第二操作包括對多個觀察記錄執(zhí)行的跨塊過濾操作,所述多個觀察記錄包括在所述特定塊內(nèi)識別的第一觀察記錄以及在所述多個塊的不同塊內(nèi)識別的第二觀察記錄。

21.如條款17-20中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述第二操作是在不將所述特定塊復(fù)制到不同持久性存儲裝置并且在不從所述一個或多個持久性存儲裝置重新讀取所述特定塊的內(nèi)容的情況下執(zhí)行的存儲器內(nèi)操作。

22.如條款17-21中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述第一塊級操作的所述操作類型是劃分用于并行計算,其中所述第一塊級操作包括包含第一訓(xùn)練操作和第二訓(xùn)練操作的多個模型訓(xùn)練操作,其中所述第一訓(xùn)練操作的執(zhí)行持續(xù)時間與所述第二訓(xùn)練操作的執(zhí)行持續(xù)時間至少部分地重疊。

本公開的實施方案還可鑒于以下條款來描述:

1.一種系統(tǒng),其包括:

一個或多個計算裝置,其被配置來:

生成將用于機器學習模型的一個或多個訓(xùn)練和評估迭代的一致性元數(shù)據(jù),其中所述一致性元數(shù)據(jù)至少包括偽隨機數(shù)源的特定初始化參數(shù)值;

將所述機器學習模型的特定數(shù)據(jù)組的地址空間再劃分成多個塊,包括:包括第一多個觀察記錄的第一塊以及包括第二多個觀察記錄的第二塊;

從一個或多個持久性存儲裝置將所述第一塊的觀察記錄檢索到第一服務(wù)器的存儲器中,并且將所述第二塊的觀察記錄檢索到第二服務(wù)器的存儲器中,

使用第一組偽隨機數(shù)從所述多個塊選擇第一訓(xùn)練組,其中所述第一訓(xùn)練組包括所述第一塊的至少一部分,其中使用所述第一訓(xùn)練組的觀察記錄來在所述一個或多個訓(xùn)練和評估迭代中的第一訓(xùn)練和評估迭代期間訓(xùn)練所述機器學習模型,并且其中使用所述一致性元數(shù)據(jù)獲得所述第一組偽隨機數(shù);以及

使用第二組偽隨機數(shù)從所述多個塊選擇第一測試組,其中所述第一測試組包括所述第二塊的至少一部分,其中使用所述第一測試組的觀察記錄來在所述第一訓(xùn)練和評估迭代期間評估所述機器學習模型,并且其中使用所述一致性元數(shù)據(jù)獲得所述第二組偽隨機數(shù)。

2.如條款1所述的系統(tǒng),其中所述一個或多個計算裝置進一步被配置來:

將對應(yīng)于所述第一訓(xùn)練組的所述選擇的第一作業(yè)插入將在機器學習服務(wù)處調(diào)度的作業(yè)集合中,并且將對應(yīng)于所述第一測試組的所述選擇的第二作業(yè)插入所述集合中;以及

相對于所述第一作業(yè)異步地調(diào)度所述第二作業(yè)用于執(zhí)行。

3.如條款1-2中任一項所述的系統(tǒng),其中所述一個或多個計算裝置被配置來:

從機器學習服務(wù)的客戶端接收對所述一個或多個訓(xùn)練和評估迭代的請求,其中所述請求指示所述一致性元數(shù)據(jù)的至少一部分。

4.如條款1-3中任一項所述的系統(tǒng),其中所述一致性元數(shù)據(jù)至少部分地基于存儲所述特定數(shù)據(jù)組的一個或多個觀察記錄的數(shù)據(jù)對象的標識符。

5.如條款1-4中任一項所述的系統(tǒng),其中所述一個或多個計算裝置進一步被配置來:

在將所述第一訓(xùn)練組的所述觀察記錄呈現(xiàn)為對所述機器學習模型的輸入之前重新排序所述第一塊的觀察記錄。

6.一種方法,其包括:

一個或多個計算裝置,其被配置來:

確定將用于機器學習模型的一個或多個訓(xùn)練和評估迭代的一致性元數(shù)據(jù),其中所述一致性元數(shù)據(jù)至少包括偽隨機數(shù)源的特定參數(shù)值;

將所述機器學習模型的特定數(shù)據(jù)組的地址空間再劃分成多個塊,包括:包括第一多個觀察記錄的第一塊以及包括第二多個觀察記錄的第二塊;

使用所述一致性元數(shù)據(jù)從所述多個塊選擇第一訓(xùn)練組,其中所述第一訓(xùn)練組包括所述第一塊的至少一部分,并且其中使用所述第一訓(xùn)練組的觀察記錄來在所述一個或多個訓(xùn)練和評估迭代中的第一訓(xùn)練和評估迭代期間訓(xùn)練所述機器學習模型;以及

使用所述一致性元數(shù)據(jù)從所述多個塊選擇第一測試組,其中所述第一測試組包括所述第二塊的至少一部分,并且其中使用所述第一測試組的觀察記錄來在所述第一訓(xùn)練和評估迭代期間評估所述機器學習模型。

7.如條款6所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

在所述第一訓(xùn)練和評估迭代期間訓(xùn)練所述機器學習模型之前,將至少所述第一塊從持久性存儲裝置檢索到第一服務(wù)器的存儲器中;以及

在不將所述第一塊從所述第一服務(wù)器的所述存儲器復(fù)制到不同位置的情況下,針對所述一個或多個訓(xùn)練和評估迭代中的不同訓(xùn)練和評估迭代,選擇(a)不同訓(xùn)練組和(b)不同測試組。

8.如條款6-7中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

從機器學習服務(wù)的客戶端接收對所述一個或多個訓(xùn)練和評估迭代的請求,其中所述請求指示所述一致性元數(shù)據(jù)的至少一部分。

9.如條款8所述的方法,其中根據(jù)由提供商網(wǎng)絡(luò)的機器學習服務(wù)實現(xiàn)的特定編程接口格式化所述請求。

10.如條款6-8中任一項所述的方法,其中所述一致性元數(shù)據(jù)至少部分地基于存儲所述特定數(shù)據(jù)組的一個或多個觀察記錄的數(shù)據(jù)對象的標識符。

11.如條款6-8或10中任一項所述的方法,其中所述第一訓(xùn)練組包括所述多個塊中的第三塊的至少一個觀察記錄,并且其中所述第一測試組包括所述第三塊的至少一個觀察記錄。

12.如條款6-8或10-11中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

在將所述第一訓(xùn)練組的所述觀察記錄呈現(xiàn)為對所述機器學習模型的輸入之前混排所述第一塊的觀察記錄。

13.如條款6-8或10-12中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

至少部分地基于以下各項中的一個或多個:(a)特定服務(wù)器處的可用存儲器的大小,或者(b)客戶端請求,確定所述地址空間將再劃分到的塊的數(shù)量。

14.如條款6-8或10-13中任一項所述的方法,其中將所述特定數(shù)據(jù)組存儲在多個數(shù)據(jù)對象中,其還包括:

在再劃分所述地址空間之前,確定所述多個數(shù)據(jù)對象將組合的次序。

15.如條款6-8或10-14中任一項所述的方法,其中所述一個或多個訓(xùn)練和評估迭代是所述機器學習模型的交叉驗證迭代。

16.一種存儲程序指令的非暫時計算機可訪問存儲介質(zhì),所述程序指令當在一個或多個處理器上執(zhí)行時:

確定將用于機器學習模型的一個或多個訓(xùn)練和評估迭代的一致性元數(shù)據(jù),其中所述一致性元數(shù)據(jù)至少包括偽隨機數(shù)源的特定參數(shù)值;

使用所述一致性元數(shù)據(jù)從特定數(shù)據(jù)組的多個塊選擇第一訓(xùn)練組,其中所述多個塊中的單獨塊包括一個或多個觀察記錄,其中所述第一訓(xùn)練組包括所述多個塊中的第一塊的至少一部分,并且其中使用所述第一訓(xùn)練組的觀察記錄來在所述一個或多個訓(xùn)練和評估迭代中的第一訓(xùn)練和評估迭代期間訓(xùn)練所述機器學習模型;以及

使用所述一致性元數(shù)據(jù)從所述多個塊選擇第一測試組,其中所述第一測試組包括所述多個塊中的第二塊的至少一部分,并且其中使用所述第一測試組的觀察記錄來在所述第一訓(xùn)練和評估迭代期間評估所述機器學習模型。

17.如條款16所述的非暫時計算機可訪問存儲介質(zhì),其中所述指令當在所述一個或多個處理器上執(zhí)行時:

在所述第一訓(xùn)練和評估迭代期間訓(xùn)練所述機器學習模型之前,發(fā)起將至少所述第一塊從持久性存儲裝置檢索到第一服務(wù)器的存儲器中;以及

在不將所述第一塊從所述第一服務(wù)器的所述存儲器復(fù)制到不同位置的情況下,針對所述一個或多個訓(xùn)練和評估迭代中的不同訓(xùn)練和評估迭代,選擇(a)不同訓(xùn)練組和(b)不同測試組。

18.如條款16-17中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述指令當在所述一個或多個處理器上執(zhí)行時:

從機器學習服務(wù)的客戶端接收對所述一個或多個訓(xùn)練和評估迭代的請求,其中所述請求指示所述一致性元數(shù)據(jù)的至少一部分。

19.如條款16-18中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述一致性元數(shù)據(jù)至少部分地基于存儲所述特定數(shù)據(jù)組的一個或多個觀察記錄的數(shù)據(jù)對象的標識符。

20.如條款16-19中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述指令當在所述一個或多個處理器上執(zhí)行時:

在將所述第一訓(xùn)練組的所述觀察記錄呈現(xiàn)為對所述機器學習模型的輸入之前混排所述第一塊的觀察記錄。

本公開的實施方案還可鑒于以下條款來描述:

1.一種系統(tǒng),其包括:

一個或多個計算裝置,其被配置來:

針對將使用數(shù)據(jù)組訓(xùn)練的基于決定樹的機器學習模型識別一個或多個運行時間優(yōu)化目標,其至少包括在所述機器學習模型的訓(xùn)練階段之后的執(zhí)行所述機器學習模型的存儲器占用目標;

在所述訓(xùn)練階段的樹構(gòu)造過程期間在一個或多個持久性存儲裝置處按深度優(yōu)先次序存儲使用所述數(shù)據(jù)組的至少一部分針對特定決定樹生成的多個節(jié)點的各自表示;

在所述樹構(gòu)造過程期間針對所述特定決定樹的一個或多個節(jié)點確定預(yù)測效應(yīng)度量(PUM)的各自值,其中與所述一個或多個節(jié)點中的特定節(jié)點相關(guān)聯(lián)的特定PUM值是所述特定節(jié)點對使用所述機器學習模型生成的預(yù)測的預(yù)期貢獻的測量值;

在所述訓(xùn)練階段的樹修剪過程期間生成所述特定決定樹的修改版本,其中為了生成所述修改版本,至少將所述特定節(jié)點從所述特定決定樹移除,其中至少部分地基于所述一個或多個運行時間優(yōu)化目標并且至少部分地基于所述特定PUM值選擇所述特定節(jié)點以便移除;

存儲所述特定決定樹的所述修改版本的表示;以及

在所述訓(xùn)練階段之后,至少使用所述特定決定樹的所述修改版本來執(zhí)行所述機器學習模型以便獲得特定預(yù)測。

2.如條款1所述的系統(tǒng),其中所述PUM包括以下各項中的一個或多個:(a)Gini雜質(zhì)的指示,(b)信息增益度量,或者(c)熵度量。

3.如條款1-2中任一項所述的系統(tǒng),其中所述一個或多個運行時間優(yōu)化目標包括以下各項中的一個或多個:(a)預(yù)測時間目標,(b)處理器利用目標,或者(c)預(yù)算目標。

4.如條款1-3中任一項所述的系統(tǒng),其中所述一個或多個計算裝置進一步被配置來:

生成所述PUM的值在所述一個或多個節(jié)點之間的分布的表示;以及

至少部分地基于所述分布選擇所述特定節(jié)點以便移除。

5.如條款1-4中任一項所述的系統(tǒng),其中所述機器學習模型包括以下各項中的一個或多個:(a)隨機森林模型,(b)分類和回歸樹(CART)模型,或者(c)自適應(yīng)增強模型。

6.一種方法,其包括:

通過一個或多個計算裝置執(zhí)行:

在機器學習模型的訓(xùn)練階段的樹構(gòu)造過程期間在一個或多個持久性存儲裝置處按深度優(yōu)先次序存儲針對特定決定樹生成的多個節(jié)點的各自表示;

針對所述特定決定樹的一個或多個節(jié)點確定預(yù)測效應(yīng)度量(PUM)的各自值,其中與所述一個或多個節(jié)點中的特定節(jié)點相關(guān)聯(lián)的特定PUM值是所述特定節(jié)點對使用所述機器學習模型生成的預(yù)測的預(yù)期貢獻的測量值;

在所述訓(xùn)練階段的樹修剪過程期間生成所述特定決定樹的修改版本,其中所述生成包括至少將所述特定節(jié)點從所述特定決定樹移除,其中至少部分地基于所述特定PUM值選擇所述特定節(jié)點以便移除;以及

至少使用所述特定決定樹的所述修改版本來執(zhí)行所述機器學習模型以便獲得特定預(yù)測。

7.如條款6所述的方法,其中至少部分地基于用于執(zhí)行所述模型的一個或多個運行時間優(yōu)化目標選擇所述特定節(jié)點以便移除,所述運行時間優(yōu)化目標包括以下各項中的一個或多個:(a)存儲器占用目標,(b)預(yù)測時間目標,(c)處理器利用目標,或者(d)預(yù)算目標。

8.如條款6-7中任一項所述的方法,其中所述PUM包括以下各項中的一個或多個:(a)Gini雜質(zhì)的指示,(b)信息增益度量,或者(c)熵度量。

9.如條款6-8中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

確定所述PUM的值在所述一個或多個節(jié)點之間的分布;以及

至少部分地基于所述分布選擇所述特定節(jié)點以便移除。

10.如條款6-9中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

在所述樹修剪過程期間,在所述特定決定樹的自上而下遍歷中累積所述特定決定樹的多個節(jié)點的所述PUM的值;以及

至少部分地基于所述累積的結(jié)果選擇所述特定節(jié)點以便移除。

11.如條款6-10中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

在所述樹修剪過程期間,在所述特定決定樹的由下至上遍歷中檢查所述特定決定樹的多個節(jié)點的所述PUM的值;以及

至少部分地基于所述檢查的結(jié)果選擇所述特定節(jié)點以便移除。

12.如條款6-11中任一項所述的方法,其中所述機器學習模型包括以下各項中的一個或多個:(a)隨機森林模型,(b)分類和回歸樹(CART)模型,或者(c)自適應(yīng)增強模型。

13.如條款6-12中任一項所述的方法,其中所述機器學習模型被配置來利用包括所述特定決定樹的多個決定樹,其中在機器學習服務(wù)的多個執(zhí)行線程中的特定執(zhí)行線程處生成所述特定決定樹,其還包括通過所述一個或多個計算裝置執(zhí)行:

在所述多個執(zhí)行線程中的不同執(zhí)行線程處生成所述多個決定樹中的第二決定樹。

14如條款6-13中任一項所述的方法,其中所述機器學習模型被配置來利用包括所述特定決定樹的多個決定樹,其中在機器學習服務(wù)的多個執(zhí)行線程中的特定執(zhí)行線程處生成所述特定決定樹的所述修改版本,其還包括通過所述一個或多個計算裝置執(zhí)行:

在所述多個執(zhí)行線程中的不同執(zhí)行線程處生成所述多個決定樹中的第二決定樹的修改版本。

15.如條款6-14中任一項所述的方法,其中所述機器學習模型被配置來利用包括所述特定決定樹的多個決定樹,其中在機器學習服務(wù)的多個執(zhí)行線程中的特定執(zhí)行線程處獲得所述特定預(yù)測,其還包括:

在所述多個執(zhí)行線程中的不同執(zhí)行線程處使用所述多個決定樹中的第二決定樹的修改版本獲得第二預(yù)測。

16.一種存儲程序指令的非暫時計算機可訪問存儲介質(zhì),所述程序指令當在一個或多個處理器上執(zhí)行時:

在機器學習模型的訓(xùn)練階段的一個或多個樹構(gòu)造周期中的第一樹構(gòu)造周期期間在一個或多個持久性存儲裝置處按深度優(yōu)先次序存儲針對特定決定樹生成的多個節(jié)點的各自表示;

針對所述特定決定樹的一個或多個節(jié)點確定預(yù)測效應(yīng)度量(PUM)的各自值,其中與所述一個或多個節(jié)點中的特定節(jié)點相關(guān)聯(lián)的特定PUM值是所述特定節(jié)點對使用所述機器學習模型生成的預(yù)測的預(yù)期貢獻的測量值;

在所述訓(xùn)練階段的一個或多個樹修剪周期中的第一樹修剪周期期間至少部分地基于所述特定PUM值從所述特定決定樹選擇所述特定節(jié)點以便移除;以及

存儲所述特定決定樹的修改版本,其中所述修改版本排除所述特定節(jié)點。

17.如條款16所述的非暫時計算機可訪問存儲介質(zhì),其中至少部分地基于用于執(zhí)行所述機器學習模型的一個或多個運行時間優(yōu)化目標選擇所述特定節(jié)點以便移除,所述運行時間優(yōu)化目標包括以下各項中的一個或多個:(a)存儲器占用目標,(b)預(yù)測時間目標,(c)處理器利用目標,或者(d)預(yù)算目標。

18.如條款16-17中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中至少部分地基于由代表其創(chuàng)建所述機器學習模型的客戶端指定的一個或多個目標選擇所述特定節(jié)點以便移除。

19.如條款16-18中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述指令當在所述一個或多個處理器處執(zhí)行時:

存儲所述PUM的值在所述一個或多個節(jié)點之間的分布的表示;以及

至少部分地基于所述分布選擇所述特定節(jié)點以便移除。

20.如條款16-19中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中響應(yīng)于對在提供商網(wǎng)絡(luò)處實現(xiàn)的機器學習服務(wù)的編程接口的調(diào)用生成所述特定決定樹的所述多個節(jié)點。

21.如條款16-20中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述一個或多個樹構(gòu)造周期包括在所述第一樹修剪周期之后執(zhí)行的第二樹構(gòu)造周期,其中所述一個或多個樹修剪周期包括在所述第二樹構(gòu)造周期之后執(zhí)行的第二樹修剪周期,并且其中所述指令當在所述一個或多個處理器上執(zhí)行時:

在所述第二樹構(gòu)造周期期間存儲所述特定決定樹的第二節(jié)點;以及

在所述第二樹修剪周期期間至少部分地基于與所述第二節(jié)點相關(guān)聯(lián)的PUM值確定是否將所述第二節(jié)點從所述特定決定樹移除。

本公開的實施方案還可鑒于以下條款來描述:

1.一種系統(tǒng),其包括:

一個或多個計算裝置,其被配置來:

通過與提供商網(wǎng)絡(luò)的機器學習服務(wù)的客戶端的一個或多個編程交互確定(a)將使用指定訓(xùn)練數(shù)據(jù)組預(yù)測的一個或多個目標變量,(b)包括特定預(yù)測質(zhì)量度量的一個或多個預(yù)測質(zhì)量度量,以及(c)包括特定預(yù)測運行時間目標的一個或多個預(yù)測運行時間目標;

識別一組候選特征處理變換以便從所述指定數(shù)據(jù)組的一個或多個輸入變量導(dǎo)出第一組處理的變量,其中所述第一組處理的變量的至少子集可用于訓(xùn)練機器學習模型以便預(yù)測所述一個或多個目標變量,并且其中所述組候選特征處理變換包括特定特征處理變換;

確定(a)指示實現(xiàn)所述特定候選特征處理變換對所述特定預(yù)測質(zhì)量度量的影響的質(zhì)量估計,以及(b)指示實現(xiàn)所述特定候選特征處理變換對與所述特定預(yù)測運行時間目標相關(guān)聯(lián)的特定運行時間性能度量的影響的成本估計;

至少部分地基于所述質(zhì)量估計并且至少部分地基于所述成本估計生成將提供給所述客戶端用于批準的特征處理提議,其中所述特征處理提議包括推薦以實現(xiàn)所述特定特征處理變換;以及

響應(yīng)于來自所述客戶端的批準的指示,執(zhí)行使用從所述特定特征處理變換獲得的特定處理的變量訓(xùn)練的機器學習模型。

2.如條款1所述的系統(tǒng),其中為了確定所述質(zhì)量估計,所述一個或多個計算裝置實現(xiàn)所述機器學習模型的多個評估運行,其包括其中所述特定處理的變量的第一組值提供為對所述機器學習模型的輸入的第一評估運行,以及其中所述特定處理的變量的不同組的值提供為對所述機器學習模型的輸入的第二評估運行。

3.如條款1-2中任一項所述的系統(tǒng),其中為了確定所述成本估計,所述一個或多個計算裝置實現(xiàn)所述機器學習模型的第一變型以及所述機器學習模型的第二變型的各自評估運行,其中使用包括所述特定處理的變量的第一訓(xùn)練組訓(xùn)練所述第一變型,并且使用排除所述特定處理的變量的第二訓(xùn)練組訓(xùn)練所述第二變型。

4.如條款1-3中任一項所述的系統(tǒng),其中所述特定預(yù)測質(zhì)量度量包括以下各項中的一個或多個:(a)AUC(曲線下區(qū)域)度量,(b)準確度度量,(c)召回度量,(d)敏感度度量,(e)真陽性率,(f)特異性度量,(g)真陰性率,(h)精度度量,(i)假陽性率,(j)假陰性率,(k)F1得分,(l)覆蓋度量,(m)絕對百分比誤差度量,或者(n)平方誤差度量。

5.如條款1-4中任一項所述的系統(tǒng),其中所述特定特征處理變換包括使用以下各項中的一個或多個:(a)分位數(shù)倉函數(shù),(b)笛卡爾乘積函數(shù),(c)二元語法函數(shù),(d)n元語法函數(shù),(e)正交稀疏二元語法函數(shù),(f)日歷函數(shù),(g)圖像處理函數(shù),(h)音頻處理函數(shù),(i)生物信息學處理函數(shù),或者(j)自然語言處理函數(shù)。

6.一種方法,其包括:

通過一個或多個計算裝置執(zhí)行:

在機器學習服務(wù)處識別可用于訓(xùn)練機器學習模型以預(yù)測一個或多個目標變量的一組候選輸入變量,其中所述組候選輸入變量至少包括由適用于訓(xùn)練數(shù)據(jù)組的一個或多個輸入變量的特定特征處理變換生成的特定處理的變量;

確定(a)指示實現(xiàn)所述特定特征處理變換對特定預(yù)測質(zhì)量度量的影響的質(zhì)量估計,以及(b)指示實現(xiàn)所述特定特征處理變換對與特定預(yù)測目標相關(guān)聯(lián)的性能度量的影響的成本估計;以及

至少部分地基于所述質(zhì)量估計并且至少部分地基于所述成本估計實現(xiàn)包括所述特定特征處理變換的特征處理計劃。

7.如條款6所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

至少部分地基于對對應(yīng)于多個候選特征處理變換的各自質(zhì)量估計和各自成本估計的分析,生成一個或多個特征處理提議,其包括推薦所述特定特征處理變換的特定特征處理提議;以及

向客戶端提供所述一個或多個特征處理提議的指示。

8.如條款6-7中任一項所述的方法,其中所述實現(xiàn)所述特征處理計劃響應(yīng)于從所述客戶端獲得所述特定特征處理提議的批準的指示。

9.如條款6-7中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

通過所述機器學習服務(wù)的一個或多個編程接口接收包括以下各項中的一個或多個的各自指示的模型創(chuàng)建請求:(a)所述一個或多個目標變量,(b)包括所述特定預(yù)測質(zhì)量度量的一個或多個預(yù)測質(zhì)量度量,(c)包括所述特定預(yù)測目標的一個或多個預(yù)測目標,或者(d)包括識別強制性特征處理變換的特定約束的一個或多個約束。

10.如條款6-7或9中任一項所述的方法,其中還包括通過所述一個或多個計算裝置執(zhí)行:

響應(yīng)于確定至少部分地基于所述模型創(chuàng)建請求所述一個或多個特征處理提議對所述機器學習服務(wù)的客戶端不可接受,

將需求重新考慮請求傳輸?shù)剿隹蛻舳耍灰约?/p>

從所述客戶端接收分配給以下各項中的一個或多個的相對優(yōu)先級的指示:(a)所述特定預(yù)測質(zhì)量度量,或者(b)所述特定預(yù)測目標。

11.如條款6-7或9-10中任一項所述的方法,其中所述特定預(yù)測質(zhì)量度量包括以下各項中的一個或多個:(a)AUC(曲線下區(qū)域)度量,(b)準確度度量,(c)召回度量,(d)敏感度度量,(e)真陽性率,(f)特異性度量,(g)真陰性率,(h)精度度量,(i)假陽性率,(j)假陰性率,(k)F1得分,(l)覆蓋度量,(m)絕對百分比誤差度量,或者(n)平方誤差度量。

12.如條款6-7或9-11中任一項所述的方法,其中所述特定特征處理變換包括使用以下各項中的一個或多個:(a)分位數(shù)倉函數(shù),(b)笛卡爾乘積函數(shù),(c)二元語法函數(shù),(d)n元語法函數(shù),(e)正交稀疏二元語法函數(shù),(f)日歷函數(shù),(g)圖像處理函數(shù),(h)音頻處理函數(shù),(i)生物信息學處理函數(shù),或者(j)自然語言處理函數(shù)。

13.如條款6-7或9-12中任一項所述的方法,其中所述特定預(yù)測目標包括以下各項中的一個或多個:(a)模型執(zhí)行時間目標,(b)存儲器使用目標,(c)處理器使用目標,(d)存儲裝置使用目標,(e)網(wǎng)絡(luò)使用目標,或者(f)預(yù)算。

14.如條款6-7或9-13中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

提供編程接口,使得所述機器學習服務(wù)的客戶端能夠確定所述機器學習模型的特定執(zhí)行滿足所述特定預(yù)測目標的程度。

15.如條款6-7或9-14中任一項所述的方法,其中所述確定所述質(zhì)量估計包括實現(xiàn)所述機器學習模型的多個評估運行,其包括其中所述特定處理的變量的第一組值提供為對所述機器學習模型的輸入的第一評估運行,以及其中所述特定處理的變量的不同組的值提供為對所述機器學習模型的輸入的第二評估運行。

16.如條款6-7或9-15中任一項所述的方法,其中所述確定所述成本估計包括實現(xiàn)所述機器學習模型的第一變型以及所述機器學習模型的第二變型的各自評估運行,其中使用包括所述特定處理的變量的第一組輸入變量訓(xùn)練所述第一變型,并且使用排除所述特定處理的變量的第二組輸入變量訓(xùn)練所述第二變型。

17.如條款6-7或9-16中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

從客戶端接收指示由所述客戶端請求的對所述訓(xùn)練數(shù)據(jù)組的所述輸入變量的一個或多個特征處理變換的配方的指示,其中所述特定特征處理變換不包括在所述配方中;以及

向所述客戶端提供對所述配方的所提議修改,其中所述所提議修改包括所述特定特征處理變換的指示。

18.一種存儲程序指令的非暫時計算機可訪問存儲介質(zhì),所述程序指令當在一個或多個處理器上執(zhí)行時:

在機器學習服務(wù)處識別可用于訓(xùn)練機器學習模型以預(yù)測一個或多個目標變量的一組候選輸入變量,其中所述組候選輸入變量至少包括由適用于訓(xùn)練數(shù)據(jù)組的一個或多個輸入變量的特定特征處理變換引起的特定處理的變量;

確定指示實現(xiàn)所述特定特征處理變換對與特定預(yù)測目標相關(guān)聯(lián)的性能度量的影響的成本估計;以及

至少部分地基于所述成本估計實現(xiàn)排除所述特定特征處理變換的特征處理提議。

19.如條款18所述的非暫時計算機可訪問存儲介質(zhì),其中所述指令當在所述一個或多個處理器上執(zhí)行時:

確定指示實現(xiàn)所述特定特征處理變換對特定預(yù)測質(zhì)量度量的影響的質(zhì)量估計;

其中至少部分地基于所述質(zhì)量估計實現(xiàn)所述特征處理提議。

20.如條款18-19中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述機器學習模型包括以下各項中的一個或多個:(a)分類模型,(b)回歸模型,(c)自然語言處理(NLP)模型,或者(d)聚集模型。

21.如條款18-20中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述特定特征處理變換包括使用以下各項中的一個或多個:(a)分位數(shù)倉函數(shù),(b)笛卡爾乘積函數(shù),(c)二元語法函數(shù),(d)n元語法函數(shù),(e)正交稀疏二元語法函數(shù),(f)日歷函數(shù),(g)圖像處理函數(shù),(h)音頻處理函數(shù),(i)生物信息學處理函數(shù),或者(j)自然語言處理函數(shù)。

本公開的實施方案還可鑒于以下條款來描述:

1.一種系統(tǒng),其包括:

一個或多個計算裝置,其被配置來:

在提供商網(wǎng)絡(luò)的機器學習服務(wù)處接收將用于生成線性預(yù)測模型的數(shù)據(jù)源的指示,其中為了生成預(yù)測,所述線性預(yù)測模型將利用分配給從所述數(shù)據(jù)源的觀察記錄導(dǎo)出的多個特征中的單獨特征的各自權(quán)重,其中所述各自權(quán)重存儲在所述線性預(yù)測模型的參數(shù)向量中;

至少部分地基于所述數(shù)據(jù)源的一組特定觀察記錄的檢查確定將在所述線性預(yù)測模型的訓(xùn)練階段的多個學習迭代中的特定學習迭代期間添加到所述參數(shù)向量的一個或多個特征的各自權(quán)重;

響應(yīng)于確定在所述訓(xùn)練階段期間已滿足觸發(fā)條件,

至少部分地基于對所述權(quán)重的分位數(shù)分析從權(quán)重包括在所述參數(shù)向量中的一組特征識別一個或多個修剪受害者,其中在沒有分選操作的情況下執(zhí)行所述分位數(shù)分析;以及

至少將對應(yīng)于所述一個或多個修剪受害者中的特定修剪受害者的特定權(quán)重從所述參數(shù)向量移除;以及

在所述線性預(yù)測模型的訓(xùn)練后階段預(yù)測運行期間使用至少一個特征生成預(yù)測,在將所述特定修剪受害者的所述特定權(quán)重從所述參數(shù)向量移除之后針對所述至少一個特征確定權(quán)重。

2.如條款1所述的系統(tǒng),其中所述觸發(fā)條件至少部分地基于所述參數(shù)向量的填充量。

3.如條款1-2中任一項所述的系統(tǒng),其中所述觸發(fā)條件至少部分地基于由客戶端指示的目標。

4.如條款1-3中任一項所述的系統(tǒng),其中所述一個或多個計算裝置進一步被配置來:

在所述多個學習迭代中的在所述特定學習迭代之后執(zhí)行的隨后學習迭代期間,

確定所述特定修剪受害者的權(quán)重將重新添加到所述參數(shù)向量;以及

將對應(yīng)于所述特定修剪受害者的所述權(quán)重添加到所述參數(shù)向量。

5.如條款1-4中任一項所述的系統(tǒng),其中其權(quán)重將在所述特定學習迭代期間添加到所述參數(shù)向量的所述一個或多個特征中的第一特征通過包括使用以下各項中的一個或多個的變換從所述數(shù)據(jù)源的所述觀察記錄的一個或多個變量導(dǎo)出:(a)分位數(shù)倉函數(shù),(b)笛卡爾乘積函數(shù),(c)二元語法函數(shù),(d)n元語法函數(shù),(e)正交稀疏二元語法函數(shù),(f)日歷函數(shù),(g)圖像處理函數(shù),(h)音頻處理函數(shù),(i)生物信息學處理函數(shù),(j)自然語言處理函數(shù),或者(k)視頻處理函數(shù)。

6.一種方法,其包括:

通過一個或多個計算裝置執(zhí)行:

接收將用于訓(xùn)練機器學習模型的數(shù)據(jù)源的指示,其中為了生成預(yù)測,所述機器學習模型將利用分配給從所述數(shù)據(jù)源的觀察記錄導(dǎo)出的多個特征中的單獨特征的各自參數(shù),其中所述各自參數(shù)存儲在所述機器學習模型的參數(shù)向量中;

識別其各自參數(shù)將在所述機器學習模型的訓(xùn)練階段的多個學習迭代中的特定學習迭代期間添加到所述參數(shù)向量的一個或多個特征;

響應(yīng)于確定在所述訓(xùn)練階段中已滿足觸發(fā)條件,將一個或多個修剪受害者特征的各自參數(shù)從所述參數(shù)向量移除,其中至少部分地基于對參數(shù)包括在所述參數(shù)向量中的特征對使用所述機器學習模型進行的預(yù)測的相對貢獻的分析選擇所述一個或多個修剪受害者特征;以及

在所述機器學習模型的訓(xùn)練后階段預(yù)測運行期間使用至少一個特征生成特定預(yù)測,在選擇所述一個或多個修剪受害者特征之后針對所述至少一個特征確定參數(shù)。

7.如條款6所述的方法,其中對相對貢獻的所述分析包括對包括在所述參數(shù)向量中的權(quán)重的分位數(shù)分析。

8.如條款6-7中任一項所述的方法,其中對相對貢獻的所述分析(a)不包括分選操作并且(b)不包括復(fù)制包括在所述參數(shù)向量中的所述參數(shù)的值。

9.如條款6-8中任一項所述的方法,其中所述確定已滿足所述觸發(fā)條件包括確定所述參數(shù)向量的填充量超過閾值。

10.如條款6-9中任一項所述的方法,其中所述觸發(fā)條件至少部分地基于機器學習服務(wù)的服務(wù)器的資源容量約束。

11.如條款6-10中任一項所述的方法,其中所述觸發(fā)條件至少部分地基于由客戶端指示的目標。

12.如條款6-11中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

在所述多個學習迭代中的在所述特定學習迭代之后執(zhí)行的隨后學習迭代期間,

確定先前被選擇作為修剪受害者特征的特定特征的參數(shù)將重新添加到所述參數(shù)向量;以及

將所述特定特征的所述參數(shù)添加到所述參數(shù)向量。

13.如條款6-12中任一項所述的方法,其中其各自參數(shù)將在所述特定學習迭代期間添加到所述參數(shù)向量的所述一個或多個特征中的第一特征通過包括使用以下各項中的一個或多個的變換從所述數(shù)據(jù)源的觀察記錄的一個或多個變量確定:(a)分位數(shù)倉函數(shù),(b)笛卡爾乘積函數(shù),(c)二元語法函數(shù),(d)n元語法函數(shù),(e)正交稀疏二元語法函數(shù),(f)日歷函數(shù),(g)圖像處理函數(shù),(h)音頻處理函數(shù),(i)生物信息學處理函數(shù),(j)自然語言處理函數(shù),或者(k)視頻處理函數(shù)。

14.如條款6-13中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

實現(xiàn)隨機梯度下降技術(shù)來在所述特定學習迭代期間更新包括在所述參數(shù)向量中的一個或多個先前生成的參數(shù)。

15.如條款6-14中任一項所述的方法,其中所述機器學習模型包括廣義線性模型。

16.如條款6-15中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

通過在提供商網(wǎng)絡(luò)處實現(xiàn)的機器學習服務(wù)的編程接口接收指示所述數(shù)據(jù)源的客戶端請求,其中所述機器學習服務(wù)包括位于一個或多個數(shù)據(jù)中心處的多個訓(xùn)練服務(wù)器;以及

相對于所述接收所述客戶端請求異步地,由所述機器學習服務(wù)的作業(yè)調(diào)度器向所述多個訓(xùn)練服務(wù)器中的特定訓(xùn)練服務(wù)器分配包括所述多個學習迭代的作業(yè)。

17.一種存儲程序指令的非暫時計算機可訪問存儲介質(zhì),所述程序指令當在一個或多個處理器上執(zhí)行時,實現(xiàn)機器學習服務(wù)的模型生成器,其中所述模型生成器被配置來:

確定將用于生成模型的數(shù)據(jù)源,其中為了生成預(yù)測,所述模型將利用分配給從所述數(shù)據(jù)源的觀察記錄導(dǎo)出的多個特征中的單獨特征的各自參數(shù),其中所述各自參數(shù)存儲在所述模型的參數(shù)向量中;

識別其參數(shù)將在所述模型的訓(xùn)練階段的多個學習迭代中的特定學習迭代期間添加到所述參數(shù)向量的一個或多個特征;

響應(yīng)于確定已滿足觸發(fā)條件,將分配給一個或多個修剪受害者特征的各自參數(shù)從所述參數(shù)向量移除,其中至少部分地基于對參數(shù)包括在所述參數(shù)向量中的特征對使用所述模型進行的預(yù)測的相對貢獻的分析選擇所述一個或多個修剪受害者特征;以及

在將分配給修剪受害者特征的至少一個參數(shù)從所述參數(shù)向量移除之后,將至少一個參數(shù)添加到所述參數(shù)向量。

18.如條款17所述的非暫時計算機可訪問存儲介質(zhì),其中對相對貢獻的所述分析包括確定包括在所述參數(shù)向量中的特定參數(shù)值與先驗參數(shù)值的偏差。

19.如條款17-18中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述特定參數(shù)值包括概率分布,并且其中所述偏差的所述確定包括對Kullback-Leibler(KL)散度的估計。

20.如條款17-19中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中為了確定是否已滿足所述觸發(fā)條件,所述模型生成器被配置來確定所述參數(shù)向量的填充量是否超過閾值。

21.如條款17-20中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述數(shù)據(jù)源包括傳輸?shù)綑C器學習服務(wù)的網(wǎng)絡(luò)端點的觀察記錄流的源。

本公開的實施方案還可鑒于以下條款來描述:

1.一種系統(tǒng),其包括:

一個或多個計算裝置,其被配置來:

在提供商網(wǎng)絡(luò)的機器學習服務(wù)處接收包括將用于生成模型的觀察記錄的數(shù)據(jù)源的指示;

將所述觀察記錄的一個或多個變量識別作為用于分位數(shù)分倉變換的候選者;

確定用于所述一個或多個變量中的至少特定變量的特定并發(fā)分倉計劃,其中根據(jù)所述特定并發(fā)分倉計劃,多個分位數(shù)分倉變換在所述模型的訓(xùn)練階段期間應(yīng)用到所述特定變量,其中所述多個分位數(shù)分倉變換包括具有第一倉計數(shù)的第一分位數(shù)分倉變換以及具有不同倉計數(shù)的第二分位數(shù)分倉變換;

在所述訓(xùn)練階段期間生成包括對應(yīng)于由于實現(xiàn)所述特定并發(fā)分倉計劃獲得的多個分倉特征的各自初始權(quán)重值的參數(shù)向量,所述多個分倉特征包括使用所述第一分位數(shù)分倉變換獲得的第一分倉特征以及使用所述第二分位數(shù)分倉變換獲得的第二分倉特征;

在所述訓(xùn)練階段期間根據(jù)所選擇優(yōu)化策略減少對應(yīng)于所述多個分倉特征中的特定分倉特征的至少一個權(quán)重值;以及

在所述模型的訓(xùn)練后階段預(yù)測運行期間使用以下各項中的至少一個獲得特定預(yù)測:所述第一分倉特征或所述第二分倉特征。

2.如條款1所述的系統(tǒng),其中識別為候選者的所述一個或多個變量包括多個變量,其中所述一個或多個計算裝置進一步被配置來:

根據(jù)用于所述多個變量中的一組變量的第二并發(fā)分倉計劃,其中所述組包括第一變量和第二變量,

將第一多變量分位數(shù)分倉變換應(yīng)用到至少所述第一變量和所述第二變量,其中根據(jù)所述第一多變量分位數(shù)分倉變換,至少部分地基于針對所述第一變量和所述第二變量選擇的倉計數(shù)的第一組合將特定觀察記錄放置在第一倉中;以及

將第二多變量分位數(shù)分倉變換應(yīng)用到至少所述第一變量和所述第二變量,其中根據(jù)所述第二多變量分位數(shù)分倉變換,至少部分地基于針對所述第一變量和所述第二變量選擇的倉計數(shù)的不同組合將所述特定觀察記錄放置在第二倉中。

3.如條款1-2中任一項所述的系統(tǒng),其中所述所選擇優(yōu)化策略包括正則化。

4.如條款1-3中任一項所述的系統(tǒng),其中所述一個或多個計算裝置進一步被配置來:

至少部分地基于對分配給所述模型的多個特征的權(quán)重的分位數(shù)邊界的估計選擇特定分倉特征以便從所述參數(shù)向量移除,其中在不分選所述權(quán)重的情況下獲得所述估計。

5.如條款1-4中任一項所述的系統(tǒng),其中所述一個或多個計算裝置進一步被配置來:

在所述機器學習服務(wù)的制品儲存庫中存儲根據(jù)用于在所述機器學習服務(wù)處實現(xiàn)的特征變換的配方語言格式化的特定配方,其中所述特定配方包括所述第一分位數(shù)分倉變換的指示以及所述第二分位數(shù)分倉變換的指示。

6.一種方法,其包括:

通過一個或多個計算裝置執(zhí)行:

實現(xiàn)用于將用于生成機器學習模型的觀察記錄的一個或多個變量的各自并發(fā)分倉計劃,其中根據(jù)特定并發(fā)分倉計劃,多個分位數(shù)分倉變換應(yīng)用到所述一個或多個變量中的至少特定變量,其中所述多個分位數(shù)分倉變換包括具有第一倉計數(shù)的第一分位數(shù)分倉變換以及具有不同倉計數(shù)的第二分位數(shù)分倉變換;

確定與多個分倉特征相關(guān)聯(lián)的各自參數(shù)值,所述多個分倉特征包括使用所述第一分位數(shù)分倉變換獲得的第一分倉特征以及使用所述第二分位數(shù)分倉變換獲得的第二分倉特征;以及

在所述機器學習模型的訓(xùn)練后階段預(yù)測運行期間使用對應(yīng)于以下各項中的至少一個的參數(shù)值生成特定預(yù)測:所述第一分倉特征或所述第二分倉特征。

7.如條款6所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

根據(jù)針對所述觀察記錄的一組變量生成的第二并發(fā)分倉計劃,其中所述組包括第一變量和第二變量,

將第一多變量分位數(shù)分倉變換應(yīng)用到至少所述第一變量和所述第二變量,其中根據(jù)所述第一多變量分位數(shù)分倉變換,至少部分地基于針對所述第一變量和所述第二變量選擇的倉計數(shù)的第一組合將特定觀察記錄放置在第一倉中;以及

將第二多變量分位數(shù)分倉變換應(yīng)用到至少所述第一變量和所述第二變量,其中根據(jù)所述第二多變量分位數(shù)分倉變換,至少部分地基于針對所述第一變量和所述第二變量選擇的倉計數(shù)的不同組合將所述特定觀察記錄放置在第二倉中。

8.如條款6-7中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

至少部分地基于所述觀察記錄的所選擇組變量的各自值生成所述觀察記錄的至少子集的k維樹(k-d樹)表示;以及

至少部分地基于對所述k維樹的分析確定將應(yīng)用到所述一個或多個變量中的至少一個變量的并發(fā)分位數(shù)分倉變換的一個或多個屬性。

9.如條款6-8中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

在所述確定所述各自參數(shù)值之后并且在所述訓(xùn)練后階段預(yù)測運行之前,將對應(yīng)于至少一個分倉特征的參數(shù)從針對所述機器學習模型生成的參數(shù)向量移除。

10.如條款9所述的方法,其中所述參數(shù)向量包括對應(yīng)于針對所述機器學習模型識別的多個特征中的一個或多個單獨特征的各自權(quán)重,其還包括通過所述一個或多個計算裝置執(zhí)行:

利用正則化來調(diào)整分配給特定分倉特征的特定權(quán)重的值;以及

至少部分地基于確定所述特定權(quán)重的所調(diào)整值低于閾值,選擇所述特定分倉特征作為其權(quán)重將從所述參數(shù)向量移除的修剪目標。

11.如條款9所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

至少部分地基于確定對包括在所述參數(shù)向量中的權(quán)重的分位數(shù)邊界的估計選擇特定分倉特征作為其權(quán)重將從所述參數(shù)向量移除的修剪目標,其中在不分選所述權(quán)重的情況下執(zhí)行所述確定所述估計。

12.如條款6-9中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

至少部分地基于所述機器學習模型的問題域確定以下各項中的至少一個:(a)所述第一倉計數(shù)或者(b)所述不同倉計數(shù)。

13.如條款6-9或12中任一項所述的方法,其中響應(yīng)于通過在提供商網(wǎng)絡(luò)處實現(xiàn)的機器學習服務(wù)的編程接口接收模型生成請求執(zhí)行所述實現(xiàn)所述各自并發(fā)分倉計劃。

14.如條款6-9或12-13中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

在提供商網(wǎng)絡(luò)處實現(xiàn)的機器學習服務(wù)的制品儲存庫中存儲根據(jù)在所述機器學習服務(wù)處實現(xiàn)的配方語言格式化的特定配方,其中所述特定配方包括所述第一分位數(shù)分倉變換的指示以及所述第二分位數(shù)分倉變換的指示。

15.如條款6-9或12-14中任一項所述的方法,其中所述機器學習模型包括以下各項中的一個或多個:監(jiān)督式學習模型或非監(jiān)督式學習模型。

16.一種存儲程序指令的非暫時計算機可訪問存儲介質(zhì),所述程序指令當在一個或多個處理器上執(zhí)行時,實現(xiàn)機器學習服務(wù)的模型生成器,其中所述模型生成器被配置來:

將用于生成機器學習模型的觀察記錄的一個或多個變量識別作為用于分位數(shù)分倉變換的候選者;

確定用于所述一個或多個變量的各自并發(fā)分倉計劃,其中根據(jù)用于至少特定變量的特定并發(fā)分倉計劃,多個分位數(shù)分倉變換應(yīng)用到所述特定變量,其中所述多個分位數(shù)分倉變換包括具有第一倉計數(shù)的第一分位數(shù)分倉變換以及具有不同倉計數(shù)的第二分位數(shù)分倉變換;以及

在所述機器學習模型的參數(shù)向量內(nèi)包括多個分倉特征的各自參數(shù),其包括從所述第一分位數(shù)分倉變換獲得的第一分倉特征的第一參數(shù)以及從所述第一分位數(shù)分倉特征獲得的第二分倉特征的第二參數(shù),其中所述第一分倉特征和所述第二分倉特征中的至少一個分倉特征用于在所述機器學習模型的訓(xùn)練后階段執(zhí)行中生成預(yù)測。

17.如條款16所述的非暫時計算機可訪問存儲介質(zhì),其中所述模型生成器進一步被配置來:

根據(jù)用于所述觀察記錄的一組變量的第二并發(fā)分倉計劃,其中所述組包括第一變量和第二變量,

將第一多變量分位數(shù)分倉變換應(yīng)用到至少所述第一變量和所述第二變量,其中根據(jù)所述第一多變量分位數(shù)分倉變換,至少部分地基于針對所述第一變量和所述第二變量選擇的倉計數(shù)的第一組合將特定觀察記錄放置在第一倉中;以及

將第二多變量分位數(shù)分倉變換應(yīng)用到至少所述第一變量和所述第二變量,其中根據(jù)所述第二多變量分位數(shù)分倉變換,至少部分地基于針對所述第一變量和所述第二變量選擇的倉計數(shù)的不同組合將所述特定觀察記錄放置在第二倉中。

18.如條款16-17中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述模型生成器進一步被配置來:

調(diào)整分配給所述第一分倉特征的特定權(quán)重的值;以及

至少部分地基于確定所述特定權(quán)重的所調(diào)整值低于閾值,選擇所述第一分倉特征以便從所述參數(shù)向量移除。

19.如條款16-18中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述模型生成器進一步被配置來:

至少部分地基于對分配給針對所述機器學習模型識別的多個特征的權(quán)重的分位數(shù)邊界的估計選擇所述第一分倉特征以便從所述參數(shù)向量移除,其中在不分選所述權(quán)重的情況下獲得所述估計。

20.如條款16-19中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述機器學習模型包括廣義線性模型。

本公開的實施方案還可鑒于以下條款來描述:

1.一種系統(tǒng),其包括:

一個或多個計算裝置,其被配置來:

在提供商網(wǎng)絡(luò)的機器學習服務(wù)處訓(xùn)練機器學習模型以便生成對應(yīng)于各自觀察記錄的一個或多個輸出變量的值,其中所述一個或多個輸出變量包括特定輸出變量;

對應(yīng)于使用各自評估數(shù)據(jù)組執(zhí)行的所述機器學習模型的一個或多個評估運行,生成將通過交互式圖形界面顯示的第一組數(shù)據(jù),其中所述第一組數(shù)據(jù)至少包括(a)所述特定輸出變量的統(tǒng)計分布以及(b)所述機器學習模型的第一預(yù)測質(zhì)量度量,其中所述交互式圖形界面包括第一圖形控件以修改與所述機器學習模型相關(guān)聯(lián)的第一預(yù)測解釋閾值;

至少部分地基于檢測特定客戶端使用所述第一圖形控件,確定所述第一預(yù)測解釋閾值的目標值;

通過所述交互式圖形界面發(fā)起由所述目標值的選擇引起的對所述第一預(yù)測質(zhì)量度量的改變的顯示;

響應(yīng)于由客戶端通過所述交互式圖形界面?zhèn)鬏數(shù)恼埱?,將所述目標值保存在所述機器學習服務(wù)的持久性儲存庫中;以及

利用所述所保存目標值來生成所述機器學習模型的隨后運行的一個或多個結(jié)果。

2.如條款1所述的系統(tǒng),其中所述機器學習模型是將用于將觀察記錄分類成第一類別和第二類別的二進制分類模型,并且其中所述第一預(yù)測解釋閾值指示所述第一類別與所述第二類別之間的截止邊界。

3.如條款1-2中任一項所述的系統(tǒng),其中所述第一預(yù)測質(zhì)量度量包括以下各項中的一個或多個:準確度度量、召回度量、敏感度度量、真陽性率、特異性度量、真陰性率、精度度量、假陽性率、假陰性率、F1得分、覆蓋度量、絕對百分比誤差度量、平方誤差度量或AUC(曲線下區(qū)域)度量。

4.如條款1-3中任一項所述的系統(tǒng),其中所述第一圖形控件包括連續(xù)變化控制元件,使得所述特定客戶端能夠指示所述第一預(yù)測解釋閾值的第一值與所述第一預(yù)測解釋閾值的第二值之間的過渡,其中所述一個或多個計算機裝置進一步被配置來:

在所述特定客戶端指示從所述第一值到所述第二值的過渡時,實時地發(fā)起指示對所述第一預(yù)測質(zhì)量度量的對應(yīng)改變的所述交互式圖形界面的一部分的更新。

5.如條款1-4中任一項所述的系統(tǒng),其中所述交互式圖形界面包括用于指示包括所述第一預(yù)測質(zhì)量度量和第二預(yù)測質(zhì)量度量的多個預(yù)測質(zhì)量度量的目標值的各自另外控件,其中所述一個或多個計算機裝置進一步被配置來:

響應(yīng)于使用第一另外控件指示的所述第一預(yù)測質(zhì)量度量的目標值的改變,發(fā)起對應(yīng)于所述第二預(yù)測質(zhì)量度量的第二另外控件的顯示的更新,指示所述第一預(yù)測質(zhì)量度量的所述目標值的所述改變對所述第二預(yù)測質(zhì)量度量的影響。

6.一種方法,其包括:

通過一個或多個計算裝置執(zhí)行:

訓(xùn)練機器學習模型以便生成對應(yīng)于各自觀察記錄的一個或多個輸出變量的各自值,其中所述一個或多個輸出變量包括特定輸出變量;

對應(yīng)于所述機器學習模型的一個或多個評估運行生成將通過交互式圖形界面顯示的第一組數(shù)據(jù),其中所述第一組數(shù)據(jù)至少包括所述機器學習模型的第一預(yù)測質(zhì)量度量,并且其中所述交互式圖形界面包括第一圖形控件以修改與所述機器學習模型相關(guān)聯(lián)的第一預(yù)測解釋閾值;

至少部分地基于檢測特定客戶端與所述第一圖形控件的交互,確定所述第一預(yù)測解釋閾值的目標值;

通過所述交互式圖形界面發(fā)起由所述目標值的選擇引起的對所述第一預(yù)測質(zhì)量度量的改變的顯示;以及

使用所述目標值獲得所述機器學習模型的隨后運行的一個或多個結(jié)果。

7.如條款6所述的方法,其中所述機器學習模型是將用于將觀察記錄分類成第一類別和第二類別的二進制分類模型,并且其中所述第一預(yù)測解釋閾值指示所述第一類別與所述第二類別之間的截止邊界。

8.如條款6-7中任一項所述的方法,其中所述第一預(yù)測質(zhì)量度量包括以下各項中的一個或多個:準確度度量、召回度量、敏感度度量、真陽性率、特異性度量、真陰性率、精度度量、假陽性率、假陰性率、F1得分、覆蓋度量、絕對百分比誤差度量、平方誤差度量或AUC(曲線下區(qū)域)度量。

9.如條款6-8中任一項所述的方法,其中所述第一圖形控件包括連續(xù)變化控制元件,使得所述特定客戶端能夠指示所述第一預(yù)測解釋閾值的第一值與所述第一預(yù)測解釋閾值的第二值之間的過渡,其還包括通過所述一個或多個計算機裝置執(zhí)行:

在所述特定客戶端指示從所述第一值到所述第二值的過渡時,實時地發(fā)起指示對所述第一預(yù)測質(zhì)量度量的對應(yīng)改變的所述交互式圖形界面的一部分的更新。

10.如條款6-9中任一項所述的方法,其中所述交互式圖形界面包括用于指示包括所述第一預(yù)測質(zhì)量度量和第二預(yù)測質(zhì)量度量的多個預(yù)測質(zhì)量度量的目標值的各自另外控件,其還包括通過所述一個或多個計算機裝置執(zhí)行:

響應(yīng)于使用第一另外控件指示的所述第一預(yù)測質(zhì)量度量的目標值的改變,發(fā)起對應(yīng)于所述第二預(yù)測質(zhì)量度量的第二另外控件的顯示的更新,指示所述第一預(yù)測質(zhì)量度量的所述目標值的所述改變對所述第二預(yù)測質(zhì)量度量的影響。

11.如條款10所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

響應(yīng)于使用第一另外控件指示的所述第一預(yù)測質(zhì)量度量的所述目標值的所述改變,發(fā)起所述第一預(yù)測解釋閾值的改變的顯示。

12.如條款6-10中任一項所述的方法,其中所述機器學習模型是以下各項中的一個:(a)n路分類模型或者(b)回歸模型。

13.如條款6-10或12中任一項所述的方法,其中所述交互式圖形界面包括顯示所述特定輸出變量的值的統(tǒng)計分布的區(qū)域,其還包括通過所述一個或多個計算機裝置執(zhí)行:

響應(yīng)于與所述區(qū)域的特定客戶端交互,發(fā)起所述特定輸出變量具有第一值的觀察記錄的一個或多個輸入變量的值的顯示,其中所述特定客戶端交互指示所述特定輸出變量的所述第一值。

14.如條款6-10或12-13中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

生成指示在所述機器學習模型的執(zhí)行期間檢測到的異常的警報消息以便通過所述交互式圖形界面顯示。

15.如條款6-10或12-14中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

響應(yīng)于在所述第一預(yù)測質(zhì)量度量的顯示之后所述特定客戶端使用所述交互式圖形界面的不同控件,接收執(zhí)行以下各項中的一個或多個的請求:(a)重新評估所述機器學習模型或者(b)重新訓(xùn)練所述機器學習模型。

16.如條款6-10或12-15中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

在提供商網(wǎng)絡(luò)處實現(xiàn)的機器學習服務(wù)的儲存庫中保存指示所述目標值的記錄。

17.一種存儲程序指令的非暫時計算機可訪問存儲介質(zhì),所述程序指令當在一個或多個處理器上執(zhí)行時:

對應(yīng)于機器學習模型的評估運行生成將通過交互式圖形界面顯示的第一組數(shù)據(jù),其中所述第一組數(shù)據(jù)至少包括所述機器學習模型的第一預(yù)測質(zhì)量度量,并且其中所述交互式圖形界面包括第一圖形控件以修改與所述機器學習模型相關(guān)聯(lián)的第一解釋閾值;

基于檢測特定客戶端與所述第一圖形控件的交互,確定所述第一解釋閾值的目標值;以及

通過所述交互式圖形界面發(fā)起由所述目標值的選擇引起的對所述第一預(yù)測質(zhì)量度量的改變的顯示。

18.如條款17所述的非暫時計算機可訪問存儲介質(zhì),其中所述機器學習模型是將用于將觀察記錄分類成第一類別和第二類別的二進制分類模型,并且其中所述第一解釋閾值指示所述第一類別與所述第二類別之間的截止邊界。

19.如條款17-18中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述第一預(yù)測質(zhì)量度量包括以下各項中的一個或多個:準確度度量、召回度量、敏感度度量、真陽性率、特異性度量、真陰性率、精度度量、假陽性率、假陰性率、F1得分、覆蓋度量、絕對百分比誤差度量、平方誤差度量或AUC(曲線下區(qū)域)度量。

20.如條款17-19中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述第一圖形控件包括連續(xù)變化控制元件,使得所述特定客戶端能夠指示所述第一解釋閾值的第一值與所述第一解釋閾值的第二值之間的過渡,其中所述指令當在一個或多個處理器上執(zhí)行時:

在所述特定用戶指示從所述第一值到所述第二值的過渡時,實時地發(fā)起指示對所述第一預(yù)測質(zhì)量度量的對應(yīng)改變的所述交互式圖形界面的一部分的更新。

21.一種存儲程序指令的非暫時計算機可訪問存儲介質(zhì),所述程序指令當在一個或多個處理器上執(zhí)行時:

對應(yīng)于機器學習模型的評估運行,在與客戶的特定交互會話期間通過交互式界面顯示第一組數(shù)據(jù),其中所述第一組數(shù)據(jù)至少包括與所述評估運行相關(guān)聯(lián)的第一預(yù)測質(zhì)量度量;

基于所述客戶與所述交互式界面的特定交互的檢測,在所述特定交互會話期間向機器學習服務(wù)的服務(wù)器傳輸所述第一解釋閾值的目標值;

從所述服務(wù)器接收由所述目標值的選擇引起的對所述第一預(yù)測質(zhì)量度量的改變的指示;以及

在所述特定交互會話期間通過所述交互式界面指示對所述第一預(yù)測質(zhì)量度量的所述改變。

22.如條款21所述的非暫時計算機可訪問存儲介質(zhì),其中所述交互式界面包括圖形界面,并且其中所述特定交互包括對包括在所述圖形界面中的第一圖形控件的操縱。

23.如條款21所述的非暫時計算機可訪問存儲介質(zhì),其中所述交互式界面包括命令行界面。

24.如條款22所述的非暫時計算機可訪問存儲介質(zhì),其中所述交互式界面包括API(應(yīng)用編程接口)。

本公開的實施方案還可鑒于以下條款來描述:

1.一種系統(tǒng),其包括:

一個或多個計算裝置,其被配置來:

在提供商網(wǎng)絡(luò)的機器學習服務(wù)處生成與機器學習模型相關(guān)聯(lián)的第一組觀察記錄的一個或多個空間有效表示,其中所述空間有效表示中的單獨空間有效表示利用比所述第一組觀察記錄少的存儲裝置,并且其中所述第一組觀察記錄的至少子集包括第一組一個或多個變量的各自值;

接收將根據(jù)概率復(fù)本檢測技術(shù)針對所述第一組觀察記錄的復(fù)本的存在檢查第二組觀察記錄的指示,其中所述第二組觀察記錄的至少子集包括所述第一組一個或多個變量的各自值;

使用所述一個或多個空間有效表示中的至少一個空間有效表示獲得對應(yīng)于所述第二組的至少一部分的復(fù)本度量,所述復(fù)本度量指示所述第二組的一個或多個觀察記錄相對于至少所述第一組一個或多個變量是所述第一組的一個或多個觀察記錄的復(fù)本的非零概率;以及

響應(yīng)于確定所述復(fù)本度量滿足閾值準則,實現(xiàn)包括向所述客戶端通知潛在復(fù)本觀察記錄的檢測的一個或多個響應(yīng)動作。

2.如條款1所述的系統(tǒng),其中所述一個或多個空間有效表示中的特定空間有效表示包括以下各項中的一個或多個:(a)布隆過濾器,(b)商過濾器,或者(c)跳過列表。

3.如條款1-2中任一項所述的系統(tǒng),其中所述第一組一個或多個觀察記錄包括所述機器學習模型的訓(xùn)練數(shù)據(jù)組,并且其中所述第二組一個或多個觀察記錄包括所述機器學習模型的測試數(shù)據(jù)組。

4.如條款1-3中任一項所述的系統(tǒng),其中所述一個或多個空間有效表示中的特定空間有效表示包括布隆過濾器,其中所述一個或多個計算裝置進一步被配置來:

在生成所述布隆過濾器之前,估計(a)包括在所述第一組中的觀察記錄的近似計數(shù)以及(b)所述第一組的單獨觀察記錄的近似大?。灰约?/p>

至少部分地基于所述近似計數(shù)或所述近似大小確定將用于生成所述布隆過濾器的一個或多個參數(shù),包括以下各項中的一個或多個:(a)將包括在所述布隆過濾器中的位的數(shù)量,(b)將用于生成所述布隆過濾器的散列函數(shù)的數(shù)量,或者(c)將用于生成所述布隆過濾器的散列函數(shù)的特定類型。

5.如條款1-4中任一項所述的系統(tǒng),其中所述一個或多個響應(yīng)動作包括以下各項中的一個或多個:(a)向所述客戶端傳輸所述第二組的已識別為具有為復(fù)本的非零概率的特定觀察記錄的指示,(b)在使用所述第二組執(zhí)行特定機器學習任務(wù)之前將已識別為具有為復(fù)本的非零概率的特定觀察記錄從所述第二組移除,(c)向所述客戶端傳輸與將已識別為具有為復(fù)本的非零概率的一個或多個觀察記錄從所述第二組移除相關(guān)聯(lián)的潛在預(yù)測誤差的指示,或者(d)取消與所述第二組相關(guān)聯(lián)的機器學習作業(yè)。

6.一種方法,其包括:

通過一個或多個計算裝置執(zhí)行:

在機器學習服務(wù)處生成第一組觀察記錄的一個或多個替代表示,其中至少一個替代表示占據(jù)與所述第一組觀察記錄不同量的空間;

使用所述一個或多個替代表示中的至少一個替代表示獲得對應(yīng)于第二組觀察記錄的至少一部分的復(fù)本度量,所述復(fù)本度量指示所述第二組的一個或多個觀察記錄相對于其各自值包括在所述第一組的至少一些觀察記錄中的一個或多個變量是所述第一組的各自觀察記錄的復(fù)本的非零概率;以及

響應(yīng)于確定所述復(fù)本度量滿足閾值準則,實現(xiàn)一個或多個響應(yīng)動作。

7.如條款6所述的方法,其中所述一個或多個替代表示中的特定替代表示包括以下各項中的一個或多個:(a)布隆過濾器,(b)商過濾器,或者(c)跳過列表。

8.如條款6-7中任一項所述的方法,其中所述第一組一個或多個觀察記錄包括特定機器學習模型的訓(xùn)練數(shù)據(jù)組,并且其中所述第二組一個或多個觀察記錄包括所述特定機器學習模型的測試數(shù)據(jù)組。

9.如條款6-8中任一項所述的方法,其中所述一個或多個替代表示中的特定替代表示包括布隆過濾器,其還包括通過所述一個或多個計算裝置執(zhí)行:

在生成所述布隆過濾器之前,估計(a)包括在所述第一組中的觀察記錄的近似計數(shù)以及(b)所述第一組的單獨觀察記錄的近似大??;以及

至少部分地基于所述近似計數(shù)或所述近似大小確定將用于生成所述布隆過濾器的一個或多個參數(shù),包括以下各項中的一個或多個:(a)將包括在所述布隆過濾器中的位的數(shù)量,(b)將用于生成所述布隆過濾器的散列函數(shù)的數(shù)量,或者(c)將用于生成所述布隆過濾器的散列函數(shù)的特定類型。

10.如條款6-9中任一項所述的方法,其中所述一個或多個響應(yīng)動作包括以下各項中的一個或多個:(a)通知客戶端潛在復(fù)本觀察記錄的檢測,(b)提供所述第二組的已識別為具有為復(fù)本的非零概率的特定觀察記錄的指示,(c)在使用所述第二組執(zhí)行特定機器學習任務(wù)之前將已識別為具有為復(fù)本的非零概率的特定觀察記錄從所述第二組移除,(d)向客戶端提供與將已識別為具有為復(fù)本的非零概率的一個或多個觀察記錄從所述第二數(shù)據(jù)組移除相關(guān)聯(lián)的潛在預(yù)測誤差的指示,或者(e)放棄與所述第二組相關(guān)聯(lián)的機器學習作業(yè)。

11.如條款6-10中任一項所述的方法,其中所述一個或多個響應(yīng)動作中的特定響應(yīng)動作包括提供所述第二組的特定觀察記錄為復(fù)本的置信水平的指示。

12.如條款6-11中任一項所述的方法,其中所述組一個或多個變量排除其值將由機器學習模型預(yù)測的輸出變量。

13.如條款6-12中任一項所述的方法,其中所述確定所述復(fù)本度量滿足閾值準則包括以下各項中的一個或多個:(a)確定所述第二組的已識別為具有為復(fù)本的非零概率的觀察記錄的數(shù)量超過第一閾值,或者(b)確定所述第二組的已識別為具有為復(fù)本的非零概率的所述觀察記錄的分數(shù)超過第二閾值。

14.如條款6-13中任一項所述的方法,其中所述生成所述第一組觀察記錄的所述一個或多個替代表示包括:

將所述第一組觀察記錄再劃分成多個分區(qū);

在所述機器學習服務(wù)的各自服務(wù)器處生成對應(yīng)于所述多個分區(qū)中的單獨分區(qū)的各自布隆過濾器;以及

將在所述各自服務(wù)器處生成的所述布隆過濾器組合成合并布隆過濾器。

15.如條款6-14中任一項所述的方法,其還包括通過所述一個或多個計算裝置執(zhí)行:

通過編程接口從所述客戶端接收以下各項中的一個或多個的指示:(a)將由所述機器學習服務(wù)使用以確定是否已滿足所述閾值準則的參數(shù),或者(b)所述一個或多個響應(yīng)動作。

16.如條款6-15中任一項所述的方法,其中所述第一組觀察記錄和所述第二組觀察記錄是以下各項中的一個的各自子集:(a)特定機器學習模型的訓(xùn)練數(shù)據(jù)組,(b)特定機器學習模型的測試數(shù)據(jù)組,或者(c)將獲得特定機器學習模型的訓(xùn)練數(shù)據(jù)組和所述特定機器學習模型的測試數(shù)據(jù)組的源數(shù)據(jù)組。

17.一種存儲程序指令的非暫時計算機可訪問存儲介質(zhì),所述程序指令當在一個或多個處理器上執(zhí)行時:

在機器學習服務(wù)處確定將執(zhí)行檢測第一組觀察記錄中的一個或多個觀察記錄的至少一部分內(nèi)容是否在第二組觀察記錄中重復(fù)的分析;

獲得對應(yīng)于第二組觀察記錄的至少一部分的復(fù)本度量,所述復(fù)本度量指示所述第二組的一個或多個觀察記錄相對于其各自值包括在所述第一組的至少一些觀察記錄中的一個或多個變量是所述第一組的各自觀察記錄的復(fù)本的非零概率;以及

響應(yīng)于確定所述復(fù)本度量滿足閾值準則,實現(xiàn)一個或多個響應(yīng)動作。

18.如條款17所述的非暫時計算機可訪問存儲介質(zhì),其中為了獲得替代度量,所述指令當在所述一個或多個處理器上執(zhí)行時,生成所述第一組觀察記錄的替代表示,其中所述替代表示包括以下各項中的一個或多個:(a)布隆過濾器,(b)商過濾器,或者(c)跳過列表。

19.如條款17-18中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述第一組一個或多個觀察記錄包括特定機器學習模型的訓(xùn)練數(shù)據(jù)組,并且其中所述第二組一個或多個觀察記錄包括所述特定機器學習模型的測試數(shù)據(jù)組。

20.如條款17-19中任一項所述的非暫時計算機可訪問存儲介質(zhì),其中所述一個或多個響應(yīng)動作中的特定響應(yīng)動作包括提供所述第二組的特定觀察記錄為復(fù)本的置信水平的指示。

總結(jié)

各種實施方案還可包括在計算機可訪問介質(zhì)上接收、發(fā)送或存儲根據(jù)前面的描述而實現(xiàn)的指令和/或數(shù)據(jù)。一般來說,計算機可訪問介質(zhì)可包括存儲介質(zhì)或存儲器介質(zhì),諸如磁性或光學介質(zhì)(例如磁盤或DVD/CD-ROM)、易失性或非易失性介質(zhì)(諸如RAM(例如,SDRAM、DDR、RDRAM、SRAM等)、ROM等),以及傳輸介質(zhì)或信號,通過通信介質(zhì)(諸如網(wǎng)絡(luò)和/或無線鏈接)傳送,諸如電信號、電磁信號或數(shù)字信號。

如圖中所示出并且在本文中描述的各種方法表示方法的示例性實施方案。所述方法可在軟件、硬件或其組合中實現(xiàn)。方法的次序可改變,并且各種元素可添加、重新排序、組合、省略、修改等。

受益于本公開的本領(lǐng)域技術(shù)人員將清楚地知曉可做出各種修改和變化。旨在包括所有此類修改和變化,并且因此,以上描述應(yīng)視為具有說明性而非限制性意義。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1