AI新範式下,阿里雲視頻雲大模型算法實踐


編者按

在AI技術發展如火如荼的當下,大模型的運用與實踐在各行各業以千姿百態的形式展開。音視頻技術在多場景、多行業的應用中,對於智能化和效果性能的體驗優化有較爲極致的要求。如何運用好人工智能提升算法能力,解決多場景業務中的具體問題,需要創新地探索大模型技術及其應用方式。LiveVideoStackCon2023深圳站邀請到阿里雲智能高級算法專家劉國棟,爲我們介紹阿里雲視頻雲的大模型算法實踐。


文/劉國棟


整理/LiveVideoStack


大家好!我是來自阿里雲視頻雲的劉國棟。我本次分享的主題是《AI新範式下,阿里雲視頻雲大模型算法實踐》。



本次分享包括四個部分。第一部分介紹音視頻AI發展趨勢與阿里雲視頻雲業務對AI算法的要求,第二部分介紹阿里雲視頻雲大模型算法的系統架構與關鍵技術,第三部分介紹阿里雲視頻雲在大模型算法的幾個典型實踐,第四部分介紹對音視頻大模型的一些思考。



01

音視頻AI發展趨勢與業務對AI算法的要求



首先我們看第一部分:音視頻AI發展趨勢與業務對AI算法的要求。



當下,音視頻服務已廣泛應用於互娛、廣電傳媒、教育、金融等各種行業,對場景的滲透也越來越深。這些行業、場景對智能化和體驗的追求愈來愈高,同時用戶希望用得起、更普惠。完成這樣的目標,AI可以發揮重要作用,這已成爲行業共識。


隨着AIGC的發展,音視頻領域的AI技術也呈現出了新的趨勢,即對AI技術的通用性、理解能力、生成能力都提出了更高的要求。過去純粹的定製小模型開發、單模態處理和預測範式有不少缺陷,觸達到了能力上限,而目前音視頻AI技術則走向了泛化能力非常強的預訓練大模型、多模態信息融合、生成式等方向。還有值得提出的一點是AI Agent的能力,即要求AI有感知、決策、行動的能力,它目前已成爲一個重要的研究方向。



當前,阿里雲視頻雲的核心業務包括直播、點播、媒體服務、音視頻通信,形成了完整的產品、解決方案陣列。這些業務、產品覆蓋音視頻從採集、生產、處理、媒資管理、傳輸與分發、播放與消費的全鏈路。


目前AI爲音視頻全鏈路的各環節提供了算法原子能力。舉例來講,在處理環節,我們開發了多個AI算法,在視頻方面包括視頻增強、視頻修復、超分、插幀,HDR等;在音頻方面包括智能降噪、語音增強、空間音頻、影視音效等。這些AI算法都集成到產品中,提升了產品的競爭力。


當然,AI除了提供算法原子能力之外,也滲透到視頻雲的引擎層、調度層、業務層,進一步提升它們的智能化水平。



儘管AI已經大量融入業務,我們對業務做了深入分析後,還是發現了一些痛點問題。舉例說明,雲剪輯,很多時候還是需要指定剪輯模版,缺乏自動化,另外,獲取高質量的素材也很難;在媒資管理中,視頻檢索的質量仍然存在不少提升空間。但同時,由於大模型、AIGC帶來的巨大變革,我們認爲解決這些業務痛點問題已成爲可能。


我們總結出幾點新趨勢下視頻雲業務對AI算法的要求,包括追求效果性能上的極致體驗,追求算法的泛化性、通用性,提升AI自主決策、規劃處理鏈路的能力,以及降低開發、接入、使用的成本。



02

視頻雲大模型算法系統架構與關鍵技術



針對音視頻業務對AI算法的更高要求,我們採用了大模型的技術,設計了一套基於視頻雲大模型算法開發的系統架構,並實踐、提煉了一些關鍵技術,形成了一套較爲通用的大模型算法落地業務場景的“方法論”。



我們先看下大模型時代來臨前,是如何設計算法的。


