Skip to content

baichuan无法推理对话 #1843

Closed
@dyedd

Description

@dyedd

Describe the bug/ 问题描述 (Mandatory / 必填)
A clear and concise description of what the bug is.

Traceback (most recent call last):
  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/threading.py", line 973, in _bootstrap_inner
    self.run()
  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/threading.py", line 910, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindnlp/core/utils/_contextlib.py", line 117, in decorate_context
    return func(*args, **kwargs)
  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindnlp/transformers/generation/utils.py", line 2024, in generate
    result = self._sample(
  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindnlp/transformers/generation/utils.py", line 3029, in _sample
    model_inputs = self.prepare_inputs_for_generation(input_ids, **model_kwargs)
  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindnlp/transformers/models/baichuan/modeling_baichuan.py", line 1858, in prepare_inputs_for_generation
    position_ids = position_ids.masked_fill(attention_mask == 0, 1)
  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindspore/common/tensor.py", line 2682, in masked_fill
    value = tensor_operator_registry.get("scalar_to_tensor")(value, self.dtype)
  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindspore/common/_stub_tensor.py", line 99, in dtype
    self.stub_dtype = self.stub.get_dtype()
TypeError: For primitive[CumSum], the input argument[x] must be a type of {Tensor[Float16], Tensor[Float32], Tensor[Float64], Tensor[Int32], Tensor[Int8], Tensor[UInt8]}, but got Tensor[Int64].

----------------------------------------------------
- C++ Call Stack: (For framework developers)
----------------------------------------------------
mindspore/core/utils/check_convert_utils.cc:1031 CheckTensorSubClass
  • Hardware Environment(Ascend/GPU/CPU) / 硬件环境:

Please delete the backend not involved / 请删除不涉及的后端:
Ascend

  • Software Environment / 软件环境 (Mandatory / 必填):

  • mindnlp是今日最新源码
    -- MindSpore version (e.g., 1.7.0.Bxxx) : 2.3.1
    -- Python version (e.g., Python 3.7.5) :Python 3.9.10
    -- OS platform and distribution (e.g., Linux Ubuntu 16.04): 4.19.90-vhulk2211.3.0.h1543.eulerosv2r10.aarch6
    -- GCC/Compiler version (if compiled from source): 7.3.0

  • Excute Mode / 执行模式 (Mandatory / 必填)(PyNative/Graph):

Please delete the mode not involved / 请删除不涉及的模式:
/mode pynative

To Reproduce / 重现步骤 (Mandatory / 必填)
代码:

import mindspore as ms
from mindnlp.transformers import BaiChuanForCausalLM, BaiChuanTokenizer
from mindnlp.transformers.generation.utils import GenerationConfig
# ms.set_context(pynative_synchronize=True)

model = BaiChuanForCausalLM.from_pretrained("baichuan-inc/Baichuan-13B-Chat",mirror='modelscope',ms_dtype=ms.float16, size='13b').eval()
tokenizer = BaiChuanTokenizer.from_pretrained("baichuan-inc/Baichuan-13B-Chat",mirror='modelscope')

model.generation_config = GenerationConfig.from_pretrained("baichuan-inc/Baichuan-13B-Chat")
messages = []
messages.append({"role": "user", "content": "北京有啥好玩的地方?"})
response = model.chat(tokenizer, messages)
print(response)

Expected behavior / 预期结果 (Mandatory / 必填)
能够推理。

Screenshots/ 日志 / 截图 (Mandatory / 必填)

Additional context / 备注 (Optional / 选填)
我尝试修改后:
即将

position_ids = attention_mask.long().cumsum(-1) - 1
long修改成int
然后就变了新的错误:

Exception in thread Thread-7:
Traceback (most recent call last):
  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/threading.py", line 973, in _bootstrap_inner
    self.run()
  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/threading.py", line 910, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindnlp/core/utils/_contextlib.py", line 117, in decorate_context
    return func(*args, **kwargs)
  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindnlp/transformers/generation/utils.py", line 2024, in generate
    result = self._sample(
  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindnlp/transformers/generation/utils.py", line 3036, in _sample
    outputs = self(**model_inputs, return_dict=True)
  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindnlp/core/nn/modules/module.py", line 391, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindnlp/core/nn/modules/module.py", line 405, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindnlp/transformers/models/baichuan/modeling_baichuan.py", line 1787, in forward
    outputs = self.model(
  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindnlp/core/nn/modules/module.py", line 391, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindnlp/core/nn/modules/module.py", line 405, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/ma-user/anaconda3/envs/MindSpore/lib/python3.9/site-packages/mindnlp/transformers/models/baichuan/modeling_baichuan.py", line 1560, in forward
    bsz = inputs_embeds.size(0)
TypeError: 'int' object is not callable

就不会改了。

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions