日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 智能硬件 > 人工智能AI
[導讀] 12月21日,阿里巴巴旗下的大數(shù)據(jù)營銷平臺阿里媽媽開源了其應(yīng)用于自身廣告業(yè)務(wù)的算法框架X-DeepLearning(XDL)。該框架非常擅長處理高維稀疏數(shù)據(jù),對構(gòu)建推薦、搜索和廣告系統(tǒng)非常有優(yōu)勢

12月21日,阿里巴巴旗下的大數(shù)據(jù)營銷平臺阿里媽媽開源了其應(yīng)用于自身廣告業(yè)務(wù)的算法框架X-DeepLearning(XDL)。該框架非常擅長處理高維稀疏數(shù)據(jù),對構(gòu)建推薦、搜索和廣告系統(tǒng)非常有優(yōu)勢。此外,阿里還配套發(fā)布了一系列官方模型,它們都是阿里在實際業(yè)務(wù)或產(chǎn)品中采用的高效模型。

在XDL開源前夕,記者采訪了其團隊的四位主要負責人:

靖世,研究員,阿里媽媽定向廣告技術(shù)團隊負責人兼阿里媽媽算法平臺負責人

見獨,資深技術(shù)專家,阿里媽媽工程平臺技術(shù)負責人

懷人,資深算法專家,阿里媽媽算法平臺深度學習方向負責人兼定向廣告排序算法團隊負責人

樂迪,資深技術(shù)專家,阿里媽媽大數(shù)據(jù)計算與機器學習平臺的工程架構(gòu)負責人

「高維稀疏數(shù)據(jù)的數(shù)據(jù)處理、模型計算以及在線服務(wù)一直是深度學習應(yīng)用于業(yè)界的一個核心挑戰(zhàn)區(qū)。作為一個真實在廣告業(yè)務(wù)下解決過大量技術(shù)問題的團隊,我們?yōu)榱私鉀Q這些問題提出了大量的方法。阿里媽媽第一代的基于深度學習的CTR模型研制與大規(guī)模線上部署都是XDL支撐的,我們將其中對業(yè)界有貢獻的部分提供給用戶,希望做出對大家有增量的東西?!咕甘肋@樣描述XDL開源的初衷。

而現(xiàn)有框架在處理高維稀疏數(shù)據(jù)的「痛點」究竟在哪里?使用的模型有什么不同?更加具體的,XDL框架如何使用?如何與現(xiàn)有框架及模型結(jié)合?XDL團隊為機器之心的讀者做了詳細的解答。

XDL項目地址:https://github.com/alibaba/x-deeplearning

高維稀疏數(shù)據(jù)怎么搞?

其實最早的時候,阿里巴巴深度模型的研發(fā)也是在嘗試已有的框架,例如Caffe、TensorFlow和MXNet等。但當時阿里巴巴發(fā)現(xiàn)已有框架在生產(chǎn)化方面有很多局限,首先第一個是大規(guī)模稀疏數(shù)據(jù)的處理能力,其次是如何實現(xiàn)結(jié)構(gòu)化數(shù)據(jù)。

大規(guī)模稀疏數(shù)據(jù)體現(xiàn)在搜索、推薦和廣告等任務(wù)上,例如某系統(tǒng)一共有10億的商品量,那么用戶是不是訪問過每一個商品就是一維特征。因此,表征用戶的特征維度就可能有10億維,而只有訪問過的商品才有值「1」,未訪問過的商品全為「0」,這也就是高維稀疏的意義。這樣的結(jié)構(gòu)和傳統(tǒng)機器學習一個特征矩陣加一列標注很不一樣,因此也就需要特定的框架高效處理。

