偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

微博深度學(xué)習(xí)平臺(tái)架構(gòu)和實(shí)踐

人工智能 深度學(xué)習(xí)
隨著人工神經(jīng)網(wǎng)絡(luò)算法的成熟、GPU計(jì)算能力的提升,深度學(xué)習(xí)在眾多領(lǐng)域都取得了重大突破。本文介紹了微博引入深度學(xué)習(xí)和搭建深度學(xué)習(xí)平臺(tái)的經(jīng)驗(yàn),特別是機(jī)器學(xué)習(xí)工作流、控制中心、深度學(xué)習(xí)模型訓(xùn)練集群、模型在線預(yù)測(cè)服務(wù)等核心部分的設(shè)計(jì)、架構(gòu)經(jīng)驗(yàn)。

微博深度學(xué)習(xí)平臺(tái)架構(gòu)和實(shí)踐

隨著人工神經(jīng)網(wǎng)絡(luò)算法的成熟、GPU計(jì)算能力的提升,深度學(xué)習(xí)在眾多領(lǐng)域都取得了重大突破。本文介紹了微博引入深度學(xué)習(xí)和搭建深度學(xué)習(xí)平臺(tái)的經(jīng)驗(yàn),特別是機(jī)器學(xué)習(xí)工作流、控制中心、深度學(xué)習(xí)模型訓(xùn)練集群、模型在線預(yù)測(cè)服務(wù)等核心部分的設(shè)計(jì)、架構(gòu)經(jīng)驗(yàn)。微博深度學(xué)習(xí)平臺(tái)極大地提升了深度學(xué)習(xí)開(kāi)發(fā)效率和業(yè)務(wù)迭代速度,提高了深度學(xué)習(xí)模型效果和業(yè)務(wù)效果。

深度學(xué)習(xí)平臺(tái)介紹

人工智能和深度學(xué)習(xí)

人工智能為機(jī)器賦予人的智能。隨著計(jì)算機(jī)計(jì)算能力越來(lái)越強(qiáng),在重復(fù)性勞動(dòng)和數(shù)學(xué)計(jì)算方面很快超過(guò)了人類(lèi)。然而,一些人類(lèi)通過(guò)直覺(jué)可以很快解決的問(wèn)題,例如自然語(yǔ)言理解、圖像識(shí)別、語(yǔ)音識(shí)別等,長(zhǎng)期以來(lái)很難通過(guò)計(jì)算機(jī)解決。隨著人工神經(jīng)網(wǎng)絡(luò)算法的成熟、GPU計(jì)算能力的提升,深度學(xué)習(xí)在這些領(lǐng)域也取得了重大的突破,甚至已經(jīng)超越人類(lèi)。深度學(xué)習(xí)大大拓展了人工智能的領(lǐng)域范圍。

深度學(xué)習(xí)框架

深度學(xué)習(xí)框架是進(jìn)行深度學(xué)習(xí)的工具。簡(jiǎn)單來(lái)說(shuō),一套深度學(xué)習(xí)框架就是一套積木,各個(gè)組件就是某個(gè)模型或算法;開(kāi)發(fā)者通過(guò)簡(jiǎn)單設(shè)計(jì)和組裝就能獲得自己的一套方案。深度學(xué)習(xí)框架的出現(xiàn)降低了深度學(xué)習(xí)門(mén)檻。開(kāi)發(fā)者不需要編寫(xiě)復(fù)雜的神經(jīng)網(wǎng)絡(luò)代碼,只需要根據(jù)自己的數(shù)據(jù)集,使用已有模型通過(guò)簡(jiǎn)單配置訓(xùn)練出參數(shù)。

TensorFlow、Caffe和MXNet是三大主流的深度學(xué)習(xí)開(kāi)源框架:TensorFlow的優(yōu)勢(shì)是社區(qū)最活躍,開(kāi)源算法和模型最豐富;Caffe則是經(jīng)典的圖形領(lǐng)域框架,使用簡(jiǎn)單,在科研領(lǐng)域占有重要地位;MXNet在分布式性能上表現(xiàn)優(yōu)異。PaddlePaddle、鯤鵬、Angel則是百度、阿里、騰訊分別推出的分布式計(jì)算框架。

