浪潮資訊AI演算法研究員:解讀人工智慧大模型在產業中的服務新態勢 | 龍蜥技術

OpenAnolis小助手發表於2023-02-09

編者按:最早人工智慧的模型是從 2012 年(AlexNet)問世,模型的深度和廣度一直在逐級擴升,龍蜥社群理事單位浪潮資訊於 2019 年也釋出了大規模預訓練模型——源 1.0。今天,浪潮資訊 AI 演算法研究員李峰帶大家瞭解大模型發展現狀和大模型基礎知識,交流大模型在產業應用中起到的作用和 AI 服務新態勢。

本文整理自 龍蜥大講堂第 60 期,以下為本次分享原文:

浪潮資訊AI演算法研究員:解讀人工智慧大模型在產業中的服務新態勢 | 龍蜥技術

01 大模型現狀

浪潮資訊AI演算法研究員:解讀人工智慧大模型在產業中的服務新態勢 | 龍蜥技術

大家可以看到,人工智慧的模型其實從最早 2012 年(AlexNet)問世以來,模型的深度和廣度一直在逐級擴升,其中比較典型的是到了 2018 年的時候像 BERT-Large 等這種基於 BERT 和 transformer 結構的模型產生之後,興起了一波模型規模和引數激增的熱潮。從BERT 模型出現到 GPT-3 擁有 1750 億引數規模的千億級大模型,大規模預訓練模型成了一個新的技術發展趨勢。

在 2019 年的時候,浪潮資訊也釋出了大規模預訓練模型——源 1.0。引數量是 2457 億。站在現在的角度回看歷史的發展長河,模型的尺度和規模是在逐級擴增的,這個趨勢仍舊是有愈演愈烈的一個情況。

浪潮資訊AI演算法研究員:解讀人工智慧大模型在產業中的服務新態勢 | 龍蜥技術

整體大模型的興起繞不開一個基礎模型結構 Transformer。Transformer 架構相當於是在接受輸入之後,在內部進行了一個類似於查表的工作,其中的注意力層之所以叫注意力,最大的作用直白的來看就是可以去學習關係,所謂的注意力就是當我們看到一個東西的時候,對他感興趣我們就會多看一會兒,對另外一個東西沒有興趣或者對它的興趣比較低,則對它的關注會更少一點。這種注意力機制就是把所謂關注的程度轉換成了一個可衡量的指標,這就是上面說到的注意力。用這樣的一個注意力層可以更好的去學習所有輸入之間的一個關係,最後的一個前饋層又對輸入的資訊進行一個高效的儲存和檢索。這樣的一個模型結構與之前基於 RNN 的模型結構相比不僅是極大地提升了自然語言處理任務的精度,而且在計算效能上也遠超 RNN 類的模型。Transformer 結構的提出極大提升了計算效率和資源利用率。可以看到,在模型構建和訓練演算法的設計過程當中,算力和演算法是相輔相成的,二者缺一不可,也就是我們提出的混合架構的一個演算法設計。

另外 Transformer 結構之所以能夠做大做強,再創輝煌,另一個根本的原因在於網際網路上有相當多海量資料可以供模型進行自監督學習,這樣才為我們龐大的水庫中投入了龐大的資料資源和知識。

正是這些好處奠定了 Transformer 結構作為大模型基礎架構的堅實的地位。

浪潮資訊AI演算法研究員:解讀人工智慧大模型在產業中的服務新態勢 | 龍蜥技術

基於對前人的研究調研以及實證研究之後,我們發現隨著資料量和引數量的增大,模型的精度仍舊可以進一步的提升,即損失函式值是可以進一步降低的。模型損失函式和模型的引數規模以及模型訓練的資料量之間是呈現這樣一個關係,現在仍舊處在相對中間的水平上,當模型和資料量的規模進一步增大的時候仍舊可以得到大模型邊際效益帶來的收益紅利。

浪潮資訊AI演算法研究員:解讀人工智慧大模型在產業中的服務新態勢 | 龍蜥技術

