91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

一站式機器學習平臺Deepthought的建設與初探

發布時間:2020-08-17 16:00:18 來源:ITPUB博客 閱讀:239 作者:愛奇藝技術產品團隊 欄目:互聯網科技
發展起源

奇藝除了在音視頻、推薦等深度學的AI應用以外,也有不少數據挖掘、數據分析的傳統機器學習應用場景,例如用戶預測、風控等。統的研發模式的痛點,就是會給算法人員和業務人員一些不便利,具體如下:

1. 用戶代碼基于單機腳本實現,處理環節長、耦合高,難以修改和擴展,長久以來可讀性降低;

2. 同一業務下多個場景、同一場景下多個模型,在數據處理、模型訓練等技術流程上類似,場景重復步驟和數據結果難以重復利用;

3. 場景不同導致存在周期訓練、定時預估、實時預估等需求,對業務人員和算法人員的代碼要求高,維護成本高;

4. 算法人員和業務人員對分布式機器學習的開發存在技術壁壘,導致數據量和模型復雜度受單機資源限制;

基于以上痛點,愛奇藝開發了面向通用的機器學習場景的一站式機器學習平臺Deepthought,可實現可視化交互,能更加直觀便捷的搭建適合業務場景需要的架構,以及實時預估服務,是算法模型部署至實際業務的重要環節。

業務需求

Deepthought在開發之初即考慮了以下基本業務需求:

1. 核心算法基于分布式機器學習框架封裝,以開源封裝為主、自研實現為輔,滿足快速上線基本算法需求;

2. 對于機器學習和數據挖掘各個環節解耦,滿足不同環節的輸出結果可復用;

3. 與大數據平臺通天塔深度融合,利用通天塔管理的項目、數據、調度實現機器學習任務的在線、離線場景的執行;

4. 減輕用戶代碼開發壓力,通過可視化交互和配置方式,實現機器學習任務的編排,提升算法模型搭建效率。

總體架構與發展歷史
Deepthought至今已迭代到3.0版,具體詳情如下:
  • Deepthought v1.0版,面向具體業務的機器學習平臺

屬于反作弊業務使用的機器學習平臺主要將反作弊業務中的機器學習流程各個階段解耦合,同時管理反作弊業務中的業務數據,例如黑名單、樣本、特征管理。Deepthought v1架構如下圖所示。

一站式機器學習平臺Deepthought的建設與初探

Deepthought基于Spark ML/MLLib封裝了業務常用二分類模型,以及常用數據預處理過程,例如缺失值填充、歸一化等。

Deepthought v1更多工作在特征管理和數據配置中,更加偏向反作弊本身的業務。在v1對Spark的封裝和流程解耦串式調度執行的方式在后續Deepthought版本中繼承了下來。
  • Deepthoughtv2.0版,面向通用業務的機器學習平臺
在v1.0的經驗基礎上做了通用化改進,通過組件化替代配置化,實現了常見的機器學習需求,例如自動調參;繼承了v1核心實現的思路,把機器學習通用流程保留下來,并借鑒業界成熟的用戶體驗方式,對整體系統進行重構。主要更新如下:
組件化管理和調度

所有數據處理和算法執行通過組件的方式管理和調度。算法的擴展除了核心邏輯和調度腳本外,所有組件信息和配置項都可通過后臺配置管理完成,前端交互時動態渲染組件的所有配置信息。

算法擴充

在v2我們持續增加了多個機器學習算法,其中包括監督學習二分類、多分類、回歸算法,非監督學習的聚類、圖類算法,多種數據預處理算法以及多種算法評估和數據分析可視化組件,基本滿足傳統機器學習所有場景的需要。

可視化交互

每一個機器學習的步驟,以組件的方式管理和使用。用戶通過對組件的拖拉拽方式的交互操作,能更加直觀便捷的搭建適合業務場景需要的架構,可實現的業務場景也更加靈活開放。另外,前端也提供了一系列標注化的報表控件,系統即時讀取的報表數據可動態渲染成可視化報表。

離線定時調度任務

與大數據平臺通天塔權限打通,通過大數據平臺通天塔讀取Deepthought任務信息并進行調度,實現任務的定時預測的場景。

Deepthought v2架構如下圖所示。

一站式機器學習平臺Deepthought的建設與初探
  • Deepthoughtv3.0版,支持實時預估服務

v3在v2基礎上進行了功能擴充,在v3中Deepthought支持了自動調參和實時預估服務,并且對超大規模數據和模型,支持參數服務器訓練。

自動調參

v2實現了自動調參的功能,可通過多種調參算法,對多個參數進行優化組合、并行訓練,最終找出最優評估效果的參數組合和最優模型。通過自動執行重復性任務提高用戶工作效率,使得用戶更多關注問題,而不是模型。

