昇腾910b部署Chatglm3-6b进行流式输出【pytorch框架】NPU推理

文章目录

准备阶段

避坑阶段

  • 每个人的服务器都不一样,在ChatGLM3/issues中别人只需要修改指定驱动,但是我的不行
  • 删除模型文件包中的model.safetensors.index.json,否则加载模型时会自动加载safetensors文件,而不加载bin文件
bash 复制代码
/home/anaconda3/envs/sakura/lib/python3.9/site-packages/torch_npu/contrib/transfer_to_npu.py:124: RuntimeWarning: torch.jit.script will be disabled by transfer_to_npu, which currently does not support it, if you need to enable torch.jit.script, please do not use transfer_to_npu.
  warnings.warn(msg, RuntimeWarning)
Loading checkpoint shards:   0%|                                                                                                                                     | 0/7 [00:00<?, ?it/s]
Traceback (most recent call last):
  File "/home/HwHiAiUser/work/ChatGLM3/basic_demo/cli_demo.py", line 22, in <module>
    model = AutoModel.from_pretrained(MODEL_PATH, trust_remote_code=True).npu().eval()
  File "/home/anaconda3/envs/sakura/lib/python3.9/site-packages/transformers/models/auto/auto_factory.py", line 558, in from_pretrained
    return model_class.from_pretrained(
  File "/home/anaconda3/envs/sakura/lib/python3.9/site-packages/transformers/modeling_utils.py", line 3187, in from_pretrained
    ) = cls._load_pretrained_model(
  File "/home/anaconda3/envs/sakura/lib/python3.9/site-packages/transformers/modeling_utils.py", line 3560, in _load_pretrained_model
    state_dict = load_state_dict(shard_file)
  File "/home/anaconda3/envs/sakura/lib/python3.9/site-packages/transformers/modeling_utils.py", line 467, in load_state_dict
    with safe_open(checkpoint_file, framework="pt") as f:
FileNotFoundError: No such file or directory: "/home/HwHiAiUser/models/chatglm3-6b/model-00001-of-00007.safetensors"
/home/anaconda3/envs/sakura/lib/python3.9/tempfile.py:817: ResourceWarning: Implicitly cleaning up <TemporaryDirectory '/tmp/tmp1ygjyx3i'>
  _warnings.warn(warn_message, ResourceWarning)

添加代码

找到ChatGLM3/basic_demo/cli_demo.py

添加以下代码:

python 复制代码
import torch
import torch_npu
import torchvision 
import torchvision_npu
from torch_npu.contrib import transfer_to_npu
import os
import platform
import time
torch_device = "npu:3" # 0~7
torch.npu.set_device(torch.device(torch_device))
torch.npu.set_compile_mode(jit_compile=False)
option = {}
option["NPU_FUZZY_COMPILE_BLACKLIST"] = "Tril"
torch.npu.set_option(option)
print("torch && torch_npu import successfully")

模型加载部分修改为:

python 复制代码
model = AutoModel.from_pretrained(MODEL_PATH, trust_remote_code=True).npu().eval()

结果展示

相关推荐
guslegend2 分钟前
4月6日(RAG系统)
人工智能·大模型·rag
_江南一点雨3 分钟前
AI 重构企业级系统?我们做了一次低成本实践
人工智能·重构
名字不好奇10 分钟前
Claude Code工作原理深度解析:从技术架构到设计哲学
人工智能·架构
浮芷.22 分钟前
Flutter 框架跨平台鸿蒙开发 - 神奇的DIY教程应用
flutter·华为·harmonyos
爱写代码的小朋友25 分钟前
使用 Nuitka 打包 Python 应用:从入门到进阶
开发语言·python
李李李勃谦26 分钟前
Flutter 框架跨平台鸿蒙开发 - 环保知识应用
flutter·华为·harmonyos
不屈的铝合金26 分钟前
Python入门:数字类型与运算
python·数据类型·python类型判断与转换·python运算符优先级
一条咸鱼_SaltyFish30 分钟前
DDD 架构重构实践:AI Skills 如何赋能DDD设计与重构
java·人工智能·ai·重构·架构·ddd·领域驱动设计
我是场32 分钟前
我的NPI项目 - OTA upgrade是什么?
android·人工智能
GISer_Jing33 分钟前
2026年前端AI开发终极指南
前端·人工智能