Linxyhaha / DEALRec

Data-efficient Fine-tuning for LLM-based Recommendation (SIGIR'24)
https://arxiv.org/pdf/2401.17197
19 stars 3 forks source link

仅仅使用genfewshot.py ,finetune.py ,inference_ddp.py 和evaluate.py 未达到论文中的效果 #6

Open Andarkness1 opened 2 weeks ago

Andarkness1 commented 2 weeks ago

如题,在使用games数据集 ,将sample设置为len(sequential_train) 的情况下 训练 + 使用训练后的lora获取predict 再通过evaluate计算dist排序 得到的ndcg以及RECALL水平均只有0.00的水平 无法达到论文中full的效果。是否还需要修改超参数或者进行其他操作呢。 image

Andarkness1 commented 2 weeks ago

进一步,发现使用finetune.py同参数训练的lora加到模型中,结果与未训练的llama模型结果完全一致 这是否合理

Linxyhaha commented 2 weeks ago

如题,在使用games数据集 ,将sample设置为len(sequential_train) 的情况下 训练 + 使用训练后的lora获取predict 再通过evaluate计算dist排序 得到的ndcg以及RECALL水平均只有0.00的水平 无法达到论文中full的效果。是否还需要修改超参数或者进行其他操作呢。 image

这可能和加载的backend llama模型以及lora adapter的ckpt有关。

  1. 首先确保一下backend llama使用的是meta官方release出来的模型,我们也分享在了google drive供使用者下载。
  2. 另外一个可能的原因是peft版本的问题,导致训练好的lora adapter实际并没有保存下来,详见issue
Andarkness1 commented 2 weeks ago

如题,在使用games数据集 ,将sample设置为len(sequential_train) 的情况下 训练 + 使用训练后的lora获取predict 再通过evaluate计算dist排序 得到的ndcg以及RECALL水平均只有0.00的水平 无法达到论文中full的效果。是否还需要修改超参数或者进行其他操作呢。 image

这可能和加载的backend llama模型以及lora adapter的ckpt有关。

  1. 首先确保一下backend llama使用的是meta官方release出来的模型,我们也分享在了google drive供使用者下载。
  2. 另外一个可能的原因是peft版本的问题,导致训练好的lora adapter实际并没有保存下来,详见issue。 你好 这里我peft的版本也进行了多次修改 并且下载了你的lora adapter 但是测试时,是否finetune的结果仍然相同 我使用的basemodel为llama-7b-hf 并且调用peft模型的方式如下 是否存在其他问题。

    加载模型

    model0 = LlamaForCausalLM.from_pretrained( base_model, load_in_8bit=load_8bit, torch_dtype=torch.float16, device_map=device_map, )

应用LoRA微调

model = PeftModel.from_pretrained( model0, lora_weights, )

model = model.merge_and_unload()

Andarkness1 commented 1 week ago

如题,在使用games数据集 ,将sample设置为len(sequential_train) 的情况下 训练 + 使用训练后的lora获取predict 再通过evaluate计算dist排序 得到的ndcg以及RECALL水平均只有0.00的水平 无法达到论文中full的效果。是否还需要修改超参数或者进行其他操作呢。 image

这可能和加载的backend llama模型以及lora adapter的ckpt有关。

  1. 首先确保一下backend llama使用的是meta官方release出来的模型,我们也分享在了google drive供使用者下载。
  2. 另外一个可能的原因是peft版本的问题,导致训练好的lora adapter实际并没有保存下来,详见issue

你好 这里我使用你的模型 以及Lora 进行inference 和 evaluate 为什么结果仍然较低