整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

用Android手机和YAMNet ML 模型进行声音分类一

果对文章感兴趣,请关注和评论,谢谢

文 / ML GDE George Soloupis

这是教程的第 1 部分,介绍了如何利用出色的 YAMNet 机器学习模型将手机麦克风录制的声音分类500 多种类别

  • YAMNet 机器学习
  • https://github.com/tensorflow/models/tree/d9541052aaf6fdc015c8150cf6576a2da68771f7/research/audioset/yamnet

本教程分为两部分,您可以按顺序学习,也可以跳到最感兴趣或与您相关度最高的部分:

  • 第 1 部分:ML 模型的架构、将模型转换为 TensorFlow Lite (TFLite) 以及模型的基准测试
  • 第 2 部分:Android 实现
  • Android 实现
  • https://farmaker47.medium.com/classification-of-sounds-using-android-mobile-phone-and-the-yamnet-ml-model-a30c39677342

ML 模型的架构

YAMNet 是一个经过预训练的深度网络,可基于 AudioSet-YouTube 语料库预测 521 种音频事件类别,并采用 Mobilenet_v1 深度可分离卷积架构。下载此图像即可查看模型的构造方式。

  • AudioSet-YouTube 语料库
  • http://g.co/audioset
  • Mobilenet_v1
  • https://arxiv.org/pdf/1704.04861.pdf
  • 此图像
  • https://drive.google.com/file/d/1oIlK2BYETI_93msANwdQQLDnKdwobRhl/view?usp=sharing

模型训练所使用的音频特征计算方式如下:

  • 所有音频均重采样为 16 kHz 单声道。
  • 通过长度 25 毫秒,步长为 10 毫秒,且具有周期性 Hann 时间窗的短时距傅里叶变换计算出声谱图。
  • 长度 25 毫秒,步长为 10 毫秒,且具有周期性 Hann 时间窗
  • https://drive.google.com/file/d/1EAhCdEGd-eVhv6Wlrl8eiVcwnPikcogM/view?usp=sharing
  • 通过将声谱图映射到覆盖 125 至 7500 Hz 范围的 64 个梅尔仓计算出梅尔声谱图。

计算梅尔声谱图

  • 计算 log(mel-spectrum + 0.001) 得出稳定的对数梅尔声谱图,其中的偏移量用于避免对零取对数。

计算稳定的对数梅尔声谱图

  • 然后将这些特征分帧成具有 50% 重叠且长度为 0.96 秒的示例,每个示例覆盖 64 个梅尔频段,总共 96 帧,每帧 10 毫秒。

生成批量输入特征

之后,将这些 96x64 的片段馈送到 Mobilenet_v1 模型,以在卷积之上针对 1024 个内核生成一个 3x2 的激活函数数组。平均之后将得到 1024 维的嵌入向量,然后通过单个逻辑层得到对应于 960 毫秒输入波形段的 521 个按类别的输出得分(由于采用窗口分帧,您至少需要 975 毫秒的输入波形才能获得第一帧输出得分)。

模型采用了大量的卷积和深度可分离卷积层。

您可以在这一篇文章中找到大量有关深度可分离卷积的信息。简单来说,卷积、深度卷积和深度可分离卷积的区别如下:

  • 文章
  • https://towardsdatascience.com/a-basic-introduction-to-separable-convolutions-b99ec3102728

常规卷积

来自 medium @zurister

深度卷积 (Depthwise Convolution):

来自 medium @zurister

深度可分离卷积 (Depthwise Separable Convolution):

来自 medium @zurister

上一示例中,我们使用对深度卷积使用 1*1 滤波器来覆盖深度维度,并将其与水平维度分开。

模型的转换

将模型转换为 TensorFlow Lite (TFLite) 文件的过程并不容易。您可以点击此处查看此过程的一个示例,该示例详细说明了如何解决声谱图期间使用的特定运算符(RFFT 和 ComplexAbs)的转换问题。

  • 此处
  • https://medium.com/@antonyharfield/converting-the-yamnet-audio-detection-model-for-tensorflow-lite-inference-43d049bd357c
  • RFFT
  • https://www.javadoc.io/doc/org.tensorflow/libtensorflow/1.9.0/org/tensorflow/op/core/RFFT.html
  • ComplexAbs
  • https://www2.clarku.edu/faculty/djoyce/complex/abs.html

TensorFlow Lite 模型托管于 TensorFlow Hub。另外,此处提供了大量此模型的相关信息。通过 Python 代码对 tflite 模型运行推理的过程如下:

interpreter = tf.lite.Interpreter('/path/to/yamnet.tflite')

input_details = interpreter.get_input_details()

waveform_input_index = input_details[0]['index']

output_details = interpreter.get_output_details()

