Google I/O 2021 What‘s new in Android Machine Learning

Google I/O 2021 What‘s new in Android Machine Learning

视频地址:Android 机器学习新功能,Video 时长:9min29s

以下是视频内容的摘要,以供参考。

[En]

The following is a summary of the video content for reference.

; 一、背景知识

设备端的机器学习近年来发展迅速,Google I/O 2021 《What’s new in Android Machine Learning》这一part主要从设备端 机器学习的一些优势、常见应用场景、在部署中面临的一些技术挑战、以及Google针对这些问题的解决方案几个方向来展开。

二、分享内容

2.1 设备端机器学习的发展与优势

在过去的十年里,机器学习在视觉、语音处理和语言任务能力方面取得了很大的进步。

[En]

In the past decade, machine learning has made great progress in vision, speech processing and language task ability.

与云部署相比,设备端机器学习有很多优势:

[En]

Compared to cloud deployment, device-side machine learning has many advantages:

  • 在本地设备上处理数据可以减少无线电使用,从而降低功耗
    [En]

    processing data on local devices can reduce radio usage, thereby reducing power consumption*

  • 消除往返,改进延迟
  • 减少隐私数据暴露
  • 不仅可以离线使用,也可以在线上使用
    [En]

    can be used not only offline, but also online*

常见应用:视频会议背景模糊、实时语音字幕、使用ML Kit进行实时姿态检测、离线翻译、手写识别等,其他内容可以访问g.co/on-device-ml

Android设备上ML发展迅速,包含硬件加速功能的设备超过7.3亿,ML Kit每月活跃用户超过5亿

2.2 设备端机器学习面临的一些挑战

在Android上部署这些应用面临一些共同的挑战

  • 包体大小的限制
  • 设备之间的性能差异、稳定性和准确性
    [En]

    performance differences, stability and accuracy between devices*

  • 设备的兼容性大导致的通用机器学习API数量稀少(不同版本的支持)

能有一套组件来解决这些问题吗?

[En]

Can there be a set of components to solve these problems?

2.3 解决方案

提供一套可更新的完全集成的机器学习推理堆栈(方案)

  • 无需捆绑和集成机器学习相关组件
    [En]

    there is no need to bundle and integrate machine learning related components*

  • 为性能优化提供多种硬件加速
    [En]

    provide a variety of hardware acceleration for performance optimization*

  • 适用于各个Android 版本的统一API,定期从Google获取常用更新

就是 TensorFlow Lite for Android

  • 通过Google Play为Android设备预装TensorFlow Lite, 不需要捆绑安装,减小包体大小, 通过Google Play自动更新
  • TensorFlow Lite 集成硬件加速,通过向模型中添加元数据,为模型选择最佳性能的后端,CPU性能提升了50%,

TensorFlow Lite拥有强大的CPU后端,并能使用Android基础的硬件加速

之前想让模型运行在GPU上,在Android上非常复杂

  • 性能、稳定性和准确性都会因为芯片组合GPU驱动程序而异
  • 需要设置实验,从不同设备获取数据进行培训
    [En]

    need to set up experiments to obtain data from different devices for training*

目前,已经提供了部分解决方案,从TFLite 2.3起,Android版内置了GPU加速支持列表,只需实例化,通过GPU代理类安全使用确认支持的相关硬件调用,但是并没法衡量使用GPU后是否达到加速效果

为此提供了自动加速,将模型考虑在内,借助额外的元数据,检查模型是否正常运行,以及使用加速器时的性能是否优于CPU。自动支持列表不仅适用于CPU和GPU,还适用于其他DSP、NPU

Android 神经网络API

随着新ANdroid机型DSP、NPU硬件单元的增加,NNAPI可以保证在不同设备上访问这些底层硬件单元

但是自Android 10版本以来NNAPI是集成到Android OS中了,更新缓慢,新模型只能再新设备上运行,并且需要开发者自动适配不同的设备

Android 12开始NNAPI从OS中移除,通过Google Play更新,并且可更实际的新硬件驱动。不同的Android版本-硬件使用相同的NNAPI,并且高通将成为可更新NNAPI产品的合作伙伴

三、总结

3.1 内容小结

设备端机器学习,Android新特性

  1. 支持Google Play的手机将在设备端自动集成TensorFlow Lite,无需打包到应用中;
  2. 机器学习框架侧支持自动硬件加速,通过对模型添加meta-data,自动对比和选择CPU、GPU、NPU等模型运行时的最佳性能;
  3. 将NNAPI从Android OS侧剥离出来,通过Google Play更新,并且可实际更新对应的硬件驱动,以便在不同Android版本和硬件设备上提供统一兼容的NNAPI;

3.2 关键QA

Q:TensorFlow Lite如何在设备端直接集成?

A:https://www.infoq.com/news/2021/07/android-on-device-ml/。通过Google Play Service服务更新常用组件一样,成为基础API库

Q:自动硬件加速如何实现?

A:简单理解应该是在每次运行过程中在不指定硬件backend情况下,自发收集和调度模型的运行情况,找到最有解;

Q:NNAPI到底是什么?

A:之前是集成在Android OS层面的神经网络库,后续单独剥离出来,也是通过Google Play Services更新,另外正在和硬件厂商合作,统一对应硬件兼容和驱动更新。

Original: https://blog.csdn.net/qwm8777411/article/details/121606572
Author: CatTalk
Title: Google I/O 2021 What‘s new in Android Machine Learning

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/514338/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球