字節(jié)跳動(dòng)副總裁楊震原:抖音如何用好機(jī)器學(xué)習(xí)
4月19日消息,火山引擎日前發(fā)布自研DPU等系列云產(chǎn)品,并推出新版機(jī)器學(xué)習(xí)平臺(tái),支持企業(yè)客戶更好地訓(xùn)練AI大模型。字節(jié)跳動(dòng)副總裁楊震原以《抖音的機(jī)器學(xué)習(xí)實(shí)踐》為主題,分享了他對(duì)機(jī)器學(xué)習(xí)的理解。
楊震原認(rèn)為,機(jī)器學(xué)習(xí)系統(tǒng)的核心競爭力,在于每次實(shí)驗(yàn)都能很快、很便宜。算法工程師能聚焦在自己的工作上,用很低成本不斷去試錯(cuò),這樣才能實(shí)現(xiàn)業(yè)務(wù)的敏捷迭代和創(chuàng)新。他表示:“火山引擎機(jī)器學(xué)習(xí)平臺(tái)是內(nèi)外統(tǒng)一的,火山引擎客戶和抖音用的是同樣的平臺(tái)。我希望公司內(nèi)部打磨的這些技術(shù)能夠服務(wù)更多的客戶,支持大家做智能化的創(chuàng)新。”
(字節(jié)跳動(dòng)副總裁楊震原)來源:字節(jié)跳動(dòng)官微
以下為楊震原演講全文:
上午好!大家知道,抖音等業(yè)務(wù)是火山引擎的內(nèi)部客戶,都跑在火山引擎的云上。今天我會(huì)分享下公司內(nèi)部業(yè)務(wù)的一些實(shí)踐經(jīng)驗(yàn):火山引擎是怎樣支持抖音用好機(jī)器學(xué)習(xí)的。
首先說說為什么要聊機(jī)器學(xué)習(xí),什么場景、什么情況下要用機(jī)器學(xué)習(xí)系統(tǒng)?用機(jī)器學(xué)習(xí)會(huì)有什么樣的挑戰(zhàn)?我們是怎么解決這些挑戰(zhàn)的?
我認(rèn)為機(jī)器學(xué)習(xí)很重要的一點(diǎn),是把問題數(shù)字化。先數(shù)字化,然后讓這個(gè)問題可以定量評(píng)估。當(dāng)問題可以定量評(píng)估的時(shí)候,接下來就可以智能化,進(jìn)一步用一些機(jī)器學(xué)習(xí)的方法來優(yōu)化。
之前有些朋友問我,說“震原,能不能幫我搞一個(gè)模型?”我問他想用這個(gè)模型干什么?他其實(shí)自己并沒有想清楚。
我想通過幾個(gè)例子來具體說明下機(jī)器學(xué)習(xí)的用法。
比如效果廣告,對(duì)于商家來講,是不是能用合理的錢找到客戶?對(duì)平臺(tái)來講,有一個(gè)廣告位,是不是能夠把最適合的廣告放到這個(gè)位置上?這個(gè)問題怎么評(píng)估呢?很簡單,我們看轉(zhuǎn)化率就可以了,所以它的目標(biāo)可以很清晰地定義出來。
能夠清晰定義目標(biāo),就可以做A/B實(shí)驗(yàn),可以判斷什么方法更好,進(jìn)而可以用機(jī)器學(xué)習(xí)進(jìn)一步去優(yōu)化。最后往往就會(huì)發(fā)現(xiàn),用人工的方法,比如圈選用戶這些方法做效果廣告,很難干得過用機(jī)器學(xué)習(xí)。
再比如,優(yōu)惠券發(fā)放。同樣的錢應(yīng)該發(fā)給哪些用戶,能給平臺(tái)帶來更長期的留存?這也是可以被精確定量和評(píng)估的問題。這樣的問題,我們就可以思考用什么樣的算法,用什么樣的機(jī)器學(xué)習(xí)去優(yōu)化。
運(yùn)力調(diào)度,這是大家很熟悉的網(wǎng)約車領(lǐng)域,也是可以定量評(píng)估的,可以通過成單率評(píng)估。如果匹配得不好,我就不能把司機(jī)和乘客有效匹配起來。自動(dòng)駕駛就不多說了,這個(gè)領(lǐng)域想評(píng)估效果,實(shí)際上的維度更多,比如說安全性、時(shí)間、舒適度等等。
講了這么多,核心的問題是要能夠把問題定義清楚,先數(shù)字化,再去做智能化。
我們用機(jī)器學(xué)習(xí)做智能化,會(huì)有什么樣的問題呢?主要說兩個(gè)問題,第一個(gè)是復(fù)雜,第二個(gè)是貴。
為什么說復(fù)雜?因?yàn)闄C(jī)器學(xué)習(xí)軟件棧很深,它需要有平臺(tái),有PyTorch平臺(tái),有TensorFlow,還有很多的平臺(tái)。也涉及到框架、操作系統(tǒng),還有底層的硬件。大家最近出門,都問對(duì)方有多少張GPU卡,你如果沒有,都不好意思跟人家打招呼。但其實(shí)很多人并不知道用這些卡的效率到底是什么樣子。所以機(jī)器學(xué)習(xí)的軟件棧是很深的,是挺復(fù)雜的一件事情,每個(gè)環(huán)節(jié)都要做對(duì)、做好。
再說說很貴的問題。人力貴,一個(gè)非常優(yōu)秀的算法工程師很貴,也不是那么容易就能找到。除了人才昂貴,數(shù)據(jù)也很貴,高質(zhì)量的數(shù)據(jù)成本很高。硬件就不說了,高性能GPU的價(jià)格大家都知道。
所以,機(jī)器學(xué)習(xí)是一件既復(fù)雜又昂貴的事情。那抖音是怎么處理這個(gè)既復(fù)雜又昂貴的事情,更好地使用機(jī)器學(xué)習(xí)助力業(yè)務(wù)發(fā)展的呢?
先簡單介紹一下我們的平臺(tái),我們最主要的兩個(gè)平臺(tái),一個(gè)是推薦廣告平臺(tái),還有一個(gè)是通用平臺(tái),包括CV(計(jì)算機(jī)視覺)、NLP(自然語言處理)平臺(tái)等等。
推薦平臺(tái),每周會(huì)有上萬個(gè)模型在上面訓(xùn)練,因?yàn)槲覀冇泻芏喈a(chǎn)品,不同場景都會(huì)頻繁訓(xùn)練模型。CV/NLP平臺(tái),模型訓(xùn)練的數(shù)字會(huì)更大,每周有大約20萬個(gè)模型的訓(xùn)練規(guī)模。而且這兩個(gè)平臺(tái)上日常還跑著大量的在線服務(wù)。
舉個(gè)例子。比如,抖音的推薦系統(tǒng)有很多模型,其中某個(gè)模型需要用15個(gè)月的樣本來訓(xùn)練,也就是說在15個(gè)月的時(shí)間里不斷構(gòu)筑訓(xùn)練數(shù)據(jù),這個(gè)數(shù)據(jù)量是非常大的。但是在我們的機(jī)器學(xué)習(xí)平臺(tái)上,我們只需要5個(gè)小時(shí),就可以完成這個(gè)模型的訓(xùn)練,核算下來成本只要5000塊人民幣。對(duì)于一個(gè)算法工程師來講,他早晨做這個(gè)模型訓(xùn)練,下午就到線上做AB實(shí)驗(yàn)了,極大提高了產(chǎn)品迭代效率。
機(jī)器學(xué)習(xí)做得好不好,我覺得可以用這個(gè)三角形來表示,其中最重要的是算法。算法在效果上做到領(lǐng)先,就能對(duì)業(yè)務(wù)產(chǎn)生很大的價(jià)值。支撐算法效果的需求,有兩件事,一個(gè)是硬件ROI,一個(gè)是人力ROI。
硬件ROI指的是單位模型的成本。在市場競爭里,別人花一萬塊錢做一個(gè)模型,你如果花一萬塊能做十個(gè)同類的模型,這場仗就穩(wěn)了。人力ROI,是說招一個(gè)厲害的算法工程師進(jìn)來,他能否發(fā)揮最大潛能,主要看系統(tǒng)能否支持他足夠容易、足夠敏捷地去嘗試新的想法。
如何提高硬件ROI?潮汐、混部,這是我們常用的一些方法。本質(zhì)上一句話,就是如何提高設(shè)備利用率,這也是云原生的一個(gè)基本思想。我們把不同任務(wù)混合在一起,互相錯(cuò)峰,通過智能調(diào)度,把它們的利用率都跑得很高,這樣可以極大地提升資源的利用率,去壓縮每個(gè)實(shí)驗(yàn)的成本。
在硬件成本以外,還有很重要的一點(diǎn),就是機(jī)器學(xué)習(xí)的這套基礎(chǔ)設(shè)施是不是足夠易用。開個(gè)玩笑:很多做數(shù)學(xué)的人,不喜歡你搞計(jì)算機(jī)科學(xué),尤其做深度學(xué)習(xí),說你們這幫人就在這里“煉丹”,經(jīng)常不能解釋你這個(gè)東西為什么好,你為什么需要不斷做實(shí)驗(yàn)?但是我們從實(shí)用的角度來講,必須得不斷做實(shí)驗(yàn),不斷去嘗試,這個(gè)領(lǐng)域很多新的發(fā)現(xiàn),都是不斷嘗試做出來的。
如何讓每次嘗試更快、更便宜,這就是核心競爭力。想一勞永逸,一把做出一個(gè)非常完美的模型,這是很難實(shí)現(xiàn)的。
火山引擎要做的,就是把平臺(tái)的工作做好。大家可以看到,數(shù)據(jù)處理的整個(gè)過程、模型訓(xùn)練、評(píng)估到上線,再到AB測試,全平臺(tái)有統(tǒng)一的集成。算法工程師不需要反反復(fù)復(fù)去溝通各種環(huán)節(jié),串聯(lián)各種業(yè)務(wù),他可以更聚焦在自己的工作上。
再看個(gè)例子,這是一個(gè)很有意思的特效(抖音AI繪畫),估計(jì)很多朋友都用過。大概是在去年年底,這個(gè)特效特別火。大家猜猜,做這個(gè)特效對(duì)抖音來講投入了多少人力?可能很多人都想不到,算法工程師就投入了一個(gè)人,他在平臺(tái)上寫了一些調(diào)研的代碼,大概用了一個(gè)星期就完成了模型的訓(xùn)練,經(jīng)過一些調(diào)教之后就發(fā)布到線上了。
當(dāng)時(shí)產(chǎn)品預(yù)估可能有200QPS的峰值流量,上線我們按照2000QPS來做的,沒想到上線幾個(gè)小時(shí)就打滿了。我們很快做了大量擴(kuò)容,很短時(shí)間內(nèi)容量再擴(kuò)大10倍,到支持20000QPS。
可以看到整個(gè)過程,參與的人數(shù)是非常少的,同時(shí)擴(kuò)容效率也非常高。很多人說模型訓(xùn)練的開銷大,其實(shí)從長期來看,推理的開銷會(huì)顯著大于訓(xùn)練。AI繪畫這個(gè)模型,在火山引擎平臺(tái)推理的效率大概比原生Pytorch 模型快5倍。上線之后又做了一些針對(duì)性的優(yōu)化,還可以更快,大概快10倍,提高了一個(gè)數(shù)量級(jí)。
有了這樣的平臺(tái)支持,工程師就可以快速嘗試各種想法,不管是跟進(jìn)進(jìn)展,還是開拓創(chuàng)新,都可以做得很快。
最后,大家能夠看到,在抖音、今日頭條、懂車帝這樣一些APP上,開屏?xí)@示:火山引擎提供計(jì)算服務(wù)。我們所講的機(jī)器學(xué)習(xí)平臺(tái)是內(nèi)外統(tǒng)一的,火山引擎客戶和抖音用的是同樣的平臺(tái)。我希望公司內(nèi)部打磨的這些技術(shù)能夠服務(wù)更多的客戶,支持大家做智能化的創(chuàng)新。謝謝大家。
2、電商號(hào)平臺(tái)僅提供信息存儲(chǔ)服務(wù),如發(fā)現(xiàn)文章、圖片等侵權(quán)行為,侵權(quán)責(zé)任由作者本人承擔(dān)。
3、如對(duì)本稿件有異議或投訴,請(qǐng)聯(lián)系:info@dsb.cn