獨家 | 使用機器學習加速對非結構化數據的查詢-第1部分(使用BlazeIt加速聚合和限制查詢)...


作者:Daniel Daniel,Peter Bailis和Matei Zaharia

翻譯:Kay

校對:王雨桐

本文約2800字,建議閱讀13分鐘。

本文爲大家介紹了針對非結構化數據如何加快聚合和限制查詢。

隨着強大的深度神經網絡(DNN)和人工標記服務(我們統稱爲“Oracle方法”)的廣泛使用,我們可以越來越多地對非結構化數據記錄(例如,視頻、文本)進行自動化查詢。例如,城市規劃人員通過查詢路邊攝像頭的視頻對車輛進行計數,以瞭解交通狀況。律師可以提取包含僱員/僱主信息的電子郵件(關係提取)來發現有效信息。

執行此類查詢的一種簡單方法是使用Oracle方法將非結構化數據記錄完全轉化爲結構化信息。例如,對象檢測DNN可以從視頻的幀中提取對象類型和對象位置,或者基於BERT的DNN可以提取員工/僱主信息。

然而這種傳統查詢方法的運行成本可能非常高:對象檢測DNN的執行速度比實時慢十倍,而人工標註可能要花費數十萬美元。爲了減少此類查詢的成本,NoScope、概率預測等使用了代理模型(proxy model)的方法,它通過訓練類似oracle方法的廉價模型得到代理分數,主要是針對二元預測的即席(ad-hoc)方式。但是要對非結構化數據執行查詢還有很多工作要做。下面開始介紹我們小組中針對這一問題的幾個新項目。

我們將發佈一系列博客文章,描述我們最近在對非結構化數據查詢進行加速優化方面的工作:

  • 本文將描述即將在VLDB 2020上發表的最新工作BlazeIt。我們將描述如何加快聚合和限制查詢。

  • 在第2部分中,我們將介紹一類新的查詢:具有統計保證的近似選擇查詢(SUPG查詢)。我們將描述爲什麼我們需要統計保證,其語義以及這些查詢的有效算法。SUPG也將在VLDB 2020上展出!

  • 第3部分將描述基於DNN的可視數據查詢中的系統瓶頸。我們將展示視覺數據的預處理是當前一個主要瓶頸,以及如何解決這一瓶頸。關於這項工作的論文將在VLDB 2021中發佈。

  • 第4部分將介紹如何爲相同數據上的各種查詢建立索引。我們將展示如何使用索引來有效地回答以前的博客文章及更多文章中的所有查詢。

代理分數(Proxy Score)

此前在近似二元預測(approximating binary predicates)的語境查詢中已經使用了代理模型。這些算法遵循相同的通用策略:使用oracle方法中的標籤訓練更小更便宜的代理模型。然後代理模型會爲每個數據記錄生成一個分數,該分數會估計oracle預測的可能性。例如,我們可以訓練一個小的DNN來估計汽車是否在視頻幀中。

但是許多需求不止是簡單地執行二元分類。如查詢每幀視頻是否有汽車存在,並不能統計每幀視頻的汽車數量。

爲了糾正這個問題,我們引入了二元分類之外的代理模型。本文將重點介紹代理模型,這些代理模型用於將oracle方法產生的任意值近似於非結構化數據記錄。在攝取時,我們的系統使用oracle方法處理一小部分記錄:然後在查詢時使用這些記錄來訓練代理模型以估計oracle的結果。

在查詢中使用代理分數

現在我們可以生成代理分數來近似計算統計信息的oracle方法結果,我們如何使用這些分數來回答查詢?我們將簡要描述如何完成近似聚合和基數限制的選擇查詢。

系統總覽

BlazeIt具有兩個關鍵組件:攝取(離線)組件和查詢處理組件。在離線組件中,BlazeIt將使用oracle方法註釋一個非結構化數據記錄的示例:這些註釋用於訓練代理模型。BlazeIt的查詢處理組件將執行查詢,併爲每個查詢訓練新的代理模型。下圖展示了Blazelt的系統。

系統總覽。BlazeIt嘗試在受限的情況下儘可能有效地回答查詢。

近似彙總

我們描述的第一種查詢類型是加速聚合查詢,該查詢對數據集中的每條記錄統計數據進行近似處理(如對每幀視頻的汽車數量進行計數)。我們側重於近似聚合,因爲要提供準確的查詢答案需要窮舉執行oracle方法,而這是非常昂貴的。爲了避免詳盡實現,我們提供了兩種查詢處理算法。

我們證明了可以直接使用代理分數來回答近似聚合查詢。由於代理分數和基本事實接近,因此我們可以直接彙總分數。例如要計算每條記錄的平均值,我們可以對代理分數求和,然後除以記錄總數。由於代理模型是通過oracle方法訓練的,所以代理和oracle之間的誤差將理想地平均化。經證實,直接使用代理分數比回答聚合查詢的替代方法要有效得多。

