《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 业界动态 > 字节跳动破局联邦学习:开源Fedlearner框架,广告投放增效209%

字节跳动破局联邦学习:开源Fedlearner框架,广告投放增效209%

2020-11-03
來源: 机器之心
關(guān)鍵詞: 字节跳动 联邦学习

  本文介紹了字節(jié)跳動(dòng)聯(lián)邦學(xué)習(xí)技術(shù)團(tuán)隊(duì)自研的聯(lián)邦學(xué)習(xí)平臺(tái) Fedlearner ,分享了該平臺(tái)的技術(shù)實(shí)現(xiàn)與落地應(yīng)用體驗(yàn),向讀者展示了字節(jié)跳動(dòng)如何聯(lián)邦學(xué)習(xí)落地難題的突破點(diǎn)。

  作為分布式的機(jī)器學(xué)習(xí)范式,聯(lián)邦學(xué)習(xí)能夠有效解決數(shù)據(jù)孤島問題,讓參與方在不共享數(shù)據(jù)的基礎(chǔ)上聯(lián)合建模,挖掘數(shù)據(jù)價(jià)值。

  近兩年,聯(lián)邦學(xué)習(xí)技術(shù)發(fā)展迅速,阿里、騰訊、百度、京東、螞蟻金服、微眾銀行等一眾互聯(lián)網(wǎng)大廠、金融科技公司皆涉足其中。前不久,字節(jié)跳動(dòng)聯(lián)邦學(xué)習(xí)技術(shù)團(tuán)隊(duì)也開源了自研的聯(lián)邦學(xué)習(xí)平臺(tái) Fedlearner 。

  據(jù)介紹,字節(jié)跳動(dòng)聯(lián)邦學(xué)習(xí)平臺(tái) Fedlearner 已經(jīng)在電商、金融、教育等行業(yè)多個(gè)落地場景實(shí)際應(yīng)用。字節(jié)跳動(dòng)聯(lián)邦學(xué)習(xí)技術(shù)負(fù)責(zé)人吳迪在接受 InfoQ 專訪時(shí)表示,聯(lián)邦學(xué)習(xí)面臨的困難更多是如何為客戶爭取可感知的最大商業(yè)價(jià)值,不同行業(yè)的伙伴,其產(chǎn)品特點(diǎn)和價(jià)值訴求各不相同。

  得益于字節(jié)跳動(dòng)在推薦和廣告領(lǐng)域長期積累的機(jī)器學(xué)習(xí)建模技術(shù),字節(jié)跳動(dòng)聯(lián)邦學(xué)習(xí)找到了幫助企業(yè)客戶取得可感知商業(yè)價(jià)值的方向,即基于字節(jié)跳動(dòng)的個(gè)性化推薦算法、模型優(yōu)勢,探索、尋找落地場景。例如在電商廣告場景的落地案例中,F(xiàn)edlearner 已經(jīng)幫助合作方取得了 10% 以上的投放效率增長,跑量消耗提升 15%+,電商平臺(tái) ROI 提升 20%+。

微信圖片_20201103165741.png