scores_output_index = output_details[0]['index']

embeddings_output_index = output_details[1]['index']

spectrogram_output_index = output_details[2]['index']

# Input: 3 seconds of silence as mono 16 kHz waveform samples.

waveform = np.zeros(3 * 16000, dtype=np.float32)

interpreter.resize_tensor_input(waveform_input_index, [len(waveform)], strict=True)

interpreter.allocate_tensors()

interpreter.set_tensor(waveform_input_index, waveform)

interpreter.invoke()

scores, embeddings, spectrogram = (

interpreter.get_tensor(scores_output_index),

interpreter.get_tensor(embeddings_output_index),

interpreter.get_tensor(spectrogram_output_index))

print(scores.shape, embeddings.shape, spectrogram.shape) # (N, 521) (N, 1024) (M, 64)

模型的输出为:

  • 得分,一个 float32 张量,形状为 (N, 521),其中包含对 YAMNet 支持的 AudioSet 本体中每 521 个类的逐帧预测得分。
  • 嵌入向量,一个 float32 张量,形状为 (N, 1024),其中包含逐帧嵌入向量,而嵌入向量是馈送到最终分类器层的平均池化输出。
  • log_mel_spectrogram,一个 float32 张量,表示整个波形的对数梅尔声谱图。这些是传递到模型的音频特征。
  • TensorFlow Hub
  • https://hub.tensorflow.google.cn/google/lite-model/yamnet/tflite/1
  • 此处
  • https://hub.tensorflow.google.cn/google/yamnet/1

性能度量

有一款出色的工具可帮助我们对 TFLite 模型进行基准测试 (Benchmark)。TensorFlow Lite 基准测试工具目前可度量并计算以下主要性能指标的统计信息:

  • 初始化时间
  • 预热状态的推理时间
  • 稳定状态的推理时间
  • 初始化期间的内存用量
  • 总体内存用量
  • 基准测试
  • https://tensorflow.google.cn/lite/performance/measurement

您可以在 Android 和 iOS 上安装相应的基准测试应用,或以本机命令行二进制文件的形式使用这些基准测试工具,无论哪种形式,皆共用相同的核心性能度量逻辑。

对 tflite 模型进行基准测试后,我们得到了出色的成绩:

在这张图中,我们可以看到,不论是使用 Pixel 3 还是 Pixel 4,我们都可以使用 CPU 的 2 个或 4 个线程,获得最少的推理时间。此外,该工具在处理模型时会指出一个 GPU 错误。查看 logcat 时我们会看到:

Error: Attempting to use a delegate that only supports static-sized tensors with a graph that has dynamic-sized tensors.

这些结果对 android 应用开发的有很大的帮助。我们无需再使用 GPU 代码,且实现的参数可提升应用的运行速度!

这样,我们对模型架构、将模型转换为 tflite 以及基准测试的讨论就告一段落了。后续步骤包括通过 android 手机的麦克风录制声音、在应用中插入 tflite 模型以及在屏幕上显示结果(教程第 2 部分未完待续)。

感谢 Sayak Paul 和 Le Viet Gia Khanh 的评审和支持。

关于作者

George Soloupis,我从一名药剂师转行成为了 Android 开发工程师。目前积极活跃于 Google 的移动操作系统 TensorFlow Lite 机器学习工作组。

篇,我整理和测试了六款来自国际大部队的 Android 浏览器,包括大热门的 Chrome、支持丰富扩展的 Firefox、主打隐私安全的 Firefox Focus、颇有历史底蕴的 Opera,以及后来者 Microsoft Edge、Yandex。

除了国际大厂出品的产品外,国内开发者也在 Android 浏览器品类下发力,在保持简洁设计的基础上,它们希望寻求提供更多差异化的功能。这次我挑选了五款 Android 国产浏览器,一起来了解一下它们有怎样的表现,究竟有哪些亮点功能。

夸克:卡片风格 + 神奇的下载效果

首先登场的是被不少人「吐槽」的 夸克浏览器,网上有朋友抱怨夸克经过近两年(2016 年 10 月发布了第一版)迭代更新,安装包体积是越来越大,甚至有反映说有些网站不能在夸克上打开(其他浏览器却能正常打开)。在我的使用体验中,我还没有碰到这些问题,夸克横空出现为当年浏览器产品界带来了一阵清新的风格。

夸克首屏

在经历近两年年时间的发展后,我认为夸克还是有几个值得赞赏的功能亮点:

简约的卡片风格

在应用主界面,夸克采用精简的布局元素:品牌 Logo、搜索框、精选网站导航以及底栏共四部分构建了简约的首屏效果。除此之外,卡片风格成为了夸克标志性的元素之一,后台标签页管理、菜单弹出样式均采用了卡片堆叠的风格。

