主動學習即服務:為以數據為中心的AI構建的一種高效的MLOps系統

深藍學院,AI、機器人與無人駕駛切入,專註前沿科技在線教育,孵化於中科院自動化所,具有國際競爭力。深藍學院有電腦視覺、SLAM、機器學習、智慧語音機器人、增強現實、自動駕駛等課程,在學員中有良好口碑。更多乾貨內容關注公眾號:深藍前沿教育、深藍AI。

背景:什麼是主動學習(Active Learning)?

機器學習的研究領域包括有監督學習、無監督學習、半監督學習和強化學習等諸多內容。針對有監督學習和半監督學習,都需要一定數量的標註數據,也就是說在訓練模型的時候,全部或者部分數據需要帶上相應的標籤才能進行模型的訓練。但是在實際的業務場景或者生產環境中,工作人員獲得樣本的成本其實是不低的,甚至在某些時候是相對較高的,那麼如何通過較少成本來獲得較大價值的標註數據,進一步地提升演算法的效果就是值得思考的問題了。

主動學習(Active Learning)的大致思路就是:通過機器學習的方法獲取到那些比較「難」分類的樣本數據,讓人工再次確認和審核,然後將人工標註得到的數據再次使用有監督學習模型或者半監督學習模型進行訓練,逐步提升模型的效果,將人工經驗融入機器學習的模型中。

用一個例子來比喻,一個高中生通過做高考的模擬試題以希望提升自己的考試成績,那麼在做題的過程中就有幾種選擇。一種是隨機地從歷年高考和模擬試卷中隨機選擇一批題目來做,以此來提升考試成績。但是這樣做的話所需要的時間也比較長,針對性也不夠強;另一種方法是每個學生建立自己的錯題本,用來記錄自己容易做錯的習題,反覆地鞏固自己做錯的題目,通過多次複習自己做錯的題目來鞏固自己的易錯知識點,逐步提升自己的考試成績。其主動學習的思路就是選擇一批容易被錯分的樣本數據,讓人工進行標註,再讓機器學習模型訓練的過程。

介紹完了主動學習是什麼,接下來帶著大家詳細讀一下這篇論文的內容吧。

摘要

現今人工智慧(AI)應用程式的成功不僅需要模型訓練(Model-centric,以模型為中心),還需要數據工程(Data-centric,以數據為中心)。在以數據為中心的 AI 中,主動學習(AL) 起著至關重要的作用,但當前的 AL 工具無法有效地執行 AL 任務。

對此,本文提出了一種高效的 AL MLOps 系統,命名為 ALaaS(主動學習即服務)。具體來說,ALaaS 採用伺服器-客戶端架構,支援 AL 流水線,並且可以高效地實現階段級的並行處理。同時,快取和批處理技術被用來進一步加速 AL 過程,除了效率之外,ALaaS在配置即服務的設計理念的幫助下,還確保了可訪問性。它還將AL流程抽象為多個組件,並為高級用戶提供豐富的API以將系統擴展到新的場景。大量實驗表明,ALaaS在延遲和吞吐量方面優於所有其他開源的AL工具。進一步的消融研究證明了我們設計的有效性以及ALaaS的易用性。

這裡可以獲取我們的程式碼:

//github.com/MLSysOps/alaas。

 介紹 

以數據為中心的人工智慧是一個新興主題,其重點是利用現成的機器學習(ML)模型為人工智慧應用的開發提供數據工程支援。以前的工作主要是以模型為中心的人工智慧,假設環境是靜態的。在這個環境中,以模型為中心的AI的主要目標是:

  1. 完成數據收集和工程設計

  2. 持續開發機器學習(ML)模型以在測試集上實現高性能。

然而,現實世界的人工智慧應用程式面臨著更複雜的場景,以模型為中心的人工智慧無法充分解決這一問題。例如,研究人員必須花費大量時間準備數據,包括數據標註、錯誤檢測等,同時他們還需要監控數據以檢測分布漂移,以便及時更新模型,然而僅從模型角度處理這些問題將導致次優解決方案。因此,為了進一步改進和普及人工智慧應用程式,許多工作現在都轉向以數據為中心將以模型為中心與以數據為核心相結合

