QCon 全球软件开发大会(北京站)门票 9 折倒计时 4 天,点击立减 ¥880 了解详情
写点什么

清华大学陈文光:为什么需要人工智能算力基准测试程序?

2020 年 6 月 21 日

清华大学陈文光:为什么需要人工智能算力基准测试程序?

6 月 21 日,由北京智源人工智能研究院主办的 2020 北京智源大会正式开幕(直播入口: https://2020.baai.ac.cn ),会期四天。智源大会是北京创建全球人工智能学术和创新最优生态的标志性学术活动,定位于“内行的 AI 盛会”,探索人工智能的下一个十年。InfoQ 将进行全程跟踪报道,为 AI 领域的从业人员带来更多前沿观点,以下内容根据清华大学智源学者陈文光的演讲整理而来。



为什么需要一个人工智能算力基准测试程序?陈文光表示,公众需要一个指标来回答:哪套系统的人工智能算力更强?整个领域的发展状况如何?好的指标可以引领领域的健康发展。


传统高性能计算机的测试结果与人工智能需要的性能不完全一致:高精度计算算力测试程序主要使用双精度浮点数运算,人工智能训练以单精度浮点数或 16 位浮点数为主,推理以 Int8 为主。


对人工智能算力来说,制定这样一个指标和测试方法并不容易。陈文光在演讲中表示,一是单个人工智能训练任务很可能达不到全机规模,即使能达到,可能在训练时间和准确率上没有改进,因此使用全机规模是没有意义的;二是如果要测试规模变化巨大的人工智能集群计算机,测试程序必须是规模可变的,试想什么样的主流人工智能应用是规模可以大幅变化的;三是准确率,残差是不是要少于某个标准,还是将准确度计入分数。对人工智能而言,是否可以符合一个较高的准确率,如果给定的准确率较低是不是很快就可以达到。


现有算力 benchmark 举例

首先,我们来介绍 NAS kernels,这是 NASA(美国航空航天局)开发的,其从计算流体力学程序中抽取 kernel(LU,FFT,CG,IS,BT,EP,MG,SP),使用 GFLOPS 作为性能量度,并行版本 NPB(NAS Parallel Benchmark),这种方式的算法是固定的,在测不同规模的机器时可以自由选择。



接下来是 Linpack,最大的好处是 N 是可变的,缺点是没有 I/O 操作,只有稠密矩阵运算。没有 I/O 操作对端到端的性能有很大影响,只有稠密矩阵运算导致无法很好支持稀疏矩阵,但这依旧是目前的主流基准。



在 Linpack 的基础上,HPCC 做了一些补充(如下图),有的方法具备很好的时间局部性,有的具备很好的空间局部性。



SPEC CPU 很大程度上主导了 CPU 核的设计,现在发布一款新的 CPU,一定要看其 SPEC CPU 的数,其使用最广泛的单 CPU 性能测试 Benchmark,每隔一段时间还会更改程序和问题规模。



此外还有 TPC-C,这主要是数据库领域的基准,是国际上评测在线事务处理的事实标准。



人工智能基准测试程序

目前,全球很多公司都在这方面有所尝试,百度提出的 DeepBench 也是国际上比较认可的方式,hpl-ai 则是一种混合精度的算法,先用单精度计算得到近似解,再用双精度得到准确解,但和人工智能领域的关系不直接。现有这些方式最大的问题是都属于固定规模,无法满足不同规模机器上的测试;多个应用,思路与 NASA 类似;有多个分数,但公众最容易理解的是一个分数。



那么,预期的人工智能算力基准测试程序应该具备哪些特性呢?首先是一个分数,分数近似具有线性;其次是可变问题规模,可以适应单卡内存规模的变化,也可以适应多卡;然后,计算要有人工智能意义,比如神经网络运算;最后,多机通信可以少,但不能没有,不能是 EP 类型的。


设计思路——AutoML

AutoML 是通过算法自动搜索合适的神经网络模型结构,找到针对特定任务效果最好的解:所需的计算资源极高,基础算法也包含训练模型本身。


AutoML+NN 现有两个主要方面:超参数搜索、网络结构搜索:超参数搜索易于实现,但搜索空间存在一定限制(-100);网络结构搜索的搜索空间往往较大(-10000)。


AutoML 具有足够的并行度,常常需要同时训练大量候选模型来对结构进行评估:搜索的结果虽然有一定的随机性,但整体上能找到的解的优劣程度随着搜索所消耗的计算量而逐渐改善。



结构搜索工作流程

如下图所示,Master 节点将模型历史及其达到的精度发送至 Slave 节点;Slave 节点根据模型历史及其精度,搜索出一个新的模型,并进行训练;Slave 节点将根据某种策略(如连续 10 个 Epoch 的测试集精度没有提升)停止训练,并将此模型及其达到的精度发送至 Master 节点;Master 节点接收并更新模型历史及精度。



测试环境(广州超算中心)


测试结果

随着网络越来越大 ,效率会越来越高,出现了超线性加速的情况,后续开销越来越大,需要通过超参数搜索解决这个问题。








超参数搜索具有网络结构稳定性和生成时间稳定性的特点。网络结构稳定性:超参数的设定一般不影响网络结构,从而使得在整个搜索过程中网络结构保持相对稳定。


生成时间稳定性:生成新的超参数所需时间与已经评测的超参数个数(历史无关),仅与搜索空间相关。






未来一段时间,陈文光表示主要工作将会集中在提高模型生成与搜索的效率,可支持千卡量级,包括并行化模型生成算法,优化模型生成算法(不需要看全部历史,如遗传算法),优化起点,使用更大规模数据集;结合参数搜索,并行性乘 10,可支持万卡量级;在多种和更大平台上开展测试;流程管理,包括运行规则,辅助工具,报告与审查机制。


2020 年 6 月 21 日 16:552823
用户头像
赵钰莹 InfoQ高级编辑

发布了 695 篇内容, 共 408.9 次阅读, 收获喜欢 2271 次。

关注

评论

发布
暂无评论
发现更多内容

在onelogin中使用OpenId Connect Implicit Flow

程序那些事

权限系统 程序那些事 openid 权限架构 onelogin

“千人斩”阿里面试官同事,被应聘者暴打一顿后!最终洗心革面总结出这份高薪“Java 面试秘籍”

Java成神之路

Java 程序员 架构 面试 编程语言

天天CRUD,被领导怼,我是如何从小公司菜鸡到阿里P8架构师?,首次分享Java程序员黄金五年进阶心得

Java架构之路

Java 程序员 架构 面试 编程语言

深入理解Nginx的四级指针

赖猫

c++ nginx Linux Nginx源码

CSS09 - 文本&背景属性

桃夭十一里

html/css

杜绝标题党,好的标题是成功的99%

xcbeyond

方法论 28天写作 写作技巧

架构师训练营大作业(一)

我是谁

架构师训练营第 1 期

2020年无人场景市场趋势洞察

IoT云工坊

人工智能 物联网 智慧照明 节能管理 安防报警

CSS08 - CSS特性

桃夭十一里

html/css

一次系统调用时间过长追踪完整教程案例

AI乔治

Java Linux 架构

如何通过NGINX的log日志来分析网站的访问情况,试试这些命令

我爱娃哈哈😍

nginx Shell

CSS06 - 标签的显示模式与转换

桃夭十一里

html/css

不愧是Alibaba技术官:程序员必会的架构知识清单,如何让你技术上的提升面试时的丰收

Java架构之路

Java 程序员 架构 面试 编程语言

数据中心“容灾”和“备份”的区别

如何使用Eclipse内存分析工具定位内存泄露

Java老k

Java 内存泄露

【Mysql-InnoDB系列】InnoDB架构

程序员架构进阶

MySQL 架构 innodb 28天写作

架构师训练营W12作业

Geek_f06ede

数据库表数据量大读写缓慢如何优化(1)【冷热分离】

我爱娃哈哈😍

大数据 架构 海量数据库的设计与实践 优化 数据库优化

俯瞰Dubbo全局,阅读源码前必须掌握这些!!

冰河

架构 分布式 微服务 dubbo 服务治理

2021 第七季 28天写作训练 测试

将军-技术演讲教练

如何使用Eclipse内存分析工具定位内存泄露

AI乔治

Java eclipse 架构

甲方日常 82

句子

随笔杂谈

开始的开始-可能是最早提交的28天写作活动作品

石君

28天写作

CSS05 - 常用的高级选择器

桃夭十一里

html/css

CSS07 - 伪类

桃夭十一里

html/css

甲方日常 81

句子

随笔杂谈

【CSS】CSS对大小写敏感吗?

学习委员

28天写作

还在手动写数据库文档吗?试试这个工具,划水干活儿两不误!

我爱娃哈哈😍

数据库 文档生成

浅析整洁架构之道(二) 初步了解The Clean Architecture

御剑

DDD 领域驱动 The Clean Architecture Robert C. Martin

AQS设计思想与重要字段详解

程序员小毕

Java 源码 jdk 并发编程 AQS

LeetCode题解:111. 二叉树的最小深度,BFS,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

边缘计算隔离技术的挑战与实践

边缘计算隔离技术的挑战与实践

清华大学陈文光:为什么需要人工智能算力基准测试程序?-InfoQ