https://modelscope.cn/models/ZhipuAI/chatglm2-6b/summary 上的演示代码:
from modelscope.utils.constant import Tasks
from modelscope import Model
from modelscope.pipelines import pipeline
model = Model.from_pretrained('ZhipuAI/chatglm2-6b', device_map='auto', revision='v1.0.6')
pipe = pipeline(task=Tasks.chat, model=model)
inputs = {'text':'你好', 'history': []}
result = pipe(inputs)
inputs = {'text':'介绍下江南大学', 'history': result['history']}
result = pipe(inputs)
print(result)
运行出错,提示:
RuntimeError: ChatGLM2ForConditionalGeneration: "arange_cpu" not implemented for 'Half'
根据您提供的错误信息,看起来是在运行 ChatGLM2ForConditionalGeneration 模型时出现了 RuntimeError。错误提示中指出了 "arange_cpu" 在 'Half' 类型上没有实现。
这个错误通常发生在使用不受支持的数据类型上,例如 'Half' 类型。在 PyTorch 中,'Half' 类型对应于半精度浮点数(float16),某些操作可能不支持该数据类型。
针对您的具体情况,请尝试以下解决方法:
检查模型版本和依赖项:确保您使用的 Modelscope、PyTorch 和相关库的版本兼容性良好。有时,不同版本之间的兼容性问题可能会导致异常。尝试更新到最新版本的 Modelscope 和 PyTorch,以避免已知的问题。
修改代码或参数:尝试修改代码或参数,将输入数据类型更改为模型所支持的数据类型,例如使用 'Float' 类型而非 'Half' 类型。
寻求技术支持:如果以上方法无法解决问题,建议您联系模型开发者或社区寻求进一步的技术支持。他们可能能够提供更准确的解决方案或修复。
请注意,以上是一般性的建议,具体解决方法可能取决于您正在使用的模型和相关库的实现细节。如果您能提供更多上下文信息,例如完整的错误跟踪信息、使用的模型和库的版本号等,我可以尝试提供更具体的指导。
可以通过执行以下命令来更新 modelscope:
Copy
pip install --upgrade modelscope
另外,根据模型页面上的信息,该模型需要使用 transformers==4.5.0 和 torch==1.8.0。您可以通过执行以下命令来安装所需的依赖项:
Copy
pip install transformers==4.5.0 torch==1.8.0