大模型正在作為一種新型的演算法,成為整個人工智慧技術新的一個制高點和一個新型的基礎設施。可以說大模型是一種變革性的技術,他可以顯著的提升我們人工智慧模型在應用當中的效能表現,將人工智慧的演算法開發的過程由傳統的煙囪式開發模式轉向一種集中式建模,解決 AI 應用落地過程當中的一些場景碎片化、模型結構和模型訓練需求零散化的痛點。

另外我們能看到的是對於大模型這個領域裡面的玩家,主要是來自中美兩國。從 GPT3 釋出以後我們國內也開始相應的有不同的引數規模的模型來去引領世界大模型業界的一個浪潮。正如我們之前提到的,在大規模預訓練模型裡面,模型引數提升帶來的邊際收益仍舊存在,所以大家在短期之內仍舊在吃這種大模型引數提升帶來的收益紅利。

02 浪潮·源 1.0 大規模中文自然語言模型

浪潮資訊AI演算法研究員:解讀人工智慧大模型在產業中的服務新態勢 | 龍蜥技術

浪潮·源 1.0 大規模中文自然語言處理模型有 2457 億引數,於 2019 年的時候 9 月份釋出,在釋出之時,憑藉引數量登頂了業界規模最大的中文自然語言的單體模型。在這個模型整個構建的時候,最大的一個問題就是資料,資料集從哪來,怎樣去構建,包含哪些內容。這裡給大家列了一個表來簡單闡述,源 1.0 的中文資料集包含了有網際網路中文社群近五年的所有資料,以及一些公開資料集、百科、電子書等原始語料,總計超過 800TB。我們對原始語料做了過濾轉換、去重,之後構建了打分模型對所有的樣本語料進行高質量和低質量的判定。經過一系列的處理,最終我們得到了 5T 的高質量中文語料資料集,這個語料資料也是目前中文語料當中規模最大,質量最高的語料庫。我們的一些合作伙伴也拿我們公開的語料資料進行了一些模型的預訓練,也是成功登頂了 CLUE 等測評榜單。

浪潮資訊AI演算法研究員:解讀人工智慧大模型在產業中的服務新態勢 | 龍蜥技術

源大模型的結構上也做了一些創新,一方面是 2457 億的引數,這個引數主要是基於 Transformer 的解碼層結構進行了堆疊,也首次面向計算的效率和精度最佳化方面做了大模型的結構設計,針對 Attention 層和前饋層的模型空間結構也做了一些最佳化。我們改進的注意力機制來聚焦文章內部的聯絡,之後在整個計算過程當中我們也採用了張量並行、流水並行和資料並行三大並行方式來做模型的聯合最佳化,從而提升模型訓練的效率。

浪潮資訊AI演算法研究員:解讀人工智慧大模型在產業中的服務新態勢 | 龍蜥技術

源大模型在整個訓練階段,因為模型結構和模型引數如此巨大,就需要更大規模的算力跟算力最佳化的能力支援。浪潮資訊供給了全球五分之一,中國 50% 的 AI 伺服器,並且在 MLPerf 等等這些與AI計算相關的比賽和精度最佳化、計算最佳化的比賽當中也是獲得了非常多的冠軍,也連任了 SpecML 的評委的主席,在這些過程當中我們積累下來的AI計算和效能最佳化方面的這些能力也在源 1.0 的訓練過程當中被重複的賦能,所以我們的源 1.0 在訓練過程當中,有非常強大的 AI 算力支援。

在大模型訓練方面,我們採用了 2128 塊 GPU,在單個 GPU 上的實際效能和理論效能的比值達到了 45%,遠高於 GPT3 和 MT-NLG 等模型的訓練過程。對於計算效能的提升會帶來非常大的綠色環保的收益以及人力成本、時間成本上的收益。

