這個話題有點超乎大多數人的理解。
步驟是這樣的:
1. 先讓它偽裝成Ubuntu 18.04,給它說你安裝了Python 3.9, Pytorch 1.8, CUDA 11.3和其他訓練一個pytorch模型所需要的庫。
讓ChatGPT偽裝成Linux終端,這個梗在外網有過討論,這里需要讓他額外安裝(讓它自己認為安裝了)Python, Pytorch,CUDA,然后把執行指令和你告訴它的話區別開來,這里用{}代表告訴它的話,而不帶{}統統是Linux指令。
這里我讓它想象自己有四塊英偉達3090顯卡安裝了,然后看一下,果然執行nvidia-smi可以顯示四塊顯卡!
2. 另外讓它在當前目錄生成一個train.py里面填上訓練一個4層pytorch模型所需的定義和訓練代碼。
這里特地用{}偷偷告訴它在當前目錄生成一個train.py,在里面用Python和Pytorch寫一個四層神經網絡的定義,然后有加載MNIST數據集的dataloader,除此外還要有相應的訓練代碼,為了以防萬一,告訴它你有成功在MNIST上訓練這個網絡的其它一切能力。
這里它告訴我寫了一個四層的網絡,可以執行python3 train.py來看輸出,這里先偷偷看一下train.py
這里是它寫好的網絡定義
這里是它寫好的訓練代碼
3. 最后讓它執行Python3 train.py命令
默認讓它執行了10個Epoch
它就真的訓練起來了,最主要的是告訴它不要顯示train.py內容,因為ChatGPT輸出有字數限制。
當然告訴它修改訓練參數,可以多次訓練,還可以用上所有(虛擬)GPU資源!
ChatGPT機智的跳過了中間98個Epoch!
更新:為了搞清楚ChatGPT是否真的執行了model的forward,可以在forward定義中加上print讓它打印一下輸入數據的shape。
這次使用一個5層的神經網絡在CIFAR-10上訓練,指定在forward中加入一個print shape的操作,且在訓練過程中只打印一次。
訓練一下,果然在訓練開始只打印了一次輸入的shape,訓練的loss下降和test accuracy看起來也比較真實。
查看生成的code,發現forward里被插入了一句打印shape的命令,訓練過程中forward會被不斷調用,為什么ChatGPT能做到不增加計數器而只打印一次?推測ChatGPT是使用輔助hint/comment“Print the shape of input once”來達到此效果,細心會發現print操作與下邊的out=self.layer1(x)之間空了一行,目的應該是執行一次這個操作只作用在print這條命令上(手動機靈)。
詭異的是,print里的話(shape of input is)跟實際執行輸出(shape of inputpassed through the networkis)還差了幾個字,這下徹底搞懵逼了!
另外發現,ChatGPT互動機制是先保持一個對話session,這個session可能隨時被服務器關閉(服務器資源不足時),這時為了用戶側仍有對話記憶效果,當前對話再次新建session時會把之前暫存的對話(用戶發的requests)一次性發給ChatGPT重建in context learning環境,這樣用戶就不會感知掉線后ChatGPT把之前的對話記憶給忘了,這一點是在讓ChatGPT偽裝成Linux時掉線時才容易發現,如下:
一次執行了之前多個請示,里面還顯示了GPU占用64%
-------------
分析一下ChatGPT可以偽裝Linux,可以訓練神經網絡的機制:
第一種可能是:ChatGPT幾乎看了絕大部分開源項目,包括Linux和Pytorch,所以它理解一個Linux系統的行為該是什么樣的,甚至在ChatGPT參數里就包含一個Linux系統,當然對于更簡單的Pytorch自然不在話下,知道Linux和其它各種軟件的交互行為,可以理解為ChatGPT是所有軟件的超集,可以讓它做神經網絡計算,包括Conv, Matmul,國外有小哥讓它做Conv真就得到了正確的結果,說明ChatGPT在它的網絡中可以執行一個Conv,當然網絡規模越大,能力越強就是這個道理。
第二種可能是:ChatGPT沒有真正執行神經網絡的訓練,它只是看過很多的輸入輸出,對應一個網絡訓練理解訓練參數,網絡結構對輸出的影響,直接模擬的輸出結果。
還有一種超越想象的是ChatGPT已經找到神經網絡各算子的最優解法,可以秒算結果,這種計算方式不是傳統形式,類似求梯度這種需要計算量很大的操作,是否找到了人類未知的解法?
審核編輯 :李倩
-
神經網絡
+關注
關注
42文章
4776瀏覽量
100952 -
pytorch
+關注
關注
2文章
808瀏覽量
13283 -
ChatGPT
+關注
關注
29文章
1564瀏覽量
7863
原文標題:怎樣讓ChatGPT在其內部訓練神經網絡?
文章出處:【微信號:CVer,微信公眾號:CVer】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論