2015年底,Google開(kāi)源了TensorFlow深度學(xué)習(xí)框架,可以讓開(kāi)發(fā)者方便地組合CNN、RNN等模塊實(shí)現(xiàn)復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型。TensorFlow是一個(gè)采用數(shù)據(jù)流圖(data flow graphs),用于數(shù)值計(jì)算的開(kāi)源軟件庫(kù)。

2016年,百度開(kāi)源了PaddlePaddle(PArallel Distributed Deep LEarning 并行分布式深度學(xué)習(xí))深度學(xué)習(xí)框架。PaddlePaddle具有易用,高效,靈活和可伸縮等特點(diǎn),為百度內(nèi)部多項(xiàng)產(chǎn)品提供深度學(xué)習(xí)算法支持。

深度學(xué)習(xí)平臺(tái)

深度學(xué)習(xí)框架主要提供神經(jīng)網(wǎng)絡(luò)模型實(shí)現(xiàn),用于進(jìn)行模型訓(xùn)練。模型訓(xùn)練只是機(jī)器學(xué)習(xí)和深度學(xué)習(xí)中的一環(huán),除此之外還有數(shù)據(jù)輸入、數(shù)據(jù)處理、模型預(yù)測(cè)、業(yè)務(wù)應(yīng)用等重要環(huán)節(jié)。深度學(xué)習(xí)平臺(tái)就是整合深度學(xué)習(xí)各環(huán)節(jié),為開(kāi)發(fā)者提供一體化服務(wù)的平臺(tái)。深度學(xué)習(xí)平臺(tái)能夠加快深度學(xué)習(xí)的開(kāi)發(fā)速度,縮減迭代周期;同時(shí),深度學(xué)習(xí)平臺(tái)能夠?qū)⒂?jì)算能力、模型開(kāi)發(fā)能力共享,提升開(kāi)發(fā)效率和業(yè)務(wù)效果,也能夠?qū)①Y源合理調(diào)度,提高資源利用率。

騰訊深度學(xué)習(xí)平臺(tái)DI-X

騰訊深度學(xué)習(xí)平臺(tái)DI-X于2017年3月發(fā)布。DI-X基于騰訊云的大數(shù)據(jù)存儲(chǔ)與處理能力來(lái)提供一站式的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)服務(wù)。DI-X支持TensorFlow、Caffe以及Torch等三大深度學(xué)習(xí)框架,主要基于騰訊云的GPU計(jì)算平臺(tái)。DI-X的設(shè)計(jì)理念是打造一個(gè)一站式的機(jī)器學(xué)習(xí)平臺(tái),集開(kāi)發(fā)、調(diào)試、訓(xùn)練、預(yù)測(cè)、部署于一體, 讓算法科學(xué)家和數(shù)據(jù)科學(xué)家,無(wú)須關(guān)注機(jī)器學(xué)習(xí)(尤其是深度學(xué)習(xí))的底層工程繁瑣的細(xì)節(jié)和資源,專(zhuān)注于模型和算法調(diào)優(yōu)。

DI-X在騰訊內(nèi)部使用了一年,其主要用于游戲流失率預(yù)測(cè)、用戶標(biāo)簽傳播以及廣告點(diǎn)擊行為預(yù)測(cè)等。

阿里機(jī)器學(xué)習(xí)平臺(tái)PAI