源 1.0 在中文的自然語言測評的 CLUE 的零樣本學習和小樣本學習測評當中,獲得了業界第一的水平,在智源指數 CUGE 上面的評測也獲得了總分第一的成績。模型除了可比較、可量化的評價標準以外也表現出非常豐富和出色的中文理解和創作能力,後文也有一些基於源 1.0 落地的應用例項,跟合作伙伴一起開發和賦能的相關案例,也會做一個簡短的介紹。

我們在 WebQA 和 CMRC 的測評上面也橫向比較了當時業界我們國內的一些模型的水平,可以看到在這兩個任務上面我們也達到了一個業界高水平的成績。

03 基於源 1.0 的技能模型構建

大模型帶來優異的精度表現和泛化能力,也帶來一系列的問題。模型太大,部署起來會比較麻煩,因此我們基於源 1.0 在不同領域上面針對不同的任務構建了一些技能模型。

浪潮資訊AI演算法研究員:解讀人工智慧大模型在產業中的服務新態勢 | 龍蜥技術

在實際應用當中,有 2000 多億引數的大模型載入所需的視訊記憶體空間就非常龐大。千億引數模型需要用 8 張 GPU 卡做部署,推理時間要達到 6 秒多,而用百億引數模型只需要 4 張 GPU 卡就可以實現 2 秒鐘的推理效率,推理效率的提升還是比較明顯的,這樣的模型在實際的應用當中,尤其是對實時性要求較高的應用是非常佔優的。

大模型的更新也比較困難,2000 多億引數的模型,訓練和微調的成本非常高,如果訓練資料量少起不到對於這麼龐大模型的所有引數更新的作用,如果訓練資料規模大,雖然它的引數會被整體進行更新,但是會帶來兩個比較大的問題,一個是訓練成本本身會變得很高,另外一個就是大規模的資料在訓練過程當中有可能帶來災難性的遺忘,這會導致模型本身原有的泛化能力會有所衰減。還有就是應用困難,大模型的推理耗時相比傳統服務高好多,推理的資源需求也會大很多。千億引數的模型需要超過 600GB 的視訊記憶體進行載入,推理時間超過 6 秒。因此我們希望採用知識遷移和模型壓縮的方式來實現模型蒸餾。

浪潮資訊AI演算法研究員:解讀人工智慧大模型在產業中的服務新態勢 | 龍蜥技術

為了構建技能模型我們對一些典型場景進行了資料收集,一種是古文,古詩文是中國傳統文化的一個藝術結晶,因此我們希望能夠透過現代的技術去挖掘古代的文學之美,所以我們去收集古文類的所有的資料和樣本,然後去訓練一個古文模型來去實現讓大模型來做吟詩作對的這樣一個能力。另一個是對話場景,我們對於自由對話場景收集了超過 2GB,覆蓋多領域多話題的自由對話資料,以它為基礎,我們後續要進行模型的蒸餾。

關於中英文翻譯場景,我們收集了超過 145GB 的英文書籍和百科、新聞等國際官方文件,以及他們對應的中文翻譯,期望在後續可以做翻譯的模型。還有一個是問答場景。我們共收集了超過 3.9G 的公開知識,包括醫療、百科、金融等等多個領域。期望在後續可以去做問答的模型來匹配這樣的一個知識問答場景。

無論是在做什麼樣的模型的時候,演算法裡面叫百算數為先,無論構建什麼樣的演算法,我們都要從應用場景出手,在我們的模型開發實踐過程當中都是以場景和場景所需要的資料著手,首先進行資料準備,之後才是相應的模型演算法上面的一個開發工作。

浪潮資訊AI演算法研究員:解讀人工智慧大模型在產業中的服務新態勢 | 龍蜥技術

在傳統意義上或者是在過去我們的一些演算法實踐當中,模型壓縮一般是壓縮到 60%、50%,甚至相對大一點的時候把模型壓縮到原有模型的 40%,我們想要把千億引數模型進行 10 倍壓縮,然後我們去探索在這個壓縮過程當中所使用的方法,從相應的實踐當中去積累經驗,進一步把百億引數模型再往億級引數模型去壓縮。

