← Open Source
AdityaNG

kan-gpt

The PyTorch implementation of Generative Pre-trained Transformers (GPTs) using Kolmogorov-Arnold Networks (KANs) for language modeling.

Model DevelopmentArchitecturePython
Open on GitHub
Momentum
+0stars in 24 hours0.0%
725
Stars
54
Forks
+0
This week
7
Contributors
Created 2024-05-02 · Updated 2026-10-01 · #14501 today
Top developers

AdityaNG/kan-gpt is ranked 14,501 with 725 stars.

Same-category comparison

AdityaNG/kan-gpt is ranked 14,501 among these 8 peers; yanpanlau/DDPG-Keras-Torcs is ranked 14,499.

Same-category comparison
NameRankMetrics
openai/imitation14,495
Language:
Python
Stars:
726
Forks:
189
Description:
Code for the paper "Generative Adversarial Imitation Learning".
pytorch/elastic14,497
Language:
Python
Stars:
726
Forks:
98
Description:
PyTorch elastic training.
swz30/MIRNet14,498
Language:
Python
Stars:
726
Forks:
96
Description:
[ECCV 2020] Learning Enriched Features for Real Image Restoration and Enhancement. SOTA results for image denoising, super-resolution, and image enhancement.
yanpanlau/DDPG-Keras-Torcs14,499
Language:
Python
Stars:
726
Forks:
261
Description:
Using Keras and Deep Deterministic Policy Gradient to play TORCS.
ansleliu/LightNet14,504
Language:
Python
Stars:
725
Forks:
174
Description:
LightNet: Light-weight Networks for Semantic Image Segmentation (Cityscapes and Mapillary Vistas Dataset).
hongsukchoi/Pose2Mesh_RELEASE14,507
Language:
Python
Stars:
725
Forks:
72
Description:
Official Pytorch implementation of "Pose2Mesh: Graph Convolutional Network for 3D Human Pose and Mesh Recovery from a 2D Human Pose", ECCV 2020.
inception-project/inception14,508
Language:
Java
Stars:
725
Forks:
171
Description:
INCEpTION provides a semantic annotation platform offering intelligent annotation assistance and knowledge management.
lucidrains/x-clip14,511
Language:
Python
Stars:
725
Forks:
48
Description:
A concise but complete implementation of CLIP with various experimental improvements from recent papers.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguagePython
CategoryModel Development
SubcategoryArchitecture
Stars725
Forks54
Contributors7
Created date2024-05-02
Updated date2026-10-01
Stars in 1 day0
Stars in 7 days0
Rank14,501
Previous rank14,347
Rank change-154
7-day stars rank14,508
Previous 7-day stars rank14,522
7-day stars rank change14
Total stars rank14,460
Previous total stars rank14,431
Total stars rank change-29
CountryIndia
README summary

KAN-GPT The PyTorch implementation of Generative Pre-trained Transformers (GPTs) using Kolmogorov-Arnold Networks (KANs) for language modeling Install it from PyPI Citation If you find our work useful cite us! The following is an outline of how to use the model: Setup for Development Train Use the following dummy script to make sure everything is working as expected Then make use of the training script Prompt You can prompt the model to produce text as follows Results We

train and compare KAN-GPT with an equivalent MLP-GPT model on the Tiny Shakespeare dataset. We observe that the KAN-GPT performs slightly better than the MLP-GPT. We are looking into further experiments to dive deeper. txt constraints [ ] Define pydantic model for training and sweep args [ ] Pruning the package, get rid of unused code [ ] Training script to PyTorch Lighting [x] Documentation: [x] Integrate with efficient-kan [x] Test Cases [x] KAN: Forward-Backward test [x] GPT: Forward-Backward

test [x] KAN_GPT: Forward-Backward test [x] EFFICIENT_KAN: Forward-Backward test Development Read the CONTRIBUTING. References minGPT pykan webtext tinyshakespeare

Frequently asked questions

How many stars and forks are recorded?

AdityaNG/kan-gpt has 725 stars and 54 forks.

What is the repository rank?

AdityaNG/kan-gpt is ranked 14,501.

What language and category are recorded?

AdityaNG/kan-gpt has 725 stars, uses Python and belongs to Model Development.

Which repository is closest in rank?

AdityaNG/kan-gpt is compared with yanpanlau/DDPG-Keras-Torcs, ranked 14,499 with 726 stars.

README

KAN-GPT

