在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用ElasticDL和社區(qū)Keras模型庫實現(xiàn)大量小眾預估場景

Tensorflowers ? 來源:TensorFlow ? 作者:TensorFlow ? 2020-11-19 09:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在互聯(lián)網(wǎng)行業(yè)里有很多需要利用深度學習模型預估點擊率的場景,比如廣告系統(tǒng)、推薦系統(tǒng),和搜索引擎。有些重要的場景背后是很大的用戶流量,體驗了重要的商業(yè)價值,所以有數(shù)十人甚至數(shù)百人的團隊在不斷優(yōu)化預估效能。這些團隊為了優(yōu)化自己負責的場景甚至專門研發(fā)深度學習工具鏈。

同時,大量小眾的預估場景對應(yīng)著不小的流量,但是無法配置專門的團隊,更不可能開發(fā)專門的工具。這類場景因為數(shù)量眾多,所以總體商業(yè)價值毫不弱于上述主流場景,甚至符合長尾分布的 20/80 比例 —— 其總體商業(yè)價值數(shù)倍于主流場景。

在我們研發(fā)和推廣 ElasticDL 的過程里,接觸到了很多負責此類小眾場景的用戶們。比如螞蟻集團的各種大促活動,以及餓了么和菜鳥等業(yè)務(wù)的營銷推薦活動。這些業(yè)務(wù)場景中,通常是一個算法工程師需要負責多個場景的建模。這就帶來一個重要需求 —— 提供一套通用工具以提高大量小眾預估場景下算法工程師的建模效率。另外,小眾場景里的訓練數(shù)據(jù)可不小 —— 本文梳理的場景都需要分布式訓練。

之前的文章《ElasticDL:同時提升集群利用率和研發(fā)效率的分布式深度學習框架》里我們介紹過 ElasticDL 通過 Kubernetes-native 的彈性調(diào)度能力,提升機群資源利用率到 >90%。同時,作為一個 Keras 模型的分布式訓練系統(tǒng),ElasticDL 只需要用戶提供模型定義,不需要用戶定義訓練循環(huán) (training loop),更不需要用戶開發(fā)分布式訓練循環(huán)。實際上,由于 TensorFlow 社區(qū)貢獻了很多 Keras 模型,比如 tf.keras.applications 里有很多 CV 領(lǐng)域的模型,DeepCTR 庫里有很多 CTR 預估相關(guān)的模型,用戶可以直接使用的。所以實際上 ElasticDL 在小眾場景中的使用可以完全不需要用戶 coding。這樣的易用性在推廣過程中得到了用戶的好評。

tf.keras.applications
https://tensorflow.google.cn/api_docs/python/tf/keras/applications?hl=zh-cn

DeepCTR
https://github.com/shenweichen/DeepCTR

基于 no-code 的特點,ElasticDL 團隊的主力工程師王勤龍為螞蟻的可視化建模平臺 PAI 增加了 ElasticDL 組件,使得大量用戶可以通過在 Web 頁面里拖拽和配置組件的方式實現(xiàn) AI 訓練。此文基于螞蟻、餓了么、和飛豬的同事們的反饋梳理,為大家解釋 TensorFlow 社區(qū)累積的 Keras 模型對中小 AI 場景的價值,以及如何經(jīng)由 ElasticDL 實現(xiàn)這些價值。

小眾預估場景對模型研發(fā)效率的期待

小眾預估場景具有如下特點:

應(yīng)用周期短,可能是應(yīng)用在某個短時間的大促營銷活動。所以算法工程師也需要在短時間內(nèi)能完成預估模型的開發(fā)。

業(yè)務(wù)場景復雜多樣,比如商品推薦的點擊預估、營銷活動的目標人群預估、優(yōu)惠券的核銷預估等,一個算法工程有可能會同時負責不同場景的預估建模,不同場景所使用的特征和模型可能區(qū)別很大,所說提高小眾場景的預估模型的開發(fā)效率十分重要。

樣本數(shù)據(jù)量大。雖然是小眾場景,但是在大數(shù)據(jù)時代,公司都會積累了很多歷史樣本數(shù)據(jù)。訓練的數(shù)據(jù)越多,有助于提升預估模型精度。所以在分布式集群上加速預估模型的訓練對生產(chǎn)應(yīng)用十分重要。

