【限时免费】 有手就会!pangu-pro-moe-model模型本地部署与首次推理全流程实战

有手就会!pangu-pro-moe-model模型本地部署与首次推理全流程实战

【免费下载链接】openPangu-Pro-MoE-72B-model openPangu-Pro-MoE (72B-A16B):昇腾原生的分组混合专家模型 【免费下载链接】openPangu-Pro-MoE-72B-model 项目地址: https://gitcode.com/ascend-tribe/pangu-pro-moe-model

写在前面:硬件门槛

在开始之前,请确保你的设备满足以下最低硬件要求:

  • 推理需求:至少需要一块支持昇腾(Ascend)NPU的设备,例如华为Atlas系列。
  • 显存要求:推理时显存需大于等于32GB。
  • 操作系统:推荐使用Linux系统(如Ubuntu 18.04或更高版本)。
  • 其他依赖:确保已安装CANN(Compute Architecture for Neural Networks)工具包,版本不低于8.0.RC3。

如果你的设备不满足上述要求,可能无法顺利完成模型的推理或微调任务。


环境准备清单

在开始部署之前,请确保你的环境已安装以下工具和库:

  1. Python:版本3.8或更高。
  2. PyTorch:版本2.1.0或更高。
  3. torch-npu:版本2.1.0.post8.dev20241029或更高(适配昇腾NPU)。
  4. Transformers:版本4.48.2或更高。
  5. CANN工具包:版本8.0.RC3或更高。

安装命令示例:

pip install torch>=2.1.0 torch-npu>=2.1.0.post8.dev20241029 transformers>=4.48.2

模型资源获取

  1. 下载模型权重
    你需要从官方渠道获取模型的权重文件,并将其保存到本地路径(例如path_to_Pangu_Pro_MoE)。
  2. 完整性校验
    下载完成后,请使用官方提供的校验工具(如checklist.chk)确保文件完整性。

逐行解析“Hello World”代码

以下是对官方提供的“快速上手”代码片段的逐行解析:

1. 导入依赖库

import torch
import torch_npu
from transformers import AutoModelForCausalLM, AutoTokenizer
from transformers import GenerationConfig
  • 作用:导入PyTorch、昇腾NPU适配库以及Hugging Face的Transformers库。

2. 加载模型和分词器

model_local_path = "path_to_Pangu_Pro_MoE"
tokenizer = AutoTokenizer.from_pretrained(
    model_local_path, 
    use_fast=False, 
    trust_remote_code=True,
    local_files_only=True
)
model = AutoModelForCausalLM.from_pretrained(
    model_local_path,
    trust_remote_code=True,
    torch_dtype="auto",
    device_map="auto",
    local_files_only=True
)
  • 作用:从本地路径加载模型的分词器和模型本体。
  • 参数说明
    • trust_remote_code=True:允许加载自定义代码。
    • torch_dtype="auto":自动选择数据类型。
    • device_map="auto":自动分配设备(如NPU或CPU)。

3. 设置生成配置

generation_config = GenerationConfig(
    do_sample=True,
    top_k=50,
    top_p=0.95,
    temperature=0.6
)
  • 作用:配置生成文本时的参数,如采样方式、温度等。

4. 准备输入

prompt = "Give me a short introduction to large language model."
messages = [
    {"role": "system", "content": "你必须严格遵守法律法规和社会道德规范。"},
    {"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
  • 作用:将用户输入转换为模型可接受的格式。

5. 生成文本

outputs = model.generate(**model_inputs, max_new_tokens=32768, eos_token_id=45892, return_dict_in_generate=True, generation_config=generation_config)
input_length = model_inputs.input_ids.shape[1]
generated_tokens = outputs.sequences[:, input_length:]
output_sent = tokenizer.decode(generated_tokens[0])
  • 作用:调用模型生成文本,并解码输出结果。

6. 解析输出

thinking_content = output_sent.split("[unused17]")[0].split("[unused16]")[-1].strip()
content = output_sent.split("[unused17]")[-1].split("[unused10]")[0].strip()
print("\nthinking content:", thinking_content)
print("\ncontent:", content)
  • 作用:从模型输出中提取“思考内容”和“最终回答”。

运行与结果展示

完成上述步骤后,运行代码即可看到模型的输出结果。例如:

thinking content: 大语言模型是一种基于深度学习的自然语言处理技术,能够生成连贯的文本。

content: 大语言模型(LLM)是一种基于Transformer架构的深度学习模型,能够理解和生成人类语言。它们通过海量数据训练,广泛应用于对话系统、文本生成等领域。

常见问题(FAQ)与解决方案

1. 模型加载失败

  • 问题:提示Unable to load model
  • 解决方案:检查模型路径是否正确,并确保权重文件完整。

2. 显存不足

  • 问题:运行时提示显存不足。
  • 解决方案:尝试减少max_new_tokens的值,或使用更低精度的数据类型(如torch.float16)。

3. 依赖版本冲突

  • 问题:提示库版本不兼容。
  • 解决方案:使用pip install --upgrade升级相关库。

希望这篇教程能帮助你顺利完成pangu-pro-moe-model的本地部署与首次推理!如果有其他问题,欢迎查阅官方文档或社区支持。

【免费下载链接】openPangu-Pro-MoE-72B-model openPangu-Pro-MoE (72B-A16B):昇腾原生的分组混合专家模型 【免费下载链接】openPangu-Pro-MoE-72B-model 项目地址: https://gitcode.com/ascend-tribe/pangu-pro-moe-model

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值