AICore 带来了 Android 专属的 AI 能力,它要解决什么?采用什么架构思路?

前言
Google 最近发布的 Gemini 模型在全球引起了巨大反响,其在多模态领域的 Video demo 无比震撼。对于 Android 开发者而言,其中最振奋人心的消息莫过于 Gemini Nano 模型将内置到 Android 系统当中,并开放给开发者使用。
事实上,能够自研 LLM 大模型的企业屈指可数,大多数的企业或个人都是在搞基于 LLM 的应用创新。而各大模型们各自为政,提供的能力、对接方式都参差不齐,即便在应用这个维度,开发者也很难整体、高效地去开发、拓展。
要是能够将 AI 相关接口统一、能力整合封装、甚至结合端侧硬件去内置默认的 AI 模型,这将是非常高效、安全的创举!
Google 坐拥全球顶尖的 AI 技术,同时掌控着市占率最高、各领域全面开花的 Android 平台,自然非常有理由、也有实力去做这样的事情。目前已知的是 Google 将在 Android 平台提供 AICore 服务,当前还在宣传阶段、尚未完整公布 API 细节。
笔者将基于披露出来的所有信息,跟大家分享 AICore 的目的和架构思路。
AICore 解决了什么?
早在 Android 14 Beta3 发布的时候,一位开发者 Mishaal Rahman 便在 Pixel 的 /product/priv-app 目录下发现了一个名为 “Google AI Services” 的系统 App。

- 具体的包名为
"com.google.android.aicore" - 目前只是一个
stub版本

按照 Google 的描述:AICore 是运行在 Android 平台上,可以让开发者便捷访问端侧内置的 AI 模型(on-device model)的系统服务。通过 AICore 可以对类似 Gemini Nano 这种端侧模型实现模型管理、运行时调用、安全检查、多模态等能力,并保留相应的 API 给开发者进行灵活的运用。当然这需要端侧模型本身针对移动芯片等设备做专门的优化。
AI 能力
那么具体来说,AICore 可以做哪些场景的支持呢?
包括但不限如下等强大功能:
-
高质量文本摘要、问题回答、问题扩展
-
上下文智能回复
-
高级校对和语法纠正
应用场景
以 Gemini Nano 在 Pixel 8 Pro 设备上为例:
-
即使在手机网络断开的情况下,也能简明扼要地概括录音机应用中的内容,提供端侧摘要能力。

-
利用 Gemini Nano 的支持,开发者可以通过 AICore 实现在
Gboard、WhatsApp等更多的聊天 App 中实现智能回复,给出高质量的回复建议,节省用户的时间。

原理架构

这是 Google 公布的 AICore 的 high-level architecture:
- 对 App 来说,像其他 SDK 一样,暴露 API 和 OS 中的 AICore 能力对接
- 对内部来说,整体上效仿了
Private Compute Core的设计方式,通过开源 API 与网络隔离,兼具透明度和可审计性
细看内部:
- AICore 首先加载
LoRA低等级适配程序,以支持开发人员根据自己的训练数据对大模型进行微调 - 经过上个步骤可以产生所需的 LLM,比如微调 Google 内置的
Gemini Nano - 同时还构建了专门的
Safety features层,确保数据的安全
此外,AICore 支持部署在很多的机器学习芯片上,比如最新的 Google Tensor TPU、旗舰产品 Qualcomm Technologies、Samsung S.LSI 和 MediaTek 芯片中的 NPU 等更多的芯片设备。
如何使用?
目前来说,AICore 只支持 Pixel 8 Pro 设备,API 也仍在开发当中,需要的话可以在如下链接申请内测资格:
- sign up for our Early Access Program