多數情況下,我們採用小模型、傳統算法或者兩者結合的方法。其優點是:小模型、傳統算法在算法開發、工程優化方面已相對比較成熟,小模型的訓練資源佔用少且訓練速度快,部署容易,端側落地性強。但是問題也比較突出,比如模型的泛化能力差,效果上限比較低,理解、生成能力比較差等。



而大模型出現後,它的通用性、泛化性、多模態能力、強大的理解和生成能力等都讓我們驚歎不已,這些正是小模型和傳統算法所欠缺的。用大模型技術去解決之前的算法問題,甚至重做一遍,提高算法效果的上限,我們認爲這是比較可行的做法。


不過我們也發現了大模型的一些通病,比如對細粒度的問題還不能完美處理、容易出現幻覺現象、推理訓練成本都比較高等。如果要在實際業務中應用大模型,這些問題都應該要儘量避免甚至解決。



那我們是如何推進大模型算法演進的呢?


首先,我們根據視頻雲的業務特點,設計和搭建了一套基於視頻雲大模型算法開發的系統架構。整個系統涵蓋了分析、規劃、推理、評價、訓練與微調的全鏈路,並且是可進化、可決策的。


可決策主要體現在,系統會根據客戶需求和自身的分析,結合視頻雲知識庫及LLM做出決策,制定合適的處理鏈路和選擇模型去完成任務。


可進化主要體現在兩個方向,一方面,系統會通過推理、評價、訓練不斷迭代,完善模型;另一方面,知識庫也是不斷更新的,比如說好的解決方法和評價信息以及業務反饋、沉澱的數據等都會送入知識庫,確保知識的新鮮度、準確度。



基於大模型算法系統框架,我們不斷地在業務中實踐、演進,提煉出一套通用的大模型算法開發的“方法論”,使其能高質量地解決業務中的實際問題。


第一,大小模型協同技術。


針對前面指出的大模型、小模型或傳統算法各自存在的問題,我們提出幾種大小模型、傳統算法協同的方法,包括三者的串聯、並聯,用小模型特徵引導大模型或者大模型引導小模型,以及它們的組合。目前,我們在實踐中已經採用了大小模型協同的方法,比如實景摳圖、聲音克隆等算法,已經取得了比較好的效果。



第二,大模型微調。


目前音視頻領域的大模型往往針對通用場景,在實際業務中效果不太好,當然這並不是講這些模型完全不可用。在一些情況下,我們針對自己的業務場景,篩選出相對高質量的大模型,再結合我們的數據、知識庫進行大模型的微調。


整個過程會涉及到訓練數據的製作、微調的具體方法、幻覺和災難性遺忘的應對、以及訓練策略和效果評價方法等一系列問題。


我們在實踐中主要採用了參數高效的微調方法,對調整哪些網絡結構層也做了大量實驗。訓練策略上採用模型解耦,多步訓練的策略。比如在視頻搜索中,我們就採用了類似的方案,使得模型準確度有了大幅提升。



第三,大模型的訓練優化。


大模型訓練的計算量巨大,顯存的佔用也非常大,這導致訓練週期很長,算法迭代速度很慢,影響算法的落地。


我們從IO、計算、存儲等角度出發,實踐了一些並行訓練、顯存優化的方法,包括多種並行,混合精度訓練,梯度檢測點等,以及採用Zero、Offload、Flashattention等工具。這些方法使得我們可以在一些性能不高的GPU上,如RTX3090/RTX4090/V100,完成多機多卡的訓練,從而降低算法的開發週期。



第四,大模型壓縮和推理優化。


實際業務對成本的要求是比較高的,我們希望在保證模型效果的前提下,儘量提升推理的性能。


實踐中,我們對模型做了多輪的壓縮,交替使用多種壓縮方法,包括使用輕量的backbone,低秩分解,以及剪枝,知識蒸餾、量化等。比如在摳圖中,我們採用多種壓縮方式的組合,使模型大小有了顯著下降,參數減少30%以上。


此外,我們也做了很多推理層面的優化,比如算子融合、算子優化、矩陣優化,顯存優化,批處理優化等,並藉助阿里雲神龍團隊的HRT推理引擎,使得大模型推理性能得到進一步提升。