已經實現的調參方式包括隨機搜索、網格搜索、貝葉斯優化和進化算法。

實時預估

實時預估服務是算法模型部署至實際業務的重要環節,v3已經實現了多個常用模型的實時預估功能,并支持HTTP、RPC兩種協議。
實時預估服務通過QAE加載預估核心代碼,并通過Skywalker/Dubbo發布HTTP/RPC服務,并通過Hubble、Venus接入日志監控。
核心代碼通過初始化加載預處理模塊,讀取模型后,開始監聽服務端口。為了最大化利用計算資源,降低預估時長,預測采用線程池+流水線方式,對單條請求多行數據拆分處理。

參數服務器

由于一些內在原因,在基于Spark的機器學習無法支撐百萬級以上維度、億級以上行數的超大規模數據訓練。業界通過參數服務器解決了超大規模數據訓練的問題。v3集成了開源參數服務器,并在此基礎上實現了部分常用模型的參數服務器版本。

Deepthought v3架構如下圖所示。

一站式機器學習平臺Deepthought的建設與初探

部分核心實現與封裝

下文將對平臺部分核心功能的實現和封裝簡要介紹。

Spark ML/MLLib封裝

Deepthought中算法組件基于spark原生ml/mllib包進行封裝和改進,在繼承了其并行計算、通道流式處理等優點之外,還加入一系列提供用戶易用性的功能,同時增加了一些原生包中不存在的算法。

例如gbdt編碼算法。gbdt作為一個應用廣泛的機器學習基礎算法,不僅可用在分類、回歸上,還可以用在特征構造上。通過訓練好的gbdt模型,可對原始數據進行離散化,最終輸出為類似于one-hot的形式,從而將輸出數據灌入fm,lr等模型進行進一步的訓練使用。
在Deepthought中,通過將ml中gbdt存儲功能優化,將每個樹詳情進行存儲。在gbdt編碼組件中,通過訓練好的gbdt模型和樹詳情,重構多棵樹并為每棵樹葉子節點進行編碼。最終將數據并行灌入所有的樹,并將最后結果拼接,從而得到對應的編碼結果。
Deepthought在滿足常用性的模型的基礎,豐富更多的模型,可以讓用戶在業務模型的構建上有更多的選擇,從而豐富了平臺的功能性。
數據預處理

Deepthought不僅僅是對Spark ML/MLLib做了封裝,也有很多基于實際業務和平臺化的開發。為了擴展和優化Deepthought的功能,Deepthought增加了數據預處理組件以及訓練組件中的標簽自動轉換功能。

用戶可以通過在通過拖動不同的預處理組件,Deepthought會根據其選擇的組件生成滿足用戶需求的可使用數據,比如分層抽樣、數據壓縮、數據編碼等。
為方便用戶,deepthough所有組件中都擁有標簽自動轉換功能,Deepthought會對輸入標簽進行map映射,根據標簽中各個標簽個數分別映射為從0開始的轉換標簽,并將該map保存,從而使得預測組件保持一致,并且最終原樣輸出標簽。

loss實時輸出原理

一個良好的可用的機器學習模型,需要經過算法工程師不斷的調優、嘗試;而模型的調優需要花費大量的時間和精力。

損失函數(loss function)在機器學習應用中,作為學習準則與優化問題相聯系,即通過最小化損失函數求解和評估模型。而每一次迭代損失函數值的變化,預示著模型的與目標的距離變化。損失函數曲線及loss曲線,代表著模型訓練的收斂速度,算法工程師可以通過曲線判別模型的損失函數、超參等設置是否合理,決定是否在中途停止模型訓練,從而節約調優時間,提升模型訓練效率。
Deepthought平臺算法組件是基于spark中ml和mllib兩個庫改進封裝,而loss曲線輸出功能在兩個庫中并未提供。Deepthought為了使用戶在訓練時能同步查看loss曲線(類似于tensorflow),基于spark消息通信和事件總線的方式,為算法組件增加loss值輸出功能,從而實現了loss曲線的同步顯示功能。
實時預估熱加載改造

用戶在線上使用模型實時預估的過程中,需要定期使用新訓練的模型替換舊模型。在實時預估服務的早期版本中,預估服務代碼在加載到QAE后,通過初始化一次性加載模型到內存里。

這就導致如果需要更新模型時,我們需要通過kill QAE實例,逐漸替換QAE達到新模型替換舊模型的效果。這種方式存在缺陷是:

1. 用戶對切換過程不可知,無法追蹤某次響應具體是舊模型或新模型的預測結果;

2. 由于RPC是長連接,KILL一個QAE實例后會導致當前實例中的所有鏈接中斷。過程雖然短暫,但仍然會造成一定的請求抖動。

