首页 > 其他分享 >MindIE+MindFormers推理方案指导

MindIE+MindFormers推理方案指导

时间:2025-01-16 20:43:51浏览次数:1  
标签:mindie 72b AI 模型 qwen1 MindIE MindFormers 推理

目录

组件介绍

CANN

CANN是什么

异构计算架构CANN(Compute Architecture for Neural Networks)是昇腾针对AI场景推出的异构计算架构,向上支持多种AI框架,包括MindSpore、PyTorch、TensorFlow等,向下服务AI处理器与编程,发挥承上启下的关键作用,是提升昇腾AI处理器计算效率的关键平台。同时针对多样化应用场景,提供多层次编程接口,支持用户快速构建基于昇腾平台的AI应用和业务。

总体架构
image

MindIE

MindIE是什么

MindIE(Mind Inference Engine,昇腾推理引擎)是华为昇腾针对AI全场景业务的推理加速套件。通过分层开放AI能力,支撑用户多样化的AI业务需求,使能百模千态,释放昇腾硬件设备算力。向上支持多种主流AI框架,向下对接不同类型昇腾AI处理器,提供多层次编程接口,帮助用户快速构建基于昇腾平台的推理业务。

总体架构
image

MindFormers

MindFormers是什么

MindSpore Transformers套件的目标是构建一个大模型训练、微调、评估、推理、部署的全流程开发套件,提供业内主流的Transformer类预训练模型和SOTA下游任务应用,涵盖丰富的并行特性。期望帮助用户轻松的实现大模型训练和创新研发。

总体架构

版本配套与安装指导

版本配套关系

MindIE MindFormers MindSpore CANN 固件与驱动 镜像链接
1.0.RC3 1.3.0 2.4.0 8.0.RC3.beta1 24.1.RC3 link
1.0.RC2 1.2.0 2.3.0 8.0.RC2.beta1 24.1.RC2 link

安装指导

  • MindIE安装指南(包括了固件与驱动、CANN、MindIE、pytorch等基础依赖的安装):1.0.RC3安装1.0.RC2安装
  • MindFormers安装指南(包括了MindFormers、MindSpore的安装):link

使用指导

参考指导:link

  • 环境搭建
    1)参考上面的安装指导完成软件安装
    2)环境变量设置
    # Ascend
    source /usr/local/Ascend/ascend-toolkit/set_env.sh
    # MindIE
    source /usr/local/Ascend/mindie/latest/mindie-llm/set_env.sh
    source /usr/local/Ascend/mindie/latest/mindie-service/set_env.sh
    # MindSpore
    export LCAL_IF_PORT=8129
    # 组网配置
    export MS_SCHED_HOST=127.0.0.1     # scheduler节点ip地址
    export MS_SCHED_PORT=8090          # scheduler节点服务端口
    
    
  • 权重转换
    参考指导:link

以Qwen1.5-72B为例

# 以1.3.0版本为例

# 1.拉取MindFormers代码仓
git clone -b r1.3.0 https://gitee.com/mindspore/mindformers.git

# 2.执行权重转换
cd mindformers
# 以Qwen1.5-72B为例, input_path: 指的是从HuggingFace下载的权重目录;output_path: 转换成ms权重的存放路径
python convert_weight.py --model qwen --input_path /data/models/qwen1.5-72B/ --output_path /home/user/ms_weights/qwen1_5_72b/qwen1_5_72B.ckpt

转换后的模型权重目录结构如下:

mf_model
 └── qwen1_5_72b
        ├── config.json                 # 模型json配置文件
        ├── vocab.json                  # 模型vocab文件,hf上对应模型下载
        ├── merges.txt                  # 模型merges文件,hf上对应模型下载
        ├── predict_qwen1_5_72b.yaml    # 模型yaml配置文件, 从mindformers仓中research目录下找到
        ├── qwen1_5_tokenizer.py        # 模型tokenizer文件,从mindformers仓中research目录下找到对应模型复制
        └── qwen1_5_72b_ckpt_dir        # 模型分布式权重文件夹或单个权重文件

predict_qwen1_5_72b.yaml获取:mindformers/research/qwen1_5/predict_qwen1_5_72b.yaml
qwen1_5_tokenizer.py获取:mindformers/research/qwen1_5/qwen1_5_tokenizer.py

predict_qwen1_5_72b.yaml需要关注以下配置, 注释的地方根据实际情况修改:

load_checkpoint: '/mf_model/qwen1_5_72b/qwen1_5_72b_ckpt_dir' # 为存放模型分布式权重文件夹路径
use_parallel: True
auto_trans_ckpt: False    # 是否开启自动权重转换,离线切分设置为False
parallel_config:
  data_parallel: 1
  model_parallel: 4       # 多卡推理配置模型切分,一般与使用卡数一致
  pipeline_parallel: 1
