Giter Club home page Giter Club logo

simple-gpt's Introduction

A PyTorch implementation of generative pre-trained transformers (GPT)

This is a personal exercise to build, train and use GPT, inspired by minGPT.

Prerequisite

Installation

git clone https://github.com/rygx/simple-gpt.git && cd simple-gpt
python -m venv .venv
pip install pip-tools
./update_deps.sh

Usage

Data

Any text-fromat data file should be usable, given the size can fit with training and inference environment.

Train

Use train/train_gpt.py. After training, model state dictionary and hyper parameters will be stored in models directory.

Generate

Use train/generate.py. Under models/ directory there is already a coarsely pre-trained model (using minGPT's tinyshakespeare sample) with ID 9cdb42ed-0b16-4a3a-88e2-fffa61fa4f50. Generate texts using this model with the following command:

python train/generate.py --dir "models" -u "9cdb42ed-0b16-4a3a-88e2-fffa61fa4f50" --prompt "QUEEN: "

Generation length (in number of tokens) and temperature can also be tuned using --length/-l and --temp/-t options.

TODOs/plans

  • Easier setup (e.g., using setuptool)
  • Unit tests :P
  • Implement own tokenizer

simple-gpt's People

Contributors

rygx avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.