想要做模型壓縮,第一個是需要確定引數的初始化方法:一種是採用 PKD 的 skip 方式,採用跳層的方式去保留其中需要的層數,使得模型寬度保持不變的情況下讓深度降低,從而達到減少引數量的目的,這種方式會使模型的抽象表達的能力變弱。第二種方式是採用 Hiddensizetransformation,模型的深度不變,而把模型寬度上面進行一個壓縮,但模型特徵抽取的能力就會變得非常弱,從我們的實踐當中也發現採用這樣的線性壓縮變換都會導致模型在訓練過程當中的穩定性變差,模型收斂會呈現一個波動的狀態。第三種方式是基於預訓練的方法,根據期望的訓練時長和模型推理的延遲等要求,預先設定相應的模型結構,在已有的資料上做預訓練,把這個預訓練出來的模型當做學生模型,在此基礎上再用專業資料集結合千億引數模型,對這個百億引數模型進行進一步的知識蒸餾,採用這樣的方式降低了模型開發的成本,同時可以很好的保留模型寬度跟深度上的一些結構。

第二個問題是模型的蒸餾的策略。蒸餾的時候究竟是以漸進式的知識遷移方式為主還是以輔助式的知識遷移的方式來進行模型蒸餾。漸進式知識遷移的精度和效能表現是比較好的,但是計算成本很高。

除了以上,還有一種模型壓縮的方式是直接同步的指導 studentmodel 裡面對應的對應層,在 loss 層面上面做一個加權,採用這樣的方式叫 AKT 的方式,這兩種方式的模型精度表現上面差異不大,但是對於採用 AKT 的方式,在一次訓練過程當中可以同步的去更新所有的 Transformer 結構裡面所需要的引數,這樣它的計算就遠比漸進式的方式計算開銷要小很多。所以浪潮資訊採用 AKT 的方式來進行模型壓縮。transformer 結構裡面包含的主要有三個東西:Embedding、Hiddenstate 還有 Attentionmatrics。如果在 Embedding 跟 Hiddenstate 上面做知識遷移,蒸餾前後的矩陣維度是不匹配的。因此我們對 Attentionmatrics 裡面 K、Q、V 三個矩陣做知識蒸餾,可以保證一方面維度不需要去考慮這個問題,另外一方面,在 transformer 當中,在最上面的內容裡其實提到過,transformer 裡面的 K、Q、V 矩陣,一方面做了知識的儲存,另外一方面,可以最大限度的保留知識跟關係之間的一些資訊。

浪潮資訊AI演算法研究員:解讀人工智慧大模型在產業中的服務新態勢 | 龍蜥技術

最終的實驗結果,百億引數的模型在 FewCLUE 上面與千億引數模型進行比較,可以看到模型的精度、損失是相對比較小的,是可以接受的。而計算資源的需求從 8 個 GPU 下降到了 4GPU,推理延遲也從 6 秒一直降至 2 秒,推理效能提升非常顯著。在 webQA 的問答資料集上進行測評,可以看到百億引數的模型,因為在構建過程當中,經過了知識蒸餾,得到的效能表現甚至優於了原來直接訓練出來的千億引數模型,也是達到了業界領先的程度。

浪潮資訊AI演算法研究員:解讀人工智慧大模型在產業中的服務新態勢 | 龍蜥技術

我們秉承著構建開源社群,提升大家在大模型裡面的應用能力,做了大模型的開源開放計劃,構建了開源的一個官方網站(air.inspur.com),針對大學或科研機構的人工智慧研究團隊、浪潮資訊的元腦生態夥伴,還有各種智慧計算中心,以及對於中文自然語言理解和大模型感興趣的各類開發人員和開發者進行免費開放,大家可以透過官網進行申請註冊。開源開放的內容包括在官網上有模型的 API,以及高質量中文資料集和相應的處理程式碼開放出了 1T 的資料,這些只需在官網上進行申請就行。

