背景與設計動機
隨著推薦系統和AI模型走向多模態、多任務的趨勢,字節跳動面臨著訓練、迭代效率和系統復雜度的雙重挑戰。一方面,各類業務(如新聞推薦、短視頻、圖文廣告、電商帶貨等)都需要處理文本、圖像、視頻、音頻等多種輸入模態,并同時考慮點擊率、停留時長、轉化率等多個目標;傳統的“多塔”或多模型方案往往導致訓練代碼碎片化、工程量巨大。另一方面,隨著模型規模從數億參數增長到數百億甚至更高,如何在大規模GPU集群上高效分布式訓練成為難題。VeOmni 框架正是在這樣的背景下應運而生:它由字節跳動Seed團隊聯合異構計算和云平臺團隊研發,旨在實現“一套框架、搞定所有多模態訓練”的目標。VeOmni 的三大核心定位是“統一多模態、統一并行策略、統一算力底座”,通過模塊化設計和統一接口,把復雜的多模態模型訓練流程簡化為“搭積木”式的操作,從而加速模型研發迭代,降低工程成本。
架構設計與核心模塊
VeOmni 框架采用編碼器–基礎模型–解碼器的三段式流水線架構,將多模態訓練拆分為獨立又可組合的模塊:
編碼器(Encoder):針對每種原始數據類型(如文字、圖像、音頻、視頻)分別設計,將輸入轉換為統一的Token嵌入向量。比如,圖像編碼器將圖片轉為向量序列,文本編碼器將文字切分為詞嵌入,音頻編碼器將語音轉為聲學特征。每個編碼器遵循標準化接口(如實現lm_encode方法),以統一的格式輸出向量,使得不同模態的數據“講同一種語言”。
基礎模型(Base Model):框架的核心處理器,接收來自各編碼器的統一格式嵌入,對其進行深度理解和交互式推理。基礎模型通常是大規模Transformer網絡,可以是語言模型、視覺語言模型或專家混合模型(MoE)。無論輸入是什么模態,基礎模型都使用相同的計算邏輯來提取信息、捕捉跨模態關聯。基礎模型內部還可集成多任務/多目標頭,實現同時預測不同推薦目標(如點擊率CTR、轉化率CVR等),支持多任務學習。
解碼器(Decoder):負責將基礎模型的輸出轉換回可理解的目標格式。當需要生成或預測不同內容時,分別調用對應的解碼器。例如文字解碼器生成文本內容,圖像解碼器或視頻解碼器將模型輸出的隱向量轉換為圖像/幀數據。所有解碼器遵循標準化接口(如實現lm_head、lm_generate等方法),保證能無縫集成新模態或新功能。
該架構的模塊化設計讓新模態或新任務的拓展非常簡單:只需根據接口標準實現新的編碼器或解碼器,然后插入系統,無需改動現有代碼。這種“像搭積木一樣”組合的方式,讓字節跳動的工程師可以靈活地為推薦系統增加處理能力,例如新增視頻特征編碼,或在同一個模型中同時預測商品點擊和轉化兩類目標。同時,VeOmni 對于輸入特征也提供了豐富的預處理能力,比如自動在不同模態之間插入邊界標識符(如插入特殊Token標記圖片和文字邊界),保證多模態數據能正確融合到同一批次輸入中。
為了應對大規模分布式訓練的挑戰,VeOmni 內置了多種并行化策略并支持組合使用:
全分片數據并行(FSDP):將模型參數、梯度等切分到各個GPU,從而顯著降低單卡顯存占用,支持橫向擴展訓練規模。
序列并行(Sequence Parallel):專門針對超長序列(如大長度文本、高分辨率視頻)而設計,將序列維度切分到多卡并行處理,避免單卡顯存溢出。框架同時提供異步版的序列并行策略(Async-Ulysses),將通信與計算重疊執行,大幅提升效率。
專家并行(Expert Parallel):針對混合專家模型(MoE)優化,將不同的專家子網絡分布在多臺設備上并行計算,并通過定制的路由與通信機制將請求智能分配給最適合的專家,隱藏通信延遲。
多維并行組合:VeOmni 支持將上述多種策略任意組合,例如同時使用 FSDP + 序列并行實現二維并行,或在此基礎上再加入專家并行形成三維并行,以適應各類復雜模型結構。框架提供自動搜索功能,可以在訓練啟動時根據模型規模和硬件條件智能選擇最優的并行切分方案,避免手工調參。
在系統級優化方面,VeOmni 也做了大量投入:它會根據每個張量的內存-計算代價(ROI)自動選擇重計算策略,只對性價比最高的操作開啟前向重計算,從而在保證可訓練的前提下最大限度節省顯存;引入融合算子和高效Kernel(如注意力-前饋融合、優化后的LayerNorm/RMSNorm等),減少碎片化訪存和通信開銷;支持動態批次打包,將不同長度的序列智能組合以減少計算資源浪費;并實現多級內存管理(層級重計算、激活卸載、優化器狀態切分等),讓訓練能夠在有限顯存上支撐更大模型。
此外,VeOmni 原生集成了前沿的模型優化策略:
多任務學習:基礎模型和解碼器可以設計成多頭輸出結構,允許在一個訓練流程中同時優化多個推薦目標(如同時訓練點擊率、觀看時長、轉化率等),自然實現目標融合。
蒸餾加速:VeOmni 提供了蒸餾訓練的管道,支持諸如步數蒸餾、分布匹配蒸餾(DMD)等方法,并利用框架本身的并行與顯存優化加速蒸餾過程。通過減少推理步數或舍棄冗余引導,進一步提高模型在線部署效率。
剪枝壓縮:雖然當前主要宣傳方向是訓練框架,但在實際應用中也可以結合模型剪枝、量化等技術對訓練好的模型進行壓縮,降低部署資源消耗。VeOmni 的模塊化設計和輸出格式兼容性(如支持 HuggingFace 格式)使得這類后續優化也較為便利。
在部署方面,VeOmni 已經與字節跳動的訓練平臺(例如火山引擎機器學習平臺)深度集成,實現了一鍵訓練和性能分析功能。研發人員只需通過配置腳本指定模型、數據、并行策略等,平臺即可自動分配千級GPU集群并啟動訓練任務,同時提供可視化的性能剖析(例如 Perfetto 火焰圖),極大簡化了從開發到部署的流程。
與其他推薦系統或框架的對比
相比字節跳動早期的多塔模型和多場景獨立模型,VeOmni 提供了更統一和靈活的方案:傳統的雙塔/多塔推薦架構通常將用戶和物品信息分開建模,并對每個場景使用不同模型,導致參數重復、多種代碼分支,以及跨場景特征難以共享;而 VeOmni 可以將不同塔的數據作為不同模態輸入到同一個基礎模型中,或在同一模型中并行預測多個場景下的任務,通過共享底層表示實現知識遷移,從而提升泛化能力。對于需要融合多個目標的場景(如同時考慮CTR和轉化),VeOmni 可直接在一個模型中通過多頭輸出實現,而無需額外維護多套模型。
與行業主流的多模態訓練框架相比,VeOmni 的優勢也十分明顯:比如 Google 的 MUM(Multitask Unified Model)主張通過單一大模型處理多種任務和多種語言/媒體信息,理念上與 VeOmni 一脈相承,但 VeOmni 在工程實現上進一步提供了開箱即用的訓練流水線和自動并行能力,讓研究者無需自己實現復雜的分布式邏輯。與通用的分布式訓練庫(如 DeepSpeed、Megatron 等)相比,VeOmni 的特色在于它是一體化的“全模態”訓練平臺,內置了針對視覺、語言、視頻的特定優化,且支持像畫圖形狀那樣自由組合并行策略;一般框架可能需要用戶手工調試并行配置,而 VeOmni 可通過自動搜索找到最優策略,真正做到“模型算力分離”。
與**專家混合模型(Mixture-of-Experts)**方法相比,VeOmni 原生支持專家并行,使得開發者可以輕松構建和訓練規模龐大的 MoE 模型。在傳統環境下訓練 MoE 模型需要額外編寫專家路由邏輯并解決通信瓶頸,而使用 VeOmni,開發者只需將 MoE 組件接入基礎模型,框架會自動處理專家分配和跨卡通信,極大簡化了工程復雜度。相較而言,普通推薦框架往往以密集模型為主,缺乏對專家模型的高效支持。
總之,VeOmni 的獨特之處在于全模態與全流程的統一:它將多模態數據輸入、并行策略、算力調度、優化算法等融合在一個可插拔的生態中,不依賴于單一模型類型,能夠服務于包括文本生成、視覺理解、視頻預測在內的多種場景。而傳統方案在擴展新模態或新任務時往往需要重復建設,VeOmni 則提供了更高的抽象層次,使得研發者可以把更多精力放在算法創新本身。
實際應用案例
在字節跳動內部,VeOmni 已經開始在多個產品線和業務場景中驗證效果。例如,在今日頭條的新聞推薦和在西瓜視頻的短視頻推薦場景中,這些內容通常同時包含文本標題、封面圖片或短視頻片段,使用 VeOmni 訓練的多模態推薦模型能夠同時吸收和理解圖文視頻信號,從而生成更精準的個性化排序。據內部反饋,基于 VeOmni 的聯合模型使得點擊率(CTR)和用戶停留時長相比傳統模型都有顯著提升,同時模型更新迭代的周期縮短了數十個百分點。在抖音電商場景中,由于商品推薦需要兼顧商品圖像、描述和電商指標(如加購率、成交率等)多目標優化,VeOmni 帶來的多目標訓練能力非常受用。通過一個模型統一訓練多項指標,抖音電商相關模型上線后發現整體轉化率、GMV(交易額)等指標相比之前有所增長,同時部署的模型規模也達到了數十億參數級別、使用數百塊GPU的大規模集群訓練。
在這些落地應用中,VeOmni 不僅提升了模型效果,還大幅提高了研發效率。團隊可以在同一個訓練流程中加入新的數據模態或目標,只要對應模塊上線即可無縫集成,而不必為每個業務再編寫單獨的訓練腳本。部署規模方面,VeOmni 已在千卡級的GPU集群上進行驗證,支持幾十億到數百億參數的模型訓練;在硬件選型上,既可充分發揮計算型GPU的算力優勢,也能在顯存受限的卡型上通過并行策略保證訓練可行性。總體來看,VeOmni在字節跳動內部的應用場景涵蓋了圖文推薦、視頻生成、搜索與問答等多種任務,為這些系統帶來了更高的模型吞吐和更快的業務迭代能力。
對開發者的意義與使用指南
對于算法研發人員和推薦系統工程師而言,VeOmni 提供了一個功能強大且可擴展的訓練平臺。其模塊化設計與統一接口讓開發者無需關注底層并行和資源調度細節,就能專注模型結構和任務邏輯本身。例如,要加入新的信息源或新任務,只需實現相應的編碼器/解碼器和任務頭,整個框架會自動協調并行策略和通信;而在傳統環境中,這通常需要編寫大量分布式代碼。VeOmni 還內置了多項自動化工具:啟動腳本可自動搜索最優的分布式配置,無需手動試錯;訓練日志和性能分析可視化界面則幫助工程師快速定位瓶頸,從而加速調優。
此外,VeOmni 的高效資源利用和加速能力讓模型迭代速度大幅提升,縮短從概念驗證到上線的時間。原本可能需要數天時間的千億級模型訓練,現在借助顯存/計算雙重優化、動態批處理和算子融合等技術可以明顯提速,使得團隊能夠更快地嘗試更大規模或更復雜的模型架構。開源的特性也意味著開發者可以及時跟進框架的更新和社區貢獻,進行二次開發或定制。
使用VeOmni時,開發者可以參考以下建議:
熟悉模塊接口:按照VeOmni提供的接口規范,編寫或改造編碼器、解碼器和任務頭等組件,以保證它們能夠被框架調度。
利用自動并行:在訓練腳本中開啟框架的自動搜索功能,讓系統根據模型大小、序列長度等參數,自動匹配合適的并行策略組合。
關注顯存與計算權衡:VeOmni會自動計算重計算ROI并選擇性開啟重計算,但如果在特定模型上遇到顯存瓶頸,也可手動調整重計算策略或混合精度選項。
優化模型結構:框架支持大型Transformer、MoE等多種架構,開發者可以依據任務需求選用或混合不同組件,例如組合專家層和長序列注意力模塊。
集成訓練與推理:利用VeOmni提供的蒸餾管道和模型導出功能,將訓練得到的模型快速轉換為線上可部署的格式,縮短訓練到推理的路徑。
總的來說,VeOmni 為工業級推薦系統工程師帶來了一個“全場景”的訓練解決方案。它將復雜的多模態數據處理、多目標任務訓練和大規模分布式優化等核心難題集成在一個靈活的平臺中,幫助開發者提升效率、降低門檻。在VeOmni的支持下,算法團隊可以像玩積木一樣快速構建和迭代推薦模型,不斷探索創新的推薦策略,為實際業務創造更大的價值。