swift icon indicating copy to clipboard operation
swift copied to clipboard

微调llama3模型做多分类任务

Open Yuxin715d opened this issue 2 months ago • 2 comments

你好,我想微调llama3做文本多分类模型,但有一些困惑,希望能得到指点

  1. 做长文本分类,是用llama3-base模型好,还是llama3-instruct模型好?我只知道后者是针对对话场景做了微调,前者是纯粹的文本补全模型,但选择哪个比较迷茫
  2. 假设用llama3-base模型,可以直接使用scripts/llama3-instruct的脚本吗(修改数据集和模型路径部分),还是说要有比较大的改变
  3. 数据集部分,我自定义的数据集为json文件,每个dict格式为Instruction, Input, Output. 不过应用到我的文本多分类问题中,我的所有Instruction都是一样的, 阐述要进行分类,然后input是句子,这样是不是有点奇怪?微调效果和用conversation,user,assistant相比差别大吗
  4. 假设我用Instruction, input, output的形式,那我在推理测试微调后模型的性能时,需要在无history的情况下让模型对测试集每一项做predict并且储存预测结果,那我感觉不好使用infer的脚本了,怎么实现一个最小化的python脚本,把lora模型参数还原成model但是不保存merge的文件,然后做预测(正常预测的代码我知道,但是如果我是Intruction Input Output的形式微调后的模型,那预测的数据格式应该怎么写呢)

Yuxin715d avatar Apr 26 '24 16:04 Yuxin715d

推理脚本 swift已经提供了,并且会保存一个文件到 checkpoint中.

Jintao-Huang avatar Apr 27 '24 15:04 Jintao-Huang

问题1: 效果差不太多,一般用base 问题3: 不奇怪的. 在swift的实现中 instruction和input之间使用\n隔开

Jintao-Huang avatar Apr 27 '24 15:04 Jintao-Huang