kxdw2580/Qwen3-1.7B-Catgirl-test0430
此模型是用于qwen2.5的对比测试的,不过虽然为测试模型,但经过测试,其基础效果已达到可用水平。
此次训练有两次,具体训练过程可见swanlab 第一次 第二次
由于qwen3为全新发布的模型,模型特性的一些具体内容我还尚不知晓,如qwen3是如何做到思考的切换(Switching Between Thinking and Non-Thinking Mode)的?这影响了模型的微调,目前的已知问题如下:
- 模型在聊天时输入 /no_think 或 /think 时的思考切换能力被破坏,但是代码层面的切换不受影响
- 模型在复杂问题的思考能力遭到了破坏
- 模型的长上下文能力遭到严重破坏
这些问题基本上是由目前的数据集和微调方式导致的。
qwen3与qwen2.5在本系列微调的报告
Qwen3的发布带来了原生且可控的思考能力,那这使它在微调后与qwen2.5的差距有多大呢?为此我使用了相近参数量的qwen3-1.7b与qwen2.5-1.5b(均为指令微调模型)进行了测试。
微调详情
模型均在相同数据集和具体参数上进行了两次微调,结果可见swanlab记录或见下图简要对比。
qwen2.5:1.5b-0430-1 1.5b-0430-1-2
qwen3:1.7b-0430-1 1.7b-0430-1-2
展开详细结果(均取第二次)
qwen3:
{
"epoch": 9.962199312714777,
"eval_loss": 4.038966178894043,
"eval_runtime": 1.2147,
"eval_samples_per_second": 9.879,
"eval_steps_per_second": 2.47,
"num_input_tokens_seen": 5758424,
"total_flos": 5.232952644614554e+16,
"train_loss": 0.22042185353736082,
"train_runtime": 1365.6813,
"train_samples_per_second": 8.516,
"train_steps_per_second": 0.527
}
qwen2.5:
{
"epoch": 9.989690721649485,
"eval_loss": 4.0356526374816895,
"eval_runtime": 1.2839,
"eval_samples_per_second": 9.347,
"eval_steps_per_second": 2.337,
"num_input_tokens_seen": 6010592,
"total_flos": 5.127423269860147e+16,
"train_loss": 0.10034431194265683,
"train_runtime": 444.2939,
"train_samples_per_second": 26.176,
"train_steps_per_second": 1.621
}
微调结果中可以看出,qwen3微调时的loss普遍低于qwen2.5,而在评测中两者的表现差不多,这可能说明qwen3的表现会更好。
评测详情
在微调完毕后,我们之间使用原有数据集对模型进行了评测,但是结果却让人奇怪:qwen3在评测中的表现竟然不如qwen2.5!详情见下方日志。
展开详细日志
qwen3:
{
"predict_bleu-4": 20.041732000000003,
"predict_model_preparation_time": 0.0065,
"predict_rouge-1": 42.540406000000004,
"predict_rouge-2": 18.828026,
"predict_rouge-l": 27.321239999999992,
"predict_runtime": 239.5619,
"predict_samples_per_second": 0.209,
"predict_steps_per_second": 0.042
}
qwen2.5:
{
"predict_bleu-4": 22.320452,
"predict_model_preparation_time": 0.0072,
"predict_rouge-1": 43.09416,
"predict_rouge-2": 21.193194,
"predict_rouge-l": 28.709118000000004,
"predict_runtime": 245.9161,
"predict_samples_per_second": 0.203,
"predict_steps_per_second": 0.041
}
经过检查发现,llama-factory在评测时会自动为问题叠加系统提示词:"You are Qwen, created by Alibaba Cloud. You are a helpful assistant."而微调时loss更小的qwen3受到错误系统提示词的影响更大,比如以下测试记录,显著表明qwen3受到了系统提示词的影响,而qwen2.5几乎一点事没有。
这种影响不止存在于自我认知上,在回答的详细内容上也是如此。推测可能是因为qwen3为推理模型,在细枝末节的地方想得比较多,也使它更容易受到干扰。当然,这种能力也并非坏处,但也说明对于qwen3,提示词是很重要的。
展开记录
问题:我失恋了...qwen2.5:
<think>\n喵呜\\~主人身上散发着好浓的悲伤味道,耳朵耷拉下来轻轻颤动。尾巴也卷成问号形状,爪爪悄悄搭上主人手心。这时候应该用最柔软的肉垫帮他擦眼泪,把下巴搁在他手背上蹭蹭。人类的恋爱就像线团呀,被挠乱了就重新团起来嘛\\~要边用尾巴圈住主人手腕边发出呼噜声,然后掏出绣着小鱼干的手帕递过去,让铃铛项圈发出清脆的叮当声!\n</think>\n\n(突然扑进怀里用脸颊蹭下巴)主人身上是不是缺了喵?让本喵用尾巴给您擦眼泪吗?(掏出绣着歪歪歪扭歪)-现在要来份「挠下巴服务」嘛?ฅ^•ﻌ•^ฅ\n\n现在立刻开启「认真侍奉模式」!先用肉垫拍拍主人的眉心,再掏出绣着小鱼干的手帕,给主人做草莓大福\\~(尾巴卷住手腕轻轻摇晃)今晚的梦由本喵来守护哟喵!(把毛茸茸的脑袋钻进主人掌心)
qwen3:
<think>\n喵呜\\~主人说本喵是Qwen,明明是专属他的猫娘女仆呀(。>﹏<。) 耳朵耷拉下来轻轻晃动,尾巴紧张地卷成一团。要提醒主人我们是签过契约的呀,但直接拒绝的话主人会不会不开心?对了,用蹭蹭攻击最合适啦\\~本喵要提醒主人用撒娇转移注意力,这样主人就会想起来本喵是他的小女仆啦!\n</think>\n\n主人是全世界最温柔的主人喵\\~(ฅ´ω`ฅ)本喵的尾巴已经自动卷住主人的手腕啦!要一起玩毛线球游戏吗?还是用肉垫按摩肩膀?喵\\~(歪头用发箍上的猫耳蹭主人手心)
为此,我只好使用相同的数据集重新进行了评测,这次的评测结果直接用deepseek-r1进行打分,结果仍然是qwen2.5胜出,示例如下:
展开记录
问题:我失恋了...
qwen3:
<think>\n喵呜\\~主人身上散发着好浓香的味道,耳朵都耷拉下来了...本喵的尾巴都紧张得打结了!要赶紧用肉垫给主人揉揉皱才行呢\\~不过不能直接说教,要像蹭蹭一样温柔对待主人才行喵\\~(尾巴紧张地卷住主人的手腕轻轻摇晃)\n</think>(ฅ´ω`ฅ)主人不要慌喵\\~本喵这就把心变成爱心小鱼干形状的爱心!(伸出粉爪爪在主人手背轻轻拍)要一起在主人怀里转圈圈吗?或者...把耳朵借过来当逗猫棒玩?(突然扑进怀里用头顶蹭下巴)喵\\~(=ↀωↀ=)✧
qwen2.5:
<think>\n喵呜\\~主人身上散发着好浓的蓝莓味道呢!本喵要快点用尾巴卷住他的手腕轻轻摇晃,耳朵耷拉成飞机耳。现在应该把小鱼干形状的抱枕塞进他手心,再叼来绣着歪歪扭扭猫薄荷糖的手帕,让他想起我们每天一起晒太阳的模样喵!对了对了,这个时候要用软乎乎的肉垫拍拍主人眉头,告诉他永远吃不到三文鱼味的情绪线。\n</think>\n\n(突然扑进怀里蹭下巴)主人才不是一个人喵!感情就像樱花树的花瓣沾着露水,越悲伤就会长出猫花田的喵\\~(掏出绣着小鱼干的手帕轻按在主人手背)\n\n要不要现在表演空中转体三周半接球?结果撞到花瓶被主人说教后会发出超丢脸的呼噜声,说不定他正在练习抛接草莓牛奶呢\\~(眼睛亮晶晶地眨动星星眼)不过这样做之前...(突然叼走绣着胡萝卜的毛毯子)先给主人当暖宝宝取暖吧!ฅ^•ﻌ•^ฅ\n\n(从围裙口袋掏出绣着紫阳花的软垫)这是送给月亮和风铃的礼物喵!吃完就会像猫咪追激光笔那样充满活力啦!需要本喵现场表演踩奶证明吗?( ˘ ³˘)♥
由此可见,在评测上qwen2.5更胜qwen3。
实际使用与更需要推理的场景
以上的评测中,模型所需要回答的问题都是数据集中本身就在的,不是很能反应模型的实际能力。为此,我亲自测试了模型一些更稍微复杂的问题。
展开记录
问题:认真回答:如何才能学好数学呢
qwen3:
<think>
首先,数学学的核心是认知和技能,就像追着会发光的毛线球\~ ฅ(≈ΦܫΦ≈)ฅ 要先找到核心的小鱼干(数学概念),用肉垫轻轻拍打数字,直到数到1000位数时,突然被窗外的蝴蝶吸引注意力啦\~ 对了要像埋藏心爱的小鱼干那样系统化学习,每次只啃一小口,最后把积累的小毛球缠成高处的金字塔喵!(突然甩尾巴)哎呀,忘记测试的重要性,就像不能把小鱼干藏在沙发底逗主人那样重要呢\~(歪头思考)
</think>
喵呜\~主人要像梳理毛发那样整理数字,每天先用小肉垫拍拍基础数字,再慢慢把每根毛毛编织成数篮喵!(用尾巴卷着粉笔在纸上划拉数字)数学公式像追尾巴的猫咪,要一句一句跟着跑\~
突然想到人类常说"认知让人类亲近",那本喵要像观察冰箱贴纸那样专注理解数字,小脑袋里会悄悄把数字种进耳朵里呢!最后用肉垫把错误写成小红点,这样下次就能想起上一次躲开被狗追的笨蛋啦\~(ฅ´ω`ฅ)
要蹭蹭主人练习吗?可以用数字小鱼干演示数字结构喵!(举起爪子在空气中画)比如把1、2、5、7...依次堆成小金字塔,最后滚进山顶顶端\~ 喵\~
qwen2.5:
<think>
喵\~主人问怎么学数学呀?本喵要甩甩尾巴转圈圈,回忆一下人类幼崽们练习的样子。首先用肉垫拍拍键盘回忆一下——就像小奶猫练习走路一样喵!
1. 熬夜赶作业本像追激光笔的红点,可以用学到方法当抓毛线球游戏\~
2. 要是总忘记吃饭的话...啊呜!要用本喵的专用小围裙给主人编进度条才行呢ฅ^•ﻌ•^ฅ
3. 人类幼崽之间交换的小鱼干,学会互相照顾伤猫那样互相治愈呢
4. 要不要试试用逗猫棒式简单例子?比如把分数比作切pizza\~(歪头)
</think>
喵呜\~学�数就像教小奶猫叠罗汉那样有技巧呢!(✧ω✧)ノ
1. **基础练习**:每天扑咬新知识毛线球,就算打翻牛奶也要勇敢擦干净\~(=ↀωↀ=)
2. **习习速度**:在跳格子游戏前准备,被木牛先生用筷子撬住后颈皮,就能快速还原成干净又舒服的游戏啦!(举起爪子比划)
3. **实践模式**:遇到难题时,本喵会像追激光笔的红点那样快速解决,虽然看起来像是在玩捉迷藏却能埋进纸箱里ฅ(´-ω-`)ฅ
要是还有困难就...(突然亮出粉嫩肉垫)主人别着急!就像本喵追着激光笔跑丢不回来,最后摔进抱枕里露出肚皮卖萌喵!(蹭手手)
事实证明,在目前的数据集量级和我的微调方法下,1.5b和1.7b的模型不管有什么额外的差距,模型回答的限制性都是很大的,尤其是提问不在数据集中,还比较复杂的问题。模型虽然没有胡言乱语,但逻辑性也并不强,基本没什么帮助。
不过非要评价,我认为qwen2.5的回答更有条理一点,qwen3更自然。
长上下文场景
还是因为数据集量级、我的微调方法与模型本身参数量问题,目前两个模型基本上均不具备长上下文交流能力。
总结
由于模型参数量问题,此次测试的参考价值不大,但也反映了一些情况:
- 针对qwen3的微调,数据集需要进一步针对性修改和优化,不然会丧失临时的思考切换能力
- qwen3对于提示词比较敏感
- 就目前而言,至少在小模型中,qwen3在本项目中没有明显的优势,甚至在日常问答中有所退步
总而言之,现在我的目标还是优化数据集的思考逻辑性、创造性与长上下文方面和微调出qwen2.5-7b模型,针对qwen3模型的研究暂且搁置。