
- 系统化学习:从AI历史到系统架构,构建对AI系统的层次化认知,避免碎片化理解。
- 掌握硬件原理:深入剖析CPU、GPU、TPU、NPU等AI芯片的体系结构与计算原理。
- 理解编译技术:学习传统编译器与AI编译器的前端优化和后端优化技术,提升算子性能。
- 熟悉推理引擎:了解AI推理系统的架构、模型小型化和轻量化方法,掌握部署优化技巧。
- 贯通框架核心:理解AI框架的核心模块,为开发大模型应用打下基础。
- AI开发者:希望深入理解底层硬件和编译原理,优化模型性能的工程师。
- 芯片设计者:需要了解AI计算需求和架构趋势的硬件工程师。
- 研究生:计算机、电子工程等专业学生,作为系统学习的参考教材。
- 大模型从业者:从事大模型训练和部署,需要优化推理性能的技术人员。
- 按篇阅读:建议按硬件、编译、推理、框架四篇顺序阅读,建立系统思维。
- 重点突破:第4-6章和第9-11章是核心,需深入理解芯片架构和编译优化。
- 动手实验:结合CUDA或Ascend C编程实践,加深对计算架构的理解。
- 拓展阅读:对感兴趣的主题可查阅相关论文或官方文档,深化知识。
- 系统思维:形成对AI系统从硬件到应用的完整认知框架。
- 硬件知识:掌握主流AI芯片的架构原理和性能特点。
- 编译技能:理解AI编译器的优化技术,提升算子开发能力。
- 推理优化:学会模型小型化和轻量化方法,提高部署效率。
- 框架理解:深入认识AI框架核心模块,为开发复杂应用奠定基础。
📖 书籍简介
《AI系统:原理与架构》主要围绕AI系统的理论基础与技术基础知识展开,结合实例进行介绍,旨在让读者了解AI系统的来龙去脉,形成对AI系统的系统化与层次化的初步理解,掌握AI系统基本理论、技术、实际应用及研究方向,为后续从事具体的学习研究工作和项目开发工作奠定基础。
《AI系统:原理与架构》*先介绍AI的历史、现状与发展及AI系统的基本知识,后分为AI硬件与体系结构、AI编译与计算架构、AI推理系统与引擎、AI框架核心模块四篇进行详细介绍,涉及AI系统从底层原理到应用落地的全貌,反映了AI系统架构的前沿技术。
目录
第1章 AI系统概述/1
1.1 AI历史与现状/1
1.2 AI发展驱动力/11
1.3 AI系统架构介绍/19
1.4 AI系统与AI算法关系/27
**篇 AI硬件与体系结构
第2章 AI计算体系/37
2.1引言/37
2.2 AI计算模式/41
2.3关键设计指标/57
2.4核心计算之矩阵乘/63
2.5计算之比特位宽/67
第3章 AI芯片体系/72
3.1 CPU基础/72
3.2 CPU指令集架构/81
3.3 CPU计算本质/94
3.4 CPU计算时延/99
3.5 GPU基础/104
3.6 AI专用芯片基础/123
第4章 GPU—以英伟达为例/130
4.1 引言/130
4.2 Tensor Core基本原理/154
4.3 Tensor Core架构演进/160
4.4 Tensor Core深度剖析/171
4.5分布式通信/179
4.6 NVLink原理剖析 /186
4.7 NVSwitch深度解析/194
第5章 TPU—以谷歌为例/202
5.1 引言/202
5.2 谷歌TPU v1脉动阵列/212
5.3 谷歌TPU v2训练芯片/219
5.4 谷歌TPU v3 Pod服务器/228
5.5 谷歌TPU v4与光路交换/235
第6章 NPU—以昇腾为例/244
6.1 引言/244
6.2 昇腾AI处理器/251
6.3 昇腾AI核心单元/259
6.4 昇腾数据布局转换/273
第7章 AI芯片思考与展望/279
7.1 GPU架构与CUDA关系/279
7.2 从GPU对AI芯片思考/285
7.3 AI芯片发展方向/291
7.4 超异构计算/298
第二篇 AI编择与计算架构
第8章 传统编译器/311
8.1 引言/311
8.2传统编译器介绍/318
8.3 GCC基本介绍与特征/324
8.4 LLVM架构设计和原理/329
8.5 LLVM IR基本概念/334
8.6 LLVM IR细节详解/340
8.7 LLVM前端和优化层/345
8.8 LLVM后端代码生成/350
第9章 AI编译器/356
9.1 引言/356
9.2 AI编译器历史阶段/365
9.3 AI编译器基本架构/371
9.4 AI编译器挑战与思考/378
第10章 前端优化/388
10.1 引言/388
10.2 图算IR/389
10.3 算子融合/393
10.4 布局转换原理/400
10.5 内存分配算法/406
10.6 常量折叠原理/412
10.7 公共子表达式消除原理/415
10.8 死代码消除/417
10.9 代数简化/420
第11章 后端优化/425
11.1 弓1言/425
11.2 计算与调度/428
11.3 算子手工优化/434
11.4 算子循环优化/440
11.5 指令和存储优化/447
11.6 Auto-Tuning 原理/452
第12章 计算架构/454
12.1 芯片的编程体系/454
12.2 SIMD & SIMT与芯片架构/456
12.3 SIMD & SIMT与编程关系/465
12.4 CUDA计算结构/470
第13章 CANN&Ascend C计算架构/475
13.1 昇腾异构计算架构CANN/475
13.2 CANN与算子/482
13.3 算子开发编程语言Ascend C/485
13.4 Ascend C语法扩展/492
13.5 Ascend C编程范式以向量为例/500
第三篇 AI推理系统与引擎
第14章 推理系统/511
14.1 引言/511
14.2 推理系统介绍/515
14.3 推理流程全景/523
14.4 推理系统架构/526
14.5 推理引擎架构/530
14.6 昇腾推理引擎MrndlE/549
14.7 昇腾计算语言AscendCL/552
第15章 模型小型化/561
15.1 推理参数了解/561
15.2 CNN模型小型化/563
15.3 Transformer模型小型化/579
第16章 模型轻量化/585
16.1 引言/585
16.2 量化基本原理/586
16.3 感知量化训练/592
16.4 训练后量化与部署/598
16.5 模型剪枝原理/604
16.6 知识蒸馏原理/611
第17章 模型转换/619
17.1 引言/619
17.2 推理文件格式/626
17.3 自定义计算图/634
17.4 模型转换流程/643
第18章 计算图优化架构/647
18.1 引言/647
18.2 离线图优化技术/651
18.3 其他计算图优化/667
第19章 Kernel优化/676
19.1 引言/676
19.2 卷积计算原理/680
19.3 Im2Col算法/690
19.4 Wmograd算法/698
19.5 QNNPACK算法/705
19.6推理内存布局/715
第四篇 AI框架核心模块
第20章 AI框架基础/721
20.1 引言/721
20.2 AI框架作用/721
20.3 AI框架之争/727
20.4 AI框架的编程范式/735
20.5 昇思MrndSpore关键特性/741
第21章 自动微分/753
21.1 引言/753
21.2 什么是微分/753
21.3 微分计算模式/760
21.4 微分实现方式/768
21.5 动手实现自动微分/775
21.6 动手实现PyTorch微分/778
21.7 自动微分的挑战和未来/784
第22章 计算图/790
22.1 引言/790
22.2计算图基本原理/791
22.3计算图与自动微分/798
22.4计算图的调度与执行/804
22.5计算图的控制流实现/811
22.6动态图与静态图转换/818
第23章 分布式并行/823
23.1 引言/823
23.2数据并行/823
23.3数据并行进阶/837
23.4张量并行/849
23.5流水并行/855
23.6混合并行/858
23.7 昇思 MindSpore并行/860
参考文献/867
索引/883
彩图
1.1AI历史与现状
本节介绍人工智能(Artificial Intelligence,AI)的由来、现状和趋势,为后面章节介绍的人工智能系统(AI System)奠定基础。
系统本身是随着上层应用的发展而不断演化的。
从人工智能本身的发展脉络和趋势可以观察到:目前,模型不断由小模型到大模型分布式训练演进、由单一的模型训练方式演化出针对特定应用的深度强化学习的训练方式;企业级神经网络模型由*占使用硬件资源到云上多租户共享AI集群资源进行模型训练。
从AI算法模型结构本身的发展可以观察到:训练与部署需求使得模型结构快速演变;执行与部署流程上,资源管理变得越来越复杂,给AI系统的设计和开发带来越来越大的挑战的同时,也充满了新的系统设计、研究与工程实践的机遇。
希望后续章节不仅能给读者带来较为系统化的AI知识,也能激发开发者对AI系统研究的兴趣,掌握相应的AI系统研究方法与设计原则。
1.1.1 AI的应用领域
人工智能正在日益渗透到所有的技术领域,而深度学习(Deep Learning,DL)是目前人工智能中*活跃的分支。深度学习是一种机器学习方法,它通过建立多层神经网络来模拟人脑的学习过程。*近几年,深度学习取得了许多重要进展,其中有些因为跟大众关系密切而引人瞩目,而有些虽然低调但意义重大。深度学习从业人员应该保持足够的嗅觉,这个领域正在发生很多事情,必须要跑得足够快才能跟上时代步伐。
深度学习在计算机视觉(Computer Vision,CV)、自然语言处理(Natural LanguageProcessing,NLP)、音频处理(Audio Processing)这三大方向都取得了显著的成果(图1.1.1)。
1. CV领域应用
深度学习因其较高的可信度在计算机视觉领域获得了广泛的认可。其中,图像识别是深度学习能力*早的重要演示的主题之一。近年来,深度学习在物体检测与跟踪、人脸识别等方面也取得显著的应用进展。
?图像与视频识别:神经网络模型可以非常准确地识别和分类图像与视频,支持多种应用场景,如图像搜索、内容审核和**系统等应用。例如,在百度或谷歌等搜索引擎中上传一张图片,系统能够通过图像识别技术搜索并提供与图相关的信息;社交平台或内容平台如抖音、Meta等利用深度学习技术识别分析图像和视频内容并过滤不适宜的内容;电商平台如淘宝等通过识别分析用户的历史浏览和购买行为,利用深度学习算法**个性化的商品。
?物体检测与跟踪:深度学习算法广泛应用于物体检测与跟踪的各类场景,如自动驾驶、无人机等。例如,自动驾驶汽车使用深度学习算法来识别和跟踪周围环境中的车辆、行人和其他物体;无人机可以利用深度学习算法实时检测和跟踪野生动物、车辆等感兴趣的物体。
?人脸识别:深度学习算法可以高精度识别和匹配人脸,广泛应用于安全验证、智能门禁、智能监控、个性化营销等应用场景。例如,银行和金融机构利用这项技术进行身份验证;企业和住宅区采用面部识别技术作为门禁控制,替代传统的钥匙和门禁卡;零售行业通过分析顾客的面部特征和购物习惯,提供定制化的服务和产品**。
如图1.1.2所示,深度学习在CV领域已经从左边的实现图像分类、目标检测和物体分割,逐渐过渡到右边实现图像的生成甚至三维重建。
2. NLP领域应用
NLP研究如何让计算机更好地理解和处理自然语言,深度学习技术极大地推动了NLP领域的发展。NLP的核心主要包括文本处理、自然语言理解和词向量表示等。
?文本处理:对文本数据进行的一系列处理过程,包括分词、词性标注、句法分析和语义分析等。这些处理过程可以帮助计算机更好地理解和处理自然语言文本数据。
?自然语言理解:让计算机能够理解自然语言文本数据的含义和上下文信息,从而做出响应和决策。
?词向量表示:词向量表示是将词语转化为计算机能够处理的数据格式。深度学习可以通过建立神经网络模型,利用大量语料库进行训练,从而学习词向量表示。这种表示方式可以更好地捕捉词语的语义信息,为后续的自然语言处理任务提供更好的基础。
NLP涉及的任务包括文本分类和情感分析、机器翻译等。
?文本分类和情感分析:深度学习可以通过建立卷积神经网络(Convolutional NeuralNetwork,CNN)或循环神经网络(Recurrent Neural Network,RNN)等模型,对文本进行分类或情感分析。例如,利用CNN模型对文本进行分类,可以识别文本所属的类别;利用RNN模型进行情感分析,可以判断文本表达的情感倾向。
?机器翻译:机器翻译是NLP领域的一个重要应用,它是将一种自然语言文本自动翻译成另一种自然语言文本的过程。深度学习可以通过建立神经网络模型,利用大量双语语料库进行训练,从而实现高质量的机器翻译。
如图1.1.3所示,AI在NLP领域的*新应用已经发展到能够使用大语言模型(LargeLanguage Model,LLM)实现人机对话、摘要自动生成和信息检索等功能。而近期的大模型应用也是风起云涌,出现了大量如KIMI等做L0基础大模型的公司及相关应用。
3.音频处理领域应用
深度学习技术的迅猛发展为音频信号的自动处理和优化提供了强大的工具和算法支持,极大地提高了音频处理的效率和准确性,推动了智能音频处理领域的进步。利用深度学习技术,可以实现音频信号分析、语音识别、音频生成等任务。
?音频信号分析:通过分析音频信号,实现音频的分类、分割、降噪等。例如,通过训练深度神经网络模型提取音频信号的特征,从而对音频进行分类或分割;通过学习和分析噪声模型和信号模型,自动消除音频噪声。
?语音识别:通过深度神经网络模型可将语音信号转化为文本信息等,常见应用有语音助手、语音翻译、语音控制等。神经网络模型可以自动学习语音信号的特征,并通过大规模训练提高识别精度。
?音频生成:深度学习技术可以用于生成逼真的语音合成结果,还可以通过学习音乐的模式和结构,自动生**的音乐作品。
相较于传统的音频处理,深度学习技术的应用可实现端到端音频处理、跨模态音频处理等。
?端到端音频处理:传统音频处理方法通常需要多个步骤和模块,而端到端音频处理可将这些步骤整合到一起。通过训练端到端的神经网络模型,可以直接从原始音频信号中提取特征并完成音频处理任务,简化流程并提高效率。
?跨模态音频处理:深度学习技术可将音频信号与其他模态的信息(如文本、视频等)进行融合处理,实现更加丰富和准确的音频分析和合成。
如图1.1.4所示,现在己经有越来越多的AI技术应用到音频处理领域,除实现根据提供的内容自动生成音频等更加人性化的传统音视频软件辅助功能以外,还可以实现音频分类、音频自动对齐等众多提高生产力的应用。未来,AI技术在智能音频处理中的应用还将进一步创新,以满足不断增长的音频处理需求。
1.1.2 AI场景与行业应用
随着人工智能技术的发展与推广,人工智能逐渐在金融、医疗、教育、互联网、自动驾驶、制造业等不同场景和行业涌现大范围的应用,如图1.1.5所示。
?金融行业:金融行业是人工智能技术的热点应用场景之一。通过深度学习技术,可以实现对客户信用评估、风险管理、反欺诈等方面的智能化分析。目前,我国多家金融机构己经在尝试将AI应用于其业务流程,如中国银行、中国平安、招商银行等。这些金融机构利用AI技术实现对客户数据的快速处理和分析,提高业务效率,降低风险。
?医疗行业:医疗行业是人工智能技术的重要应用场景之一。通过深度学习技术,可以实现疾病诊断、药物研发、病历管理等方面的智能化分析。目前,我国多家医疗机构己经开始采用AI技术,一些**学术机构也利用AI模型进行医学相关研究,如清华大学、北京大学、复旦大学等。这些机构通过AI实现对病历数据的快速处理和分析,提高疾病诊断准确率,降低药物研发成本。
?教育行业:教育行业是人工智能技术的关键应用场景之一。通过深度学习技术,可以实现对学生的个性化教育、智能辅导、智能评估等方面的智能化分析。例如,AI能够根据每个学生的情况,提供定制化学习体验,从而提高学习效果,也一定程度上降低教育成本。
?互联网行业:谷歌、百度、微软必应等公司通过人工智能技术进行更好的文本向量化,提升检索质量,同时利用人工智能进行点击率预测,获取更高的利润。
?自动驾驶:通过深度学习,自动驾驶车辆能够更准确地识别道路上的物体,更安全地执行驾驶决策,更稳定地控制车辆的行驶。例如,通过物体检测模型能够进行更好的路标检测、道路线检测进而增强自动驾驶方案。同时,深度学习还能够提高自动驾驶车辆的适应性和智能化水平,使其能够更好地应对复杂的交通环境和多种驾驶场景。在未来,深度学习将在自动驾驶领域发挥越来越重要的作用,推动自动驾驶技术的进步和应用。
综上所述,我们可以看到,这些成功应用并部署人工智能技术的公司,通常会在人工智能基础设施和系统上进行持续的投入和研发,进而通过提高神经网络模型生产效率,更快地获取效果更好的模型,从而获取领先优势。然后,再通过业务场景反哺,获取更多的数据。随着数据的积累和研发投入的加大,这些企业能够不断推动人工智能系统与工具链的创新与发展。
1.1.3 AI基本理论奠定
虽然AI近年来取得了举世瞩目的进展与突破,但是其当前的核心理论,特别是神经网络等,其实在这波浪潮掀起之前就己经基本形成。神经网络作为AI的基石,经历了以下的发展阶段。
1.萌芽兴奋期(20世纪50年代~20世纪70年代)
1943年,神经科学家和控制论专家Warren A.McCulloch和逻辑学家Walter Pitts基于数学和阈值逻辑算法创造了一种神经网络计算模型,这是*个神经网络模型,相关研究发表在文章4logical calculus of the ideas imminent in nervous activity中(McCulloch and Pitts,1943)。这篇文章不仅奠定了神经网络的基础,也对人工智能的研究产生了深远的影响。
人工智能的早期研究激发了一系列研究成果,如机器定理证明、跳棋程序等,掀起了人工智能发展的**个高潮。1950年,Alan Turing提出了著名的“图灵测试”,这一测试旨在判断机器是否能够展现出与人无法区分的智能行为。
1957年,Frank Rosenblatt发明了感知机(Perceptron)(图1.1.6),为之后AI的发展奠定
📑 章节目录
- AI系统概述
- AI计算体系
- AI芯片体系
- GPU—以英伟达为例
- TPU—以谷歌为例
- NPU—以昇腾为例
- AI芯片思考与展望
- 传统编译器
- AI编译器
- 前端优化
- 后端优化
- 计算架构
- CANN&Ascend C计算架构
- 推理系统
- 模型小型化
- 模型轻量化