ChatGLM-Finetuning icon indicating copy to clipboard operation
ChatGLM-Finetuning copied to clipboard

数据集代码是否存在问题?输入和输出是对齐的,没有Teacher Forcing。

Open albert-jeffery opened this issue 10 months ago • 0 comments

Teacher Forcing是指的是输入和输出错开一个位置,从而使得模型能够具有预测能力。 但是博主在这里的数据集代码并没有使得输入输出错开:

# ChatGLM3需要增加[gMASK]、sop两个标记
input_ids = [tokenizer.get_command("[gMASK]"),
             tokenizer.get_command("sop")] + src_tokens + tgt_tokens + [tokenizer.eos_token_id]
context_length = len(src_tokens) + 2
labels = [-100] * context_length + input_ids[context_length:]

加上input[1,2,3], output[4,5,6],经过上述代码处理变成,其中64790为gmask,64792为sop,2为eos

[64790, 64792, 1, 2, 3, 4, 5, 6, 2]
[-100, 64792, 1, 2, 3, 4, 5, 6, 2]

这是为什么?是不是写错了?

albert-jeffery avatar Dec 18 '24 08:12 albert-jeffery