雖然以數據為中心的人工智慧概念最近才提出,但許多開創性研究已經展開,其核心貢獻在於數據工程,其中一個重要方向是主動學習(AL)。AL的動機是減少手動標註工作,同時保持甚至提高ML模型的性能。眾所周知,ML模型非常需要數據,因此,為了達到滿足應用程式要求的高性能(例如精度),人們總是需要在數據收集期間標註大量數據。這個過程非常耗時以及需要大量勞動,所以常常成為ML應用程式開發的瓶頸。

為了解決這一問題,AL採用從大型訓練資料庫中選擇最具代表性但多樣的訓練樣本的AL策略,然後,它只將選定的樣本發送給資料庫(例如,人工標註工具)進行標記。接下來,ML模型將僅在這些子數據集上進行訓練。通過這樣做,我們仍然可以獲得具有競爭性能的ML模型,但可以節省大量的標註和訓練的成本。

然而,利用AL方法並不是件容易的事。本質上,將AL應用於AI應用開發不僅僅是搜索、選擇或實現AL演算法。相反,用戶必須構建一個後端來運行AL流水線,為自己的應用程式量身訂製環境(例如私有集群和AWS)。換句話說,他們需要使用樣板程式碼進行大量重複的工程工作。此外,用戶必須考慮效率和成本問題。因為AL通常運行在龐大的數據集上,並且一些AL演算法需要運行多個ML模型以進行數據選擇,這將導致長期的結果處理時間和額外的成本。雖然有幾種開源AL工具降低了應用AL的門檻,但它們無法滿足效率要求。

圖1 ALaaS架構。我們的系統採用伺服器-客戶端架構,易於部署,它還支援各種人工智慧策略、不同模型的庫和服務引擎。

為了解決這些問題,我們建議為AL構建一個高效的後端。主動學習即服務(ALaaS)(見圖1)能夠通過利用單個或分散式多個設備在大型數據集上高效運行AL策略。具體來說,它採用伺服器-客戶端架構來執行 AL 任務。因此,該系統可以輕鬆安裝在筆記型電腦電腦和公共雲上。安裝完成後,用戶可以按照我們的模板使用簡單的配置文件啟動系統。然後,系統將以高效的流水線方式運行所有任務。同時,將使用更多加速技術,如數據快取和批處理,以進一步加速AL進程。除此之外,我們的系統還考慮了可訪問性和模組化,使得非專家也可以輕鬆地使用我們的AL庫中存儲的AL策略,而專家可以針對更多場景提出更高級的AL策略。

實驗表明,我們的ALaaS在延遲和吞吐量方面優於所有其他基準線。進一步的消融研究表明了我們的設計的有效性,並且揭示了更具洞察力的結論。

相關工作

本節介紹了相關工作,包括3類:主動學習(AL)演算法和工具、以數據為中心的AI和MLOps。

表1 主動學習(AL)開源工具的比較。我們的ALaaS提供了「機器學習即服務」的實踐,大大提高了AL效率。

2.1 人工智慧演算法和工具

我們將AL策略分為3類,即基於多樣性、基於不確定性和混合策略抽樣。基於多樣性的方法旨在從整個數據集中選擇資訊量最大的樣本來表示它;基於不確定性的方法旨在選擇目前的ML模型無法可靠識別的樣本,然後使用這些樣本進一步改進ML模型;混合方法結合了上述兩種方法。我們的系統支援所有這些方法,並能更有效地運行它們。

目前已經開發了許多使學術界和工業界都受益的開源AL工具,包括ModAL、DeepAL、Libact和ALiPy。我們的ALaaS受到這些工具的啟發,並通過採用MLOps概念進一步提高了AL效率和可訪問性。表1總結了詳細的比較。

2.2 以數據為中心的人工智慧

以數據為中心的人工智慧的提出是為了通過分析數據集來提高人工智慧應用程式的性能,而不是只關注模型。Landing.AI最近舉辦的以數據為中心的人工智慧競賽和研討會展示了來自學術界和工業界的許多令人興奮的研究。受這項開創性工作的啟發,許多以數據為中心的方法被提出用於不同的領域,包括NLP、CV、Robotics等。此外,還建立了一個新的基準,以推動以數據為中心的人工智慧研究。據我們所知,ALaaS是第一個從以數據為中心的角度實現高效AL的MLOps系統。

