華為高階研究員謝凌曦:下一代AI將走向何方?盤古大模型探路之旅
摘要:為了更深入理解千億引數的盤古大模型,華為雲社群採訪到了華為雲EI盤古團隊高階研究員謝凌曦。謝博士以非常通俗的方式為我們娓娓道來了盤古大模型研發的“前世今生”,以及它背後的艱難往事。
本文分享自華為雲社群《華為高階研究員謝凌曦:下一代AI將走向何方?盤古大模型探路之旅》,原文作者: 華為雲社群精選 。
“每個人都生活在特定的時代,每個人在特定時代中的人生道路各不相同。在同一個時代,有人慨嘆生不逢時,有人只願安分……”這是2021年北京高考命題作文“論生逢其時”的開頭。
答題的是一位既沒上過小學,也沒讀過初中、高中的特殊考生。他只是在短時間內學習了大量人民日報的文章,然後憑藉自己的閱讀理解、文字聯想以及語言生成能力,寫出這篇看似“像模像樣”的高考作文。
是的,它是一個AI——華為雲盤古大模型,就在2021世界人工智慧大會(WAIC2021)上剛被評選為大會的“鎮館之寶”!在現場,觀眾可與大模型互動,直接給對方出題。比如,一句“明明明明明白白白喜歡他,但他就是不說,他很高冷。”這句話裡,“明明”顯示一個人名,而後又作為形容詞,且整句需要斷句。但當記者向大模型提問 “白白喜歡誰?”時,大模型很快回答“明明”。回答正確!
雖然盤古沒有寒窗苦讀十幾年,但它也經歷了上億引數的“學習”。
我們再來看個例子,比如理解下面這兩句話:
- 小明在讀書,通過不斷堅持,克服各種困難,最後讀完了。
- 小紅在畫畫,期間遇到了很多困難,最後也完成了這副畫作。
雖然上面兩句話的人物和事件都不相同,但盤古也能和我們人類一樣,從中提取一個相同的含義:鍥而不捨。這個能力其實已經在華為開發者大會(Cloud)2021現場有所展示。我們不禁想問道盤古大模型是如何做到如此“聰慧”的呢?
為了更深入理解千億引數的盤古大模型,華為雲社群採訪到了華為雲EI盤古團隊高階研究員謝凌曦,考慮到大模型涉及到的一些技術比較晦澀,所以謝博士以非常通俗的方式為我們娓娓道來了盤古大模型研發的“前世今生”,以及它背後的艱難往事。
華為雲EI盤古團隊高階研究員 謝凌曦
何為大模型:AI落地千行百業的必由之路
神話傳說裡,盤古開天闢地,宇宙從一片混沌變得有序。談及盤古大模型,謝凌曦從人工智慧的誕生開始說起。
“上世紀50年代,AI概念被提出,人們使用人工設計規則的方式去定義AI;到了80年代,在大資料的浪潮下,人們通過訓練資料模型的方式來實現AI;後期隨著資料規模擴大以及算力的發展,深度學習掀起新浪潮,各種AI模型不斷湧現。”
“直到近兩年,我們開始將跨領域的知識整合到AI模型中,基於Transformer結構的各種大模型出現,包括OpenAI的GPT-3,以及盤古大模型。它們打開了深度學習模型的規模與效能共同發展的局面,達到了深度學習領域新的高度。”謝凌曦說道。
過去十年,AI 演算法對計算資源的需求增長了40萬倍,神經網路從小模型到大模型已經成為了必然的發展趨勢。大模型能夠解決 AI 模型定製化和應用開發碎片化,它可以吸收海量的知識,提高模型的泛化能力,減少對領域資料標註的依賴。
大模型一方面激活了深度神經網路對大規模無標註資料的自監督學習能力,同時對於 AI 框架的深度優化和並行能力都有很高的要求,是深度學習框架下將AI做到極致的集大成者。“從傳統方法到深度學習,這是一次大的跳躍,而在深度學習這個臺階上,大模型已經站在了最前面,等待著下一個臺階的出現。”
當前盤古系列超大規模預訓練模型,包括NLP大模型、CV大模型、多模態大模型、和科學計算大模型。模型大意味著它吸收了海量資料知識,以盤古NLP大模型為例,它學習了40TB的中文文字資料;盤古CV大模型則包含了30億+引數。這些資料提高了大模型的泛化能力,提升演算法對新鮮樣本的適應能力,從而學到隱含在資料背後的規律,減少對領域資料標註的依賴。
謝凌曦進一步解釋道,一方面大模型可以從無標註資料上更加通用的將知識遷移到目標任務上,進而提升任務效能;另一方面,通過預訓練過程學習到更好的引數初始點,使得模型在目標任務上只需少量資料就能達到不錯的效果。
當大模型可以從小資料樣本中學習更多,就能幫助我們開啟走向通用AI的大門,它可以解決AI模型定製化和應用開發碎片化的難題。
謝凌曦給我們算了一筆賬,他認為AI演算法落地難不是因為它無法解決實際問題,而是應用場景太狹窄,每個痛點都需要定製化開發,從而導致投入的成本和人力過高。
一旦場景變化,整個模型可能都需要重新開發。而大模型是一種工業化AI開發的新模式,可以解決小模型的定製化難題,讓一個模型可以應用到多個場景中,讓AI真正落地到千行百業中。
所以,作為這個時代發展的必然產物,大模型值得我們下功夫去挖掘,去探索深度學習、乃至AI的下一個階段會是怎樣的形態。
在這之前,我們需要先弄明白大模型是如何被煉成的。
不止引數,盤古NLP和CV大模型有更多“絕招”
谷歌1月份提出1.6萬億引數大模型Switch Transformer;
英偉達、斯坦福聯合MSR,共同訓出了10000億引數的GPT;
智源研究院釋出1.75萬億引數大模型悟道2.0;
……
在各種新聞報道中,我們很容易將大模型的突破歸功於億級別的引數。
謝凌曦推翻了這個刻板印象:“量大和多樣是大模型的必然要求,但引數並不是衡量模型能力的最佳指標。如果將大模型訓練的中間狀態都儲存下來,做個簡單的融合,我們甚至可以把模型的引數量乘以一個非常的數,甚至可以說現在已經有百萬億、千萬億引數的模型,但這並不會對模型的效果有很大的幫助。因此,引數量這個指標,並不是大模型強弱的最終評定標準。”
大模型是一種統籌了資料預處理、模型架構、演算法訓練與優化的一套完整體系,即便有足夠的算力、原始資料、原始模型,也並不意味能夠做出真正跑得通的大模型,這其中非常考驗技術研發和協同能力。
但毋庸置疑的是,資料越多,大模型學到的也就越多。“只要你給它足夠多的資料,讓他‘死記硬背’,它的理解能力確實會增強。”什麼樣的資料決定了模型有什麼樣的基本效果。謝凌曦表示,基於大量的引數,模型能夠學會資料之間的關係,抽象出邏輯能力,更加智慧化。
盤古NLP大模型
在最近的 CLUE 榜單上,盤古的NLP模型在總榜、閱讀理解排行榜和分類任務排行榜上都位列第一,總榜得分比第二名高出一個百分點。為了說明盤古的NLP模型是如何在理解能力上接近人類的,回到文章的開頭,謝凌曦舉了我們開篇提到的那個“鍥而不捨”的例子解釋:
- 小明在讀書,通過不斷堅持,克服困難最後成功了。
- 小紅在畫畫,期間遇到了很多困難,最後也完成了這副畫作。
人類可以很容易的通過邏輯判斷能力知道兩件事表達的是同一個意思:鍥而不捨,但大模型需要大量的資料投喂和學習,去捕捉元素與元素之間的關係,比如兩段文字之間的關係,幾段文字之間,哪兩段之間關係更近一些,才能得出邏輯性的判斷結論。
還是上面的例子,如果把2改成為“小明在讀一本書,期間遇到很多困難,可最後也沒能讀完”,這樣1和2的文字非常相似,但其實兩者表達的是完全不同的含義。
大模型需要學會判斷這種關係,謝凌曦解釋道:“表徵(從文字和影象中直接抽取的簡單特徵)和語義之間的關聯性是極其複雜的,人能夠理解,但讓計算機去理解並建立計算模型就非常困難,大模型就希望以大資料的方式以及堆砌大量可訓練引數去完成這件事。”
如果想要大模型理解我們的邏輯世界,引數之外的功夫也至關重要。
首先,千億引數的大模型每優化一次就會耗費巨大的成本,牽一髮而動全身。所以謝凌曦和團隊選擇在預訓練階段加入基於prompt的任務,降低微調難度,解決以往大模型為不同行業場景進行微調的困難。在下游資料充足時,微調難度的降低使得模型可以隨著資料變多而持續優化;在下游資料稀缺時,微調難度的降低使得模型的少樣本學習效果得到顯著提升。
盤古NLP大模型架構
另外,在模型結構上面,跟傳統其他企業訓練的NLP大模型的方式不同,盤古看重的不僅是大模型有生成能力,還要有更強的理解能力。華為採用了Encode和Decode的架構,來保證盤古大模型的在生成和理解上面的兩個效能。
盤古CV大模型
針對盤古CV大模型,謝凌曦同樣先舉了一個例子:如何區分白色貓和白色狗的圖片?人類看到這兩張圖片能一眼識別出來哪隻是貓,哪隻是狗,那麼大模型面對這些是如何處理的呢?
“我們需要讓模型在訓練的過程中,瞭解這些樣例之間真正強關聯性的東西。” 謝凌曦強調影象中非常重要的一個東西就是層次化的資訊。“在判斷影象的過程中,首先要把握好圖片中層次化的資訊,能夠快速的定位到圖片中哪部分資訊是起決定作用的,讓演算法以自適應的方式去關注比較重要的地方或內容,這樣就容易捕捉樣本之間的關係。在這兩張圖片中,很明顯白色不是最重要的資訊,動物才是圖片中起決定性的資訊。”
盤古CV大模型架構
基於此,盤古CV大模型首次兼顧了影象判別與生成能力,能同時滿足底層影象處理與高層語義的理解需求,同時能夠融合行業知識的微調,快速適配各種下游任務。
另外,為了解決模型大,資料多帶來的學習效率低,表徵效能弱的問題,盤古CV大模型在預訓練階段主要集中在資料處理、架構設計和模型優化三個階段進行優化。目前盤古CV大模型在Image Net 1%、10%資料集上的小樣本分類精度上均達到目前業界最高水平。
在CV大模型中,除了應用一些業界通用的演算法,其中也有華為自研的演算法,比如在視覺中強行給模型注入一些層次化的資訊,讓模型能夠學的更好。
而每個自研演算法的的背後,其實都是團隊解決每一個困難之後的寶貴經驗總結。
大模型研發很難,還好有他們
在整個盤古大模型的研發過程中,難點很多,比如上文提到的獨創演算法,因為除了架構和資料,演算法是非常核心的技術。
謝凌曦詳細談了談其中的一個技術難點:無論是文字資訊,還是影象資訊,表徵上看起來相似的東西,語義理解上卻截然不同。
“我們從問題出發,發現視覺特徵是一個層次化的捕捉過程,表徵的一些特徵更多的是集中在淺層特徵裡面,但到了語義就更多體現在深層特徵裡面。所以,需要我們在不同層面上把這些特徵對齊,這樣才能學的更好。同樣,在NLP上需要將模型的注意力放在一個最合適的地方。這個關鍵點也是通過複雜的神經網路尋找到的,而並非隨便在一段文字中利用演算法去找到關鍵點。”
這是一個很通俗的解釋,技術細節相對會更復雜和難以抽象化描述。但這個問題也只是冰山上的一角,整個大模型的研發中,謝凌曦和團隊要不斷去挖掘表象問題的本質,解決類似的技術難題。
另一個比較棘手的問題是模型的除錯執行。為了從預訓練獲取更多的知識,盤古大模型的資料肯定會越來越大,對底層的硬體平臺效能要求更高。此時,預訓練的效果,看的也已經不是模型本身,而是基礎設施構建得是否足夠優秀。
比如執行大模型需要足夠的機器提供充足的算力,但一臺機器最多隻能安裝8個GPU卡。NLP大模型需要上千個GPU卡,即使是較小的CV大模型,也需要128塊GPU同時執行,所以必須有一個非常好的機制去合理調配資源。
巧婦難為無米之炊,最開始的時候謝凌曦也很苦惱,誰來支撐大模型的執行呢?實踐證明,華為云為盤古提供的可多機多卡並行的雲道平臺起了大作用。雲道平臺能夠輕鬆分配資源,避免因基礎設施問題導致的盤古研發進度受阻,它同時可以將資料,以最合適的格式儲存在伺服器上,以便在使用過程中更有效的讀取。
不僅如此,大模型的困難也難在工程上,華為CANN、MindSpore框架、ModelArts平臺協同優化,充分釋放算力,為盤古大模型提供了強大的背後支撐:
- 針對底層運算元效能,基於華為CANN採用了運算元量化、運算元融合優化等技術,將單運算元效能提升30%以上。
- 華為MindSpore創新性地採用了“流水線並行、模型並行和資料並行”的多維自動混合並行技術,大幅降低了手動編碼的工作量,並提升叢集線性度20%。MindSpore開源框架加持,如何「煉出」首個千億引數、TB級記憶體的中文預訓練語言模型?細緻解讀了這些關鍵技術。
- ModelArts平臺提供E級算力排程,同時結合物理網路拓撲,提供動態路由規劃能力,為大模型訓練提供了最優的網路通訊能力。
但眾所周知,大模型之所以大,根源在於“資料多、模型大”,這就帶來模型的訓練成本高。以GPT-3為例,訓練一次成本是1200萬美金。謝凌曦感慨道,“大模型調參本身就非常困難,每一次模型訓練之前,都需要事先在很多小的場景中做驗證工作。每一次模型的訓練都需要確保萬無一失,不能出現已經開始訓練,卻有一個Bug存在的現象”。
為“應用”而生,盤古賦能更多使用者
大模型訓練在各方面突破,也為缺乏大量資料的行業鋪上接入智慧時代的軌道。正如華為雲人工智慧領域首席科學家、IEEE Fellow田奇教授在釋出盤古大模型所提到的,盤古大模型是為各行業的應用而生,盤古具備前所未有的泛用性,無論是2B場景或是2C場景。
行業知識來源於行業資料,盤古團隊使用了大量行業語音和文字資料,藉助這些資料進行微調,模型的行業特定意圖和知識理解能力得以大幅提高。
以盤古CV大模型為例,其在電力巡檢行業中表現出超強的應用能力。它利用海量無標註電力資料進行預訓練,並結合少量標註樣本微調的高效開發模式,節省人工標註時間。在模型通用性方面,結合盤古搭載的自動資料增廣以及類別自適應損失函式優化策略,極大地降低了模型維護成本。
謝凌曦還談到,除了行業的應用,面向開發者方面,盤古大模型正在逐步上線到AI資產共享社群(AI Gallery)。後期會陸續開啟邀測制,請大家敬請期待。在平臺上盤古會開發出一些比較通俗易用的工作流:如果你是有一定基礎的開發人員,可以從工作流中做更多的定製化開發,更好地釋放預訓練模型的能力;如果你只是一個AI開發小白,想用大模型做簡單的AI開發,盤古也會給你更加通俗易懂的介面,讓大家用一些拖拉拽的方式去實現。後續盤古會針對開發者推出系列的課程,指導開發者基於盤古大模型在實踐場景中開發應用。
另一方面,盤古也希望和開發者共成長。“大模型只是一個抓手,讓它應用到實際場景中。不僅更好的幫助使用者提高訓練的進度和縮短訓練的時間,而且模型上的應用數量增多,使用者的成本自然而然就降低了。” 謝凌曦表示,盤古的發展單靠我們團隊是遠遠不夠的,我們還需要和開發者一起建設好這個生態。
最後
談到盤古大模型的未來,謝凌曦有個簡單的小目標——把盤古推向下一個技術爆發點。AI大模型是深度學習的最高階段,往下走可能是一條平的直線,大家都在等待跳躍的那一天。華為雲一直在努力,用各種原創技術去推動,解決AI開發者實際會遇到的問題,最本質的目的是賦能千行百業的AI落地。
道阻且長,行則將至。
正如盤古大模型的名字一樣,華為也希望以大模型為抓手,把AI推向一個前所未有的高度,讓我們往下一代AI去走,劈開AI未來道路上的“混沌”。