投递人 itwriter 发布于 2019-01-26 16:28 原文链接 [收藏] « »

图片来源:视觉中国

  脑极体 

  如果要为手机行业的未来寻找一个技术锚点,AI 绝对当之无愧。

  不仅厂商们纷纷孵化出了众多或真或假的手机 AI 软硬件解决方案,消费者决策也开始越来越多地向手机的 AI 应用倾斜。与此同时,AI 也让手机性能的理解和认知门槛变得越来越高高了。

  比如在众多 AI 手机硬件评测中,普遍堆砌着一大堆玄幻的技术名词和数值。具体强在哪里,能够优化哪些功能,别说普通消费者,很多程序员都未必能说出个所以然。

  举个例子,移动 AI 芯片的指标中,都离不开浮点数的运算能力,也就是 FLOPS(floating point operations per second,每秒计算的浮点数目多少),作为评估手机性能强弱的标准之一。

  那么,浮点运算究竟是怎样工作的?为什么会成为手机 AI 性能的评测标准?又将对我们的生活起到什么帮助?还真是云里雾里捉摸不透。

  今天我们就来尝试用说人话的方式回答一下这些问题,通过浮点计算这个小切口,窥视一下手机 AI 技术版图的冰山一角。

  什么是浮点计算?

  首先有必要解释一下,什么是浮点计算。

  通俗来说,就是一种可以通用表示所有数字的科学计数法。它的表示形式为 0.*****×10^***,其中小数点前面是定点小数,后面则是一个定点整数(10 的N次方)。比如传统的 1024 整数,浮点数就表示成 0.1024×10^4。

  不难发现,浮点数可以表示出任意一个整数和小数,并且比普通格式的计数方式数位更长,因此计算难度和精度也更高。而利用浮点数进行的运算就是浮点运算。

  浮点运算到底有多重要呢?这么说吧,目前所有的计算机处理器都采用的是浮点运算,手机 AI 芯片也是以浮点运算能力为基础展开的。

  这种运算能力究竟蕴含着怎样的能量?又是如何取代定点计算成功上位的?

  天选之子:浮点计算发展史

  要搞清楚浮点运算的应用价值,有必要回溯一下,这种计算方式是怎么来的。

  最早将“浮点运算”作为计算机处理引擎概念,是莱昂纳多·托雷斯和奎韦多在 1914 年提出的。直到 1938 年,第一个使用二进制浮点数的计算机 Z1 才正式诞生。1942 年,第一个带有浮点运算硬件单元的计算机 Z4 出现。到了 1946 年,贝尔实验室推出的 Mark V,已经可以实现十进制浮点数运算。

  在接下来的数十年间,带有浮点运算硬件的“科学计算机”开始风靡。1985 年,浮点运算的标准 IEEE754 问世。

  而 1989 年英特尔 i 486 的推出,正式奠定了浮点运算在计算机历史上的基础地位,开始作为标准功能被应用在个人计算机上,处理器的浮点运算能力也成为重要的芯片性能评价指标,代表着硬件制作技术的不断进步。

  进入 AI 时代,随着机器学习在电脑及手机等硬件端的普及,浮点运算更是有了新的用武之地。

  各种主打 AI 功能的手机芯片,比如苹果 A11、华为麒麟系列、高通 845、谷歌 PVC 等等,都是以浮点运算作为基本运算单元。预计未来,还有更多的 AI 功能会以浮点运算展开,直接影响手机 AI 的发展进程和感官体验。

  那么,为什么在处理 AI 任务时,浮点运算更加游刃有余呢?恐怕还要从它的特殊能力说起。

  焦不离孟:为什么移动 AI 离不开浮点运算?

  浮点运算之所以成为手机 AI 芯片的标配,与新运算需求和传统硬件之间的矛盾是分不开的。

  我们知道,AI 任务大多是通过机器学习算法模仿神经网络来完成的,需要更大的算力和能效来支撑大型矩阵运算。

撑起移动 AI 江山的浮点计算,到底是如何工作的?

  而传统 CPU 的运算逻辑,是进行多组运算并统筹全局,一次带动不同部类的系统工作,类似于多面手。在面对神经网络这样庞大、单一、重复的高并发任务指令时,就有点难以负荷。因此,浮点运算能力更高的 GPU 就取代 CPU,成为 AI 芯片的首选。