2.3 MLOps

MLOps(機器學習運維)旨在簡化ML模型開發並降低人工智慧應用程式的維護成本。許多MLOps系統已被提出用於以數據為中心的人工智慧和以模型為中心的人工智慧。從以數據為中心的觀點來看,標籤工具(如labelme)、數據清理工具(如ActiveClean)、數據漂移監視器等都可以視為MLOps系統。從以模型為中心的角度來看,我們有模型存儲系統、模型持續集成工具、訓練平台、部署平台等。與這些系統不同,ALaaS是專門為更高效地運行AL任務而設計的。

此外,科技巨頭開始為MLOps構建端到端雲平台(如TFX,SageMaker,Ludwig),我們的ALaaS可以成為這些系統的一個很好的補充插件。

系統設計和架構

本節首先重點介紹了我們的主動學習即服務(ALaaS),包括三個關鍵功能,然後詳細介紹了系統核心模組的設計,如圖1所示。

3.1 ALaaS的亮點

我們強調了系統提供的三個關鍵特性,即效率、可訪問性和模組性。這些功能也是我們的設計原則,即使專家(如數據科學家和機器學習(ML)工程師)和非專家(如領域知識很少的客戶)均能使用。

(1)高效 主動學習(AL)總是面對要標註的大規模數據集,一些AL甚至採用多個計算密集型深度學習(DL)模型。因此,有效地處理這些數據集和模型對於加快ML應用程式開發和節省用戶的使用成本至關重要。

(2)可訪問性 為了進一步降低應用程式障礙並提高採用率,AL系統應確保AL非專家能夠輕鬆使用它,並避免編寫太多程式碼。我們的ALaaS遵循這一原則,通過實施具有豐富配置的集裝箱化AL服務來幫助用戶快速入門,從而實現流暢的用戶體驗。

(3)模組化 人工智慧發展迅速,尤其是在深度學習的推動下,需要大量數據進行訓練,使AL可訪問且不應妨礙AL或ML專家對其進行高級使用。因此,我們的系統以高度模組化的方式設計,使專家能夠輕鬆地原型化、擴展和部署最先進的(SOTA)AL方法。

3.2 ALaaS體系結構

該系統採用伺服器-客戶端架構,將複雜的AL演算法抽象為基於web的服務,實現開箱即用的用戶體驗。此外,我們的系統提供了一個模組化數據管理器和一個AL策略庫,在AL的應用中解耦了兩個關鍵過程:大數據操作(如數據索引和存儲)、AL策略開發和選擇。

圖2:已部署的ALaaS系統。AL客戶端將數據URI發送到AL伺服器,數據將在那裡下載。然後,AL伺服器將數據樣本發送給不同的工作人員進行AL處理。

(1)伺服器和客戶端 伺服器-客戶端體系結構使得從領域專家到幾乎不了解AL的ML初學者等不同級別的用戶都可以上手。它可以部署到個人筆記型電腦電腦和公共雲上。我們採用部署到AWS的ALaaS(見圖2)作為示例,詳細介紹了整個工作流程。首先,用戶只需按照提供的模板準備一個配置文件,包括基本設置,如數據集路徑和AL方法,如圖3所示。然後,用戶只需要很少的程式碼行(LoCs),就可以啟動AL客戶端和AL伺服器。接下來,用戶將其未標記的數據集推送到AL伺服器,這些數據集可以存儲在本地磁碟或AWS S3中。

圖3 可以使用YML文件輕鬆配置和啟動AL服務

從AL客戶端獲得數據集統一資源標識符(URI)後,AL伺服器將下載數據集,並以流水線的方式使用特定的AL策略進行處理,如圖4所示。通過這種簡單的優化,處理速度可以達到比其他開源平台快10倍(見第4.2節)。同時,AL伺服器將在數據管理器的幫助下為數據集中的每個樣本分配唯一ID,從而為其編製索引。這些ID將由AL策略使用。

