開源語言模型BLOOM 期待開啟AI的「 Android」 時代

陳忠誠提到,要建立大型語言模型需要具備三大要素,大運算資源、大AI模型,以及大量訓練資料。大運算資源除了要有足夠且運算速度夠快的GPU,還需要有AIHPC的架構,才能降低資料交換過程中所需耗費的時間。而除了大語言模型之外,還需要有平行運算的能力,除了要能對模型進行訓練也要能根據需求調整模型。此外,除了利用大量無標註的資料進行訓練,若能搭配少量品質高的標註資料,將能對提升效能帶來幫助。

全球上千位研究者參與的開源大型語言模型:BLOOM

而具有1,760億個參數的BLOOM LLM(BigScience Large Open-science Open-access Multilingual Language Model),在參數量/架構與GPT3相近,也是全球第一個「開源」的大語言模型,全球共有上千位研究者參與這個研究專案,並由法國超級電腦Jean Zay訓練達117天。其資料集包含46種語言和13種程式語言,共1.5TB,能進行主要任務包括文章分類、對話產生、文本產生、翻譯、知識回答(語意搜尋)及文章摘要,使用者只要選擇一種語言,就能要求BLOOM撰寫食譜、翻譯或摘要等任務。

陳忠誠說,雖然BLOOM的資料集並不包含德文、日文與俄文,但這並不代表模型沒有這些語言能力,因為所搜集的語言資料中仍會有參雜些許單字或句子的可能。另外,訓練的資料集中的法文資料也較多,從這之中也可以看出,語言模型其實是具有地域性,且訓練國家所偏好的語言,也會影響資料集的數量與模型的表現,例如ChatGPT在英文的表現就比中文好。

為了讓176B的模型訓練與推論可以在台灣杉二號上運行,團隊使用了各式不同,包括18 Nodes(144 GPU)、 36 Nodes(288 GPU)、 54 Nodes(432 GPU)、72 Nodes(576 GPU)、 90 Nodes(720 GPU)、108 Nodes(864 GPU)等超過上千張的GPU進行訓練,訓練出的效能也十分接近理論值。

由於台智雲在TWCC平行的跨節點平行運算環境,是以InfiniBand架構有效發揮各節點間的協同運作,能以跨節點線性的表現,獲得接近線性的加速,提供近乎完美的高效能驗證,可協助用戶完整發揮運算效能,訓練時間也將隨節點數增加而逐步降低。

如TWCC使用105台節點及840張GPU,精準切割分配模型做大量的平行運算,訓練的成果非常好,每張GPU卡都能跑到最大效能。可見藉由TWCC在BLOOM大模型訓練的成果展現,不僅可以助力大模型推論系統優化,更能成功克服Multi-node Inference挑戰。

利用少數標註資料即可大幅提升效能

陳忠誠提到,由於Bloom參數達176B,無法在任一GPU上直接訓練,需精準分割模型並有效率地分散式訓練。需要運用到多種平行運算的技術,如TP (Tensor Parallel) + PP (Pipeline Parallel) + DP (Data Parallel) 等。

BLOOMZ是基於Bloom LLM架構下訓練而出的MultiTask Finetune(MTF) ,透過加入標註資料進行微調可大幅提升效能,陳忠誠指出,LLM的參數量越大,多任務(MTF)的效果越大,且MTF當對少見語言的任務也有提昇效果。他指出,只要能提供模型一些好的資料,就能提升模型學習的效率。

他認為,相較於ChatGPT,開源的BLOOM將開啟一個AI 的 Android 時代,也期待能藉由開源與技術社群的力量,持續進步成長,快速迭代並帶動創新!

想了解更多大型語言模型的應用與可能,請點選以下影片: