tinyrwkv
1.0.0
현재 rewrite
분기에서 다시 작성 중입니다.
대규모 언어 모델의 RWKV-LM 제품군을 Tinygrad 프레임워크로 포팅합니다.
현재 git에서tinygrad가 필요하거나 nix flake를 사용하면 됩니다.
numpy
pydot (only for GRAPH=1)
tinygrad
tokenizers
torch (only for loading pytorch weights)
tqdm
wandb (optional during training)
rust (only for compiling)
clang (only for compiling)
graphviz (only for GRAPH=1)
python -m cli
사용하여 CLI를 실행합니다.
또한 다른 프로젝트에 포함하기 위해 Python 패키지로 사용할 수도 있습니다. 모델을 이식 가능한 C 코드로 컴파일하고 해당 방식으로 포함하는 것도 가능합니다.
usage: tinyrwkv-cli [-h] [--seed SEED] {pre,gen,cht,cmp,bch,ptr,gpt,tra,bpt,wkv,mus} ...
CLI for tinyrwkv
positional arguments:
{pre,gen,cht,cmp,bch,ptr,gpt,tra,bpt,wkv,mus}
pre preprocess either tinyrwkv trained weights or pytorch trained weights into RNN form
gen freeform generation using the RNN mode (requires a preprocessed model using `pre`)
cht chat with a model in RNN mode (requires a preprocessed model using `pre`)
cmp compile a RNN model into c source code and a compiled executable (need to run with CLANG=1)
bch benchmark the rnn mode
ptr preprocess pytorch weights weights into GPT form for training or inference
gpt freeform generation using the GPT mode (requires a preprocessed model using `ptr`)
tra pretrain or finetune a model (if finetuning the model needs to be preprocessed with `ptr`)
bpt benchmark the gpt mode
wkv benchmark/test each wkv module
mus music generation using the RNN mode (requires a preprocessed model using `pre`)
options:
-h, --help show this help message and exit
--seed SEED seed for random
LICENSE 및 NOTICE 파일을 참조하세요.