一文了解 AI 商品模型訓練平台 | 人人都是產品經理

AI平台的初衷永遠是提高開發效率,加快演算法迭代周期。通過產品化AI技術,讓運營人員能夠更貼近技術,更好地指導賦能業務場景,給客戶帶來更好的技術體驗和產品體驗。

本文是2020年的正式第一文,介紹了人工智慧領域深度學習平台的相關信息,內容包括:AI平台的基本介紹、系統架構、實現難點和相關能力。

接下來,圍繞著作者自身搭建商品模型訓練平台案例,分享相關設計經驗,內容包括:業務場景、訓練平台系統架構的規劃、數據和模型中心、投產比問題和相關總結。

一、關於AI平台

1.1 AI平台介紹

AI模型訓練平台,基於核心模塊和應用場景不同,又可以稱作深度學習平台、機器學習平台、人工智慧平台(以下統稱做AI平台)。

AI平台提供業務到產品、數據到模型、端到端,線上化的人工智慧應用解決方案。

用戶在AI平台能夠使用不同的深度學習框架進行大規模的訓練,對數據集和模型進行管理和迭代,同時通過API和本地部署等方式接入到具體業務場景中使用。

簡單理解,AI平台=AI SAAS+(PAAS)+(IAAS)。

以下是騰訊DI-X和阿里PAI平台的介紹:

DI-X(Data Intelligence X)是基於騰訊雲強大計算能力的一站式深度學習平台。它通過可視化的拖拽布局,組合各種數據源、組件、演算法、模型和評估模塊,讓演算法工程師和數據科學家在其之上,方便地進行模型訓練、評估及預測。

阿里雲機器學習平台PAI(Platform of Artificial Intelligence),為傳統機器學習和深度學習提供了從數據處理、模型訓練、服務部署到預測的一站式服務。

使用AI平台,能夠簡化開發人員對數據預處理和管理、模型訓練和部署等繁瑣的代碼操作,加快演算法開發效率,提高產品的迭代周期;並且通過AI平台能整合計算資源、數據資源、模型資源,使用者能對不同資源進行復用和調度。

開放AI平台後,也能有效進行商業化,對企業所處領域的AI業務生態環境有一定的推動和反饋。

國內外相關的AI平台有:

國內:

  • 華為ModelArts
  • 阿里雲 PAI
  • 百度 Paddle Paddle
  • 騰訊 DI-X深度學習平台
  • 金山雲 人工智慧平台
  • qingcloud 人工智慧平台
  • 京東 JDAINeuFoundry
  • 小米Cloud-ml平台

國外:

  • Microsoft Azure Machine Learning
  • AWS Machine Learning
  • Google Cloud Platform

1.2 AI平台系統架構

基於一個企業整體系統的架構來看,AI平台可視為業務的技術支撐中台之一 (平行於數據中台),起到承上啟下(承載業務,對接技術底層)的作用。

若一個企業當前已有數據中台,則可將數據中台作為AI中台的數據輸入和數據輸出系統對象,AI中台作為業務前台的模型和演算法供給平台。若業務前台有AI需求(如圖像識別、語義識別、商品推薦等),演算法運營團隊則通過在AI平台對模型的訓練迭代以支持。

根據企業不同的規模、資源和業務場景,其AI平台會有不一樣的定位。

例如AI和數據可同為一個中台、AI平台可視為業務中台一部分、AI平台整合進技術中台或後台等。規模較小、資源有限的企業通常會選擇使用第三方AI平台對業務進行服務,而非自建AI平台。

一文介紹AI商品模型訓練平台(深度學習平台)

企業架構示例:AI平台作為AI中台

關於AI平台自身的架構設計,各第三方平台都大同小異,主要是技術架構上的不同,暫時沒有必要去深入研究。

這裡以京東NeuFoundry神鑄項目系統架構為例,初探一二:

一文介紹AI商品模型訓練平台(深度學習平台)

NeuFoundry平台架構圖

NeuFoundry基礎設施層採用Docker容器進行算力資源的池化,通過Kubernetes進行整體的資源管理、資源分配、任務運行、狀態監控等,平台集成了MySQL、Redis、MQ等多種中間件服務,通過數據標註、模型訓練、模型發布,生成自定義的AI能力,為各行各業的業務服務提供有力的支撐。