阿里機(jī)器學(xué)習(xí)平臺(tái)PAI1.0于2015年發(fā)布,包括數(shù)據(jù)處理以及基礎(chǔ)的回歸、分類(lèi)、聚類(lèi)算法。阿里機(jī)器學(xué)習(xí)平臺(tái)PAI2.0于2017年3月發(fā)布,配備了更豐富的算法庫(kù)、更大規(guī)模的數(shù)據(jù)訓(xùn)練和全面兼容開(kāi)源的平臺(tái)化產(chǎn)品。深度學(xué)習(xí)是阿里機(jī)器學(xué)習(xí)平臺(tái)PAI2.0的重要功能,支持TensorFlow、Caffe、MXNet框架,這些框架與開(kāi)源接口兼容。在數(shù)據(jù)源方面,PAI2.0支持非結(jié)構(gòu)化、結(jié)構(gòu)化等各種數(shù)據(jù)源;在計(jì)算資源方面,支持CPU、GPU、FPGA等異構(gòu)計(jì)算資源;在工作流方面,支持模型訓(xùn)練和預(yù)測(cè)一體化。

PAI已經(jīng)在阿里巴巴內(nèi)部使用了2年?;谠撈脚_(tái),在淘寶搜索中,搜索結(jié)果會(huì)基于商品和用戶的特征進(jìn)行排序。

百度深度學(xué)習(xí)平臺(tái)

百度深度學(xué)習(xí)平臺(tái)是一個(gè)面向海量數(shù)據(jù)的深度學(xué)習(xí)平臺(tái),基于PaddlePaddle和TensorFlow開(kāi)源計(jì)算框架,支持GPU運(yùn)算,為深度學(xué)習(xí)技術(shù)的研發(fā)和應(yīng)用提供可靠性高、擴(kuò)展靈活的云端托管服務(wù)。通過(guò)百度深度學(xué)習(xí)平臺(tái),不僅可以輕松訓(xùn)練神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)情感分析、機(jī)器翻譯、圖像識(shí)別,也可以利用百度云的存儲(chǔ)和虛擬化產(chǎn)品直接將模型部署至應(yīng)用環(huán)境。

微博深度學(xué)習(xí)平臺(tái)設(shè)計(jì)

微博在Feed CTR、反垃圾、圖片分類(lèi)、明星識(shí)別、視頻推薦、廣告等業(yè)務(wù)上廣泛使用深度學(xué)習(xí)技術(shù),同時(shí)廣泛使用TensorFlow、Caffe、Keras、MXNet等深度學(xué)習(xí)框架。為了融合各個(gè)深度學(xué)習(xí)框架,有效利用CPU和GPU資源,充分利用大數(shù)據(jù)、分布式存儲(chǔ)、分布式計(jì)算服務(wù),微博設(shè)計(jì)開(kāi)發(fā)了微博深度學(xué)習(xí)平臺(tái)。

微博深度學(xué)習(xí)平臺(tái)支持如下特性:

  • 方便易用:支持?jǐn)?shù)據(jù)輸入、數(shù)據(jù)處理、模型訓(xùn)練、模型預(yù)測(cè)等工作流,可以通過(guò)簡(jiǎn)單配置就能完成復(fù)雜機(jī)器學(xué)習(xí)和深度學(xué)習(xí)任務(wù)。特別是針對(duì)深度學(xué)習(xí),僅需選擇框架類(lèi)型和計(jì)算資源規(guī)模,就能模型訓(xùn)練。
  • 靈活擴(kuò)展:支持通用的機(jī)器學(xué)習(xí)算法和模型,以及用戶自定義的算法和模型。
  • 多種深度學(xué)習(xí)框架:目前支持TensorFlow、Caffe等多種主流深度學(xué)習(xí)框架,并進(jìn)行了針對(duì)性優(yōu)化。
  • 異構(gòu)計(jì)算:支持GPU和CPU進(jìn)行模型訓(xùn)練,提高模型訓(xùn)練的效率。
  • 資源管理:支持用戶管理、資源共享、作業(yè)調(diào)度、故障恢復(fù)等功能。
  • 模型預(yù)測(cè):支持一鍵部署深度學(xué)習(xí)模型在線預(yù)測(cè)服務(wù)。

微博深度學(xué)習(xí)平臺(tái)架構(gòu)和實(shí)踐