除了用戶的稀疏表征,商品同樣也是稀疏的,它們可能有各種各樣的特征,例如顏色、形狀、圖像和名稱等。在一般的推薦系統(tǒng)中,樣本都是平鋪的,例如一個用戶點擊了商品1和商品2。那么樣本1為(用戶,商品1)、樣本2為(用戶,商品2),這種平鋪的數(shù)據(jù)是非常低效的,因此XDL對于大規(guī)模稀疏數(shù)據(jù)有一個結(jié)構(gòu)化的過程。這種結(jié)構(gòu)化會將實體與實體之間的復雜關(guān)系進行關(guān)聯(lián)化,并繼續(xù)投入到計算中,因此XDL整體就是一個結(jié)構(gòu)化的計算流。

其實XDL團隊在處理大規(guī)模高維數(shù)據(jù)后,發(fā)現(xiàn)整個計算模式可以進一步提升,以前的張量計算流也許可以使用結(jié)構(gòu)化的計算流代替??赡茏x者對數(shù)據(jù)結(jié)構(gòu)化還是缺少了一種直觀感受,如下圖所示為簡單的數(shù)據(jù)結(jié)構(gòu)化。其中左邊的樣本是傳統(tǒng)平鋪的訓練數(shù)據(jù),而右邊的樹型結(jié)構(gòu)化會大大降低存儲需求。

圖示:如上圖所示左邊為平鋪的數(shù)據(jù),其一個用戶配一個商品(Item)就為一個樣本,用于表征用戶的高維特征需要重復使用。而箭頭右邊樹型結(jié)構(gòu)化的數(shù)據(jù)會節(jié)約很大的存儲成本,它同樣表示三個獨立的樣本。

XDL團隊表示在淘寶原來的信息流廣告里,他們需要300臺以上的機器才能支持模型訓練一次。但是這種結(jié)構(gòu)化數(shù)據(jù)大大簡化了數(shù)據(jù)的表示,因此整個數(shù)據(jù)集減少了一百倍以上的硬盤存儲,計算速度也提升了十多倍。因此最后本來需要幾百臺機器的模型訓練,可以精簡到十臺機器左右就能完成訓練。

最后,除了數(shù)據(jù)結(jié)構(gòu)化,模型同樣也可以結(jié)構(gòu)化。因為當阿里巴巴開始探索將圖像、文本和語音等信息加到推薦等系統(tǒng)時,他們會發(fā)現(xiàn)這些信息和其它信息又是一個復雜的結(jié)構(gòu)化關(guān)系,因此他們開始將模型的分布也結(jié)構(gòu)化。首先數(shù)據(jù)根據(jù)結(jié)構(gòu)關(guān)系可以分布在不同的機器上,而這些結(jié)構(gòu)同樣可以將計算分配到不同的機器上。所以將模型的計算與數(shù)據(jù)的結(jié)構(gòu)耦合在一起,它們間的計算量和通訊傳輸量都能有效降低。

所以以上幾點是XDL整個的脈絡(luò),XDL團隊表示它主要在三個層面上對通用框架有比較大的提升:

首先是對大規(guī)模稀疏性數(shù)據(jù)的建設(shè);

其次是結(jié)構(gòu)化的計算流;

最后在結(jié)構(gòu)化的計算流基礎(chǔ)上,模型的分布也需要結(jié)構(gòu)化。

當然,這些都是XDL團隊在實踐中的探索,它們也并沒有完美處理各種高維稀疏的情況。但是經(jīng)過阿里巴巴業(yè)務(wù)上的檢驗,整個框架和配套開源的推薦/廣告/搜索算法都被被證明非常有效。也許通過開源社區(qū)的共同參與,高維稀疏數(shù)據(jù)的處理能更高效。

用于解決不完全信息下的開放問題的模型

「圖像、語音、文本,都是在完全信息下定義的封閉問題。而互聯(lián)網(wǎng)領(lǐng)域里的機器學習是不完全信息下的開放問題?!咕甘栏爬ǖ??!笀D像像素已經(jīng)表征了所有信息,模型能力如果達到極限,就應(yīng)該能夠判定圖像中有什么東西,獲取目標信息。而在互聯(lián)網(wǎng)領(lǐng)域,可選數(shù)據(jù)非常多。以電商為例,除了item級別的表征之外,商品圖像、詳情頁信息、評論……都是可以引入的相關(guān)數(shù)據(jù),但即使囊括所有可得的相關(guān)數(shù)據(jù),其合集仍然不是完全信息?!?/p>