The PyTorch implementation of Generative Pre-trained Transformers (GPTs) using Kolmogorov-Arnold Networks (KANs) for language modeling

Install it from PyPI

pip install kan_gpt

Citation

If you find our work useful cite us!

@misc{GANESH2024KANGPT,
  author       = {Aditya Nalgunda Ganesh},
  title        = {KAN-GPT: The PyTorch implementation of Generative Pre-trained Transformers (GPTs) using Kolmogorov-Arnold Networks (KANs) for language modeling},
  year         = {2024},
  month        = {May},
  note         = {Release 1.0.0, 9th May 2024},
  url          = {https://github.com/AdityaNG/kan-gpt/}
}

Usage

Refer to the KAN_GPT.ipynb and kan_gpt/prompt.py for usage examples. The following is an outline of how to use the model:

from kan_gpt.model import GPT
from transformers import GPT2Tokenizer

model_config = GPT.get_default_config()
model_config.model_type = "gpt2"
model_config.vocab_size = 50257
model_config.block_size = 1024
model = GPT(model_config)

tokenizer = GPT2Tokenizer.from_pretrained('gpt2')

prompt = "Bangalore is often described as the "

prompt_encoded = tokenizer.encode(
  text=prompt, add_special_tokens=False
)

x = torch.tensor(prompt_encoded).unsqueeze(0)

model.eval()
y = model.generate(x, 50)  # sample 50 tokens

result = tokenizer.decode(y[0])

print(result)

# Bangalore is often described as the Silicon Valley of India.
# The city has witnessed rapid growth in the past two decades.....

Setup for Development

# Download Repo
git clone https://github.com/AdityaNG/kan-gpt
cd kan-gpt
git pull

# Download Dataset
python3 -m kan_gpt.download_dataset --dataset tinyshakespeare
python3 -m kan_gpt.download_dataset --dataset mnist
python3 -m kan_gpt.download_dataset --dataset webtext

# Install dependencies for development
pip install -r requirements.txt
pip install -e .

Train

Use the following dummy script to make sure everything is working as expected

WANDB_MODE=offline CUDA_VISIBLE_DEVICE="" python3 -m kan_gpt.train --architecture MLP --batch_size 1 --dummy_dataset --device cpu --max_iters 200
WANDB_MODE=offline CUDA_VISIBLE_DEVICE="" python3 -m kan_gpt.train --architecture KAN --batch_size 1 --dummy_dataset --device cpu --max_iters 200

Then make use of the training script

python -m kan_gpt.train

Prompt

You can prompt the model to produce text as follows

python -m kan_gpt.prompt --prompt "Bangalore is often described as the " --model_path (checkpoint)

Results

We train and compare KAN-GPT with an equivalent MLP-GPT model on the Tiny Shakespeare dataset. We observe that the KAN-GPT performs slightly better than the MLP-GPT. We are looking into further experiments to dive deeper. The results are shown below:

Metrics

TODOs

  • [x] Integrate minGPT and pykan
  • [x] Dataset downloading script for WebText
  • [x] PyTorch Dataset parser for WebText
  • [x] PyTorch Dataset parser for tinyshakespeare
  • [x] Mini training POC for KAN-GPT
    • [x] Integrate KAN training logic from KAN.train_kan
    • [x] Train a dummy batch w/o any memory issues
  • [x] Mini training POC for MLP-GPT
  • [x] Train MLP-GPT on the webtext dataset as a baseline
  • [x] Train KAN-GPT on the webtext dataset as a baseline
  • [x] Metrics comparing KAN-GPT and MLP-GPT
  • [x] Auto Save checkpoints
  • [x] Auto Save checkpoints to W&B
  • [ ] Auto Download model weights from git / huggingface
  • [x] W&B hyperparam sweep script
  • [x] Script to load checkpoint in interactive mode
  • [ ] Reduce requrements.txt constraints
  • [ ] Define pydantic model for training and sweep args
  • [ ] Pruning the package, get rid of unused code
  • [ ] Training script to PyTorch Lighting
  • [x] Documentation: mkdocs gh-deploy
  • [x] Integrate with efficient-kan
  • [x] Test Cases
    • [x] KAN: Forward-Backward test
    • [x] GPT: Forward-Backward test
    • [x] KAN_GPT: Forward-Backward test
    • [x] EFFICIENT_KAN: Forward-Backward test

Development

Read the CONTRIBUTING.md file.

References

Nearby in the ranking
Similar items