騰訊混元大模型負責人王迪:揭秘萬億 MoE 系統工程之道|智者訪談

机器之心發表於2024-08-21
圖片

人工智慧的卓越發展

源於對技術與產業本質的洞察

機器之心全新影片欄目「智者訪談」

邀請領域專家,洞悉 AI 核心技術與行業趨勢

為從業者量身打造

深化行業認知,激發創新思考

與智者同行,共創 AI 未來

圖片

人工智慧正經歷一場由大模型引發的革命。這些擁有數十億甚至萬億引數的龐然大物,正在重塑我們對 AI 能力的認知,也構築起充滿挑戰與機遇的技術迷宮——從計算叢集高速網際網路絡的搭建,到訓練過程中模型穩定性和魯棒性的提升,再到探索更快更優的壓縮與加速方法,每一步都是對創新者的考驗。

面對快速演變的市場,企業如何在大模型投入與應用間尋求平衡?AI 從業者又該如何在這複雜的產業生態中找準定位,最大化自身價值?這些問題不僅關乎技術與商業,更直指 AI 產業的未來走向。

本期機器之心《智者訪談》邀請到騰訊機器學習平臺部總經理/混元大模型負責人王迪先生,深入騰訊從 0 到 1 自研萬億級 MoE 大模型的歷程。

王迪強調,大模型是一項跨領域的系統工程,需要在約束下高效整合工程、演算法、資料和業務應用,對組織能力提出了前所未有的挑戰。同時,業務團隊需要明確模型的能力邊界,辨識哪些問題適合用模型去解決,哪些則需要透過產品設計來應對,只有技術與業務緊密協作,才能快速推出滿足應用需求的 AI 產品。

騰訊的這條實踐之路,讓我們得以窺見大模型研發和工程的整個鏈路:從基礎設施的構建到訓練推理框架的最佳化,再到業務場景的落地,為理解大模型提供一個獨特的視角。騰訊混元大模型負責人王迪:揭秘萬億 MoE 系統工程之道|智者訪談
時間戳

01:07 小模型成趨勢的深層邏輯

05:54 騰訊為何選擇從零自研大模型

10:37 MoE Scaling Law:騰訊的著眼點

20:22 佈局全模態:統一到 Transformer

23:06 平臺層如何銜接上層應用與下層算力

35:39 技術路徑選擇:直覺從何而來?

39:55 萬億 MoE 實踐:穩定性、魯棒性

48:10 算力叢集發展及 AI Infra 展望

訪談文字整理

機器之心王迪老師好,非常高興您做客機器之心的《智者訪談》。騰訊作為國內,應該說是全球範圍內為數不多的幾家能夠支援萬億乃至更大規模引數的模型,以及相關基礎設施平臺的機構之一,我們希望這次訪談能夠從您這裡獲得關於大模型、機器學習平臺以及 AI 基礎設施方面的洞見。

王迪:好的,謝謝。

機器之心前段時間 GPT-4o mini 釋出,OpenAI 也開始做小模型了,以它為代表,目前小模型也成為一種趨勢。從您的角度,如何理解 OpenAI 的這個舉措?

王迪:GPT-4o mini 替換了 GPT-3.5,效果好了很多,速度也是非常非常快。但是,你剛才說 OpenAI 是不是突然做小模型,其實不是這樣的。實際上,GPT-3.5 本身的 size 就是相對比較小的,啟用引數也是比較小的,所以它才能做到那麼快。

GPT-4o mini 出來之後,能夠很好地替換 GPT-3.5 這樣的模型,我覺得這可能還是一種需求導向,因為很多應用可能不需要像 GPT-4 Turbo 或者 GPT-4o 這樣一個更大或者延時更高的模型,對於它們的場景來說,像 GPT-3.5 或者 GPT-4o mini 這樣一個很快的模型已經足夠了。

想把模型做小,首先需要能夠把模型做大,因為單純做一個小模型是很容易的,比如我們做一個 3B 的、1B 的,或者 1B MoE、3B MoE 這樣的模型很簡單,但是要保障 3B 小模型的效果也非常好,這就是一件很難的事情,需要在資料上、模型架構上做很多獨特的工作。

GPT-4o 是一個端到端的全模態模型,它有兩個方面令大家印象很深,一是加入了語音,這是模態方面或者使用者體驗方面不太一樣的地方。還有一點,它的速度非常快,端到端的延時只有 300 毫秒左右,同時又保持了語言模型非常好的智慧。這種情況下,我們判斷 GPT-4o 的模型效果非常好,它的模型 size 應該不會很小,這是一個常識問題。模型 size 不太小的情況下,延時又很低,那麼它在整個模型架構,包括 Transformer 計算方面,應該做了很多能夠節省耗時的最佳化。

這會對很多業務場景帶來無限的想象力,比如實時客服的對話,打遊戲的過程中真人和 NPC 之間更好的互動,以及社交場景的溝通等等,實時語音互動會帶來全新的體驗。

機器之心可不可以這樣理解,OpenAI 如今釋出模型時也是非常考慮應用側需求的?

王迪:我覺得是的。因為模型做得再好、做得再大,最終還是需要結合業務場景,看能不能給使用者帶來價值。所以,自然語音的互動,包括未來影片的互動,實時的視覺互動,是非常重要的。