圖4 傳統的基於池的學習方法(a)、(b)和我們提出的ALaaS(c)之間的數據流比較。這些工作流顯示了數據在多輪AL中如何以不同的方法在機器中流動。紅色框表示下載階段的數據樣本,藍色框表示處理階段的數據樣本,綠色框表示AL推理階段的數據樣本,帶有對角填充的框表示沒有過程。方框內的數字表示不同輪的AL。

最後,伺服器將下載的樣本分發給優化推理工作者,並使用ML作為後端進行推理。根據預定義的AL策略,AL伺服器將做出決策並生成一份報告,其中包括要標註的選定樣本的URI。因此,AL伺服器只需要將URI返回給AL客戶端,避免從AL伺服器下載選定的樣本。

(2)數據管理器 數據管理器管理著系統中數據集的生命周期。首先,它接收用戶的數據集,並將其元數據(例如名稱、所有者等)持久化,以進行數據管理。其次,在系統運行期間,它將索引數據樣本,以避免冗餘數據移動和批處理數據,從而實現高效的GPU進程。同時,它為NLP、CV和音頻等不同任務提供了豐富的數據轉換功能。此外,對於不同類型的AL方法,數據管理器可以配備相應的處理方法以提高可用性。

(3)AL策略庫(AL Strategy Zoo) AL策略庫提煉並存儲了許多AL策略,包括基於不確定性、貝葉斯、基於密度、批處理模式等,它還為高級用戶提供了一個基類,用於繼承和擴展AL到新場景。

(4)其他工具 為了進一步降低使用AL的障礙並提高效率,該系統還提供了許多實用的功能。例如,如圖1所示,模型庫旨在連接許多公共模型中心,如HuggingFace和TorchHub,並從中獲得預先訓練的模型。其次,如圖2所示,數據快取用於提高AL計算效率,使用服務引擎的工作人員將調用不同的ML服務後端,以加快ML模型推理。

 系統評估

本節介紹了我們系統的定量評估。我們首先將我們的系統與其他開源平台進行比較。然後,我們從不同的角度對我們的系統進行基準測試,以證明其效率和可訪問性。

4.1 評估設置

硬體和軟體 我們在AWS EC2和MacBook筆記型電腦電腦上評估了該系統,後端推理軟體是Triton推理伺服器。

數據集 我們使用CIFAR-10數據集進行實驗。它包括50000個訓練影像和10000個測試影像。

模型 我們使用廣泛部署的ResNet-18模型來評估系統性能,並對不同的AL策略和AL設置進行基準測試。

4.2 與其他開源工具的比較

第一個實驗比較了ALaaS與其他基準工具的效率。

實驗設置 在本實驗中,我們模擬了一個單輪AL過程,該過程應用AL方法掃描整個數據集以生成子池子,該子池子包括將用於進一步改進現有ML模型的樣本。具體而言,我們首先從CIFAR-10訓練集中隨機選擇10000張影像來訓練ML模型作為初始模型。接下來,我們使用不同的AL工具在AWS 3x.大型CPU/GPU EC2上為經過訓練的模型提供服務。對於所有工具,我們使用相同的AL策略,稱為最小置信抽樣。最後,我們利用這些工具從訓練集中剩餘的40000個影像中選擇10000個樣本,並比較它們的延遲和吞吐量。

結果與見解 結果如表2所示,與其他工具相比,我們的ALaaS實現了最低的延遲和最高的吞吐量,同時仍保持相同的精度。這種效率的提高可歸因於兩方面。首先,我們的ALaaS實現了階段級並行,從而減少了設備空閑時間;其次,ALaaS採用現有的ML推理伺服器來加速模型推理。

表2 不同開源工具之間的性能評估。與所有基準工具相比,ALaaS具有最低的延遲和最高的吞吐量。

此外,我們評估了我們的ALaaS不同預算的中間結果,如圖5所示,隨著預算的增加,將選擇更多的樣本,精確度也將提高,這進一步證明了我們系統的有效性。

圖5:不同AL預算的Top-1和Top-5精度(ACC)

4.3 ALaaS的特徵

我們進一步使用不同的系統設置對我們的ALaaS進行基準測試。第一個實驗是評估在我們的系統中重新實現的不同AL策略,第二個實驗探討了Batch Size對系統效率的影響。

4.3.1 AL策略影響