微博深度學(xué)習(xí)平臺(tái)是微博機(jī)器學(xué)習(xí)平臺(tái)的重要組成部分,除繼承微博機(jī)器學(xué)習(xí)平臺(tái)的特性和功能以外,支持TensorFlow、Caffe等多種主流深度學(xué)習(xí)框架,支持GPU等高性能計(jì)算集群。微博深度學(xué)習(xí)平臺(tái)架構(gòu)如圖1所示。

 

圖1 微博深度學(xué)習(xí)平臺(tái)架構(gòu)

下面將以機(jī)器學(xué)習(xí)工作流、控制中心、深度學(xué)習(xí)模型訓(xùn)練集群、模型在線預(yù)測(cè)服務(wù)等典型模塊為例,介紹微博深度學(xué)習(xí)平臺(tái)的實(shí)踐。

機(jī)器學(xué)習(xí)工作流WeiFlow

微博深度學(xué)習(xí)和機(jī)器學(xué)習(xí)工作流中,原始數(shù)據(jù)收集、數(shù)據(jù)處理、特征工程、樣本生成、模型評(píng)估等流程占據(jù)了大量的時(shí)間和精力。為了能夠高效地端到端進(jìn)行深度學(xué)習(xí)和機(jī)器學(xué)習(xí)的開(kāi)發(fā),我們引入了微博機(jī)器學(xué)習(xí)工作流框架WeiFlow。

WeiFlow的設(shè)計(jì)初衷就是將微博機(jī)器學(xué)習(xí)流的開(kāi)發(fā)簡(jiǎn)單化、傻瓜化,讓業(yè)務(wù)開(kāi)發(fā)人員從紛繁復(fù)雜的數(shù)據(jù)處理、特征工程、模型工程中解脫出來(lái),將寶貴的時(shí)間和精力投入到業(yè)務(wù)場(chǎng)景的開(kāi)發(fā)和優(yōu)化當(dāng)中,徹底解放業(yè)務(wù)人員的生產(chǎn)力,大幅提升開(kāi)發(fā)效率。

WeiFlow的誕生源自于微博機(jī)器學(xué)習(xí)的業(yè)務(wù)需求。在微博的機(jī)器學(xué)習(xí)工作流中(如圖2所示),多種數(shù)據(jù)流經(jīng)過(guò)實(shí)時(shí)數(shù)據(jù)處理,存儲(chǔ)至特征工程并生成離線的原始樣本。在離線系統(tǒng),對(duì)原始樣本進(jìn)行各式各樣的數(shù)據(jù)處理、特征處理、特征映射,從而生成訓(xùn)練樣本;業(yè)務(wù)人員根據(jù)實(shí)際業(yè)務(wù)場(chǎng)景(排序、推薦),選擇不同的算法模型,進(jìn)行模型訓(xùn)練、預(yù)測(cè)、測(cè)試和評(píng)估;待模型迭代滿足要求后,通過(guò)自動(dòng)部署將模型文件和映射規(guī)則部署到線上。線上系統(tǒng)根據(jù)模型文件和映射規(guī)則,從特征工程中拉取相關(guān)特征,根據(jù)映射規(guī)則進(jìn)行預(yù)處理,生成可用于預(yù)測(cè)的樣本格式,進(jìn)行線上實(shí)時(shí)預(yù)測(cè),最終將預(yù)測(cè)結(jié)果(用戶對(duì)微博內(nèi)容的興趣程度)輸出,供線上服務(wù)調(diào)用。

 

圖2 微博機(jī)器學(xué)習(xí)工作流

為了應(yīng)對(duì)微博多樣的計(jì)算環(huán)境,WeiFlow采用了雙層的DAG任務(wù)流設(shè)計(jì),如圖3所示。外層的DAG由不同的Node構(gòu)成,每一個(gè)Node是一個(gè)內(nèi)層的DAG,具備獨(dú)立的執(zhí)行環(huán)境,即上文提及的Spark、TensorFlow、Hive、Storm、Flink等計(jì)算引擎。 

 

