女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

用PaddleNLP為GPT-2模型制作FineWeb二進制預訓練數據集

jf_23871869 ? 來源:jf_23871869 ? 作者:jf_23871869 ? 2025-03-21 18:24 ? 次閱讀

作者:算力魔方創始人/英特爾創新大使劉力

《用PaddleNLP在4060單卡上實踐大模型預訓練技術》發布后收到讀者熱烈反響,很多讀者要求進一步講解更多的技術細節。本文主要針對大語言模型的預訓練流程,使用PaddleNLP將FineWeb數據集中文本形式的數據,經過分詞化(Tokenize),轉換為大語言模型能直接使用的二進制數據,以便提升訓練效果。

ChatGPT發布后,當代大語言模型(LLM)的訓練流程基本遵循OpenAI提出的”預訓練+后訓練”的訓練范式。

預訓練:將海量知識通過無監督學習的方式壓縮到大語言模型的權重中,使其具備基本的通用能力,能預測下一個分詞。預訓練得到的模型叫基礎大模型。

后訓練:通過監督微調(SFT)和強化學習(RL)等方式,讓大模型按人類專家的方式輸出知識,使其具備專業能力。

一,PaddleNLP簡介


PaddleNLP是一款基于飛槳深度學習框架的大語言模型(LLM)開發套件,支持在多種硬件上進行高效的大模型訓練、無損壓縮以及高性能推理。PaddleNLP 具備簡單易用和性能極致的特點,致力于助力開發者實現高效的大模型產業級應用。

wKgZPGfcAnGAZJZbAAB0V6tIGJQ893.png

Github: https://github.com/PaddlePaddle/PaddleNLP


使用PaddleNLP實現訓練文本分詞化僅需三行代碼,如下所示:

# 導入PaddleNLP庫中的GPTTokenizer類
from paddlenlp.transformers import GPTTokenizer
# 使用預訓練的"gpt2-en"模型初始化GPTTokenizer,并設置bos_token為空字符串
tokenizer = GPTTokenizer.from_pretrained("gpt2-en", bos_token="")
# 打印使用tokenizer對字符串"Hello, world!"進行編碼后的結果
print(tokenizer.encode("Hello, world!"))

進入:

https://tiktokenizer.vercel.app/?model=gpt2


可以對比PaddleNLP的GPTTokenzier對“Hello,World!”的分詞結果。

二,FineWeb簡介


FineWeb是由Hugging Face團隊于2024年推出的超大規模語言模型預訓練數據集。作為目前最大的開源預訓練數據集之一,FineWeb數據集包含來自 CommonCrawl 的超過 15T 經過清理和重復數據刪除的英文網絡數據。其高質量的數據,有助于大語言模型穩定平穩的完成預訓練,而不會發生由重復低質數據引發的Loss Spike。

Link: https://huggingface.co/datasets/HuggingFaceFW/fineweb

本文使用FineWeb數據集的sample-10BT子集作為GPT-2的預訓練數據集。

三,開發環境準備


本文的開發環境依賴PaddlePaddle、PaddleNLP、datasets和tqdm。

首先,請安裝PaddlePaddle框架:

pip install paddlepaddle


然后,安裝其它依賴項:

pip install paddlenlp datasets tqdm


四,代碼實現


用PaddleNLP將FineWeb數據集進行分詞化處理,然后轉換為大語言模型能直接使用的二進制數據的關鍵步驟有:

1.從HuggingFace Hub加載fineweb數據集的10B樣本子集;

2.使用train_test_split按比例分割訓練集和驗證集;

3.對每個文本進行編碼,添加結束符eot_token,返回ids和len;

4.為訓練集和驗證集分別創建.bin文件,使用np.memmap高效寫入。

關鍵代碼如下所示:

wKgZPGfcAsWAHLv_AACNkvpFFuo041.png

完整范例代碼請參見:

https://aistudio.baidu.com/projectdetail/8798975


運行成功后,可以得到如下兩個文件:

wKgZPGfcAtCALsZgAAA-5MiqMvw838.png

五,總結


PaddleNLP好學易用,借助PaddleNLP的GPTTokenizer很容易實現FineWeb數據集的分詞化,并轉換為方便大模型預訓練的二進制數據!

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

稿件接收郵箱:[email protected]