而模型的意義,就是能夠從數(shù)據(jù)中找到特定的規(guī)律,既能夠擬合現(xiàn)有數(shù)據(jù),又能夠有一定的推廣性。從業(yè)務(wù)的角度出發(fā),找規(guī)律的過程中用到的「數(shù)據(jù)」,應(yīng)該是平臺能夠充分利用所有可得的信息,無論它是以何種形式呈現(xiàn)的。而如何將盡可能多的、類別各不相同的信息引入到模型中,就是XDL著重解決的一個問題。

用于廣告、推薦、搜索這樣任務(wù)中的模型,可能乍一看很「簡單」:它們不會像單純的視覺模型一樣有數(shù)以百計的層數(shù),也不會像純粹的NLP模型一樣用模型結(jié)構(gòu)跨越漫長的時間步,幾層的模塊、全連接的模塊在系統(tǒng)里都會很常見。然廣告等領(lǐng)域模型的其復雜性正是體現(xiàn)在其「復合」這一特點上。

當模型的輸入數(shù)據(jù)異構(gòu)特性非常明顯的時候,稀疏數(shù)據(jù)需要做嵌入、時序的數(shù)據(jù)需要過LSTM模塊捕捉時序關(guān)系、圖像數(shù)據(jù)需要逐層卷積抽象不同粒度的特征,串聯(lián)多種特征轉(zhuǎn)化為其他網(wǎng)絡(luò)可接受的輸入后,還要進行統(tǒng)一的稠密的計算。不同網(wǎng)絡(luò)的聯(lián)動,乃至進一步到系統(tǒng)層面,樣本的I/O問題,數(shù)據(jù)流水線的優(yōu)化工作、訓練階段機器之間頻繁的大量的參數(shù)交換等等問題,都是沒有相應(yīng)框架就做不了的。

因此,任務(wù)與數(shù)據(jù)形態(tài)的不同,看起來是帶來了一個算法問題,其實是導致最大的變動出現(xiàn)在框架。樂迪舉了個例子,「模型結(jié)構(gòu)復雜了之后,其內(nèi)部的前向與后向計算的迭代就很難用標準化的方式去做了,批規(guī)模的安排、超參的設(shè)計與反饋速率,都會極大影響迭代過程。TensorFlow劃分了ps(parameterserver)和worker,但是worker不會再切分。我們的模式可以把模型任意地切分,每一部分都可以選擇不同的迭代速率等參數(shù),從而讓整個復雜網(wǎng)絡(luò)的訓練變得非常高效?!?/p>

「像八爪魚套八爪魚。」靖世打了個比方。這樣的模型的體量通常十分驚人,見獨表示,阿里的場景下,模型的參數(shù)規(guī)模通常會到達幾十億甚至上百億,內(nèi)部應(yīng)用的模型已經(jīng)有千億規(guī)模出現(xiàn)。

和XDL一起開源的就有一些阿里媽媽實際在用的、驗證過有用的「八爪魚」模型,在xdl-algorithm-solution文件夾里,首批就公開了六個模型,其中包括利用圖像信息幫助點擊率預(yù)估的DICM以及以預(yù)估CTR為約束刻畫用戶興趣的DIEN。

CrossMedia Network(論文中具體指Deep Image CTRModel,DICM),旨在幫助精準展示廣告系統(tǒng)為每次投放請求選擇收益最大化的廣告。CrossMedia Network主要利用圖像信息,包括用于展示和點擊的廣告圖像(Ad image)和用戶點擊過的商品組成的用戶行為圖像(User behavior images)。利用這兩類信息,結(jié)合原有ID特征,DICM模型對于每個廣告展示樣本的點擊或未點擊的二元判別,進而轉(zhuǎn)化為點擊率預(yù)估。

