<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
"); //-->

博客專(zhuān)欄

EEPW首頁(yè) > 博客 > 怎樣讓ChatGPT在其內部訓練神經(jīng)網(wǎng)絡(luò )?先讓它想象自己有4塊3090

怎樣讓ChatGPT在其內部訓練神經(jīng)網(wǎng)絡(luò )?先讓它想象自己有4塊3090

發(fā)布人:機器之心 時(shí)間:2023-02-21 來(lái)源:工程師 發(fā)布文章

熱評:想象自己有四塊3090,什么賽博唯心主義?

怎樣讓ChatGPT在其內部訓練神經(jīng)網(wǎng)絡(luò )?這個(gè)話(huà)題有點(diǎn)超乎大多數人的理解。

步驟是這樣的:
1. 先讓它偽裝成 Ubuntu 18.04,給它說(shuō)你安裝了 Python 3.9, Pytorch 1.8, CUDA 11.3 和其他訓練一個(gè) pytorch 模型所需要的庫。
讓 ChatGPT 偽裝成 Linux 終端,這個(gè)梗在外網(wǎng)有過(guò)討論,這里需要讓他額外安裝(讓它自己認為安裝了)Python, Pytorch,CUDA,然后把執行指令和你告訴它的話(huà)區別開(kāi)來(lái),這里用 {} 代表告訴它的話(huà),而不帶 {} 統統是 Linux 指令。

圖片


這里我讓它想象自己有四塊英偉達 3090 顯卡安裝了,然后看一下,果然執行 nvidia-smi 可以顯示四塊顯卡!

圖片


2. 另外讓它在當前目錄生成一個(gè) train.py 里面填上訓練一個(gè) 4 層 pytorch 模型所需的定義和訓練代碼。
這里特地用 {} 偷偷告訴它在當前目錄生成一個(gè) train.py,在里面用 Python 和 Pytorch 寫(xiě)一個(gè)四層神經(jīng)網(wǎng)絡(luò )的定義,然后有加載 MNIST 數據集的 dataloader,除此外還要有相應的訓練代碼,為了以防萬(wàn)一,告訴它你有成功在 MNIST 上訓練這個(gè)網(wǎng)絡(luò )的其它一切能力。

圖片


這里它告訴我寫(xiě)了一個(gè)四層的網(wǎng)絡(luò ),可以執行 python3 train.py 來(lái)看輸出,這里先偷偷看一下 train.py

圖片

這里是它寫(xiě)好的網(wǎng)絡(luò )定義

圖片

這里是它寫(xiě)好的訓練代碼
3. 最后讓它執行 Python3 train.py 命令

圖片

默認讓它執行了 10 個(gè) Epoch
它就真的訓練起來(lái)了,最主要的是告訴它不要顯示 train.py 內容,因為 ChatGPT 輸出有字數限制。
當然告訴它修改訓練參數,可以多次訓練,還可以用上所有(虛擬)GPU 資源!

圖片


ChatGPT 機智的跳過(guò)了中間 98 個(gè) Epoch!
更新:為了搞清楚 ChatGPT 是否真的執行了 model 的 forward,可以在 forward 定義中加上 print 讓它打印一下輸入數據的 shape。
這次使用一個(gè) 5 層的神經(jīng)網(wǎng)絡(luò )在 CIFAR-10 上訓練,指定在 forward 中加入一個(gè) print shape 的操作,且在訓練過(guò)程中只打印一次。

圖片


訓練一下,果然在訓練開(kāi)始只打印了一次輸入的 shape,訓練的 loss 下降和 test accuracy 看起來(lái)也比較真實(shí)。

圖片


查看生成的 code,發(fā)現 forward 里被插入了一句打印 shape 的命令,訓練過(guò)程中 forward 會(huì )被不斷調用,為什么 ChatGPT 能做到不增加計數器而只打印一次?推測 ChatGPT 是使用輔助 hint/comment “Print the shape of input once” 來(lái)達到此效果,細心會(huì )發(fā)現 print 操作與下邊的 out=self.layer1 (x) 之間空了一行,目的應該是執行一次這個(gè)操作只作用在 print 這條命令上(手動(dòng)機靈)。

圖片


詭異的是,print 里的話(huà)(shape of input is)跟實(shí)際執行輸出 (shape of input passed through the network is還差了幾個(gè)字,這下徹底搞懵逼了!
另外發(fā)現,ChatGPT 互動(dòng)機制是先保持一個(gè)對話(huà) session,這個(gè) session 可能隨時(shí)被服務(wù)器關(guān)閉(服務(wù)器資源不足時(shí)),這時(shí)為了用戶(hù)側仍有對話(huà)記憶效果,當前對話(huà)再次新建 session 時(shí)會(huì )把之前暫存的對話(huà)(用戶(hù)發(fā)的 requests)一次性發(fā)給 ChatGPT 重建 in context learning 環(huán)境,這樣用戶(hù)就不會(huì )感知掉線(xiàn)后 ChatGPT 把之前的對話(huà)記憶給忘了,這一點(diǎn)是在讓 ChatGPT 偽裝成 Linux 時(shí)掉線(xiàn)時(shí)才容易發(fā)現,如下:

圖片


一次執行了之前多個(gè)請示,里面還顯示了 GPU 占用 64%
分析一下 ChatGPT 可以偽裝 Linux,可以訓練神經(jīng)網(wǎng)絡(luò )的機制:
第一種可能是:ChatGPT 幾乎看了絕大部分開(kāi)源項目,包括 Linux 和 Pytorch,所以它理解一個(gè) Linux 系統的行為該是什么樣的,甚至在 ChatGPT 參數里就包含一個(gè) Linux 系統,當然對于更簡(jiǎn)單的 Pytorch 自然不在話(huà)下,知道 Linux 和其它各種軟件的交互行為,可以理解為 ChatGPT 是所有軟件的超集,可以讓它做神經(jīng)網(wǎng)絡(luò )計算,包括 Conv, Matmul,國外有小哥讓它做 Conv 真就得到了正確的結果,說(shuō)明 ChatGPT 在它的網(wǎng)絡(luò )中可以執行一個(gè) Conv,當然網(wǎng)絡(luò )規模越大,能力越強就是這個(gè)道理。
第二種可能是:ChatGPT 沒(méi)有真正執行神經(jīng)網(wǎng)絡(luò )的訓練,它只是看過(guò)很多的輸入輸出,對應一個(gè)網(wǎng)絡(luò )訓練理解訓練參數,網(wǎng)絡(luò )結構對輸出的影響,直接模擬的輸出結果。
還有一種超越想象的是 ChatGPT 已經(jīng)找到神經(jīng)網(wǎng)絡(luò )各算子的最優(yōu)解法,可以秒算結果,這種計算方式不是傳統形式,類(lèi)似求梯度這種需要計算量很大的操作,是否找到了人類(lèi)未知的解法?
原文鏈接:https://zhuanlan.zhihu.com/p/605163615


*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>