我們的ALaaS已經在模型庫中為用戶提供了許多開箱即用的AL策略。本實驗從準確性和效率的角度評估了ALaaS重新實施的這些策略,以提供更多的見解。所有設置與上一個實驗中相同。

結果與見解 不同方法的精度如圖6a所示。Core set實現了最高的精度,這並不令人驚訝,因為它是為電腦視覺(CV)任務中的CNN設計的。同時,K-Center貪心(KCG)和最小置信度(LC)是第2和第3高的精度,儘管提出得很早。這告訴我們,即使在深度學習(DL)時代,傳統方法仍然發揮著至關重要的作用,可以與深度學習很好地合作。吞吐量如圖6b所示。LC的吞吐量最高,而Core set的吞吐量最低。結合精度和吞吐量結果,我們可以得出結論,在LC平衡時,Core set的精度改進來自重型設計,而LC很好地平衡了精度和效率之間的平衡。

總之,ALaaS提供了許多具有清晰準確性和效率報告的方法,因此用戶可以根據自己的場景進行選擇。

圖6 CIFAR-10數據集上ResNet-18的一輪AL性能,使用不同的AL策略(即最小置信度(LC)、邊際置信度(MC)、比率置信度(RC)、熵取樣(ES)、K-Center貪心(KCG)、K-means取樣、Core-set和多樣化小批量(DBAL))。下限基準線使用隨機抽樣(random)策略,而上限基準線使用整個數據集進行訓練。

4.3.2 Batch Size影響

實驗設置 我們評估了Batch Size對兩種部署場景的影響,即專用伺服器和AWS雲。具體來說,我們首先將CIFAR-10數據集分別存儲在私有FTP伺服器和AWS S3上,然後我們在筆記型電腦電腦上啟動ALaaS來模擬端到端的AL過程,包括從其他設備下載數據、預處理數據以及使用AL策略選擇AL。其他設置與第一個實驗相同。

圖7 CIFAR-10上ResNet-18基於一個循環池的AL的端到端吞吐量,具有不同的AL推斷Batch Size。在私有FTP伺服器(圖7a)和S3(圖7b)上存儲影像都顯示了端到端吞吐量相對於推斷Batch Size的單調增長。

結果與見解 如圖7所示,我們的ALaaS可以在兩種不同批量的環境中穩定有效地管理整個流程。此外,從圖7中,我們發現了許多有趣的現象。首先,Batch Size=1和Batch Size=2具有非常接近的吞吐量。第二點是從Batch Size=2到Batch Size=8的增長趨勢最為顯著。第三,Batch Size=16後,增長將停止。我們將原因歸結為當Batch Size較小時,傳輸時間佔總處理時間的很大比例。因此,吞吐量的提高在開始時是微乎其微的。後來,批處理計算時間成為總處理時間的最大部分,因此改進非常顯著。最後,當Batch Size達到計算容量時,增加停止。

 總結

本文提出了一種新的MLOps系統,稱為ALaaS,用於以數據為中心的人工智慧。ALaaS採用機器學習即服務(Machine-Learning-as-Service)的理念,並實現了伺服器-客戶端架構,因此用戶可以將AL用作web服務。同時,它將人工智慧過程抽象為多個組件,並開發了幾個模組,包括數據管理器、人工智慧策略庫和實用功能,以支援它們。更重要的是,ALaaS採用階段級並行(流水線方式)、快取和批處理來提高AL運行效率。實驗表明,我們的系統比所有其他基準工具具有更低的延遲和更高的吞吐量。

 END 

本文翻譯自論文:
Active-Learning-as-a-Service: An Efficient MLOps System for Data-Centric AI
作者:
Yizheng Huang, Huaizheng Zhang, Yuanming Li,Chiew Tong Lau,Yang You
原文鏈接為:
//arxiv.org/abs/2207.09109

深藍學院,AI、機器人與無人駕駛切入,專註前沿科技在線教育,孵化於中科院自動化所,具有國際競爭力。深藍學院有電腦視覺、SLAM、機器學習、智慧語音機器人、增強現實、自動駕駛等課程,在學員中有良好口碑。

更多乾貨內容關注公眾號:深藍前沿教育、深藍AI