91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

NanoGPT,最簡單最快的庫來了!

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

掃碼添加小助手

加入工程師交流群

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

其名為:NanoGPT。

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

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

值得一提的是,該庫發(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

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

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

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

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

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

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

下面展開講講。

NanoGPT的打開方式

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

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

作者補(bǔ)充道,代碼并不難,很容易就能滿足大家需求——無論是從頭開始訓(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)練,請使用 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ù)作者目前自己的測試,他在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萬次迭代,時(shí)長約為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,作者也簡介了方法。

先訪問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ò)來運(yùn)行訓(xùn)練腳本。

比如下面就創(chuàng)建了一個(gè)小得多的Transformer(4層,4個(gè)head,64嵌入大?。辉?a href="http://www.makelele.cn/v/tag/132/" target="_blank">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)教育和開源的特斯拉前AI總監(jiān)

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

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

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

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

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

此番發(fā)布NanoGPT同時(shí),Karpathy還下場安撫了下催更黨——新視頻正從0開始構(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)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3756

    瀏覽量

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

    關(guān)注

    30

    文章

    4969

    瀏覽量

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

    關(guān)注

    0

    文章

    368

    瀏覽量

    16883

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    Oracle數(shù)據(jù)ASM實(shí)例無法掛載的數(shù)據(jù)恢復(fù)案例

    一個(gè)Oracle數(shù)據(jù)故障表現(xiàn)為ASM磁盤組掉線,ASM實(shí)例無法掛載(mount)。數(shù)據(jù)管理員自行進(jìn)行簡單修復(fù),未能成功,隨后聯(lián)系北亞數(shù)據(jù)恢復(fù)中心恢復(fù)數(shù)據(jù)。
    的頭像 發(fā)表于 02-24 15:19 ?88次閱讀
    Oracle數(shù)據(jù)<b class='flag-5'>庫</b>ASM實(shí)例無法掛載的數(shù)據(jù)恢復(fù)案例

    艾體寶干貨 | 多模型數(shù)據(jù)解決的到底是什么問題?

    在數(shù)據(jù)選型的專業(yè)討論中,“多模型數(shù)據(jù)”已逐步成為熱點(diǎn)概念,但行業(yè)對(duì)其認(rèn)知仍存在偏差——要么被曲解為“無所不能的萬能數(shù)據(jù)”,要么被簡化為“圖數(shù)據(jù)與文檔數(shù)據(jù)
    的頭像 發(fā)表于 02-03 16:08 ?320次閱讀

    基于NVIDIA Isaac開發(fā)的機(jī)器人調(diào)酒師ADAM亮相國際賽場

    基于 NVIDIA Isaac 開發(fā)的機(jī)器人調(diào)酒師 ADAM,為維加斯黃金騎士隊(duì)的冰球粉絲帶來了身臨其境的未來式服務(wù)體驗(yàn)。
    的頭像 發(fā)表于 12-24 10:05 ?452次閱讀

    【乾芯QXS320F開發(fā)板試用】IQMath使用

    進(jìn)路徑 這里定義的#define GLOBAL_IQ 24所以使用24位IQ 先來了解下最簡單的把浮點(diǎn)數(shù)轉(zhuǎn)換成IQ格式的函數(shù)_IQ 其實(shí)就是把浮點(diǎn)數(shù)乘上2^23 先來簡單寫個(gè)弧度轉(zhuǎn)正弦值功能驗(yàn)證,最后
    發(fā)表于 12-09 17:36

    物聯(lián)網(wǎng)短信實(shí)戰(zhàn):SMS收發(fā)功能速成來啦!

    在物聯(lián)網(wǎng)開發(fā)中,短信收發(fā)是常見需求。本文帶來一場技術(shù)實(shí)戰(zhàn),借助SMS,10分鐘內(nèi)即可實(shí)現(xiàn)物聯(lián)網(wǎng)短信的收發(fā)。通過簡單易懂的教程,讓你快速掌握這項(xiàng)功能,為物聯(lián)網(wǎng)項(xiàng)目賦能。 ? SMS核心主要支持如下
    的頭像 發(fā)表于 10-21 17:09 ?849次閱讀
    物聯(lián)網(wǎng)短信實(shí)戰(zhàn):SMS<b class='flag-5'>庫</b>收發(fā)功能速成來啦!

    告別代碼迷宮!exgnss擴(kuò)展讓GNSS定位開發(fā)秒變簡單

    還在為GNSS定位的復(fù)雜代碼頭疼?exgnss擴(kuò)展為你掃清障礙!它提供簡潔的接口和高效的工具鏈,從信號(hào)捕獲到坐標(biāo)解析一氣呵成,開發(fā)效率直線飆升。 一、exgnss的三種應(yīng)用模式 exgnss
    的頭像 發(fā)表于 09-10 17:23 ?813次閱讀
    告別代碼迷宮!exgnss擴(kuò)展<b class='flag-5'>庫</b>讓GNSS定位開發(fā)秒變<b class='flag-5'>簡單</b>

    求助,關(guān)于NanoEdge AI Studio生成的交叉編譯器版本疑問求解

    20231009\", 那么問題來了,怎么在NanoEdge AI Studio設(shè)定交叉編譯器呢,比如設(shè)置為armcc、armclang、iccram,因?yàn)槲倚枰獙?b class='flag-5'>庫加到keil或者iar工程里面。 看樣子這個(gè)軟件生成的是a
    發(fā)表于 08-08 07:25

    數(shù)據(jù)數(shù)據(jù)恢復(fù)—服務(wù)器異常斷電導(dǎo)致Oracle數(shù)據(jù)故障的數(shù)據(jù)恢復(fù)案例

    Oracle數(shù)據(jù)故障: 某公司一臺(tái)服務(wù)器上部署Oracle數(shù)據(jù)。服務(wù)器意外斷電導(dǎo)致數(shù)據(jù)報(bào)錯(cuò),報(bào)錯(cuò)內(nèi)容為“system01.dbf需要更多的恢復(fù)來保持一致性”。該Oracle數(shù)據(jù)
    的頭像 發(fā)表于 07-24 11:12 ?655次閱讀
    數(shù)據(jù)<b class='flag-5'>庫</b>數(shù)據(jù)恢復(fù)—服務(wù)器異常斷電導(dǎo)致Oracle數(shù)據(jù)<b class='flag-5'>庫</b>故障的數(shù)據(jù)恢復(fù)案例

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

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

    數(shù)據(jù)數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)文件丟失的數(shù)據(jù)恢復(fù)案例

    MongoDB數(shù)據(jù)數(shù)據(jù)恢復(fù)環(huán)境: 一臺(tái)操作系統(tǒng)為Windows Server的虛擬機(jī)上部署MongoDB數(shù)據(jù)。 MongoDB數(shù)據(jù)故障: 工作人員在MongoDB服務(wù)仍然開啟的情況下
    的頭像 發(fā)表于 07-01 11:13 ?650次閱讀
    數(shù)據(jù)<b class='flag-5'>庫</b>數(shù)據(jù)恢復(fù)—MongoDB數(shù)據(jù)<b class='flag-5'>庫</b>文件丟失的數(shù)據(jù)恢復(fù)案例

    數(shù)據(jù)數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)被加密如何恢復(fù)數(shù)據(jù)?

    SQL Server數(shù)據(jù)故障: SQL Server數(shù)據(jù)被加密,無法使用。 數(shù)據(jù)MDF、LDF、log日志文件名字被篡改。
    的頭像 發(fā)表于 06-25 13:54 ?691次閱讀
    數(shù)據(jù)<b class='flag-5'>庫</b>數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)<b class='flag-5'>庫</b>被加密如何恢復(fù)數(shù)據(jù)?

    AD封裝安裝教程

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

    所以你做出來了

    所以你做出來了嗎,求
    發(fā)表于 06-16 01:43

    PCB標(biāo)準(zhǔn)封裝文件

    PCB標(biāo)準(zhǔn)封裝文件
    發(fā)表于 05-22 17:43 ?10次下載

    【Java開發(fā)必備】IntelliJ IDEA數(shù)據(jù)功能進(jìn)階指南:9個(gè)JetBrains工程師私藏技巧

    想提升涉及數(shù)據(jù)的Java開發(fā)效率?IntelliJ IDEA為您帶來了9大進(jìn)階招式!無論您是剛剛啟動(dòng)新項(xiàng)目,還是正在深入優(yōu)化現(xiàn)有系統(tǒng),這些實(shí)用技巧都將助您事半功倍。
    的頭像 發(fā)表于 05-21 17:04 ?765次閱讀
    【Java開發(fā)必備】IntelliJ IDEA數(shù)據(jù)<b class='flag-5'>庫</b>功能進(jìn)階指南:9個(gè)JetBrains工程師私藏技巧