我知道,rwkv的词表设计得足够优秀,使得分词器在大多数任务上都有不错的表现。然而,如果我们想为rwkv引入新的token,以此作为微调的目标,这样做是否可行呢?有哪些需要注意的地方呢?各位是否尝试过,是否有可以参照的最佳实践?谢谢
需要微调embedding,在RWKV-PEFT中(因为我只使用这个,所以只拿它进行说明)这个配置项存在于几个月前(没有bone存在的版本)是可以微调embedding的,但是bone出现后这个配置项因代码结构调整被删除,后续可能会重新添加,但是现在应该没有。
如果你现在就想进行embedding微调,可以找找RWKV-PEFT在没加入bone之前的版本,那个版本可以使用PiSSA对embedding进行微调
那不如用RWKV-LM调,我上次中文微调模型就是RWKV-LM,然后改rwkv_vocab_v20230424,后面有六七个token没什么用,可以加上去
你可以直接在txt的词表末尾加入你要的token,无需embedding也能微调(并不需要他的分布
如果不调embedding,模型根本不认识没见过的token
我想,如果不考虑微调,从零训练一个模型试着跑通这个过程可行吗?我打算找教程,试着在rwkv7架构0.1B的规模上面从零进行预训练,做个验证,不知道这方面有没有什么经验或者建议呢?
不会的,r k v里面会学习到没见过的token,只是embedding的分布被固定了而已
查看RWKV-PEFT,现在已经可以微调0.1B v7了