更多精彩內容請關注“算力魔方?”!

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 二進制
    +關注

    關注

    2

    文章

    803

    瀏覽量

    42145
  • 數據集
    +關注

    關注

    4

    文章

    1222

    瀏覽量

    25275
  • GPT
    GPT
    +關注

    關注

    0

    文章

    368

    瀏覽量

    15930
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    PaddleNLP在4060單卡上實踐大模型訓練技術

    手把手教您如何在單張消費級顯卡上,利用PaddleNLP實踐OpenAI的GPT-2模型訓練。GPT
    的頭像 發表于 02-19 16:10 ?849次閱讀
    <b class='flag-5'>用</b><b class='flag-5'>PaddleNLP</b>在4060單卡上實踐大<b class='flag-5'>模型</b><b class='flag-5'>預</b><b class='flag-5'>訓練</b>技術

    偏移二進制二進制補碼如何和實際數據對應,如何轉換?

    偏移二進制二進制補碼如何和實際數據對應,如何轉換,請哪位高手解惑
    發表于 01-16 06:01

    TLC2543的輸出結果應為帶符號二進制格式的數據,現在輸出的結果不帶符號的二進制數,這是因為什么原因?

    DSP采用模擬SPI總線的方式和TLC2543進行通信,采用AIN0,AIN1,AIN2,TLC2543的輸出數據格式16位,高位在前,帶符號二進制數。
    發表于 12-27 07:46

    bcd編碼的應用 bcd與二進制的區別

    BCD(Binary-Coded Decimal)編碼是一種二進制編碼形式,用于表示十進制數字。它將每個十進制數字(0-9)直接編碼一個四位二進制
    的頭像 發表于 12-20 17:11 ?2753次閱讀

    hex格式和二進制的區別

    HEX格式和二進制在多個方面存在顯著的區別。以下是對這兩者的對比: 一、定義與表示方式 HEX格式 : HEX,全稱為Intel HEX,是一種用于存儲和傳輸數據到嵌入式系統(如單片機)的文件格式
    的頭像 發表于 11-18 15:24 ?1513次閱讀

    在線二進制編碼器:數據轉換的快捷通道

    在數字時代,數據的快速轉換與處理至關重要。二進制編碼,作為計算機內部數據表示的基礎,將信息轉化為0和1的序列,數字世界構建了溝通的橋梁。然而,對于非專業用戶來說,手動進行
    的頭像 發表于 11-15 09:01 ?1597次閱讀

    base64字符串轉換為二進制文件

    一些編程知識。以下是將Base64字符串轉換為二進制文件的一般步驟,以及一個簡單的Python示例代碼。 步驟: 獲取Base64字符串 :首先,你需要有一個Base64編碼的字符串。 解碼Base64字符串 :使用編程語言提供的庫函數將Base64字符串解碼
    的頭像 發表于 11-10 10:55 ?2644次閱讀

    ASCII碼和二進制的轉換關系

    。ASCII碼使用7位二進制數來表示128個不同的字符,包括大小寫英文字母、數字0-9以及一些控制字符和標點符號。后來,ASCII碼被擴展到了8位,即ASCII-8BIT,可以表示256個不同的字符。 二進制
    的頭像 發表于 11-10 09:50 ?3575次閱讀

    二進制編碼器在自動化領域的作用

    二進制編碼器是一種將二進制信號轉換為數字信號的電子設備,廣泛應用于自動化領域。 一、二進制編碼器的工作原理 二進制編碼器是一種將二進制信號轉
    的頭像 發表于 11-06 09:53 ?826次閱讀

    二進制編碼器的種類及特點

    處理多個輸入信號,并根據輸入信號的優先級輸出一個二進制編碼。如果多個輸入同時高電平,它將輸出最高優先級的輸入對應的編碼。 應用 :常用于鍵盤掃描、中斷優先級處理等場景。 二進制到十進制
    的頭像 發表于 11-06 09:47 ?1230次閱讀

    二進制編碼器應用場景 二進制編碼器與模擬編碼器比較

    編碼器是將信息從一種形式或格式轉換為另一種形式的設備。在數字和模擬系統中,編碼器扮演著至關重要的角色。二進制編碼器和模擬編碼器是兩種常見的編碼器類型,它們在不同的應用場景中有著各自的優勢和局
    的頭像 發表于 11-06 09:45 ?1109次閱讀

    二進制編碼器工作原理 如何選擇二進制編碼器

    編碼器通常有多個輸入端(通常2的n次方個,其中n是編碼器的位數),和一個或多個輸出端。每個輸入端對應一個二進制位,而輸出端則表示輸入的二進制值。 優先編碼器 : 優先編碼器是一種特殊
    的頭像 發表于 11-06 09:44 ?2187次閱讀

    二進制補碼及與原碼的互相轉換方法

    大沙把一些基礎的知識說清楚,本文介紹二進制補碼及與原碼的轉換方法。 先說原碼,原碼?是一種計算機中對數字的二進制定點表示方法。在原碼表示法中,數值前面增加了一位符號位,最高位符號位,0表示正數,1
    的頭像 發表于 09-19 22:25 ?1264次閱讀

    計算機采用二進制的原因不包括什么

    ,我們先簡要回顧一下為什么計算機會采用二進制。 物理實現的簡便性 :計算機的硬件,如晶體管,可以兩種穩定狀態來表示信息,通常是0和1,這對應于二進制的兩個數字。這種二進制系統非常適合
    的頭像 發表于 09-04 17:03 ?1084次閱讀

    二進制處理中的一些技巧

    二進制和十進制的處理中,有時候一些小技巧是很有用的。 1、把十進制數轉換成二進制數 (1)在MATLAB中有一個函數dec2b
    的頭像 發表于 07-05 11:51 ?866次閱讀