微信圖片_20201103165746.png

  除了電商行業(yè),在與教育行業(yè)頭部客戶共同探索聯(lián)邦學(xué)習(xí)落地的過程中,效果也得到了比較好的印證,幫助教育客戶廣告跑量提升 124.73%,正價(jià)課續(xù)報(bào)人數(shù)提升 211.54%,續(xù)報(bào)率提升 32.69%,正價(jià)課續(xù)費(fèi)用戶獲客成本降低 11.73%。

  即便如此,從整個(gè)行業(yè)來說,目前聯(lián)邦學(xué)習(xí)技術(shù)的落地仍然存在困難,在安全與效率的兼顧和平衡上,在建模能力和機(jī)器學(xué)習(xí)算法的進(jìn)化上,平臺(tái)與企業(yè)需要做的事情還有很多。

  本文中,我們將分享字節(jié)跳動(dòng)聯(lián)邦學(xué)習(xí)平臺(tái) Fedlearner 的技術(shù)實(shí)現(xiàn)與落地應(yīng)用經(jīng)驗(yàn),看字節(jié)跳動(dòng)如何尋找聯(lián)邦學(xué)習(xí)落地難題的突破口。

  1、聯(lián)邦學(xué)習(xí)平臺(tái) Fedlearner 的技術(shù)落地與挑戰(zhàn)

  字節(jié)跳動(dòng)聯(lián)邦學(xué)習(xí)團(tuán)隊(duì)在 2020 年初低調(diào)開源了自研的聯(lián)邦學(xué)習(xí)平臺(tái) Fedlearner(項(xiàng)目地址:https://github.com/bytedance/fedlearner ),并一直持續(xù)更新,在 2020 年 10 月 26 日上線了 v1.5 版本。

  吳迪對(duì) InfoQ 表示:「之所以開源 Fedlearner ,一方面是字節(jié)跳動(dòng)擁有海量的用戶數(shù)據(jù),深知保護(hù)用戶數(shù)據(jù)安全的重要性,希望通過開源 Fedlearner ,和行業(yè)伙伴一起推動(dòng)隱私計(jì)算的發(fā)展,與客戶一起保護(hù)用戶數(shù)據(jù)安全。另一方面,在保護(hù)用戶數(shù)據(jù)安全的同時(shí),也建立我們平臺(tái)開放透明的機(jī)制,提升客戶的信任度。」

  Fedlearner 聯(lián)邦學(xué)習(xí)平臺(tái)可以支持多類聯(lián)邦學(xué)習(xí)模式,整個(gè)系統(tǒng)包括控制臺(tái)、訓(xùn)練器、數(shù)據(jù)處理、數(shù)據(jù)存儲(chǔ)等模塊,各模塊對(duì)稱部署在參與聯(lián)邦的雙方的集群上,透過代理互相通信,實(shí)現(xiàn)訓(xùn)練。

微信圖片_20201103170038.png

  數(shù)據(jù)求交

  Fedlearner 雙方在發(fā)起訓(xùn)練之前,必須要基于雙方的數(shù)據(jù)進(jìn)行求交,找出交集從而實(shí)現(xiàn)模型訓(xùn)練。通常情況下,訓(xùn)練數(shù)據(jù)求交的方式主要分為兩種,一種是流式數(shù)據(jù)求交,一種是 PSI 數(shù)據(jù)求交。

  流式數(shù)據(jù)求交

  流式數(shù)據(jù)通常是指由共同在線流量產(chǎn)生的數(shù)據(jù),例如在廣告場景下,用戶點(diǎn)擊一次廣告,會(huì)在媒體平臺(tái)和廣告主兩側(cè)各自產(chǎn)生一條數(shù)據(jù)記錄。為了基于 Fedlearner 聯(lián)合訓(xùn)練模型,必須先把這兩條數(shù)據(jù)記錄對(duì)齊并生成一條樣本。

  不過,在流式數(shù)據(jù)的場景下,因?yàn)閿?shù)據(jù)落盤時(shí)間、樣本存儲(chǔ)可靠性都無法統(tǒng)一,而且雙方還會(huì)存在樣本缺失和樣本順序不統(tǒng)一的問題。因此,必須有一套協(xié)議,把雙方樣本按樣本 example_id 取交集并統(tǒng)一排序,計(jì)算出雙方共有的樣本條目用來進(jìn)行模型訓(xùn)練。