通過對已有服務進行熱加載改造,實現了模型熱加載,并可支持同一QAE實例下多模型共享資源,以及支持用戶顯式選擇指定版本訪問服務。
剝離HTTP和RPC框架本身后,我們將通用服務封裝成模型預測服務,提供預測通用預測接口和管理接口(加載模型和查看模型)。被加載的模型封裝成對象,存放在全局對象池中。預測服務內提供模型路由功能,通過解析用戶請求,檢測用戶是否顯式訪問指定模型和指定版本。如果用戶不顯式請求,路由器會指向對象池中的最新版本調用預估服務。

目前應用和后續工作

目前應用簡介

目前Deepthought已被流量反作弊、用戶行為分析、愛奇藝號、文學等多個團隊使用。下文簡要介紹目前已在Deepthought開展業務的一些典型場景。

流量反作弊業務

目前流量反作弊業務已全線使用Deepthought進行模型訓練和離線預測。

通過Deepthought提供的一些數據挖掘工具,例如kmeans聚類和孤立森林異常檢測,反作弊同學可分析出異常流量特征,通過圖分析工具,挖掘出團伙特征。基于這些分析結果,通過大數據平臺通天塔工作流手動或半自動引入到特征工程和標簽庫。

一站式機器學習平臺Deepthought的建設與初探
在具體模型引用上,反作弊常用二分類模型,例如LR、GBDT和XGBoost,對特征數據分類。在實際應用中,通過大數據平臺通天塔定期執行Deepthought任務,實現周期性模型更新和離線預測。通過Deepthought自動調參功能自動優化模型超參,模型實際準確率和召回率均超過97%。
一站式機器學習平臺Deepthought的建設與初探
推薦業務

Deepthought在推薦業務中也受到的廣泛的應用和好評。

Deepthouht平臺致力于幫助推薦業務更加清晰明朗化了模型訓練過程,使得推薦業務的小伙伴能夠更加專注于模型的選擇,業務的理解等方面。
推薦團隊的同學可通過Deepthought平臺提供的gbdt編碼、sql自定義、lr、協同過濾、fm等算法組件,實現推薦模型的構建和訓練。

一站式機器學習平臺Deepthought的建設與初探

在整個推薦業務中,Deepthought專注于模型的訓練,通過將大數據平臺通天塔準備好的數據給入到Deepthought平臺,用戶通過拉取組件的形式,構建一系列數據預處理,數據拆分,模型訓練、評估的流程,并在模型訓練完備之后部署到線上,從而進行實時的預估附。當整套流程第一次構建完成之后,用戶往后僅僅需要定時運行流程,實現模型的更新即可。

其中gbdt編碼+fm訓練的組合模型,是使用頻率最高的模型之一。推薦業務通過gbdt編碼將連續型數據轉換為離散型數據,在與已有離散型數據進行拼接,從而得到可用于fm模型訓練的數據。

一站式機器學習平臺Deepthought的建設與初探


當模型訓練完成,Deepthought通過公眾號和郵件的方式通知用戶模型的準確率、召回等詳情。當模型確認可用后,可通過Deepthought平臺將模型進行實時部署,從而滿足推薦業務的實時預測需求。

除此之外,為了解決推薦業務存在過多特征組合拼接的問題,Deepthought提供了feature extract udf函數,用戶可通過配置文件的方式,實現對原屬數據的拼接、相加、計算log等原子操作。并且Deepthought算法組件中還提供idMap映射功能,使得對數據進行了編碼或map映射的團隊,依然可采用Deepthought平臺。
總結與后續規劃

Deepthought對大量機器學習封裝和平臺化開發,使用戶可通過簡單配置和拖動方式完成機器學習操作,協助非算法業務同學能夠輕松使用機器學習,同時規范使用,大大減輕用戶在重復代碼和算法、模型管理上的工作量。同時,與大數據平臺通天塔深度合作,實現數據開發到模型訓練、離線、在線預測全流程閉環,是大數據團隊數據中臺重要組成部分。

Deepthought后續將繼續提高操作的便利性,系統穩定性;并且會在在實時預估服務上擴展已有模型的支持;算法層面將繼續逐步豐富模型類型,并嘗試加入深度學習模型。
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

塘沽区| 华安县| 祥云县| 贵溪市| 定远县| 沭阳县| 桦南县| 昌黎县| 武宣县| 漳州市| 略阳县| 怀仁县| 福泉市| 台北县| 会同县| 乌鲁木齐县| 白山市| 钟祥市| 拉孜县| 青河县| 长泰县| 平邑县| 东安县| 乌鲁木齐市| 阳泉市| 福州市| 盱眙县| 睢宁县| 赣榆县| 延庆县| 进贤县| 南通市| 凉城县| 周至县| 炎陵县| 修文县| 曲阜市| 新丰县| 彰武县| 宣恩县| 裕民县|