北京2024年10月13日 /美通社/ -- 近日,浪潮信息源2.0開源大模型與百度PaddleNLP完成全面適配。用戶通過PaddleNLP,可快速調用源2.0預訓練大模型,使用源2.0在語義、數(shù)學、推理、代碼、知識等方面的推理能力,也可以使用特定領域的數(shù)據(jù)集對源2.0 進行微調,訓練出適合自身業(yè)務需求的大模型。
大語言模型的快速發(fā)展對訓練和推理技術帶來了更高的要求,企業(yè)在大模型開發(fā)過程往往面臨多種難題:如何實現(xiàn)高效訓練和推理,如何降低算力資源消耗,如何適配多種硬件……
PaddleNLP是百度基于飛槳框架打造的大語言模型套件,聚合業(yè)界優(yōu)質預訓練模型并提供開箱即用的開發(fā)體驗,覆蓋NLP多場景的模型庫,搭配產(chǎn)業(yè)實踐范例,提供極致的訓練與推理性能,可滿足靈活定制的開發(fā)需求。
源2.0系列基礎大模型是首個全面開源的千億參數(shù)模型,包括1026億、518億、21億三種參數(shù)規(guī)模的模型,在對話問答、編程、邏輯推理等方面展示出了領先的能力。
此次適配標志源2.0大模型遷移到飛槳生態(tài)中,豐富了PaddleNLP的大模型庫,方便用戶在PaddleNLP內(nèi)快速使用源2.0大模型的能力,并能使用特定領域的數(shù)據(jù)集做微調,利用相對較少的資源就能訓練出更適合實際應用場景的大模型。源2.0基于PaddleNLP內(nèi)置的預訓練-微調-推理全流程,支持大模型數(shù)據(jù)并行、數(shù)據(jù)分組切片并行和模型并行,提供高性能分布式訓練與推理技術,同時無需修改即可適配多種硬件,從而給用戶帶來開箱即用的開發(fā)體驗,實現(xiàn)高效訓練和推理。
在微調階段,利用PaddleNLP中Zero Padding零填充數(shù)據(jù)流優(yōu)化技術,通過分組貪心的數(shù)據(jù)填充策略,可最大程度消除無效填充的比例。通過上述優(yōu)化,相比LLaMA-Factory,PaddleNLP在SFT(Supervised Fine-Tuning,監(jiān)督微調)環(huán)節(jié)性能提升,可以更快訓練出適合客戶應用場景的專屬源2.0大模型。
基于PaddleNLP實現(xiàn)源2.0大模型的步驟
Step 1 環(huán)境構建,安裝飛槳框架的軟硬件環(huán)境
Step 2 拉取源2.0權重
Step 3 測試
使用PaddleNLP與源2.0的交互示例
用戶在PaddleNLP平臺上可以快速使用源2.0的推理能力,特別是使用源2.0進行張量并行推理時。在Torch平臺上,源2.0使用transformers直接進行推理,是默認使用流水線并行推理的,計算流只有一條,因此推理性能相較于張量并行較慢。如果想使用張量并行,需要用戶自己編寫代碼按照并行數(shù)量提前對權重進行轉換,而這又需要用戶對模型和框架比較熟悉。但在PaddleNLP平臺上,用戶無需提前處理權重即可一鍵啟動張量并行推理,上手門檻低。
以下是使用PaddleNLP與源2.0的交互示例。
1.代碼生成
問題:使用java實現(xiàn)冒泡排序算法
回答:冒泡排序是一種簡單但效率較低的排序算法,它通過比較相鄰的兩個元素,并交換它們的位置,從而逐步將最大的元素移動到列表的末尾。
下面是使用java實現(xiàn)冒泡排序算法的代碼:
在這個代碼中,int[]arr是輸入的整數(shù)數(shù)組,n是數(shù)組的長度。函數(shù)bubbleSort接受一個整數(shù)數(shù)組作為參數(shù),并返回排序后的數(shù)組。
使用上述代碼,你可以調用bubbleSort函數(shù)對數(shù)組[5,3,8, 2,1,6,4]進行排序。排序后的結果為[1,2,3,4,5,6,8]。
2.文章生成
問題:寫一篇題為AI帶給了人類什么的文章。
回答:人工智能(AI)是一種技術,它可以讓計算機像人類一樣思考和行動。AI技術已經(jīng)廣泛應用于各個領域,包括醫(yī)療、金融、交通、教育、娛樂等等。AI技術可以幫助我們解決許多問題,例如自動駕駛、語音識別、圖像識別、自然語言處理等等。AI技術還可以幫助我們提高工作效率,例如自動化生產(chǎn)線、智能客服等等。AI技術還可以幫助我們更好地了解世界,例如通過AI技術可以更好地預測天氣、分析市場趨勢等等??傊?,AI技術已經(jīng)成為了我們生活中不可或缺的一部分。
3.翻譯
問題:將下面的文字翻譯成中文:But with the passage of time, Hemingway has reached middle age,and his energy and creativity have also declined. In Hemingway's inner world, he was very upset, but he never lost hope and confidence.
回答:然而隨著時間的推移,海明威已經(jīng)步入中年,他的精力和創(chuàng)造力也不斷下降,但他的內(nèi)心卻非常不安,但他從未失去希望和信心。
4.對話
問題:目前最先進的機器學習算法有哪些?
回答:當前最先進的機器學習算法包括以下幾種:
1. 卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,CNN):CNN是近年來在圖像處理領域中非常成功的一種算法, 可以用于圖像分類、目標檢測、圖像分割等任務。
2. 循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Networks,RNN):RNN常常用于序列數(shù)據(jù)處理,例如自然語言處理、語音識別、機器翻譯等任務。其中,長短時記憶網(wǎng)絡(Long Short-Term Memory,LSTM)和門控循環(huán)單元(Gated Recurrent Unit,GRU)是兩種常用的RNN變體。
3. 自編碼器(AutoEncoder,AE): AE是無監(jiān)督學習中一種重要的算法,目標是學習一種壓縮表示形式,能夠把輸入壓縮到較小的范圍。目前應用于信號處理、圖像壓縮、數(shù)據(jù)壓縮等領域。
4. 對抗生成網(wǎng)絡(Generative Adversarial Networks,GAN):GAN是由兩個神經(jīng)網(wǎng)絡組成的對抗模型,一個生成器網(wǎng)絡用于生成新的數(shù)據(jù),另一個判別器網(wǎng)絡用于判別生成的數(shù)據(jù)是否真實,引導生成器學習生成新的數(shù)據(jù)。GAN廣泛應用于圖像生成、視頻生成等場景中。
5. 遷移學習(Transfer Learning):將過去在訓練集上訓練而得到的知識應用到新任務中,可以加速模型的 訓練和提高效果。
總之,當前最先進的機器學習算法包括卷積神經(jīng)網(wǎng)絡(CNN)、循環(huán)神經(jīng)網(wǎng)絡(RNN)、自編碼器(AE)、對抗生成網(wǎng)絡(GAN)等。在不同的應用場景中,需要根據(jù)任務特點選擇適合的算法,并進行實驗和評估來驗證其有效性。
使用PaddleNLP對源2.0進行訓練
如果需要基于源2.0從頭進行訓練,可以參考預訓練部分;如果需要基于源2.0大模型,對特定的功能進行"優(yōu)化",可以參考微調部分,使用特定領域的數(shù)據(jù)集做微調,利用相對較少的資源就能訓練出更適合實際應用場景的大模型。
1.預訓練
以源2.0-51B模型為例,輸出如下:
Loss曲線如下,可收斂。用戶可以基于源2.0的模型結構,使用自己的數(shù)據(jù)集從頭進行預訓練,生成專屬基礎大模型。
2.微調
以源2.0-51B模型進行Lora微調為例,輸出如下:
Loss曲線如下,可收斂。用戶可使用特定數(shù)據(jù)集對源2.0進行微調,訓練出更適合自身業(yè)務需求的大模型。