Gemma 4 微调 商品分类

📅 2026/6/25 13:48:57
Gemma 4 微调 商品分类
在之前已经完成了对Gemma4在情绪数据集上的LoRA微调这里切换商品分类数据集进行实际实践以下是实践笔记记录原项目数据集AI-ModelScope/emotion英文情绪 6 分类parquet 格式模型Gemma 4 E4B-it方式LoRA 单卡微调改造后数据集winwin_inc/product-classification-hiring-demo中文商品 10 分类jsonl 格式模型还是 Gemma 4 E4B-it方式还是 LoRA 单卡微调但是由于两个数据集的形式是不同的所以需要对切换的数据集进行一定的预处理大致处理逻辑如下def pre_process(split_name: str, label_id: int): file_path os.path.join(dataset_dir, f{split_name}.jsonl) data [] cur_label label_id with open(file_path, r, encodingutf-8) as file: for line in file: json_obj json.loads(line.strip()) cat json_obj[category] # 新类别就分配一个 label if cat not in LABEL_DICT: LABEL_DICT[cat] cur_label LABEL_NAMES.append(cat) cur_label 1 # 把 category 换成 label数字 del json_obj[category] json_obj[label] LABEL_DICT[cat] data.append(json_obj) # 存成 json后面用 datasets 加载 with open(os.path.join(dataset_dir, f{split_name}.json), w, encodingutf-8) as f: json.dump(data, f) return cur_label这样就可以实现在不知道数据集标签的数量和具体标签的情况下维护一个对应的标签字典适配之前情绪数据集微调的后续训练操作。另外在prompt方面因为当前数据集为中文数据集所以在模板上进行了相应的修改SYSTEM_PROMPT 你是一个产品判别专家。 阅读用户文本并使用一个准确的标签进行回答。 你的回答只能从以下选项中选择即饮奶茶, 即饮茶, 硬糖, 牙膏, 非冷藏即饮果汁, 冷藏即饮果汁, 白酒, 方便面, 软糖, 口香糖。 你的回答只能是上面一个选项标签。 在分类任务上将输出标签固定不让模型自行发挥。最终也是成功完成了整个模型的新数据集的切换与适配本次实现最大的感受就是做微调项目数据预处理真的是最花时间的。模型加载、LoRA 配置这些都是套路照着写就行。但数据不一样每个数据集格式都不同坑也不一样每次都得重新折腾。之后如果有时间也会尝试分析一下bad case看看是否有哪些地方可以进一步优化一下的。