圖3 WeiFlow雙層DAG任務(wù)流設(shè)計(jì)

外層DAG設(shè)計(jì)的初衷是利用各個(gè)計(jì)算引擎的特長(zhǎng),同時(shí)解決各個(gè)計(jì)算引擎間的依賴關(guān)系和數(shù)據(jù)傳輸問(wèn)題。內(nèi)層的DAG,利用引擎的特性與優(yōu)化機(jī)制,實(shí)現(xiàn)不同的抽象作為DAG中計(jì)算模塊之間數(shù)據(jù)交互的載體。

在使用方面,業(yè)務(wù)人員根據(jù)事先約定好的規(guī)范和格式,將雙層DAG的計(jì)算邏輯定義在XML配置文件中。依據(jù)用戶在XML指定的依賴關(guān)系和處理模塊,WeiFlow自動(dòng)生成DAG任務(wù)流圖,并在運(yùn)行時(shí)階段調(diào)用處理模塊的實(shí)現(xiàn)來(lái)完成用戶指定的任務(wù)流。通過(guò)在XML配置文件中將所需計(jì)算模塊按照依賴關(guān)系堆疊,即可以搭積木的方式完成配置化、模塊化的流水線作業(yè)開(kāi)發(fā)。

控制中心WeiCenter

控制中心WeiCenter的目標(biāo)就是簡(jiǎn)單、方便、易用,讓大家便利地使用微博深度學(xué)習(xí)平臺(tái)。下面將介紹控制中心的作業(yè)管理、數(shù)據(jù)管理和調(diào)度管理等部分。

作業(yè)管理:我們?cè)谶M(jìn)行深度學(xué)習(xí)、大規(guī)模機(jī)器學(xué)習(xí)、實(shí)時(shí)處理的過(guò)程中,由于需要各種不同框架的配合使用共同完成一個(gè)任務(wù),比如TensorFlow適合進(jìn)行高性能學(xué)習(xí)、Spark適合大規(guī)模億維特征訓(xùn)練、Storm或者Flink適合實(shí)時(shí)特征生成以及實(shí)時(shí)模型生成等,將這些結(jié)合到一起才能完成從離線訓(xùn)練到線上實(shí)時(shí)預(yù)測(cè)。以前這需要開(kāi)發(fā)者去學(xué)習(xí)各種框架復(fù)雜的底層開(kāi)發(fā),現(xiàn)在通過(guò)控制中心選擇不同的作業(yè)類(lèi)型,可以方便地生成各種類(lèi)型的作業(yè)任務(wù)。用戶只需要在可視化UI上進(jìn)行作業(yè)類(lèi)型選擇、數(shù)據(jù)源選擇、輸出目的地選擇或者使用WeiFlow進(jìn)行編程,就能生成一個(gè)高大上的深度學(xué)習(xí)或機(jī)器學(xué)習(xí)作業(yè)。

數(shù)據(jù)管理:當(dāng)大數(shù)據(jù)的數(shù)據(jù)量,每天按P級(jí)增長(zhǎng),使用人員每天上百人時(shí),數(shù)據(jù)管理就顯得尤為重要。如果模型訓(xùn)練的集群和數(shù)據(jù)所在的集群,不是同一個(gè)集群,如何高效地將數(shù)據(jù)同步到模型訓(xùn)練的集群是一個(gè)難點(diǎn)。并且在完成模型訓(xùn)練后,能自動(dòng)根據(jù)訓(xùn)練結(jié)果作出評(píng)估,對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行刪除。由于使用集群的開(kāi)發(fā)人員素質(zhì)不齊,你會(huì)發(fā)現(xiàn)總是有很多冗余數(shù)據(jù)沒(méi)刪除,而且總有無(wú)用數(shù)據(jù)生成,這個(gè)時(shí)候需要一個(gè)統(tǒng)一的數(shù)據(jù)管理平臺(tái),去約束大家生成數(shù)據(jù)的同時(shí)刪除數(shù)據(jù),去各個(gè)平臺(tái)上探測(cè)長(zhǎng)時(shí)間無(wú)訪問(wèn)的數(shù)據(jù)并進(jìn)行確認(rèn)清理。