轻应用

从去年年中推出的 v2.0 版本开始,夸克加入了轻应用的功能,将一些在垂直领域颇有人气和观点的社区网站重新封装,打包成轻应用。从整体的效果来看,夸克的轻应用在阅读体验上还是有一定的提升效果,这点对资讯类网站尤其明显,内容排版去除了恼人的广告以及其他无关元素,同时在打开速度上也有不错的表现。但是,轻应用仍然缺乏调整文字大小选项、夜间模式下对比度下降导致内容阅读出现「看不清晰」的问题。

神奇的下载效果

使用夸克下载网盘资源有着神奇的效果,官方号称支持多线程加速、多任务并行的特性,在采用默认的下载选项时,下载速度大约在 300KB-600KB/S 的区间内。如果要实现提速下载的话,按照下面的图示调整下载线程:

我们将下载线程调至 64,重新下载百度网盘的文件,速度可以稳定达到 2-5MB/S,这样实现了可能是手机端最简单百度网盘资源高速下载的方法之一。

适度的手势操作

夸克内置的手势操作显得很「克制」,并没有提供复杂的手势组合,仅支持了几个相当常用的操作习惯,比如滑动前进/后退、底部上滑返回首页、长按标签管理按钮打开新标签页。

同时,夸克还有几个省心的实用功能:解决打开某些网页时自动跳转第三方 Apps 的问题;自带的在线播放组件,适配了国内大部分视频网站,视频弹窗间接解决了视频页面的干扰元素;在输入网址时提供了快速补全工具条。

Via:几百 KB 的小身板

Via 的出现不禁发出这样的感叹:原来浏览器应用可以将体积做得如此小巧,首屏界面竟然可以做得如此纯粹简单,长时间体验过后在这八百多 KB 小身板上发现不少实用功能:

还你定制安静浏览器的权利

厌倦了浏览器首屏烦人的新闻内容、露骨的资讯标题,或者一大堆不感兴趣的快速访问导航,那么 Via 还你一个定制安静浏览器的权利。初次打开 Via 浏览器,不禁想起了一句话:这才是一款纯粹浏览器该有的样子,主页仅有顶栏和底栏的工具条、品牌 Logo 和搜索框。

虽然采用极简的主页设计风格,但是 Via 依然拥有丰富的定制选项,包括了在主页添加常用网站,Logo、背景图片、颜色风格、背景不透明度、隐藏搜索框,甚至给用户自定义 CSS 的方式更细致地调整界面效果。

丰富的在线插件体系

Via 另一大特色功能是拥有丰富的在线插件体系,打开菜单栏的工具箱,我们看到了十个小工具,其中源码和资源嗅探是我经常使用的功能之一。源码功能是为了偶尔学习一些网页编程的知识(对于我这个小白来说),而资源嗅探解决下载网页中的音乐、视频等资源,比如需要下载 Instagram 的视频,打开目标页面并播放视频后,依次选择 Via 浏览器「工具箱 - 资源嗅探」,将弹出真实的视频地址,接下来使用第三方下载工具保存至本地,或者点击资源地址后在新标签页单独播放视频。

除此之外,Via 还提供了多个实用在线插件,包括了知乎去网页限制、微信公众号音频下载、B 站视频下载、回到页面顶部/底部,用户只需打开设置选项的插件页面,即可在线安装和管理插件。

多种手势组合

与前面夸克相比,Via 支持更多的手势操作,目前提供了滑动前进/后退、长按标签管理按钮打开新标签页、长按主页按钮弹出网址输入框、长按底栏左右键实现回到网页顶部/底部、长按菜单按钮刷新页面、上滑主页键弹出后台标签页。虽然手势学习的成本略高,但熟练后大大提升了浏览器操作的效率。

X 浏览器:有趣的地址栏命令

X 浏览器 首屏设计风格虽然不及 Via 来得纯粹,除了自带「合作」站点的网址导航外,并没有推送新闻资讯等干扰因素,下面是我在体验过后,找到了这款浏览器有趣的设计和强大的功能。

有趣的地址栏命令

与 Chrome 类似,X 浏览器支持在地址栏输入 x: 开头的特定代码,直接打开相应的功能:设置、历史记录、书签等,比如输入 x:setting 即可打开浏览器的设置页面。其他命令还包括了 x:as、x:custom、x:gs、x:adb、x:me、x:addon、x:info,尝试输入以上的命令,探索更多的便捷操作。

即时翻译和即时词典

X 浏览器提供了常规的网页全文翻译功能(使用百度翻译),在此基础上还带来了即时翻译和即时词典,其中即时翻译是在长按选择网页的单词时浏览器界面立刻显示翻译结果,即时词典则扩展了地址栏功能,用户输入单词时将看到翻译结果在备选项中。

