首頁 >科技週邊 >人工智慧 >位元組跳動楊震原:抖音如何用好機器學習

位元組跳動楊震原:抖音如何用好機器學習

PHPz
PHPz轉載
2023-04-20 15:07:061122瀏覽

位元組跳動楊震原:抖音如何用好機器學習

「數位化時代,問題可以定量評估,機器學習可以圍繞目標做更聰明、高效的優化。」

4月18日,火山引擎發布自研DPU等系列雲產品,並推出新版機器學習平台,支援企業客戶更好地訓練AI大模型。位元組跳動副總裁楊震原以《抖音的機器學習實踐》為主題,分享了他對機器學習的理解。

楊震原認為,機器學習系統的核心競爭力,在於每次實驗都能很快、很便宜。演算法工程師能聚焦在自己的工作上,用很低成本不斷去試錯,這樣才能實現業務的敏捷迭代與創新。他表示:「火山引擎機器學習平台是內外統一的,火山引擎客戶和抖音用的是同樣的平台。我希望公司內部打磨的這些技術能夠服務更多的客戶,支持大家做智能化的創新。 」

以下為楊震原演講全文:

位元組跳動楊震原:抖音如何用好機器學習

#早安!大家知道,抖音等業務是火山引擎的內部客戶,都跑在火山引擎的雲上。今天我會分享下公司內部業務的一些實務經驗:火山引擎是如何支援抖音用好機器學習的。

先說為什麼要聊機器學習,什麼場景、什麼狀況要用機器學習系統?用機器學習會有什麼樣的挑戰?我們是怎麼解決這些挑戰的?

位元組跳動楊震原:抖音如何用好機器學習

我認為機器學習很重要的一點,就是把問題數位化。先數位化,然後讓這個問題可以定量評估。 當問題可以定量評估的時候,接下來就可以智慧化,進一步用一些機器學習的方法來優化。

位元組跳動楊震原:抖音如何用好機器學習

之前有些朋友問我,說「震原,能不能幫我搞模型?」我問他想用這個模型做什麼?他其實自己並沒有想清楚。

我想透過幾個例子來具體說明下機器學習的用法。

例如效果廣告,對於商家來講,是不是能用合理的錢找到客戶?對平台來講,有一個廣告位,是不是能夠把最適合的廣告放到這個位置上?這個問題要怎麼評估呢?很簡單,我們看轉換率就可以了,所以它的目標可以很清楚地定義出來。

能夠清楚定義目標,就可以做A/B實驗,可以判斷什麼方法比較好,進而可以用機器學習進一步去優化。最後往往會發現,用人工的方法,例如圈選用戶這些方法做效果廣告,很難做得用機器學習。

再比如,優惠券發放。同樣的錢該發給哪些用戶,能為平台帶來更長期的留存?這也是可以精確地定量和評估的問題。這樣的問題,我們就可以思考用什麼樣的演算法,用什麼樣的機器學習去優化。

運力調度,這是大家很熟悉的叫車領域,也是可以定量評估的,可以透過成單率評估。如果配對得不好,我就不能把司機和乘客有效地匹配起來。自動駕駛就不多說了,這個領域想評估效果,實際上的維度更多,例如安全性、時間、舒適度等等。

位元組跳動楊震原:抖音如何用好機器學習

講了這麼多,核心的問題是要能夠把問題定義清楚,先數字化,再去做智慧化。

位元組跳動楊震原:抖音如何用好機器學習

我們用機器學習做智慧化,會有什麼樣的問題呢?主要說兩個問題,第一個是複雜,第二個是貴。

為什麼要說複雜?因為機器學習軟體堆疊很深,它需要有平台,有PyTorch平台,有TensorFlow,還有很多的平台。也涉及到框架、作業系統,還有底層的硬體。大家最近出門,都問對方有幾張GPU卡,你如果沒有,都不好意思跟人家打招呼。但其實很多人並不知道用這些卡片的效率到底是什麼樣子。所以機器學習的軟體堆疊是很深的,而且是挺複雜的一件事情,每個環節都要做對、做好。

再說說很貴的問題。人力貴,一個非常優秀的演算法工程師很貴,也不是那麼容易就能找到。除了人才昂貴,數據也很貴,高品質的數據成本很高。硬體就不說了,高性能GPU的價格大家都知道。

位元組跳動楊震原:抖音如何用好機器學習

所以,機器學習是一件既複雜又昂貴的事情。那抖音是怎麼處理這個既複雜又昂貴的事情,更好地運用機器學習助力業務發展的呢?

