Karpathy 的 minGPT(生成式預訓練 Transformer)的最小 TensorFlow.js 重新實作。
這個「自製」 GPT語言模型(全部)的完整定義可以在這個單一的 model.ts 檔案(少於300
行程式碼)中找到。
由於 model.ts 是用 TypeScript 編寫的,因此您可以使用自製的 GPT Playground 來訓練它、試驗參數,並使用 GPU 直接在瀏覽器中產生其預測。
該模型和 Playground 是為了學習目的而編寫的,旨在了解 GPT 的工作原理並使用 WebGPU 進行訓練。
要了解 model.ts 文件中發生的情況,請參閱 Andrej Karpathy 的詳細解釋的實踐講座“讓我們構建 GPT:從頭開始,用代碼,拼寫出來”(可以說是對 GPT 的最佳解釋之一)。
在 ./gpt/src/ 資料夾中,您將找到以下檔案:
CausalSelfAttention
內的所有Heads
。因此,該模型速度稍慢,但更具可讀性。一些預先訓練的模型權重發佈在 homemade-gpt-js-weights 儲存庫中。您可以透過網頁遊樂場(「產生」部分)或透過 Node.js 遊樂場( model.setWeights()
)套用它們。
要試驗模型參數、訓練和文字生成,您可以使用自製 GPT JS 遊樂場。
自製 GPT JS 遊樂場 |
---|
如果您想修改和試驗變壓器模型本身的程式碼,您也可以在本機啟動 Playground。
安裝依賴項:
npm i
在本地啟動網路遊樂場:
npm run playground-web
可透過 http://localhost:3000/homemade-gpt-js 造訪遊樂場
從專案的根目錄執行這些命令。您需要 Node.js ≥ 20.0.0。
您也可以在 Node.js 環境中試驗模型。
安裝依賴項:
npm i
啟動 Node.js 遊樂場:
npm run playground-node
./playground-node/src/index.ts 檔案包含訓練和文字產生的基本範例。
從專案的根目錄執行這些命令。您需要 Node.js ≥ 20.0.0。