但這並不代表 OpenAI 沒有持續投入研發更好的模型,比如他們一直在說的 GPT-5,包括前段時間 Sam Altman 說他們對 AGI 路線的規劃,對行業還是非常有啟發的,也能證明他們在 AGI 目前還沒有很好解決的技術問題上,還在不斷嘗試和佈局,這些是值得我們整個行業從業者學習的。

比如他們會提到,當前 GPT-4 這類模型的智慧所處的階段可能類似於一個高中生,或者剛上大學的本科生的水平,18 個月之後,他們希望新一代的 model 達到博士生的水平,這中間可能還有哪些方面需要突破呢?

規劃的能力、深度推理能力,面對一個很複雜的任務,模型需要首先把它拆分成若干個子問題,每一個子問題可能還需要聯網、需要計算、需要判斷,然後再序列起來,這樣已經非常像人在解決一個複雜問題時的表現。這些背後我們看到的是,OpenAI 如何把模型能力跟人類解決複雜問題的分析、推理工作相結合,這也體現了 OpenAI 現在思考的一些問題的方向。

機器之心:回到國內,關於開源和閉源的討論也有很多,騰訊選擇從零自研萬億規模的大模型,這到底能夠帶來什麼價值,您能分享一下嗎?

王迪:這次以生成式 AI 為代表的人工智慧的突破性發展,我們認為可能是幾十年,甚至百年一遇的技術革新和革命。在這種情況下,我們並沒有那麼著急拿一個開源的模型迅速在業務上做一些精調,然後上線,這可能會很快(出結果),但會帶來一個問題,那就是我們不知道這個新的技術從底座開始,它的執行機制是怎麼樣的,優點缺點是怎麼樣的。

比如我們看 OpenAI,從 GPT-1、2、3 到 Codex——Codex 是非常重要的一個階段性產品,後來到 3.5,也就是大家所熟知的 ChatGPT,然後 GPT-4、GPT-4 Turbo,到現在的 GPT-4o,可能未來的 GPT-5,在這樣一個過程中,我們發現它的技術路線的演進是非常清晰的,包括每一個階段、每一個模型相比以前解決了什麼新的問題,OpenAI 是非常清楚的。

其實我們更想要探索這樣一條路經,在這個路徑中學會怎麼樣訓練一個千億模型,接著才會知道怎麼訓練一個萬億模型,萬億的模型做出來之後發現,它的效能剛開始不夠好,我們才能知道怎麼做自己的混元的 Turbo 的 model。做了這些之後,你會發現可能需要加語音,可能需要加影片……這個過程,如果我們只是去看別人是怎麼做的,由此得到的感知和認知就會非常膚淺。

我們自己做了,從伺服器的搭建、網路的搭建,包括訓練平臺的搭建,一步一步訓練過程中,自然會知道哪裡是核心的重點,哪裡是有問題的,我們需要進一步最佳化。整個過程中,就會走出我們自己的,也就是騰訊公司大模型的技術路徑和路線,也才能知道這次的人工智慧技術的演進是這樣的,怎麼樣才能更好支援業務的發展,這是非常有價值的。

機器之心之前跟高校的老師交流過,說哪怕是小模型,也得自己從頭訓過一遍才知道有哪些問題,包括最基礎的問題是如何讓卡幾小時不要發生故障。

王迪:這個你說得非常對。小模型訓練本身可能對資源需求不是那麼大,但訓好也不是很容易的。很多公司在一些 1B、2B、3B 的模型上已經得到很好的效果,背後從資料到訓練框架,到訓練策略,包括模型的設定,對齊的一些資料、思路和方法,都是有很多講究的。

機器之心不過,訓練一個 1B 的小模型,這個經驗能夠遷移到更大的模型上去嗎?

王迪:這正是我們行業講的,要探索 Scaling Law,比如我們做 MoE 的萬億的模型,首先行業沒有先例,同時我們的資源相對是有限的。在資源相對有限的情況下,怎麼預判,比如說資料分佈是怎麼樣的,MoE 的專家數怎麼設定,啟用引數怎麼設定,包括路由,每一個 token 到底路由到哪個專家,怎麼樣才是合理的,這個事情很複雜,可能中間我們要考慮的因素有大幾十個,這種情況下,不可能一次做一個實驗,用很多卡去做,時間也來不及。

因此,一定是先在很小的模型上,比如剛開始可能是 10M,然後 30M,1B、3B,這樣一些不同 size 的模型上探索,最後預測出來我們要做一個萬億的 MoE 怎麼樣選擇中間的設定,以及預測最後訓練了多少 token,我們的 lost 會收斂到什麼樣的點,這樣的一個過程,就是我們在探索 MoE 的 Scaling Law。

如果沒有這個工作,研發效率會非常低。也不是不能做,當你有無限多的資源,無限多工程師的時候,就可以做。但現實來講,做大模型就是一個在約束條件下怎麼樣高效地把工程、演算法、資料以及業務應用整個串聯起來的工作,它對組織能力的要求是非常高的

機器之心:您提到了 MoE Scaling Law,這跟一般說的 Scaling Law 有什麼區別?

王迪:從概念上並沒有本質的區別。Scaling Law 是什麼?就是去判斷我的模型 size 怎麼樣增長,到什麼程度,然後在我們自己的資料集上,預測我的模型最後收斂到什麼地方,收斂的結果是否符合我們的預期,這樣一個工作。至於是基於 dense model 做還是基於 MoE 做,沒有本質的差異。