小眾預估場景的這些特點不僅需要提高建模效率,也給集群管理系統(tǒng)帶來了挑戰(zhàn)。由于此類場景數(shù)量眾多,在集群上給每個場景單獨劃分資源是不切合實際的。同時小眾場景的訓練作業(yè)時多時少,給其調(diào)度資源時既要考慮是否滿足訓練任務(wù)的需求,也要考慮集群資源利用率。前者決定了用戶的模型訓練效率,后者決定了公司成本。

使用 Keras 提高預估模型編程效率

使用 ElasticDL 來做分布式訓練,用戶主要需要使用 Keras API 來定義一個 Keras Model,如下所示:

import tensorflow as tf def forward(): inputs = tf.keras.layers.Input(shape=(4, 1), name="input") x = tf.keras.layers.Flatten()(inputs) outputs = tf.keras.layers.Dense(3, name="output")(x) return tf.keras.Model(inputs=inputs, outputs=outputs, name="simple-model")

深度學習預估模型一般包含兩個部分:

樣本特征預處理定義。將原始特征數(shù)據(jù)轉(zhuǎn)換成適合深度學習使用的數(shù)據(jù),比如標準化、分箱等變換。

深度學習網(wǎng)絡(luò)結(jié)構(gòu)定義。定義網(wǎng)絡(luò)結(jié)構(gòu)來擬合數(shù)據(jù)分布,提供模型預估精度。

在特征預處理上,TensorFlow 在其最新版本中提供了很多 preprocessing layers 來方便用戶做特征預處理。使用這些 preprocessing layer,用戶可以很方便地將特征預處理計算邏輯與模型網(wǎng)絡(luò)結(jié)構(gòu)結(jié)合在一起構(gòu)造一個完整的 Keras 模型。

preprocessing layers
https://keras.io/api/layers/preprocessing_layers/

但是很多預估場景的特征數(shù)量很大,可能涉及用戶屬性、商品屬性、地理位置等特征。對每個特征都手動編程定義預處理邏輯,也是件繁瑣的事。同時特征預處理定義還需要一些樣本特征的統(tǒng)計信息來保證特征變換的準確性,比如標準化操作需要特征的均值和標準差,分箱需要特征值的分布信息來確定分箱邊界。在阿里巴巴集團,大多數(shù)預估場景的數(shù)據(jù)都是以結(jié)構(gòu)化表形式存儲在阿里云的 MaxCompute 中。針對此類數(shù)據(jù),我們結(jié)合 MaxCompute 的大數(shù)據(jù)計算能力開發(fā)了自動生成預處理 Layer 功能。用戶只需要選擇使用的特征列,就可以自動完成特征統(tǒng)計并根據(jù)統(tǒng)計結(jié)果生成預處理的 Layer,用戶只需關(guān)心模型的深度學習網(wǎng)絡(luò)結(jié)構(gòu)的定義。

在預估模型的網(wǎng)絡(luò)結(jié)構(gòu)定義上,DeepCTR模型庫提供了很多前沿的 CTR 預估模型。用戶可以很方便地調(diào)用這些模型來構(gòu)造自己的預估模型。針對常用的 CTR 深度學習預估模型,我們在螞蟻集團的 PAI 平臺上封裝了一個 ElasticDL-DeepCTR 組件,該組件能根據(jù)數(shù)據(jù)集自動生成特征預處理邏輯,并預置了 Wide&Deep、DeepFM、xDeepFM等算法,用戶只需配置參數(shù)即可進行分布式模型訓練。

彈性調(diào)度提升訓練效率

小眾預估場景所使用的樣本數(shù)量一般也很大,幾百萬到幾千萬條不等,單機訓練很慢滿足模型的訓練效率,往往需要在分布式集群上來加速模型訓練。因為小眾預估場景的數(shù)量多,單獨給每個場景劃分資源訓練模型無疑會大幅增加集群管理員的工作。但是資源劃分少會影響訓練速度,劃分過多則可能造成資源浪費。所以通常的做法是,這些小眾預估場景的模型訓練共享一個資源池。但是共享一個資源池很難同時兼顧用戶體驗和集群資源利用率。小眾預估場景的模型訓練作業(yè)往往時多時少。作業(yè)少的時候,資源池空閑造成資源浪費;作業(yè)多的時候,后面提交的任務(wù)需要排隊等待。

