开发者生态
morning
微调本地法学硕士(如 Qwen 3:0.6B)以对问题进行分类,效果良好
2026-06-22
1 阅读
dev-experiments
教我很酷的东西微调本地法学硕士对问题进行分类发布日期:2026 年 6 月 16 日作者 Torgeir Helgevold 作为一个有趣的个人项目,我一直在开发一个聊天机器人,用于回答有关我家庭的一般问题,从维护问题到医生预约。总的想法是,聊天机器人将通过 RAG 通过查询矢量数据库来获取其家庭知识,但为了获得更好的结果,我已经使矢量搜索元数据感知。基本上,我通过预处理步骤运行问题,将问题分类为已知的元数据类别(例如游泳池、汽车、暖通空调、烹饪)。这样做的主要目标是将矢量排名的搜索空间缩小到仅与问题类别匹配的索引条目。举个例子,“我们什么时候更换泳池水泵?”这个问题在查询索引数据库之前将被映射到名为“pool”的类别。我想在这个实验中测试的假设是,在家庭相关问题法学硕士数据集上进行训练时,是否可以对非常小的本地法学硕士进行微调以执行可靠的问题分类。在这个项目中,我使用两个不同的本地法学硕士 - Qwen 3:4B 和 Qwen 3:0.6B。 4B参数版本用于一般问答,而超微型0.6B版本用于分类问题。这个实验的整个前提是看看一个只有 600M 参数的微小 llm 是否可以被微调成一个可靠的家庭问题分类器。微调 为了进行微调,我使用了一个名为 Unsloth 的流行开源框架,它似乎非常适合调整 Qwen 和 Llama 等本地模型。出于训练目的,我的初始数据集由大约 850 个数据条目组成,其中我分别按照 70/15/15 百分比分为训练数据、评估数据和测试数据。训练数据和评估数据在训练期间使用,而测试数据集被保留并用于在训练后运行测试。有关示例数据,请参阅下面的部分:[ { "question": "谁清洁房子的排水沟?", "category": "排水沟" }, { "question": "谁为家里的热水器提供服务?", "category": "热水器" }, { "question": "谁修理了院子里的喷水灭火系统?", "category": "灌溉" }, { "question": "哪家商店我们通常从哪里购买pinnekjot?", "category": "烹饪" }, { "question": "家用空调的空气过滤器尺寸是多少?", "category": "hvac" }, { "question": "我们更换楼下的空调是哪一年的?", "category": "hvac" } ] 基本思想是对法学硕士进行足够多的家庭问题培训,以教其成为一名可靠的问题分类器。基线 在进行任何微调之前,建立一个衡量基线非常重要。在此实验中,基线是尝试通过单独提示“按原样”使用原始 Qwen 0.6B 模型。用于基线的示例提示如下: 将房主问题准确地归入下面列表中的一类。仅返回列表中的类别名称。切勿返回代码、数字、同义词、解释或任何其他文本。答案必须恰好是列表中的一个类别名称。根据问题的含义选择最佳类别。有效类别: - 电器 - 砖砌工程 - 汽车 - 烹饪 - 门铃 - 电力 - 栅栏 - 喷泉 - 花园灯 - 排水沟 - 暖通空调 - 灌溉 - 蚊虫 - 油漆 - 游泳池 - 树木服务 - 热水器 - 窗户服务 问题: 谁为房子安装了无水箱热水装置?类别:基线模型的准确性:作为我的离线评估方法之一,我创建了一组约 130 个集成测试,以使用第二个数据集的场景来测试模型。对于基线模型,结果很差。在 131 项测试中,该模型仅正确分类了 13 个问题(大约 10% 的正确答案)。请参阅下面的摘要: { "scenario": "baseline-category", "model_kind": "baseline", "model_name": "qwen3:0.6b", "label_mode": "category", "total": 131, " Correct": 13, "in Correct": 118, "accuracy": 0.0992 } 在深入研究实际故障时,会出现一些常见模式:模型大多过度使用电气/电器等宽泛的标签,而忽略了大多数其他类别(例如游泳池、烹饪、暖通空调)。该模型发明了新类别(例如公寓),并且不遵守所提供的允许类别列表。我提供了以下测试报告的摘录: [{ "case_id": 1, "question": "何时更换下部空调系统?", "expected_category": "hvac", "scenario": "baseline-category", "model_kind": "baseline", "model_name": "qwen3:0.6b", "label_mode": "category", "predicted_category": "electric", " Correct": false }, { "case_id": 64, "question": "哪位画家在 Joe 的房间工作?", "expected_category": "painting", "scenario": "baseline-category", "model_kind": "baseline", “model_name”:“qwen3:0.6b”,“label_mode”:“类别”,“预测类别”:空,“预测代码”:空,“正确”:假,“状态