但是在選項方面不一樣,因為 dense 模型,引數的選擇、啟用函式的選擇,包括 tokenizer 等等,要做的實驗會比 MoE 少很多,因為 MoE 有很多個專家,每層的專家數量是否相同也不確定,啟用個數也不一定每層都是一樣的。

探索 MoE Scaling Law 相當於是在實操上把事情難度變大了一些,可能大家要做一些更加細緻的工作,更加高效的實驗,把自己的 Scaling Law 做得更好。這樣的話,去做一個萬億的甚至未來更大的 MoE 就會更有信心,浪費的時間更短。

機器之心您認為 Scaling Law 接下來空間還有多大?我們目前紅利還有多少?

王迪:首先現在 Scaling Law 還沒有失效。其次我是從另外一個視角看這個問題,不能單獨看 Scaling Law,因為我們是在做系統,是在做一個真正的模型,它一定是有約束的,也就是說資源是有限的。資源分幾方面:第一,最大的就是算力資源,總是有限的;第二,時間也是有限的;第三,資料也是有限的。

這三個約束條件之下,我們要動態看待這個問題。今時今日和去年相比,你會看到今年小的模型要比去年的一些大模型要好,為什麼?資料是很重要的原因。在很多公司裡,資料是一條研發線,資料質量持續提升,資料的分佈足夠多,資料的配比足夠好之後,即便是一個小的模型,什麼都不幹,可能在新的資料集上訓練出來的效果,也會比去年一個相對更大的模型要好。從這個角度講,可能模型並沒有變,但 scaling 的效果可能已經不一樣了,所以這也是 Scaling Law 需要考慮的一種情況。

另外模型結構方面,你也會做很多調整,比如 MoE 我們怎麼做啟用,怎麼選擇專家,保證 tokenizer 怎麼設定等等,都會影響你的 Scaling Law。去年我的 Scaling Law 是這樣子的,今年其他地方改變一下之後,發現我的 Scaling Law 最後收斂效果更好,這也是會發生的。

所以我為什麼說要動態看這個事情,所有東西都不變,就是增大資源、增加資料,這樣做效率很低的。在實踐中,我們看到的是資料變得更好了,模型的演算法做了一些最佳化之後,它能夠帶來的價值是更大的,然後再配合上 Scaling Law,整個的發展就會非常好。

去年很多人還擔憂大模型應用的成本問題,其實我去年一點不擔憂,為什麼?我們不是簡單看成本,成本一定要跟效果相結合的。比如說,我們今年在某個問題上,就可以用比去年還要低的成本去實現跟 GPT-3.5 Turbo 相當的效果,如果這樣看成本,相比去年可能是幾十倍的下降。我們再去預測明年,比如我們現在看 GPT-4o,它的端到端延時很短,如果只是看成本,不考慮延時,是一方面,如果把延時考慮進去,對使用者的體驗來講,整體成本就會下降非常多。

機器之心非常有啟發。騰訊選擇 MoE 架構,所有專家都是在一個高維空間裡面,我們並不知道具體啟用的是哪個,萬億 MoE 模型就更復雜了,對此您是怎麼看的?

王迪:其實去年我們在研發的時候,中間還是走了一些彎路的。可能一開始大家直觀的感覺,專家指定好,最簡單,確實這樣做風險是最低的,因為訓練最容易收斂,行業上,包括學術界,很多也是這麼做的。

但後來我們發現這樣做存在一些不合理的地方。比如說一篇文章,到底是屬於科技、財經,還是數學?一道物理計算的問題,它裡面又有數學、又有邏輯,又有物理,到底應該分到哪個專家呢?

後來我們覺得既然做大模型了,為什麼還要做人工設定的東西呢?就應該讓模型自己學習,後來我們沒有任何的人工指定,任何一篇文章出來,每一個 token 是基於整個 MoE 的網路的 gating,它自己選擇應該去到不同的專家裡面。進去之後,確實很難解釋哪個專家負責了什麼。但最後我們還是分析到,不同的專家還是有一定差異性的,不同層的專家也有一定的差異性,但是差異的程度是不一樣的。越往上層的專家彼此間的差異性越大,就像人一樣,最上面畢竟是要幹交付的,工種還是不一樣的,有的比較擅長數學,有的比較擅長英語,但底層的這些,可能相對來講更多學習到一些語言的表徵、語法等等這樣一些比較粗的特徵。

其實我們看到,越是堅持這些最基本認知的東西,你會發現大模型它自然會學到很多東西,你越是加很多規則、人工的經驗進去,越會發現這個東西不 work,有無窮無盡的麻煩要解決。

接下來 MoE 需要最佳化和提升的地方還有很多,其中有一點,MoE 存在訓練效率的問題,它比 dense 模型訓練效率的提升要難很多。理論上講也是這樣的,MoE 有很多個專家,專家數相對來說越多越好,但是我們又希望模型要高效,高效的話每次就只能啟用少量的專家,只啟用少量專家的話,算力利用率就不會很高,這樣在整個過程中,計算和通訊之間的配比如何設定,才能讓訓練更加高效,這裡面就有很多的講究,比如說怎麼樣在保證效果的情況下,讓訓練變得更快,比如說 batch size 變得更大,但是 batch size 變大後梯度同步就會變少,效果就會變差,這種情況下怎麼辦。

這些問題其實學術上也會有一些論文去探討,包括我們前一段也發表了一些論文,還有一些面向新的,比如說關於影片的理解和生成,在一個 model 的話,那我的視窗變得更大,這在今年上半年國內也是一個熱點。