1.3 AI平台實現難點

1)大數據處理問題

在當前階段,AI底層技術原理決定了「有多少數據,模型能力就有多好」的情況。同時,企業在日常業務運行中會不斷產生新數據。

當數據需求和客觀數據量都很大,大數據的管理和處理能力對於一個AI平台來說是最基礎的能力,開發人員需要結合AI模型訓練任務的制定合理的數據調度方案,同時對數據進行生命周期的管理(如定期的刪除冗餘數據、不規則數據)。

2)分散式計算

大數據的處理、模型的訓練都十分消耗資源。如果業務場景複雜,模型訓練時間長或者樣本規模大,超過單台伺服器能力時,需要支持分散式訓練。

微博深度學習訓練集群的解決方式是:

以TensorFlow分散式運行方式為例進行說明,如圖5所示。

一個TensorFlow分散式程序對應一個抽象的集群,集群(cluster)由工作節點(worker)和參數伺服器(parameter server)組成。工作節點(worker)承擔矩陣乘、向量加等具體計算任務,計算出相應參數(weight和bias),並把參數匯總到參數伺服器;參數伺服器(parameter server)把從眾多工作節點收集參數匯總並計算,並傳遞給相應工作節點,由工作節點進行下一輪計算,如此循環往複。

3)AI平台實現的最大瓶頸

在於企業對AI平台投產比的權衡(頂層、中層、執行層對AI平台的價值認知),這一點會在下文重點說明 。

1.4 AI平台相關能力

AI平台不僅需要提供AI開發流程所需基礎技能,還需針對不同的用戶(產品經理、運營人員、演算法工程師……)、不同的客戶(大企業、中小企業、傳統企業、科技企業……)提供對應所需服務。

我將AI平台能力分為以下五類:

  • 數據能力:數據獲取、數據預處理(ETL)、數據集管理、數據標註、數據增強……
  • 模型能力:模型管理、模型訓練、模型驗證、模型部署、模型處理、模型詳情……
  • 演算法能力:支持各種演算法、深度學習、數據運算處理框架、預置模型、演算法調用、對演算法組合操作……
  • 部署能力:多重部署方式、在線部署、私有化部署、邊緣端部署、灰度/增量/全量部署……
  • 其他能力:AI服務市場、工單客服、許可權管理、工作流可視化……

一文介紹AI商品模型訓練平台(深度學習平台)

華為ModelArts平台技能

二、AI商品模型訓練平台設計經驗分享

2.1 業務場景

在日常經營的過程中,每個新的商品都需要進行數據採集、標註,隨後將數據扔進對應模型文件進行訓練,其中涉及非常多重複且繁瑣的工作問題。

將數據採集處理到模型訓練部署的流程平台化,能夠極大提升開發效率,讓運營人員和演算法人員更好地分別針對場景和模型進行管理。

而且,數據、模型(可線上使用)對於企業來說是最核心的技術資源,不過初期一直處在黑匣子狀態,只有演算法人員可接觸和查看。所以在業務發展到達一定的階段時,就需要開始對其進行有效管理。

本文的AI平台,主要服務零售行業商品模型訓練的業務場景,故稱作AI商品模型訓練平台。

2.2 系統架構

綜合資源、場景、服務效率、商業化等多個維度去考量,作者設計的商品模型訓練平台主要以數據中心和模型中心兩大核心子系統組成,一方面可以以最小的開發資源實現涵蓋了當前業務所需要的核心流程和個性化流程,另一方面也有利於平台後續的能力拓展和進行商業化。

一文介紹AI商品模型訓練平台(深度學習平台)

AI商品模型訓練平台

數據中心主要服務3點數據管理業務需求:數據獲取、數據處理、數據評估。其中涉及能力有數據集獲取、數據集管理、數據增強、增強策略配置、數據標註、標註任務系統、半自動標註等。

模型中心主要服務3點模型管理業務需求:模型訓練和驗證、模型管理、模型部署。其中涉及能力有模型訓練、參數配置、訓練任務管理、訓練狀態可視化、模型文件管理、模型版本管理、模型狀態管理、模型操作、模型處理、模型處理策略管理、模型部署、部署業務管理等。

