99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

NanoGPT,最簡(jiǎn)單最快的庫(kù)來(lái)了!

CVer ? 來(lái)源:量子位 ? 2023-01-30 11:49 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

訓(xùn)練/微調(diào)中型GPT,最簡(jiǎn)單最快的庫(kù)來(lái)了!

其名為:NanoGPT。

從名字就能看出是個(gè)“納米武器”,據(jù)作者介紹,該庫(kù)代碼簡(jiǎn)單易讀,2個(gè)僅300行代碼的文件。

現(xiàn)已基于OpenWebText重現(xiàn) GPT-2 (124M),在單個(gè)8XA100 40GB節(jié)點(diǎn)上,訓(xùn)練時(shí)間為38小時(shí)。

值得一提的是,該庫(kù)發(fā)布者是前特斯拉AI總監(jiān),李飛飛高徒,Andrej Karpathy。此次發(fā)布的NanoGPT,正是他2年前MinGPT的升級(jí)版。

2596639a-a03e-11ed-bfe3-dac502259ad0.png

目前,此項(xiàng)目在GitHub所獲star已超6k,HackerNews上points也破千。

25a7757c-a03e-11ed-bfe3-dac502259ad0.png

毫無(wú)意外地,評(píng)論區(qū)一片“喜大普奔”。

有網(wǎng)友表示,這才是咱獨(dú)立開(kāi)發(fā)者喜聞樂(lè)見(jiàn)的AI工具。

25b4b0ca-a03e-11ed-bfe3-dac502259ad0.png

還有人對(duì)其一直開(kāi)放傳授分享知識(shí)的做法,表示感謝。

25bee7ac-a03e-11ed-bfe3-dac502259ad0.png

那么,這個(gè)最簡(jiǎn)單最快的NanoGPT怎么用?

下面展開(kāi)講講。

NanoGPT的打開(kāi)方式

發(fā)布文件里面包含一個(gè)約300行的GPT模型定義(文件名:model.py),可以選擇從OpenAI加載GPT-2權(quán)重。

還有一個(gè)訓(xùn)練模型PyTorch樣板(文件名:train.py),同樣也是300多行。

作者補(bǔ)充道,代碼并不難,很容易就能滿足大家需求——無(wú)論是從頭開(kāi)始訓(xùn)練新模型,還是基于預(yù)訓(xùn)練進(jìn)行微調(diào)(目前可用的最大模型為1.3B參數(shù)的GPT-2)。

25c96394-a03e-11ed-bfe3-dac502259ad0.png

一個(gè)訓(xùn)練實(shí)例展示

上手前,需要提前準(zhǔn)備好依賴項(xiàng):

  • pytorch <3

  • numpy <3

  • pip install datasets for huggingface datasets <3 (如果你需要下載和預(yù)處理OpenWebText)

  • pip install tiktoken for OpenAI’s fast BPE code <3

  • pip install wandb for optional logging <3

  • pip install tqdm

先下載并標(biāo)記OpenWebText數(shù)據(jù)集。

$cddata/openwebtext
$pythonprepare.py

這將創(chuàng)建一個(gè)train.bin和val.bin文件,將 GPT2 BPE token id放入一個(gè)序列中。

然后準(zhǔn)備訓(xùn)練,目前腳本默認(rèn)是嘗試重現(xiàn)GPT-2,124M參數(shù)版本,但作者更鼓勵(lì)大家閱讀代碼查看文件頂部的設(shè)置及路徑。

$pythontrain.py

如需使用 PyTorch 分布式數(shù)據(jù)并行 (DDP) 進(jìn)行訓(xùn)練,請(qǐng)使用 torchrun 運(yùn)行腳本。

比如,要在4個(gè)GPU節(jié)點(diǎn)上運(yùn)行,代碼如下:

$torchrun--standalone--nproc_per_node=4train.py

要從模型節(jié)點(diǎn)中采樣,就需將一些檢查點(diǎn)寫入輸入目錄中。

$pythonsample.py

據(jù)作者目前自己的測(cè)試,他在1 個(gè) A100 40GB GPU 上訓(xùn)練一晚,損失約為 3.74。如果是在4個(gè)GPU上訓(xùn)練損失約為3.60。

如果在8個(gè)A100 40GB節(jié)點(diǎn)上進(jìn)行約50萬(wàn)次迭代,時(shí)長(zhǎng)約為1天,atim的訓(xùn)練降至約3.1,init隨機(jī)概率是10.82,已將結(jié)果帶到了baseline范圍。

