工程师挑战机器学习极限,用 CoreML 成功把 AI 塞进

发布时间:2020-07-08 已收录 阅读:824次

工程师挑战机器学习极限,用 CoreML 成功把 AI 塞进

第一台 iPhone 发布于 2007 年,而机器学习这一概念更是在第一台 iPhone 发布的十年前就已经出现。但这两者碰撞出火花,则是在最近几年才出现的事情。

6 月 4 日,在加州圣荷西举行的 2018 苹果开发者大会(WWDC)上,克雷格·费德里吉吉(Craig Federighi)发布了适用于 iOS 设备的新版机器学习框架 Core ML 2。

2017 年 5 月,除了 iOS 11,苹果还发布了专为加速机器学习任务而设计的 Core ML 框架。在去年的 iPhone X 中,这家位于库帕提诺市的公司推出了首个专为 AI 打造的 A11 Bionic 芯片。在 2018 苹果 全球开发者大会(WWDC)上,苹果发布了新版本的 Core ML 2,对 Core ML 进行了改进,同时,还发布了支持 GPU 的加速工具 Create ML,用于在 Mac 电脑上进行原生人工智慧模型的训练。

近一年的进步令人瞩目,但智慧手机上部署的人工智慧依旧处于起步阶段,还将面临诸多严峻的考验。为了更好地了解这一领域的当前进展,美国科技部落格 VentureBeat 採访了几位正在使用 Core ML 做机器翻译、对象识别和风格迁移的 iOS 开发者。

问题:在 iPhone 上使用风格迁移,手机 RAM 内存无法负荷

Digital Masterpieces 是德国波茨坦哈索・普拉特纳研究所(Hasso Plattner Institute)旗下的公司,其部分投资来自德国孵化器 German Deep Tech,该公司起初并未考虑使用 Core ML。首席技术官弗兰克施·莱格尔(Frank Schlegel)告诉 VentureBeat,使用 Core ML「看起来更像是个巧合」。

他提到:「我们使用的技术源于研究所多年的积累,特别是风格迁移这一将画作、图片或者草图重新组合成其他图像的技术。现在,我们已经能在个人电脑上应用这类神经网络和人工智慧技术了,因此,如果能够将它们移植到 iPhone 上,那实在是太棒了。」

这些想法最终形成了一款叫做 BeCasso 的应用程式,正如施莱格尔所说,这个程序实现了「将图片转换为艺术作品。」(它在今年 WWDC 上登台亮相。)

施莱格尔将整个移植过程描述为「狂野的西部。」他说,在 Core ML 推出后的几个月里,开发者工具还有很多需要完善的地方。「问题是如何在不影响準确性的情况下,实现足够的计算速度。」

在机器学习中,神经网络是一种借鑒于人类大脑生理学原理的计算架构,它由包含节点(nodes)的层(layers)组成。节点类似于神经元(neurons)—— 数据与称为权重(weights)的系数一起输入网络,权重通过抑制或放大数据为输入赋予重要性。深度神经网络由多个层和多个节点组成,一般来说(但并非总是)这个术语的意味着更高的準确性。

「对于风格迁移任务,模型可以训练至任意深度,」施莱格尔说,「更深的模型可以执行更多的操作,但需要更强大的计算能力。」

更深的模型还会佔用更多的存储空间,特别是 RAM(内存)。实际上,风格迁移算法对内存的要求特别高,因为输入数据——图像——会被编码成二级制数据(1 和 0)。

「如果输入的图像过大,你的 RAM 很容易就会爆了」,他解释道。

Digital Masterpieces 的解决方案是发布同一模型的两个不同版本 —— 一个用于 RAM 较小、处理器较弱的设备(如 iPhone 6S,7 和 7S),另一个用于较新的设备(如 iPhone 8,8S 和 X)。这一策略确实奏效:在最新的 iPad 上完成一次风格迁移计算现在只需不到一秒钟时间。

「从各方面看来,我们对结果非常满意,」施莱格尔说。

问题:AI 判断精準度越高,模组本身运算需求也会越变越大

工程师挑战机器学习极限,用 CoreML 成功把 AI 塞进

Memrise 团队打造的一款同名的语言学习应用程序,专门提供基于抽认卡的课程计划,致力于使用人工智慧技术助力语言学习。

「我们的一名 iOS 开发者曾在几天内创建了一个应用的原型」,Memrise 的技术经理詹姆斯·索尔特说,「我们差不多就是从那时候开始做起的。」

