阅读和思考
人工智能在各种实际场景中都有相关应用。 例如,以卷积网络为核心的图像检测和视频检索技术可应用于下游安防、医疗诊断、自动驾驶等场景; 基于强化学习的博弈决策技术可应用于交通规划等领域; 以 Transformer 为核心的自然语言处理技术可以应用于搜索推荐、智能人机界面等场景。
郑为民 中国工程院院士
人工智能计算基础设施的重要性
当前,人工智能(AI)是中美科技竞争的重要领域。 2020年4月,国家发改委明确将人工智能纳入新基建范围,人工智能就是新基建之一。 2019年2月,美国发布《关于维持美国人工智能领导地位的执行令》(Execution Order On Maintenance American Leadership in Artificial Intelligence)。 这一命令堪称美国国家人工智能战略的里程碑。 2020年10月,美国国家人工智能安全委员会表示:“不惜一切代价,必须在人工智能领域击败中国”。 可见,人工智能对于中美未来综合国力竞争非常重要。 此外,中美两国在人工智能领域也各有优势。 从人工智能技术三驾马车:算法、数据、算力来看人工智能的算力是什么意思,中国在大数据领域处于优势地位,但在算法和智能算力领域,中国落后于美国。 智能计算能力的缺失严重制约了我国在人工智能领域的创新能力。 可见,智能AI算力在中美科技竞争中占据着非常重要的战略地位。
那么,为什么AI算力如此重要呢? 除了前面提到的中美竞争的整体背景之外,AI算力对于我国的经济建设和科技建设都具有非常积极的意义。
首先,算力就是生产力,算力可以推动经济发展方式的变革。 据埃森哲和Economics Frontier分析,预计到2035年,人工智能将带动我国GDP增长21%,可见算力将成为智能经济的引擎。
其次,人工智能算力正在改变基础科学和智能领域的创新模式。 例如,AlphaFold2解决了结构生物学中50年的难题,AI+HPC将高能物理计算加速数百倍。
人工智能在各种实际场景中都有相关应用。 例如,以卷积网络为核心的图像检测和视频检索技术可应用于下游安防、医疗诊断、自动驾驶等场景; 基于强化学习的博弈决策技术可应用于交通规划等领域; 以 Transformer 作为核心自然语言处理技术,可应用于搜索推荐、智能人机界面等场景。 在最典型的自然语言处理模型中,如GPT-1、GPT-2、GPT-3,BERT发展非常迅速,模型规模从亿级到千亿级到万亿级参数。 以上技术都需要AI算力提供支持。
综上所述,人工智能算力影响着我们社会的方方面面。 因此,构建AI算力基础设施非常重要。
AI计算基础设施的架构与平衡设计
AI的算力非常重要。 设计AI算力基础设施架构是提升AI算力的第一步。
现有的算力系统,如超级计算系统,主要针对HPC应用,但AI和HPC之间存在一些差异。 例如,HPC主要用于科学和工程计算,如天气预报、核聚变模拟、飞机设计等,而AI主要用于分类、回归和自然语言处理。 下游任务主要是安全、互联网搜索推荐、金融风控、智能制造; 从计算精度来看,HPC主要是双精度浮点运算,而AI主要是半精度浮点运算或低精度整数运算; 从编程的角度来看,HPC主要是基于MPI进行并行计算。 AI基于Pytorch、TensorFlow、MindSpore、Oneflow、DeepSpeed等机器学习框架; HPC的性能指标主要是HPL和HPCG,而AI的性能指标主要是MLPerf和AIPerf。 传统的超级计算系统对人工智能系统的支持较差。 因此卡通人物,需要根据人工智能的特点设计新的超级计算系统。 目前具有代表性的高性能计算和人工智能系统主要有:天河二号、神威·太湖之光、峰会、富岳、前沿、鹏城云脑二号等。
其中,鹏城云脑2号是新一代AI HPC系统。 该系统包括4套华为Atlas900系统,4套系统的节点通过200Gbps网络互连。 鹏城云脑总的半精度计算性能可以达到1E flops,双精度可以达到1P flops。 那么,设计AI系统的系统结构要素有哪些呢? 我们先来看看在一般的大型计算机系统中是什么样子的。 一般来说,大型计算机系统包括四个部分,即处理器、存储器、存储器和互联网。
具体来说,AI计算系统与传统HPC系统在各个要素上存在一定的联系和差异。
在处理器上,AI计算系统注重半精度计算性能,面向神经网络运算的优化(如nVidia GPU的TensorCore); HPC系统优先考虑双精度性能并兼顾低精度计算。 更大规模的机器甚至需要使用80位或128位高精度。
在互联网上,AI计算系统需要高性能参数扁平网络(如nvlink)连接训练单一模型的加速器组(nVidia 8或16卡、华为4096卡); HPC系统一般从系统范围的角度考虑网络拓扑和通信的需要。
存储系统上,AI计算系统的本地高性能存储(NVMe SSD)存储训练数据集(如GPT-345TB),避免从全局文件系统读取数据带来的瓶颈; HPC系统一般使用Lustre等全局并行文件系统。 支持MPI-IO。
基于以上分析,在设计新的人工智能系统时,必须注意系统平衡的原则。
计算平衡设计
鹏城云脑2号最初的设计主要考虑半精度计算性能,但双精度计算能力太低。 双精度与半精度计算性能之比为1:1000。
根据科学计算和大模型训练的发展趋势,需要改变精密平衡设计的思路表情包设计,建议增加通用算力人工智能的算力是什么意思,为云大脑适应科学计算和人工智能提供保障。更广泛的人工智能算法和应用。
网络平衡设计
鹏城云脑2号最初的网络设计主要针对CNN等算法,没有考虑超大规模预训练模型的系统需求; 原始数据平面网络的顶层网络裁剪比例为1:4,训练数据读取和大规模科学计算支持不足; 建议将数据平面的顶层网络切割比例提高到1:1。 华为相应修改了网络连接方式,增加了顶级交换机,为多次在IO500测试中排名全球第一奠定了基础。
IO子系统平衡设计
鹏城云脑2原系统的本地NVME SSD只能通过本地文件系统访问,限制了其应用范围; 每个服务器上的快速本地NVME应该集成到应用程序可见的全局分布式文件系统中,并且应该发展高速开发。 性能MADFS并行文件系统在多项IO500测试中均排名全球第一。 现在,越来越多的城市开始建设人工智能计算中心,让算力无处不在、触手可及!
AI算力评估方法
前面介绍了AI算力基础设施的设计。 此外,AI算力(AI Perf)的评估也非常重要。
为什么需要AI算力评估?
首先,公众需要一个评价指标来回答:哪个系统的人工智能算力更强?
其次我们要知道,整个领域的发展怎么样? 显然,一个好的指标可以带动该领域的健康发展。 然而,传统高性能计算机的测试结果与人工智能所需的性能并不完全一致。
前面提到,HPC和AI使用的数据精度是不同的,需要为AI设计一个基准评估程序。 现有的AI基准评测面临以下问题:DeepBench测试底层人工智能芯片的计算效率,无法反映超大规模系统的性能。 针对单芯片,不适合整机评估; Mobile AI Bench 针对的是移动硬件。 模型训练和评估无法反映超级计算机在大规模人工智能应用中的性能; MLPerf采用单一的人工智能网络模型,在超过百张加速卡的规模测试下,可扩展性大幅下降,难以支持1000张卡及以上级别的系统评估。
为了克服人工智能基准测试的问题,需要实现以下四个目标。
1、统一评分。 AIPerf需要能够报告统一的分数作为正在评估的集群系统的评估指标。 AIPerf当前的评估指标是AIops,即每秒处理的混合精度AI操作的平均数量。 使用一个分数而不是多个分数有利于不同机器的并排比较,并有利于与公众的沟通。
2. 问题大小可变。 人工智能计算集群往往具有不同的系统规模,其差异体现在节点数量、加速器数量、加速器类型、内存大小等指标上。 因此,为了适应各种规模的高性能计算集群,AIPerf可以利用AutoML改变问题规模来适应集群规模的变化,从而充分利用人工智能计算集群的计算资源,体现其计算能力。
3、具有人工智能实用意义。 神经网络运算等具有人工智能意义的计算,是人工智能基准测试程序与传统高性能计算机基准测试程序的重要区别,也是能否检测集群人工智能算力的核心。
目前,AIPerf 在 ImageNet 数据集上训练神经网络来运行计算机视觉应用程序。 未来,AIPerf计划将自然语言处理等其他人工智能任务纳入评估范围。
4、评估程序包含必要的多机通讯。 网络通信是人工智能计算集群设计中的主要指标之一,也是其巨大计算能力的重要组成部分。 AIPerf作为高性能计算集群的人工智能基准测试程序,包含了必要的多机通信,如任务分发、结果收集和多机训练,从而将网络通信性能视为影响最终性能的因素之一。
为了实现上述目标,需要设计一套完整的AIPerf机制。 目前AIPerf的主要流程分为5步:
1、主节点持续分配计算任务(包括历史信息);
2、计算节点根据历史信息生成新的神经网络训练模型;
3、计算节点调用后端深度学习框架(MindSpore、Keras、Tensorflow)训练神经网络;
4、新模型训练完成后,工作节点返回新模型及其准确率; 主节点更新历史信息;
5. 计算任务异步执行。
由深圳鹏程实验室研发、基于ARM架构和华为加速处理器的鹏城云大脑2以194,527 Tops的AIPerf算力位居榜首。 其性能是排名第二的联泰集群Nvidia系统的12倍以上。
万亿参数的超大型预训练模型的训练
目前,学术界有一个共识:模型规模与模型效果之间存在正相关关系。 模型参数达到千亿级的大型模型在美国SAT考试中已经能够达到60%左右的准确率。
现有的大型语言模型已经达到了万亿甚至万亿的规模。 例如美国的GTP是11亿个参数(2018年),GTP2.0是15亿个参数(2019年),GTP3.0是1.75万亿个参数(2021年),GTP4.0是1.7万亿个参数。 国内八卦路是174万亿。 因此,探索参数量较大的模型效果具有重要的科学意义。 预训练模型计算结构的核心是Transformer模型。 模型的计算主要集中在:嵌入层(Embedding)、注意力层(Attention)、前馈网络(FFN)。
Transformer的计算核心是矩阵乘法,因此我们可以利用并行训练技术来加速训练。 随着模型规模扩大、训练数据增多,单机训练无法满足参数规模和数据吞吐量的需求,并行训练成为训练大型模型的“标配”。
例如,新一代国产神威高性能计算机拥有9.6万个节点、3744万个核心和互联网络。 神威采用新一代架构芯片神威26010pro,以及支持MPI通信的国产高速网络,满足大规模预训练模型的需求。
我们团队在国产E级高性能计算机上训练了170万亿参数的超大规模预训练模型。 模型参数与人脑中突触的数量相当。 在训练这个超大规模的预训练模型时,我们面临四个关键的系统挑战:第一,如何选择高效的并行策略; 第二,如何进行高效的数据存储; 第三,如何选择合适的数据精度; 第四,如何实现动态负载均衡。
挑战一:如何选择高效的并行策略
不同的并行策略有不同的通信要求和计算模式,如数据并行、模型并行、管道并行、MoE并行等。 不同的底层网络拓扑会对性能产生很大的影响。 如何选择合适的并行策略组合是一个非常大的挑战。
挑战二:如何进行高效的数据存储
以万亿参数的模型为例,如果模型精度为32位,则模型的参数为4T,模型的梯度也为4T,优化器的更新参数为8T,计算出的中间值也是8T。 如果使用 V100 来训练该模型并存储数据,则将需要 768 个 V100 块。 那么这些数据是如何划分的呢? 不同的划分方法也会对底层的计算和通信产生不同的影响,即高效存储相关数据以支持高效训练是非常具有挑战性的。
挑战三:如何选择合适的数据精度
选择合适的数据精度可以有效提高计算性能并减少内存占用。 精度选择越低,性能越好,但模型精度越差。 如何选择最优的混合精度策略是非常具有挑战性的。
挑战四:如何实现动态负载均衡
在MoE培训中,样本是通过网关选择合适的专家来计算的。 存在负载不平衡问题,影响计算性能。 受欢迎的专家将收到数百甚至数千倍的输入数据。
针对上述挑战,我们团队提出了相应的解决方案,以实现国产系统的高效并行训练——八卦路:百万级预训练模型系统。
在此基础上,我们团队还完善了神威高性能计算机的基础软件库:实现高效算子库; 改进swTensor以支持混合精度算子以优化深度学习框架; 深度优化swPyTorch、优化内存分配器等以支持复杂模型。 ; 实施分层混合精度策略,支持负载均衡方法。 我们团队训练的阿里巴巴图文数据集M6-Corpus总规模约2TB,涵盖科学、体育、政治、经济等多个方面。 同时,我们的工作也开源到相应的分布式系统FASTMOE中。
如何培养系统人才
算力很重要,能利用算力的人才也很重要。 那么,如何培养系统人才呢?
学好课程
两门了解计算机系统基本原理的基础课程。
一本是CMU(15-213):计算机系统概论教材,程序员的视角中文版,提供了对计算机系统的深入理解(其实只能算是简单的理解),介绍了诸如如程序表示、编译和链接、内存层次结构和内存分配。 ,里面的实验有很多精髓。
另一门课程是MIT(6.003):计算机系统工程教科书。 《计算机系统设计原理》介绍了计算机系统设计的复杂性、抽象化、模块化等基本原理。 主要侧重概念,实验比较简单。
两门构建操作系统和分布式系统模块的高级课程。
一个是MIT(6.828):操作系统工程学习一个类Unix代码(xv6)实验——搭建一个小型操作系统(JOS),包括启动、内存管理、用户环境、抢占式多任务、文件系统、网络驱动等。
另一种是MIT(6.824):Distributed SystemsRPC、分布式一致性协议(Raft/Paxos)、分布式事务、并发控制实验——实现MapReduce系统、分布式、容错的KV存储系统等。
阅读优秀的开源代码和相关论文
一是学习新的系统构建语言,如现代C++、Rust、Go、Scala等。
二是阅读优秀的开源代码,为一些开源项目贡献代码,重新发明一些轮子。
第三是阅读相关论文,确定感兴趣的方向,阅读相关论文(SOSP、OSDI、Usenix ATC、EuroSys、SoCC等)来确定要搭建的系统。
动手实例-系统竞赛
第一个是国际大学生超级计算竞赛,可以5到6人的团队参加任务。 设计和构建自己的计算集群(或使用云计算集群),测试和优化给定的应用程序,包括采访、海报、论文复制、口头演示等。以英语作为工作语言的三大竞赛:ASC、国际标准委员会,标准委员会。
二是“英特尔杯”全国并行应用挑战赛。
第三个是CCF CCSP大学生计算机系统与编程竞赛。 个人可以参加并通过CCF CSP能力认证入围任务。 算法题和系统题特点:12小时5题; 系统题的得分与参赛者程序的运行时间有关,表现最高者得满分。
参与科研项目
“MadFS分布式文件系统”、“千万核可扩展全球大气动力学全隐式模拟”、“非线性大地震模拟”、“神图”图计算框架等。
人工智能算力是当前人工智能领域发展的关键。 近年来,我们团队在AI算力基础设施的架构平衡设计、AI算力评估方法、万亿参数超大型预训练模型并行加速等方面做出了巨大贡献。 我国需要加快人工智能计算基础设施建设,加快系统人才培养。
结尾
- 本文固定链接: https://wen.nuanque.com/aigc/15481.html
- 转载请注明: nuanquewen 于 吉祥物设计/卡通ip设计/卡通人物设计/卡通形象设计/表情包设计 发表
- 文章或作品为作者独立观点不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。本文之内容为用户主动投稿和用户分享产生,如发现内容涉嫌抄袭侵权,请联系在线客服举报,一经查实,本站将立刻删除。本站转载之内容为资源共享、学习交流之目的,请勿使用于商业用途。