为每个网站设置不同的浏览策略

X 浏览器支持对每个网站设置单独的浏览策略,比如打开知乎网站后,点击浏览器界面左上角的按钮,选择「网站设置」,可自定义广告拦截规则、切换独立 UA、禁止页面启动外部应用、禁用 JS、禁用 Cookies,将 UA 设置为 ipad 或者桌面后,可以突破知乎查看全部回答时跳转至 Apps 下载页面的问题。同理,运用不同的设置策略,可以突破 bilibili 在手机浏览器六分钟视频时长的限制。

内置实用又强大的插件

目前,X 浏览器内置了三款插件:二维码增强版本、微信朋友圈、ADM 下载器,虽然前面两个插件略显普通,但是 ADM 下载器却有着神奇的下载功效。不过吐槽一点的是每个插件下载后需要弹出单独的安装界面,对于一些朋友来说可能会有所反感。

最后,X 浏览器还拥有其他贴心的功能:嗅探媒体资源、强力广告拦截效果,希望这款浏览器继续保持这简单极致的风格,正如产品开发者所言:不完美但在原则上努力做到极致。

神奇浏览器:自主开发的阅读模式

神奇浏览器 属于一个人开发的个性产品,仅约 900KB 的小身板,却同样拥有纯粹简洁的设计风格和网页浏览体验。除了拥有之前几款浏览器内置的广告拦截(神奇浏览器还有一个名为天网的广告拦截进阶功能)、翻译、ADM 下载插件外,神奇浏览器在下面两个方面有更加完善的功能。

分类显示嗅探的资源

与前面介绍的 Via 和 X 浏览器类似,神奇浏览器同样具备资源嗅探的功能,不过其提供的选项更加完整。神奇浏览器的资源嗅探支持分类显示图片、媒体、JS 文件、样式文件等大分类,让用户更容易找到希望下载的资源。

阅读模式

神奇阅读器是我在这次体验另中唯一支持阅读模式的 Android 国产浏览器,虽然与稍后读工具相比,其阅读体验上还有不少差距,但已经提供了字体大小、主题背景色更换的选项。在阅读模式下去除了网页干扰元素,相当适合阅读深度长文章。除了提升资讯站点阅读体验外,神奇浏览器的阅读模式还支持自动解析小说下一章 ,对在线小说爱好者会是一大福音。

星尘浏览器:小球设计和临时搜功能

星尘浏览器 是凤凰工作室和世界之窗浏览器的创始人重新创业的作品之一,从浏览器的 Logo 图标依稀看到当年世界之窗的影子。

有趣的一级菜单设置页

如果厌倦了浏览器多级菜单的设置项,开关某个功能时需要打开多级路径。星尘浏览器的设置项摒弃了多级菜单,仅仅保留了一级菜单,将全部功能开关项放置在一个页面,方便用户更加直观地了解浏览器究竟提供了哪些功能选项。

快捷的交互操作

星尘浏览器拥有一个标志性的小球设计,用户通过底栏的主页键可快速完成常用操作,小球支持左右滑动切换标签页,向上滑动关闭当前页面。

临时搜

星尘浏览器将地址栏放置在界面底部,并且在其右侧加入了「临时搜」的按钮,用户选中搜索词,可以直接实现搜索功能,或者点击临时搜的图标后手动输入搜索的内容,简化了网页二次跳转的操作步骤。

结语

在体验了这五款 Android 国产浏览器后,我发现了它们在手势操作、实用插件等功能上发力,这些在 Chrome、Firefox 国际大厂出品的浏览器上均没有提供,深入使用后我认为这些小细节确实大大提升了浏览器的操作效率和网页浏览体验。

所以,我希望将这几款浏览器介绍给正在寻求好用 Android 浏览器的朋友,欢迎你们在留言区写下对这些浏览器点赞、吐槽的内容。

东西(公众号:zhidxcom)文 | Kiva

进入2018年最后一个季度,手机AI芯片进入一个全新时代。

恰好就在今天,苏黎世联邦理工学院公布了超过10000部安卓手机和芯片的AI Benchmark深度学习处理性能分数。结果不出意料,搭载专用AI处理器的华为麒麟970芯片得到了最高的AI-Score分数——超过6000分,几乎是第二名的三倍。

完整列表:http://ai-benchmark.com/ranking.html

随着手机芯片AI化的两个主流玩家新品的亮相,即华为麒麟980和苹果的A12处理器的推出,已经为手机端AI芯片2019年的竞争格局定下了基调。