但國內的討論更多的還是說怎麼樣去做長視窗的文字類的理解,大家很少去討論模型百萬級的視窗、千萬級的視窗該怎麼去訓練。我說的是原生長視窗,RAG 不算,儘管 RAG 很重要,但是原生長視窗,比如說影片的訓練 1 分鐘可能需要百萬級的 token,如果我們想做 10 分鐘該怎麼辦,40 分鐘呢?

不知道你有沒有注意,我們最近在元寶上跟《長相思》合作,有一個相柳 AI bot,我看到我們的使用者每天跟它交流有高達幾千輪的,那這幾千輪下來,使用者會覺得已經把相柳 bot 變成自己心目中的相柳了,希望它能記住所有的對話,但這對技術要求是極其高的,怎麼樣在每一次回覆的時候,讓模型能把之前幾千輪的內容自動從裡邊篩選出來,然後回覆跟這次相關的一些東西。

所有這些都是我們在 MoE 架構下未來需要去進一步最佳化和探索的,包括專家的平衡,包括更高效的訓練。所謂高效本身也不是一個簡單的工程問題,它是一個帶效果約束的高效,比如長視窗下如何更高效,我想訓練更多的 token,那我的訓練速度要更快,訓練速度更快,怎麼保證效果,等等這樣一系列問題。

機器之心騰訊也在做文生圖等多模態相關的工作,在模態統一方面您有怎樣的預判?

王迪:談不上預判,因為這是今年整個行業,不管是工業界、學術界大家都非常關注的一個方向,騰訊這邊也是在積極地佈局。我們現在是多模態的,未來也會向全模態的方向去演進。輸入是文字、圖片、影片、音訊,輸出也是這樣的 4 種模態。

但這還需要挺長的路去走,為什麼?影片生成本身最近幾個月國內外大家的進展都蠻快,雖然效果很驚豔,但是離工業界、離真正人人可用的效果還是有一定的差距,當然相比於過往來講已經有一個飛躍性的進步了。但不管是 OpenAI 還是 Google,現在對影片生成這塊還是用相對獨立的 model 去演進和發展。

我們認為未來一定會走向一個統一的 model,但還需要一定的時間,包括是基於 diffusion 還是說基於自迴歸的 model,現在影像和影片生成領域可能 diffusion 的多一點,尤其在工業界,但是學術上也有全自迴歸的 model,各有優劣,我覺得還是需要一定的時間去驗證它的效果和利弊。

機器之心從您的角度是不是比較難下一個定論,說我們會都統一到 Transformer,還是說 diffusion model 和 Transformer 兩者結合,或者說一個全新的架構?

王迪:目前來講,統一到 Transformer 這樣一個總的框架下,應該是沒有太大疑問了,即便是 Sora 用的 DiT,也是用 Transformer 實現的 diffusion model,所以說已經完全離不開 Transformer 了。至於說還要不要 diffusion 這樣一套思想,現在還沒有定論,因為還有很多的地方需要去實踐和實驗。

機器之心例如不同的場景,有些時候 diffusion 可能會更好一些?

王迪:對,是的。多模態或全模態的端到端架構,現在不管是學術界、工業界大家都在積極探索,我們看到還是有很多地方,還有一定的不確定性,比如說 tokenizer 怎麼做,音訊的,影片的,包括之前說的按照最後的生成,到底基於自迴歸還是 diffusion,未來終局怎麼樣等等,這些地方我的看法是,它們本身不能孤立去看,演算法怎麼樣、模型怎麼樣,一定要跟工程、平臺一起去看

機器之心:上次我參加了元寶的媒體溝通會,讓我非常印象深刻的是,因為騰訊有大量的應用,並且是大規模的應用,有的問題別的公司還沒遇到,騰訊就已經解決了。您作為騰訊機器學習平臺部總經理,從您的角度,平臺層怎麼樣去協調好上層的應用和下層的算力?

王迪:騰訊我們確實有很好的實踐經驗。我們的模型訓練好之後,第一步就要滿足公司所有業務的需求,比如說我們的 QQ 瀏覽器、騰訊新聞、微信讀書、微信公眾號、廣告、客服、遊戲……方方面面的需求。我們的模型在內部是給我們的這些業務開源的,大家可以去呼叫我們的模型,針對自己的業務場景對模型再做進一步的精調,去改各種 lost,都是 OK 的。

但最後上線時,還是會有各種各樣個性化的需求,比如說有的業務覺得模型速度還是不夠快,有的業務可能只有一些低端的、很早以前的推理卡,對這些業務來講,它受約束的資源層面,我們的模型效果,包括訓練和推理的平臺,算力排程等等就要去做很多針對性的最佳化。這些針對性的最佳化,後續會沉澱為平臺的一部分能力,提供給其他的業務。

例如騰訊會議,大家可能會用到一個叫 AI 小助手的東西,我們去年就開始跟騰訊會議的團隊合作。一開始我們是用一個千億的模型支援他們,效果還不錯。但他們上線的時候發現速度太慢,再來每天開會的使用者很多,成本也很高,那怎麼辦呢?我們就需要把這個模型精減下來,剛開始精減成 70B 的 dense model,很快能滿足業務的需求了。