微信圖片_20201103170107.png

  如前所述,F(xiàn)edlearner 目前應(yīng)用的場景大多需要處理大規(guī)模數(shù)據(jù),為此,在流式數(shù)據(jù)處理中,F(xiàn)edlearner 預(yù)先把數(shù)據(jù)按照 example_id 哈希分為 N 個(gè) partition。求交時(shí)雙方各自拉起 N 個(gè) worker,配對(duì)后形成 N 對(duì),每對(duì)處理一個(gè) partition。每對(duì) worker 中,擔(dān)任 leader 的 worker 向 follower 順序發(fā)送自己數(shù)據(jù)流中的 example_id,follower 收到后和自己的本地?cái)?shù)據(jù)流求交,然后把交集發(fā)送回 leader。

  實(shí)際處理過程中,進(jìn)行聯(lián)邦學(xué)習(xí)訓(xùn)練的雙方,其數(shù)據(jù)處理流程通常是不同的,樣本在雙方的存儲(chǔ)調(diào)用順序也都是不同的。所以在求交時(shí),通常會(huì)使用 key-value 查詢機(jī)制,這種查詢機(jī)制是隨機(jī)訪問全量數(shù)據(jù)進(jìn)行查詢,但是隨機(jī)訪問全量數(shù)據(jù)的代價(jià)過大,比如為了處理大數(shù)據(jù)量,KV 數(shù)據(jù)庫搭建和維護(hù)的成本就非常高。

  為了解決這一問題, Fedlearner 采用了時(shí)間窗的方式,即在內(nèi)存里維護(hù)兩側(cè)時(shí)間相近的樣本,放棄少部分超出時(shí)間窗的樣本,從而大大降低了設(shè)備和運(yùn)維成本。

  PSI 數(shù)據(jù)求交

  與流式數(shù)據(jù)不同,還有一些場景下的數(shù)據(jù),并不是由共同的線上流量產(chǎn)生的,而是由各方獨(dú)自記錄,例如不同金融機(jī)構(gòu)記錄的用戶畫像數(shù)據(jù)。

  對(duì)于此類由各方獨(dú)自記錄的數(shù)據(jù),進(jìn)行模型訓(xùn)練之前,需要使用雙方共有的用戶信息(例如用戶 ID )來找出雙方用戶的交集。例如,A 機(jī)構(gòu)有 2 億用戶數(shù)據(jù),B 機(jī)構(gòu)有 4 億用戶數(shù)據(jù),如果希望求出 A 與 B 機(jī)構(gòu)共有的 1.5 億用戶,就需要找出雙方機(jī)構(gòu)中相同的用戶 ID,以此來找出雙方交集的 1.5 億用戶。

  不過,在雙方找出交集的過程中,A 機(jī)構(gòu)不希望將自身用戶中不與 B 機(jī)構(gòu)相交的 0.5 億用戶泄露給對(duì)方,同樣,B 機(jī)構(gòu)也不希望將自身用戶中不與 A 機(jī)構(gòu)相交的 2.5 億用戶泄露給對(duì)方。

  為此,F(xiàn)edlearner 團(tuán)隊(duì)采用了 PSI(Private Set Intersection,隱私保護(hù)集合交集)加密數(shù)據(jù)求交的方式。

  PSI 加密數(shù)據(jù)求交方式允許持有各自集合的兩方來共同計(jì)算兩個(gè)集合的交集。在這個(gè)過程中,無論是在傳輸還是在計(jì)算時(shí),雙方真實(shí)的用戶 ID 都會(huì)被加密和隱藏起來,這樣,在計(jì)算交互的最后,一方或是兩方都可以得到正確的交集,而且不會(huì)得到交集以外另一方集合中的任何信息。