AI芯片在智能手机中的应用,已经从在拍照中的物体识别、场景识别(如华为P20 Pro中AI摄影大师),发展到针对视频中人体姿态、动作进行实时AI分析的全新功能(如今年IFA展上,华为基于麒麟980推出的“慧眼2.0”),竞争门槛也进一步拉高。

我们看到,在华为、苹果头部玩家的引领下,AI芯片成为智能手机标配的同时,这一领域的马太效应也越来越明显。与此同时,AI芯片行业也走过了野蛮生长,开启了加速落地模式,全芯片产业链都开始积极拥抱人工智能。

拥有先发优势的玩家们,则更为积极地在AI芯片道路上飞速奔跑。先是8月的最后一天,华为在德国IFA展上率先推出了新一代的AI芯片麒麟980芯片,半个月后,苹果在新款iPhone上搭载了新一代的仿生芯片A12。几天前,华米推出了全球智能可穿戴第一颗AI芯片黄山一号。

在业界最受关注的华为和苹果手上的两颗AI芯片落子后,AI芯片在手机端的应用也将进入到一个全新的普及阶段。在技术和应用落地方面,都产生了极大的突破。

基于智东西过去一年对AI芯片行业持续的跟踪报道和产业链广泛的调研 ,我们发现,以手机芯片为代表的终端AI芯片正呈现五大典型发展趋势。这五大趋势不仅是华为、苹果们的发力点,也将大幅度升级AI芯片加持下的移动终端体验。换句话讲,这一轮围绕这五大趋势的AI芯片行业升级,将很大程度上影响未来智能手机江湖市场格局。

AI芯片气势如虹 智能手机成最大受益者

业内一般认为,AI芯片指的是根据神经网络等AI算法,进行特殊设计的芯片。根据应用场景划分,AI芯片目前可分为用于云端服务器机房等地的云端AI芯片,以及用于端智能、IoT设备的终端AI芯片。

对于手机来说,芯片是其大脑和灵魂,集合着CPU、GPU、DSP、通信模块等实现其他功能的硬件基础,也是智能手机中高低档划分的重要指标。芯片作为底层基础,也决定着智能手机性能的想象空间。

在华为率先在传统的手机SoC中加入独立的AI独立处理单元NPU后,AI独立处理单元的设计也成为了行业的发展趋势。

AI独立处理单元的加入,全面提升了智能手机的用户体验。在拍照、解锁、游戏等智能手机的广泛应用中都会应用到AI处理模块的运算能力,对手机运算速率的提升有极大的影响。

从目前来看,手机是AI芯片最大的获利行业,同时手机端的AI芯片进展也在引领着整个终端AI芯片行业的发展。

终端AI芯片的五大行业趋势

2017年9月2日,华为率先发布了全球首款人工智能移动计算平台麒麟970,创新性地集成人工智能专用NPU神经网络单元,打响了AI芯片落地智能手机的第一枪。

紧接着,10月20日,华为在上海发布了搭载这款AI芯片的年度旗舰手机Mate10,将AI算力全面释放到智能手机中,给手机用户带来了前所未有的AI场景识别、AI翻译等多项创新性体验。

在麒麟970发布后,科技巨头苹果也不约而同的采用了这一策略,在9月13日发布iPhone X,使用了自研的手机芯片A11,其中内置了名为Neural Engine的神经网络处理单元。

进入到2018年,终端AI芯片的战火越燃越旺,芯片产业链上下游的IP授权商、设计商、制造商都联动起来,共同开发终端的AI算力。

上半年,老牌芯片公司ARM推出了机器学习平台Project Trillium以及两款人工智能IP、中端手机芯片巨头联发科发布支持AI和计算机视觉的芯片Helio P60、手机芯片巨头高通推出基于其枭龙芯片系列的人工智能引擎(AI Engine)。

下半年,在终端AI芯片上开山辟路的华为,又带头向前迈出了一大步,推出全球首款7nm工艺、“双核NPU”设计的AI芯片——麒麟980。两周后,苹果也继续跟进推出了7nm工艺的新一代的仿生芯片A12。

手机芯片巨头高通将在今年年底发布新一代旗舰芯片骁龙855,据说骁龙855中也将采用专用的AI模块,目前国内某AI芯片创企已收取NRE费用,为其开发人工智能IP模块。

在新玩家不断涌入,老玩家进一步开山辟路的行业鏖战期,智东西发现,目前终端AI芯片正呈现着以下五大行业趋势:

1、架构升级,多核心多单元配合

以往的手机芯片普遍是以CPU(中央处理器)/GPU(图形处理器)/DSP(数字信号处理)为核心的传统计算架构,但这种架构难以支持AI海量数据计算。玩家们为了在终端上实现AI计算,选择了不同的架构方式。