Deep Interest EvoluTIon Network(DIEN)模型主要用于定向廣告排序中的CTR(點擊率)預(yù)估階段,應(yīng)用于阿里媽媽定向廣告各大產(chǎn)品中。傳統(tǒng)的點擊率預(yù)測算法通常直接將用戶歷史行為表示用戶興趣,DIEN提出了興趣抽取和和興趣演化兩個模塊,在興趣提取模塊用auxiliaryloss約束模型找到能夠推測出后續(xù)的行為的隱層表達,在興趣演化模塊用GRU模塊根據(jù)不同的預(yù)估目標商品構(gòu)建不同的興趣演化路徑。??

除了框架、模型之外,XDL也有提供數(shù)據(jù)和服務(wù)的打算:

「很多測試用戶反映模型跑不起來,那我們內(nèi)部也整理了一些覺得對業(yè)界比較有用的數(shù)據(jù),在保護用戶隱私的前提下,打算以公開數(shù)據(jù)集的形式發(fā)布出來。這個體量對于阿里的業(yè)務(wù)本身來說可能已經(jīng)很小了,但是相信對于研究者使用框架跑一些算法驗證還是很有幫助的。但是真實數(shù)據(jù)的規(guī)模是非常龐大的,比如我們在某個場景只抽出了1%的數(shù)據(jù)出來,大小仍然有50G的規(guī)模?!?/p>

而懷人也提到,當結(jié)構(gòu)復雜后,在線預(yù)估也會遇到瓶頸:「我們也正在探索根據(jù)數(shù)據(jù)前向計算所需算力的分布,用不同的硬件來做對應(yīng)的計算,最終做到全局最優(yōu)化?!乖谖磥?,XDL也計劃在訓練框架之外,進一步開源高性能在線推理服務(wù)引擎,將超大規(guī)模模型參數(shù)的分布式存儲、分布式計算問題也一并解決。

XDL的使用姿態(tài)

對于開發(fā)者而言,最關(guān)心的可能是XDL如何使用,以及它能幫助我們獲得怎樣的提升。想象一下,如果我們已經(jīng)費了九牛二虎之力構(gòu)建出一個TensorFlow深度模型,然而最終發(fā)現(xiàn)它在高維稀疏數(shù)據(jù)下效率很低。那么我們該如何將這個模型遷移到XDL,并利用其數(shù)據(jù)結(jié)構(gòu)化與模型結(jié)構(gòu)化的優(yōu)勢進行高效訓練?

XDL團隊表示他們在文檔上會有一個完整的示例,如果我們寫了一個完整的TensorFlow模型,那么基本上模型定義部分就不需要修改了,我們只需要在外圍寫大概十來行的分布式驅(qū)動代碼就行。增加了XDL的分布式驅(qū)動后,單機的TensorFlow模型就能分布式運行,并具備XDL面向高維稀疏數(shù)據(jù)的大規(guī)模并行能力。

靖世表示,其實我們可以認為XDL構(gòu)建了一個大型高維分布式計算圖,我們可以將TensorFlow構(gòu)建的靜態(tài)計算圖嵌入到XDL分布式計算圖中。然后在大型計算圖中,TensorFlow構(gòu)建的子圖可以調(diào)用對應(yīng)的框架,并完成計算。所以說如果模型已經(jīng)進入到密集的運算及架構(gòu)設(shè)計上,那么其實我們可以將這個子圖包裝一下并嵌入到XDL中。

此外,值得注意的是數(shù)據(jù)格式,XDL團隊表示輸入數(shù)據(jù)流是根據(jù)框架定義的規(guī)范和格式,我們需要根據(jù)這些格式來準備數(shù)據(jù)。但是當數(shù)據(jù)流進入到單機上的稠密網(wǎng)絡(luò)時,所有數(shù)據(jù)結(jié)構(gòu)會自動轉(zhuǎn)化為TensorFlow內(nèi)部的數(shù)據(jù)格式,我們可以按照TensorFlow那樣的格式定義后面各種各樣的網(wǎng)絡(luò)。雖然XDL定義了新的數(shù)據(jù)結(jié)構(gòu),用戶必須按照經(jīng)優(yōu)化的模板定義數(shù)據(jù)結(jié)構(gòu),但這樣統(tǒng)一的格式可以避免保存、部署和遷移等遇到的大量問題,也能獲得更多的性能提升。

