BlinkDL / RWKV-LM

RWKV is an RNN with transformer-level LLM performance. It can be directly trained like a GPT (parallelizable). So it's combining the best of RNN and transformer - great performance, fast inference, saves VRAM, fast training, "infinite" ctx_len, and free sentence embedding.
Apache License 2.0
12.32k stars 838 forks source link

我试了用 RWKV-v4neo 训练出来的模型既不能在 chat.py中运行,也都不能在run.py中运行? #118

Closed gg22mm closed 1 year ago

gg22mm commented 1 year ago

我试了用 RWKV-v4neo 训练出来的模型既不能在 chat.py中运行,也都不能在run.py中运行?

数据: Bob: 你叫什么名字? Alice: 我叫小王女生,今年18岁,我正在读大一 Bob: 1+1=? Alice:等于二 Bob: 不是3吗 Alice:不是哦,别搞错了 Bob: 好的谢 Alice:不用客气 Bob: 你叫什么名字? Alice: 我叫小王女生,今年18岁,我正在读大一 Bob: 1+1=? Alice:等于二 Bob: 不是3吗 Alice:不是哦,别搞错了 Bob: 好的谢 Alice:不用客气 Bob: 你叫什么名字? Alice: 我叫小王女生,今年18岁,我正在读大一

训练:

L6-D512(6层,推荐) --ctx_len 1024 --micro_bsz 12 --n_layer 6 --n_embd 512 --lr_final 1e-5 --data_file "../data/train.txt" --data_type "utf-8"

python train_wll.py --load_model "" --wandb "" --proj_dir "out" --data_file "../data/train.txt" --data_type "utf-8" --vocab_size 0 --ctx_len 1024 --epoch_steps 5000 --epoch_count 500 --epoch_begin 0 --epoch_save 3 --micro_bsz 12 --n_layer 6 --n_embd 512 --pre_ffn 0 --head_qk 0 --lr_init 8e-4 --lr_final 1e-5 --warmup_steps 0 --beta1 0.9 --beta2 0.99 --adam_eps 1e-8 --accelerator gpu --devices 1 --precision bf16 --strategy deepspeed_stage_2_offload --grad_cp 0

识别:

chat.py  修改如下进行测试:

    CHAT_LANG = 'Chinese' # English Chinese
    elif CHAT_LANG == 'Chinese':

        # 我自己训练的
        args.MODEL_NAME = './rwkv-2'
        args.n_layer = 6
        args.n_embd = 512
        args.ctx_len = 1024

run.py  修改如下进行测试:   

    MODEL_NAME = './rwkv-2'
    n_layer = 6
    n_embd = 512
    ctx_len = 1024

以上两个方式都不行,但如果直接去下载官网模型:RWKV-4-Raven-7B-v6-ChnEng-20230401-ctx2048.pth 就运行,这个到底是怎么回事呢?

BlinkDL commented 1 year ago

因为你的tokenizer是自己训练的。用 https://github.com/BlinkDL/RWKV-LM/blob/main/RWKV-v4/run.py 运行

gg22mm commented 1 year ago

RWKV-v4/run.py

是的,只能在 ./RWKV-v4/run.py 中运行,但不能在 RWKV-v4neo/run.py中运行 ~~ ,自己训练的还要如果想要chat.py效果的话,估计有点棘手~~