Closed sysuhys closed 1 month ago
您好,我们在附录G中提到,我们的数据标注过程交给Qwen72B标注的,没有进行任何的人工监督。2wiki
和hotpotqa
采样掉数据集的每个问题都至少含有2跳推理,但是在这个例子中,Qwen只提供了一跳推理,我们认为这种情况的数据是不正确的,所以应当被过滤掉。此处我们没有在训练的过程中进行过滤是因为我们前期看过几个case,有些是正确的,因此我们索性就全部加入,这种情况在整个训练数据集的占比仅为0.4%,也可以观察模型的鲁棒性。如果仍有问题,请告知我 :)
请问您还有其他问题吗?
你好,我们参考mulit_hop_qa的数据训练了qwen2模型,但在测试的时候qwen2模型一直在重复的生成不会停止了?请问是我们参数没设置对吗?还是qwen的训练数据有变化?
请问是否方便提供一个具体的case呢?我们的训练数据没有发生变化,解码参数用的就是greedy decode。
上面就是我们在测试的时候生成的结果,感觉模型无法生成终止符,一直在死循环生成。我们就是用的你们开源代码里的llama配置文件,是不是有些配置参数不一样?
您好,原因应该在于训练的数据没有加上eos token,下面提供两种解决方案:
</FINAL-ANSWER>
添加上模型对应的结束符号。比如llama2,则变成</FINAL-ANSWER> </s>
info-data-train
字段的templator
为Llama2Templator
,Llama2Templator
会自动添加上</s>
token,此处为Llama2Templator
的代码如果仍有问题请告知我 :)
你好,我采用你说的第二种方法,改为qwen2templator,但会出现很多断言(如下62行代码所示),这个断言该怎么解决?把数据删掉吗?还是要改数据中的special_token?
是否可以打印一下final_input
和structured_final_input
的值呢,这将有助于我帮您排除问题
这个是final_input: 这个是structured_final_input:
您好,方便提供一下您的messages
字段的内容吗
你好,如下是train.jsonl里messages字段的内容,跟multi_hop_qa的数据格式类似。
您好,我这边测试没有问题,您可以尝试一下将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))
注意需要替换data
和tokenizer_path
。如仍有问题请告知我 :)
请问您还有其他问题吗?
暂时没有问题了,谢谢
你好,我在看multi_hop_qa的数据时,看到train.jsonl里的positive可能为空,但我看上面有 里面是有文档的,怎么positive为空呢?