最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

螞蟻千 X 千模技術(shù)與應(yīng)用

2022-12-12 11:13 作者:支付寶體驗(yàn)科技  | 我要投稿

?????♀? 編者按:本文是支付寶體驗(yàn)科技沙龍第 3 期-走進(jìn)螞蟻端智能技術(shù)回顧系列文章。作者是螞蟻集團(tuán)研發(fā)工程師南烽,介紹了螞蟻千 X 千模技術(shù)(包括千人千模、千機(jī)千模等)的適用場(chǎng)景,以及在螞蟻端智能中,千 X 千模從模型研發(fā)、模型發(fā)布、線上監(jiān)控等各個(gè)環(huán)節(jié)的技術(shù)方案,和在一些實(shí)際業(yè)務(wù)中取得的階段進(jìn)展。

背景介紹

傳統(tǒng)模型應(yīng)用方式-千人千面

圖片


在介紹千 X 千模之前,先來(lái)舉個(gè)例子,用傳統(tǒng)的方法,我們是如何使用模型,對(duì)不同的用戶進(jìn)行預(yù)測(cè)的。

比如我們想要預(yù)測(cè)小明晚上會(huì)選擇吃什么,是會(huì)吃米飯呢、還是面條呢、還是餃子。那我們會(huì)怎么做,第一步去選擇一些能夠?qū)︻A(yù)測(cè)結(jié)果有幫助的特征,比如小明老家是哪里的,要是在西安可能喜歡吃面的概率會(huì)大一些,也會(huì)加入一些節(jié)氣的信息,比如當(dāng)天立冬,那吃餃子的概率也會(huì)增加一些。

有了特征之后,就需要構(gòu)造一些訓(xùn)練樣本,比如觀察1萬(wàn)個(gè)用戶,老家是哪里的、今天是什么日子作為特征,以及他今天吃的是什么作為標(biāo)簽。有了這些信息,就可以訓(xùn)練一個(gè)模型了,讓模型去預(yù)測(cè)小明晚上會(huì)吃什么。

顯而易見,這里是如何預(yù)測(cè)每個(gè)用戶呢,就是通過(guò)提取到的特征的差異,去預(yù)測(cè)出不同的結(jié)果。大家一般把這種模式叫做千人千面。這種模式在云智能里是得到廣泛運(yùn)用的,也得到了很不錯(cuò)的效果。對(duì)于端智能來(lái)講,最開始也是采用的這種模式,但在運(yùn)行的過(guò)程當(dāng)中,我們也發(fā)現(xiàn)了一些問題。

問題1:機(jī)型算力差異

第一個(gè)問題,就是機(jī)型算力的差異。相比于服務(wù)端的部署環(huán)境來(lái)說(shuō),端智能的情況會(huì)更復(fù)雜。

先來(lái)看下服務(wù)端的模型部署方式。服務(wù)端的模型都會(huì)部署在服務(wù)器里,雖然有的部署在物理機(jī)、有的在虛擬機(jī)、有的在容器中,但對(duì)于同一個(gè)模型來(lái)講,部署的環(huán)境和介質(zhì)基本都是一致的,也就是模型在各個(gè)容器中運(yùn)行的性能是基本一致的。另外,如果當(dāng)我們發(fā)現(xiàn)模型運(yùn)行時(shí)間偏長(zhǎng),并發(fā)量又比較高的時(shí)候,現(xiàn)有的服務(wù)器資源已經(jīng)不能滿足業(yè)務(wù)的訴求的時(shí)候,我們也可以采用增加一些服務(wù)器資源的方式來(lái)抗住。

但是在端上,就麻煩的多。一個(gè)是用戶手機(jī)的性能參差不齊,支付寶的用戶覆蓋范圍很廣,使用的手機(jī)的算力也都不盡相同,有使用今年最新款旗艦機(jī)的用戶,也有兩三年沒有更換手機(jī),那手機(jī)的算力差異是很大的??梢钥聪掠疫叺乃膹垐D片,是我們統(tǒng)計(jì)的線上模型的實(shí)際運(yùn)行耗時(shí),可以看到,同一個(gè)模型,在不同手機(jī)里,運(yùn)算耗時(shí)的分布差異還是很大的。另外,對(duì)于一些運(yùn)行的慢的手機(jī),我們也不能像服務(wù)端一樣去擴(kuò)容,所以對(duì)于這種情況,算法同學(xué)采用的更多的方法,就是去調(diào)整模型的復(fù)雜度,把模型做的更簡(jiǎn)單,去提高執(zhí)行的成功率,但也就會(huì)帶來(lái)一個(gè)問題,就是模型的精度會(huì)有所下降。