調(diào)度管理:作業(yè)有多種分類(lèi),按重要程度分:高、中、低;按占用資源量分:占用多、占用一般、占用少;按調(diào)度器分:Yarn、Mesos、Kubernetes等。Spark、Hadoop利用Yarn調(diào)度解決了優(yōu)先級(jí)高的作業(yè)和資源占用多作業(yè)之間的矛盾;TensorFlow利用成熟的Kubernetes或Mesos調(diào)度TensorFlow節(jié)點(diǎn)進(jìn)行GPU集群化任務(wù)管理;普通離線作業(yè)和服務(wù)部署利用Mesos進(jìn)行資源調(diào)度??刂浦行募闪硕喾N調(diào)度器,利用各種成熟的解決方案,簡(jiǎn)化了作業(yè)負(fù)責(zé)調(diào)度這一難題。

總之,控制中心負(fù)責(zé)用戶權(quán)限控制、作業(yè)圖依賴管理、數(shù)據(jù)依賴管理等,調(diào)度服務(wù)負(fù)責(zé)具體的作業(yè)執(zhí)行、資源抽象、資源管理??刂浦行暮驼{(diào)度服務(wù)如圖4所示。

 

圖4 控制中心和調(diào)度服務(wù)

深度學(xué)習(xí)模型訓(xùn)練集群

微博深度學(xué)習(xí)訓(xùn)練集群與傳統(tǒng)HPC集群有重大區(qū)別,分別體現(xiàn)在計(jì)算服務(wù)器選型、分布式訓(xùn)練、網(wǎng)絡(luò)設(shè)備、存儲(chǔ)系統(tǒng)、作業(yè)調(diào)度系統(tǒng)。

單機(jī)多GPU卡:深度學(xué)習(xí)模型訓(xùn)練大部分情況下單機(jī)運(yùn)算,且?guī)缀跬耆揽縂PU,因此選用能掛載2/4/8塊GPU的服務(wù)器,盡量提高單機(jī)運(yùn)算能力。

分布式訓(xùn)練:如果訓(xùn)練時(shí)間長(zhǎng)或者樣本規(guī)模大,超過(guò)單臺(tái)服務(wù)器能力時(shí),需要支持分布式訓(xùn)練。以TensorFlow分布式運(yùn)行方式為例進(jìn)行說(shuō)明,如圖5所示。一個(gè)TensorFlow分布式程序?qū)?yīng)一個(gè)抽象的集群,集群(cluster)由工作節(jié)點(diǎn)(worker)和參數(shù)服務(wù)器(parameter server)組成。工作節(jié)點(diǎn)(worker)承擔(dān)矩陣乘、向量加等具體計(jì)算任務(wù),計(jì)算出相應(yīng)參數(shù)(weight和bias),并把參數(shù)匯總到參數(shù)服務(wù)器;參數(shù)服務(wù)器(parameter server)把從眾多工作節(jié)點(diǎn)收集參數(shù)匯總并計(jì)算,并傳遞給相應(yīng)工作節(jié)點(diǎn),由工作節(jié)點(diǎn)進(jìn)行下一輪計(jì)算,如此循環(huán)往復(fù)。 

 

圖5 TensorFlow分布式架構(gòu)

萬(wàn)兆以太網(wǎng)絡(luò):參數(shù)更新過(guò)程中,通信粒度大,而且允許異步通信,對(duì)延時(shí)沒(méi)有嚴(yán)格要求。因此,訓(xùn)練集群沒(méi)有選用HPC集群必備的InfiniBand或Omini-Path低延時(shí)網(wǎng)絡(luò)設(shè)備,而是選用普通的以太網(wǎng)設(shè)備。