但由於是會議場景,經常有使用者詢問會議中的相關內容,有時候可能還要等個 4、5 秒,還是覺得慢,怎麼辦呢?正好我們有一個 7B MoE,發現效果跟 70B dense 模型效果差不多,那麼我們就用 7B MoE 再去替換。替換過程中,由於這個 7B MoE 最終要部署在騰訊會議的計算叢集裡面,硬體又有一些部署的要求,比如通訊的效率、視訊記憶體的利用等等,那這些又會對我們的訓練框架,甚至是對我們 7B MoE 的模型設計本身提出了一些新的要求。最後我們發現,對騰訊會議這個場景,就是一個相對來說定製的 7B MoE、3B MoE 這樣一些很小的模型,就能很好地滿足業務的需求。

機器之心混元大模型目前在騰訊內部支援了近 700 個業務,並可能繼續增長。從支援的角度,您從這些應用裡面發現了哪些問題?進行了哪些創新?

王迪:現在確實混元在公司集團內部的應用需求量越來越多,包括推理的規模也是日益變大,速度越來越快。在這個過程中我們發現,集團很多的業務其實已經不再只是把混元大模型用來解決單點的業務需求,不是像去年或者更早的時候,需要做一個摘要、做一個總結這樣的單點,現在更多是全鏈路的一些接入。

比如騰訊廣告的場景,從去寫一個廣告開始,到稽核、入庫、對使用者的理解,再到線上廣告的匹配,整個廣告體系裡所有能夠使用大模型去提高效果的、提升效率的,比如說透過妙思平臺的文生圖功能,讓廣告主創作廣告時有更多的創意,創造出的廣告更加適合最後使用者的體驗等等,它是一個全鏈路接入混元的過程。

機器之心這又回到了您剛才提到的系統性工程,包括現在業界也是在強調,不是一個應用呼叫了大模型就完了,而是要真正去看模型對整體工作流程的影響,如何融入已有的工作流程,包括最佳化甚至改變既有的工作流程,這方面騰訊是不是已經有一些業務因為大模型而改變了?

王迪:還是舉廣告這個例子,因為廣告主會上傳很多廣告素材,這個規模是很大的,這些素材需要稽核,以前稽核系統裡面還需要一些人工,或者說是一些傳統的 NLP 或多模態的模型再去做稽核,這個過程其實效率是比較低的。現在整個廣告都是 AIGC 的,生成的過程自然就知道,整個提效非常明顯。

機器之心騰訊會議、微信讀書、騰訊音樂等所有業務都是由您這邊來支援,他們的需求各不相同,在人員、資源以及方法上面,您是如何操作的?

王迪:這個問題要分好幾個層面,第一,我們做大模型的目的是什麼?就是為了一個模型去解決很多不同的問題,通用性很重要。因此,很多需求預設是首先去看通用的 API 能不能解決問題,當你模型足夠好的時候,絕大部分的問題是能直接解決的。這樣相對來講,絕大部分需求用 API 就直接搞定了。

但坦白說,模型當前階段在很多的垂直業務場景還沒有那麼好,達不到 99% 的精準度或者這樣的一些場景要求。這時候我們的做法是,在公司內部有一個太極混元一站式的平臺,我們所有的模型在這個平臺上是對所有公司業務開放的。

公司業務的團隊,他們也有一些做 NLP、做多模態演算法的同學,他們拿到這些模型之後,可以針對業務場景做一些自己的精調,之後很快就滿足業務需求了。有一些業務團隊可能沒有做演算法的同學,但又很著急要上線,這時候我們的團隊就會有少量的同學去支援他們,因為這個業務場景很重要,雖然它是個垂直的場景,但是因為通用的 API 還不是足夠好,那麼我們針對這個業務場景去做一些最佳化,比較少的情況是還需要下沉到預訓練去做一些最佳化,大部分是 post-training 階段做一些最佳化後,這些資料很快就會在獨立的垂直業務場景滿足業務需求了,業務那邊很快就能上線了。

但事情並沒有結束,這部分獨立的最佳化資料,我們在徵得業務場景同意,進行相關處理,比如去掉敏感資訊之後,會把這些資料反哺到我們底座的模型。因為我們的底座模型有一個週期性迭代的節奏,在下一個版本,甚至下下個版本,我們整個底座就會很好地支援這個垂直場景的需求,那麼這個垂直場景就不需要專門的最佳化了,專門的模型都不需要了。

尤其是騰訊會議、騰訊文件,這類業務的一些需求並不只是代表他們自己,也代表了很多公司,包括整個 B 端市場很多創作類的、長文閱讀理解等等的需求。因此,做好一個場景,反哺底座模型後,就足夠支援更多的一些需求,最終我們的底座慢慢地就會以 API 的形式預設支援絕大部分的業務需求,所以我們很少的人可以支援公司數百個業務各自特殊的需求。關鍵是說要有一個內部的太極混元一站式平臺,在這個平臺上我們可以方便地讓業務同學自助做精調等操作。

機器之心您剛剛提到混元一站式這個平臺,它跟 Angel 機器學習框架有什麼區別呢?

王迪:它們是在一起的,Angel 機器學習平臺我們做了十多年了,而且很多地方已經對行業開源了。Angel 機器學習平臺是訓練和推理的框架,相當於是中間最核心的一層。

圖片

太極混元一站式平臺有一個 web 使用者介面,我們的同事進來之後,可以看到所有的模型都在這裡,可以選一個模型快速匯入自己的資料,自動呼叫底層的 Angel 訓練框架和推理框架,能快速地看到自己的模型訓練出來,快速看到模型的推理效果,包括評測、最後的模型釋出這些都能看到。這個一站式的平臺所有東西都在一起的。