模型的工作原理主要是通过识别对象来告诉用户如何用他们的语言表述所识别的对象。但这并非是 Memrise 体验的核心部分,因为它只能识别几百个小玩意儿(Memrise 的工程师使用来自斯坦福大学的公共图像数据集 ImageNet 进行模型训练)。但是,这「引起了苹果公司的注意」,索尔特说道。

「因此,我们坚持做了下去。」索特尔使用开源的神经网络库 Keras 对来自 Google 的数百万张图像重新训练。很快模型就识别出了 20 件新东西,然后是 160 件新东西。

唯一的问题是,随着模型準确性的提高,模型也随之变大。

最终,Memrise 团队在 Create ML 中找到了一个解决方案,不仅将模型训练时间从 24 小时减少至 40 分钟,而且模型大小也从 90MB 减少到 3MB。

「这个用例较为简单,我们能够得到相对好的结果并不意外」, 索尔特说道。

问题:iOS 系统只能完美运行模组 5 秒,硬体撑不住大量运算 工程师挑战机器学习极限,用 CoreML 成功把 AI 塞进

CEO 王博睿(Borui Wang)提到,相对于泼辣修图(Polarr)仅仅 20 人的团队规模来说,Core ML 魅力在于能够在手机上运行「大而複杂」的算法。

但是一切未必都是美好的。在 iOS 生态系统中工作需要「大量妥协」,王说,主要原因是 iPhone 的 RAM 无法为複杂神经网络提供太多的空间,例如,iPhone8 的 RAM 仅为 3GB。

这并不代表 Polarr 团队没有尝试过更有野心的计划,但这些计划以失败告终。在实验室中,模型在运行的前 5 秒内便将处理器和图形芯片的使用率提升至 100%,这将 iOS 设备的性能推向了极限,整个操作系统随后开始卡顿,屏幕和后板异常发烫,电池电量也很快耗尽。

「如果你只是想从名片中提取名字,这很容易,但我们希望机器学习对消费者更有实用价值」,他说:「我认为这还有很长的路要走。」

「当然,我们得到的也不都是坏消息」,王说:「我们的团队使用类似量化的压缩技术取得了不错的成果,模型的尺寸缩减了五倍,并能够以每秒二十帧的速度运行对象识别算法」。

王对未来持乐观态度。他预计,在未来的一到三年内,手机硬件将得到更进一步的改善,电量将成为智慧手机的硬限制,而非处理器和内存。

「当芯片组变得越来越快时,能耗权衡就将成为可能」,他说:「但现在,我们距离这一技术的应用还有距离」。

市场对 Core ML 抱持乐观态度,只需要更多训练模型和基準测试工具

凭心而论,Core ML 2 引入了很多改进。採用批量预测技术,Core ML 2 的速度提高了 30% 它还能支持 16 位浮点和低至 1 比特位的所有量级运算并附带了一个模型转换器,能够与 Facebook 的 Caffe 和 Caffe2、Keras、scikit-learn、XGBoost、LibSVM 和 Google 的 TensorFlow Lite 框架配合使用。

施莱格尔认为这已经足够了。「到目前为止,当前的框架能完全覆盖我们的用例」,他说。

对于这一观点,索尔特表示同意,并且认为 Core ML 有更大的发展空间。

「未来,基于自身庞大的数据,苹果没有理由不发布更多的预训练模型,」他在一封邮件中提到。「较小规模的开发人员即使具备专业知识,仍然没有办法使用大规模数据或者资源来进行长时间的训练。例如,如果存在一种方法不需要使用自有的数据集便可创建图像分类器,这一定会受到所有开发者的追捧——理想地说,开发者只需要声明所需要识别的对象,模型便可通过 Apple 的云服务自动生成。」

对于王博睿来说,他希望未来版本的 Core ML 可以提供改进的基準测试工具。

「我最关切的是理解 GPU/CPU 和热节流机制,」他在一封邮件中写道。「例如,你知道现在的 PC 游戏会怎样绘制 FPS(Frames Per Second, 每秒传输帧数)以及游戏性能检测曲线吗?作为开发者,如果 Core ML 可以支持这类模型,将会是一个很大的突破。当你加载模型的时候,模型便会告诉你什幺时候 GPU 开始节流,根据此生成一系列各种设备(iPhone 5,6,7,8,X)的性能报告。如果苹果公司不这幺做,我肯定会有一些创业公司来做这样的事情。」

延伸阅读

NVIDIA 让 AI 学会造人!随便给几条线,AI 都能製造出拟真度 100% 的假影片
Open AI 用 DOTA2 血洗玩家不是真实力!网民:有种不要读 API、用人类视觉跟我打
前 Uber 无人车负责人莱万创办「AI 教」,想证明人工智慧也有神性