微信圖片_20201103170133.png

  由于需要處理離線單獨(dú)存儲(chǔ)的數(shù)據(jù),PSI 加密數(shù)據(jù)求交的方式需要分為兩步。首先是在離線場景下,對(duì)雙方的全量 ID 進(jìn)行安全加密,基本流程是:


  字節(jié)將全量的原始字節(jié) ID 用私鑰加密并哈希,把原始字節(jié) ID 映射到哈希加密字節(jié) ID 落入數(shù)據(jù)庫;

  客戶將全量或增量的原始客戶 ID 加盲,傳輸給字節(jié);

  字節(jié)對(duì)收到的加盲數(shù)據(jù)用私鑰加密,將加密的結(jié)果回傳給客戶;

  客戶對(duì)收到的加密加盲數(shù)據(jù)去盲并哈希,把哈希加密客戶 ID 映射回原始客戶 ID 落入數(shù)據(jù)庫。


  離線場景完成之后,雙方就可以在在線場景中進(jìn)行實(shí)時(shí)求交:


  字節(jié)將實(shí)時(shí)流量的原始字節(jié) ID 查詢出哈希加密字節(jié) ID,傳輸給客戶;

  客戶把收到的哈希加密字節(jié) ID 與數(shù)據(jù)庫中的哈希加密客戶 ID 求交,交集可映射回原始共有 ID

  客戶根據(jù)業(yè)務(wù)決定是否回傳、回傳什么信息。


  模型訓(xùn)練

  聯(lián)邦學(xué)習(xí)技術(shù)本質(zhì)上是為了幫助聯(lián)邦雙方更好地訓(xùn)練模型。不同公司由于此前積累的數(shù)據(jù)類型特征不同,落地應(yīng)用場景不同,會(huì)采用不同的模型訓(xùn)練方式。

  常見的模型訓(xùn)練包括神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練、樹模型訓(xùn)練、線性回歸模型訓(xùn)練等等。其中,神經(jīng)網(wǎng)絡(luò)訓(xùn)練模型最常見的落地應(yīng)用場景是推薦,包括個(gè)性化內(nèi)容推薦、廣告推薦等等,而樹模型更多在金融領(lǐng)域建模信用 / 風(fēng)險(xiǎn)等指標(biāo)時(shí)常用。

  由于字節(jié)跳動(dòng)在個(gè)性化推薦技術(shù)上積累較多,F(xiàn)edlearner 的模型訓(xùn)練也主要以神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練、樹模型訓(xùn)練為主。

     神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練

  按照特征分布的不同,聯(lián)邦學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練可以分為縱向(Cross-silo)和橫向(Cross-device)兩種模式??v向模式下,每個(gè)參與方擁有相同樣本的不同維度的特征,模型被分為兩部分,類似模型并行訓(xùn)練。橫向模式下,每個(gè)參與方擁有不同樣本的相同維度的特征,每個(gè)參與方都有一份模型的拷貝,類似數(shù)據(jù)并行訓(xùn)練。

微信圖片_20201103170315.png

  縱向與橫向兩種訓(xùn)練模式可以歸約于一個(gè)框架,既一對(duì) worker 各自執(zhí)行一個(gè)神經(jīng)網(wǎng)絡(luò),并通信中間結(jié)果和梯度。為了支持這種模式,F(xiàn)edlearner 實(shí)現(xiàn)了一個(gè)基于 gRPC 的通信協(xié)議,并以算子的形式集成到 TensorFlow 中:

  微信圖片_20201103170315.png

  利用該通信協(xié)議,算法工程師只要在普通 TensorFlow 模型代碼里加上發(fā)送算子(send_op)和接收算子(receive_op),就可以將其改為支持聯(lián)邦訓(xùn)練的模型。

  基于神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練,F(xiàn)edlearner 目前最大處理過高達(dá) 40TB 的數(shù)據(jù),在不穩(wěn)定的公網(wǎng)通信環(huán)境下, 可以使用極少的資源快速穩(wěn)定地完成訓(xùn)練數(shù)據(jù)求交和模型訓(xùn)練,迭代效率較高。


  樹模型訓(xùn)練

  與神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練不同,樹模型訓(xùn)練目前只支持兩方縱向?qū)W習(xí)模式,一方提供特征,另一方提供 label 和特征。為了在保護(hù)雙方數(shù)據(jù)和標(biāo)簽隱私的前提下進(jìn)行模型訓(xùn)練,同時(shí)性能要滿足實(shí)際使用要求,F(xiàn)edlearner 樹模型的訓(xùn)練器采用了 SecureBoost 算法:

  擁有 label 的一方對(duì)每個(gè)樣本計(jì)算梯度后使用 Paillier 加密算法對(duì)梯度加密,然后發(fā)送給另一方;

  另一方利用 Paillier 加密的半同態(tài)特性,在密文域上計(jì)算按特征值分桶的梯度統(tǒng)計(jì),然后回傳;

  最后擁有 label 的一方解密統(tǒng)計(jì)值,找到最優(yōu)分割點(diǎn)。

  從模型訓(xùn)練的成績來看,字節(jié)跳動(dòng)聯(lián)邦學(xué)習(xí)平臺(tái) Fedlearner 的數(shù)據(jù)已經(jīng)可以和行業(yè)其他對(duì)手媲美,甚至超過了對(duì)手。

  此前,字節(jié)跳動(dòng)聯(lián)邦學(xué)習(xí)團(tuán)隊(duì)將 Fedlearner 和微眾銀行 FATE 上的樹模型在單機(jī)上進(jìn)行了性能對(duì)比?;?MINST 數(shù)據(jù)集的訓(xùn)練指標(biāo)顯示,在兩邊參數(shù)設(shè)置一致的情況下,雙方訓(xùn)練后的模型準(zhǔn)確度、F1、AUC、KS 等指標(biāo)基本一致,差別在小數(shù)點(diǎn)后三位以后才出現(xiàn)。

