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。