接下來,針對核心的業務需求逐一說明解決方案。

2.3 數據中心

2.3.1 數據獲取

AI模型訓練的第一步是對數據的獲取(此處的數據都為圖片數據)。

數據的採集可以通過線下構建對應業務場景需要的環境進行拍攝採集,也可以通過平台內已有數據(線上數據、舊數據)、第三方數據(通過開源、付費購買、爬蟲爬取多多種形式)獲取。

  • 線上數據集的處理:多採用badcase,重新標註、增強。
  • 爬取數據集:爬取公開渠道如百度圖片的對應label數據集,並區分可用不可用。

因數據集都為圖片數據,並且模型是基於深度學習技術構建,故涉及到數據ETL、特徵工程等一些處理暫時不需要,後續可根據業務場景和應用技術的拓展,在技術架構和平台架構補充上對應的能力。

數據集獲取完成後,可以將數據按照不同的類型存放,通過數據集管理頁面進管理。

數據類型可以按照不同的維度區分:

1)以標品和非標品區分

  • 標品數據:標品靜態狀態數據、標品動態狀態數據;
  • 非標品數據:標品多角度數據、標品靜態狀數據、標品動態狀態數據、其他異常情況數據。

2)以數據來源渠道區分

  • 線下:構建不同的場景(靜態動態)進行拍攝採集;
  • 線上:平台內已有數據(線上數據、舊數據)、第三方數據(開源數據集、付費數據集、爬取數據集)。

3)以數據格式區分

圖片、視頻、其他格式(2d、3d)。

4)以數據使用性區分

基本數據集、訓練數據集(含標註)、驗證數據集、異常數據集、自定義數據集。

數據集應當有生命周期的管理和備註信息,以免在運營一段時間后數據量雜亂冗餘。

2.3.2 數據處理

部分場景的模型訓練前,需要對數據進行不同程度、不同方案的增強。運營人員或演算法人員可以在數據增強的頁面上,選擇對應的數據集和數據增強策略,對數據進行增強,增強后的數據集將會同步以原數據的子文件形式,在數據集管理中以「增強數據集」類型展示。

同時,為適應多種業務場景和加快數據增強實驗的有效性,可利用已實現的數據增強技術,配置出多重數據增強方案。如:

  • 旋轉:90°。
  • 左右鏡像。
  • 增亮2倍。
  • 對比度1.25倍。
  • 數據模糊3倍。

在數據集資源管理整合完成後,則可以在平台上對數據進行標註。運營人員可以對平台上已有數據集進行標註,也可以導入新的數據集文件進行標註。

通常標註工作有:

  1. 對基本數據集(沒有標註過的)進行標註或者半標註(半自動標註:利用少量數據集生成的模型進行自動標註,減少人工標註的工作量);
  2. 對異常數據集進行重新標準;
  3. 對自定義數據集進行標註。

標註方式支持圖像分類標註、方形框標註、圓形框標註、多邊形標註、語義分割標註、3d標註。標註內容有標品和非標品,也有其他需要標註的內容信息如手、人臉。

2.3.3 數據評估

數據評估工作貫穿數據獲取到數據處理整個過程,其操作質量和流程嚴密程度直接決定了數據質量的好壞,間接決定了模型表現效果的好壞。

在獲取數據以及對數據進行增強時,運營人員根據通用規則和經驗進行數據評估是否可用,不確定的情況下需詢問演算法。但一般界定不確定的數據規則根據商品、當前模型、當前需求、演算法認知和經驗等多個因素確定,不確定性比較大,現實中還是多以「個人經驗」為準則。這一部分隨著相關員工經驗和認知的增長,一定存在比較大的優化空間。

日常需要對已有的數據集進行定期檢查、定量檢查,對數據質量和標註質量有一定的回歸驗證。同樣,標註任務流程化(包括標註任務指派、標註任務完成的多重審核、標註人員的任務完成度和錯誤數據統計以及對應的獎懲機制)也是數據質量保證的重要環節。

2.4 模型中心

2.4.1 模型訓練和驗證