微信圖片_20201103170516.png

  MINST 數(shù)據(jù)集上的訓(xùn)練指標(biāo)。

  雙方的主要差距出現(xiàn)在模型訓(xùn)練速度上,經(jīng)過 5 輪迭代平均訓(xùn)練,F(xiàn)edlearner 的訓(xùn)練速度相較于 FATE 有約 17.2% 的優(yōu)勢。

  一鍵部署、可視化平臺(tái)

  為了處理大規(guī)模數(shù)據(jù),F(xiàn)edlearner 的數(shù)據(jù)求交和模型訓(xùn)練都依賴分布式計(jì)算和存儲(chǔ)系統(tǒng)。為此,字節(jié)跳動(dòng)聯(lián)邦學(xué)習(xí)團(tuán)隊(duì)開發(fā)了基于 Kubernetes+HDFS/MySQL/Elasticsearch 的解決方案,由 Kubernetes 管理集群和任務(wù)。其中,在阿里云等公有云上,用戶可以使用一鍵腳本快速建立整個(gè)集群。

  整個(gè)系統(tǒng)使用 K8s Helm Charts 系統(tǒng)集成部署,用戶只要準(zhǔn)備好一個(gè)標(biāo)準(zhǔn)的 K8s 集群和 HDFS/MySQL 服務(wù),就可以使用 Helm 一鍵部署好整個(gè)系統(tǒng)。

  系統(tǒng)部署好之后,K8s 集群可以自動(dòng)調(diào)度聯(lián)邦學(xué)習(xí)任務(wù),每個(gè) Fedlearner 任務(wù)都需要在參與雙方各自拉起一個(gè) K8s 任務(wù),兩個(gè)任務(wù)的 worker 需要互相配對(duì)通信,字節(jié)跳動(dòng)聯(lián)邦學(xué)習(xí)團(tuán)隊(duì)通過自定義 K8s Controller 和 Ingress-NGINX 實(shí)現(xiàn)了配對(duì)和加密跨機(jī)房通信。

  由于 K8s 自身只提供命令行 +YAML 管理任務(wù),為了方便算法工程師使用,字節(jié)跳動(dòng)聯(lián)邦學(xué)習(xí)團(tuán)隊(duì)開發(fā)了可視化 Web 平臺(tái),用戶可以在平臺(tái)上提交任務(wù)、查看進(jìn)度、分析結(jié)果。

