训练千亿参数模型的法宝,昇腾CANN异构计算架构来了~
摘要:盘古的训练以「昇腾AI处理器」为基座,同时借助了「CANN 异构计算架构」,让硬件算力得以充分释放,大大缩短了训练时间!
2021年4月,“华为云盘古大模型”一炮走红AI人工智能领域。
如果你问:明明明明明白白白喜欢他,但他就是不说,白白喜欢谁?
你的同伴可能还要犹豫3秒钟,而盘古却能轻松地回答出:明明!
诸如此类的「中文同词不同义」的快速语义识别也仅仅是它的雕虫小技而已。
领先的语言理解和模型生成能力,这个大网红瞬间被贴上了“最接近人类中文理解能力”、“全球最大中文语言(NLP)预训练模型”各类标签。
标签不是白帖的,在AI领域,大智慧就意味着大模型,他背后的“千亿参数”、“TB 级内存模型”绝对是他成功的法宝!
模型大,意味着数据也大,你想到如何训练出这样大的模型了么?
盘古的训练以「昇腾AI处理器」为基座,同时借助了「CANN 异构计算架构」,让硬件算力得以充分释放,大大缩短了训练时间!
什么是CANN?
以提升用户开发效率和释放昇腾AI处理器极致算力为目标,昇腾CANN(Compute Architecture for Neural Networks)是华为针对AI场景推出的异构计算架构。它对上支持业界主流前端框架,向下对用户屏蔽系列化芯片的硬件差异,以丰富的软件栈功能满足用户全场景的人工智能应用诉求。

当前CANN已经发布到3.0的版本,统一编程架构,同时支持推理+训练的端、边、云全量场景,实现三大使能。
使能全场景:通过支持业界主流AI框架,支持14+种主流操作系统,实现一次开发,全场景各种硬件形态和运行环境的灵活部署。
使能极简开发:通过统一编程接口AscendCL(Ascend Computing Language),为开发者屏蔽底层处理器的差异,支持开发者只需要掌握一套API,就可以全面应用于昇腾全系列芯片+推理、训练全场景。
使能极致性能:通过软硬协同优化,亲和昇腾的图编译技术,以及超过1200个高性能算子,来释放昇腾芯片的澎湃算力。

CANN的开放能力:
CANN为开发者提供算子开发、模型开发、应用开发的全流程开发体验,可覆盖全场景应用。
- 算子开发
- DSL语言开发接口:提供了一套基于内存的开发接口,处理器上的指令映射和调度是自动实现的。开发者仅需要关注算子的数学逻辑计算,不需要了解硬件细节,即可开发出高性能的算子。根据统计可以满足60%以上算子开发需求。
- TIK语言开发接口:提供了一套比较完备的基于处理器内部Buffer可见的编程语言,开发者可以自行决定搬进搬出数据量的大小,从而充分发挥芯片的能力,提升开发算子的性能。
- 模型开发
- 支持多种模型开发框架MindSpore,TensorFlow, PyTorch, ONNX 等
- 支持通过标准化的Ascend IR(Intermediate Representation)接口隔离上层框架差异,进行直接构图和模型开发
- 应用开发
- 提供一套标准的AscendCL编程接口,提升用户APP编程效率
CANN的硬核技术:
- 高性能算子库:支持包括TensorFlow、Pytorch、Mindspore、Onnx框架在内1200+算子,开发者直接基于内置算子即可开发模型。
- 自动融合技术: 支持基于算子、子图、SCOPE多维度的自动融合,支持动态DSL融合,可有效减少计算节点,缩短计算时间,让昇腾AI处理器瞬间加速。

