一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用PaddleNLP在4060單卡上實踐大模型預(yù)訓(xùn)練技術(shù)

jf_23871869 ? 來源:劉力 ? 作者:劉力 ? 2025-02-19 16:10 ? 次閱讀

作者:算力魔方創(chuàng)始人/英特爾創(chuàng)新大使劉力

之前我們分享了《從零開始訓(xùn)練一個大語言模型需要投資多少錢》,其中高昂的預(yù)訓(xùn)練費用讓許多對大模型預(yù)訓(xùn)練技術(shù)感興趣的朋友望而卻步。

應(yīng)廣大讀者的需求,本文將手把手教您如何在單張消費級顯卡上,利用PaddleNLP實踐OpenAI的GPT-2模型的預(yù)訓(xùn)練。GPT-2的預(yù)訓(xùn)練關(guān)鍵技術(shù)與流程與GPT-4等大參數(shù)模型如出一轍,通過親手實踐GPT-2的預(yù)訓(xùn)練過程,您就能對GPT-4的預(yù)訓(xùn)練技術(shù)有更深入的了解。

視頻鏈接如下:

[零基礎(chǔ)]:用PaddleNLP在4060單卡上實踐大模型預(yù)訓(xùn)練技術(shù) (qq.com)

一,GPT-2模型簡介


GPT-2(Generative Pre-trained Transformer 2)是由OpenAI在2019年發(fā)布的第二代生成式預(yù)訓(xùn)練語言模型,通過無監(jiān)督學(xué)習(xí)的方式進行預(yù)訓(xùn)練,能夠在多個自然語言處理任務(wù)上取得顯著的效果,如文本生成、閱讀理解、機器翻譯等。

GPT-2 奠定的技術(shù)基礎(chǔ)為 GPT-3、GPT-4 的發(fā)展提供了方向,后續(xù)版本在此基礎(chǔ)上不斷改進和創(chuàng)新。

GPT-2有4個參數(shù)版本:124M、355M、774M和1.5B。為方便大家使用單卡實踐預(yù)訓(xùn)練技術(shù),本文選用124M版本。

二,PaddleNLP簡介


PaddleNLP是一款基于飛槳的開源大語言模型(LLM)開發(fā)套件,支持在多種硬件上進行高效的大模型訓(xùn)練、無損壓縮以及高性能推理。PaddleNLP具備簡單易用和性能極致的特點,致力于助力開發(fā)者實現(xiàn)高效的大模型產(chǎn)業(yè)級應(yīng)用。

代碼倉:https://github.com/PaddlePaddle/PaddleNLP
wKgZO2e1kPqAYtDlAACYY_YXiIU051.png


三,預(yù)訓(xùn)練環(huán)境準備


本文的軟硬件環(huán)境如下:

操作系統(tǒng):Ubuntu 24.04 LTS

CPU: Intel? Core? i5-10210U

GPU:NVIDIA RTX-4060

代碼編輯器:VS Code

Python虛擬環(huán)境管理器:Anaconda

大語言模型訓(xùn)練工具:PaddleNLP

大語言模型:GPT-2

在Ubuntu 24.04上安裝RTX-4060驅(qū)動和Anaconda請參見這里;若您習(xí)慣在Windows上從事日常工作,請先配置《在Windows用遠程桌面訪問Ubuntu 24.04.1 LTS》。

四,安裝PaddleNLP


首先,請用Anaconda創(chuàng)建虛擬環(huán)境“gpt2”:

# 創(chuàng)建名為my_paddlenlp的環(huán)境,指定Python版本為3.9或3.10
conda create -n gpt2 python=3.10
# 激活環(huán)境
conda activate gpt2


然后,克隆PaddleNLP代碼倉到本地,切換到“develop”分支后安裝PaddleNLP。

# 克隆PaddleNLP代碼倉到本地
git clone https://github.com/PaddlePaddle/PaddleNLP.git
cd PaddleNLP
# 切換到”develop”分支
git checkout develop
# 安裝飛槳框架
pip install paddlepaddle-gpu
# 安裝PaddleNLP
pip setup.py install


輸入命令:“paddlenlp --help”,出現(xiàn)下圖,說明PaddleNLP安裝成功!

wKgZPGe1kVeAGZYFAATRUecYhYM554.png

五,下載預(yù)訓(xùn)練數(shù)據(jù)集


為了方便讀者運行快速體驗預(yù)訓(xùn)練過程,PaddleNLP提供了處理好的100K條openweb數(shù)據(jù)集的訓(xùn)練樣本。該訓(xùn)練數(shù)據(jù)集雖然不夠預(yù)訓(xùn)練的數(shù)據(jù)量要求(模型參數(shù)量的十倍以上),但足夠讓讀者觀察到啟動預(yù)訓(xùn)練后,隨機初始化權(quán)重的GPT-2模型的Loss值從11.x左右下降到5.x左右。