华为作为业内第一个推出手机AI芯片的玩家,在麒麟970中率先单设了一个专门的AI硬件处理单元NPU。今年的麒麟980则依然延续了NPU的设计,但将原本的单核升级成了双核,在性能上也有了大幅度的提升。

双核NPU的升级主要体现在视频检测、物体细节识别、物体分割三方面上:原先单核NPU进行AI物体实时识别时只能认出轮廓,现在可以识别出画面细节;原先只能实时处理图像,现在则可以做到实时视频检测和处理;原先在实现画面实时物体分割时线条轮廓较为粗放,现在在双核NPU的驱动下则能做到更精细。

CPU方面,麒麟980也从去年麒麟970的4大核+4小核,升级到了2个超大核+2大核+4小核的全新设计,这三种核的分工不同,小核能够支持音乐、短信这类日常使用,大核能够支持社交软件、图片软件这类应用,超大核则是用来处理对性能要求比较高的游戏等应用。

GPU方面,去年的麒麟970用上了ARM推出的Mali-G72 MP12架构——这是Mali-G72 MP12 GPU的首次商用。这个架构很厉害,比上一代的Mali-G71性能提高了40%,能效提高了25%。而在今年的麒麟980,则采用了基于Mali G76打造的GPU,能够做到性能提高46%,能效提升178%。

架构升级,多核多单元的方案也同样在苹果A系列芯片上体现。

与华为类似,苹果在芯片中添加了一个专用于机器学习的硬件——“神经网络引擎(Neural Engine)”。

去年推出的A11处理器中,神经网络引擎采用了双核设计,今年的A12芯片则将神经网络引擎数量提升到了8个。在CPU方面,苹果A12的整体框架没有调整,依然采用2个大核(性能核)+4个小核(能效核)的结构。

为了使得多核间更好的调度和配合,华为还专门打造了一条灵活调度的智能CPU调度方案,能够自动为应用配备适合的CPU核来计算。

无论是双核还是8核,通过核数的调整,大小核的配合,一直是芯片进化的一个很重要的技术方向。

2、工艺制程升级,决胜7nm普及落地

在芯片上,集成电路的精细度,是一个重要的行业指标。目前,半导体芯片主流制程工艺为14nm和10nm。在同样的材料中集成更多的电子元件,连接线越细,精细度就越高,芯片的功耗也就越小。

除制程工艺限制外,由于7nm芯片制造的难度巨大,几乎逼近了硅基芯片的物理极限,需要的研发时间和资金投入都非常高,因此,7nm芯片成为了长时间以来令业界头疼的一个大问题。

不过,今年7nm制程在终端AI芯片上取得了突破性的进展。华为麒麟980是业内推出的首款7nm制程的手机芯片,由台积电代工,比指甲盖还小的硅片上集成了69亿个晶体管。

其实,早在2015年华为就开始投入7nm技术的相关研究,据华为方面表示,麒麟980的研发费用则高达数亿美元,几十亿人民币。

苹果今年推出的A12芯片,也同样采用了7nm的技术工艺,由台积电代工,集成69亿个晶体管。据了解,今年年底将亮相的高通骁龙855也将采用7nm工艺。

与此同时,其他芯片代工或制造厂,在7nm芯片的研发上,则似乎遭遇了瓶颈。

三星半导体的7nm目前还没有确切消息传出,这也导致就连高通今年也将骁龙855的订单交给了台积电而非三星,而英特尔的10nm芯片也处于难产状态。

上个月,全球第二大芯片代工厂格芯宣布,将暂停开发7nm技术。这也导致了随后全球第二大微处理器厂AMD表示,所有7nm产品包含服务器芯片与显卡,都将交由晶圆代工龙头台积电代工。

虽然,7nm制程仿佛一道鸿沟,将芯片玩家分成了两拨。但前面所提到的玩家,尤其是华为,在对7nm工艺落地的不懈追求。因此我们也看到,摩尔定律仍然没有消失,仍然在持续引领人类对芯片制造极限的挑战。

3、系统层为AI开发者铺路架桥

为了将AI芯片的计算能力开放给更多的开发者使用,玩家们一边在布局AI芯片硬件的同时,一边也在进行系统级的AI优化。玩家们也会推出对应的AI模块、框架、API给开发者,便于开发更丰富的应用,通过获得更好的AI性能,最大程度上发挥AI硬件的性能。

在系统优化和面向开发者布局方面,华为有HiAI、苹果有Core ML,而高通则有AI Engine。

华为的HiAI平台(全称HiAI移动计算平台),面向开发者提供人工智能计算库及其API,使开发者更容易编写移动设备上的AI应用。

据了解,随着麒麟980的推出,HiAI平台能够支持147个算子,开放了33个API接口及1000多种能力。