確保數據提供到位后,運營人員或者演算法人員可以在模型訓練的頁面上,選擇模型,選擇對應的數據集和對應的訓練參數(如AI演算法以及網路深度、訓練step)即可開始進行增量或全量的模型訓練。

如果涉及GPU伺服器運算量等考量,還可選擇對應訓練GPU伺服器。訓練過程中訓練狀態的可視化的展示可幫助運營人員對當前訓練任務的進度有所了解,以便對損失度停止下降或者其他異常等不符合預期的模型訓練任務進行暫停、取消等操作,解放演算法人員的生產力。

一文介紹AI商品模型訓練平台(深度學習平台)

TensorBoard界面

模型訓練完成後,可以對訓練集的數據進行,得出模型MAP、精確率、召回率等指標,評估模型效果和質量;也可以選取未標註的驗證數據集用模型進行識別,對模型的質量進行驗證。

2.4.2 模型管理

初始的模型資源可通過外部文件導入,或者直接新增訓練任務生成。

通常來說,模型大部分時間處於「使用」的狀態(線上的使用和更新的使用),故模型的管理主要針對模型的版本、模型的各種狀態(服務狀態、訓練狀態)、模型的操作記錄、模型的詳細參數等四個方面進行。

在模型有優化更新、替代、異常等情況下,通過「模型管理「:可以對模型進行操作,如暫停服務,複製模型、上線模型、刪除模型等操作。

有一些模型可能需要在比較特殊的業務場景下運行(例如邊緣端、硬體資源有限、網路延遲較高)進行,所以針對該種情況,也需要設計對模型進行壓縮、調優等傻瓜式一鍵式處理方案,目的也是減少開發在繁瑣工程上的工作量。

2.4.3 模型部署

在完成模型的訓練生成模型,並且對模型進行一定驗證后,可在」模型部署」對模型進行部署上線,部署流程通常為灰度部署過渡到全量部署。

在邊緣端應用場景下,也可以通過邊緣端定期請求拉取最新模型文件或者通過邊緣節點實現邊緣端部署。

2.5 AI平台投產比權衡

上文提到,AI平台實現的最大瓶頸,其實在於企業對平台投產比的權衡。

作者團隊內部經過多次溝通考量,集中回答了以下三個問題,最終才決定對平台進行1.0的初步開發(主要也是先驗證效用為主)。

AI平台是否真的能支持業務,整體效率(開發效率、業務效率)能有多大提升?是否有潛在的實現后的未知成本(如演算法人員需要花費大量時間教育運營人員使用某些模型訓練功能)?能否使用數字對價值進行量化?就算能量化,是否又額外需要開發和溝通成本?

現有的第三方AI平台已支持大部分業務,是否能先使用第三方AI平台進行業務鏈條的孵化?個性化的數據處理和訓練業務是否可依舊可通過開發手動處理?

AI平台的商業化價值短期能否提現(因為其他企業因數據安全問題不會安心使用,同時也極度依賴企業的知名度)?若短期無法體現,在什麼階段可以體現?

關於價值權衡考量的問題沒有標準化答案,每個企業都以自身的資源、業務等多個因素綜合去考量,相關決策者和執行者對AI平台也有不一樣的認知,故主要是看不同企業各自最終討論出的最優投產比是否能大於投入成本后決定是否開發AI平台。

總結

不管是針對任何業務場景,AI平台的初衷永遠是提高開發效率,加快演算法迭代周期。通過產品化AI技術,讓運營人員能夠更貼近技術,更好地指導賦能業務場景,給客戶帶來更好的技術體驗和產品體驗。

不僅如此,企業從內部服務起完善AI平台,逐漸開放平台並對平台進行商業化,服務原來沒有足夠資源和資金撬動AI技術的外部客戶,為互聯網AI生態的發展也起到了推動的作用。

AI平台的發展和使用也是AI技術應用層面發展的重要節點,代表了AI技術開始產品化,更加落地,更加貼近業務層,也代表了企業有了更高效率的運用AI技術的方式。

 

作者:德拉克馬 ;公眾號:五百桶戶(ID:Drachmaos),交流是最好的進步途徑之一。