機器之心剛剛聊了您的團隊如何支援各個業務,那麼作為您的客戶,比如說我現在是騰訊會議的演算法或工程人員,是選擇呼叫 API、拿來精調,還是說其他的方式,對於如何用好大模型,您有什麼建議嗎?

王迪:建議談不上,我可能說一些比較常規的做法,因為公司業務有很多,業務團隊一定要去了解模型的能力邊界在什麼地方,哪些是模型應該去解決的問題,哪些是產品的設計和規劃上應該去包容的。這樣兩邊相互結合,最後才能做出一個在業務場景非常契合的,能夠快速上線的,滿足業務新需求的 AI 型產品。它不是單純某一邊特別強,某一邊就是被動接受的過程,這是動態的,並且是雙向的。

機器之心在資源有限的情況下,如何選擇我們的路徑,或者說技術路線,目前大家都是在探索,並沒有一個行業的最佳實踐,國外在採訪的時候他們都用的是「直覺」這個詞,what is your intuition about something。您在探索的時候是怎樣判斷的呢?

王迪:我覺得還是蠻對的,直覺確實很重要。怎麼說?騰訊技術還是比較務實的。我非常看重整個團隊把問題羅列出來,這一點很重要,一定要暴露出來問題,其實只要問題找對了,解決方案有很多種。

但解決方案有時候太多了,怎麼去從中選擇,聚焦到最後決策,這個時候是需要內部充分討論,甚至經常有一些比較激烈的爭論,這都是很正常的,最後確實直覺很重要,但這個直覺怎麼來呢?我覺得一定是有過往的經歷。我為什麼說 knowhow 很重要,因為只有剛開始做過那些覺得很傻的一些事情之後,你才能知道怎麼去訓練一個千億模型,你只有做了沒有那麼幹淨的資料才知道,不乾淨的資料到底會帶來什麼,所以這個過程很重要。

第二,過往做機器學習,包括做傳統的 NLP、多模態這些方面的一些經驗,也是非常重要的,包括對業務的支援,過往支援了很多個業務,才能知道在支援業務的過程中可能會發生什麼,比如這個問題出了一個 bad case,我應該能夠迅速判斷出來到底是哪裡的問題。所以雖然「直覺」兩個字是對的,但它背後還是有很多的技術上的積累,包括說走過的一些彎路。

騰訊混元團隊在搜尋、機器學習,包括大模型的基礎設施等方面有很多年的積累。公司數百個業務,大家一直以來非常好的合作關係,各方面迭代的節奏等等,因此當有一些問題需要去決策的時候,我們能夠快速地找到這樣一些路徑。

機器之心也就是說,您認為上一代的機器學習方法,尤其是 NLP 方法,或者 CV 的一些方法,在大模型時代仍然適用,並且是非常有益的?

王迪:對,一定是非常有用的,絕對不是說完全不需要的。這個地方我們要辯證地去看,如果說在當前這個時代,我們還只是抱著以前解決問題的具體思路和方法,那完全是不對的,因為你完全不應該那麼去做很多事情,這樣你整個做事的方法論就會有大的問題。

但是,當前我們在做大模型的過程中,有很多地方需要去提效的,比如我遇到 bad case,不可能所有的 bad case 全部都人標,第一耗時耗力,其次有很多問題,比如說 AI 搜尋,標註本身就會非常難,你怎麼辦?

這一類問題的解決上,製造工具很重要,怎麼樣讓模型自動地去評價我們自己的模型好不好,這些能力我們叫 critic model(評價模型),但評價模型的設計,怎麼樣才能設計好,過往有很好的 NLP 經驗的同學就能夠設計得更好、更快。當然,並不是說沒有這些經驗的人做不了,但可能他們對問題的理解,包括做事的速度會略微慢一點。所以我一直說這兩個東西都是需要,並且是相互結合的。

機器之心雖然 NLP 的一些任務可能不再需要了,甚至被淘汰了,但是因為學習或者訓練過那些任務積累下來的經驗是非常有用的。

王迪:對,相當於說是方法可能不會是以前的方法,但是問題還是類似的,解決問題背後的這種原理性的東西還是類似的。我們過往解決 NLP 很多方法論的東西,現在還是可以借鑑的。

機器之心:在大模型的訓練過程中,對於訓練的穩定性和模型的魯棒性,業界當前面臨哪幾大難題,騰訊是如何應對和解決的?

王迪:訓練一個萬億的 MoE 模型,怎麼樣能讓訓練的過程變得更加穩定,很多時候是整個基礎設施的團隊密切配合,像我們公司伺服器的團隊,針對我們的算力需求重新做了設計,伺服器也是自研的。第二個星脈 2.0 高速互聯的網路,也是為大模型定製的,非常好的網路裝置,包括整個的解決方案。還有我們的 AngelPTM 訓練框架,這三者是非常好地緊密在協作。

整個叢集在運維層面,從卡到網路,再到執行過程中所有網路的通訊擁塞,包括說資源利用率,甚至最早的時候也發生過因為利用率過高,使得整個卡的溫度太高而發生問題等等。我們去年是做了大量的基礎設施和運維能力方面的工作,因為出現故障是不可避免的,我們要提前做好預測和防範,現在我們已經可以做到透過對網路流量的監控,預判是否有一些卡出現擁塞,包括對卡的溫度做監控等等,提前預判它是否有可能會出問題。