HDFS分布式文件系統(tǒng):TensorFlow分布式工作節(jié)點(diǎn)讀取訓(xùn)練樣本文件時(shí),不同工作節(jié)點(diǎn)讀取的數(shù)據(jù)段不交叉,訓(xùn)練過(guò)程中也不會(huì)交換樣本數(shù)據(jù)。寫(xiě)出模型文件也只有某一個(gè)工作節(jié)點(diǎn)負(fù)責(zé),不涉及工作節(jié)點(diǎn)間的數(shù)據(jù)交換。因此,深度學(xué)習(xí)訓(xùn)練作業(yè)不要求HPC機(jī)群中常見(jiàn)的并行文件系統(tǒng),只要是一個(gè)能被所有工作節(jié)點(diǎn)同時(shí)訪問(wèn)文件系統(tǒng)就可以。實(shí)際上,微博深度學(xué)習(xí)平臺(tái)采用HDFS,不但滿足要求,而且方便與其它業(yè)務(wù)共享數(shù)據(jù)。

定制的作業(yè)調(diào)度系統(tǒng):TensorFlow分布式參數(shù)服務(wù)器進(jìn)程不會(huì)自動(dòng)結(jié)束,需要手動(dòng)殺死,而HPC應(yīng)用中的MPI進(jìn)程同時(shí)開(kāi)始同時(shí)結(jié)束。設(shè)計(jì)作業(yè)調(diào)度方案時(shí)必須考慮這個(gè)特點(diǎn),使之能夠在所有工作節(jié)點(diǎn)都運(yùn)行結(jié)束后自動(dòng)殺死參數(shù)服務(wù)器進(jìn)程。

模型在線預(yù)測(cè)服務(wù)WeiServing

模型在線預(yù)測(cè)服務(wù)是深度學(xué)習(xí)平臺(tái)的一個(gè)重要功能。由于微博業(yè)務(wù)場(chǎng)景需求,模型在線預(yù)測(cè)服務(wù)并發(fā)量大,對(duì)延時(shí)、可用性要求極高??紤]到這些業(yè)務(wù)需求以及服務(wù)本身以后的高擴(kuò)展性,微博分布式模型在線預(yù)測(cè)服務(wù)WeiServing的架構(gòu)如圖6所示。

 

圖6 WeiServing-微博分布式模型在線預(yù)測(cè)服務(wù)架構(gòu)

特征處理多樣化:模型在線預(yù)測(cè)服務(wù)首先要解決的問(wèn)題是,將在線的原始特征數(shù)據(jù),映射成模型可以處理的數(shù)據(jù)格式?;诖罅康臉I(yè)務(wù)模型實(shí)踐與調(diào)優(yōu),微博機(jī)器學(xué)習(xí)工作流框架WeiFlow抽象出了一套特征處理函數(shù),來(lái)提升開(kāi)發(fā)效率和業(yè)務(wù)效果。WeiServing與WeiFlow在特征處理方面一脈相承,支持一系列特征處理函數(shù),包括piecewise、pickcat、descartes、combinehash等映射函數(shù),對(duì)特征進(jìn)行歸一化、離散化、ID化、組合等特征處理。

多模型多版本支持:由于微博業(yè)務(wù)場(chǎng)景多種多樣,不同的業(yè)務(wù)場(chǎng)景對(duì)模型與特征有不同的需求,WeiServing支持同一個(gè)集群為多個(gè)業(yè)務(wù)提供服務(wù),通過(guò)docker+k8s進(jìn)行資源隔離與負(fù)載均衡。在相同特征情況下,可以選擇不同的模型算法進(jìn)行處理。另外,對(duì)于同一個(gè)模型,WeiServing支持在線升級(jí)與多版本同時(shí)在線,為業(yè)務(wù)灰度測(cè)試提供可能。所有的差異化都被映射到配置文件中,通過(guò)簡(jiǎn)單的配置來(lái)完成線上模型的轉(zhuǎn)換。