ElasticDL 的彈性訓練則能很好地解決了這個問題。通常一個 Kubernetes 集群上的資源是多個租戶共用的,這些租戶可能運行著各種不同的計算任務(wù),比如在線服務(wù)任務(wù)、數(shù)據(jù)計算任務(wù)等。為了保證不同租戶的 Service-Level Objective (SLO),集群管理者會給各租戶分配資源配額。每個租戶有高優(yōu)先級使用自己的資源配額來執(zhí)行計算任務(wù),如果配置內(nèi)的資源有空閑,其他租戶則能用低優(yōu)先級使用該租戶配額里空閑的資源。如果使用過程中,原有租戶計算任務(wù)增加,則其他租戶需要歸還使用的資源。由于集群中不同租戶的使用峰值和低谷一般是錯開的,所以集群中經(jīng)常存在空閑資源。模型訓練的租戶使用 ElasticDL 則能以低優(yōu)先級方式借調(diào)其他組租戶的空閑資源來訓練模型。就算訓練過程中 ElasticDL 作業(yè)的 worker 被原有租戶搶占了,訓練作業(yè)不會終止失敗。ElasticDL 會在集群里尋找其他租戶的空閑資源來啟動新的 worker,并將新 worker 加入訓練作業(yè)。

在螞蟻集團,幾十個租戶同時使用一個 Kubernetes 集群,我們在集群上只劃分了很少的資源來啟動 ElasticDL 作業(yè)的 master 和 PS 進程,而資源需求大且數(shù)量多的 worker 進程則全部使用低優(yōu)先級的資源來運行。這樣只要集群有空閑資源,訓練作業(yè)就能快速開始,從而提升了這些小眾預估模型的訓練效率,也同時提升了集群資源利用率。

應(yīng)用案例

以下我們簡述幾個阿里經(jīng)濟體內(nèi)使用 ElasticDL 提升模型研發(fā)效能的小眾場景。

螞蟻財富的理財活動推薦

支付寶 818 金選理財節(jié)活動,新發(fā)基金策略(用于某債基帶貨)和黃金雨活動策略(用于促活躍)需要使用 CTR 預估來提升活動效果。該場景積累了幾百萬樣本數(shù)據(jù),且樣本中包含用戶屬性、理財產(chǎn)品屬性等很多特征。使用 ElasticDL 預估方案,非常方便地將 DeepFM 使用到了此次活動中。相比之前使用的規(guī)則策略,活動期間,頁面的點擊率有明顯提升。

餓了么補貼投放預估

餓了么 C 端補貼(天降紅包/高溫補貼券包項目)是通過對用戶發(fā)放紅包以撬動用戶下單的目的進行發(fā)放的,因此在不同門檻/面額組合下對用戶核銷/下單概率的預估是將平臺收益最大化(ROI 最大化)的必要條件。類似邏輯同樣適用在 B 端補貼上(百億補貼項目),只不過 B 端補貼需要疊加用戶對門店屬性的適應(yīng)/偏好/LBS限制/物流限制等更復雜的情況。ElasticDL 提供的 CTR 預估方案非常簡單易用,訓練的 xDeepFM 模型上線后效果很好。為后續(xù)的核銷率擬合/ROI 優(yōu)化提供了堅實有力的基礎(chǔ)。

小結(jié)

針對 Keras 模型,ElasticDL 利用 TensorFlow 的 Eager execution 在 Kubernetes 上實現(xiàn)了彈性分布式訓練,讓用戶只需提供 Keras 模型定義就可以提交分布式訓練作業(yè)。同時由于 TensorFlow 社區(qū)擁有豐富的 Keras 模型庫,用戶可以做到 no-code 就能完成一個預估模型的應(yīng)用。