最後,出了故障,這是很正常的,我們過往也出過故障,因為本身 AI 晶片就有一定的壞卡率,包括說網路裝置,上萬張卡總有壞的時候,那壞了之後,第一個怎麼能快速地定位是哪張卡出了問題,然後快速把它踢掉,再快速重新拉起訓練服務,這過程中涉及到比如怎麼樣快速把 checkpoint 寫到磁碟上,再重新 load 進來,這個過程如果是兩個小時和五分鐘,那是有天壤之別,等等這些問題吧。做過大規模叢集管理的團隊,應該都是有相關經驗的。

至於訓練過程中模型的魯棒性,我們過往也確實發現一些問題,就是你發現流程都沒有問題,但最後突然模型到某一個階段的時候效果不好,這就很麻煩,所有地方都沒發現錯誤,最後出錯了,怎麼去找問題?我們去年就遇到過這個問題,最後定位是在某一張卡的某一個時間,它的梯度出現了溢位。

於是,我們就把這些東西全部做到監控裡,對這種梯度、範圍、閾值等等做了很多監控,然後我們還定期有 checkpoint,每隔一定的訓練時間之後有一個固定的 checkpoint,每一個 checkpoint 要去走我們標準的測試流程,保證比如每訓練 200B、300B 之後,模型是否還在正常執行。基本上我們內部會去看標準的 benchmark 上的一些指標,比如說 MMLU、MATH、HumanEval 這種常規的,當然也會有我們自建的很多 benchmark 去評估。

機器之心這樣看來,雖說目前大模型沒有理論,但從您的角度,不管是經驗還是直覺,還是有一套標準去指引的,而且現在大模型的研究重任似乎放到企業這邊,因為學界沒有這麼多資源來訓練模型,關於理論和實踐及其發展,您是如何權衡與判斷的?

王迪:我是覺得很多問題,很難區分它是工程問題還是研究問題。還說那個例子,原生長視窗的訓練,本質上是為了解決一個百萬級、千萬級甚至上億 Transformer 視窗的訓練,從模型的訓練來講這是個效果問題,我解決它是個工程問題,最後發現歸結到並行化計算的一些工作,你說這是工程問題還是研究問題?

在我看來不用去區分,我們是在解決問題。我前段時間跟一位清華教授交流,也談到這點,現在的大模型的很多問題,很多時候是用一些資料的方法解決,包括用一些工程化的思路去解決,讓模型變得更快,我問這是科學嗎?大模型要做很多的奧數,甚至是高等數學,這個問題還是很難,科學上怎麼辦?

這位教授給我的啟發是,在人類歷史發展的過程中,很多時候科學都是因為要解決現實生活中的問題才出現的,很少情況下可能像量子力學這樣,是相對論出現之後,用理論來指導實踐,更多時候科學理論是為了解決問題(才出現的),我覺得蠻有道理,所以今天分享給大家,我們不用一定說哪些是研究還是科學,哪些是工程還是系統,我們更多是去解決當前存在的問題

我們現在跟國內很多高校在大模型方面有很多很深入的合作,包括一些聯合實驗室一起推進。在我看起來大模型裡面有很多沒有解決好的問題,這些問題可以抽象成很多研究性的課題,比如模型怎樣可以足夠快,模型結構 Transformer 是否就是終局了,我們還有更好的模型架構嗎?

包括幻覺的問題,現在其實並沒有被很好地解決,還有模型的評價問題,長視窗的問題,現在很多還是用所謂大海撈針的方法,但當使用者真正用的時候,對長視窗的要求是更高的,等等這些都值得學術界、研究機構和我們一起研究和探索,從我們的角度來講是非常期待可以去深入合作的。

機器之心:面對不斷增長的算力需求,萬卡似乎是大模型訓練的標配了,對於構建百萬卡甚至更大規模的叢集,您的預判是怎麼樣的?

王迪:這是一個非常好的話題,也是在當前全球 AI 算力緊缺的情況下,大家必須去面對的一個問題。從我們的角度來講,萬卡是現在正常訓練的標配,但下一個階段是 10 萬卡,從 1 萬到 3.2 萬到 6.4 萬到 12.8 萬,再到更大的資源層面,不過百萬卡目前看有點誇張。

單純說卡,任何一家的卡都不足以有這麼大的體量,但我們同時可以有很多不同的卡,所以我們正在做並且非常看好的一件事是構建異構卡的叢集,用不同廠家的卡,以及同一個廠家不同算力單位的卡、不同型號的卡,能不能在一起訓練同一個任務?

這個潛力是非常大的,背後需要幾方面的工作,首先一定要有統一的卡間互聯、機間互聯的解決方案,這一塊正好騰訊有星脈高效能運算網路 2.0,不同的卡都可以用同樣的互聯協議聯起來,效能也很好。

第二點,也很有挑戰的,不同的卡之間怎麼樣去訓練同一個任務,這件事本身在以前是沒有遇到過的,現在一定要做,主要還是解決兩個核心問題,第一個是不同卡需要統一的編譯環境,這樣程式碼才是統一的,不然英偉達的卡或者各種國產的卡,各家對程式設計介面的要求是不一樣的,在騰訊內部是有一個叫 ABO 的統一編譯層去適配不同的編譯和介面。