問題2:人群特征差異

圖片


除了算力的差異,還會(huì)存在人群特征的差異。這個(gè)問題其實(shí)是端智能和云智能都會(huì)遇到的。

在訓(xùn)練模型的時(shí)候,會(huì)使用所有的數(shù)據(jù)作為訓(xùn)練樣本。模型在訓(xùn)練的時(shí)候,會(huì)朝著全局最優(yōu)的方向去搜索模型的參數(shù)。這里我們展開來(lái)分析一下。對(duì)于一些高頻的用戶,會(huì)貢獻(xiàn)出更多的訓(xùn)練樣本,那模型在訓(xùn)練的時(shí)候,就會(huì)更傾向于這些用戶,因?yàn)檫@些用戶在實(shí)際的業(yè)務(wù)結(jié)果中,也會(huì)有更高的權(quán)重。但是對(duì)于一些低頻甚至長(zhǎng)尾的用戶,他們的行為有可能是和高頻用戶不一致的,但是在模型搜索全局最優(yōu)解的時(shí)候,就會(huì)一定程度上忽略模型在這些用戶身上的表現(xiàn),也就是會(huì)出現(xiàn)馬太效應(yīng)。

千X千模

解題思路

圖片

針對(duì)于以上的這兩個(gè)問題,介紹下我們的解題思路,也就是大家常說(shuō)的千機(jī)千模、千人千模。

對(duì)于客戶端算力的差異,我們會(huì)思考,如何讓高端機(jī)發(fā)揮出更大的算力能力,同時(shí)也讓低端機(jī)也能夠去運(yùn)行一些模型。那說(shuō)到這解法就比較明顯了,就是我們準(zhǔn)備一組模型,有復(fù)雜的、也有簡(jiǎn)單的,讓高端機(jī)去跑復(fù)雜模型,拿到更好的模型預(yù)測(cè)結(jié)果,讓低端機(jī)去跑簡(jiǎn)單模型,保證模型的執(zhí)行成功率,也就是按照算力,去分配不同復(fù)雜度的模型。

對(duì)于人群的差異,現(xiàn)在有一個(gè)詞比較流行,叫“精細(xì)化”,這個(gè)詞和千人千模的思路也是比較契合的。針對(duì)于用戶的特點(diǎn),我們可以對(duì)用戶進(jìn)行聚類,將相似的用戶聚到一起,去針對(duì)這個(gè)人群,單獨(dú)去訓(xùn)練一個(gè)模型,那這個(gè)模型對(duì)這個(gè)人群的描述,肯定會(huì)強(qiáng)于全局模型對(duì)這個(gè)用戶的描述。所以我們?cè)诮o用戶發(fā)布模型的時(shí)候,也會(huì)根據(jù)用戶所在的人群,去匹配對(duì)應(yīng)的模型。

千機(jī)千模和千人千模分別解決了算力和人群的差異問題,我們自然而然就會(huì)有一個(gè)思路,是不是可以將這兩者結(jié)合起來(lái),同時(shí)解決算力和人群的差異問題,除此之外,螞蟻端智能還有一些其他維度的“千模”,我們將這些統(tǒng)一稱之為千X千模。

千 X 千模工程鏈路升級(jí)

圖片

從單模型做到千模型,是不是只需要把 1 個(gè)模型復(fù)制 1000 遍就可以了呢,實(shí)際的生產(chǎn)過(guò)程遠(yuǎn)沒有這么簡(jiǎn)單。由 1 到 1000,會(huì)對(duì)兩個(gè)環(huán)節(jié)產(chǎn)生挑戰(zhàn),一個(gè)是離線研發(fā)階段,一個(gè)是線上發(fā)布階段。

