Karpathy の minGPT (Generative Pre-trained Transformer) の最小限の TensorFlow.js 再実装。
この「自家製」 GPT言語モデルの完全な定義 (すべて) は、この単一の model.ts ファイル (コードは300
行未満) にあります。
model.ts は TypeScript で記述されているため、自家製 GPT プレイグラウンドを使用してトレーニングし、パラメーターを実験し、GPU を使用してブラウザーで直接予測を生成できます。
モデルとプレイグラウンドは、GPT の仕組みを理解し、WebGPU をトレーニングに使用するための学習目的で作成されています。
model.ts ファイルで何が起こっているかを理解するには、Andrej Karpathy のわかりやすく説明された実践的な講義「GPT を構築しましょう: ゼロから、コードで、詳しく説明します」を参照してください (おそらく、GPT についての最も優れた説明の 1 つです)。
./gpt/src/ フォルダー内に次のファイルがあります。
CausalSelfAttention
内のすべてのHeads
(並列ではなく)順次に処理することです。その結果、モデルは少し遅くなりますが、読みやすくなります。一部の事前トレーニング済みモデルの重みは homemade-gpt-js-weights リポジトリで公開されています。これらは、Web プレイグラウンド (「生成」セクション) または Node.js プレイグラウンド ( model.setWeights()
) 経由で適用できます。
モデルのパラメーター、トレーニング、テキスト生成を試すには、Homemade GPT JS プレイグラウンドを使用できます。
自家製 GPT JS プレイグラウンド |
---|
トランスフォーマー モデル自体のコードを変更して実験したい場合は、プレイグラウンドをローカルで起動することもできます。
依存関係をインストールします。
npm i
Web プレイグラウンドをローカルで起動します。
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 が必要です。