processor:
  tokenizer:
    vocab_file: "/mf_model/qwen1_5_72b/vocab.json"  # vocab文件路径
    merges_file: "/mf_model/qwen1_5_72b/merges.txt"  # merges文件路径

  • 推理服务化部署

    1. 修改MindIE Service配置文件
    # 1.打开mindie service配置文件
    vim /usr/local/Ascend/mindie/1.0.RC3/mindie-service/conf/config.json
    # 2.修改backendType、modelWeightPath配置项
    "backendType": "ms"
    "modelWeightPath": "/mf_model/qwen1_5_72b"
    
    1. 启动服务
    cd /usr/local/Ascend/mindie/1.0.RC3/mindie-service
    nohup ./bin/mindieservice_daemon > output.log 2>&1 &
    tail -f output.log
    
    # 打印如下信息,启动成功
    Daemon start success!
    
  • 请求测试
    服务启动成功后,可使用curl命令发送请求验证,样例如下:

curl -w "\ntime_total=%{time_total}\n" -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"inputs": "I love Beijing, because","stream": false}' http://127.0.0.1:1025/generate

返回推理结果验证成功:

{"generated_text":" it is a city with a long history and rich culture....."}

标签:mindie,72b,AI,模型,qwen1,MindIE,MindFormers,推理
From: https://www.cnblogs.com/beolus/p/18675728

相关文章

  • onnxruntime-gpu 进行推理,限制GPU显存大小
    1.显存问题使用onnxruntime-gpu进行推理,运行时间久了,显存被拉爆2.C++/Python配置运行时,配置provder,gpu_mem_limit参数来进行限制,比如2G显存21474836482*1024*1024*1024Pythonproviders=[      (        "TensorrtEx......
  • OpenAI的AI推理模型有时会“用中文思考”,但没人能说清原因
      每周跟踪AI热点新闻动向和震撼发展想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行!订阅:https://......
  • Nvlink对大模型推理的速度有多大提升?
    来自:https://www.zhihu.com/question/654832546/answer/71647384740先放结论,NVlink对推理速度的提升非常大,非常非常大!这可能和高赞答案的结论不一样,且听我娓娓道来:D最近在分析RTX4090 上用FP8tensorcore跑70B模型的性能瓶颈,发现大模型推理过程中,很多时候通信是非......
  • 用 Python 从零开始创建神经网络(二十二):预测(Prediction)/推理(Inference)(完结)
    预测(Prediction)/推理(Inference)(完结)引言完整代码:引言虽然我们经常将大部分时间花在训练和测试模型上,但我们这样做的核心原因是希望有一个能够接受新输入并生成期望输出的模型。这通常需要多次尝试训练最优模型,保存该模型,并加载已保存的模型进行推断或预测。以Fashion......
  • 为AI聊天工具添加一个知识系统 之37 推理引擎:逻辑和诗歌
    本文要点今天讨论的题目是“推理引擎:逻辑和诗歌”。---为本项目(为AI聊天工具增加一个知识系统(作为外挂))制造一个恰当的推理引擎构思灵感--类比推理和形式推理的范式化融合(disciplines--语篇主题topic的组织纪律性 ,即一个topic本身问题描述的准确性、完备性和全面性制......
  • 京东广告生成式召回基于 NVIDIA TensorRT-LLM 的推理加速实践
    作者:京东零售陈航0000生成式推荐系统优势介绍推荐系统的主要任务是根据用户的历史行为预测其兴趣点,并向其推荐相应的商品。传统的推荐系统在处理用户请求时,会触发多个召回模块(包括热门商品召回、个性化召回、深度召回等),以召回大量候选商品。随后,系统通过相对简单的粗排模型对......
  • 【AI论文】在大语言模型中迈向系统2推理:学习如何运用元思维链进行思考
    这篇论文探讨了大型语言模型(LLMs)在处理复杂推理任务时的局限性,并提出了一种名为元思维链(Meta-CoT)的新框架来解决这些缺点(大概就是授大模型以鱼不如授大模型以渔的意思)。Meta-CoT通过明确地模拟到达特定思维链所需的潜在推理过程,扩展了传统的思维链(CoT)方法。HuggingFace链接:Pap......
  • 使用Arthur Callback Handler监控和记录Chat LLM推理
    在现代AI开发中,监控和记录模型的推理过程是保证模型性能和行为一致性的关键步骤。本文将介绍如何利用Arthur平台的回调处理程序(ArthurCallbackHandler)来自动记录已注册的聊天语言模型(LLM)推理。技术背景介绍Arthur是一个专注于模型监控和可观测性的强大平台。它帮助......
  • 大模型常识推理:提示词构建现实世界知识
    引言与背景在当今时代,人工智能(AI)技术的迅猛发展引起了全球的关注。大模型,作为人工智能领域的一个关键突破,已经成为推动科技进步的重要力量。大模型,通常指的是那些拥有千亿甚至万亿参数量的深度学习模型,它们在图像识别、自然语言处理、语音识别等领域展现了卓越的表现。然而......
  • YOLOv11全网最新创新点改进系列:“将Lion自动优化与YOLOv11完美结合,智能优化算法驱动,赋
    YOLOv11全网最新创新点改进系列:“将Lion自动优化与YOLOv11完美结合,智能优化算法驱动,赋能精准检测与高效推理,让您的应用在复杂场景下表现更卓越!”视频讲解戳这里,文档可以不看,视频内容一定要看,干货满满!祝大家少走弯路!!!所有改进代码均经过实验测试跑通!截止发稿时YOLOv11已改进......