撑起移动 AI 江山的浮点计算,到底是如何工作的?

  其次,AI 手机芯片不仅要更快地处理数据,保证使用中不卡顿,还要能够支撑大量多媒体技术应用,对手机画面进行更好的渲染和呈现,这种手机功能的升级需求,传统的定点运算力不从心,只能交给数位更长、精度更大的浮点运算。

  总之,更多的深度学习任务、更大的算力需求、更高的计算精度,加上硬件本身的迭代升级,共同推动浮点运算成为移动 AI 性能的关键指标。

  拉开差距:浮点运算的差异在哪里?

  尽管市面上的 AI 芯片都拥有浮点计算能力,但最终的呈现效果却各不相同。

  有的 AI 手机能够带你装X带你飞,有的则处理简单的识别任务都要等到天荒地老。它们之间的浮点运算能力又有哪些区别呢?

  简单来说,评估 AI 芯片运算能力的指标主要有三个:

  1. 吞吐率(throughput)。处理 AI 任务需要支撑大规模的并行运算,而吞吐率就直接决定着芯片计算速度。这有点像水管,直径越大,可以同时对外流出的水就更多。

  2. FLOPS。即每秒所执行的浮点运算次数。为了衡量吞吐率,就可以折算到具体的浮点操作数量上来。原则上来说,FLOPS 越高,单位时间内处理的数据量越大,表现出的图像数量峰值也就越高,从而可以显示出更加细腻的图像。

  3. 精度。那么,是不是只要看 FLOPS 值就可以判断性能高低了呢?并不是。浮点数还会根据精度分为多种类型,以满足不同的计算需求,比如单精度、双精度、扩展双精度。

  精度会根据任务场景、成本控制、产品线定位等来设计和应用,不同维度上的比较往往失于片面。比如英伟达就在 geforce 产品线中屏蔽了大部分的双精度单元,却在 tesla 产品线中全部打开。

  总而言之,浮点运算性能对于 3D 图形处理和大规模并行任务的表现起到了至关重要的作用。

  但其对手机性能的影响大小,取决于硬件设计、处理效率、数据精度等要素的综合做功。

  从理论到应用:浮点运算能给用户带来什么?

  说了这么多技术上的东西,不难发现,浮点运算能力并不是只看数值就能够判断出来的。

  而对于绝大多数人来说,可能也根本不 care 复杂的技术概念和参数表。消费者能够感知到的功能和实际价值,才是真正的意义所在。

  那么落地到具体应用上,浮点运算究竟给端侧 AI 带来了哪些价值呢?主要体现在三个方面:

  首先是带来了全新的视觉体验升级。

  如今的手机新品发布会,要是不讲点机器视觉的应用,比如拍照识花、视频美颜、虚拟现实、人脸识别、游戏渲染等等,都不配被成为 AI 手机。而这些功能的实现,都离不开浮点运算保质保量的图像处理能力。

  另一个改变则是浮点运算对终端算力的加持,减少了 AI 任务对云计算的过度依赖。

  在端侧就能够完成一部分机器学习、神经网络方面的计算,一方面可以解决计算的延迟问题,让手机可以实时处理 AI 任务,运行更加流畅;另一方面,用户的信息无需全部上传到云端处理,安全性更有保障。

  而更大的价值在于,浮点运算能力的提升,还能够帮助手机解锁更多的 AI 想象力。

  浮点的计算速度本身就比定点运算要慢,如果能力欠佳,在面对神经网络和卷积运算的算力要求时,就会力不从心,不仅运算缓慢,还需要大量耗能。又慢又耗电,还要将各种各样的 AI 功能都加载到一部手机里,绝对是一场灾难。

  幸好,移动芯片浮点运算能力的不断提升,正在打破手机端的算力桎梏,比如新的 TPU 就可以在神经网络运算上达到高计算吞吐量,同时能耗和物理空间都很小。

  当运算能力不再是问题,移动端 AI 应用开发的活力也将被彻底释放,更多创意能够在手机端开花结果,可以被普通用户所感知到的 AI 功能自然也就越来越多。

  未来脑洞:浮点运算谱写的手机功能狂想曲

  这里不妨一起开一下脑洞,浮点运算能力的提升,有可能帮助哪些手机 AI 应用驶上快车道?

  目前看来,至少在以下三个方面存在无限可能:

  1. 流数据处理。浮点运算能力直接影响处理器的多媒体、3D 图形处理,从而改变大量多媒体技术应用的体验。

  比如实时大规模的数据运算能力,让人脸识别、人像分割、视频风格化、虚拟现实等技术在端侧进行,更高耦合度的有趣应用(比如 annimoji、虚拟主播等)也从理论变为现实,作用于视频、直播、摄影等功能,创造出新的功能亮点。

  2. 识别功能。手机 AI 功能的另一个特点,则是识别和决策能力,比如识别文字(翻译)、图片(摄影)、商品(购物)、情绪(交互)、场景(主动服务)等等。

  浮点运算能力的进一步提升,将让手机的智能化、人格化成为可能,从工具进化成真正的智慧伴侣。

  3. IoT。更进一步,越来越多的智能硬件进入 AI 交互模式,如果手机的计算传输效率被攻破,那么完全可以作为众多 IoT 设备的大脑中枢,让智能硬件交互围绕手机端展开。

  用手机操作和管理智能家电、无人汽车、体联网设备等,将为产业创造出新的价值点。

  总体而言,浮点计算的进一步发展,带给手机的核心改变在于,AI 任务所需要的大规模并行运算将不再是问题。

  澎湃的算力为厂商和开发者搭建了新的想象力舞台。如何利用好这一红利,放飞脑洞创造新应用,构想出未知功能,或许是接下来各个玩家拉开竞争差距的关键机遇。

  再多说两句……

  当然,在看重浮点运算能力之时,不能忽略这样一个现状:浮点运算只是移动 AI 基础能力的一个组成部分。它与处理器能力、內存的多少、算法的优劣,甚至操作系统、应用开发等等因素综合做功,才最终决定一部手机的 AI 输出能力。

  因此,对于手机厂商来说,除了单点性能的提升之外,也需要在生产成本、开发者生态、市场教育等方面同时发力,最大限度促进移动应用的 AI 化,才能最终让算力的提升真正释放到移动端软硬件上,化为真实可感的用户体验及产业价值增长点。

  到那个时候,用户也就不需要再为复杂的数值和技术名词所苦恼,直接从体验上就能感知到不同手机之间的巨大差异。

  从这个角度看,浮点计算背后所隐藏的,不仅是 AI 的真实价值,更是手机产业的新起跑线。

 
来自: 钛媒体
码云企业版,专注于助力企业开发 收藏 新浪微博 分享至微信
标签: AI

24小时阅读排行

    最新新闻

      相关新闻