由于 ElasticDL 在阿里經(jīng)濟體內(nèi)部的展示的應(yīng)用價值,ElasticDL 的另一位主力工程師齊俊在配合阿里云團隊,爭取盡快讓阿里經(jīng)濟體之外的用戶可以在阿里云上使用 ElasticDL。這項對接工作結(jié)束之后,我們再為大家?guī)砀隆?/p>

責任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3506

    瀏覽量

    50243
  • 大數(shù)據(jù)
    +關(guān)注

    關(guān)注

    64

    文章

    8954

    瀏覽量

    139884
  • 深度學習
    +關(guān)注

    關(guān)注

    73

    文章

    5557

    瀏覽量

    122676

原文標題:案例分享 | No-Code AI:用 ElasticDL 和社區(qū) Keras 模型庫實現(xiàn)大量小眾預估場景

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    ABAQUS內(nèi)置了豐富的材料模型庫

    在現(xiàn)代工程設(shè)計與分析中,材料模型的準確選擇與應(yīng)用是決定仿真結(jié)果可靠性的關(guān)鍵因素之一。ABAQUS作為有限元分析(FEA)領(lǐng)域的旗艦軟件,憑借其內(nèi)置的豐富材料模型庫,為工程師們提供了仿真分析靈活性
    的頭像 發(fā)表于 05-14 10:34 ?202次閱讀
    ABAQUS內(nèi)置了豐富的材料<b class='flag-5'>模型庫</b>

    基于stm32h743IIK在cubeai上部署keras模型模型輸出結(jié)果都是同一組概率數(shù)組,為什么?

    基于stm32h743IIK,在cubeai上部署keras模型模型輸出結(jié)果都是同一組概率數(shù)組,一點也搞不明白,看社區(qū)也有相同的問題,但沒有解決方案
    發(fā)表于 03-10 06:42

    如何將Keras H5模型轉(zhuǎn)換為中間表示 (IR) 格式?

    第 1 步: 將 Keras H5 模型轉(zhuǎn)換為保存的型號格式 安裝 依賴關(guān)系: cd deployment_toolsmodel_optimizerinstall_prerequisites
    發(fā)表于 03-07 06:11

    鴻蒙文件傳輸三方上線開源鴻蒙社區(qū) 十行代碼實現(xiàn)大文件高速傳輸

    近日,華為在OpenHarmony社區(qū)上線了“super_fast_file_trans”文件傳輸三方(以下簡稱“SFFT”)。這一三方的推出,為開發(fā)者提供了一套支持大文件多線程并發(fā)分塊下載
    發(fā)表于 03-06 10:29

    轉(zhuǎn)換Keras H5模型,為什么無法確定--input_shape參數(shù)的值?

    使用以下命令轉(zhuǎn)換 Keras H5 模型: mo --saved_model_dir model/ 遇到以下錯誤: [ ERROR ] Shape [-1 30 30 3
    發(fā)表于 03-05 07:51

    AI開源模型庫有什么

    AI開源模型庫作為推動AI技術(shù)發(fā)展的重要力量,正深刻改變著我們的生產(chǎn)生活方式。接下來,AI部落小編帶您了解AI開源模型庫有什么
    的頭像 發(fā)表于 02-24 11:50 ?375次閱讀

    KerasHub統(tǒng)一、全面的預訓練模型庫

    深度學習領(lǐng)域正在迅速發(fā)展,在處理各種類型的任務(wù)中,預訓練模型變得越來越重要。Keras 以其用戶友好型 API 和對易用性的重視而聞名,始終處于這一動向的前沿。Keras 擁有專用的內(nèi)容
    的頭像 發(fā)表于 12-20 10:32 ?481次閱讀

    開源AI模型庫是干嘛的

    開源AI模型庫是指那些公開源代碼、允許自由訪問和使用的AI模型集合。這些模型通常經(jīng)過訓練,能夠執(zhí)行特定的任務(wù)。以下,是對開源AI模型庫的詳細介紹,由AI部落小編整理。
    的頭像 發(fā)表于 12-14 10:33 ?751次閱讀

    如何使用Python構(gòu)建LSTM神經(jīng)網(wǎng)絡(luò)模型

    構(gòu)建一個LSTM(長短期記憶)神經(jīng)網(wǎng)絡(luò)模型是一個涉及多個步驟的過程。以下是使用Python和Keras構(gòu)建LSTM模型的指南。 1. 安裝必要的
    的頭像 發(fā)表于 11-13 10:10 ?1516次閱讀

    TNIA-TI做全差分THS4121芯片瞬態(tài)仿真時,輸入Vin+和Vin-存在共模震蕩的原因?

    ,詳細仿真情況,請查看附件,THS4121 TINA-TI仿真模型庫是從TI官網(wǎng)上下載的,現(xiàn)懷疑芯片震蕩是否真的存在,還是芯片仿真模型庫有問題?
    發(fā)表于 08-20 08:00

    AI算法/模型/框架/模型庫的含義、區(qū)別與聯(lián)系

    在人工智能(Artificial Intelligence,簡稱AI)的廣闊領(lǐng)域中,算法、模型、框架和模型庫是構(gòu)成其技術(shù)生態(tài)的重要基石。它們各自承擔著不同的角色,但又緊密相連,共同推動著AI技術(shù)的不斷發(fā)展。以下是對這四者含義、區(qū)別與聯(lián)系的詳細闡述。
    的頭像 發(fā)表于 07-17 17:11 ?7913次閱讀

    keras模型轉(zhuǎn)tensorflow session

    在這篇文章中,我們將討論如何將Keras模型轉(zhuǎn)換為TensorFlow session。 Keras和TensorFlow簡介 Keras是一個高級神經(jīng)網(wǎng)絡(luò)API,它提供了一種簡單、快
    的頭像 發(fā)表于 07-05 09:36 ?841次閱讀

    keras的模塊結(jié)構(gòu)介紹

    Keras是一個高級深度學習,它提供了一個易于使用的接口來構(gòu)建和訓練深度學習模型Keras是基于TensorFlow、Theano或CNTK等底層計算
    的頭像 發(fā)表于 07-05 09:35 ?680次閱讀

    如何使用Tensorflow保存或加載模型

    TensorFlow是一個廣泛使用的開源機器學習,它提供了豐富的API來構(gòu)建和訓練各種深度學習模型。在模型訓練完成后,保存模型以便將來使用或部署是一項常見的需求。同樣,加載已保存的
    的頭像 發(fā)表于 07-04 13:07 ?2625次閱讀

    導入keras或者onnx模型到cubeai進行分析,為什么會報錯?

    請問我導入keras或者onnx模型到cubeai進行分析,為什么會報錯,而且沒有報錯內(nèi)容,cubeai版本9.0.0。換成8.1.0版本后報錯內(nèi)容是invalid network。該怎么入手解決。
    發(fā)表于 07-03 07:55
    主站蜘蛛池模板: se01亚洲 | 国产精品一区牛牛影视 | 国产精品视频久久久久久 | 国模福利 | 天天干天天草天天 | 国产又黄又爽又猛的免费视频播放 | 天天干夜夜添 | 欧美日韩国产一区 | 免费能直接在线观看黄的视频 | 国模欢欢炮交啪啪150 | 亚洲乱亚洲乱妇41p 亚洲乱亚洲乱妇41p国产成人 | 人成xxxwww免费视频 | 视频在线观看高清免费看 | 国产高清一级在线观看 | 18满xo影院视频免费体验区 | 看视频免费| 欧美一级特黄aa大片视频 | 毛片网页 | 中文字幕一区二区三区5566 | 免费啪视频在线观看 | 国模吧2021新入口 | 国产精品国产主播在线观看 | 午夜爽爽性刺激一区二区视频 | 国产精品视频久久久久久 | 麦克斯奥特曼免费观看 | 天天天色 | 三级不卡 | 欧美色视频超清在线观看 | 男人的视频网站 | 国产一区二区在线观看免费 | 欧美日韩国产成人高清视频 | 欧洲性开放大片免费观看视频 | 一级特黄aaa大片 | 四虎国产精品免费观看 | 欧美激情xxxx性bbbb | 天天摸天天做 | 狠狠干干干| 色香蕉在线视频 | 在线观看亚洲人成网站 | 日本一区二区三区免费看 | 免费精品美女久久久久久久久久 |