總的而言,在使用XDL構(gòu)建大型分布式計算圖后,分布式數(shù)據(jù)流也需要按照格式定義才能傳入該計算圖。隨后我們可以將自己用TensorFlow構(gòu)建的計算圖嵌入到XDL計算圖中,且當XDL數(shù)據(jù)流傳輸?shù)皆摢毩⒌淖佑嬎銏D時,它會轉(zhuǎn)化成對應(yīng)深度學習框架的數(shù)據(jù)格式,并調(diào)用對應(yīng)的后端完成計算。

TensorFlow嵌入實例

在XDL的使用示例中,其展示了如何結(jié)合密集型特征和稀疏性特征,并完成聯(lián)合訓練。其中密集型特征可能是圖像或語音等數(shù)據(jù),而稀疏性特征可能是用戶和商品之間的訪問關(guān)系。這就相當于將TensorFlow模型嵌入到XDL中,并承擔密集型特征運算,而XDL本身會處理稀疏性特征。

在這個示例中,模型包含一路密集型特征(deep0)以及兩路稀疏性特征(sparse[0-1]),稀疏性特征通過Embedding計算生成兩個8維密集型向量,并與本來的密集型特征拼接后執(zhí)行4層全連接層運算,并最后得出模型損失。

代碼地址:https://github.com/alibaba/x-deeplearning/wiki/%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B

首先是讀取數(shù)據(jù),我們可以定義讀取器,并配置線程數(shù)和批量數(shù)等讀取等設(shè)定。因為數(shù)據(jù)格式是有規(guī)范的,所以我們可以像使用Pandas讀取CSV那樣簡單地抽取不同類型的數(shù)據(jù),包括稀疏的訪問記錄和密集的圖像數(shù)據(jù)等。

隨后我們需要定義模型,這里可以分為兩路,即稀疏和稠密。其中稀疏數(shù)據(jù)可以借助XDL構(gòu)建稠密的特征向量,這有點類似于構(gòu)建NLP中的詞嵌入向量,它在保留用戶和商品等信息的情況下盡可能為密集計算提供便利。

在構(gòu)建嵌入向量后,它就應(yīng)該與前面密集型特征拼接在一起并完成第二路的稠密計算。這里僅使用三層全連接網(wǎng)絡(luò)作為示例,但是我們可以根據(jù)需要完成各種復雜的神經(jīng)網(wǎng)絡(luò)。此外,由于已有的框架在這些計算上非常有優(yōu)勢,因此我們可以直接導入TensorFlow等框架,并將密集型計算分配給它們,這正相當于將子計算圖嵌入到了XDL分布式計算圖中。

最后,我們只要定義最優(yōu)化器與對應(yīng)的訓練過程就行了,當然損失函數(shù)等訓練信息也需要在這一部分定義。如下所示,值得注意的是,這里是直接運行XDL定義的計算圖,并不用管嵌入的TensorFlow計算圖是什么樣的。此外由TrainSession可見,XDL采用的也是一種靜態(tài)計算圖。

當然,這可能只是最簡單的一種用法,模型的計算主要集中在單機后面的密集型網(wǎng)絡(luò)中。但是XDL其實還是構(gòu)建了一個分布式計算圖的,它可以理解為多個不同的單機節(jié)點構(gòu)成的復雜網(wǎng)絡(luò)。其中不同表示我們可以構(gòu)建很多子網(wǎng)絡(luò),這些子網(wǎng)絡(luò)可以使用XDL構(gòu)建一個更龐大的深度學習網(wǎng)絡(luò)。這種高級應(yīng)用其實在業(yè)務(wù)中很常見,因為搜索、推薦和廣告等場景需要的系統(tǒng)通常都非常大。當然如果只需要XDL高性能的分布式訓練,我們可以僅簡單地嵌入單個計算圖。

本文來源:機器之心

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