昇腾AI全栈框架深度介绍
2、解锁视觉区:MetaAI图像分割基础模型SAM
3、Meta推出SAM模型,机器视觉里程碑
1. 昇腾AI全栈架构
1.1 昇腾AI全栈的四个大部分
应用使能层面,此层面通常包含用于部署模型的软硬件,例如API、SDK、部署平台,模型库等等。 AI框架层面,此层面包含用于构建模型的训练框架,例如华为的MindSpore、TensorFlow、Pytorch等。 异构计算架构,偏底层、偏通用的计算框架,用于针对上层AI框架的调用进行加速,力求向上支持多种AI框架,并在硬件上进行加速。 计算硬件,本层是AI计算的底座,有了强力的芯片及硬件设备,上层的加速才有实施的基础。
2. 异构计算架构 CANN
2.1 CANN 抽象的五层架构
昇腾计算语言(Ascend Computing Language,AscendCL)接口是昇腾计算开放编程框架,是对低层昇腾计算服务接口的封装。它提供Device(设备)管理、Context(上下文)管理、Stream(流)管理、内存管理、模型加载与执行、算子加载与执行、媒体数据处理、Graph(图)管理等API库,供用户开发人工智能应用调用。
本层主要提供昇腾计算库,例如神经网络(Neural Network,NN)库、线性代数计算库(Basic Linear Algebra Subprograms,BLAS)等;昇腾计算调优引擎库,例如算子调优、子图调优、梯度调优、模型压缩以及AI框架适配器。
本层主要提供图编译器(Graph Compiler)和TBE(Tensor Boost Engine)算子开发支持。前者将用户输入中间表达(Intermediate Representation,IR)的计算图编译成NPU运行的模型。后者提供用户开发自定义算子所需的工具。
本层负责模型和算子的执行,提供如运行时(Runtime)库(执行内存分配、模型管理、数据收发等)、图执行器(Graph Executor)、数字视觉预处理(Digital Vision Pre-Processing,DVPP)、人工智能预处理(Artificial Intelligence Pre-Processing,AIPP)、华为集合通信库(Huawei Collective Communication Library,HCCL)等功能单元。
本层主要为其上各层提供基础服务,如共享虚拟内存(Shared Virtual Memory,SVM)、设备虚拟化(Virtual Machine,VM)、主机-设备通信(Host Device Communication,HDC)等。
2.2 CANN 的三层逻辑架构
1. 应用层
基于 AscendCL 提供的 API 构建推理应用
包括 TensorFlow、Caffe、MindSpore 以及第三方框架
实现对模型进行量化,加速模型
基于 MindSpore 自动学习工具,根据昇腾芯片特点进行搜索生成亲和性网络,充分发挥昇腾性能
基于 AscendCL 构建的加速库(当前支持 Blas 加速库)
提供给开发者的集成开发环境和调试工具,可以通过MindStudio进行离线模型转换、离线推理算法应用开发调试、算法调试、自定义算子开发和调试、日志查看、性能调优、系统故障查看等
2. 芯片使能层
开放编程框架,提供 Device/Context/Stream/ 内存等的管理、模型及算子的加载与执行、媒体数据处理、Graph 管理等 API 库,供用户开发深度神经网络应用。
统一的 IR 接口对接不同前端,支持 TensorFlow/Caffe/MindSpore 表达的计算图的解析/优化/编译,提供对后端计算引擎最优化部署能力
Graph Engine:图编译和运行的控制中心 Fusion Engine:管理算子融合规则 AICPU Engine:AICPU 算子信息管理 HCCL:HCCL 算子信息管理
TBE:编译生成算子及算子开发工具 算子库:神经网络加速库
实现视频编解码(VENC/VDEC)、JPEG 编解码(JPEG/E)、PNG 解码(PNGD)、VPC(预处理)
Runtime:为神经网络的任务分配提供资源管理通道 Task Scheduler:计算图 Task 序列的管理和调度、执行
3. 计算资源层
AI Core:执行 NN 类算子 AI CPU:执行 CPU 算子 DVPP:视频/图像编解码、预处理
PCIe:芯片间或芯片与 CPU 间高速互联 HCCS:实现芯片间缓存一致性功能 RoCE:实现芯片内存 RDMA 功能
3. 昇腾计算语言接口 AscendCL
3.1 AscendCL 简介
3.2 AscendCL 的优势
3.3 AscendCL 的主要应用场景
3.4 AscendCL 的分层能力开放
子能力开放、Runtime 能力开放、Driver 能力开放等。
模型加载能力开放:处理om模型加载,但接口的开放是通过AscendCL。 算子能力开放:算子能力实现在CANN中,但算子能力开放是通过AscendCL。 Runtime 能力开放:处理基于stream的设备能力、内存、event等资源能力开发诉求,对app屏蔽底层实现。
2、从千亿模型到ChatGPT的一点思考(2023)
或者获取全店资料打包,后续免费获取全店所有新增和更新。
转载申明:转载本号文章请注明作者和来源,本号发布文章若存在版权等问题,请留言联系处理,谢谢。
推荐阅读
全店内容持续更新,现下单“架构师技术全店资料打包汇总(全)”,后续可享全店内容更新“免费”赠阅,价格仅收198元(原总价350元)。
温馨提示:
扫描二维码关注公众号,点击阅读原文链接获取“IT技术全店资料打包汇总(全)”电子书资料详情。
微信扫码关注该文公众号作者
戳这里提交新闻线索和高质量文章给我们。
来源: qq
点击查看作者最近其他文章