分布式服務(wù)支持:為了應(yīng)對(duì)大規(guī)模模型服務(wù)與在線機(jī)器學(xué)習(xí),WeiServing參考通用的參數(shù)服務(wù)器解決方案,實(shí)現(xiàn)了WeiParam分布式服務(wù)架構(gòu),除了支持傳統(tǒng)的PS功能之外,WeiParam針對(duì)在線服務(wù)需求,通過(guò)分布式調(diào)度系統(tǒng),提供多副本、高可用、高性能的系統(tǒng)機(jī)制。

多源支持:對(duì)于普通離線學(xué)習(xí),模型會(huì)導(dǎo)出到文件中,WeiServing通過(guò)ModelManager模塊管理模型加載,支持本地存儲(chǔ)與分布式存儲(chǔ)。同時(shí),WeiServing為支持在線機(jī)器學(xué)習(xí),提供對(duì)實(shí)時(shí)流接口對(duì)接,在線訓(xùn)練的模型參數(shù)可以實(shí)時(shí)推送到WeiParam中,為線上提供服務(wù)。

總結(jié)

本文介紹了深度學(xué)習(xí)框架和平臺(tái)的概念和特征,基于微博深度學(xué)習(xí)平臺(tái)深入探討了深度學(xué)習(xí)平臺(tái)的設(shè)計(jì)思考和技術(shù)架構(gòu)。機(jī)器學(xué)習(xí)工作流和控制中心是我們?cè)谝?guī)范機(jī)器學(xué)習(xí)工作流程的設(shè)計(jì)成果,系統(tǒng)化的標(biāo)準(zhǔn)流程能極大提升機(jī)器學(xué)習(xí)開(kāi)發(fā)效率和業(yè)務(wù)迭代速度。深度學(xué)習(xí)模型訓(xùn)練集群和模型在線預(yù)測(cè)服務(wù)是我們?cè)谏疃葘W(xué)習(xí)模型訓(xùn)練、模型預(yù)測(cè)的集群化、服務(wù)化方面的系統(tǒng)產(chǎn)出,是保障模型效果和業(yè)務(wù)效果的基礎(chǔ)。希望上述介紹能給大家?guī)?lái)思考和幫助。 

責(zé)任編輯:龐桂玉 來(lái)源: 36大數(shù)據(jù)
相關(guān)推薦

2017-09-18 17:00:04

云深度學(xué)習(xí)機(jī)器學(xué)習(xí)云服務(wù)

2017-11-14 16:59:47

新浪微博深度學(xué)習(xí)

2019-11-21 09:49:29

架構(gòu)運(yùn)維技術(shù)

2018-09-26 09:24:15

微博WAIC架構(gòu)

2010-07-23 15:30:18

2011-12-08 16:31:43

新浪微博開(kāi)放平臺(tái)

2017-10-10 15:20:10

架構(gòu)數(shù)據(jù)存儲(chǔ)PB級(jí)數(shù)據(jù)

2011-12-08 13:55:39

網(wǎng)易開(kāi)放平臺(tái)

2011-12-08 16:51:55

新浪微博開(kāi)放平臺(tái)

2023-03-27 08:05:27

數(shù)字化轉(zhuǎn)型MLOps

2019-12-12 10:22:16

大數(shù)據(jù)平臺(tái)大數(shù)據(jù)安全大數(shù)據(jù)

2022-01-07 16:24:30

Kubernetes容器平臺(tái)

2011-12-08 16:10:18

2018-11-08 09:37:08

微博系統(tǒng)架構(gòu)

2018-05-16 14:04:05

人工智能新浪微博實(shí)時(shí)流計(jì)算

2023-03-01 18:12:16

平臺(tái)架構(gòu)設(shè)計(jì)

2024-03-05 08:21:23

湖倉(cāng)一體數(shù)據(jù)湖數(shù)據(jù)倉(cāng)庫(kù)

2020-02-24 21:23:41

跨平臺(tái)想法嘗試

2015-09-24 18:08:50

微博架構(gòu)架構(gòu)演進(jìn)架構(gòu)

2023-12-04 11:13:46

AIoT智能物聯(lián)網(wǎng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)