觀察不同參數(shù)下訓(xùn)練/驗(yàn)證loss值如下:

25d5f28a-a03e-11ed-bfe3-dac502259ad0.png

至于如何基于新文本微調(diào)GPT,作者也簡(jiǎn)介了方法。

先訪問(wèn)data/shakespeare,查看prepare.py。

下載小型shakespeare數(shù)據(jù)集并將其呈現(xiàn)為train.bin和val.bin文件(方法前文已介紹),幾秒即可搞定。

運(yùn)行一個(gè)微調(diào)示例,如下:

$pythontrain.pyconfig/finetune_shakespeare.py

該操作將加載配置參數(shù),覆蓋config/finetune_shakespeare.py文件。

作者指出,一般情況下,基本操作就是從GPT-2檢查點(diǎn)初始化init_from,再正常訓(xùn)練。

此外,如果手里只有macbook或一些“力量”不足的小破本,作者建議使用shakespeare數(shù)據(jù)集,然后在一個(gè)很小的網(wǎng)絡(luò)上運(yùn)行。

先渲染數(shù)據(jù);

$cddata/shakespeare
$pythonprepare.py

再用一個(gè)較小的網(wǎng)絡(luò)來(lái)運(yùn)行訓(xùn)練腳本。

比如下面就創(chuàng)建了一個(gè)小得多的Transformer(4層,4個(gè)head,64嵌入大?。?,只在CPU運(yùn)行,在作者自己的蘋果AIR M1本上,每次迭代大約需要400毫秒。

$cd../..
$pythontrain.py--dataset=shakespeare--n_layer=4--n_head=4--n_embd=64--device=cpu--compile=False--eval_iters=1--block_size=64--batch_size=8

關(guān)于NanoGPT的后續(xù)計(jì)劃,Andrej Karpathy也在網(wǎng)上有所分享。

他將試圖讓NanoGPT更快復(fù)現(xiàn)其他GPT-2模型,然后將預(yù)訓(xùn)練擴(kuò)展至更大規(guī)模的模型/數(shù)據(jù)集中,此外,他還計(jì)劃改進(jìn)下微調(diào)部分的文檔。

轉(zhuǎn)戰(zhàn)教育和開(kāi)源的特斯拉前AI總監(jiān)

熟悉Karpathy的圈內(nèi)人肯定知道,他此前是李飛飛高徒,也長(zhǎng)期致力于讓更多人接觸了解神經(jīng)網(wǎng)絡(luò)和相關(guān)數(shù)據(jù)集。

2020年8月,他就曾發(fā)布NanoGPT前一代,MinGPT,同樣旨在讓GPT做到小巧、簡(jiǎn)潔、可解釋,同樣主打300行代碼搞定。

Karpathy另一大身份是前特斯拉AI核心人物。

在馬斯克麾下,他歷任特斯拉高級(jí)AI主管、特斯拉自動(dòng)駕駛AutoPilot負(fù)責(zé)人、特斯拉超算Dojo負(fù)責(zé)人、特斯拉擎天柱人形機(jī)器人負(fù)責(zé)人…

2022年7月,Karpathy Andrej離職,在業(yè)內(nèi)引發(fā)不小討論。他表示,未來(lái)將花更多時(shí)間在AI、開(kāi)源技術(shù)教育上,比如他做了一檔AI課程,現(xiàn)還在更新中。

此番發(fā)布NanoGPT同時(shí),Karpathy還下場(chǎng)安撫了下催更黨——新視頻正從0開(kāi)始構(gòu)建,計(jì)劃2周內(nèi)發(fā)布。

25e5cb92-a03e-11ed-bfe3-dac502259ad0.png

最后附上:

NanoGPT項(xiàng)目:https://github.com/karpathy/nanoGPT

Andrej Karpathy課程:https://karpathy.ai/zero-to-hero.html


審核編輯 :李倩


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

    關(guān)注

    1

    文章

    3519

    瀏覽量

    50411
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70714
  • GPT
    GPT
    +關(guān)注

    關(guān)注

    0

    文章

    368

    瀏覽量

    16084

原文標(biāo)題:300行代碼搞定!特斯拉前AI總監(jiān)發(fā)布:NanoGPT,最簡(jiǎn)單最快的庫(kù)來(lái)了!

文章出處:【微信號(hào):CVer,微信公眾號(hào):CVer】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    遠(yuǎn)程訪問(wèn)內(nèi)網(wǎng)MySQL數(shù)據(jù)庫(kù)?這個(gè)方案更簡(jiǎn)單

    各位開(kāi)發(fā)者朋友們,是否還在為無(wú)法隨時(shí)隨地訪問(wèn)內(nèi)網(wǎng)MySQL數(shù)據(jù)庫(kù)而煩惱?今天分享一個(gè)超實(shí)用的方法,通過(guò)容器部署 MySQL 結(jié)合 ZeroNews 內(nèi)網(wǎng)穿透,讓你在任何地方都能安全訪問(wèn)和管理數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 07-04 18:06 ?179次閱讀
    遠(yuǎn)程訪問(wèn)內(nèi)網(wǎng)MySQL數(shù)據(jù)<b class='flag-5'>庫(kù)</b>?這個(gè)方案更<b class='flag-5'>簡(jiǎn)單</b>

    AD庫(kù)封裝庫(kù)安裝教程

    電子發(fā)燒友網(wǎng)站提供《AD庫(kù)封裝庫(kù)安裝教程.pdf》資料免費(fèi)下載
    發(fā)表于 06-19 15:35 ?3次下載

    Devart: dbForge Compare Bundle for SQL Server—比較SQL數(shù)據(jù)庫(kù)簡(jiǎn)單、最準(zhǔn)確的方法

    ? dbForge Compare Bundle For SQL Server:包含兩個(gè)工具,可幫助您節(jié)省用于手動(dòng)數(shù)據(jù)庫(kù)比較的 70% 的時(shí)間 dbForge數(shù)據(jù)比較 幫助檢測(cè)和分析實(shí)時(shí)SQL數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 01-17 11:35 ?556次閱讀

    云數(shù)據(jù)庫(kù)是哪種數(shù)據(jù)庫(kù)類型?

    云數(shù)據(jù)庫(kù)是一種部署在虛擬計(jì)算環(huán)境中的數(shù)據(jù)庫(kù),它融合了云計(jì)算的彈性和可擴(kuò)展性,為用戶提供高效、靈活的數(shù)據(jù)庫(kù)服務(wù)。云數(shù)據(jù)庫(kù)主要分為兩大類:關(guān)系型數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 01-07 10:22 ?509次閱讀

    騰訊ima升級(jí)知識(shí)庫(kù)功能,上線小程序?qū)崿F(xiàn)共享與便捷問(wèn)答

    近日,騰訊旗下的AI智能工作臺(tái)ima.copilot(簡(jiǎn)稱ima)迎來(lái)了知識(shí)庫(kù)功能的重大升級(jí)。此次升級(jí)不僅增加了“共享知識(shí)庫(kù)”的新能力,還正式上線了“ima知識(shí)庫(kù)”小程序,為用戶帶
    的頭像 發(fā)表于 12-31 15:32 ?1836次閱讀

    AMC7834只使用外部4個(gè)ADC,怎么配置可以使轉(zhuǎn)換速率達(dá)到最快

    1.只使用外部4個(gè)ADC,怎么配置可以使轉(zhuǎn)換速率達(dá)到最快?最快情況下,進(jìn)行一次裝換ADC1,ADC2,ADC3,ADC4采樣點(diǎn)的時(shí)間間隔是多少?(我們?cè)O(shè)置的是單次觸發(fā)模式) 2.DAV功能配置后
    發(fā)表于 12-23 06:51

    HAL庫(kù)在Arduino平臺(tái)上的使用

    HAL庫(kù)在Arduino平臺(tái)上的使用 Arduino平臺(tái)是一個(gè)開(kāi)源的電子原型平臺(tái),它包括硬件(基于微控制器的電路板)和軟件(Arduino IDE)。Arduino平臺(tái)因其簡(jiǎn)單易用而受到廣泛歡迎
    的頭像 發(fā)表于 12-02 14:04 ?1616次閱讀

    HAL庫(kù)和標(biāo)準(zhǔn)庫(kù)的區(qū)別 HAL庫(kù)與CMSIS的關(guān)系

    在嵌入式系統(tǒng)開(kāi)發(fā)中,HAL(硬件抽象層)庫(kù)和標(biāo)準(zhǔn)庫(kù)是兩種常用的軟件庫(kù),它們?cè)诠δ芎褪褂脠?chǎng)景上有所不同。 1. 標(biāo)準(zhǔn)庫(kù) 標(biāo)準(zhǔn)庫(kù),通常指的是C語(yǔ)
    的頭像 發(fā)表于 12-02 14:02 ?3241次閱讀

    簡(jiǎn)單認(rèn)識(shí)libmodbus開(kāi)發(fā)庫(kù)

    libmodbus是一個(gè)免費(fèi)的跨平臺(tái)Modbus庫(kù),支持RTU和TCP,遵循LGPL V2.1+協(xié)議,兼容Linux、Mac OS X、FreeBSD、QNX和Windows等操作系統(tǒng)。它可通過(guò)串口
    的頭像 發(fā)表于 11-13 15:42 ?1040次閱讀
    <b class='flag-5'>簡(jiǎn)單</b>認(rèn)識(shí)libmodbus開(kāi)發(fā)<b class='flag-5'>庫(kù)</b>

    在KiCad中使用AD的封裝庫(kù)(Pcblib)

    。但除此之外,KiCad有一個(gè)相當(dāng)棒的功能:直接加載并直接使用AD的封裝庫(kù),無(wú)需轉(zhuǎn)換操作?”。 加載AD封裝庫(kù) 在KiCad中使用Altium Designer的封裝庫(kù)(*.pcblib)非常
    的頭像 發(fā)表于 11-12 12:21 ?3657次閱讀
    在KiCad中使用AD的封裝<b class='flag-5'>庫(kù)</b>(Pcblib)

    云數(shù)據(jù)庫(kù)可以租用嗎?完整租用流程來(lái)了

    云數(shù)據(jù)庫(kù)是可以租用的,這是一種合法且便捷的數(shù)據(jù)存儲(chǔ)和管理方式。云數(shù)據(jù)庫(kù)是云服務(wù)提供商提供的各種服務(wù)化的關(guān)系型數(shù)據(jù)庫(kù)(如RDS)、文檔數(shù)據(jù)庫(kù)服務(wù)等。它被優(yōu)化或部署到虛擬計(jì)算環(huán)境中,可以實(shí)
    的頭像 發(fā)表于 10-28 09:54 ?500次閱讀

    存儲(chǔ)器中訪問(wèn)速度最快的是什么

    在探討存儲(chǔ)器中訪問(wèn)速度最快的是哪一種時(shí),我們首先需要了解計(jì)算機(jī)存儲(chǔ)系統(tǒng)的層次結(jié)構(gòu)以及各類存儲(chǔ)器的特性和功能。計(jì)算機(jī)存儲(chǔ)系統(tǒng)通常包括多個(gè)層次的存儲(chǔ)器,從速度最快、容量最小的寄存器開(kāi)始,到速度較慢、容量較大的外存儲(chǔ)器結(jié)束。這些存儲(chǔ)器在訪問(wèn)速度、容量、價(jià)格等方面各有優(yōu)劣,共同構(gòu)
    的頭像 發(fā)表于 10-12 17:01 ?3847次閱讀

    什么網(wǎng)線最好最快

    在選擇“最好最快”的網(wǎng)線時(shí),需要考慮多個(gè)因素,包括傳輸速度、抗干擾能力、材質(zhì)、屏蔽效果以及適用場(chǎng)景等。以下是對(duì)幾種常見(jiàn)網(wǎng)線類型的分析,以及市場(chǎng)上一些知名品牌的推薦: 一、網(wǎng)線類型分析 光纖纜線 傳輸
    的頭像 發(fā)表于 10-12 10:09 ?2326次閱讀

    一種常用嵌入式開(kāi)發(fā)代碼庫(kù)

    語(yǔ)言std庫(kù),工具庫(kù)等等。具有簡(jiǎn)單,通用,高效的特點(diǎn),目的為了學(xué)習(xí)以及在開(kāi)發(fā)中拿來(lái)就用,提高開(kāi)發(fā)效率以及代碼可靠穩(wěn)定性。
    的頭像 發(fā)表于 09-04 08:06 ?863次閱讀
    一種常用嵌入式開(kāi)發(fā)代碼<b class='flag-5'>庫(kù)</b>

    擺脫自建庫(kù)的繁瑣,EDA元件庫(kù)轉(zhuǎn)cadence原理圖封裝庫(kù)實(shí)戰(zhàn)技巧

    擺脫自建庫(kù)的繁瑣,EDA元件庫(kù)轉(zhuǎn)cadence原理圖封裝庫(kù)實(shí)戰(zhàn)技巧
    的頭像 發(fā)表于 08-24 12:29 ?6639次閱讀
    擺脫自建<b class='flag-5'>庫(kù)</b>的繁瑣,EDA元件<b class='flag-5'>庫(kù)</b>轉(zhuǎn)cadence原理圖封裝<b class='flag-5'>庫(kù)</b>實(shí)戰(zhàn)技巧