zjunlp / OneGen

[EMNLP 2024 Findings] OneGen: Efficient One-Pass Unified Generation and Retrieval for LLMs.
MIT License
138 stars 15 forks source link

关于mulit_hop_qa的数据 #8

Closed sysuhys closed 1 month ago

sysuhys commented 1 month ago

你好,我在看multi_hop_qa的数据时,看到train.jsonl里的positive可能为空,但我看上面有里面是有文档的,怎么positive为空呢?

image
MikeDean2367 commented 1 month ago

您好,我们在附录G中提到,我们的数据标注过程交给Qwen72B标注的,没有进行任何的人工监督。2wikihotpotqa采样掉数据集的每个问题都至少含有2跳推理,但是在这个例子中,Qwen只提供了一跳推理,我们认为这种情况的数据是不正确的,所以应当被过滤掉。此处我们没有在训练的过程中进行过滤是因为我们前期看过几个case,有些是正确的,因此我们索性就全部加入,这种情况在整个训练数据集的占比仅为0.4%,也可以观察模型的鲁棒性。如果仍有问题,请告知我 :)

zxlzr commented 1 month ago

请问您还有其他问题吗?

sysuhys commented 1 month ago

你好,我们参考mulit_hop_qa的数据训练了qwen2模型,但在测试的时候qwen2模型一直在重复的生成不会停止了?请问是我们参数没设置对吗?还是qwen的训练数据有变化?

MikeDean2367 commented 1 month ago

请问是否方便提供一个具体的case呢?我们的训练数据没有发生变化,解码参数用的就是greedy decode。

sysuhys commented 1 month ago

image 上面就是我们在测试的时候生成的结果,感觉模型无法生成终止符,一直在死循环生成。我们就是用的你们开源代码里的llama配置文件,是不是有些配置参数不一样?

MikeDean2367 commented 1 month ago

您好,原因应该在于训练的数据没有加上eos token,下面提供两种解决方案:

如果仍有问题请告知我 :)

sysuhys commented 1 month ago

你好,我采用你说的第二种方法,改为qwen2templator,但会出现很多断言(如下62行代码所示),这个断言该怎么解决?把数据删掉吗?还是要改数据中的special_token?

image
MikeDean2367 commented 1 month ago

是否可以打印一下final_inputstructured_final_input的值呢,这将有助于我帮您排除问题

sysuhys commented 1 month ago

这个是final_input: image 这个是structured_final_input: image

MikeDean2367 commented 1 month ago

您好,方便提供一下您的messages字段的内容吗

sysuhys commented 1 month ago

你好,如下是train.jsonl里messages字段的内容,跟multi_hop_qa的数据格式类似。 image

MikeDean2367 commented 1 month ago

您好,我这边测试没有问题,您可以尝试一下将src/onegen/templator/templator.py文件中的if __name__ == '__main__'后的部分替换为:

if __name__ == '__main__':
    from transformers import AutoTokenizer
    # replace your data
    data = [
        {'role': 'user', 'content': 'first'},
        {'role': 'assistant', 'content': 'second'},
    ]
    tokenizer = AutoTokenizer.from_pretrained("/your/qwen/tokenizer/path", add_prefix_space=False)
    print(Qwen2Templator.wrap(data))

注意需要替换datatokenizer_path。如仍有问题请告知我 :)

zxlzr commented 1 month ago

请问您还有其他问题吗?

sysuhys commented 1 month ago

暂时没有问题了,谢谢