第三點更為關鍵,不同的卡算力不一樣,過往的機器學習訓練,儘管我們有 5 種並行策略,但卡是一樣的,訓練框架寫起來就比較簡單,但現在高算力的卡和低算力的卡放在一起,我們就需要把 5D 並行的策略本身,基於卡的算力水平以及訓練任務的特點,比如說模型並行和資料並行應該怎麼樣區分,序列並行、流水線並行和專家並行怎麼樣根據現在的資源情況自動化設計好,能讓大家相對不要等待,這是非常核心也是非常有挑戰的,也是我們 AngelPTM 訓練框架正在做的。

此外,大模型訓練還存在一個線性加速比的問題。用 1000 張卡是一個情況,1000 變 5000、5000 變 1 萬張卡,是否還 OK?我們現在萬卡訓練沒問題,但是到 10 萬張卡,還需要考慮整個交換機、路由器的通訊能力,等等這些方面,這也是一個很好的值得我們持續探索和實踐的方向,但未來是不是真的百萬張卡我不確定,但突破 10 萬是非常有希望的。

機器之心從您的角度來看,接下來要探索到什麼程度?因為晶片會不斷髮展,萬一有一天一塊卡就可以了,我們探索了很多,這裡面走的彎路,是否值得?

王迪:我覺得這還是很值得的,大模型整個過程,鏈條還是很長的,越是底層的變化,對上層的影響越大,所以不管哪一家,對晶片級別的變化都是慎之又慎。我們可能有一個新的卡,它的能力很強,但這張卡本身的生態鏈、運營運維體系,還需要花很多時間適應,把整體契合起來,需要一定的時間。

我非常認同並且堅信未來晶片能力會越來越好,但晶片再強,也只是晶片效能本身,整個鏈路的 AI 基礎設施,包括訓練框架,包括模型對晶片的要求,也是一個系統性的工程

再來,算力越來越好的時候,人們對大模型的預期也會越來越高,這個東西水漲船高,也是一樣的。

我們現在在看另外一件事,叫訓推一體化。當前推理確實在不停地上量,提升速度也很快,但推理本身對資源的要求沒有那麼高,為什麼?因為我們有很多的方法,把一個模型在推理的時候讓它變得更小,一個推理的例項需要多臺機器互聯的需求是比較小的,這樣就會大大降低新卡或者異構卡本身出問題對整個平臺的影響,所以我們認為推理對大規模互聯這方面的風險,容忍度就會更高一些。

另外,當前核心的矛盾還是在訓練,大規模的訓練,萬卡、甚至數萬卡訓練一個更大的模型,還是一個核心的矛盾。但資源又是有限的,所以我們內部使用一種叫做潮汐排程的方法,比如說白天的量很大,需要很多的推理卡,但晚上量小了,就透過太極平臺,把這些卡晚上排程給訓練去用,提高卡的利用率。

機器之心現在業界尤其是投資圈在看衰對 AI Infra 的投資,因為全球也就只有那麼幾家公司能投資得起,接下來騰訊關於這方面的投入是怎樣考慮的?有沒有一個上限?

王迪:基於當前我們看到的一些趨勢,首先是內部業務應用的一些場景,包括騰訊雲都在快速上量,這個給我們帶來很大信心,我們在推理卡上,包括今年也會有更大的佈局和投入。

第二是底座模型本身的演進,我們看到像全模態,甚至說未來更加大、更加智慧的模型,我們這方面肯定也會持續投入,肯定會突破萬卡的,但像百萬卡可能現在確實在行業裡也沒有說哪家公司已經是百萬卡放在那了,我們可能還是相對來說,是非常樂觀地去看待,但又會是一步一個腳印往前推進,泰山不是一天建起來的,一萬卡用好了,接下來幾萬卡、十萬卡也能建好、用好,我覺得這是比較務實的角度。

機器之心最後,您能對 AI Infra 未來的發展趨勢做一些展望嗎?

王迪:這個問題我們一直有思考,基於 AI 算力的大模型是驅動 AI 算力走向叢集化、規模化的核心,包括剛才講的大算力、大叢集,整個訓練和推理框架等等這些。

我們過往幾年基於 Angel 做了很多事情,比如說怎麼樣用低端的卡也能訓練大模型,怎麼樣把視訊記憶體記憶體一體化管理起來,怎麼樣去把星脈網路的傳輸和計算做更好的結合,這些工作在 Angel 平臺上已經取得了比較好的結果,我們也獲得了 2023 年中國電子學會的科技進步一等獎

但這在我們看起來只是一個開始,為什麼這麼說呢?其實我們去看基於 CPU 的算力和雲端計算,當使用者說需要算力資源的時候,他們說的是我要多少核、要多少記憶體、要多少通訊頻寬。

對於 GPU 或者對於 AI 算力長遠來講,我們也希望有一天,使用者不再關注於卡本身,而是更關注計算的 Flops,更關注視訊記憶體數量、視訊記憶體的大小,更關注通訊頻寬,然後透過一個更加統一的排程平臺,訓練框架等等這樣一個一站式的平臺,能夠給我們公司內部這些不同的業務,以及雲上不同的客戶,去提供更好的、更加方便的,以及低成本的、更加通用的 AI 算力雲的計算能力,我覺得這是未來一個很好的方向。

嘉賓簡介

王迪,2008 年加入騰訊,擁有十多年在 AI 領域的深厚技術研發經驗,在超大規模生成式大模型、搜廣推稀疏大模型、搜尋平臺、GPU 算力和任務排程等技術領域取得顯著成就,目前是騰訊太極機器學習平臺和混元大模型技術負責人。

相關文章