新推出的AI芯片麒麟980支持Caffe、Tensorflow、Tensorflow Lite等主流框架,供了离线编译、在线编译、8bit量化等一系列完整工具链,既可以大大降低端侧模型部署的工程难度,还可以利用NPU差异化优势发挥出最强算力;支持CPU、GPU、NPU、DSP等的异构计算,方便深度学习算法在麒麟980的自动灵活调度执行。

对于普通APP开发者来说,HiAI将会提供已经封装好的语音识别、图像识别等技术,开发者们不需要自己做基础AI研发,可以调用HiAI中封装好的AI技术直接应用,降低了获得AI计算力的门槛。

举个例子,HiAI平台中的人脸检测API可以检测图片中的人脸,返回高精度人脸矩形框坐标,用于各类人脸识别场景,如人脸解锁、人脸聚类、美颜等场景中,并通过对人脸特征及位置的定位,实现对人脸特定位置的美化修饰。

而图片分类API可以识别图片中物体、场景、行为等信息,返回对应标签信息,如:花、鸟、鱼、虫、汽车、建筑等等,可用于图库照片自动分类整理、社交图片识别分享等。

在今年10月份即将召开的华为全连接大会上,华为将会公布HiAI平台的新进展。

在去年WWDC开发者大会上,苹果推出了Core ML机器学习框架,能让开发者更方便地将CNN、DNN、RNN等AI神经网络整合到自己的APP当中,A11也首次支持了Core ML。在A12中,Core ML的应用速度猛增了9倍,并且只需要原先1/10的能耗。

高通方面,今年2月宣布推出人工智能引擎(AI Engine),在高通骁龙核心硬件CPU、GPU、VPS向量处理器的架构上搭载了神经处理引擎(Neural Processing Engine,NPE)、安卓版神经网络的API、Hexagon神经网络库等软件。AI Engine还包括软件开发工具包SKD,可以使开发者和OEM厂商将训练的网络接入到此平台。

由此可见,在有了AI芯片后,想要在更大程度上发挥它的作用,必需要有好的移动计算平台的支持,才能让芯片和系统更好的配合,并发挥最大的作用,这已是行业的共识。从华为HiAI平台所提供的丰富的API接口和能力来看,华为目前在系统层面为开发者调用AI能力铺好了道路。

4、应用AI化升级 拼质量拼生态

“得开发者得天下”,除了手机厂商自家的系统级的AI应用外,好APP也是消费者选择购买智能手机的一大理由。与此同时,应用生态构建的建设也将成为时下竞争的热点。

而为了让第三方的AI应用能够真正运行得好,不仅仅是NPU单一硬件组件的问题,而是系统软硬件调配的过程,对于第三方应用开发者来说是一个难点。

为了配合NPU华为还面向第三方开发者开放HiAI移动计算平台的人工智能计算库HiAI API,便于开发者在移动设备上编写AI应用,而HiAI平台也成为华为构建AI APP生态的核心。

作为华为AI生态布局的核心,HiAI平台可提供3大类的API,CV机器视觉引擎、ASR引擎和NLU(自然语言)引擎,以及和微软合作的IDE计算模型。

在华为手机的应用商店里,设有AI应用专辑,通过将HiAI平台的能力开放给第三方应用开发者,构建起手机终端应用生态。

目前已经有不少第三方应用已经接入了HiAI平台的AI能力,比如微软翻译、快手、抖音、京东、美团、Prisma等,它们有的采用视频处理优化技术、有的采用图像识别挂钩电商技术、有的则采用滤镜美化类技术,图像处理速度最高能达到原来安卓机器性能的10倍。

为了激励开发者,在今年举办的首届华为终端开发者大会上,华为表示将面向开发者全面开发“芯-端-云”能力框架,同时,通过耀星计划、DigiX创新工作室加速终端应用和场景化内容开发,并宣布每年投资10亿元用于扶持开发者生态建设。

可以看到,在应用方面,搭好舞台吸引更多开发者唱好戏、多唱戏是终极目的,这里的搭好舞台其实就是AI应用生态的竞争。苹果在这方面一直很重视,华为则在技术支持、资金扶持发力。

5、体验进化 AI计算实现实时处理

在消费者体验方面,华为也更具创新性和技术实力。用户能从摄影、通话等方面直观地感受到AI芯片加持下的性能提升。

拍照功能是将手机AI芯片能力发挥最淋漓尽致的功能之一,而从最近几款旗舰手机的表现看,一个共同趋势越来越明显,即很多实时处理结果前移,也就是很多AI处理结果变得所见即所得了。典型案例就是目前手机厂商主打的AI场景识别外,以及对图像深度信息和细节的智能补充。

