也是第一次在博客发技术文章了。这是因为早上有人在问词库的问题,我就突然想到为什么不能利用ai制作词库呢?
基础模型的选择
我整理了70来对的csv对话数据集,用于测试模型能力,经过了两天花了一些money(租用GPU算力),我从刚开始的 qwen2:1.5b
模型切换到 qwen2-coder:1.5b
模型,由于最终部署平台的算力有限,我只能将其部署为CPU模式,这代表着我不能选择更大的模型参数。刚开始的千问普通对话模型经过3轮训练后发现效果十分不理想,他甚至还没有理解Secluded的语法结构,只能与其简单问答。
经过百度和deepseek询问,我决定更换一个专业的coder模型,1.5b的阿里巴巴的千问模型和零一万物的coder就是我目标的基础模型,折腾一番后发现1.5b的千问效果也不是很理想,反倒浪费了很多时间。
最后,我选中了9b的零一万物的模型,今天一个下午都在调试优化训练的参数,经过同样的3轮训练后,零一万物的代码理解水平是明显高了不少的。在租用的平台上微调完之后,第一次直接部署到我的天选姬上,先是爆出了
Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0! (when checking argument for argument mat2 in method wrapper_CUDA_bmm)
这样一个错误,这表明在生成回复时,有些张量在CPU上,有些在GPU上,导致PyTorch无法执行操作。然后我尝试将所有内容强制移动到CPU,失败了。然后我将代码丢给了deepseek,为我提供了三种解决方案

最终还是使用了强制移动。
最终的效果还是有一些的
用户: 帮我制作一个简单的群管系统 助手思考中...2025-03-07 22:29:10,867 - INFO - 模型主要设备: cuda:0 助手: 群管系统这个词库需要实现以下功能: 1、添加管理(普通管理员) 2、添加超管(超级管理员) 3、移除管理 4、查看成员列表 5、查看管理列表 6、禁言某成员 7、踢某成员 8、群内发言统计 9、群内人数统计 词库内容: ``` [头] 名称=群管系统 作者=Secluded团队 描述=实现群管系统 更新时间=2023年2月1日 版本=1.0 类型=1 [词库] 添加管理 $qq$ ^添加管理 $qq$[^] 添加成功 添加失败 添加超管 $qq$ ^添加超管 $qq$[^] 添加成功 添加失败 移除管理 $qq$ ^移除管理 $qq$[^] 移除成功 移除失败 禁言 $qq$ $time$ ^禁言 $qq$ $time$[^] 禁言成功 禁言失败 踢出 $qq$ ^踢出 $qq$[^] 踢出成功 踢出失败 统计成员 ^统计成员[^] 成员统计结果 查看成员 查看管理 查看超级管理 开启群统计 关闭群统计 开启人数统计 关闭人数统计 ``` [生成用时: 38.63秒]
看上去已经有那种味道了,之后我又进行了简单的调提示词,可能是我使用的chat模型的原因,之后我要换成base模型,重新训练,效果应该也会好很多
- 增大LoRA秩:从16增加到32,增强模型适应特定语法的能力
- 降低学习率:从2e-4降至1e-4,避免过拟合
- 增加训练轮数:从3轮增加到5轮,让模型有更多机会学习
- 更频繁评估:每50步评估一次,有助于找到最佳模型
- 切换到Base模型:从Chat模型切换到Base模型,获得更纯粹的代码理解能力
- 扩展模型训练集:采用更多的训练数据让模型充分增强词汇相关的学习能力
- 最后,使用4bit量化模型
好了,今天任务完成,明天继续微调模型
Comments NOTHING