用命令將100K條openweb數(shù)據(jù)集的訓(xùn)練樣本下載到PaddleNLP/llm/data文件夾:???????

cd PaddleNLP/llm
mkdir data
wget https://bj.bcebos.com/paddlenlp/models/transformers/gpt/data/gpt2_openwebtext_100k.bin
wget https://bj.bcebos.com/paddlenlp/models/transformers/gpt/data/gpt2_openwebtext_100k.idx
mv gpt2_openwebtext_100k.bin ./data
mv gpt2_openwebtext_100k.idx ./data

wKgZO2e1kV2AL1PZAAaEK7aJ8Q0657.png

六,下載GPT-2模型和分詞器到本地


在/llm路徑下,輸入命令下載GPT-2模型和分詞器到本地:

paddlenlp download --cache-dir ./pretrained_models gpt2
wKgZPGe1kXuAMOkoAAVtO6OEAGc390.png


然后,打開llm/config/gpt3/pretrain_argument.json文件,按照下圖修改:

"model_name_or_path": "./pretrained_models/gpt2"

"tokenizer_name_or_path": "./pretrained_models/gpt2"

七,啟動GPT-2模型的預(yù)訓(xùn)練


在/llm路徑下,輸入命令:???????

python -u -m paddle.distributed.launch --gpus "0" run_pretrain.py 
                                       ./config/gpt-3/pretrain_argument.json 
                                      --use_flash_attention False 
                                      --continue_training 0

訓(xùn)練結(jié)果如下圖所示:

八,總結(jié)


使用PaddleNLP,可以在單張4060顯卡上實踐OpenAI的GPT-2模型的預(yù)訓(xùn)練,讓自己對GPT-4的預(yù)訓(xùn)練技術(shù)有更深入的了解!

更多大模型訓(xùn)練技術(shù),

請參看:https://paddlenlp.readthedocs.io/

如果你有更好的文章,歡迎投稿!

稿件接收郵箱:nami.liu@pasuntech.com

更多精彩內(nèi)容請關(guān)注“算力魔方?”!

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1221

    瀏覽量

    25197
  • 大模型
    +關(guān)注

    關(guān)注

    2

    文章

    2941

    瀏覽量

    3683
  • LLM
    LLM
    +關(guān)注

    關(guān)注

    1

    文章

    316

    瀏覽量

    641