雖然直接使用代理分數可能是有效的,但某些應用程序需要查詢準確性的統計保證。爲了滿足這種需求,我們可以在近似查詢處理(AQP)技術的啓發下,使用採樣技術來加速近似聚合查詢。通過適當地使用置信區間,我們可以實現查詢的統計保證。但是標準的AQP技術在採樣中不使用代理分數,這是有價值的信息來源。爲了利用代理評分,我們將它們用作控制變量,這是一種統計方法,可以減少抽樣方差。最後我們將控制變量與始終有效的停止算法結合在一起,該算法使用較少樣本且方差較小的樣本,稱爲EBS停止。綜合講,這可以使我們的系統在給定的誤差水平下使用更少的樣本。下圖展示了控制變量和算法概述-算法的關鍵部分是算法始終有效,並根據樣本方差終止。

控制變量示意圖。m(t)是真實值,a(t)是代理分數。雖然並不總是精確的,但a(t)可以近似爲m(t)。

EBS停止的僞代碼,如果滿足差異條件,它將提前停止。

爲了展示我們算法的效用,我們展示了它們在近似計算每幀視頻的汽車數量上的性能。關於每幀視頻是否有汽車的問題,我們將原始方法與使用代理模型的方法進行比較。如下圖所示,我們的方法大大優於基準方法。尤其是已知某汽車在視頻幀中出現,並不能瞭解該汽車是否在視頻中普遍存在。

BlazeIt's 與詳盡註釋,二進制檢測工作和隨機抽樣相比,聚合查詢的性能更高。如圖所示,BlazeIt優於所有基準。

基數限制選擇

我們描述如何加速的第二種查詢類型是基數有限的選擇查詢,用於找到滿足某些條件的少量記錄。這些查詢通常用於手動研究異常事件。

爲了加快這些查詢的速度,我們使用代理分數對感興趣的記錄進行排名。尤其是,我們訓練一個代理模型來估算感興趣的數量(例如,一幀中的汽車數量)並根據這些分數進行排名。我們發現,即使此類事件很少發生,代理模型在排名最高的數據記錄中也可以具有很高的精度。

下圖中顯示了算法的性能(有和沒有代理模型的效果)和基線。與近似聚合一樣,對於異常事件的基數限制選擇,我們的算法大大勝過傳統方法和隨機抽樣。

與詳盡的註釋,先前的二元分類工作和隨機採樣相比,BlazeIt在極限查詢上的性能更高。如圖所示,BlazeIt優於所有基線。

結論

由於機器學習的發展,非結構化數據查詢變得越來越可行。但是部署oracle方法的成本很高,因此執行此類查詢的費用可能會過高。我們本文中介紹了使用代理得分來加速彙總和限制查詢的方法,我們希望這些方法可以開始對非結構化數據進行查詢。在下一篇博文中,我們將介紹如何通過統計保證執行近似選擇查詢。

相關閱讀

  • Accelerating Queries over Unstructured Data with ML, Part 2 (Approximate Selection Queries with Statistical Guarantees) 31 Aug 2020(https://dawn.cs.stanford.edu/2020/08/31/supg/)

  • How do MLPerf v0.7 entries compare on cost? 17 Aug 2020(https://dawn.cs.stanford.edu/2020/08/17/mlperf-v0.7-cost/)

  • Selection via Proxy: Efficient Data Selection for Deep Learning 23 Apr 2020(https://dawn.cs.stanford.edu/2020/04/23/selection-via-proxy/)

編輯:王菁

校對:林亦霖

譯者簡介

Kay,新西蘭奧克蘭理工大學計算機科學研究生畢業。興趣方向是自然語言處理(NLP),對機器學習和數據分析有一定的瞭解。希望能結交有相同愛好的朋友,分享知識,擴展視野。

翻譯組招募信息

工作內容:需要一顆細緻的心,將選取好的外文文章翻譯成流暢的中文。如果你是數據科學/統計學/計算機類的留學生,或在海外從事相關工作,或對自己外語水平有信心的朋友歡迎加入翻譯小組。

你能得到:定期的翻譯培訓提高志願者的翻譯水平,提高對於數據科學前沿的認知,海外的朋友可以和國內技術應用發展保持聯繫,THU數據派產學研的背景爲志願者帶來好的發展機遇。

其他福利:來自於名企的數據科學工作者,北大清華以及海外等名校學生他們都將成爲你在翻譯小組的夥伴。

點擊文末“閱讀原文”加入數據派團隊~

轉載須知

如需轉載,請在開篇顯著位置註明作者和出處(轉自:數據派ID:DatapiTHU),並在文章結尾放置數據派醒目二維碼。有原創標識文章,請發送【文章名稱-待授權公衆號名稱及ID】至聯繫郵箱,申請白名單授權並按要求編輯。

發佈後請將鏈接反饋至聯繫郵箱(見下方)。未經許可的轉載以及改編者,我們將依法追究其法律責任。

點擊“閱讀原文”擁抱組織

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章