03

視頻雲大模型算法典型實踐案例




接下來介紹當前阿里雲視頻雲在大模型方面的進展。在過去近一年的時間內,阿里雲視頻雲在大模型方面做了深入探索,開發了多個算法,所做工作涉及音視頻採集、生產、處理、媒資管理、傳輸分發、播放消費全鏈路的多個環節。


正如上圖所示,在生產製作環節,我們開發實景摳圖、聲音克隆、文生圖、圖生圖、AI作曲等多個基於大模型的算法;在媒資管理環節,開發了基於大模型的視頻搜索、視頻標籤、視頻概要等技術;在處理環節,我們開發了基於大模型的視頻修復、語音增強等算法。


目前我們已經初步形成了較爲完整的視頻雲大模型算法陣列。這些算法中很多都已集成進產品,並服務客戶。在這裏,我將從生產製作、媒資管理、處理方面分別介紹一項典型算法實踐,即實景摳圖、視頻檢索、視頻修復。



實景摳圖是一項非常重要的底層技術,它的應用面非常廣,比如我們熟知的數字人制作、虛擬演播廳、影視特效、視頻剪輯、視頻會議等都會用到它。


阿里雲視頻雲在摳圖方面有多年的積累,已開發多種摳圖算法,可以應對客戶端、服務器等的不同需求,也已在多種業務場景落地。


這裏重點介紹的是面向服務器的基於大模型的摳圖技術。



一般情況下,想要得到高質量的摳圖結果,都要採用搭建綠幕的方式。因爲這種情況對光照、設備、去溢色等都有非常專業的要求,在一定程度上限制了綠幕摳圖的應用範圍。


而在實際業務中,往往需要對實景拍攝的視頻,摳出前景來。由於拍攝環境多變、內容多種多樣,用算法自動進行摳圖實現難度比較大。



如何對實景視頻實現高質量摳圖呢?這涉及到算法選型的問題。


我們先看下小模型方法能否實現高質量摳圖。經過深入調研,我們發現很多摳圖效果好的方法都採用人工干預的方法,這種方式對單幀圖像比較友好,但對於視頻,往往處理耗時久,不太實用。而採用非交互式方式的摳圖,魯棒性則較差,往往只能較好地摳人像,難以在多場景推廣。


大模型分割算法的出現,讓我們看到了採用大模型提升摳圖效果的可能性。以SAM爲例,它的分割泛化能力非常強,分割質量高,對噪聲、陰影等也能做到很好的處理。


我們希望藉助大模型分割的能力來實現高質量的摳圖。



我們提出了一種基於大模型的實景摳圖方案。它能統一處理藍綠幕與實景摳圖,所以實際處理中不用再區分背景是藍綠幕還是實景。此外,該方案不僅可以摳人像,還可以摳與人連帶的附屬物,並且摳圖的質量都非常高。


它的整體流程如下:首先用戶提供一些摳圖所需的信息,這些信息以文本形式嵌入,然後輸入圖像與文本嵌入向量逐步經過目標檢測、基於輕量化大模型的物體分割、基於小模型的摳圖網絡。


在這個框架中,模塊是可插拔的,而且採用的是大小模型結合的方式。小模型會充分吸收大模型的信息,比如這裏的摳圖網絡,它吸收來自分割模型的特徵,提高了摳圖的效果。



我們重點看下分割大模型是如何做到輕量化的。


首先選擇一個各方面都表現比較好的基礎大模型(泛化性好、分割準確度高、效果和性能平衡)。


接下來的工作是調整它,解決其適配業務場景的問題,使它在業務場景下表現得比較完美。這裏會進行微調,我們設計了Adapter結構,實踐中採用了MLP和低秩分解組合的形式。另外,Adapter的插入位置也進行了很多嘗試。還有一點是訓練數據的製作,以及數據配比等等都非常重要。


