---
license: mit
language:
- zh
datasets:
- Seikaijyu/DCoT
---
### 说明
此微调仅用于测试思维链,即CoT(Chain-of-Thought)的效果,而我在理解CoT时认为**CoT的重点在于思维发散**,所以我对CoT语料做了一些改进,我把这种改进后的CoT称为**DCoT(Divergent-Chain-of-Thought)**即发散性思维链。
此微调也用于测试这一改进,在进行state tuning微调之前我其实尝试过lora微调,但是指令遵循却不尽人意,语料和模型的契合度太高,初始loss就很低,导致可能模型学不到格式这一点,所以我最后决定使用state tuning这一peft方法进行微调,同时这也是保证RWKV模型对格式进行遵循的最好方法之一,并且它能保证模型不会因为微调而遗忘(因为不会微调模型本身权重)。
PS: state tuning ≈ prompt tuning, prefex tuning
### 微调配置
微调使用autodl上租赁的单卡A40 48G。
|
配置项
| 说明
|
|---|---|
|[语料(已开源)](https://huggingface.co/datasets/Seikaijyu/DCoT)|使用5904条基于Gemini-1.5-Pro蒸馏出的单轮DCoT语料,经过人工正则批量筛洗,每条语料的长度在2000-4820token之间,大部分回答集中在2000token以上。
此数据集只包含了一些chat提问,如:
“Java是什么?”
“老鼠喜欢吃奶酪吗?”
这样的问题,不包含数学,格式,角色扮演等prompt。|
|peft|state tuning|
|quant|使用int8量化微调|
|micro batch size|4|
|gradient accumulation|2,以保证微批次和梯度累计相乘最少达到8,增强模型微调效果|
|loss mask|启用|
|lr|state tuning微调标准值:1-0.01|
|finetune epoch|2|
|finished loss|0.549287|
### 结论
微调DCoT(或者CoT)可以用于展示其思考过程以得知模型理解什么,不理解什么,同时,一定程度上可以增强模型能力,但是如果模型本身就没有在预训练中包含的内容,这样的思考只会让你看到奇怪的中间过程
当然,我也测试过热门问题,如:“9.8和9.11哪个大?”这样的问题在RWKV的过程表示中则显得更加奇怪,甚至有时不会回答大或者小。
这基本归咎于RWKV6-v2.1数据集的数学知识很少,除了和训练语料有关系,和词表也有关系,在RWKV6的词表中,从0-99的数字都有一个对应的词元,这显然会让模型分不清0-99之间的区别,以及如“1122”这样的数字和其它如“119”的区别,这样的词表和语料问题共同导致了RWKV6的数学能力低下的发生。
如图:
![image/png](https://cdn-uploads.huggingface.co/production/uploads/6417b108b03817ada6444bb8/disoWuBKyvS1HsPfLzxhf.png)
![image/png](https://cdn-uploads.huggingface.co/production/uploads/6417b108b03817ada6444bb8/_slVGcjHz0ZiEMjOJW58y.png)
![image/png](https://cdn-uploads.huggingface.co/production/uploads/6417b108b03817ada6444bb8/zm0LYa5qWMEpUol-hleMs.png)
另外,模型的最终回答似乎并不一定会遵守之前的思考过程,可能会在最终回复时回复完全不同的内容,这点在使用prompt让Gemini-1.5-pro,GPT4o,gemma2-27B,Claude3.5Sonnet等闭源或者开源大模型进行思考时也会出现,个人认为这是因为模型只思考一次,在回答时发现之前的思考只考虑了回答提问的因素,与自身道德,回复逻辑不够相符,所以完全不依赖思考过程,重新回答了一遍,在此情况下,以上思考完全作废。
但是,因为我对CoT进行了调整,主要目的从**分步执行**转变为了**思维发散**,所以我认为可以通过多次发散思维并进行多步CoT得到多个思考过程,让模型进行路由选择可以极大幅度降低此问题的触发概率,而缺点则是会极大程度降低输出速度。
### 运行方式
本地运行:[RWKV-Runner](https://github.com/josStorer/RWKV-Runner)
服务器部署:[ai00](https://github.com/Ai00-X/ai00_server)
### 附展示回答图
![image/png](https://cdn-uploads.huggingface.co/production/uploads/6417b108b03817ada6444bb8/_73GOJ7NJ5fggFaB1ijJe.png)
![image/png](https://cdn-uploads.huggingface.co/production/uploads/6417b108b03817ada6444bb8/86p_1wTLW7XRObpH5puOi.png)