Минимальная повторная реализация TensorFlow.js minGPT (генеративного предварительно обученного трансформатора) Карпати.
Полное определение этой «самодельной» языковой модели GPT (все целиком) можно найти в этом единственном файле model.ts (менее 300
строк кода).
Поскольку model.ts написан на TypeScript, вы можете использовать самодельную игровую площадку GPT для его обучения, экспериментировать с параметрами и генерировать прогнозы прямо в браузере с помощью графического процессора.
Модель и игровая площадка написаны в целях обучения , чтобы понять, как работает GPT, и использовать WebGPU для обучения.
Чтобы понять, что происходит в файле model.ts, обратитесь к хорошо объясненной практической лекции Андрея Карпати «Давайте построим GPT: с нуля, в коде, изложенно» (возможно, одно из лучших объяснений GPT).
Внутри папки ./gpt/src/ вы найдете следующие файлы:
Heads
внутри CausalSelfAttention
последовательно (а не параллельно). В результате модель немного медленнее, но более читабельна. Веса некоторых предварительно обученных моделей опубликованы в репозитории Home-gpt-js-weights. Вы можете применить их через веб-площадку (раздел «Генерация») или через площадку Node.js ( model.setWeights()
).
Чтобы поэкспериментировать с параметрами модели, обучением и генерацией текста, вы можете использовать игровую площадку Homemade GPT JS.
Самодельная игровая площадка GPT JS |
---|
Вы также можете запустить игровую площадку локально, если хотите модифицировать и экспериментировать с кодом самой модели трансформера.
Установите зависимости:
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.