我已经申请了内测资格,通过之后深入分析下 API 和整体链路,届时再分享给大家。
结语
每当出现新的技术,Google 总会整合这些能力,建立统一标准,集成到 Android 框架当中,供开发者便捷地封装,App 灵活地调用。从语音兴起时候的语音识别 SpeechRecognizer、语音播报 Text-to-speech 到智能助理活跃时候的语音交互 VoiceInteraction,再到增强现实、虚拟化盛行时候的 ARCore。
这次的 AICore 也是一样,将 AI 能力规范化、接口/协议统一化,方便开发者进行 LLM 的选择、调整以及应用创新。再借助数以亿计的 Android 设备的呈现,必将加速 AI 技术的发展和普及。
事实上,AICore 内置到 AOSP 当中的话,那么 Android Automotive OS 也将受益。所有从 Android、Automotive 延伸出来的车载机系统,只要芯片硬件上兼容,未来都可以利用 AICore 技术进行很多车载场景的拓展,包括但不限于:
- 记录用户的口音和表达方式进行训练,以增强本地的语音识别和语意理解,分析对话习惯、并结合多模态定制专属的对话形式和内容,提供个性化的话术内容和情感播报
- 学习车主习惯,进行车机主题、驾驶模式、导航路线、车控组合等方面的智能推荐
- 结合车机整体,进行全方位的数据收集,本地进行驾驶、乘坐的回忆统计,给车主更加贴心的总结、建议
大家总说 Android 已趋于成熟、缺乏新意,那么本次的 AICore 绝对是新颖、有趣的话题,赶紧支棱起来。
参考
- AICore Home page
- A New Foundation for AI on Android
- Introducing Gemini: our largest and most capable AI model
- Android 14’s mysterious AICore system app makes its debut on the Play Store
文章推荐
- 如何打造车载语音交互:Google Voice Interaction 给你答案
- Android 标准语音识别框架:SpeechRecognizer 的封装、调用和原理
- 直面原理:5 张图彻底了解 Android TextToSpeech 机制
相关文章:
AICore 带来了 Android 专属的 AI 能力,它要解决什么?采用什么架构思路?
前言 Google 最近发布的 Gemini 模型在全球引起了巨大反响,其在多模态领域的 Video demo 无比震撼。对于 Android 开发者而言,其中最振奋人心的消息莫过于 Gemini Nano 模型将内置到 Android 系统当中,并开放给开发者使用。 事实上…...
python学习1
大家好,这里是七七,今天开始又新开一个专栏,Python学习。这次思考了些许,准备用例子来学习,而不是只通过一大堆道理和书本来学习了。啊对,这次是从0开始学习,因此大佬不用看本文了,小…...
【SpringBoot】Spring Boot 单体应用升级 Spring Cloud 微服务
Spring Cloud 是在 Spring Boot 之上构建的一套微服务生态体系,包括服务发现、配置中心、限流降级、分布式事务、异步消息等,因此通过增加依赖、注解等简单的四步即可完成 Spring Boot 应用到 Spring Cloud 升级。 Spring Boot 应用升级为 Spring Cloud…...
el-tree搜索的使用
2023.12.11今天我学习了如何对el-tree进行搜索的功能,效果如下: 代码如下: 重点部分:给el-tree设置ref,通过监听roleName的变化过滤数据。 default-expand-all可以设置默认展开全部子节点。 check可以拿到当前节点的…...
Java使用Microsoft Entra微软 SSO 认证接入
1. Microsoft Entra Microsoft Entra ID 是基于云的标识和访问管理服务,可帮助员工访问外部资源。 示例资源包括 Microsoft 365、Azure 门户以及成千上万的其他 SaaS 应用程序。 Microsoft Entra ID 还可帮助他们访问你的企业 Intranet 上的应用等内部资源&#x…...
“华为杯”研究生数学建模竞赛2016年-【华为杯】A题:无人机在抢险救灾中的优化运用(附获奖论文及MATLAB代码实现)
目录 摘 要: 1. 问题重述 1.1. 问题背景 1.2. 需要解决的问题 1.2.1....
17--异常处理
1、异常概述 1.1 什么是异常 异常:指的是程序在执行过程中,出现的非正常情况,如果不处理最终会导致JVM的非正常停止。 异常指的并不是语法错误和逻辑错误。语法错了,编译不通过,不会产生字节码文件,根本运…...
数据结构 | c++编程实现求二叉树的叶节点的个数。(递归非递归)
目录 非递归 递归 非递归 #include<iostream> #include<stack> using namespace std; struct BTNode {int data;BTNode* left, * right;BTNode(int val) :data(val), left(NULL), right(NULL) {}}; //递归的方式求二叉树的叶子结点数 int countnode(BTNode* t) …...
python读取csv文件
在Python中,你可以使用pandas库来读取CSV文件。以下是一个基本的例子: import pandas as pd# 读取CSV文件data pd.read_csv(filename.csv)# 显示前几行数据print(data.head()) 这里,filename.csv应该被替换为你的CSV文件的实际路径和名称。…...
租一台服务器多少钱决定服务器的价格因素有哪些
租一台服务器多少钱决定服务器的价格因素有哪些 大家好我是艾西,服务器这个名词对于不从业网络行业的人们看说肯定还是比较陌生的。在21世纪这个时代发展迅速的年代服务器在现实生活中是不可缺少的一环,平时大家上网浏览自己想要查询的信息等都是需要服…...
深度学习(生成式模型)——ADM:Diffusion Models Beat GANs on Image Synthesis
文章目录 前言基础模型结构UNet结构Timestep Embedding关于为什么需要timestep embedding global attention layer 如何提升diffusion model生成图像的质量Classifier guidance实验结果 前言 在前几篇博文中,我们已经介绍了DDPM、DDIM、Classifier guidance等相关的…...
Ubuntu无法解析域名DNS指向127.0.0.53问题处理
用nslookup 域名.com返回127.0.0.53无法解析错误 error"Could not lookup srv records on xxx.com: lookup xxx.com on 127.0.0.53:53: no such host" #首次尝试编辑/etc/resolved.conf文件DNS为8.8.8.8 或1.1.1.1 发现reboot重启后又恢复到127.0.0.53的内容#再次尝…...
Intewell-Hyper I_V2.0.0_release版本正式发布
新型工业操作系统_Intewell-Hyper I_V2.0.0_release版本正式发布 软件发布版本信息 版本号:V2.0.0 版本发布类型:release正式版本 版本特点 1.建立Intewell-Hyper I基线版本 版本或修改说明 基于Intewell-Lin V2.3.0_release版本: 1.Devel…...
Mysql mybatis 语法示例
service package com.ruoyi.goods.service;import java.util.List; import com.ruoyi.goods.domain.GoodsProducts;/*** 商品Service接口* * author ruoyi* date 2023-08-27*/ public interface IGoodsProductsService {/*** 查询商品* * param ProductID 商品主键* return 商…...
第77讲:二进制方式搭建MySQL数据库5.7版本以及错误日志管理
二进制方式搭建MySQL数据库5.7版本 前面是使用的yum的方式安装的MySQL数据库,在企业生产环境中大多数都用二进制方式安装。 本次使用二进制方式搭建MySQL 5.7.36版本。 1.二进制安装MySQL5.7版本 1.1.下载MySQL5.7版本的二进制文件 [root@mysql ~]# wget https://downloads.…...
R语言,table()函数实现统计每个元素出现的频数+并将最终统计频数结果转换成dataframe数据框形式
在 R中,要统计dataframe数据框中每个元素出现的频数,可以使用table()函数。以下是一个示例: 目录 一、创建数据 二、统计第一列每个元素出现的频数 三、统计第二列每个元素出现的频数 四、将频数结果转换为数据框,并改列名 一…...
微信小程序uniapp记住密码
记住密码功能 在请求登录接口成功后,我们需要判断用户是否勾选记住密码,如果是,则将记住密码状态、账号信息存入本地。 下次登录时,获取本地的记住密码状态,如果为true则获取本地存储的账号信息,将信息回填…...
喜报!Coremail荣获2023信创“大比武”优秀生态融合奖
近期,2023信创“大比武”金融业务创新应用赛道(简称金融赛道)活动正式落下帷幕。经过赛程的层层考核,中泰证券股份有限公司(简称“中泰证券”)与Coremail联合组成的“中泰证券CACTER邮件安全保卫队”最终在…...
知识库SEO:提升网站内容质量与搜索引擎排名的策略
随着搜索引擎算法的不断更新和优化,单纯依靠关键词堆砌和外部链接的时代已经过去。现在的SEO(搜索引擎优化)已经转向了以提供高质量、有价值内容为核心的阶段。知识库SEO便是这个新阶段的重要策略之一。 | 一、知识库SEO的概念与意义 1.定义…...
GPIO复用时5个调试接口引脚要注意
一、JTAG引脚作为GPIO使用要注意 例如PA15引脚,它默认时JTDI引脚,但是可以复用为SPI的NSS片选信号。在初始化时,需要先开启AFIO时钟,再关闭JTAG功能,否则GPIO功能仍然不起作用。初始化代码如下: stm32f10…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
Xshell远程连接Kali(默认 | 私钥)Note版
前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序
一、开发环境准备 工具安装: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 项目初始化: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...
【从零学习JVM|第三篇】类的生命周期(高频面试题)
前言: 在Java编程中,类的生命周期是指类从被加载到内存中开始,到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期,让读者对此有深刻印象。 目录 …...
scikit-learn机器学习
# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...