位元組跳動楊震原:抖音如何用好機器學習

先簡單介紹一下我們的平台,我們最主要的兩個平台,一個是推薦廣告平台,還有一個是通用平台,包括CV(電腦視覺) 、NLP(自然語言處理)平台等等。

推薦平台,每週會有上萬個模型在上面訓練,因為我們有很多產品,不同場景都會頻繁訓練模型。 CV/NLP平台,模型訓練的數字會更大,每週約有20萬個模型的訓練規模。而且這兩個平台上日常還跑著大量的線上服務。

舉個例子。例如,抖音的推薦系統有很多模型,其中某個模型需要用15個月的樣本來訓練,也就是說在15個月的時間裡不斷構築訓練數據,這個數據量是非常大的。但在我們的機器學習平台上,我們只需要5個小時,就可以完成這個模型的訓練,核算下來成本只要5000塊人民幣。對於一個演算法工程師來講,他早晨做這個模型訓練,下午就到線上做AB實驗了,大大提高了產品迭代效率。

機器學習做得好不好,我覺得可以用這個三角形來表示,其中最重要的是演算法。 演算法在效果上做到領先,就能對業務產生很大的價值。 支撐演算法效果的需求,有兩件事,一個是硬體ROI,一個是人力ROI。

位元組跳動楊震原:抖音如何用好機器學習

硬體ROI指的是單位模型的成本。在市場競爭裡,別人花一萬塊做一個模型,你如果花一萬塊能做十個同類的模型,這場仗就穩了。人力ROI,是說招一個厲害的演算法工程師進來,他能否發揮最大潛能,主要看系統能否支援他足夠容易、足夠敏捷地去嘗試新的想法。

如何提高硬體ROI?潮汐、混部,這是我們常用的一些方法。本質上一句話,就是如何提高裝置利用率,這也是雲端原生的基本想法。我們把不同任務混在一起,互相錯峰,透過智慧調度,把它們的利用率都跑得很高,這樣可以大大提升資源的利用率,去壓縮每個實驗的成本。

位元組跳動楊震原:抖音如何用好機器學習

在硬體成本以外,還有很重要的一點,就是機器學習的這套基礎設施是不是足夠易用。開個玩笑:很多做數學的人,不喜歡你搞電腦科學,尤其做深度學習,說你們這群人就在這裡“煉丹”,經常不能解釋你這個東西為什麼好,你為什麼需要不斷做實驗?但是我們從實用的角度來講,必須得不斷做實驗,不斷去嘗試,這個領域很多新的發現,都是不斷嘗試做出來的。

如何讓每次嘗試更快、更便宜,這就是核心競爭力。想一勞永逸,一把做出一個非常完美的模型,這是很難實現的。

位元組跳動楊震原:抖音如何用好機器學習

火山引擎要做的,就是把平台的工作做好。大家可以看到,資料處理的整個過程、模型訓練、評估到上線,再到AB測試,全平台有統一的整合。 演算法工程師不需要反覆去溝通各種環節,串連各種業務,他可以更聚焦在自己的工作上。

再看個例子,這是一個很有意思的特效(抖音AI繪畫),估計很多朋友都用過。大概是去年年底,這個特效特別火紅。大家猜猜,做這個特效對抖音來講投入了多少人力?或許很多人都想不到,演算法工程師就投入了一個人,他在平台上寫了一些研究的程式碼,大概花了一個星期就完成了模型的訓練,經過一些調教之後就發佈到線上了。

当时产品预估可能有200QPS的峰值流量,上线我们按照2000QPS来做的,没想到上线几个小时就打满了。我们很快做了大量扩容,很短时间内容量再扩大10倍,到支持20000QPS。

可以看到整个过程,参与的人数是非常少的,同时扩容效率也非常高。很多人说模型训练的开销大,其实从长期来看,推理的开销会显著大于训练。AI绘画这个模型,在火山引擎平台推理的效率大概比原生Pytorch 模型快5倍。上线之后又做了一些针对性的优化,还可以更快,大概快10倍,提高了一个数量级。

有了这样的平台支持,工程师就可以快速尝试各种想法,不管是跟进进展,还是开拓创新,都可以做得很快。

最后,大家能够看到,在抖音、今日头条、懂车帝这样一些APP上,开屏会显示:火山引擎提供计算服务。我们所讲的机器学习平台是内外统一的,火山引擎客户和抖音用的是同样的平台。我希望公司内部打磨的这些技术能够服务更多的客户,支持大家做智能化的创新。谢谢大家。

以上是位元組跳動楊震原:抖音如何用好機器學習的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除