微信圖片_20201103170542.png

  Fedlearner 任務(wù)需要參與雙方同步拉起,為了減少雙方溝通成本,字節(jié)跳動(dòng)聯(lián)邦學(xué)習(xí)團(tuán)隊(duì)還開發(fā)了基于 Ticket 的預(yù)授權(quán)系統(tǒng),一方只要?jiǎng)?chuàng)建一個(gè) Ticket 規(guī)定授權(quán)范圍,另一方就可以自主發(fā)起多次訓(xùn)練和預(yù)測任務(wù)。

  2、Fedlearner 落地應(yīng)用:廣告投放增效 209%

  目前,在字節(jié)跳動(dòng)內(nèi)部,F(xiàn)edlearner 已經(jīng)通過技術(shù)賦能的方式連通散落在各部門和業(yè)務(wù)的數(shù)據(jù),在保護(hù)用戶、公司數(shù)據(jù)隱私安全的前提下,幫助業(yè)務(wù)挖掘數(shù)據(jù)在各業(yè)務(wù)場景下的價(jià)值。在外部市場上,字節(jié)跳動(dòng)也正推動(dòng) Fedlearner 在電商、金融、教育等各個(gè)垂直行業(yè)落地,與行業(yè)頭部客戶合作進(jìn)行技術(shù)沉淀及商業(yè)收益的驗(yàn)證。

  「最大的挑戰(zhàn)是如何為客戶爭取可感知的最大商業(yè)價(jià)值,F(xiàn)edlearner 提供了良好的安全保障以及完整的聯(lián)邦學(xué)習(xí)生態(tài),這為落地部署提供了扎實(shí)的基礎(chǔ)。」吳迪表示,「但從’技術(shù)基礎(chǔ)‘到’最終的商業(yè)價(jià)值增量‘之間,仍然有較大的距離?!?/p>

  目前市場上開放的聯(lián)邦學(xué)習(xí)平臺(tái)很多,每家平臺(tái)的數(shù)據(jù)優(yōu)勢各不相同。吳迪認(rèn)為企業(yè)需要根據(jù)自己的業(yè)務(wù)目標(biāo)選擇合適的聯(lián)邦學(xué)習(xí)平臺(tái)。

  而對(duì)于 Fedlearner 來說,最大的優(yōu)勢除了技術(shù)上的訓(xùn)練速度、效率之外,無疑是字節(jié)跳動(dòng)在推薦和廣告領(lǐng)域長期積累的機(jī)器學(xué)習(xí)建模技術(shù)。例如在電商廣告場景,電商廣告主會(huì)在字節(jié)跳動(dòng)的巨量引擎平臺(tái)上投放商品廣告,巨量引擎和電商廣告主都希望提升廣告投放 ROI,共同優(yōu)化深度轉(zhuǎn)化,即購買事件。但電商廣告主通常不希望將商品詳情、用戶購買歷史等敏感信息回傳到巨量引擎平臺(tái),這種情況下,F(xiàn)edlearner 的能力就得以體現(xiàn)了。

