kan gpt
1.2.0
언어 모델링을 위해 KAN(Kolmogorov-Arnold 네트워크)을 사용하여 GPT(Generative Pre-trained Transformer)의 PyTorch 구현
pip install kan_gpt
우리의 작업이 유용하다고 생각되면 우리를 인용하십시오!
@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/}
}
사용 예는 KAN_GPT.ipynb 및 kan_gpt/prompt.py를 참조하세요. 다음은 모델 사용 방법에 대한 개요입니다.
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.....
# 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 .
다음 더미 스크립트를 사용하여 모든 것이 예상대로 작동하는지 확인하세요.
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
그런 다음 훈련 스크립트를 사용하십시오.
python -m kan_gpt.train
다음과 같이 모델에 텍스트를 생성하라는 메시지를 표시할 수 있습니다.
python -m kan_gpt.prompt --prompt " Bangalore is often described as the " --model_path (checkpoint)
Tiny Shakespeare 데이터 세트에서 KAN-GPT를 동등한 MLP-GPT 모델과 훈련하고 비교합니다. 우리는 KAN-GPT가 MLP-GPT보다 약간 더 나은 성능을 보인다는 것을 관찰했습니다. 우리는 더 깊이 알아보기 위해 추가 실험을 조사하고 있습니다. 결과는 아래와 같습니다:
측정항목 | ||
---|---|---|
KAN.train_kan
의 KAN 훈련 로직 통합 mkdocs gh-deploy
CONTRIBUTING.md 파일을 읽어보세요.