有了一個效果比較好的大模型,我們開始設計輕量化的大模型,這個模型採用輕量化的vit結構作爲backbone,使用前面訓練好的大模型對它進行蒸餾,使用剪枝等技術進行優化。


經過這些操作,輕量化模型的參數下降到基礎大模型的2/3。在這個過程中,我們也沉澱了多個不同複雜度、不同摳圖能力的模型,把它們的能力送到知識庫中。實際業務使用時,決策中心會根據要求調用合適的模型。



除了算法層面的優化,我們還進行了一些工程側的優化,主要包含三方面:


1、工程架構的優化,這裏採用了CPU、GPU異步並行。

2、網絡推理方面的優化,如使用推理框架HRT,採用fp16、int8推理。

3、傳統算法模塊的優化,如控制優化、循環優化、訪存優化、線程優化等。


經過算法、工程兩方面的優化,對於輸入的1080p視頻,我們在A10上實現了33fps的高質量摳圖。



我們看下摳圖的效果。對於輸入圖像,我們實現了摳人像、以及摳人像加桌子/化妝品/手機等附屬物的效果。這個摳圖質量還是比較高的,特別是髮絲摳圖效果非常細膩,人物、物體的摳圖邊緣都很精細。


另外,我們也開發了前背景和諧化的技術,解決了摳出的前景與被貼入背景在光照、對比度、色彩等方面不協調的問題。



在剛剛過去的雲棲大會,我們也展示了一個摳圖的應用,在開放環境中,實現異地多人實時連麥+虛擬背景的功能。右圖是現場演示的圖像。



我們再看下媒資管理中的視頻搜索。它的應用也非常廣,包括廣電傳媒、雲導播、雲盤管理、短視頻內容推薦、視頻監控等。



這裏先介紹下傳統的視頻檢索方法。


它通常採用小模型方法對視頻內容進行識別,包括人臉識別、物體識別、Log識別、OCR、ASR等等,然後生成標籤,這些標籤是文本關鍵詞形式的,且大部分是實體標籤。這些標籤都會送到數據庫中。對於用戶輸入的查詢語句,進行標籤的查詢,並返回對應視頻的片段。


這裏存在一個比較大的問題,即搜索往往是實體的搜索,而對於實體的動作、相互之間關係等很難檢索到正確的視頻,另外,搜索往往對查詢詞很敏感。



我們看到多模態表徵技術將圖像和文本映射到統一的高維空間中,實現了實體、實體關係等的高質量檢索,並對文本中的同義詞、近義詞不敏感。這些典型的表徵技術包括CLIP、BLIP技術等,還有針對中文的ChineseCLIP、TEAM等。但這些技術是針對單幀圖像的,而我們的場景都是視頻。那如何實現視頻的檢索?如何提升高維向量檢索的時效性呢?



我們提出了一種基於嵌入模型的視頻檢索算法。


對於視頻而言,同一個鏡頭,最好用同一個或少數幾個embedding vector表示。這樣做的好處是減少了embedding向量的數量,也就減少了存儲的空間和檢索的計算量,同時,由於是對鏡頭進行處理,表徵的質量更高,檢索的質量也就更高。我們通過三步達到這個目標:


1、首先,對視頻內容分析,結合固定步長抽幀和自適應抽幀,初步過濾掉一些信息冗餘的幀;

2、其次,採用相鄰採樣幀,進行時空維度的特徵編碼;

3、最後,對嵌入向量,從檢索角度,進行多級聚類和量化。


經過這三個過程,在同一鏡頭內,得到的最終向量只有非常少數,大大降低了向量的存儲空間,提升了檢索的效率,而且也提高了檢索質量。


這裏我們設計了多幀的視覺編碼器,採用微調、蒸餾等方法保證了它的效果,並實現了它與文本的對齊。


在前面方法的基礎上,我們又提出了一種信息融合的視頻檢索算法。這裏解決的問題是:一是實現視覺+聲音與文本間的檢索,比如檢索出小鳥在樹上叫的視頻片段,二是實現更細粒度的檢索,比如某位名人在某個著名景點的活動。