今年4月,华为推出业内首款搭载三个摄像头的P20 Pro,并在P20 Pro上搭载AI摄影大师(Master AI)功能。也正式凭借着这一功能,华为P20 Pro凭借109分的成绩登顶了DxOMark手机拍照性能榜单。

AI摄影大师(Master AI)通过在算法架构维度上设计了一个推荐引擎来实时获取取景画面的信息,可以根据场景识别、人脸检测的结果,按照预定义的规则执行推荐,上报到用户操作界面。

同时,AI摄影大师(Master AI)还将记录当前使用者的操作行为并反馈给推荐引擎。通过不断学习用户的使用习惯,逐渐达到能够向该用户推荐对其量身定制的、令其满意的拍照模式的目的。

目前,通过图像理解、语义分割算法以及模型训练结果,AI摄影大师可以智能识别/区分19个类别,500+个场景。

在手机最核心的通信功能方面,以通讯设备厂商起家的华为有着20多年的实战经验,现在更是做到了全球数一数二的通讯巨头,在信息传输、通话、5G等方面都有着深厚的积累。尤其在高铁通话方面,华为深入到芯片层面,利用“提前识别切换区域”方法,让信号在飞驰的列车上仍可以顺畅衔接。最明显的感触就是,在高铁上用华为手机打电话“不掉话”。

此外,苹果在刚刚推出的iPhone Xs和iPhone Xs Max上搭载的“智能HDR”和“景深控制功能”(Bokeh),也是实时处理前移的典型案例。

华为率先试水AI,成安卓阵营首发

智能手机是AI芯片落地应用的最重要场景,集合着CPU、GPU、DSP、通信模块等功能实现的手机芯片,也是智能手机中高低档划分的重要指标,决定着智能手机性能的想象空间。

目前,手机厂商在AI芯片上的布局处于不同阶段。在全球前五的手机厂商中,排名前三的三星、华为、苹果都具有自主研发手机芯片的实力。

在安卓阵营中,华为率先开始试水AI,从AI芯片、语音助手、原生AI应用,到数据同步、手机安全等基于云的各种服务,再到面向第三方应用开发者的HiAI平台,正在形成一套贯穿终端、芯片、云、生态的整合AI打法。

除了自力更生的华为外,安卓阵营里的OPPO、vivo和小米等众多智能手机厂商在芯片方面的故事则较为单薄,因此,在AI芯片上需要借助芯片巨头高通的实力,来解决计算力需求。高通在去年推出的骁龙845时,也推出了AI Engine的说法,利用CPU、GPU以及DSP等模块的配合进行AI计算优化。

同时,位于产业链上游的Arm也有所动作,日前,在上海举行人工智能大会,Arm不仅推出了全套嵌入式AI开发套件EAIDK。而据业内人士透露,Arm自家的AI芯片计划同时也在快速推进当中。

终端AI芯片的广阔天地

AI能力下放到终端是2018年的重要行业趋势趋势,除手机这一出货量最大的终端产品外,其他的终端AI芯片也非常火爆,比如安防、自动驾驶、智能家居、可穿戴等。

在安防领域,深思创芯、中星微电子、云天励飞、耐能等纷纷推出内嵌于安防监控摄像头的AI芯片;在自动驾驶领域,由英伟达、英特尔这样的芯片巨头,和地平线等创业公司整合成为自动驾驶计算平台。

智能家居领域,则主要围绕语音AI展开,典型产品包括亚马逊打造Echo智能音箱AI芯片、启英泰伦打造的家用电器语音AI芯片、杭州国芯打造语音AI芯片等。今年3月,英伟达也宣布将自己的AI芯片Xavier集成到Arm的AI项目Project Trillium里面,让IoT芯片厂商容易地打造AI芯片。

从终端AI芯片应用场景的多元性可以看到,AI正在以芯片为基础,在带来更多新应用的同时,正在促生着一场终端设备革命的到来,加速着硬件市场产业的发展。

结语:手机AI芯片进入普及爆发期

2017年可以说是AI芯片的概念普及和创业热情爆发期,其中华为率先开创了手机AI芯片的先河,华为也携手科技巨头苹果在2017年为智能手机行业奠定了AI算力下放到终端的行业基调,全面点燃了手机终端AI芯片研发的热情。

进入2018年,整个智能手机AI芯片产业链都被联动起来,三星、高通、联发科等都在涌入激烈的市场竞争中。与此同时,华为和苹果两家则凭借敏锐的行业前瞻性和先发优势,继续在行业前端奔跑,引领行业发展的新趋势。

随着华为麒麟980和苹果A12芯片的相继推出,未来一段时间的手机AI芯片的行业趋势也已经显现:7nm制程工艺、多核多单元的架构设计、系统升级和开发者升级、应用升级、实时处理的前移,这五大行业趋势将引领着手机AI芯片行业的爆发。