先來(lái)看離線研發(fā)。在做千 X 千模之前,我們的離線研發(fā)主要以手動(dòng)為主,從模型訓(xùn)練、到 xNN 轉(zhuǎn)換、再到 git 打包、真機(jī)評(píng)測(cè),都需要手動(dòng)來(lái)完成,并且需要在三四個(gè)平臺(tái)之間來(lái)回跳轉(zhuǎn)和傳輸數(shù)據(jù)。當(dāng)只有一個(gè)模型的時(shí)候,我們覺著效率還好,10 分鐘左右就能夠完成全部的流程,但是當(dāng)模型變成 1000 個(gè),如果還是依靠手動(dòng)來(lái)做,那就可不接受了。所以在離線研發(fā)階段,我們做了全鏈路的升級(jí),將多個(gè)平臺(tái)打通,串聯(lián)起相關(guān)的流程,自動(dòng)的完成離線的所有準(zhǔn)備工作。除此之外,與單模型相比,千 X 千模在離線研發(fā)階段,還需要多產(chǎn)生兩份數(shù)據(jù),一個(gè)是人群庫(kù),另一個(gè)是設(shè)備庫(kù),用于在用戶拉取模型時(shí),判斷用戶到底需要拉取的是哪個(gè)模型。

前面也提到過(guò),千人千模的這個(gè)問題不止在端智能中會(huì)遇到,在云智能中,也會(huì)有同樣的問題,并且云智能的發(fā)展遠(yuǎn)遠(yuǎn)早于端智能,但為什么云智能沒有去解決這個(gè)問題呢。我們知道服務(wù)端的模型部署方式是依賴服務(wù)器的提前部署的,所以當(dāng)模型數(shù)量從 1 個(gè)變?yōu)?1000 個(gè)的時(shí)候,對(duì)服務(wù)端模型的部署速度、資源的利用率都會(huì)帶來(lái)很大的挑戰(zhàn),甚至于是無(wú)法實(shí)現(xiàn)的。但是對(duì)于端智能來(lái)講,雖然全局看模型數(shù)量從 1 變?yōu)?1000,但是對(duì)于用戶來(lái)講,只會(huì)拉取到一個(gè)模型,所以對(duì)端的運(yùn)行時(shí)來(lái)講,復(fù)雜度沒有明顯的增加,更多的難點(diǎn)在于云上如何去準(zhǔn)確的發(fā)布模型。

端智能統(tǒng)一發(fā)布鏈路升級(jí)

圖片

接下來(lái)介紹下發(fā)布階段的工程實(shí)現(xiàn)過(guò)程。螞蟻端智能的發(fā)布也是經(jīng)歷的兩個(gè)階段,左邊是第一階段,是在螞蟻端智能剛起步的時(shí)候,我們采用的技術(shù)方案。這里需要說(shuō)一個(gè)前提,螞蟻對(duì)線上故障的重視程度是很高的,也有標(biāo)準(zhǔn)的流程把控,以及相關(guān)的配套能力。所有線上變更,都需要嚴(yán)格的遵循三板斧原則,也就是可監(jiān)控、可灰度、可回滾。對(duì)于客戶端的發(fā)布,會(huì)有客戶端配置中心來(lái)承擔(dān)這個(gè)職責(zé),這個(gè)鏈路具備完整的三板斧能力,并且在發(fā)生穩(wěn)定性風(fēng)險(xiǎn)的時(shí)候,可以自動(dòng)的對(duì)變更進(jìn)行熔斷,快速止血。所以端智能最開始直接復(fù)用了這個(gè)鏈路,能夠讓業(yè)務(wù)快速的跑起來(lái)。

隨著端智能業(yè)務(wù)規(guī)模的發(fā)展,我們也遇到了一些問題:第一點(diǎn),千 X 千模的發(fā)布,客戶端配置的方案無(wú)法支持??蛻舳伺渲檬腔谝?guī)則做的發(fā)布,比如基于品牌、機(jī)型、操作系統(tǒng)、版本號(hào)等等,但千 X 千模是需要基于每個(gè)用戶的維度單獨(dú)計(jì)算;第二點(diǎn),客戶端配置作為一個(gè)支付寶 APP 的基礎(chǔ)服務(wù),在日常以及大促階段都是需要高保的,但端智能的場(chǎng)景,對(duì)發(fā)布的時(shí)效性和到達(dá)率的要求并沒有那么高,導(dǎo)致客戶端配置需要更多的資源來(lái)保障端智能業(yè)務(wù),這其實(shí)是不需要的;第三點(diǎn),客戶端配置是有配置大小的限制的,而端智能的發(fā)布任務(wù),經(jīng)常會(huì)有比較大的數(shù)據(jù)傳輸,很容易就超過(guò)了限制大小。