針對這兩個問題,我們分別設計了時空視聽嵌入模塊和關鍵實體識別模塊,分別提取不同粒度的表徵信息。在檢索階段,我們會分別對兩種粒度的嵌入向量進行檢索,再對二者的信息進行融合,最終實現更好的檢索效果。


此算法發揮了不同模型優勢,融合了多模態的信息,並提升了檢索的適用範圍。



我們再看下多模態融合是如何實現的。整個過程如上圖所示。


它實現了同一場景視覺與聽覺的特徵融合,也實現了視聽特徵與文本的模態對齊。我們借鑑了ImageBind的方法,把音頻、文本都對齊到了視覺空間。 



目前,該功能已經集成進媒體服務產品中。這裏展示了一些視頻搜索的效果,我們可以看到新方法的一些效果,它對動作、時間、數量等都有比較好的檢索能力。



最後看下處理方面的視頻修復算法。視頻修復的應用場景非常廣泛,比如體育賽事、綜藝節目、影視劇、紀錄片、動漫、老歌MV等場景。



視頻修復的維度非常多樣,比如針對瑕疵、拍攝或製作中的噪聲、細節、色彩等,都可以進行修復。這裏講的視頻修復針對的是直播、點播等場景中,在製作、編輯、轉碼中引入的細節退化問題。如左圖所示,我們能看到明顯的細節退化,比如模糊、塊效應、邊緣鋸齒等。



那用什麼方法來解決細節退化呢?這裏牽扯到算法選型的問題。


從我們之前積累的經驗看,GAN方法對一些垂直領域的、退化不是非常嚴重的場景,可以有比較好的效果。但當片源或流的質量比較差時,GAN方法的細節恢復就顯得不夠了,而且此時生成的效果也不太自然。此外RealESRGAN的效果,一定程度上也印證了我們的結論。


我們發現,基於SD預訓練模型的StableSR可以取得更好的細節生成效果,具體表現爲:它對源質量適應性強,效果自然、穩定,細節恢復質量高。因此我們選擇SD來應對這樣的修復場景。


下面介紹我們的方案。該算法借鑑了StableSR的一些想法,網絡層面也是由UNet和VAEFGAN組成的。我們結合業務場景進行深入的設計和調整,特別是針對badcase的處理做了大量工作。這裏簡單介紹幾方面:


1、在訓練數據方面,採用了離線和在線結合的數據降質模擬策略。

2、針對VAEGAN中編碼器處理後有信息損失的問題,我們採用了編碼器特徵導引解碼器的網絡形式,並對他們進行聯合微調。

3、在訓練策略上,通過引入HR編碼器特徵,把擴散模型與VAEGAN解耦。

4、此外我們也採用了多階段訓練策略。



這裏展示了SD修復的效果。從圖中不難看出,新方法對人像和自然物都有很好的修復,比如,頭髮上的很多細節都恢復出來了,人的五官變得更清晰了,遠處船上及繩索上的細節、建築物的細節也恢復出來了。



04

音視頻大模型的思考




關於音視頻大模型的思考,這裏介紹四個方面:


第一是端側智能。隨着終端芯片對大模型支持的力度越來越大,比如apple、高通等公司都發布了大模型終端芯片,大模型在端側落地已是必然趨勢。目前我們從端側大模型設計、推理優化兩方面入手,針對高端機型,進行了端側大模型落地的探索。


第二是雲端一體。從技術層面講,需要解決兩方面的問題,第一個是如何劃分大模型雲、端的計算負載,第二個是大模型的特徵編碼。


第三是模型的統一。這裏重點強調兩個統一,視覺模型backbone的統一、以及多模態encoder的統一。在有了統一的基座模型之後,可以針對業務場景對下游任務進行finetune。


第四是大模型的決策能力。我們希望大模型不僅能解決單點問題,還希望它有規劃、行動的能力,也就是Agent的概念。現在在算法層面,我們已經做了一些工作,接下來我們希望用大模型來提升引擎、調度、業務層的智能化水平。


我的分享就到這裏,謝謝!

本文分享自微信公衆號 - LiveVideoStack(livevideostack)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章