中文字幕亚洲欧美日韩在线不卡,亚洲欧美日产综合在线网性色,思思久久精品6一本打道,综合视频中文字幕

    <sub id="dxmnt"><ol id="dxmnt"></ol></sub>

      1. 小破本也能煉GPT!300行代碼搞定,來自特斯拉前AI總監(jiān)

        更新時間:2023-01-24 10:05:18作者:智慧百科

        小破本也能煉GPT!300行代碼搞定,來自特斯拉前AI總監(jiān)

        詹士 發(fā)自 凹非寺量子位 | 公眾號 QbitAI

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

        其名為:NanoGPT。

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

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

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



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

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

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



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



        那么,這個最簡單最快的NanoGPT怎么用?

        下面展開講講。

        NanoGPT的打開方式

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

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

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



        △ 一個訓練實例展示

        上手前,需要提前準備好依賴項:

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

        $cddata/openwebtext
        $python prepare.py

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

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

        $ python train.py

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

        比如,要在4個GPU節(jié)點上運行,代碼如下:

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

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

        $ python sample.py

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

        如果在8個A100 40GB節(jié)點上進行約50萬次迭代,時長約為1天,atim的訓練降至約3.1,init隨機概率是10.82,已將結果帶到了baseline范圍。

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



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

        先訪問data/shakespeare,查看prepare.py。

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

        運行一個微調(diào)示例,如下:

        $ python train.py config/finetune_shakespeare.py

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

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

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

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

        $cddata/shakespeare
        $python prepare.py

        再用一個較小的網(wǎng)絡來運行訓練腳本。

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

        $ cd ../..
        $ python train.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

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

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

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

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

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

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

        在馬斯克麾下,他歷任特斯拉高級AI主管、特斯拉自動駕駛AutoPilot負責人、特斯拉超算Dojo負責人、特斯拉擎天柱人形機器人負責人…



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

        此番發(fā)布NanoGPT同時,Karpathy還下場安撫了下催更黨——新視頻正從0開始構建,計劃2周內(nèi)發(fā)布。



        最后附上:

        NanoGPT項目:https://github.com/karpathy/nanoGPT

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


        本文標簽: 代碼  ai  gpt  電動車  Python  特斯拉(公司)