所以基于以上的問題,我們對(duì)端智能的統(tǒng)一發(fā)布進(jìn)行了鏈路升級(jí),采用二階段的方法來(lái)實(shí)現(xiàn)。先利用客戶端配置通道完善的三板斧能力,將端智能的配置 ID 下發(fā)下去,端智能再基于 ID 信息,重新計(jì)算和拉取真正需要用的配置內(nèi)容。這樣雖然多了一次網(wǎng)絡(luò)請(qǐng)求,但是能夠完美的解決上面提到的這三個(gè)問題。

千 X 千模的挑戰(zhàn)

在做千 X 千模的時(shí)候,也會(huì)遇到一些問題,挑幾個(gè)典型的來(lái)說(shuō)一下:

  1. 是不是模型數(shù)量越多,效果越好。最開始我們的想法是這樣的,所以模型數(shù)量做的比較多,但實(shí)際的情況來(lái)看,隨著模型數(shù)量的增加,效果并不一定會(huì)增長(zhǎng),甚至遞減。分析原因,可能是由于某些人群的樣本不夠豐富,導(dǎo)致過(guò)擬合的情況

  2. 千機(jī)千模里,模型與設(shè)備算力如何關(guān)聯(lián)呢 算力是一個(gè)自定義的指標(biāo),主要是由硬件來(lái)決定的。所以我們會(huì)在離線通過(guò)真機(jī)測(cè)試的方式,對(duì)設(shè)備進(jìn)行分級(jí),用于線上的匹配 當(dāng)然,對(duì)于同一個(gè)手機(jī),在不同的運(yùn)行環(huán)境下,所能提供的算力也是有差別的。所以未來(lái)我們也會(huì)基于線上的運(yùn)行數(shù)據(jù),甚至手機(jī)當(dāng)時(shí)的運(yùn)行環(huán)境,去做動(dòng)態(tài)的千機(jī)千模

  3. 上線后,如何才能發(fā)現(xiàn)有問題的模型呢 我們采用的方案是在線上做圈人實(shí)驗(yàn),監(jiān)控各個(gè)模型的線上表現(xiàn),發(fā)現(xiàn)效果較差的模型的話,會(huì)將這個(gè)模型替換掉

業(yè)務(wù)結(jié)果

圖片

最后看一下千 X 千模給業(yè)務(wù)帶來(lái)的幫助。

業(yè)務(wù) 1 使用的是千人千模,這個(gè)業(yè)務(wù)在 20 年的時(shí)候開始使用端智能,經(jīng)過(guò)了 2 年的時(shí)間,指標(biāo)從 92.5 提升到了 94.6,也達(dá)到了一個(gè)瓶頸。在今天升級(jí)到千 X 千模的模式,從離線分析看,絕對(duì)值又提升了 1 個(gè)百分點(diǎn),最近看了下線上的指標(biāo),會(huì)有 1.5 個(gè)百分點(diǎn)的提升,效果還是很明顯的。

業(yè)務(wù) 2 使用的是千機(jī)千模的能力,在之前為了保證線上模型的執(zhí)行成功率,是能使用最小的模型,準(zhǔn)確率只有 85.7,通過(guò)對(duì)機(jī)型進(jìn)行分級(jí),可以對(duì)部分設(shè)備下發(fā)更大的模型,模型的表現(xiàn)也有一定的提升。

螞蟻千 X 千模技術(shù)與應(yīng)用的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
洞头县| 呼和浩特市| 新乡县| 营口市| 永定县| 连南| 瑞昌市| 永定县| 长治市| 富蕴县| 宣恩县| 建昌县| 道孚县| 麦盖提县| 万年县| 治多县| 延吉市| 简阳市| 自治县| 广河县| 铜陵市| 元阳县| 土默特左旗| 大邑县| 西畴县| 临潭县| 大余县| 台安县| 鹤岗市| 丰城市| 醴陵市| 荥阳市| 湖南省| 丘北县| 靖州| 靖宇县| 肥西县| 东辽县| 安泽县| 房产| 类乌齐县|