收藏 人收藏

    評論

    相關(guān)推薦

    【大語言模型:原理與工程實踐】核心技術(shù)綜述

    的具體需求,這通常需要較少量的標注數(shù)據(jù)。 多任務(wù)學(xué)習(xí)和遷移學(xué)習(xí): LLMs利用在預(yù)訓(xùn)練中積累的知識,可以通過遷移學(xué)習(xí)相關(guān)任務(wù)快速適應(yīng),有時還可以
    發(fā)表于 05-05 10:56

    【大語言模型:原理與工程實踐】大語言模型的基礎(chǔ)技術(shù)

    全面剖析大語言模型的核心技術(shù)與基礎(chǔ)知識。首先,概述自然語言的基本表示,這是理解大語言模型技術(shù)的前提。接著,詳細介紹自然語言處理預(yù)
    發(fā)表于 05-05 12:17

    【大語言模型:原理與工程實踐】大語言模型預(yù)訓(xùn)練

    增長。DeepMind相關(guān)論文中指出,模型大小和訓(xùn)練Token數(shù)應(yīng)以相似速率增長,以確保最佳性能。因此,構(gòu)建與模型規(guī)模相匹配的預(yù)
    發(fā)表于 05-07 17:10

    為什么要使用預(yù)訓(xùn)練模型?8種優(yōu)秀預(yù)訓(xùn)練模型大盤點

    正如我們本文中所述,ULMFiT使用新穎的NLP技術(shù)取得了令人矚目的成果。該方法對預(yù)訓(xùn)練語言模型進行微調(diào),將其
    的頭像 發(fā)表于 04-04 11:26 ?2.4w次閱讀
    為什么要使用<b class='flag-5'>預(yù)</b><b class='flag-5'>訓(xùn)練</b><b class='flag-5'>模型</b>?8種優(yōu)秀<b class='flag-5'>預(yù)</b><b class='flag-5'>訓(xùn)練</b><b class='flag-5'>模型</b>大盤點

    小米預(yù)訓(xùn)練模型的探索與優(yōu)化

    導(dǎo)讀:預(yù)訓(xùn)練模型NLP大放異彩,并開啟了預(yù)訓(xùn)練-微調(diào)的NLP范式時代。由于工業(yè)領(lǐng)域相關(guān)業(yè)務(wù)的復(fù)
    的頭像 發(fā)表于 12-31 10:17 ?2810次閱讀
    小米<b class='flag-5'>在</b><b class='flag-5'>預(yù)</b><b class='flag-5'>訓(xùn)練</b><b class='flag-5'>模型</b>的探索與優(yōu)化

    如何實現(xiàn)更綠色、經(jīng)濟的NLP預(yù)訓(xùn)練模型遷移

    NLP中,預(yù)訓(xùn)練模型Finetune是一種非常常見的解決問題的范式。利用在海量文本預(yù)訓(xùn)練得到
    的頭像 發(fā)表于 03-21 15:33 ?2391次閱讀

    Multilingual多語言預(yù)訓(xùn)練語言模型的套路

    FacebookCrosslingual language model pretraining(NIPS 2019)一文中提出XLM預(yù)訓(xùn)練多語言模型,整體思路基于BERT,并提出了針
    的頭像 發(fā)表于 05-05 15:23 ?3261次閱讀

    如何更高效地使用預(yù)訓(xùn)練語言模型

    基本的假設(shè):預(yù)訓(xùn)練模型不同下游任務(wù)上學(xué)習(xí)的過程,可以被重新參數(shù)化(reparameterized)為同一個低維本征子空間
    的頭像 發(fā)表于 07-08 11:28 ?1440次閱讀

    利用視覺語言模型對檢測器進行預(yù)訓(xùn)練

    預(yù)訓(xùn)練通常被用于自然語言處理以及計算機視覺領(lǐng)域,以增強主干網(wǎng)絡(luò)的特征提取能力,達到加速訓(xùn)練和提高模型泛化性能的目的。該方法亦可以用于場景文本檢測當中,如最早的使用ImageNet
    的頭像 發(fā)表于 08-08 15:33 ?1598次閱讀

    預(yù)訓(xùn)練數(shù)據(jù)大小對于預(yù)訓(xùn)練模型的影響

    BERT類模型的工作模式簡單,但取得的效果也是極佳的,其各項任務(wù)的良好表現(xiàn)主要得益于其大量無監(jiān)督文本上學(xué)習(xí)到的文本表征能力。那么如何從語言學(xué)的特征角度來衡量一個
    的頭像 發(fā)表于 03-03 11:20 ?1734次閱讀

    什么是預(yù)訓(xùn)練 AI 模型?

    預(yù)訓(xùn)練 AI 模型是為了完成特定任務(wù)而在大型數(shù)據(jù)集訓(xùn)練的深度學(xué)習(xí)模型。這些
    的頭像 發(fā)表于 04-04 01:45 ?1747次閱讀

    什么是預(yù)訓(xùn)練AI模型?

    預(yù)訓(xùn)練 AI 模型是為了完成特定任務(wù)而在大型數(shù)據(jù)集訓(xùn)練的深度學(xué)習(xí)模型。這些
    的頭像 發(fā)表于 05-25 17:10 ?1306次閱讀

    預(yù)訓(xùn)練模型的基本原理和應(yīng)用

    預(yù)訓(xùn)練模型(Pre-trained Model)是深度學(xué)習(xí)和機器學(xué)習(xí)領(lǐng)域中的一個重要概念,尤其是自然語言處理(NLP)和計算機視覺(CV)等領(lǐng)域中得到了廣泛應(yīng)用。
    的頭像 發(fā)表于 07-03 18:20 ?3921次閱讀

    大語言模型預(yù)訓(xùn)練

    能力,逐漸成為NLP領(lǐng)域的研究熱點。大語言模型預(yù)訓(xùn)練是這一技術(shù)發(fā)展的關(guān)鍵步驟,它通過海量無標簽數(shù)據(jù)上進行
    的頭像 發(fā)表于 07-11 10:11 ?799次閱讀

    PaddleNLP為GPT-2模型制作FineWeb二進制預(yù)訓(xùn)練數(shù)據(jù)集

    作者:算力魔方創(chuàng)始人/英特爾創(chuàng)新大使劉力 《PaddleNLP4060單卡
    的頭像 發(fā)表于 03-21 18:24 ?282次閱讀
    <b class='flag-5'>用</b><b class='flag-5'>PaddleNLP</b>為GPT-2<b class='flag-5'>模型</b>制作FineWeb二進制<b class='flag-5'>預(yù)</b><b class='flag-5'>訓(xùn)練</b>數(shù)據(jù)集