Una reimplementación mínima de TensorFlow.js del minGPT (transformador generativo preentrenado) de Karpathy.
Se puede encontrar una definición completa de este modelo de lenguaje GPT "casero" (todo) en este único archivo model.ts (menos de 300
líneas de código).
Dado que model.ts está escrito en TypeScript, puedes usar el campo de juegos GPT casero para entrenarlo, experimentar con parámetros y generar sus predicciones directamente en el navegador usando una GPU.
El modelo y el área de juegos están escritos con fines de aprendizaje , para comprender cómo funciona GPT y para usar WebGPU para capacitación.
Para comprender lo que sucede en el archivo model.ts, consulte la conferencia práctica y bien explicada de Andrej Karpathy "Construyamos GPT: desde cero, en código, explicado" (posiblemente una de las mejores explicaciones de GPT que existen).
Dentro de la carpeta ./gpt/src/ encontrarás los siguientes archivos:
Heads
dentro de CausalSelfAttention
de forma secuencial (en lugar de en paralelo). Como resultado, el modelo es un poco más lento pero más legible. Algunos pesos de modelos previamente entrenados se publican en el repositorio de pesas caseras-gpt-js. Puede aplicarlos a través del área de juegos web (sección "Generación") o a través del área de juegos de Node.js ( model.setWeights()
).
Para experimentar con los parámetros del modelo, el entrenamiento y la generación de texto, puede utilizar el área de juegos Homemade GPT JS.
Parque infantil GPT JS casero |
---|
También puede iniciar el área de juegos localmente si desea modificar y experimentar con el código del modelo del transformador.
Instalar dependencias:
npm i
Inicie el sitio web de juegos localmente:
npm run playground-web
Se podrá acceder al patio de juegos en http://localhost:3000/homemade-gpt-js
Ejecute estos comandos desde la raíz del proyecto. Necesitas tener Node.js ≥ 20.0.0.
También puedes experimentar con el modelo en el entorno Node.js.
Instalar dependencias:
npm i
Inicie el área de juegos de Node.js:
npm run playground-node
El archivo ./playground-node/src/index.ts contiene el ejemplo básico de entrenamiento y generación de texto.
Ejecute estos comandos desde la raíz del proyecto. Necesitas tener Node.js ≥ 20.0.0.