Update modeling_chatglm.py for inputs_embeds

#45
by Xipotzzz - opened

在训练blip2等模型时需要以inputs_embeds作为输入而不是input_ids,但是现在的实现似乎不支持这个功能。
我修改了一部分代码以支持inputs_embeds。依然需要同时输入input_ids以构建attention_mask和position_ids,但是送入transformer的是输入的inputs_embeds而不是用input_ids得到的。
已测试,不影响原有的仅使用input_ids的生成方式。

Knowledge Engineering Group (KEG) & Data Mining at Tsinghua University org
        # set to None as prepare_inputs_for_generation use past for input embeds
        if "inputs_embeds" in model_kwargs:
            model_kwargs["inputs_embeds"] = None

这个有必要吗?在 prepare_inputs_for_generation 里面 past 不为 None 的时候本来就是不会传 inputs_embeds

        # set to None as prepare_inputs_for_generation use past for input embeds
        if "inputs_embeds" in model_kwargs:
            model_kwargs["inputs_embeds"] = None

这个有必要吗?在 prepare_inputs_for_generation 里面 past 不为 None 的时候本来就是不会传 inputs_embeds

确实应该是不需要的,可以删除

Ready to merge
This branch is ready to get merged automatically.

Sign up or log in to comment