前序:先说各个功能涉及到的技术,再说宏观系统架构。AI手机有这样几个做法,给手机侧边增加一个按键;把手机的语音助手做的很好,能够快速稳定的进行唤醒;通过特殊形式的触摸手机的曲面屏位置等来进行唤醒AI
一、AI产品介绍
1、一键问屏
(1)、功能描述
手机右侧有个按键,按下后,用户可以进行问问题,手机会结合手机屏幕当前的内容做回答(识屏问答);咨询问答属于常规的连续对话;制定攻略,这里可能要训练一个专属的大模型,因为要讲究攻略格式(AI智能体);出行买票(进入到应用航班查询界面,这个应该是从系统底层调起比如美团、飞猪这样的应用,然后进入到航班查询界面);一拍即问
(2)、分拆各个技术细节
(2.1)、手机按键:手机按下键后,系统会实时捕捉到这个信号,并且调起一键识屏这个功能,这个是phone操作系统级别的功能。在个人app中也可以实现这个功能,可以采用原生app开发,也可以用uniapp(国内常用)、谷歌flutter(国外常用)开发出这个app
(2.2)、识屏回答
背景:屏幕包含图片(如果是视频,会进行截图)、文字两种信息
使用方式:用户通过语音提出问题,系统进行回答
背后的技术1:先是语音这里,涉及到这几个环节 用户说的话->手机麦克风采集声音数据-> VTT(voice to text),除了各大云厂商外,比如deepgram也是专业的做这个的,或者不想调用api,也可以用微软的edge_tts python包->得到回答->STT(speech-to-text)
背后的技术2:技术1中是怎么得到回答的
1、屏幕内容捕捉与预处理:
屏幕截图:系统通过底层API获取当前屏幕的截图。
图像预处理:对截图进行降噪、增强等处理,以便后续分析。
2、图像识别(OCR和物体识别):
2.1、OCR(光学字符识别):
使用OCR技术(如Tesseract或其他深度学习模型)提取截图中的文字信息。支持多语言识别,能够识别中英文等多种文字。
2.2、物体识别:
可能基于预训练的深度学习模型(如ResNet、YOLO等)识别截图中的物体、场景或特定目标(如植物、动物、商品、景点等)。
2.3、意图判断+回答:
使用预训练的大模型对用户输入的问题进行语义分析,理解用户的意图。这里一般会设计成传统NLP进行意图判断(提前训练好的multi target model),或者大模型进行意图判断,从而分流(路由)到multi agent的其中1个。不换是传统NLP或者大模型,最终的输出目标一般会设计到这样几种:仅使用截图中信息进行回答(摘要、总结、问题、扩写...)、需要调用公司内部数据回答(识图、景点、攻略、定航班...)、联网搜索其他信息进行回答、其他...
每种agent的处理逻辑也不一样,仅使用截图中信息进行回答的,重点在于写prompt,需要限制仅使用图中的信息(文本、图像)来回答用户的问题;需要调用公司内部数据,比如景点,公司内部一般会提前准备好全世界几十几百万个景点的数据进行预训练llm,也是调用的这个专属大模型来回答user query;联网搜索其他信息时,一般会用到rag、深度搜索这样的技术结合大模型进行回答(需要有很强的召回能力,能够精确得召回一些质量好的网页或数据来)
2.4、一些加速方案
部分复杂的图像识别和NLP任务可能需要依赖云端计算资源。
简单的任务(如OCR)可能在本地设备上完成,会部署端侧模型以提高响应速度。
(2.3)、咨询问答
咨询问答,一般有这样几个性质:准确、专业、实时,有的时候需要用公司内部准备的数据进行回答,有时候需要联网查询相关的数据、网页进行回答,都是属于给大模型准备背景知识,以防止进行胡乱回答。
(2.3.1)、知识检索技术
step1 准备语料 :如果是联网查询,这要用到传统的搜索引擎技术,把召回到的topn最合适的网页内容作为背景知识
step2 文档切割 :topn网页,或者公司内部的数据, 将文档切割成更小的片段,以便于后续的向量化处理和检索
step3 向量化:调用语言模型将文字片段转化为Embedding表达,即向量化。向量化的目的是保留数据之间的语义关系,使得语义相似的文本在向量空间中距离较近。
step4 构建索引/数据库:使用生成的Embedding来构建可以提供KNN(K-Nearest Neighbors,K最近邻)检索能力的索引或数据库,以便于后续的高效检索。
step3-step4有一些优化办法,如下
1. 对生成Embedding的语言模型使用领域的语料进行微调(Finetune),以提高向量化的准确性和效率。
2. 使用倒排索引作为Embedding召回的一种必要补充,以提高检索的召回率和准确性。
3. 对召回结果进行重排序(rerank),根据问题的相关性和重要性对结果进行排序
(2.3.2)、大模型推理与生成技术
1. **RAG(Retrieval-Augmented Generation)技术**:RAG技术将“查资料”和“写答案”这两个步骤结合在一起。先用检索系统找到一些跟问题相关的资料,然后再用大模型(比如:GPT)来编写一个详细的答案。这种方法可以显著提高AI回答垂直领域问题的准确性。但需要注意的是,RAG技术可能会存在“幻觉”的情况,即大模型在生成答案时可能会引入一些与问题不相关的信息。
2. **Prompt设计**:Prompt的设计对于大模型的推理与生成能力至关重要。一个好的Prompt可以引导大模型更好地理解和回答用户的问题。Prompt设计策略可能包括将Reasoning和Action的生成结合到一个输出中,让模型能够更好地将想法与行动同步。
(2.3.3)、模型微调技术
为了提高大模型在特定领域或任务上的表现,通常会使用模型微调技术。这包括监督式微调(Supervised Fine-Tuning,SFT)等技术。通过使用少量标注好的领域数据来训练基座大模型,可以获得可处理专属领域任务的专有模型。这种方法可以显著提高大模型在特定任务上的准确性和效率。但需要注意的是,模型微调可能会导致过拟合或灾难性遗忘等问题,因此需要在微调过程中进行仔细的监控和调整。
一般会选择一些成熟框架,比如firefly。为了解决过拟合或者灾难性遗忘问题,除了调节一些参数外,特别是全参数微调时,在数据准备上一定要多花点时间,除了和这次任务相关的数据之外,还要有一些常识性的数据。lora相对来说要求没有这么高
(2.4)、制定攻略
攻略针对的一般是旅游这个场景,重点是详细(时间、出行方式、景点内容...)、格式优美、准确。一般而言,直接用base模型+rag技术是达不到这个程度的。必须自己准确好每个景点的攻略数据,选择base模型来进行微调出一个垂直领域的instruct模型,这个模型专门用来进行制定攻略
(2.5)、出行买票
首先说下生态,这个涉及到3方应用。现阶段有这样几个形态,对于手机厂商,可以从底层调起其他app;对于支付宝、微信这样的应用,有大量的3方小程序,在app内就可以调起;对于其他app,首次调起其他app的时候需要授权,后面就不再需要了,还是比较方便,还有一些可以控制手机的纯视觉大模型对应的框架(比如mobile agent:https://modelscope.cn/brand/view/Mobile-Agent),但是需要有手机操作的权限,比如安卓的adb,实用性不好
接下来说下技术,如果对用户的意图判断出来需要打开其他app,那么就从“路由”处走到当前的链路来,打开app -> 功能对应的流程(比如买票、打车等)
(2.6)、一拍即问
这个和2.2中的识屏回答异曲同工,基本是一个技术方案
2、影像创作
(1)、AI去反光,隔着窗户也能如临其境
这个没有很方便的云厂商调用,可能需要自己去训练+部署模型,或者去huggingface、modelscope这样的平台直接拉取现有的模型权重进行服务
(1.1)、传统办法 基于图像处理技术,比如边缘检测、滤波等
(1.2)、常用的深度学习模型 使用CNN-based卷积神经网络直接学习反光层和背景层的关系,例如:EDRN(Edge-Enhanced Reflection Removal Network) 使用GAN-based生成对抗网络生成无反光的图像,例如:ReflectionGAN
(1.3)、大模型技术 Vision Transformer (ViT),利用Transformer架构捕捉全局信息,适合处理复杂的反光场景。例如RFormer,结合ViT和CNN进行反光去除 Diffusion Models,通过扩散过程生成高质量的无反光图像,例如RefDiff,基于扩散模型的去反光方法
(2)、模糊变清晰,比如运动抓拍
这也是一个在深度学习还没有出现的时候,就探讨的话题,也存在传统图像解法、传统深度学习模型解法、大模型解法。很多的云厂商都提供有API解决方案,比如阿里云:视觉智能开放平台->图像超分(https://help.aliyun.com/zh/viapi/?spm=a2c4g.11186623.0.0.1d0cd3509R6eyj)
(3)、拍照时,只想保留其中一小部分,需要裁剪,裁剪后的像素质量特别差,AI一键增强到超高清
涉及到两步,第一步是裁剪,第二步是模糊变清晰,同样在阿里云的"视觉智能开放平台"上可以得到API
(4)、AI路人消除
这个在云厂商(比如阿里云)也有提供解决方案,比如 大模型服务平台百炼->图像擦除补全,涉及到的流程是这样的:原图->任务实例分割掩码图像->待擦除区域->保留区域->输出图像。不支持prompt进行擦除
现在有些手机厂商或者图像类app提供的服务更加便捷,一般是支持对话式消除的,比如和平台说消除图片中的左边第1个人,消除图片中的水果...要达到这个功能,就要对阿里云的方案做下改动,首先是了解到用户的消除意图(左边第1个人?水果?桌子),再进行实例分割掩码图像(掩码对应的目标对象),再自动确定擦除区域,最后擦除+输出图像
(5)、上传1张照片,生成多张个性化写真
这个可以采用云厂商(比如阿里云,人工智能平台PAI:AI写真)提供的服务
AI写真技术的核心是基于生成对抗网络(GAN)或扩散模型(Diffusion Models)的图像生成技术。
第一步是:数据预处理;
第二步是 使用预训练的人脸识别模型(如ArcFace、FaceNet)提取人脸特征 、使用3D人脸模型(如3DMM)或关键点检测工具(如Dlib)提取姿态和表情信息 ;
第三步是 使用StyleGAN、StarGAN等生成对抗网络生成高质量的人脸图像、 使用Stable Diffusion、DALL-E等扩散模型生成图像 、使用少量样本进行微调(如DreamBooth、Textual Inversion),生成与输入人物高度相似的写真照片
第四步是 使用ESRGAN、Real-ESRGAN等超分辨率模型提升生成图像的分辨率、 使用图像修复模型(如LaMa)修复生成图像中的瑕疵 、 使用风格迁移模型(如AdaIN)将生成图像转换为特定风格(如油画、水彩)
第五步是 输出
3、AI办公学习
(1)、应用:便签
使用办法:简单写上些草稿 -> 润色(便签自带功能)-> 完成初版
更深入修改的选项:更正式、更口语化、增加篇幅
技术方案:这个属于大模型、微调、prompt方向的工作。因为是一个通用的领域,在润色时一般有很多个领域,所以简单点可以选择一个在多领域比较好的模型,如deepseek,qwen2.5等,一般来说效果就挺好的;如果效果不满意,可以进行微调,可以选择firefly微调框架;在使用过程中可以选择co-star的prompt框架来撰写这个提示词,就能达到很好的效果
(2)、下面是办公类的功能。下面几个的应用场景可能是,打开文档的时候,自动识别出是文档,并把对应的功能展示可选,比如有:文档问答、文档翻译、文档摘要
(2.1)、格式随心转换
PDF 是一种基于 PostScript 的页面描述语言,PyPDF2这个python库可以读取里面的文本数据,对于图像、公式等数据还是要用cv方面的模型进行解析,判断出来是图像、公式后再进行图像切割把对应的位置拿出来。如果是图像的话,可以借用OCR技术(如Tesseract或其他深度学习模型)提取截图中的文字信息、对于实体信息再借用cv里面的物体识别等能力进行识别。从而达到对pdf文档中的文字、图像、公式进行读取
对于word和excel,可以借助python-docx、openpyxl两个python库进行读取和处理
上面对3种格式的文本处理好后,再借用相应的python包进行保存成需要的格式。这个的难点在于,格式的处理,一定要在处理数据上多花些时间
(2.2)、AI笔记助手、极速AI摘要、外文一键翻译
这几个功能是:调用大模型、prompt编写、模型微调+评估+部署方面的应用
(3)、过去系统查找文档是借助操作系统的底层能力,有时候很多文档不好找。AI穿透搜索,除了手机里面本身系统文件夹里面的文件外,还可以把QQ、微信等应用里面的文件也找到(而且并不是根据文件名进行匹配,会考虑到里面的内容),这个是怎么实现的?
app的信息存储,也是存储在手机的文件系统中,只要能够访问到这个系统,就可以一直维护一个索引库,设定一定的规则(比如以txt word pdf等结尾的文件,一旦存储在文件系统中,就把内容解析到索引库中),这样在用户进行搜索的时候,就可以直接调用这个索引库,把相关的文件给找到
4、生活
4.1、娱乐类型
应用:小红书/大众点评(不同的应用,是不同的风格,应该是multi agent)
使用办法:小红书插入图片后,一键识别图片中内容进行AI帮写(也可以先简要写点文字),写好配套的文案、表情、自动打标签
技术方案:首先针对不同的应用,有不同的agent,这是一个Multi agent产品,因为需要在不同的app下有不同风格的文案、技能。
以小红书为例,在用户插入图片后,如果调起这个功能,系统首先要判断出来当前是小红书,然后调起小红书对应的agent
先进行屏幕读取,屏幕上有用的信息一般只有上传的图片,有时候还会有简要的文字(用户可能编辑了一点文案),首先对图片进行分析,需要利用ocr解析出对应的问题,再对图片进行解析(植物、动物、商品、景点等),再用预训练好的llm将上面这些作为prompt信息的一部分,需要出对应的文案出来。有一些极端情况,就是用户也没有简要文案,图片也没有解析出来什么代表性的信息,这时候就体现出“微调模型”比“基座模型”的优势了,“微调模型”也不会胡乱编写,编写的内容也是可用的
4.2、通话
应用场景:支持所有的3方应用,只要手机在发声
技术方案1:录音是一个比较常用的技术,这个涉及到麦克风将录取到的二进制音频数据进行保存。
技术方案2:字幕或者AI摘要涉及到这几个关键技术点,声音->手机麦克风 转成数字信号->因为是实时处理,所以要用deepgram/百度/讯飞等的websocket框架来进行文字识别,这样就可以完成:开启字幕的功能,至于AI摘要是利用llm+prompt来完成的,可能要专门微调出来一个合适的prompt,或者在prompt上多花点功夫
二、架构,底层技术难点
1、AI重构交互范式
听:有很多的嘈杂音,识别成功率97%+
看:检索增强多模态理解,图文混合检索|1000+识别类型。OPPO采集了全国3A级以上超16K个景点的数据,进行图搜增强训练
说:生成式语音合成框架,20+丰富音色,还可以15S自己生成音色
做:
复杂意图理解与规划编排,比如手机拍照一张宴请涵,问:把它加到我的日程,手机就会操作好,并设置提醒,或者回复你一会要去的地方,你可以和他说打车过去等。1800项手机功能,都集成到了小布AI助手中
过去的做法:这个过程涉及到规则路由+功能api调用。比如用户提出来把它加到我的日程,系统就会从照片中利用ocr解析到的时间+地点,然后把这两个作为参数,再调用“日程”这个功能并完成;打车、定机票也是一样,比如打车需要有这几个参数:出发地、目的地、打车时间、使用的app(高德、百度、滴滴等),然后把这些作为参数调起api
大模型时代的做法:首先需要准备大量的相关数据训练出来一个可以调用api的llm,用户目的解析也不再使用规则路由,而是使用大模型进行判断目的,并调用api
2、AI重构计算范式
(1)、端侧逐帧视频搜索
(2)、与芯片厂商合作,端侧计算成为瓶颈时,采用Lora架构,一个大模型+多个小模型实现不同的功能
3、AI重构开发范式
这个功能在AI之前叫做预测predict,或者叫multi-target分类任务,类别是有限的,由:【app功能+时间】组成,不会超过100种。现在的做法应该是这样:首先这100种类别还是确定的,系统会把用户过往的历史行为进行分析,可能会加一些规则,也可能把规则加到prompt中,让llm进行输出这100种类别发生的可能性,并判断是否要加到手机首页的这个板块中