- 异构部署调度框架:充分利用昇腾芯片的异构执行单元,将不同的计算任务分配给最合适的计算引擎,高效协同异步流水,提升计算任务整体效率。
- 高效的内存生命周期管理算法:兼顾内存的充分复用以及数据交换的效能,实现资源与效率的均衡。
- 预置的业界主流模型库:华为昇腾Model Zoo提供100+主流模型的代码以及相应的调优参数example,为开发者提供货架式的参考实现,详细信息参见:https://www.hiascend.com/software/modelzoo
- 高性能的图下沉执行框架:将所有计算下沉到芯片,减少Host CPU与芯片之间的交互时间,实现高性能的训练和推理。
- 高性能动态图调度:支持基于异步流水的单算子执行框架,支持灵活的H2D、D2H交互,解决PyTorch等框架下动态图模式的高性能运行问题。
- 业界领先的智能调优:支持基于强化学习、遗传算法、CostModel等多种智能调优算法,提供算子级或者图级调优选择,为用户提供自动的极致性能调优体验。
CANN的5.0版本会给你带来更多想象,了解更多信息,请访问昇腾社区。
训练千亿参数模型的法宝,昇腾CANN异构计算架构来了~的更多相关文章
- 千亿参数开源大模型 BLOOM 背后的技术
假设你现在有了数据,也搞到了预算,一切就绪,准备开始训练一个大模型,一显身手了,"一朝看尽长安花"似乎近在眼前 -- 且慢!训练可不仅仅像这两个字的发音那么简单,看看 BLOOM ...
- DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍
DeepSpeed Chat: 一键式RLHF训练,让你的类ChatGPT千亿大模型提速省钱15倍 1. 概述 近日来,ChatGPT及类似模型引发了人工智能(AI)领域的一场风潮. 这场风潮对数字世 ...
- 横瓜先生如何用MDB和XLS等低性能数据库来处理千亿级数据量。
横瓜先生如何用MDB和XLS等低性能数据库来处理千亿级数据量. 横瓜先生曾经用ACCESS做数据库,开发出高性能CMS来处理过TB级的文本数据量,任何请求都可以在10MS内完成,基本就是硬盘延迟的时间 ...
- 闲聊 “今日头条Go建千亿级微服务的实践”
背景 今天跟同事偶然看到<今日头条Go建千亿级微服务的实践>文章,故做了一些探讨,与大家分享下,也欢迎大家多多共同探讨!. 其他资料: 如何理解 Golang 中“不 ...
- K2签约龙光地产,为集团实现“千亿目标”保驾护航
随着房地产行业步入成熟期,行业整合及转型速度变快,房企要在数字经济的背景下实现稳步发展,企业信息化建设是其中的重要一环.此次龙光地产选择与K2携手,用统一流程平台为集团保驾护航,向实现千亿目标迈进. ...
- TOP100summit 2017:投资千亿成立达摩院,揭秘阿里在人工智能领域的探索
今天上午,阿里巴巴云栖大会在杭州开幕,第一条重磅消息是阿里首席技术官张建锋宣布成立达摩院,在全球各地建立实验室,3年内投入千亿在全球建立实验室.和高校建立研究所.建立全球研究中心等事务. 该院由全球实 ...
- 千亿级SaaS市场:企业级服务的必争之地
2015年企业级服务融资案例数量飙升,大额融资频现.不少企业纷纷涉足企业级服务市场,其中,以IM为主打的阿里钉钉,以企业CRM为主的纷享逍客高调进入人们的视野,以产品管理为核心.集成多种工具服务的iC ...
- 微博轻量级RPC框架Motan正式开源:支撑千亿调用
支撑微博千亿调用的轻量级 RPC 框架 Motan 正式开源了,项目地址为https://github.com/weibocom/motan. 微博轻量级RPC框架Motan正式开源 Motan 是微 ...
- 今日头条Go建千亿级微服务的实践
今日头条Go建千亿级微服务的实践_36氪 http://36kr.com/p/5073181.html
- 雅虎日本如何用 Pulsar 构建日均千亿的消息平台
雅虎日本是一家雅虎和软银合资的日本互联网公司,是日本最受欢迎的门户网站之一.雅虎日本的互联网服务在日本市场占主导地位. 下图从三个维度显示了雅虎日本的经营规模.第一个是服务数量,雅虎日本提供上百种互联 ...
随机推荐
- SQL基础应用
SQL基础应用 更多详细内容请查阅:https://www.jianshu.com/p/08c4b78402ff 1.SQL介绍 结构化查询语言 5.7 以后符合SQL92严格模式 通过sql_mod ...
- Docker磁盘&内存&CPU资源实战
Docker 资源实战:cpu/内存配置: #查看帮助 docker run --help docker update --help #配置容器使用cpu /内存大小--privileged 给与容器 ...
- 当我们输入 kubectl run 时都发生了什么?
为了确保整体的简单性和易上手,Kubernetes 通过一些简单的抽象隐去操作背后的复杂逻辑,但作为一名有梦想的工程师,掌握其背后的真正思路是十分有必要的.本文以 Kubectl 创建 Pod 为例, ...
- html-0
选择器 (一):first-child和:first-of-type :first-child第一个元素 <!DOCTYPE html> <html> <head> ...
- IT运营与DevOps:有何不同?
IT 运营和 DevOps 满足许多现代企业密切相关的需求.然而,尽管这两种角色之间有许多相似之处,但也有重要的区别,将 IT 运营与 DevOps 混为一谈是错误的. 本文通过解释每种类型的角色是做 ...
- 又拍云+PicGo搭建图床教程
具体搭建方法 https://blog.csdn.net/qq_41684621/article/details/114068076 这里有个细节 注意这里一定要加上 http:// 否则在自动生成 ...
- Cadence SPB 22.1 -- 原理图的电器元件放置03Day
1.新增原理图:"SCHEMATIC"-->"New Page" 2.元器件放置 ①.添加原理图库 ②.放置元器件 选择对应元件库,再选择需要放置的元件, ...
- MAUI Blazor 如何通过url使用本地文件
前言 上一篇文章 MAUI Blazor 显示本地图片的新思路 中, 提出了通过webview拦截,从而在前端中显示本地图片的思路.不过当时还不完善,随后也发现了很多问题.比如, 不同平台上的url不 ...
- 【Android】学习day05|RadioButton
注意事项:当使用默认选中标签:check时,必须要给标签加id,否则失效. 这个没什么,挺简单的,就记录一下代码[监听事件] package com.example.app02; import and ...
- Mock基础知识
使用的框架:moco框架下载地址:https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/1.1.0/ 启动方式:java -j ...