微信圖片_20201103170714.png

  這種場景下,聯(lián)邦學(xué)習(xí)平臺(tái)的實(shí)現(xiàn)流程大致可以分為兩部分。

  首先是在線部分流程:


  ·當(dāng)用戶訪問巨量引擎支持的抖音、頭條等產(chǎn)品平臺(tái)時(shí),巨量引擎平臺(tái)會(huì)使用 CTR/CVR 模型排序找到點(diǎn)擊率 / 轉(zhuǎn)化率最高的廣告展示給用戶;

  ·用戶點(diǎn)擊廣告后,會(huì)跳轉(zhuǎn)到電商廣告主一側(cè)的購物頁面上,同時(shí)電商廣告主和巨量引擎平臺(tái)都會(huì)記錄下這次點(diǎn)擊事件,并且兩邊使用相同的 example_id 進(jìn)行標(biāo)記;

  ·在電商廣告主一側(cè)的購物頁面上,用戶可能選擇購買(轉(zhuǎn)化)或不購買相關(guān)商品,廣告主會(huì)記錄用戶行為作為 label。

  離線部分流程:


  ·電商廣告主和巨量引擎平臺(tái),雙方使用在線記錄的 example_id 對(duì)齊數(shù)據(jù)和 label ,然后按照對(duì)齊的順序讀取數(shù)據(jù);

  ·模型分為兩半,巨量引擎平臺(tái)將數(shù)據(jù)輸入前一半,得到中間結(jié)果(embedding)后發(fā)送給電商廣告主;

  ·電商廣告主計(jì)算后一半模型,然后用自己記錄的 label 計(jì)算 loss 和梯度,然后將梯度回傳給巨量引擎平臺(tái);

  ·最后電商廣告主和巨量引擎平臺(tái)各自更新模型。


  基于以上方案,結(jié)合巨量引擎平臺(tái)一側(cè)的用戶內(nèi)容興趣標(biāo)簽和電商廣告主一側(cè)的用戶交易行為及商品標(biāo)簽,使用 Fedlearner 聯(lián)邦學(xué)習(xí)平臺(tái)聯(lián)合建模,可以充分發(fā)揮雙方數(shù)據(jù)的互補(bǔ)性,優(yōu)化廣告召回、精排 CTR、CVR 模型等多個(gè)模塊。

  在實(shí)際合作案例中,取得了 10% 以上的投放效率增長,并輔助提升了拿量和 ROI 。

  「這種落地與應(yīng)用,除了技術(shù)上的優(yōu)勢之外,高質(zhì)量的數(shù)據(jù)是非常關(guān)鍵的?!箙堑险f道,「訓(xùn)練數(shù)據(jù)是機(jī)器學(xué)習(xí)的核心基石,在聯(lián)邦學(xué)習(xí)場景也不例外,選擇與商業(yè)目標(biāo)高度相關(guān)、表達(dá)能力強(qiáng)的訓(xùn)練數(shù)據(jù),可以加快獲得極致的商業(yè)價(jià)值?!?/p>

  字節(jié)跳動(dòng)旗下的營銷平臺(tái)巨量引擎,依托今日頭條、抖音的數(shù)據(jù)優(yōu)勢,基于 600T+ 的海量用戶群體畫像,對(duì)用戶行為特征進(jìn)行動(dòng)態(tài)分析、深度建模,擁有超過 220 萬用戶標(biāo)簽。這些數(shù)據(jù)對(duì)于很多行業(yè)和企業(yè)都具有極高的商業(yè)價(jià)值。

  例如,在線教育行業(yè)里,因?yàn)檎齼r(jià)課付費(fèi)人群數(shù)據(jù)是核心營收數(shù)據(jù),所以很多客戶對(duì)正價(jià)課付費(fèi)人群數(shù)據(jù)嚴(yán)格保密,無法輸出至巨量引擎服務(wù)器。但是,正價(jià)課付費(fèi)是在線教育廣告最核心的轉(zhuǎn)化及考核目標(biāo),客戶也希望提升正價(jià)課付費(fèi) / 續(xù)課率。

  基于 Fedlearner,通過「聯(lián)邦學(xué)習(xí) - 巨量引擎單側(cè)特征模型」的方法,可以實(shí)現(xiàn)巨量引擎?zhèn)群徒逃蛻魝?cè)各自提供用戶標(biāo)識(shí) + 特征 / 標(biāo)簽,數(shù)據(jù)取交集后共同建模。這種方法在不獲知用戶深度行為標(biāo)簽(即哪些人購買了正價(jià)課)的同時(shí),具備預(yù)測深度正價(jià)課轉(zhuǎn)化率的能力。結(jié)合在廣告精排階段的動(dòng)態(tài)出價(jià)調(diào)整,就能優(yōu)化在線教育廣告的正價(jià)課轉(zhuǎn)化率,提升客戶獲客 ROI。

  基于以上方案,字節(jié)跳動(dòng)聯(lián)邦學(xué)習(xí)目前與在線教育行業(yè)多家頭部客戶深入合作探索,幫助教育客戶廣告跑量提升 124%,正價(jià)課續(xù)報(bào)人數(shù)提升 209%,續(xù)報(bào)率提升 33.1%,正價(jià)課續(xù)費(fèi)用戶獲客成本降低 11.7%。

  3、聯(lián)邦學(xué)習(xí)亟需解決安全與效率的沖突

  在吳迪看來,聯(lián)邦學(xué)習(xí)目前還處于「早期采用」階段,無論是字節(jié)跳動(dòng)的 Fedlearner 還是過去兩年國內(nèi)外科技公司陸續(xù)推出的一系列聯(lián)邦學(xué)習(xí)平臺(tái),都還面臨著各式各樣的挑戰(zhàn)。

  基于字節(jié)跳動(dòng)開發(fā) Fedlearner 聯(lián)邦學(xué)習(xí)平臺(tái)和字節(jié)跳動(dòng)落地聯(lián)邦學(xué)習(xí)技術(shù)的經(jīng)驗(yàn),吳迪總結(jié)了聯(lián)邦學(xué)習(xí)技術(shù)的四大挑戰(zhàn)。

  第一是安全性。

  聯(lián)邦學(xué)習(xí)天然有無可比擬的安全性優(yōu)勢,近兩年全球各國對(duì)數(shù)據(jù)安全的重視和嚴(yán)格規(guī)范,是聯(lián)邦學(xué)習(xí)持續(xù)加速發(fā)展的動(dòng)力。

  但在機(jī)器學(xué)習(xí)范疇內(nèi),仍然存在一些安全方面的挑戰(zhàn)。例如,訓(xùn)練過程中的梯度是否有可能讓合作者 A 猜出合作者 B 的 label 分布從而泄露用戶行為的統(tǒng)計(jì)信息?類似的,A 方是否有可能猜測出 B 方的特征分布,或者把 B 方傳遞過去的中間產(chǎn)物(例如 activation 的 output)使用在其他模型中?這些「安全性」問題,有些可以通過同態(tài) / 半同態(tài)加密等傳統(tǒng)手段解決,有些則需要通過創(chuàng)新的機(jī)器學(xué)習(xí)算法和框架解決。例如,為進(jìn)一步確??蛻魝?cè)的數(shù)據(jù)安全,F(xiàn)edlearner 就在聯(lián)邦學(xué)習(xí)框架及神經(jīng)網(wǎng)絡(luò)模型的基礎(chǔ)上,針對(duì) label 及 Embedding 采用加密算法升級(jí)隱私保護(hù)。

  第二是效率。

  雖然字節(jié)跳動(dòng)的 Fedlearner 在推薦、廣告、用戶增長等場景下取得了一些成果,但吳迪表示,在這些場景中依然存在嚴(yán)峻的大規(guī)模數(shù)據(jù)和訓(xùn)練效率的挑戰(zhàn)。例如能否在彼此數(shù)據(jù)不可見的情況下,在若干小時(shí)內(nèi)完成超過幾十億行訓(xùn)練樣本集合的對(duì)齊和預(yù)處理,并且通過有限且不穩(wěn)定的網(wǎng)絡(luò)連接在數(shù)小時(shí)內(nèi)完成全部樣本的多輪訓(xùn)練,這對(duì)團(tuán)隊(duì)的要求很高。

  除了對(duì)團(tuán)隊(duì)的挑戰(zhàn)之外,效率也會(huì)給安全帶來挑戰(zhàn)。「越強(qiáng)的數(shù)據(jù)安全要求,越會(huì)帶來數(shù)據(jù)處理效率和訓(xùn)練效率的下降,還會(huì)限制機(jī)器學(xué)習(xí)算法的選擇空間,安全和效率之間需要更優(yōu)的兼顧與平衡?!箙堑媳硎?,「團(tuán)隊(duì)正在探索新的機(jī)器學(xué)習(xí)算法和框架,也涵蓋了軟硬一體等諸多技術(shù)方案,目前整個(gè)行業(yè)也有大量的針對(duì)性投入,相信在不久的將來會(huì)看到大量技術(shù)突破。」

  第三是建模能力和機(jī)器學(xué)習(xí)算法。

  包括字節(jié)跳動(dòng) Fedlearner 在內(nèi)的各種聯(lián)邦學(xué)習(xí)平臺(tái)上,聯(lián)邦的雙方都看不到對(duì)方的原始數(shù)據(jù),甚至有時(shí)候雙方還會(huì)隱藏各自的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。這樣的做法,很大程度上保證了數(shù)據(jù)的安全性,但從技術(shù)角度看,也使得「可解釋性、可 debug」的難度升高了。

  那么,如何在看不到雙方特征的情況下進(jìn)行特征工程處理,篩選出重要的「好特征」,如何進(jìn)行模型效果的 troubleshooting,一步步把模型迭代到極致,這給聯(lián)邦學(xué)習(xí)技術(shù)團(tuán)隊(duì)的建模能力、機(jī)器學(xué)習(xí)算法能力帶來了極大的挑戰(zhàn)。

  第四是友好性。

  聯(lián)邦學(xué)習(xí)的一個(gè)關(guān)鍵詞是「合作」,合作越廣泛則達(dá)到的效果越好。這也意味著必須不斷降低參與聯(lián)邦建模的技術(shù)門檻,由此帶來了諸多挑戰(zhàn),包括:快速部署(物理服務(wù)器 / 私有云 / 各種公有云等)、易于接入、一鍵式的訓(xùn)練和服務(wù)能力等。

  以上這些,都是整個(gè)行業(yè)所面臨的挑戰(zhàn),以及需要繼續(xù)深入研究和探討的問題。

  

 

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。

相關(guān)內(nèi)容