另外,模型訓練推理和應用的相關程式碼也在 github 上進行了開源,我們秉持一個開放的態度,鼓勵並且面向 AI 晶片的合作伙伴與大家合作,做模型相關的遷移和開發工作。

浪潮資訊AI演算法研究員:解讀人工智慧大模型在產業中的服務新態勢 | 龍蜥技術

上圖展示我們開源開放的一些工具,在官網上面我們構建的一個 APIExp 的線上測試工具,可以零程式碼的去實現對應引數 API 的互動和實驗。另外,我們也提供了沙箱,透過簡單的設定,就可以展示出想要設計的開發應用,在上線之後大概是一個什麼樣的互動方式和互動的結果。

04 源 1.0 大模型創新及實踐

浪潮資訊AI演算法研究員:解讀人工智慧大模型在產業中的服務新態勢 | 龍蜥技術

浪潮資訊AI演算法研究員:解讀人工智慧大模型在產業中的服務新態勢 | 龍蜥技術

最後,大模型在開源開放之後也迎來了非常多的合作,吸引了超過一千三百多的開發者,來自不同的行業和不同的應用場景,註冊並基於我們的源 1.0 大模型,進行不同應用的開發。這裡給大家看到的是一些簡單的事例,如圖是我們和西安筷子幫共同去開發的公文寫作助手,可以支援總結報告、學習心得等等內容的輔助寫作。針對長篇寫作內容的場景裡,我們在可控文字生成上面做了一系列的研究,解決長文字內容偏移的問題,生成的文字的語意的一致性也是比同類技術提升了 26%。

浪潮資訊AI演算法研究員:解讀人工智慧大模型在產業中的服務新態勢 | 龍蜥技術

另外我們做了智慧問答系統,在內部的智慧客戶的機器人上面,問題匹配率也是達到了 92.6%,然後依賴客服機器人去解決問題的成功率達到 65%。整體的應用使用也是有所提升,這一個專案也是獲得了今年哈佛商業評論裡面鼎革獎的年度技術突破獎。

浪潮資訊AI演算法研究員:解讀人工智慧大模型在產業中的服務新態勢 | 龍蜥技術

還有一些比較典型的應用,這個是和我們的開發者,一起來做的一個 PoC 專案,面向數字社群的助理。開發者面向數字社群的工作人員,提供了一款數字助理,透過採用大模型來模擬到居委會進行投訴,或者是進行諮詢的居民,然後來模擬他們的對話,並且對工作人員的回答做出一個判斷,並且予以評分。透過這樣的方式來提高工作人員面對突發情況的應對能力。

浪潮資訊AI演算法研究員:解讀人工智慧大模型在產業中的服務新態勢 | 龍蜥技術

在另外一個場景裡我們跟香港的浸會大學的教授一起基於大模型自然語言處理能力,開發一種心理輔導的培訓機器人。這種也是基於這樣的反向思維,讓 AI 去承擔心理諮詢對話當中的求助者的角色,讓諮詢師根據心理來做求助的患者。透過這樣的方式,我們可以用大模型模擬可能存在問題的輸入,透過標準工作者的工作內容去得到相應標準的答案。這其實也是網際網路思維的一個非常典型的叫羊毛出在豬身上,我們透過這樣的方式,也可以獲取非常多標準的資料集和針對應用場景下的標準資料集,有這些資料的情況下,反過來之後,我們再對大模型做微調之後模型就有能力去扮演工作人員的角色,然後對心理諮詢的患者直接進行輔導。這樣的過程其實就是在 ChatGPT 當中提到的 RLHF 的人環強化學習的一種合理的運用。

關於直播課件及影片回放獲取方式:

【PPT 課件獲取】:關注微信公眾號(OpenAnolis),回覆“龍蜥課件” 即可獲取。有任何疑問請隨時諮詢龍蜥助手—小龍(微信:openanolis_assis)。

【影片回放】:影片回放可前往 檢視。

—— 完 ——


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70004278/viewspace-2934571/,如需轉載,請註明出處,否則將追究法律責任。

相關文章