"只要你想把大模型做得更好、做得更大、做得更快、做得更省电,你就必须要有系统的人才跟思维。
.
我们这个领域变化得特别快,教的内容,教的方式,都要不断地变化。如果我们中国的研究者和教育者做得更好一点如果我们在具身智能的大模型上,或者是说在未来终极的通用人工智能上,能做出原创性的、引领性的贡献,也非常非常好的。"
------陈云霁
2020年3月,"智能计算系统"课程的同名教材《智能计算系统》第1版正式出版,至今已加印 7次,被国内超过百所高校使用,受到了众多读者的认同和好评。
时隔四年,以ChatGPT等大模型为代表的生成式人工智能,引领人工智能领域爆发式发展。如果说四年前,业界都认为通用人工智能还是一件很遥远的事情,那么到了今天,GPT的进展让我们都不得不正视这场由大模型引发的通用人工智能革命。图灵奖获得者、深度学习之父 G. Hinton 也说:"这些东西(大模型)与我们完全不同。有时我认为这就像外星人登陆了,而人们还没有意识到。"
人工智能技术不断突破,逐渐深入地赋能千行百业。过去几年,AI从"小模型+判别式"转向"大模型+生成式",不管是传统的视觉识别、语音识别、文本分类等等,还是如今的文本生成、3D数字人生成、图像生成、语音生成、视频生成,这些任务最终都是需要运行在智能计算系统上。
当硬件的系统能力不能够提升的时候,算法、模型、应用的能力也是不可能获得提升的。超万亿参数的大模型研发,并不仅仅是算法问题,而是囊括了底层庞大算力、网络、大数据、机器学习等诸多领域的复杂系统性工程,需要有超大规模智能计算系统的支撑。
大模型取得巨大进步的一个关键因素是智能计算系统所提供的巨大算力。例如GPT-4 有 1.76 万亿参数,其训练更是使用 2.5 万颗 A100 GPU 运行率近 100 天,花费超过1亿美元,对智能计算系统算力的需求达到了 GPT-3的 67 倍。未来如果还要训练出人脑规模的大模型(100 万亿参数),对智能计算系统算力的需求还将进一步提升。因此,大模型的发展使我们必须重新审视智能计算系统课程的知识体系。
2024年7月,深度学习处理器芯片研究的开拓者陈云霁领衔,中国科学院计算技术研究所、软件研究所的专家学者倾心写就《智能计算系统:从深度学习到大模型第2版》正式出版上市!
第2版教材凝聚着中国科学院计算技术研究所和中国科学院软件研究所多位老师的心血,以大模型为牵引,在保留原有深度学习计算系统精髓的前提下,全面更新各章节的内容与实验力图从各个层面系统讲解如何持续提升智能计算系统的计算能力,为未来更大更通用的模型提供支撑。
智能计算系统:从深度学习到大模型第 2 版 智能计算系统:从深度学习到大模型 第2版 智能计算系统:从深度学习到大模型第2版
陈云霁等编著 陈云霁 等编著 陈云霁等编著
深度学习处理器研究的开创者陈云霁领衔撰写! 深度学习处理器研究的开创者陈云霁领衔撰写! 深度学习处理器研究的开创者陈云霁领衔撰写!
紧跟大模型技术趋势 紧跟大模型技术趋势 紧跟大模型技术趋势
保留深度学习精髓内容,超过 70 % 的内容更新 保留深度学习精髓内容,超过70\%的内容更新 保留深度学习精髓内容,超过70%的内容更新
为更大更通用的大模型提供底层支撑 为更大更通用的大模型提供底层支撑 为更大更通用的大模型提供底层支撑
内容简介
- 全面贯穿人工智能整个软硬件技术栈
- 以大模型为牵引,形成智能领域的系统思维
- 前沿研究与技术实践结合,快速提升智能领域的系统能力
第2版的更新内容包括如何构建大模型算法(第2、3章),如何让编程框架支撑海量处理器分布式训练大模型(第4、5章),如何在单个处理器层面实现算力提升(第6、7章),如何面向大模型进行智能计算系统的编程(第8章)。我们还专门增加了第9章,将前面各个章节的串联起来,介绍完整的面向大模型的智能计算系统。
作者简介
陈云霁 中国科学院计算技术研究所副所长、研究员、博导,处理器芯片全国重点实验室主任,中国科学院大学岗位教授,中国计算机学会体系结构专委会主任。他带领团队研制了国际上首个深度学习处理器芯片"寒武纪1号",相关成果两获计算机体系结构顶级国际会议最佳论文奖,并已应用在上亿台智能手机和服务器中。他的学术论文受五大洲、三十个国家、数百个知名机构广泛跟踪引用。因此,他被Science杂志刊文评价为深度学习处理器的"先驱"和"引领者",并获我国处理器芯片领域历史上唯一的国家自然科学二等奖(第一完成人)。他还曾获国家杰出青年科学基金、全国五一劳动奖章、中国青年五四奖章、全国创新争先奖、何梁何利科技创新奖、教育部"青年长江学者",并被MIT技术评论评为全球35位杰出青年创新者(2015年度)。
李玲 中国科学院软件研究所研究员、博导,CCF高级会员,IEEE Senior Member。研究方向为智能计算。
赵永威 中国科学院计算技术研究所副研究员。研究方向为智能处理器体系结构。
李威 中国科学院计算技术研究所副研究员。研究方向为高性能智能计算系统设计技术
郭崎 中国科学院计算技术研究所研究员。长期从事计算机体系结构及人工智能相关研究。
文渊博 中国科学院计算技术研究所助理研究员。长期从事智能计算系统相关研究。
张蕊 中国科学院计算技术研究所副研究员,研究方向为深度学习和处理器设计智能化
专家推荐
来自八位院士专家的评价 来自八位院士专家的评价 来自八位院士专家的评价
"开创了我国第一门讲授当代智能计算系统的课程,编写了我国第一本智能计算系统教材,对我国人工智能人才培养产生了广泛而深远的影响"。
------ 陈国良 中国科学院院士
"智能计算系统是支撑大模型等下一代人工智能技术发展的不可或缺的载体。本书作为我国第一本讲授当代智能计算系统完整技术体系的教材,既有深度也有广度,对于人工智能专业人才培养具有重要价值。"。
------ 郑南宁 中国工程院院士
"对智能计算系统的各层软硬件技术栈的奥妙和相互联系进行精确、扼要的介绍,使学生对系统全貌有一个深刻印象,达到举一反三、触类旁通的效果"。
------ 李国杰 中国工程院院士
"深层次、全栈性地解析了AI的关键理论和技术,又通过一个图像风格迁移的实例生动地演示了AI的实践"。
------ 张亚勤 中国工程院外籍院士
"在智能方向打通了系统与算法,再将这些科研优势辐射到教学"。
------ 孙凝晖 中国工程院院士
"非常适合培养学生的系统思维。到目前为止,国内外少有同类书"。
------ 郑纬民 中国工程院院士
"系统性、全面性在国内外都非常难得,值得每位人工智能方向的同学阅读"。
------ 张宏江 美国工程院外籍院士
"是国内第一本关于深度学习计算系统的书籍"。
------ 周志华 欧洲科学院院士
读者对象
本书适合作为高等院校计算机、人工智能等相关专业的教材,也适合人工智能领域的科研人员、从业者参考使用。
目录
bash
丛书序言
序言一
序言二
第 2 版前言
第 1 版前言
第 1 章 概述 1
1.1 人工智能1
1.1.1 什么是人工智能 1
1.1.2 人工智能的主要方法1
1.1.3 人工智能的发展历史5
1.2 智能计算系统 8
1.2.1 什么是智能计算系统8
1.2.2 为什么需要智能计算系统8
1.2.3 智能计算系统的发展9
1.3 驱动范例 12
1.4 本章小结 13
习题.14
第 2 章 深度学习基础15
2.1 机器学习 15
2.1.1 基本概念15
2.1.2 线性回归16
2.2 神经网络 19
2.2.1 感知机19
2.2.2 多层感知机 22
2.2.3 深度学习23
2.2.4 神经网络的发展历程24
2.3 神经网络的训练方法 26
2.3.1 正向传播26
2.3.2 反向传播29
2.4 神经网络的设计基础 30
2.4.1 网络的拓扑结构30
2.4.2 激活函数31
2.4.3 损失函数35
2.5 过拟合与正则化 38
2.5.1 过拟合38
2.5.2 正则化39
2.6 交叉验证 44
2.7 本章小结 46
习题 47
第 3 章 深度学习应用48
3.1 适合图像处理的卷积神经网络 48
3.1.1 卷积神经网络的总体结构 49
3.1.2 应用于图像分类的卷积神经
网络.60
3.1.3 应用于图像目标检测的卷积神
XXI
经网络79
3.1.4 应用于图像生成的神经网络95
3.2 适合文本/语音处理的循环神经
网络110
3.2.1 RNN110
3.2.2 LSTM 114
3.2.3 GRU117
3.2.4 小结118
3.3 大模型118
3.3.1 Seq2Seq119
3.3.2 注意力机制120
3.3.3 Transformer124
3.3.4 自然语言处理大模型 126
3.3.5 图像处理和多模态大模型 139
3.3.6 基于大模型的智能体系统 152
3.3.7 小结156
3.4 神经网络的优化157
3.4.1 初始化方法158
3.4.2 梯度下降法159
3.4.3 动量法 163
3.4.4 二阶优化方法 164
3.4.5 自适应学习率算法165
3.5 神经网络量化 167
3.5.1 数据量化 169
3.5.2 神经网络量化过程173
3.5.3 神经网络量化应用174
3.5.4 神经网络的混合精度量化.175
3.5.5 大模型量化176
3.5.6 小结177
3.6 驱动范例 177
3.6.1 图像风格迁移简介177
3.6.2 基于卷积神经网络的图像风格
迁移算法 178
3.6.3 实时图像风格迁移算法 181
3.7 本章小结 182
习题 183
第 4 章 编程框架使用 184
4.1 编程框架概述 184
4.1.1 为什么需要编程框架 184
4.1.2 编程框架的发展历程 186
4.2 PyTorch 概述 187
4.3 PyTorch 编程模型及基本
用法188
4.3.1 NumPy 基础 188
4.3.2 张量194
4.3.3 操作202
4.3.4 计算图 206
4.4 基于 PyTorch 的模型推理
实现208
4.4.1 读取输入图像 210
4.4.2 构建神经网络 214
4.4.3 实例化神经网络模型 222
4.4.4 神经网络模型的调试 226
4.4.5 神经网络模型优化228
4.5 基于 PyTorch 的模型训练
实现231
4.5.1 加载训练数据集 231
4.5.2 模型训练 233
4.5.3 模型的保存与恢复239
4.6 驱动范例 241
4.6.1 加载依赖包241
4.6.2 加载并显示内容图像和
风格图像 242
4.6.3 创建输入图像 243
4.6.4 定义并计算损失函数 244
4.6.5 构建风格迁移算法247
XXII
4.6.6 风格迁移算法运行248
4.7 本章小结 249
习题 249
第 5 章 编程框架原理 250
5.1 编程框架设计 250
5.1.1 设计原则 250
5.1.2 整体架构 251
5.2 计算图构建 252
5.2.1 正向计算图构建 253
5.2.2 反向计算图构建 256
5.3 计算图执行 260
5.3.1 设备管理 260
5.3.2 张量实现 262
5.3.3 算子执行 269
*5.4 深度学习编译 278
5.4.1 为什么需要深度学习编译 278
5.4.2 图层级编译优化 281
5.4.3 算子层级编译优化287
5.4.4 常见深度学习编译器 294
*5.5 分布式训练299
5.5.1 为什么需要分布式训练 300
5.5.2 分布式训练基础 300
5.5.3 分布式训练方法 305
5.5.4 分布式训练框架实现 312
5.6 本章小结 318
习题 319
第 6 章 面向深度学习的处理器原理320
6.1 通用处理器 320
6.1.1 通用处理器的执行原理 321
6.1.2 通用处理器的结构发展 323
6.1.3 通用处理器分析和优化 339
6.1.4 总结和讨论346
6.2 向量处理器 347
6.2.1 向量处理器的执行原理 347
6.2.2 向量处理器的结构发展 352
6.2.3 向量处理器分析和优化 359
6.2.4 总结和讨论363
6.3 深度学习处理器364
6.3.1 深度学习处理器的执行
原理364
6.3.2 深度学习处理器的结构
发展376
6.3.3 总结和讨论382
6.4 大规模深度学习处理器382
6.4.1 一致性访存模型 383
6.4.2 非一致性访存模型384
6.4.3 分形计算模型 386
6.4.4 深度学习处理器示例 386
6.5 本章小结 387
习题 387
第 7 章 深度学习处理器架构.389
7.1 计算389
7.1.1 矩阵运算单元 390
7.1.2 向量与标量单元 400
7.1.3 总结和讨论408
7.2 存储409
7.2.1 便笺存储器409
7.2.2 外部存储器访问 412
7.2.3 总结和讨论417
7.3 通信418
7.3.1 互联网络 419
7.3.2 集合通信原语 420
7.3.3 通信架构设计 424
7.3.4 总结和讨论426
*7.4 设计优化 426
7.4.1 变换427
XXIII
7.4.2 压缩429
7.4.3 近似431
7.4.4 非传统结构和器件434
7.5 本章小结 437
习题 437
第 8 章 智能编程语言 439
8.1 为什么需要智能编程语言439
8.1.1 语义鸿沟 440
8.1.2 硬件鸿沟 442
8.1.3 平台鸿沟 445
8.1.4 小结445
8.2 智能计算系统抽象架构446
8.2.1 抽象硬件架构 447
8.2.2 典型智能计算系统447
8.2.3 控制模型 448
8.2.4 存储模型 449
8.2.5 计算模型 450
8.3 智能编程模型 450
8.3.1 异构编程 450
8.3.2 多核并行 452
8.3.3 存储空间 454
8.4 智能编程语言基础 455
8.4.1 语法概述 455
8.4.2 内建变量与内建函数 457
8.4.3 BCL 程序示例458
8.5 智能应用编程接口 459
8.5.1 核函数接口459
8.5.2 运行时接口460
8.5.3 使用示例 462
8.6 智能应用功能调试 465
8.6.1 功能调试方法 465
8.6.2 功能调试接口 470
8.6.3 功能调试工具 472
8.6.4 精度调试方法 474
8.6.5 功能调试实践 476
8.7 智能应用性能调优 483
8.7.1 性能分析工具 483
8.7.2 性能调优方法 489
8.8 智能编程语言的应用 495
8.8.1 高性能算子开发 496
8.8.2 编程框架算子开发502
8.9 本章小结 509
习题 509
第 9 章 大模型计算系统511
9.1 大模型算法分析512
9.2 大模型驱动范例:BLOOM 516
9.2.1 BLOOM-176B 模型 516
9.2.2 BLOOM-176B 运行平台517
9.2.3 BLOOM-176B 计算过程及
分析518
9.3 大模型系统软件524
9.3.1 训练场景 525
9.3.2 推理场景 530
9.4 大模型基础硬件534
9.4.1 大模型计算节点 534
9.4.2 大模型计算集群 538
9.5 本章小结 541
习题 541
参考文献 544
后记566
目录大纲
第一章:概述
人工智能的发展历史及三类主要研究方法;智能计算系统的发展历程及未来展望;智能应用从智能算法到编程再到芯片上运行的过程
第二章:深度学习基础
机器学习和神经网络的基本原理;神经网络的训练过程;提升神经网络训练精度的手段;神经网络的交叉验证等
第三章:深度学习应用
卷积神经网络的图像分类及目标检测算法;循环神经网络;生成对抗网络;大模型的核心技术;量化技术;利用深度学习实现图像风格迁移
第四章:编程框架使用
深度学习编程框架的概念及作用;PyTorch 的编程模型及基本用法;通过驱动范例来介绍如何基于PyTorch 实现深度学习的推理和训练
第五章:编程框架原理
编程框架的设计原则和整体架构;介绍编程框架中的四大核心模块的原理和相关技术,包括计算图构建、计算图执行、深度学习编译以及分布式训练等模块
第六章:面向深度学习的处理器原理
各类智能处理器的执行过程、总体架构和发展历史,通过对这些处理器进行对比,揭示了深度学习处理器达成更高计算效率的基本原理
第七章:深度学习处理器架构
分别从计算、存储和通信三个方面深入探索深度学习处理器的基本硬件模块设计
第八章:智能编程语言
智能计算系统的抽象架构、编程模型、语言基础、编程接口、功能调试、性能调优以及智能编程语言的应用
第九章:大模型计算系统
以大模型计算系统作为驱动范例,将前面各章介绍的智能算法、编程框架、芯片架构、编程语言等内容串联起来,使读者能真正融会贯通,理解如何根据大模型算法特点进行系统软件的设计优化和硬件平台的构建,以高效支持大模型的训练和推理,从而全面地理解智能计算系统
本书可以帮助读者建立对人工智能软硬件技术栈的整体认识,建立智能计算系统设计及应用的知识体系,掌握构建面向大模型的复杂系统或子系统的能力。